<?xml version="1.0" encoding="utf-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.17 (Ruby 3.1.2) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

<!ENTITY RFC2119 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC8174 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
<!ENTITY RFC4291 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4291.xml">
<!ENTITY RFC5880 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5880.xml">
<!ENTITY RFC5082 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5082.xml">
<!ENTITY I-D.ietf-idr-next-next-hop-nodes SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-idr-next-next-hop-nodes.xml">
<!ENTITY I-D.zzhang-bess-dynamic-overlay-lb SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.zzhang-bess-dynamic-overlay-lb.xml">
<!ENTITY I-D.liu-rtgwg-path-aware-remote-protection SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.liu-rtgwg-path-aware-remote-protection.xml">
<!ENTITY I-D.cheng-rtgwg-adaptive-routing-framework SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.cheng-rtgwg-adaptive-routing-framework.xml">
<!ENTITY I-D.dong-fantel-problem-statement SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.dong-fantel-problem-statement.xml">
<!ENTITY RFC2328 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2328.xml">
<!ENTITY RFC1195 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.1195.xml">
<!ENTITY RFC5340 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5340.xml">
<!ENTITY RFC4203 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4203.xml">
<!ENTITY RFC5307 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5307.xml">
]>

<?rfc comments="yes"?>

<rfc ipr="trust200902" docName="draft-zzhang-rtgwg-router-info-06" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="Advertising Router Information">Advertising Router Information</title>

    <author initials="Z." surname="Zhang" fullname="Zhaohui Zhang">
      <organization>Juniper Networks</organization>
      <address>
        <email>zzhang@juniper.net</email>
      </address>
    </author>
    <author initials="K." surname="Wang" fullname="Kevin F. Wang">
      <organization>Juniper Networks</organization>
      <address>
        <email>kfwang@juniper.net</email>
      </address>
    </author>
    <author initials="C." surname="Lin" fullname="Changwang Lin">
      <organization>New H3C Technologies</organization>
      <address>
        <email>linchangwang.04414@h3c.com</email>
      </address>
    </author>
    <author initials="N." surname="Vaidya" fullname="Niranjan Vaidya">
      <organization>Broadcom</organization>
      <address>
        <email>niranjan.vaidya@broadcom.com</email>
      </address>
    </author>
    <author initials="J." surname="Tantsura" fullname="Jeff Tantsura">
      <organization>Nvidia</organization>
      <address>
        <email>jefftant.ietf@gmail.com</email>
      </address>
    </author>
    <author initials="Y." surname="Liu" fullname="Yisong Liu">
      <organization>China Mobile</organization>
      <address>
        <email>liuyisong@chinamobile.com</email>
      </address>
    </author>

    <date year="2026" month="February" day="23"/>

    <area>Routing</area>
    <workgroup>rtgwg</workgroup>
    <keyword>neighbor, congestion, load-balancing</keyword>

    <abstract>


<t>This document specifies a generic mechanism for a router to advertise some
information to its neighbors. One use case of
this mechanism is to advertise link/path information so that a receiving
router can better react to network changes.</t>



    </abstract>



  </front>

  <middle>


<section anchor="introduction"><name>Introduction</name>

<t><xref target="I-D.ietf-idr-next-next-hop-nodes"/> describes a scenario where better
load-balancing can be achieved in a CLOS network by considering the load
information on the next hop router in addition to considering the local
load information of the path to that next hop router. Similarly,
<xref target="I-D.zzhang-bess-dynamic-overlay-lb"/> describes overlay load-balancing
to Multi-Homing PEs.</t>

<t><xref target="I-D.liu-rtgwg-path-aware-remote-protection"/> describes another scenario
where link up/down information propagated via non-IGP mechanism can help with
faster reroute.</t>

<t><xref target="I-D.cheng-rtgwg-adaptive-routing-framework"/> describes a framework for 
Adaptive Routing which dynamically adjusts routing paths based on changes 
in global network conditions, thereby optimizing network performance and 
resource utilization.</t>

<t>For the above use cases, a router needs to advertise some link/path information
independently of IGP, often at very fast pace.
<xref target="I-D.dong-fantel-problem-statement"/> describes the need for 
   fast notification related solutions to support any high-
   throughput, low-latency and lossless application, and this document
   specifies a mechanism to do that, which can also be used to advertise
   any information.</t>

<t>As described in <xref target="I-D.ietf-idr-next-next-hop-nodes"/>, in a CLOS network the
advertisement only needs to be "link-local", i.e., a receiving router does not
need to re-advertise it further and the mechanism in this document does not
consider re-advertisement. In an arbitrary topology, to achieve coordinated
load-balancing the information may need to be advertised further
but that is outside the scope of this document.</t>

<t>In some scenarios, a large amount of information may need to be advertised,
and in some scenarios, the receiving router may not need to be directly
connected.</t>

<t>While an IGP, if used for the CLOS network, may also be used to advertise the
information using link-local flooding scope, it may not be a good fit when
the information needs to be advertised and processed very rapidly not for
routing purposes.</t>

<t>Therefore, UDP is chosen as the transport mechanism. An implementation may
advertise and process the UDP messages in the forwarding path for timely
responses.</t>

<t>This document does not suggest or restrict when and/or how frequently the
information is advertised - it is an operational consideration on how frequent
the advertisements need to be and whether the routers can handle that.</t>

<t>Fragmentation may be used if the delay related to the fragmentation/reassembly
is not a concern. Multiple UDP messages may be used to advertise pieces of
all the information, whether fragmentation is used or not.</t>

<t>This document/revision only specifies the message format. How the information
is maintained and used on the receiving router are outside the scope of this
document/revision but may be added in future revisions.</t>

<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
"MAY", and "OPTIONAL" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>

</section>
<section anchor="specification"><name>Specification</name>

<t>The message format is defined as follows:</t>

<figure><artwork><![CDATA[
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |        UDP source port        |   UDP destination port TBD1   |
  +-------------------------------+-------------------------------+
  |           UDP length          |          UDP Checksum         |
  +-----------------------------+-+-------------------------------+
  |Version|R|R|R|R|    Flags    |A|
  +---------------+-------------+-+-------------------------------+
  |   Auth Type   |   Auth Len    |           Auth Data ...       ~
  +---------------+---------------+-------------------------------+
  |                       Source Router ID                        |
  +---------------------------------------------------------------+
  |                        (Repeated) TLVs                        ~
  ~                                                               |
  +---------------------------------------------------------------+
]]></artwork></figure>

<t>The IP destination address in the outer IP header is typically an IPv4
"All Routers on this Subnet" multicast address (referred to as a link-local
multicast address), an IPv6 Node-local All
Routers Address (multicast) <xref target="RFC4291"/>, a non-link/node-local multicast
address, or a local/remote unicast
address discovered by means outside the scope of this document.</t>

<t>The 4-bit Version field is for potential future extensions that cannot
be achieved through additional TLV types. The current version is 0.</t>

<t>The four R-bits are reserved - they MUST be 0 upon transmission and MUST
be ignored upon receiving.</t>

<t>The 1-octet Flags field currently has one A-flag defined. If it is set,
the (Auth Type, Auth Len, Auth Data) tuple immediately follows the Flags
field. If it is not set, the tuple is not present. The details of the
tuple are as specified in <xref target="RFC5880"/> and not repeated here.</t>


<t>When the flooding happens on a local link,
the destination address MUST be a link/node-local multicast
address or a receiver's unicast address on the local link and the TTL MUST be 1.
The source address MUST be the local interface address for a numbered interface,
or a loopback address in case of an unnumbered interface.</t>

<t>If the flooding is to one or more remote receivers,
the destination address MUST be a remote unicast/multicast address,
the source address MUST be a loopback address, and the TTL MUST be set to
255, following the Generalized TTL Security Mechanism (GTSM) <xref target="RFC5082"/>.</t>

<t>The following TLVs are defined to allow maximum packing.
If additional information needs to be advertised, new TLVs may be defined
without using sub-TLVs to allow efficient encoding of additional information,
or with sub-TLVs to allow flexibility but at the cost of processing complexity.</t>

<section anchor="nbr"><name>Neighbor Path Information</name>

<t>This TLV is used when the path information is at per-neighbor level.</t>

<figure><artwork><![CDATA[
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |   (Type) 1    |               Length          |S| Refresh Rate|
  +-------------------------------+-------------------------------+
  ~                   repeated per-Neighbor Records               |
  +---------------------------------------------------------------+
]]></artwork></figure>

<t>The Length field is two-octet.
The Value part starts with a one-octet Refresh Rate field, which is
followed by repeated per-Neighbor Records. The number of records
is derived from the Length field.</t>

<t>The Refresh Rate field's leftmost bit S denotes the unit of the rate. If it is
set, the rate is in deciseconds (100ms). If it is not set, the rate is in
milliseconds.
If the refresh rate is 0, it means that the information will not be refreshed.
This can be used for one-time notifications when the consequence of loss
is tolerable.</t>

<t>The per-Neighbor record has the following format:</t>

<figure><artwork><![CDATA[
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                   Neighbor ID                                 |
  +---------------+-----------------------------------------------+
  | encoded info  |
  +---------------+
]]></artwork></figure>

<t>Neighbor ID: The 4-octet Neighbor ID identifies (the path to) a neighbor that is 
   discovered by means outside the scope of this document. It MAY be a BGP-ID described
   in <xref target="I-D.ietf-idr-next-next-hop-nodes"/> or some other identifiers that are
   unique in the domain where the signaling is used. The neighbor can be reached
   via ECMP, e.g., a set of links but the nature is outside the scope of this
   document.</t>

<t>encoded info:  The 1-octet field following the 4-octet Neighbor ID field
   which encodes the information of the path to the neighbor.The following encoded info are defined:</t>

<figure><artwork><![CDATA[
   0 1 2 3 4 5 6 7
  +-+-+-+-+-+-+-+-+
  |R|R|R|U|Quality|
  +---------------+

  where:
        
  U-Flag:  State Flag. If it is set, the path to the neighbor is UP.
     If it is not set, the path to the neighbor is DOWN.

  The three R-bits:  Reserved. They MUST be 0 upon transmission and 
     MUST be ignored upon receiving.

  Quality Level: The 4-bit Quality field is used for path quality.
     The value range is from 0 to 15. 
     The quality level can be customized, with the lower the level, 
     the poorer the path quality. The quality level can be calculated
     based on the current bandwidth and the utilization of the 
     forwarding buffer. Bandwidth and buffer use a certain ratio
     to calculate the quality level. The exact method for 
     calculating the quality level is beyond the scope of this 
     document, but must ensure that the calculation rules are 
     consistent among the routers the information is flooded to/from.

     For instance, a 400G interface can be divided into sixteen 
     quality levels based on bandwidth utilization, with each level
     representing 25G of bandwidth usage. When the Quality level is 0,
     the available bandwidth is up to 25G. When the Quality Level
     is 15, the available bandwidth is up to 400G.
]]></artwork></figure>


</section>
<section anchor="link-information"><name>Link Information</name>

<t>This TLV is used when the information is at per-link level.</t>

<figure><artwork><![CDATA[
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |   (Type) 3    |                   Length      |S| Refresh Rate|
  +---------------+-------------------------------+-+-------------+
  |              repeated per-link Records                        |
  +---------------------------------------------------------------+
]]></artwork></figure>

<t>The value part is repeated records of the following. The number of records
is derived from the Length field.</t>

<figure><artwork><![CDATA[
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                        Link ID                                |
  +---------------+-----------------------------------------------+
  | Encoded Info  |
  +---------------+
]]></artwork></figure>

<t>Link ID: One of the following:</t>

<t><list style="symbols">
  <t>An IPv4 interface address advertised by OSPFv2/ISIS <xref target="RFC2328"/> <xref target="RFC1195"/></t>
  <t>An Interface ID advertised by OSPFv3 <xref target="RFC5340"/>, or by OSPFv2 for an unnumbered interface</t>
  <t>A Link Local Identifier advertised by OSPFv2/ISIS for GMPLS <xref target="RFC4203"/> <xref target="RFC5307"/></t>
</list></t>

<t>Encoded Info:  Information of the link, encoded exactly
   the same as in the neighbor case.</t>

</section>
<section anchor="aging"><name>Refreshing and Aging</name>

<t>The sender MUST re-advertise the information when there is a change,
and MUST re-fresh previous advertisements at the advertised Refresh Rate
even when there is no change.</t>

<t>The receiver MUST age out the received information if it does not receive
a refresh within a period of three times of the refresh rate. Each time
an advertisement for a neighbor is received, the aging timer is reset
according to the latest Refresh Rate.</t>

<t>The sender MAY adjust the Refresh Rate on its own or based on notification
from a receiver (<xref target="negotiation"/>). For example, if the information does not
change often, a sender may move to a larger (slower) Refresh Rate.</t>

<t>The aging, refreshing and adjustment of the refresh rate are all at the
per-neighbor/link level. Neighbors/links whose Refresh Rates are the same
SHOULD be packed in the same TLV, but MAY be put into different TLVs and
messages due to MTU limitations and/or fragmentation concerns. Neighbors/links
whose Refresh Rates are different MUST be put into different TLVs.</t>

<t>The same information MAY be sent out of different links or
to different set of receivers with different rates.</t>

</section>
<section anchor="negotiation"><name>Refresh Rate Negotiation</name>

<t>A receiver SHOULD send notifications to the sender if it can not keep up with
the sender, using a Notification TLV of Type 4:</t>

<figure><artwork><![CDATA[
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |   (Type) 4    |              Length           |     Value     ~
  +---------------+-------------------------------+---------------+
  ~                        (continued) Value                      |
  +---------------------------------------------------------------+
]]></artwork></figure>

<t>The Value part includes sub-TLVs, whose Types share the same space as the
top level TLVs.</t>

<t>When sending a notification to a remote node or from an unnumbered interface,
a loopback address MUST be used as the source address.
Otherwise, the local interface address SHOULD be used as the
source address. The destination address MUST be set to the source address
in the received flooding packet for which the notification is.</t>

<t>To notify the sender the desired Refresh Rate for a certain advertisement,
the corresponding TLV (e.g., the Neighbor Path Information TLV) is
included as a sub-TLV, and no per-Neighbor/Link records are included.
The Refresh Rate field along with the S-flag are set to indicate the
desired rate. The Length of the sub-TLV is set accordingly.
Other types of TLVs, e.g., this type-4 "Refresh Rate Notification" TLV
itself, MUST NOT be included as sub-TLVs.</t>

<t>While a typical physical link is point-to-point even in the Ethernet case,
there may be multiple receivers of an advertisement sent out of a link
(e.g., in the case of LAN) or sent to a group of remote receivers via
multicast. If multiple notifications
of Refresh Rate are received for an advertisement, the largest requested
rate MUST be used by the sender.</t>

<t>Consider that a router advertises to a link the information about some
neighbor/link set S1 at rate R1 and the information about some other
neighbor/link set S2 at rate R2 where R1 &lt; R2, i.e., the S2 information
is advertised less frequently. A receiver on the link sends back a
notification with rate R3 where R1 &lt; R3 &lt; R2. Then this router MUST
use R3 as the refresh rate for S1 and R2 as the refresh rate for S2.</t>


</section>
<section anchor="flow-redirection"><name>Flow Redirection</name>

<t>It may be desired for a router to request its upstream to redirect a specific
flow away from it. This is done via Flow Redirection TLV:</t>

<figure><artwork><![CDATA[
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |   (Type) 6/7  |              Length           |S| Refresh Rate|
  +-------------------------------+-------------------------------+
  |    Protocol   |
  +-------------------------------+-------------------------------+
  |           Source Address (4 or 16 octets)                     ~
  +-------------------------------+-------------------------------+
  |           Destination Address (4 or 16 octets)                ~
  +-------------------------------+-------------------------------+
  |          Source Port          |      Destination Port         |         
  +-------------------------------+-------------------------------+
  |                Repeated 5-Tuple Information                   ~
  +-------------------------------+-------------------------------+
]]></artwork></figure>

<t>The Type is 6 for IPv4 flows or 7 for IPv6 flows. The Value field encodes
one or more 5-tuple records that identify flows by (Protocol, Source Address,
Destination Address, Source Port, Destination Port). The number of records
is derived from the Type and Length fields.</t>

</section>
</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>Because the information may be flooded rapidly, potential Denial Of Service
(DOS) attack may happen. In the case of local flooding only, the attack needs
to happen from within the network, and in that case, other attacks may happen
as well and may be worse. In the case of remote flooding, GTSM <xref target="RFC5082"/>
and ingress filtering at the network boundary are used to reduce the risk.
Overall, this is expected to be used in a secure walled-garden network.</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>This document requests IANA to allocate a UDP port number TBD1 from the
User Ports range of the Service Name and Transport Protocol Port Number
Registry.</t>

<t>This document requests IANA to create a Router Information TLV Type
registry with the following initial allocations:</t>

<figure><artwork><![CDATA[
Value Description                 Reference
===== ===========                 =========
0     Reserved                    This Document
1     Neighbor Path Information   This Document
3     Link Information            This Document
4     Notification                This Document
6     IPv4 Flow Redirection       This Document
7     IPv6 Flow Redirection       This Document
]]></artwork></figure>

<t>The registration procedure is Standards Action for value range 0-127 and
First Come First Served for range 128-255.</t>

</section>
<section anchor="acknowledgments"><name>Acknowledgments</name>

<t>The authors thank Jeffrey Haas and Michal Styszynski for their review,
comments and suggestions to make this document and solution more complete.</t>

</section>


  </middle>

  <back>


    <references title='Normative References'>

&RFC2119;
&RFC8174;
&RFC4291;
&RFC5880;
&RFC5082;


    </references>

    <references title='Informative References'>

&I-D.ietf-idr-next-next-hop-nodes;
&I-D.zzhang-bess-dynamic-overlay-lb;
&I-D.liu-rtgwg-path-aware-remote-protection;
&I-D.cheng-rtgwg-adaptive-routing-framework;
&I-D.dong-fantel-problem-statement;
&RFC2328;
&RFC1195;
&RFC5340;
&RFC4203;
&RFC5307;


    </references>



  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA+U823bbRpLv+Ipe+WGlDUHdbUdn92xkyRdlZEkR5eRk9uwD
CDTJjkCAgwZE047mW/Zb9su2bg00QFKSM84+eJgTmQQa1dXVda9qhGEYxHli
svGRqspR+DIISlOm+kgdJ3e6KI2FW+o6r0pdqLNslBfTqDR5FkTDYaHvHh2W
5HEWTQFcUkSjMvz0aRJl47Aox3P4S8NDA8PDnedBHJV6nBeLI2XLJAhsGWVJ
lOYZPLzQNpiZI/VfZR73lM2LstAjC98WU/4S59Opzkr730FgZsWRKovKlns7
O9/v7AVRoaMjwg1wDOawUJo+uJ0fqUyb8WSYFwghG2uLOPdUmkdJOIzSKIvx
kSCqykkOUAOlQvhfKZPZI/XXvvorroau8CLhdz6pjHc9L2C+H6vMzIAwF7qc
58WtpTt6Gpn0SDFFfviNh/QzXQbtaf7SV7+0Z/mLvjOZeuNdf3SW29H84VlO
+urcZN4kJ4gWPlRfp0ku9Fy92z9RNzqeZHmaj41uTZSaLHZP9ncODnYPfpjs
x33Yn86EF331c2SSReTNeWGKKPstyvw7NOurAnYEYXgzZTK4f0eDfxjKmBVz
/dhXNxFwR1X4s/2oR6P2dV7hnUlM5M/0GwwEZiz7RpejH8Z4ccUkvyIFKw/+
r8bmRL6qAX4yMVmk3udDk+o22aoFDf8hxhFTGsCThGGooqEtiyiGTbuZGKtA
qCpkd2VnOjYj2AIVqbHOdGFiNdW4AcZOFUghXGcpU2WuIhFVDRI01YFpxBTv
mtLW4mD76jLTqoKhcQR/8lFQ4sQNbPjRggj7frs9i8qJ8sHaXJWTqEQsdKzN
HUqT4BPDNg91iV9BPuMSwWXMuYo4SNs+L35qkgSoFTwDxVIWeVLFpFmCz5//
8yw8pU0JTVKEmf5Y8p9JPguzPNH2/l7B37gwQyKRjXUWFSZX84kutEwftKVd
EFMRbIS+0wmsB548Ob8c1OgNF6gtrEmA3vBAOdGkMVoERZrCdURHATpuFxBY
khhH82UwcZQSQi0y5iO6S+QthaQdyH01MFOTRkW66DnKiLKFtdswWQBXmTjM
YcPSaBGmwxZt5HJX88Fk76u0NOG7fIo4Xr3GTRHwwLOiyBGxMJqDog0LPc1L
Hc4K+Ev71N6CLIeFFPVGBLwRyDyqmm0n+TxrLRzAzKIx2IVE3ZlIZXkWnr29
8tgQN2ui05mam3ISjCLL/EQ0+Xx0JGbhvgczJ2oFWfTdLAunkxCfBJYpQZji
qIu2DZD6OET5QwgmgEpSJA3s0ZRINWFStdYEjARqBnf/9c9XF5+Pth1iDTXj
ia4NY5REs9LcabKQACwcFaBRkPc6DF1fJ1kPjuU5Z+yAz008UbL3UZougPt+
A8tolUAmnrJqCEKeIM+K5CngZTVOc+CERijzjBkXzC1uogYxyGG6qfmEgNww
MC+0f1msiUBBoW1eFfALJkzNJyIdLPsNIIxkjYbAe7WmAdi1xsq0Tuyy3lqt
agDhRM80/MlKWCbsBjBKD/4tNWxUqQDCgrdwFsW676ie5Ehd0O06RZ4dpnoa
guNRatodn9gszUAlojRo7mV+KHRKrGrztCJCIfK2ms3AXwFaLNQEtCtZjHIC
axxPZlWJzsY8xOeyeEEES3NrU2A6Fc1mqYBm/i193Y9gfPXfyARMmrCS6AkD
oJREKSjjIVE6aREVASFyHjFhe45tvXZSgU9Str0VyhLoFtRzkdHKM9igenMB
pQ3c0ZB03waA6Ot+z7cYjh+SHBYKBA9oG+BRUDcNa5hSjaqCtAvTSvvWKmsT
r4HlNHALGA7pg7VRSLdiaMD2AveU+QwdnkWPyMfmAaQiL8B7xn3vGhJEwVdm
04iXLauuZ0sc4sGwKlm5A6qwZkSMoNg4n2m2At4iYJfOMhYJp09JfMAIjAH8
NK+Q2KOn4dALkGpmGR7Ov7QVBCYvfVCJgVEgekjRDL7pBPD7ZQJuDFKRhNGM
mPtGIvo+n/QI5lomJTbyF1JZp2SZcdQozSmMYWL1kB8clrhQNYbbagRXweRk
QXdvfHb0NgZpAmohBnFEE4Q6pIhmJkkZMDwf1Iq0Kma5JaflBrUj3AMsPpxe
4WbGE7gFvMRqBNgps6QUag7tq2OwfNNZSrxX71UjOT4qBAQhT+FHhOrasLcB
c4IRTpxeZ0KbqYZdAS08A1ZH/FTHiXSyAKpqjCEQeKqw4+BwmpiphXNvw8VJ
PgeLo/9WsY7tbgnA9EgX4g7gJXBfwCbQENgmJ2+1l+QDpW1pSaFtcSuQAPAh
GSe2JGa07ASgHdYkPWhcimjcImTNVIZdqUSjt+MUNvlUGq1p89Q2eKWw69Mh
EM8wfSLEPtZF1mevCHarvQ3+RC3unRmQIItuNBjhrmLo1YtqIYDEI0hAeZi9
3/H9Ab87iLqJiLAZjSlgzUcYKZ6jr94BkTuz4qIg9oDJTCacXokTsFLkwblb
r5OCZaxQlwk9wONlIzKqyqpA2DxGZEXd6oUCHQACuPH+w+AGbAD9qy4u6fv1
658+nF2/PsXvg3fH5+f1l0BGDN5dfjg/bb41T55cvn//+uKUH4arqnUp2Hh/
/OsGG9eNy6ubs8uL4/ONZWuBa2cWBHrpYlZo5JoIlu2byFcnV//7P7sHYCr/
5frNyd7u7vfgQPCPl7svDuAHChPPRnvGP4GYIOezmY44PAAGiUHHlKALe6gx
7AQ9SFQpQC4Igga80+wYMAHb242Mk+gRb6uFiym4GPYooHgTPjtq+bO74tre
imv7DZBdGLCvDtSheq5eqJfq+y+5JmC+C//B/wTO7w4/FEdxN0nBquY+3kow
w5NJbIH3b16d4tJ/r/F5+PPo/S4+Mm8Kvj3oY+Xj490+mej41lbT5v6T8Pnu
6fj8DHoSFv37tfyHF9+k0djS3eN1833X+fUl6z+uYMU3C1AS3u9zsCYd+tD1
06iMVL/fl2t/fxI+f2w//M+AWcXlLU/XDHsyfzz2eQwftXkNQQzapC11c/6z
XTfM0efv6wY88fP11kV66KwtYaD3C3RXxDsRIl+BLovQ48YU0mLm4lLwEa/u
DoKNY9B/12LYc1HEg2oIbuIGB9gxxl0O9CY4WrooxN5iHNS4hMHS8K2ezPNc
XUDEIp4jzBi4GY8d3PrZLVHhB3vf72KEw1kIikGzBkY9PJCpeoqSb3R3m5Mi
qspaQ8BlBiMKLgJgD7H0VINX+DS3H2l9EEJcokSuwbHVaYIURZdvBpNlpUGn
mA0uhGk6sxyRYngBDhPGPn6WSyLSOjsFDwMD4gaBy6hwwrgCOmcUSVtxT3YE
lxGIkbpGhCzZSlidLu7ICUTrpsiaw2w7qprhnqL/OzXWuiQK3kdszDjLkRo0
qvZAZJLdMIeoohS1xQsWnIB/JhGyi1bH4QjuO/sHQdxI/FCryx75l5u1YurV
OqnXaKEtVVbo2JnpVCcGRBGAiwmlTaHpA5reg07uM8zA/j0D4KszJAaGkzfk
doK7lVpJ6AU8ECmGdl48OAm3kecOX77cAbcBSYSgCtENzhnwElxEIZ8yFElN
SCJOVpKEsMX4Nr7N8nmqE/I8EWtyxi3Os/n5M9y+v9/qB17OCsM6LQGHC7om
6MBkJLHC9CSITPFVOsGxBAvsg6LEksTsoIt/tU6OaljisjbT1hmAm5vzeqbd
PhFJvIMuHg0AcvFGkTeG8+hZNR2SrNYDeoHIeD4bAp18fSdZcyRwlS0/iaH7
qE1BTqgjCwPQaU5SRFrDLdw+hZhtTbO9pAEZxhoaLC+lt5KSwDqAa7B3eNgT
0XDpjrdYg4hS8wkWi08MNEioKUED1KmYzbc3g/dOqR7uvNy7v6+1iANFpg/F
wrmxqNzxJkQUH80UHKUZIEmqAcjoqazHQ/oeXJ/zBBKdyBwBZpBB+0pmwVbD
kEbVU+sRON0GZURnXDGlDV45OXEGAlwBZ5Tqj2ZoUiQLBklRSaSLc0vZGonx
qRKRY0LgIwwECj17pi6kOqOuMLj3qqzq87NsWNxLhIh628WOcyepS6UZDM1L
zNaGrugDXuqdTvvfepywiap/i1fS9cPOu3764Hd1rUcgChN1Dar3a8cJq/y3
Wsvj3tRbfq1jipDbn6/sv8nya2einOdsdFl1/hylFXISxE22hL+WWTxCrSXG
2ScWw3E5aANGkwScvZ0HV8nGktUmykTBlwMKbAuDnsWoyKfE2D7OokiWkQCj
kepROUUZQ7dpAHDAokq2BLRl6WpsBTzT2PWgtul4HUkCuj0BO201lkPAT9zd
2ZnarXWeQPNUMDVp6h7rO+1fCKZu3A7nLckTJE+tm6ecAxSX05SHMdFKci+F
yzrFiruC2b9WkcI2KgFTcZR3i8lUYd0hICuUgg4fplqo2dog3glyLMqWymYU
/zmSDN6nJsz62PFRYf1S4W3wIUOkuVb8APwg8NA8Uhw9sLz6+BusnXEOcdMr
N2+h7+OGueoETvUHwxd1Vqr3x7+yw/Hq7VUIU9d5NIT71GoTOkpUreCaco1+
IbIDDgSCA+kGJndBaJJj0lMaAAhLCDqiVDwwlB1RPm7FIlXYozBh/LAS/frk
/VVP6f6YSlXoEKEEgetpFRdxAEJEsddDpRyiYhPW+dt5pJQf9LBKbjtbq/aQ
xiFYVroM0S6pkaWGgmbB/bYr1mIxzyXzJb0lfOuEzjEt558+/P5TFaEL9ADT
8g3aqSM3GX3kx4cQAx4g1AALthT9dOK9tYvEAR+u+g3U1ep73aOnl79c1H4S
0guiZ60lAgaEriX+JVZ6PPxt0HAj1wbCPExoB7YPHDYn0GjX3I3agtfGgJby
N77trRsfvSOzXmDhnzIIaFl3cNm7h33VHioA2FN0ohFXtsyn6PP32CHgWGou
VRoa2/MAEWVzWF/RENlh9sAsURpXVK5pINVtC6WXnxgCSecmQcdEYhev8cBx
fgPDq5kNq9EIO2letSDwVepQiFQMYQTqD6pfeUvKG/wIfmsJvCr9Ebucphqi
jKaJgD/uWSfZbQLAngz1IpfFtLVqA8PpkR5XXmBPQHZtVejGkainQaaqUs0x
locG1uZsSRWPaS64uCJbV4Ugp2DsStHZNjJNEzkohd0dJsMWTgiTgW4HOztv
vcha9jQBtmblgo0S5mOpwTVpgLTI4DWpNDvs7azwHqppfqCBA74mJ2GQvnuH
b5F6HgwsnfRVndP4qUv8nV6bd6O7yKToIHlAUNRmyAYAfgWs8zZCMHr3sPc4
MKRaJ8+zFAZegXsG9g0k+Bzbxvze26DWamADjCRJTRanVcJuHT/XKkVGsCnI
78gEGEiyQEPEFOxxHioCg/tUDGqTGgQnEMtGRVNrrUEsPQOzSoMRxahkAp0F
xC4fcmSFOZsQgRBAQcG6e1thS/Tw7fumEtnuqScEtu0g6cm+6dMLLhd539uX
Dj6t6K+zUTRgXQHoSz/fUY9MKWFMlyVYBJ2PteH7OhuNDa2RxXYP0i+0qG+f
nzqfPyPWefR3g0/LE0X8Wky0pMra+Dy1oPg4Pwm8pRV/CTZfMxakGH0d65LP
wa06yqLmjiyHV5guvO9k9cG0nGPyvGVC1mcUVycTKf3+T5VI3He/ux9f5z41
kfh4YrFTkl8try1mpC1ZnT+sP185kXjXZAp9BSpq1znhdZT5D+T7au5Y/nwD
LLbyw0L6qA7++umm16Jkzh5LNwmGR3SIpLvZYDf/Dbsdsdy/otjmtRAOF+py
cPXmbm/7bHA2wKQQ9lXt772kvir8sbv7/eH9vcCrQQFtVkDZl2cO9w92sJAP
hqyegEt8q2t1CJ1pfk71wbM6z/QArgjv7furc4f1wd7Ofo314f7OC8A68Ol5
pFpOsBCNaqi15RNtzg3kLYXe8nex9sgFI9E46C2j7348xm+fn0X47z1LqsWW
+YITD61+6qXMs+h955bzSQFuG3ZPs36bYX9fXtluJ6dEoR7RfI0Y4BmJzixZ
LtNIKtqVQnlC7HjLJdkmd9rHZgyFP3V7q4wJojrtjsENdayDmjQQlRPVMZOD
afNaTflJ+r56jQ4g3g+weN5qbJc6sZcocmhJrEf0x2flptVlEMVxzukHiYww
h2DblZR+e6+Of5VjHDS+5cjjqoHU2DGI/O0iZr8CEJAqbQrqWOXP9BhGyMGX
rT6F78BtWH7suZZZn7JN+zxtDx+z4EwooYil1Sme68CqJzekwzyWkkJbq5ZG
pOk5UjuG5VXyoYEVBRNqnEhTYazA9/C3PT+kdlztNmdo59iN3cKCMyFOqALp
Ih1qqjNzR0YtcRSfYo5Fktgz+EoJjFbgjI3PSVB3BicV0eL9zQeQ6akppRYj
jdXtvl9pMrZLiAfrEG9mdgnENUg5RsJ1+PspS7FE6Yqo3TzIRIPYpwVOct51
dwJnCpr7uEOWOlaftVn0ouE1rFt7nBcExw1Xyh4gQ3UKWCInwmos5JhQQhm/
1XqGyRM6DtaM6klVP4Kw1Duwg34trIGaFA+++XhO/NUD99t3KTrpAbnPBV/8
/NH4aV08t7ZxcRO4vzRZhR2QzfRLn6/sr3qVbcmP2bpzoyf6AqmH3di+plB2
Rr6L5XaufCZZQ5E1ygMiBzLvtQ6LkWaUdh0saCnSA6iZV7shYGmXO42cuFNk
JjXZdnNPP7hEczoHG9V7sMmp0XkesKADTJrY1ncgcWvQCjwCk7UNdd34RCqW
jScXrciZ8UllSG/lfHHhC780RFFus131J1PssvUtM80tUGB0+UhMIg1HapOr
ea3k5FKjDQzcwr4A4ZKEe06FVXrSqdcqmW+T6+giH2Qe92x/TbOCwpcejJtS
yoD79/BRIa9kQflUlFs/uydeG4eYTEFOamKq9jfShfAGN3mSIiR2d3Tg/lwd
HqiNtgL39mYDnwnA5dDpqKfcqQ0+KdFQyIlScyLMdf6q2WRhTd23B1POcuDN
sMxD+kInZ535fY3YZrokD5e2EUgiXVxTdyCnMUjcftd20XwLx62Hgey7zOEa
986PL7aowIwPkKyOixwMC5m8dl8eFoSbXmMqQdbYtCxXAA+3KMm9sk4gOARp
86p4hAWdy6obMwNyf1rCP/TlgvLtcq7Rnb+XUzwOuhXXDKne9e6iIVKI3hHQ
9qeQfwa76G8RAte7dYlt9eNcmV8FZK8BsifFeID27/DLHQAlzt/rnljyggc6
I9scR+srz3lwHaE8HzbqsNoMWnqFJIyR2G8hsU+YkDBJB7qQjxqVsRIIQ0Td
tjxS3MMBUwXWtXbE3nJR57jdhgtBWnx7z6eko+Z8jxTcqMsWOBQZ1Lcjy+2e
GA0Eyy2+iIU7LWvLKuGTxyJKrUbkqHtoi1tXoxWKnLuNsTv+ky5yNXC9RRec
13GsIu3IriV7uQW5sSXYLXK8qkU58mpTfm4h+JbakJZdt0P32/ssu27/X2dV
uhu85vMVXTXpmnPi0LgLqzl80j0QstwWvcqXIela4YB5Xk1wdtUMH61CweG4
yR1TzqnEkW1RD8ilWOE/saPWmaXpIFeeX8dFXneKQmCscBdXoyo2o+vbBQ8/
9ajHJxY1qBXFE7dtuSrxBtumrzWfMOfCdtl0b7P3033XjdhKyoZUM1sWOpry
dQaDXpscpAxGCD+aA0BywA0d1sCuTexayzQ1fHVxQAX0baiZx9XO8+0XT1A7
f3KrNM1/VeRlHufpF6iVP3JEUI4F1ofBDtDQ7j5XVCe2Wys28ekV6z+Cz6mn
pZ6K1J+Ij5DnyjtgW9/3UW0NaJ7/EwlFH3eEUh2GN3TA6mx9HfarEoriOUom
geZ4TiqJihwjOjwGv164a8/5GutcTj5w6CcNm4F/Dugw5HNiLoZki8JViIUA
B/d/0wlHr8O/vWAF//T8XewtbdvWl5TkaMno3vm1OQz2njUHgE789z7YIHil
46haUWYQte48XXnbRs8703iqM/zncgTAizsDxnjz9HKwBQFFibYOAfBpNHqD
ix/TdV4UgmfwJTHPj9KJIcxy8vO8QKkRcIVFXlUir0qRs5RogbkFmeFYD4cA
XJC5xhx1418DDKuXkBMX3mHXU3hOqnVMSt7QMuYzaSYt+b1hUlapX06WV1mC
r6vB4NK9iQKsXhUzsQtjbyHwv8NzWqmE+dQpMKOXtsiBKX5XRkYZ/Rjd/zmM
1kk4jgpgPDcZNpLia9mOL46XNrj9jhExx5bHylkoSmFEdAKeDuMLt9GZfMdc
wQcLl5AlrbSoijsim68uqAoGlLmp36pSWwlSQOydBtd6bMANWHTfo7GMWlxo
Rmz5dZYUdiC7g1fD4FYEIUA3Q5wqa0R6iKvAon5K3e6zlfroWlP+POa3A/4H
fvgvf5bG13do/I7AkOO3Kz609lPvHVLip6xPea16hnoelrpFHp7ngOfxA/BH
cXtO10mJLjlg65554Z55/rRnXGmR9rN+7VwMEsNFyAG9hxQV7zEDQR3u90zv
hLt7L6jc88YU4HKeYOaDvw54H/AJHru79zLcOzwk3diOA6wUwuhVo6Tkgbj4
ispCL9S7KLJ8UhpcZ+CsQbmwnxaZvTXuZUqmoAhdz3uBexcqPSDv9HGFk2l0
q1Xn5SZZ88YyNjh87pBqc/8H40GqTx9WAAA=

-->

</rfc>

