<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-quic-address-discovery-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="QUIC Address Discovery">QUIC Address Discovery</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-quic-address-discovery-01"/>
    <author fullname="Marten Seemann">
      <organization/>
      <address>
        <email>martenseemann@gmail.com</email>
      </address>
    </author>
    <author fullname="Christian Huitema">
      <organization>Private Octopus Inc.</organization>
      <address>
        <email>huitema@huitema.net</email>
      </address>
    </author>
    <date year="2026" month="August" day="15"/>
    <area>Transport</area>
    <workgroup>QUIC</workgroup>
    <keyword>QUIC</keyword>
    <keyword>STUN</keyword>
    <keyword>Address Discovery</keyword>
    <abstract>
      <?line 44?>

<t>Unless they have out-of-band knowledge, QUIC endpoints have no information about
their network situation. They neither know their external IP address and port,
nor do they know if they are directly connected to the internet or if they are
behind a NAT. This QUIC extension allows nodes to determine their reflexive IP
address and port for any QUIC path.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://quicwg.github.io/address-discovery/draft-ietf-quic-address-discovery.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-quic-address-discovery/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        QUIC Working Group mailing list (<eref target="mailto:quic@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/quic/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/quic/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/quicwg/address-discovery"/>.</t>
    </note>
  </front>
  <middle>
    <?line 53?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>STUN (<xref target="RFC8489"/>) allows nodes to discover their reflexive transport address
by asking a remote server to report the observed source address. While the QUIC
(<xref target="RFC9000"/>) packet header was designed to allow demultiplexing from STUN
packets, moving address discovery into the QUIC layer has a number of
advantages:</t>
      <ol spacing="normal" type="1"><li>
          <t>STUN encryption relies on shared keys, which have to be provisioned.
Absent such provisioning, STUN traffic is unencrypted
QUIC provides encryption by default, using TLS 1.3.</t>
        </li>
        <li>
          <t>When unencrypted, STUN traffic can be observed and modified by on-path
observers. By moving address discovery into QUIC's encrypted envelope it
becomes invisible to observers.</t>
        </li>
        <li>
          <t>STUN packet format is designed to facilitate multiplexing STUN and
other protocols on the same IP address and port number (see <xref target="RFC7983"/>).
That property can be used by observers to detect use of STUN and infer
use of peer-to-peer communications. In contrast, address discovery
using QUIC does not "stick out".</t>
        </li>
        <li>
          <t>When located behind a load balancer, QUIC packets may be routed based on the
QUIC connection ID. Depending on the architecture, not using STUN might
simplify the routing logic.</t>
        </li>
        <li>
          <t>If QUIC traffic doesn't need to be demultiplexed from STUN traffic,
implementations can enable QUIC bit greasing (<xref target="RFC9287"/>).</t>
        </li>
      </ol>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" 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>
      <?line -18?>

</section>
    <section anchor="negotiate-extension">
      <name>Negotiating Extension Use</name>
      <t>Endpoints advertise their support of the extension by sending the
address_discovery (0x9f81a176) transport parameter (<xref section="7.4" sectionFormat="of" target="RFC9000"/>)
with a variable-length integer value. The value determines the behavior with
respect to address discovery:</t>
      <ul spacing="normal">
        <li>
          <t>0: The node is willing to provide address observations to its peer, but is not
interested in receiving address observations itself.</t>
        </li>
        <li>
          <t>1: The node is interested in receiving address observations, but it is not
willing to provide address observations.</t>
        </li>
        <li>
          <t>2: The node is interested in receiving address observations, and it is willing
to provide address observations.</t>
        </li>
      </ul>
      <t>Implementations that understand this transport parameter <bcp14>MUST</bcp14> treat the receipt
of any other value than these as a connection error of type
TRANSPORT_PARAMETER_ERROR.</t>
      <t>When using 0-RTT, both endpoints <bcp14>MUST</bcp14> remember the value of this transport
parameter. This allows sending the frame defined by this extension in 0-RTT
packets. If 0-RTT data is accepted by the server, the server <bcp14>MUST NOT</bcp14> disable
this extension or change the value on the resumed connection.</t>
    </section>
    <section anchor="frames">
      <name>Frames</name>
      <t>This extension defines the OBSERVED_ADDRESS frame.</t>
      <section anchor="observedaddress">
        <name>OBSERVED_ADDRESS</name>
        <artwork><![CDATA[
OBSERVED_ADDRESS Frame {
    Type (i) = 0x9f81a6..0x9f81a7,
    Sequence Number (i),
    [ IPv4 (32) ],
    [ IPv6 (128) ],
    Port (16),
}
]]></artwork>
        <t>The OBSERVED_ADDRESS frame contains the following fields:</t>
        <dl>
          <dt>Sequence Number:</dt>
          <dd>
            <t>A variable-length integer specifying the sequence number assigned for
this OBSERVED_ADDRESS frame. The sequence
number <bcp14>MUST</bcp14> be monotonically increasing for OBSERVED_ADDRESS frames in the same connection.
Frames may be received out of order. A peer <bcp14>SHOULD</bcp14> ignore an incoming
OBSERVED_ADDRESS frame if it previously received another OBSERVED_ADDRESS frame
for the same path with a Sequence Number equal to or higher than the
sequence number of the incoming frame.</t>
          </dd>
          <dt>IPv4:</dt>
          <dd>
            <t>The IPv4 address. Only present if the least significant bit of the frame type
is 0.</t>
          </dd>
          <dt>IPv6:</dt>
          <dd>
            <t>The IPv6 address. Only present if the least significant bit of the frame type
is 1.</t>
          </dd>
          <dt>Port:</dt>
          <dd>
            <t>The port number, in network byte order.</t>
          </dd>
        </dl>
        <t>This frame <bcp14>MUST</bcp14> only appear in the application data packet
number space. It is a "probing frame" as defined in <xref section="9.1" sectionFormat="of" target="RFC9000"/>.
OBSERVED_ADDRESS frames are ack-eliciting, and <bcp14>SHOULD</bcp14> be retransmitted if lost.
Retransmissions <bcp14>MUST</bcp14> happen on the same path as the original frame was sent on.</t>
        <t>An endpoint <bcp14>MUST NOT</bcp14> send an OBSERVED_ADDRESS frame to a node that did not
request the receipt of address observations as described in
<xref target="negotiate-extension"/>. A node that did not request the receipt of address
observations <bcp14>MUST</bcp14> close the connection with a PROTOCOL_VIOLATION error if it
receives an OBSERVED_ADDRESS frame.</t>
      </section>
    </section>
    <section anchor="address-discovery">
      <name>Address Discovery</name>
      <t>An endpoint that negotiated (see <xref target="negotiate-extension"/>) this extension and
offered to provide address observations to the peer <bcp14>MUST</bcp14> send an
OBSERVED_ADDRESS frame on every new path. This also applies to the path used for
the QUIC handshake. The OBSERVED_ADDRESS frame <bcp14>SHOULD</bcp14> be sent as early as
possible.</t>
      <t>For paths used after completion of the handshake, endpoints <bcp14>SHOULD</bcp14> bundle the
OBSERVED_ADDRESS frame with probing packets. This is possible, since the frame
is defined to be a probing frame (<xref section="8.2" sectionFormat="of" target="RFC9000"/>).</t>
      <t>Additionally, the sender <bcp14>SHOULD</bcp14> send an OBSERVED_ADDRESS frame when it detects a
change in the remote address on an existing path. This could be indicative of a
NAT rebinding. However, the sender <bcp14>MAY</bcp14> limit the rate at which OBSERVED_ADDRESS
frames are produced, to mitigate the spoofed packets attack described in
<xref target="responder-side-security"/>.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <section anchor="on-the-requester-side">
        <name>On the Requester Side</name>
        <t>In general, nodes cannot be trusted to report the correct address in
OBSERVED_ADDRESS frames. If possible, endpoints might decide to only request
address observations when connecting to trusted peers, or if that is not
possible, define some validation logic (e.g. by asking multiple untrusted peers
and observing if the responses are consistent). This logic is out of scope for
this document.</t>
      </section>
      <section anchor="responder-side-security">
        <name>On the Responder Side</name>
        <t>Depending on the routing setup, a node might not be able to observe the peer's
reflexive transport address, and attempts to do so might reveal details about
the internal network. In these cases, the node <bcp14>SHOULD NOT</bcp14> offer to provide
address observations.</t>
        <t>On-path attackers could capture packets sent from the requester to the
responder, and resend them from a spoofed source address. If done repeatedly,
these spoofed packets could trigger the sending of a large number of OBSERVED_ADDRESS frames.
The recommendation to only include OBSERVED_ADDRESS frames in packets
sent on the same path over which the address was observed ensures
that the peer will not receive the OBSERVED_ADDRESS frames if the
addresses are not valid, but this does not reduce the number of
packets sent over the network.
The attack also has the effect of causing spurious
detection of NAT rebinding, and is a variant of the replacement of addresses
of packets mentioned in <xref section="21.1.1.3" sectionFormat="of" target="RFC9000"/>.
QUIC implementations are expected to have sufficient
protection against spurious NAT rebinding to limit the incidental traffic
caused by such attacks. The same protection logic <bcp14>SHOULD</bcp14> be used to prevent sending of a large number of
spurious OBSERVED_ADDRESS frames.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>TODO: fill out registration request for the transport parameter and frame types</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC8489">
          <front>
            <title>Session Traversal Utilities for NAT (STUN)</title>
            <author fullname="M. Petit-Huguenin" initials="M." surname="Petit-Huguenin"/>
            <author fullname="G. Salgueiro" initials="G." surname="Salgueiro"/>
            <author fullname="J. Rosenberg" initials="J." surname="Rosenberg"/>
            <author fullname="D. Wing" initials="D." surname="Wing"/>
            <author fullname="R. Mahy" initials="R." surname="Mahy"/>
            <author fullname="P. Matthews" initials="P." surname="Matthews"/>
            <date month="February" year="2020"/>
            <abstract>
              <t>Session Traversal Utilities for NAT (STUN) is a protocol that serves as a tool for other protocols in dealing with NAT traversal. It can be used by an endpoint to determine the IP address and port allocated to it by a NAT. It can also be used to check connectivity between two endpoints and as a keep-alive protocol to maintain NAT bindings. STUN works with many existing NATs and does not require any special behavior from them.</t>
              <t>STUN is not a NAT traversal solution by itself. Rather, it is a tool to be used in the context of a NAT traversal solution.</t>
              <t>This document obsoletes RFC 5389.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8489"/>
          <seriesInfo name="DOI" value="10.17487/RFC8489"/>
        </reference>
        <reference anchor="RFC9000">
          <front>
            <title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>
            <author fullname="J. Iyengar" initials="J." role="editor" surname="Iyengar"/>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document defines the core of the QUIC transport protocol. QUIC provides applications with flow-controlled streams for structured communication, low-latency connection establishment, and network path migration. QUIC includes security measures that ensure confidentiality, integrity, and availability in a range of deployment circumstances. Accompanying documents describe the integration of TLS for key negotiation, loss detection, and an exemplary congestion control algorithm.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9000"/>
          <seriesInfo name="DOI" value="10.17487/RFC9000"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC7983">
          <front>
            <title>Multiplexing Scheme Updates for Secure Real-time Transport Protocol (SRTP) Extension for Datagram Transport Layer Security (DTLS)</title>
            <author fullname="M. Petit-Huguenin" initials="M." surname="Petit-Huguenin"/>
            <author fullname="G. Salgueiro" initials="G." surname="Salgueiro"/>
            <date month="September" year="2016"/>
            <abstract>
              <t>This document defines how Datagram Transport Layer Security (DTLS), Real-time Transport Protocol (RTP), RTP Control Protocol (RTCP), Session Traversal Utilities for NAT (STUN), Traversal Using Relays around NAT (TURN), and ZRTP packets are multiplexed on a single receiving socket. It overrides the guidance from RFC 5764 ("SRTP Extension for DTLS"), which suffered from four issues described and fixed in this document.</t>
              <t>This document updates RFC 5764.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7983"/>
          <seriesInfo name="DOI" value="10.17487/RFC7983"/>
        </reference>
        <reference anchor="RFC9287">
          <front>
            <title>Greasing the QUIC Bit</title>
            <author fullname="M. Thomson" initials="M." surname="Thomson"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>This document describes a method for negotiating the ability to send an arbitrary value for the second-most significant bit in QUIC packets.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9287"/>
          <seriesInfo name="DOI" value="10.17487/RFC9287"/>
        </reference>
        <reference anchor="I-D.pauly-quic-address-extension">
          <front>
            <title>QUIC Address Extension</title>
            <author fullname="Tommy Pauly" initials="T." surname="Pauly">
              <organization>Apple Inc.</organization>
            </author>
            <author fullname="Christopher A. Wood" initials="C. A." surname="Wood">
              <organization>Apple Inc.</organization>
            </author>
            <author fullname="Eric Kinnear" initials="E." surname="Kinnear">
              <organization>Apple Inc.</organization>
            </author>
            <date day="11" month="March" year="2019"/>
            <abstract>
              <t>   This document defines an extension to the QUIC transport protocol
   that adds support for requesting and receiving the public network
   address of an endpoint from its peer.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-pauly-quic-address-extension-00"/>
        </reference>
      </references>
    </references>
    <?line 233?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Unbeknownst to the authors, the idea of moving address discovery into QUIC was
conceived of before in <xref target="I-D.pauly-quic-address-extension"/>.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA61a/27bOBL+n0/Bc//YdGGrcdprU2P3um6SXgO0cc5xd7FY
LApaom2isqgVqaRG0H2We5Z7svtmSMmyk7R3uMMWa4kSyeH8+OabUQaDgfDG
53oke//4cH4ix1lWaefkqXGpvdbVpifUfF7p66+8kCqvl7bajKTzmRCZTQu1
xopZpRZ+YLRfDP6oTTpQYeoga6YODofC1fO1cc7Ywm9KTDo/m72R8pFUubPY
0xSZLjX+V/heX/Z0ZrytjMrp5nz8Gj+2wtV09qYnino919VIZJBnJFJbOF24
2o2kr2otcIKnQlVaYdVZpQpX2sr3xI2tPi0rW5fxgD3xSW8wmI2EHEgaod+r
2YcL+r1zenGtixq7Sbm7iJThOL1fsL4plvLv9JjG18rkGCeN/ES6SWy1pHFV
pSuMr7wv3ejJE3qNhsy1TprXntDAk3llb5x+Qgs8oYlL41f1PC55g5f21Uwv
5dCJ8531w8tJmJwYe3fak2/aL1n5dd4Tzqsi+6hyW+DAG+2EW6vKf/yjtthz
JAsrSjOSv3mb9qWD0iu9cLjarOnidyFU7Ve2In1DUCkXdZ4HB+q9xzq6kFda
r1VR9Pixjgpc8zMXHv20pNEktevePcucrCrjvFGFfFsbjwlhJWgUDy8rcw3l
yEnqbVk7eV6kye5OqzDpp/ibFBp+I0Rhq7XysM9ICFMsOndiMBhINXe+UqkX
4kORk8/4ld7IlbrW0tZ+YBeDOdQmPxX2JtfZUvfZ2SR8vbSm8C68WljZrm0L
LIq5AiuZSkIMcl7pjK/5aSJntEWhYVNd8coyvKo/e10VKpfnlzJaUdLmFAJ9
OojMbJCPJ5lFuEG0yMxUOvX5RiKeClzpTHp+F3LRotpTBHZmiLleIWqlkhfj
GYlkXDzZZ7IXnyLP4cI4W6YdrZZprLQ2hY7iwi9y/Rm6hLxiX14JbeBmExYt
lV8lUeNrk2W5FuIRbOgrm9UpaUUICl55cHv7l+mbk+Nnxy+/fHl8V4To03ck
8A1UNIoTcxzTcUwrvLeGk0unK55rMcDvkn7snIcz+HxdpbqZn8hfVibnowZ4
iZK9PDw8JMlKlX6CUldaZVjyRjmox5llERTPcmNkXefelCQj5FhUdh0gKkxG
dK3tNUsYldeGLFnNtnsDFjbYZIVNlAzwKe0CKr9WhVdLRK8Qw4SXhmOm1aZk
L6x0bqA2XLkVLA4n1hvsebMy6Sq4LfaYa1lWkIIsrrOEImoMjRReuhqvtc8g
Zj/sAFUvFiaVcJi6iNvpjCYGU9MMMldHEtgi0wsFZfRl7ejEs3dXcpg8TcQR
KRrg0Vlqb58UgDDv2Ik8bG0zszC4wcq2GJB7kQDxnQrWe735hnJJ2O9aKbGU
Lq51bktEjKe15howhWOYghQwz1lb2w3E06jw6Agh+EkpXT9YqNTkxhNw7bgC
z8RBWGiGAagNyGtzthcZ3gEU7wOCxgEOgKny9vYVfPLFy+On8Ek23mwFKbBY
qSu/aXRXu6iqRvwmnFNPz+BMrUSEY7qileKDUutq4O2AfoEu63VdmJSBDFo+
LwhwYCkHy95RdFiFzsuekVlNoexlDyiffiJ87SXiWXSA3BJBgZgNLuVW4U7l
qkh11W9whAMH2XlD50Ky5imKzhf01vphBEJyv/PTRJ4yPyFZon45a5MG6gqg
TmIFUVkRa7NcsRc4sy5zs9jwFNqOXsnt0qSJ+CvOvwibNb5KRyy+g410sD9k
7IAAxloMaKb0aRfaRK8RdEGvbDZdKHI6Xn5uPIiLVizgQTD6y6PjF2x0AOmJ
he8WYS7Z8FQvTGH4XghkG4p8SWzJIVl/uJoRLaNfeTHh6+kZtpmendL11dvx
u3fthYhvXL2dfHh3ur3azjyZvH9/dnEaJmNU7gyJ3vvxr3hCUvUml7PzycX4
XQ9OBoVSrNi0pnNzDgv64nxVVpoMq5xANKWVmWtyTPn65PJf/xw+kwGKj4ZD
JIl4czx88Qw3N3ClsJstkA3DLeU8ocpSq4pWAThDwyXCMgccAlTdyt4UgPJK
Q5vf/0aa+X0kf5in5fDZ3+IAHXhnsNHZziDr7O7InclBifcM3bNNq82d8T1N
78o7/nXnvtF7Z/CHVzkl8sHw+NXfBLnQBWoDcC/277OWAnwABtw+KuIzPWjJ
wRchzloKhEQEtDGuIQauLhmpLNONDqMABLkYhRSqETA+bpH54PDzy8XxUA1f
PH/cyemlqoCGnlDv9vYqRvWL5BntsM3J4gaMCsBxrVB6IHYGuS6WGCGPWmLu
tcprzewrXG4JDbM+Qh51bUBbaB0ByUrCR8rm+8CGfPu9PBzxUsRNCPZvTJ7z
wWyTAtt5AXZjbOO5gc4ITvtyXnPKAPoABtjzQf+Dr4PPabOTwHaWwRo6XySQ
Y7grx3+zShSgI8N/eAra9+h/2Zczje/ojUqxb+0pzvdw0lOyq1F2VlzcBEy5
z204glHRqMD5WLrSC7gPUdSQgYNPYEnOD3BmpludNKKrylbs1KgZxWw6vri6
nExnHy/H0/H7s9nZ9OPZdDqZQs7AaBitDwfT2Qx6xh6dooHlASvVnMp965Ec
Md0ziPYMkaNHRtwJI+QUogoZYX5I87zENupgDpaioZ2ctnhEogZXZASVpppJ
0DxkukAT+p1r2YAgRQFFl9jbBapJobul7h6niOp2QPmso0vOWm9Ibk5QOwuF
g4SQnLy+Opv+fHb6cXx6Oj27ugpnpdmP7jwT4s8//xR3ZvAu8pZLxRkMJw/M
Y/mjjEDzPEni1QvOxChi/6jBCbW8iDTLPA4PfgMZu34mD54ePZa/d4aey4Ph
0XE7dkmOdzB8jllfWCDOv/efg7mTMkU468KSablQMDrPiNTvCTMSIzl+EN4I
rsBUGq9wzdzIF5WLtBRMlYKNlP6Aejmum/l4N67AHoAMvbbACkssMM+JTKcN
M6GS7/4lXcj4kdV2/UBGN2gpHQMH0bmaEwhIC/n+mAFTxiSJg1gQBkW+DUoa
4OMBHaPmNcSINaC9dhC43UEVIfDvn4gV6Tyt0FRjyJhh9p0Et6jaqT5AlQbq
yDGtGj66b4mYFhvRW58m/4LRA6yys7W16ITIDM7AhVmo4mUOraNKgy5QCoEx
eqaJcfFwdgYqSQF+GNZ/3l3/+f9x/SHWJ9dv1++UKn0yftMGmW9QCwWjxsgP
S7FzMWfbEjWm6SX4d6g3AloFEItdRDi9SuGw55xKlOwhgcxbnfYkl+UBF7He
lju8TIY73CG5ixvRb4mYYscBaunUeK6CKdNER2SHZbBeG8+pb4HqwPlETJth
bppGxF/R2YqdCo/dSgUEsJVZGur/BJVQU4ENwng5Ltr8scViSgMUBg/4PnGX
kKA5U2Ym4zRfkUO6nVRI2riXZ4TGRkvBxe3tfWzwC0XonY3k1zcSOxvxmVIo
LySQTt6NQXc5ncwmJ5N3H38+n7wbE6ONGZkjXMSwdg+rg5PO3dbwjmZZ/PaE
WVNl33vmx/uJlgp6u0D5HIq/b9FAOiajGh89mvIBRySf0UyRC30T2mkNH3A2
BIneLko+xTU/YX3bRQIiZW6lPkWAf2CjrWez78H+iEYKSydK67gTAkW+gd5p
Gxf2UQsfugPgZ2yzCBPtlv0O+Wl2AHELDbaHzsyGbyK6JS98bPxrpOkDowhd
W1gSZhv1oaZUcgcXulXEcXK0W0VQqGUZF8+U3xoORCSzkfwbUUdFJ+Wc0GCB
iUQkRqahQ9yNbN2CHAdeRL1vPmdr29TWeRZq4owx8JoZohIXY2KPc8McMJFv
7Y3u0DUWFTWgzA1QKWxJHSh4duj93WFOHawruSNLTTioDtPNkqbywqW1C6i0
6cEo73G1jw5UNlmSYODg+wOn07oyfkMQi+i7irfUsaDnlYpNCuJzQTvTgBmk
bbyArFXIpS7wZt6PfWDkIgKXOXV9axdb3Z2Obmoraoa3CjYPBVVgwls/2roo
939wtJTil/J6wcSBJRP3xjMbvQGtUEA10lGMu37bf1dtubXdObirdHbN1Nlk
IeFxo0ke6ARG3vazm34SKp+dLQS3PVgoei2m8WAQF81Ln9vgaIjsx9HJwh64
iIQLsFjqCBydDk2ya6NoZLaRvH30kNWFuNN3a5poTvu67Df5KSg8mlXtdltb
oPzOia90/ENihlfqdelDh9NCo3Fp8D+NzIqYVCZ32y808fsIHkWGwk3NUACm
CmoLUcVCbls0kmG+A/L3OgV0NgnN6Rgs1HkNQZ2qkhqPbTAx1nJzMNisiYGA
6KLVbzgkEzUqd/U6TFJtdO5/xYCDZ7agJcGq4CpANBFOtx/PQTAPDrKMNWlT
ZBLmyFxVyy6FfSikuN6pqHkOt4l+3EQQcDqvs4dSDxcJURoRic8eUeJvPwHE
mBxGpRNTar8P0NdkjAqOtDbHUpshchLmCV8pL10MncamMXRoMsdm6JrE6Igt
baT8Ouag7QeaHeM2n61aP2NFRRDlLL6KNFDDt1KOxVSFJoIrEU6oXkRIKTHB
7mSB2FJxTf+raKk6LJ+DJHObdUu+oCBq7jf99NA93qfJR8OE/nu6x5WZTez3
rElF+nPZfnvkD0yuph63wVuCPnDEZdWSil7fHmv3JDR5m7ngMob+rIDqq9Ax
F6SV0KrgT1RBhS5Wrewq260Cum05Dc/ksNXX/JHrKy4uWvke9HX6iDm+GN9J
Z7PJ6WSEOh4+R7Ba6aWhz8zxs1wgxU11eV+/imy5LbFc+HA6xzGZwqbN12hS
vxO3oyCyzn7sLeBJuveFvmbPNb1Geo60MHzAj4AGaRWd+tsfySi66M80mrp8
AT0uqPxmV3l1PjhNSlXnm92/PujWBuLfJdPNesAiAAA=

-->

</rfc>
