<?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.24 (Ruby 3.3.6) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-radext-status-realm-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.0 -->
  <front>
    <title abbrev="RADIUS Status-Realm and Loop Detection">Status-Realm and Loop Prevention for the Remote Dial-In User Service (RADIUS)</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-radext-status-realm-01"/>
    <author fullname="Margaret Cullen">
      <organization>Painless Security</organization>
      <address>
        <phone>+1 (781)405-7464</phone>
        <email>margaret@painless-security.com</email>
      </address>
    </author>
    <author fullname="Alan DeKok">
      <organization>InkBridge Networks</organization>
      <address>
        <email>alan.dekok@inkbridge.io</email>
      </address>
    </author>
    <author fullname="Mark Donnelly">
      <organization>Painless Security</organization>
      <address>
        <phone>+1 (857)928-5967</phone>
        <email>mark@painless-security.com</email>
      </address>
    </author>
    <author fullname="Josh Howlett">
      <organization>Federated Solutions</organization>
      <address>
        <phone>+44 (0)7510 666 950</phone>
        <email>josh@federated-solutions.com</email>
      </address>
    </author>
    <date year="2025" month="March" day="03"/>
    <area/>
    <workgroup>RADIUS EXTensions</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 65?>

<t>This document describes extension to the Remote Authentication Dial-In User Service (RADIUS) protocol to allow participants in a multi-hop RADIUS proxy fabric to check the status of a remote RADIUS authentication realm, gain visibility into the path that a RADIUS request will take across the RADIUS proxy fabric, and mitigate or prevent RADIUS proxy loops.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://meadmaker.github.io/draft-ietf-radext-status-realm/draft-ietf-radext-status-realm.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-radext-status-realm/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        RADIUS EXTensions  mailing list (<eref target="mailto:radext@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/radext/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/radext/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/meadmaker/draft-ietf-radext-status-realm"/>.</t>
    </note>
  </front>
  <middle>
    <?line 69?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>This document describes an extension to the Remote Authentication Dial-In User Service (RADIUS) protocol <xref target="RFC2865"/>, to allow participants in a multi-hop RADIUS proxy fabric to check the status of a remote RADIUS authentication realm, gain visibility into the path that a RADIUS request will take across the RADIUS proxy fabric, and mitigate or prevent RADIUS proxy forwarding loops.</t>
      <t>This document defines two new RADIUS Packet Type Codes:</t>
      <ul spacing="normal">
        <li>
          <t>Status-Realm-Request (TBD)</t>
        </li>
        <li>
          <t>Status-Realm-Response (TBD)</t>
        </li>
      </ul>
      <t>This document also defines the following RADIUS Attributes:</t>
      <ul spacing="normal">
        <li>
          <t>Status-Realm-Response-Code (TBD)</t>
        </li>
        <li>
          <t>Max-Hop-Count (TBD)</t>
        </li>
        <li>
          <t>Server-Identifier (TBD)</t>
        </li>
      </ul>
    </section>
    <section anchor="requirements-notation">
      <name>Requirements Notation</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="terminology">
      <name>Terminology</name>
      <t>The following terms are used throughout this document. Their definitions are included here for consistency and clarity.</t>
      <dl>
        <dt>RADIUS Request</dt>
        <dd>
          <t>A RADIUS Request is the first message in a RADIUS message exchange. RADIUS request message types include: Access-Request, Accounting-Request, and Status-Server. This document defines a new RADIUS Request message type: Status-Realm-Request.</t>
        </dd>
        <dt>RADIUS Response</dt>
        <dd>
          <t>A RADIUS Response is any RADIUS message sent in reply to a RADIUS Request. RADIUS reponse message types include: Access-Accept, Access-Challenge, Access-Reject, Accounting-Response. This document defines a new RADIUS Response message type: Status-Realm-Response.</t>
        </dd>
        <dt>RADIUS Instance</dt>
        <dd>
          <t>A single device or software module that implements the RADIUS protocol.</t>
        </dd>
        <dt>RADIUS Client</dt>
        <dd>
          <t>A RADIUS Client is a RADIUS Instance that sends RADIUS Request messages and recevies RADIUS Reponse messages in reply.</t>
        </dd>
        <dt>RADIUS Server</dt>
        <dd>
          <t>A RADIUS Server is a RADIUS Instance that receives RADIUS Requests and sends RADIUS Response messages in reply.</t>
        </dd>
        <dt>Authentication Request</dt>
        <dd>
          <t>An Authentication Request is sent to authenticate a particular user within a particular realm. The user and realm information are typically included in a User-Name Attribute <xref target="RFC2865"/> within the Authentication Request.</t>
        </dd>
        <dt>Authentication Server</dt>
        <dd>
          <t>An Authentication Server is a RADIUS Server that receives Access-Requests for a given RADIUS Realm, and sends Access-Access, Access-Challenge or Access-Reject messages in response. A single Authentication Server may serve more than one Authentication Realm.</t>
        </dd>
        <dt>Authentication Realm</dt>
        <dd>
          <t>An Authentication Realm consists of a group of users within a single organization that can be authenticated using RADIUS. A single Authentication Realm <bcp14>MAY</bcp14> be served by more than one Authentication Server.</t>
        </dd>
        <dt>Target Realm</dt>
        <dd>
          <t>The Target Realm of a RADIUS Request is the RADIUS Realm toward which the Request is directed. The Target Realm is typically contained within the "User-Name" attribute of a Request.</t>
        </dd>
        <dt>RADIUS Proxy</dt>
        <dd>
          <t>A RADIUS Proxy receives RADIUS Requests and forwards then towards the Target Realm included in the RADIUS Request message. It also receives the corresponding RADIUS Respone message and fowards them back towards the RADIUS Client that originated the request. In this context forwarding a RADIUS Requst consists of generating a new RADIUS Request containing information from the original Request, and sending it to the configured next-hop RADIUS server for the Target Realm. Forwarding a RADIUS Response consists of sending it to the RADIUS Server from which the corresponding Request was received.</t>
        </dd>
        <dt>RADIUS Proxy Fabric</dt>
        <dd>
          <t>A multi-hop group of inter-connected RADIUS Servers that Proxy requests among themselves towards a set of Target Realms.</t>
        </dd>
        <dt>RADIUS Proxy Path</dt>
        <dd>
          <t>The RADIUS Server Path is a the set of RADIUS Servers that a RADIUS Request traverses from the first RADIUS Server that is contacted by the RADIUS Client to the final RADIUS Server that responds to the Request.</t>
        </dd>
        <dt>Proxy Loop</dt>
        <dd>
          <t>A Proxy Loop may occur when two or more RADIUS Proxies are configured such that a RADIUS Request follow a circular path through the Proxy Fabric, never reaching the Target Realm. This is a pathological and potentially damaging misconfiguration.</t>
        </dd>
        <dt>First-Hop Server</dt>
        <dd>
          <t>The First-Hop Server is the first RADIUS Server within a Proxy Fabric to recieve a RADIUS Request. In some cases, the First-Hop RADIUS Server may receive the request from a separate RADIUS Client. In other case, the First-Hop RADIUS Server and the RADIUS Client may be running in a single RADIUS Instance.</t>
        </dd>
        <dt>Last-Hop Proxy</dt>
        <dd>
          <t>The Last-Hop Proxy is the last RADIUS Proxy to forward a RADIUS Request before it reaches the Authentication Server. Depending on its configuraiton, the Last-Hop Proxy may or may not know that is the Last-Hop Proxy for a given RADIUS Request.</t>
        </dd>
      </dl>
      <t>Note: It is possible for a single RADIUS Instance to serve in multiple roles. For example, it is common for a RADIUS Server to act as an Authentication Server for some Realms, while acting as a Proxy for other Realms. A RADIUS Proxy will, by its nature, act as a RADIUS Server for some RADIUS messages while acting as a RADIUS Client for others. The requirements in this document apply to all RADIUS Instances whenever they are acting in the role to which the requirement applies.</t>
    </section>
    <section anchor="overview">
      <name>Overview</name>
      <t>This document defines two functional extensions to RADIUS: Querying the status of a remote RADIUS Realm (Status-Realm), and mitigating, detecting and preventing loops in a RADIUS Proxy forwarding loops (Proxy Loop Prevention). This section contains a short overview of each function. Detailed definitions and requirements are covered in later sections of this document.</t>
      <section anchor="status-realm-overview">
        <name>Status-Realm Overview</name>
        <t>Status-Realm-Request messages are sent by RADIUS Clients to to query the reachability and status of a particular Target Realm. In some cases, the RADIUS Client may be able to reach an Authentication Server for the Target Realm directly. In other cases, the RADIUS Client will send the initial Status-Realm request to a RADIUS Proxy, which will forward the Status-Realm-Request toward the indicated realm.</t>
        <t>Status-Realm-Requests may be sent to the RADIUS authentication port or the RADIUS accounting port of the first-hop RADIUS server. RADIUS proxies should forward Status-Realm-Requests received on the authentication port to the authentication port of the next-hop RADIUS server. Status-Realm-Requests received on the accounting port should, similarly, be forwarded to the accounting port of the next-hop server.</t>
        <t>When a Status-Realm-Request packet is received by an RADIUS Server for the Target Realm, the RADIUS Server <bcp14>MUST</bcp14> respond with a Status-Realm-Response packet.</t>
        <t>If a RADIUS Proxy is unable to forward a Status-Realm-Request packet towards the Target Realm, either because it has no information about how to reach the Target Realm, or because there are no reachable RADIUS Servers for the Target Realm, the RADIUS Proxy <bcp14>MUST</bcp14> return a Status-Realm-Response packet containing a Status-Realm-Response-Code attribute.</t>
        <t>Status-Realm packets allow the sender to determine the reachability and status of a Realm, without requiring a direct RADIUS connection to a RADIUS Server for the Target Realm, and without requiring credentials for an authorized user within that Realm. This can be useful for debugging RADIUS authentication issues, identifying routing issues within a RADIUS proxy fabric, or monitoring realm availability.</t>
      </section>
      <section anchor="proxy-chains-and-loops">
        <name>Proxy Chains and Loops</name>
        <t>RADIUS Proxies are configured to know which next-hop RADIUS Server to use for a given Target Realm. There is no dynamic routing protocol or tree-spanning protocol in use, so Proxy Loops are a common occurence due to misconfiguration. These loops can be controlled or prevented using implementation-specific or operator-specific mechanisms, but it would be useful to have well-defined, common mechanism.</t>
        <t>The Max-Hop-Count attribute described in this document can be used to mitigate the damage caused by Proxy Loops. The Max-Hop-Count attribute is set to a small integer by the RADIUS Client or First-Hop RADIUS Server. The value is decremented each time a RADIUS message is proxied. When the Max-Hop-Count reaches zero, the request is discarded, ending the loop.</t>
        <t>RADIUS Clients can also use the  Max-Hop-Count attribute to implement "traceroute-like" functionality.  By setting the Max-Hop-Count value to a series of increasing values, it is possible to discover the proxies which route packets to a target realm.  As there is no relationship between independent Status-Realm packets, the path (or partial path) discovered by one Status-Realm packet is likely to be differerent from the path discovered by a different Sgtatus-Realm packet.</t>
        <t>This document also defines a more effective method of detecting and preventing Proxy Forwarding Loops: RADIUS Loop Prevention. This document defines a RADIUS Server-Identifier attribute that is used to uniquely identify a RADIUS Server. When a RADIUS Proxy receives a RADIUS Request packet, it checks to see if the Request contains a Server-Identifier attribute indicating that it has already processed this packet. If so, it discards the packet. If not, it adds its own Server Identifier to the packet before forwarding it.</t>
      </section>
    </section>
    <section anchor="packet-formats">
      <name>Packet Formats</name>
      <t>This section describes the RADIUS packet formats for Status-Realm-Request and Status-Realm-Response packets. Status-Realm-Requests are sent in the same format, whether they are sent to the authentication port or the accounting port.</t>
      <section anchor="status-realm-request-packet">
        <name>Status-Realm-Request Packet</name>
        <t>Status-Realm-Request packets reuse the RADIUS packet format, with the fields and values for those fields as defined in <xref target="RFC2865"/>, Section 3.</t>
        <t>A Status-Realm-Request packet <bcp14>MUST</bcp14> include a Message-Authenticator (<xref target="RFC2869"/>, section 5.14) as the first attribute in the packet. The Message-Authenticator provides per-packet authentication and integrity protection. The Authenticator field of a Status-Realm-Request packet <bcp14>MUST</bcp14> be generated using the same method as that used for the Request Authenticator field of Access-Request packets.  As a result, all of the security issues for Access-Request also apply to Status-Realm-Request.</t>
        <t>A Status-Realm-Request packets <bcp14>MUST</bcp14> include a User-Name attribute which the Target Realm for the Request. The 'user' portion of the User-Name <bcp14>SHOULD</bcp14> be ignored, if present.</t>
        <t>A Status-Realm-Request message <bcp14>MUST</bcp14> also include a Max-Hop-Count attribute, as defined below.</t>
        <t>Status-Realm-Requests <bcp14>MAY</bcp14> include NAS-Identifier, and one of (NAS-IP-Address or NAS-IPv6-Address). These attributes are not necessary for the operation of Status-Realm, but may be useful information to a server that receives those packets.</t>
        <t>Status-Realm-Request packets <bcp14>MUST NOT</bcp14> contain authentication credentials (such as User-Password, CHAP-Password, EAP-Message) or User or NAS accounting attributes (such as Acct-Session-Id, Acct-Status-Type, Acct-Input-Octets).  When a RADIUS Server receives a Status-Realm-Request with authentication credentials, it <bcp14>MUST</bcp14> respond with a Status-Realm-Response, and that Status-Realm-Response <bcp14>MUST</bcp14> contain a Status-Realm-Response-Code Attribute with Response-Code 503, Invalid Contents, user credential included.</t>
      </section>
      <section anchor="status-realm-response-packet">
        <name>Status-Realm-Response Packet</name>
        <t>Status-Realm-Response packets reuse the RADIUS packet format, with the fields and values for those fields as defined in <xref target="RFC2865"/>, Section 3.</t>
        <t>The Response Authenticator field of a Status-Realm-Response packet <bcp14>MUST</bcp14> be generated using the same method used for calculating the Response Authenticator of an Access-Accept sent in response to an Access-Request, with the Status-Realm-Request Request Authenticator taking the place of the Access-Request Request Authenticator.</t>
        <t>The Status-Realm-Response packet <bcp14>MUST</bcp14> contain a Status-Realm-Response-Code attribute, as defined below, indicating the results of the Status-Realm request.</t>
        <t>The Status-Realm-Response packet <bcp14>MAY</bcp14> contain the following attributes: Reply-Message, Message-Authenticator, Server-Information.</t>
        <t>When a server responds to a Status-Realm-Request packet, it <bcp14>MUST NOT</bcp14> send more than one Status-Realm-Response packet.</t>
      </section>
    </section>
    <section anchor="max-hop-count-attribute">
      <name>Max-Hop-Count Attribute</name>
      <t>This section defines a new RADIUS attribute, Max-Hop-Count (TBD). The value of the Max-Hop-Count attribute is an integer, as defined in <xref target="RFC8044"/>, Section 3.1. Valid values are small positive integers, 0 to 255.</t>
      <t>This attribute is used to limit the number of RADIUS Proxy hops that a packet will pass through before either it times out, or it reaches its final destination. Before a RADIUS Proxy forwards a Status-Realm-Request packet, it <bcp14>MUST</bcp14> check the Max-Hop-Count attribute. If the Max-Hop-Count attribute is present and the value is zero, the Request <bcp14>MUST NOT</bcp14> be forwarded and an error response <bcp14>SHOULD</bcp14> be returned, as appropriate to the request type. If the Max-Hop-Count is greater than zero, the proxy server <bcp14>MUST</bcp14> decrement the hop count by 1 before forwarding the request.</t>
      <t>A RADIUS server which will not proxy the Status-Realm-Request packet <bcp14>MUST</bcp14> ignore the value of the Max-Hop-Count attribute.</t>
      <t>In the context of Status-Realm-Requests, this attribute can be used to implement "traceroute-like" functionality. By sending a series of Status-Realm-Requests with incremented values of Max-Hop-Count, starting with a Max-Hop-Count value of 0, the RADIUS Client will receive a series of Status-Realm-Responses from the RADIUS Proxies on the Proxy Path to a given Target Realm.</t>
      <t>The Max-Hop-Count attribute can used with other types of RADIUS Request messages, in order to mitigate the damage caused by RADIUS proxy loops. It is therefore possible that a RADIUS Client or a RADIUS Proxy will support the Max-Hop-Count attribute, even if they do not support Status-Realm. When used to limit RADIUS Proxy loops, it is <bcp14>RECOMMENDED</bcp14> that the value of the Max-Hop-Count attribute be set to 32, by default.</t>
      <t>For any type of RADIUS request message, setting the Max-Hop-Count attribute to 0 effectively requests that the request message not be proxied. Setting the attribute to a value greater than 0 requests that the request message be proxied across at most that many intermediate proxies between the visited and home server.</t>
      <t>If this attribute is not present on a RADIUS Request received from a RADIUS Client, the First-Hop RADIUS Server <bcp14>MAY</bcp14> add this option, setting it to the default value of 32, or to any valid, configured value.</t>
    </section>
    <section anchor="status-realm-response-code-attribute">
      <name>Status-Realm-Response-Code Attribute</name>
      <t>This section defines a new RADIUS attribute, Status-Realm-Response-Code (TBD). This has data type tlv, as defined in <xref target="RFC8044"/>, section 3.13. It contains 3 sub-attributes:</t>
      <ul spacing="normal">
        <li>
          <t>Response-Code (Type = 1)</t>
        </li>
        <li>
          <t>Hop-Count (Type = 2)</t>
        </li>
        <li>
          <t>Responding-Server (Type = 3)</t>
        </li>
      </ul>
      <t>Response-Code has data type 'integer', as defined in <xref target="RFC8044"/>, Section 3.1. Exactly one Response-Code sub-attribute <bcp14>MUST</bcp14> be included in in every Status-Realm-Response-Code attribute. Response-Code values are grouped into one of several ranges:</t>
      <table>
        <thead>
          <tr>
            <th align="left">Range</th>
            <th align="left">Meaning</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">200-299</td>
            <td align="left">Successful response</td>
          </tr>
          <tr>
            <td align="left">300-399</td>
            <td align="left">Status unknown</td>
          </tr>
          <tr>
            <td align="left">400-499</td>
            <td align="left">Realm unreachable</td>
          </tr>
          <tr>
            <td align="left">500-599</td>
            <td align="left">Server error</td>
          </tr>
        </tbody>
      </table>
      <t>The Response-Code value will be one of:</t>
      <table>
        <thead>
          <tr>
            <th align="left">Code</th>
            <th align="left">Meaning</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">200</td>
            <td align="left">The target realm is available</td>
          </tr>
          <tr>
            <td align="left">300</td>
            <td align="left">Administratively prohibited, target realm status unknown</td>
          </tr>
          <tr>
            <td align="left">400</td>
            <td align="left">No proxy route to the target realm</td>
          </tr>
          <tr>
            <td align="left">401</td>
            <td align="left">No available servers for the target realm</td>
          </tr>
          <tr>
            <td align="left">402</td>
            <td align="left">The target realm is missing or invalid</td>
          </tr>
          <tr>
            <td align="left">403</td>
            <td align="left">Max-Hop-Count exceeded</td>
          </tr>
          <tr>
            <td align="left">500</td>
            <td align="left">Internal error, target realm status unknown</td>
          </tr>
          <tr>
            <td align="left">501</td>
            <td align="left">Bad Status-Realm-Request, missing or invalid Target Realm in the request message, target realm status unknown</td>
          </tr>
          <tr>
            <td align="left">502</td>
            <td align="left">Bad Status-Realm-Request, missing or invalid Max-Hop-Count, target realm status unknown</td>
          </tr>
          <tr>
            <td align="left">503</td>
            <td align="left">Invalid Contents, user credential included</td>
          </tr>
        </tbody>
      </table>
      <t>Code 200 <bcp14>MUST</bcp14> be returned when the target of the Status-Realm-Request is available.</t>
      <t>Code 300 <bcp14>SHOULD</bcp14> be returned when the RADIUS Proxy is configured not to forward a Status-Realm-Request packet to the Target Realm and the RADIUS Proxy does not have other methods to detect the status of the Target Realm.</t>
      <t>Code 400 <bcp14>MUST</bcp14> be returned when the RADIUS Proxy server does not have a route to the Target Realm.</t>
      <t>Code 401 <bcp14>SHOULD</bcp14> be returned when the RADISU Server has a direct connection to the Target Realm RADIUS Server, is configured not to forward Status-Realm-Request packets to the Target Realm RADIUS Server, and the RADIUS Server believes that the Target Realm RADIUS Server is currently unreachable.  An example of a reason to believe that the Target Realm RADIUS Server is unreachable is that the Target Realm RADIUS Server has not responded to recent valid RADIUS requests.</t>
      <t>Code 402 <bcp14>MUST</bcp14> be returned when a Status-Realm-Request specifies a realm with a valid format and the RADIUS Server knows that realm does not exist.  For example, consider a RADIUS server is configured to be authoritative for all realms ending in ".invalid" that receives a request for "example.invalid" but does not have an entry for "example.invalid."  This server <bcp14>MUST</bcp14> return code 402.</t>
      <t>Code 403 <bcp14>MUST</bcp14> be returned if the Max-Hop-Count is equal to zero (0).</t>
      <t>Code 500 <bcp14>SHOULD</bcp14> be returned if the RADIUS Server encounters an error not detailed in this document.</t>
      <t>Code 501 <bcp14>SHOULD</bcp14> be returned if the Status-Realm-Request contains a Target Realm that is invalid.  An example of an invalid Target Realm would be "<em>invalid</em>", which does not follow the rules for DNS hostnames.</t>
      <t>Code 502 <bcp14>SHOULD</bcp14> be returned when the Status-Realm-Request does not contain the Max-Hop-Count attribute.</t>
      <t>Code 503 <bcp14>MAY</bcp14> be returned when the Status-Realm-Request contains a User-Name attribute that includes a username.  If the RADIUS Server instead forwards the Status-Realm-Request to another RADIUS Server, then it <bcp14>MUST</bcp14> strip the username part of the credential from the User-Name attribute, leaving the Target Realm.</t>
      <t>Hop-Count has data type 'integer'. Valid values are 0-255. The value of this sub-attribute <bcp14>MUST</bcp14> be set to the value of the Max-Hop-Count attribute in the received Status-Realm-Request. If no Max-Hop-Count is included in the Status-Realm-Request message, this sub-attribute <bcp14>MUST</bcp14> be omitted.</t>
      <t>Responding-Server has data type 'tlv', as defined in <xref target="RFC8044"/>, Section 3.13. This sub-attribute <bcp14>MUST</bcp14> be returned in every Status-Realm-Response attribute. The value field of this sub-attribute contains a Server-Information Attribute for the responding server, as described below.</t>
    </section>
    <section anchor="server-information-attribute">
      <name>Server-Information Attribute</name>
      <t>The Server-Information attribute is used to identify a specific RADIUS Server. A RADIUS Proxy <bcp14>MAY</bcp14> append its own Server-Informatin to any RADIUS Request message it proxies, to indicate that it has processed the Request.  A RADIUS Server <bcp14>MAY</bcp14> include its own Server-Information in any RADIUS Response message that it sends, to indicate that it has processed the requyest.  A RADIUS Proxy which receives a RADIUS Response message <bcp14>SHOULD</bcp14> include its own Server-Information in any RADIUS Response message that it sends.  A RADIUS Proxy which receives a Response message containing Server-Information attributes <bcp14>SHOULD</bcp14> then append those to any Response message that it sends (i.e. after its own Server-Information).  A RADIUS Proxiy <bcp14>MUST NOT</bcp14> modify any existing Server-Information attributes in Response messages which they receive.</t>
      <t>This attribute has data type 'tlv', as defined in <xref target="RFC8044"/>, Section 3.13. The value of this attribute consists of a set of sub-attributes, all of type 'tlv'. Each sub-attribute contains an identifier for a RADIUS proxy. The Server-Identifier <bcp14>MUST</bcp14> have at least one sub-attribute and <bcp14>MAY</bcp14> have more than one sub-attribute. If multiple sub-attributes are present, a RADIUS proxy <bcp14>MUST</bcp14> match all of the sub-attributes in order to match the identifier.</t>
      <t>The following sub-attributes are defined for the Server-Information attribute.</t>
      <table>
        <thead>
          <tr>
            <th align="left">Name</th>
            <th align="left">Type</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">Server-Operator</td>
            <td align="left">1</td>
          </tr>
          <tr>
            <td align="left">Server-Identifier</td>
            <td align="left">2</td>
          </tr>
          <tr>
            <td align="left">Hop-Count</td>
            <td align="left">3</td>
          </tr>
          <tr>
            <td align="left">Time-Delta</td>
            <td align="left">4</td>
          </tr>
          <tr>
            <td align="left">Server-IP-Address</td>
            <td align="left">5</td>
          </tr>
          <tr>
            <td align="left">Server-IPv6-Address</td>
            <td align="left">6</td>
          </tr>
        </tbody>
      </table>
      <t>The Server-Information attribute may include any of Server-Operator, Hop-Count, and Time-Delta.  The Server-Information attribute may also include any one of Server-Identifier OR Server-IP-Address OR Server-IPv6-Address.  The attribute <bcp14>SHOULD NOT</bcp14> include more than one of Server-Identifier, Server-IP-Address, and Server-IPv6-Address.</t>
      <t>The Server-Operator has data type 'string'. It is the analogue of the Operator-Name, as defined in <xref target="RFC5580"/>.</t>
      <t>The Server-Identifier in an analogue of the NAS-Identifier defined in <xref target="RFC2865"/>. It indicates the name of this particular proxy server. This field is used to identify which server processed the Request, among those operated by the organization indicated in the Server-Operator sub-attribute.</t>
      <t>The Time-Delta attribute has data type 'integer'. It represents the number of milliseconds the request took to return through this proxy server. For the target server, this value <bcp14>SHOULD</bcp14> be 0.</t>
      <t>The Server-IP-Address has data type 'ipv4addr' and represents the IPv4 address of this particular proxy server.  Similarly, the Server-IPv6-Address has data type 'ipv6addr' and represents the IPv6 address of this particular proxy server. Given the prevalance of network translation, it will be common for a server to be unaware of its commonly used address; therefore, a RADIUS Server <bcp14>SHOULD</bcp14> allow its administrator to configure the values used for these attributes.</t>
      <section anchor="status-realm-responding-server">
        <name>Status-Realm Responding-Server</name>
        <t>This attribute is also included as the sub-attribute Responding-Server within the Status-Realm-Response-Code attribute, defined above, to indicate which RADIUS Server has sent the Status-Realm-Response message. Thus, a Status-Realm response may contain many Server-Information attributes, as well as a Status-Realm-Response-Code attribute with the Responding-Server sub-attribute, which has the same structure.</t>
        <t>If a Status-Realm request targeting "target-realm" is routed over proxy servers P1 and P2 before reaching the "target-realm" home server, then the response message will contain these attributes:</t>
        <ul spacing="normal">
          <li>
            <t>Server-Information:
            </t>
            <ul spacing="normal">
              <li>
                <t>Server-Operator: P1</t>
              </li>
              <li>
                <t>Server-Identifier: P1</t>
              </li>
              <li>
                <t>Hop-Count: 32</t>
              </li>
              <li>
                <t>Time-Delta: 90</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Server-Information:
            </t>
            <ul spacing="normal">
              <li>
                <t>Server-Operator: P2</t>
              </li>
              <li>
                <t>Server-Identifier: P2-Alpha</t>
              </li>
              <li>
                <t>Hop-Count: 31</t>
              </li>
              <li>
                <t>Time-Delta: 60</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Status-Realm-Response-Code:
            </t>
            <ul spacing="normal">
              <li>
                <t>Response-Code: 200 (Available)</t>
              </li>
              <li>
                <t>Hop-Count: 30</t>
              </li>
              <li>
                <t>Responding-Server:
                </t>
                <ul spacing="normal">
                  <li>
                    <t>Server-Operator: target-realm</t>
                  </li>
                  <li>
                    <t>Server-Identifier: radius1.target-realm</t>
                  </li>
                  <li>
                    <t>Hop-Count: 30</t>
                  </li>
                  <li>
                    <t>Time-Delta: 0</t>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="status-realm-implementation-requirements">
      <name>Status-Realm Implementation Requirements</name>
      <t>This section describes implementation details and requirements for RADIUS Clients and Servers that support Status-Realm.</t>
      <section anchor="radius-client-requirements">
        <name>RADIUS Client Requirements</name>
        <t>When Status-Realm-Request packets are sent from a RADIUS Client, they <bcp14>MUST NOT</bcp14> be retransmitted. Instead, the Identifier field <bcp14>MUST</bcp14> be changed every time a packet is transmitted. The old packet should be discarded, and a new Status-Realm-Request packet should be generated and sent, with new Identifier and Authenticator fields.</t>
        <t>RADIUS Clients <bcp14>MUST</bcp14> include the Message-Authenticator attribute in all Status-Realm-Request packets. Failure to do so would mean that the packets could be trivially spoofed, leading to potential denial-of-service (DoS) attacks.</t>
        <t>The RADIUS Client <bcp14>MUST</bcp14> include a User-Name attribute in the request. The User-Name attribute <bcp14>MUST</bcp14> be formatted as a Network Access Identifier (NAI), as described in RFC 7542. The NAI <bcp14>SHOULD</bcp14> follow the second alternative form, '"@" utf8-realm'. The "utf8-realm" portion of the NAI is the target realm for the Status-Realm request, and <bcp14>MUST</bcp14> follow the rules for NAI realms set out in section 2.</t>
        <t>RADIUS Clients that support Status-Realm-Requests <bcp14>SHOULD</bcp14> allow a user or administrator to set or configure the Count value of the Max-Hop-Count Attribute described above. If a different value is not indicated, the RADIUS Client <bcp14>SHOULD</bcp14> include a Max-Hop-Count attribute with a Count value of 32 in the Status-Realm-Request packet to prevent the possibility that Status-Realm-Requests will loop indefinitely.</t>
        <t>The RADIUS Client <bcp14>MAY</bcp14> increment packet counters as a result of sending a Status-Realm-Resquest or receiving a Status-Realm-Response. The RADIUS Client <bcp14>MUST NOT</bcp14> perform any other action that is normally performed when it receives a Response packet, such as permitting a user to have login access to a port.</t>
        <t>RADIUS Clients <bcp14>MAY</bcp14> send Status-Realm-Request packets to the RADIUS destination ports from the same source port(s) used to send other Request packets. RADIUS Clients <bcp14>MAY</bcp14> choose to send Status-Realm-Request packets from a unique source port that is not used to send other Request packets.</t>
        <t>In the case where a RADIUS Client sends a Status-Realm-Request packets from a source port also used to send other Request packets, the Identifier field <bcp14>MUST</bcp14> be unique across all outstanding Request packets for that source port, independent of the value of the RADIUS Code field for those outstanding requests. Once the RADIUS Client has either received a corresponding Status-Realm-Response packet or determined that the Status-Realm-Request has timed out, it may reuse the Identifier in another Request packet.</t>
        <t>The RADIUS Client <bcp14>MUST</bcp14> validate the Response Authenticator in the Status-Realm-Response. If the Response Authenticator is not valid, the packet <bcp14>MUST</bcp14> be silently discarded. If the Response Authenticator is valid, then the packet <bcp14>MUST</bcp14> be deemed to be a valid response.</t>
      </section>
      <section anchor="server-requirements">
        <name>Server Requirements</name>
        <t>Servers <bcp14>SHOULD</bcp14> permit administrators to globally enable or disable the acceptance of Status-Realm-Request packets. The default <bcp14>SHOULD</bcp14> be that acceptance is enabled. Servers <bcp14>SHOULD</bcp14> also permit administrators to enable or disable acceptance of Status-Realm-Request packets on a per-RADIUS Client basis. The default <bcp14>SHOULD</bcp14> be that acceptance is enabled.</t>
        <t>If a server does not support Status-Realm, or if it is configured not to respond to Status-Realm-Requests, then it <bcp14>MUST</bcp14> silently discard any Status-Realm-Requests messages that it receives. If a server receives a Status-Realm-Request packet from a RADIUS Client from which it is configured not to accept Status-Realm-Requests, then it <bcp14>MUST</bcp14> silently discard the message.</t>
        <t>If a server supports Status-Realm, is configured to respond to Status-Realm-Requets, and receives a Status-Realm-Request packet from a permitted RADIUS Client, it <bcp14>MUST</bcp14> first validate the Message-Authenticator attribute as defined in <xref target="RFC3579"/>, Section 3.2. Packets failing this validation <bcp14>MUST</bcp14> be silently discarded.</t>
        <t>If the Status-Realm-Request passes Message-Authenticator validation, then the server should check if the Target Realm matches a local realm served by this Server. If it does match, the server should send a Status-Realm-Response packet indicating that status of the Target Realm, reachable or unreachable (Status-Server-Response-Code = 0 or 2).</t>
        <t>If the Target Realm does not match a local realm, then the server should determine whether it is configured to proxy packets towards the Target Realm. If so, the server should implement the Proxy Server Requirements, below. Servers <bcp14>SHOULD</bcp14> ignore the value of the "user" portion of the User-Name attribute, if any.</t>
        <t>Servers <bcp14>SHOULD NOT</bcp14> discard Status-Realm packets merely because they have recently sent the RADIUS Client a response packet. The query may have originated from an administrator who does not have access to the response packet stream or one who is interested in obtaining additional information about the server.</t>
        <t>The server <bcp14>MAY</bcp14> decide to send an error response to a Status-Realm-Request packet based on local-site policy. For example, a server that is running but is unable to perform its normal duties <bcp14>SHOULD</bcp14> send a Status-Realm-Response packet indicating an internal error (Status-Server-Response-Code = 500). This situation can happen, for example, when a server requires access to a database for normal operation, but the connection to that database is down. Or, it may happen when the accepted load on the server is lower than the current load.</t>
        <t>The server <bcp14>MAY</bcp14> increment packet counters or create log entries as a result of receiving a Status-Realm-Request packet or sending a Status-Realm-Response packet. The server <bcp14>SHOULD NOT</bcp14> perform any other action that is normally performed when it receives a Request packet, other than sending a Response packet.</t>
        <t>If the Status-Realm-Request packet includes a Max-Hop-Count attribute, that attribute (with its current value) <bcp14>MUST</bcp14> be returned in any corresponding Status-Realm-Response packet.</t>
        <t>Note that <xref target="RFC2865"/>, Section 3, defines a number of RADIUS Codes, but does not make statements about which Codes are valid for port 1812. In contrast, <xref target="RFC2866"/>, Section 3, specifies that only RADIUS Accounting packets are to be sent to port 1813. This specification is compatible with the standards-track specification <xref target="RFC2865"/>, as it defines a new Message Type Code for packets to port 1812. This specification is not compatible with the informational document <xref target="RFC2866"/>, as it adds a new Code (Status-Realm-Request) that is valid for port 1813.</t>
      </section>
      <section anchor="proxy-server-requirements">
        <name>Proxy Server Requirements</name>
        <t>Many RADIUS servers act as RADIUS proxies, forwarding requests to other RADIUS servers. Such servers <bcp14>SHOULD</bcp14> proxy Status-Realm-Request packets to enable RADIUS Clients to determine the status of Authentication Realms that are not directly connected to the RADIUS Client.</t>
        <t>RADIUS proxies that support Status-Realm-Requests <bcp14>MUST</bcp14> support the Max-Hop-Count attribute defined above. Before forwarding a Status-Realm-Request packet, a proxy <bcp14>MUST</bcp14> check the Max-Hop-Count Attribute. If the Max-Hop-Count attribute is present and the Count is zero (0), the proxy <bcp14>MUST</bcp14> send a Status-Realm-Response indicating that the hop count has been exceeded (Status-Server-Response-Code = 403), and <bcp14>MUST NOT</bcp14> forward the packet. If the Max-Hop-Count attribute is present, and the Count value is not zero, the proxy <bcp14>MUST</bcp14> decrement the Max-Hop-Count value before forwarding the packet.</t>
        <t>The RADIUS proxy <bcp14>MUST</bcp14> check the "realm" portion of the User-Name attribute in the Status-Realm-Request to determine the Target Realm for the request. If the target realm is missing or malformed, the RADIUS proxy <bcp14>MUST</bcp14> send a Status-Realm-Response indicating an invalid realm (Status-Server-Response-Code = 402). If the realm is properly formed, the Status-Realm-Request packet should be proxied toward the Target Realm, using the same next-hop RADIUS server that the proxy server would use for other request packets received on the same port.</t>
        <t>In some cases, a RADIUS proxy may not have an available next-hop RADIUS server for the Target Realm. In that case, the RADIUS proxy server <bcp14>MUST</bcp14> send a Status-Realm-Response packet indicating that there is no proxy route to the Target Realm (Status-Server-Response-Code = 400).</t>
        <t>In cases where a RADIUS proxy is configured to have a direct connection to the RADIUS server(s) of the Target Realm, but is configured not to forward Status-Realm-Request packets to the target server(s), the proxy <bcp14>MAY</bcp14> use other methods to determine the status of the Target Realm (such as Status-Server packets or recent Access-Request state information), and send a Status-Realm-Response indicating the determined state of the Target Realm (Status-Server-Response-Code = 200 or 401). If the proxy is configured not to forward Status-Realm-Request packet to the Target Realm and does not have other methods to detect the status of the Target Realm, it <bcp14>SHOULD</bcp14> return a Status-Realm-Response packet indicating that the request is administratively prohibited (Status-Server-Response-Code = 300).</t>
        <t>If the Status-Realm-Request packet includes a Max-Hop-Count attribute, that attribute (with its current value) <bcp14>MUST</bcp14> be returned in any corresponding Status-Realm-Response packet.</t>
      </section>
    </section>
    <section anchor="status-realm-implementation-status">
      <name>Status-Realm Implementation Status</name>
      <t>There is an initial implementation of Status-Realm available here:</t>
      <t>https://github.com/alandekok/freeradius-server/tree/Status-Realm</t>
      <section anchor="status-realm-message-exchange-examples">
        <name>Status-Realm Message Exchange Examples</name>
        <t>Message exchange examples are TBD.</t>
      </section>
    </section>
    <section anchor="proxy-loop-detection-implementation-requirements">
      <name>Proxy Loop Detection Implementation Requirements</name>
      <t>This section describes implementation details and requirements for RADIUS Clients, Servers and Proxies that support Proxy Loop Detection.</t>
      <section anchor="server-requirements-1">
        <name>Server Requirements</name>
        <t>A RADIUS Server that implements Proxy Loop Prevention add its own Server-Information Attribute to any RADIUS message that it generates, including RADIUS Response messages. It <bcp14>MUST</bcp14> also copy all Server-Information atributes from a received RADIUS Request into any RADIUS Response that it generates in reply to that Request.</t>
      </section>
      <section anchor="proxy-requirements">
        <name>Proxy Requirements</name>
        <t>A RADIUS Proxy that implements the Loop Prevention mechanism defined in this document <bcp14>MUST</bcp14> be configured with information to populate a Server-Information attribute, and matching criteria to determine if a Server-Information attribute in an incoming request indicates the existence of a Proxy Loop.</t>
        <t>Before forwarding a RADIUS Request towards the Target Realm, a RADIUS Proxy that implements Proxy Loop Prevention <bcp14>MUST</bcp14> examine each of the Server-Information attributes included in the Request message to determine whether the message is caught in a Proxy Loop. If so, the Proxy should discard the message. If a Proxy Loop is not detected, the RADIUS Proxy <bcp14>MUST</bcp14> add its own Server-Information attribute to any RADIUS Request that they forward toward the Target Realm.</t>
      </section>
    </section>
    <section anchor="proxy-loop-detection-implementation-status">
      <name>Proxy Loop Detection Implementation Status</name>
      <t>The Proxy Loop Detection mechanism is similar to RADIUS Vendor-Specific attribute used today to detect RADIUS Proxy Loops. Unlike the Vendor-Specific attributes in use today, this mechanism includes server information within a single, globally-defrined attribute, rather than requiring that a unique vendor identifiers be allocated for each RADIUS Server operator.</t>
      <section anchor="loop-detection-message-exchange-examples">
        <name>Loop Detection Message Exchange Examples</name>
        <t>Message exchange examples are TBD.</t>
      </section>
    </section>
    <section anchor="management-information-base-mib-considerations">
      <name>Management Information Base (MIB) Considerations</name>
      <t>Status-Realm-Request packets are sent to the defined RADIUS ports, so they can affect the <xref target="RFC4669"/> and [RFC4671] RADIUS server MIB modules. <xref target="RFC4669"/> defines a counter named radiusAuthServTotalUnknownTypes that counts the number of RADIUS packets of unknown type that were received. [RFC4671] defines a similar counter named radiusAccServTotalUnknownTypes. Implementations not supporting Status-Realm-Requests or implementations that are configured not to respond to Status-Realm-Request packets <bcp14>MUST</bcp14> use these counters to track received Status-Realm packets.</t>
      <t>If, however, Status-Realm-Requests are supported and the server is configured to respond as described above, then the counters defined in <xref target="RFC4669"/> and [RFC4671] <bcp14>MUST NOT</bcp14> be used to track Status-Realm-Request or Status-Realm-Response packets. That is, when a server fully implements Status-Realm, the counters defined in <xref target="RFC4669"/> and [RFC4671] <bcp14>MUST</bcp14> be unaffected by the transmission or reception of packets relating to Status-Realm-Requests.</t>
      <t>If a server supports Status-Realm-Request and the <xref target="RFC4669"/> or [RFC4671] MIB modules, then it <bcp14>SHOULD</bcp14> also support vendor-specific MIB extensions dedicated solely to tracking Status-Realm-Request and Status-Realm-Response packets. Any definition of the server MIB modules for Status-Realm-Requests is outside of the scope of this document.</t>
    </section>
    <section anchor="interaction-with-radius-client-mib-modules">
      <name>Interaction with RADIUS Client MIB Modules</name>
      <t>RADIUS Clients implementing Status-Realm-Request <bcp14>MUST NOT</bcp14> increment <xref target="RFC4668"/> or <xref target="RFC4670"/> counters upon reception of Status-Realm-Response packets. That is, when a RADIUS Client fully implements Status-Realm-Request, the counters defined in <xref target="RFC4668"/> and <xref target="RFC4670"/> <bcp14>MUST</bcp14> be unaffected by the transmission or reception of packets relating to Status-Realm.</t>
      <t>If an implementation supports Status-Realm-Request and the <xref target="RFC4668"/> or <xref target="RFC4670"/> MIB modules, then it <bcp14>SHOULD</bcp14> also support vendor-specific MIB extensions dedicated solely to tracking Status-Realm requests and responses. Any definition of the RADIUS Client MIB modules for Status-Realm-Requests is outside of the scope of this document.</t>
    </section>
    <section anchor="status-realm-attributes">
      <name>Status-Realm Attributes</name>
      <t>The following table provides a guide to which attributes may be found in Status-Realm-Request and Status-Realm-Response packets, and in what quantity. Attributes other than the ones listed below <bcp14>SHOULD NOT</bcp14> be found in a Status-Realm-Request packet.</t>
      <artwork><![CDATA[
   Status-      Status-
   Realm-       Realm-
   Request      Response

   1            1              1      User-Name
   0            0              2      User-Password
   0            0              3      CHAP-Password
   0-1          0              4      NAS-IP-Address (Note 1)
   0            0+            18      Reply-Message
   0+           0+            26      Vendor-Specific
   0-1          0             32      NAS-Identifier (Note 1)
   0            0             79      EAP-Message
   1            0-1           80      Message-Authenticator
   0-1          0             95      NAS-IPv6-Address (Note 1)
   0            1             (TBD)   Status-Realm-Response-Code
   1            0             (TBD)   Max-Hop-Count
   0+           0+            (TBD)   Server-Information
   0            0             103-121 Digest-*
]]></artwork>
      <t>Note 1: Status-Realm-Request packet <bcp14>SHOULD</bcp14> contain one of (NAS-IP-Address or NAS-IPv6-Address), or NAS-Identifier, or both NAS-Identifier and one of (NAS-IP-Address or NAS-IPv6-Address).</t>
      <t>The following table defines the meaning of the table entries included above:</t>
      <artwork><![CDATA[
   0     This attribute MUST NOT be present in packet.
   0+    Zero or more instances of this attribute MAY be present in
         the packet.
   0-1   Zero or one instance of this attribute MAY be present in
         the packet.
   1     Exactly one instance of this attribute MUST be present in
         the packet.
]]></artwork>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document defines the Status-Realm-Request (TBD) and the Status-Realm-Response (TBD) RADIUS Packet Type Codes, both of which should be assigned by IANA from the Unassigned block of RADIUS Packet Type Codes.</t>
      <t>This document defines three new RADIUS attributes, Max-Hop-Count (TBD) and Status-Realm-Response-Code (TBD) and Server-Identifier (TBD), which should be assigned by IANA from an Unassigned block of RADIUS Attribute Types, such as the Unassigned block for Extended-Attribute-1.</t>
      <t>This document also defines two new Protocol Registries that need to be created: "Values for RADIUS Attribute (TBD), Status-Realm-Response-Code" and "Valies for RADIUS Attribute (TBD), Server-Identifier". Initial values for these registries are defined above.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Status-Realm-Request packets are similar to Access-Request packets, and are therefore subject to the same security considerations as described in <xref target="RFC2865"/>, Section 8. Status-Realm packets also use the Message-Authenticator attribute, and are therefore subject to the same security considerations as <xref target="RFC3579"/>, Section 4.</t>
      <t>We reiterate that all Status-Realm-Request packets <bcp14>MUST</bcp14> contain a Message-Authenticator. Servers not checking the Message-Authenticator attribute could respond to Status-Realm packets from an attacker, potentially enabling a reflected DoS attack onto a real RADIUS Client.</t>
      <t>Where this document differs from <xref target="RFC2865"/> is that it defines a new request/response method in RADIUS: the Status-Realm-Request and Status-Realm-Response. The Status-Realm-Request is similar to the previously described and widely implemented Status-Server message <xref target="RFC5997"/>, and no additional security considerations are known to relate to the implementation or use of Status-Server. This option differs from Status-Server because it is forwarded through proxies, so it can be sent to a RADIUS Server that does not have a direct connection to the Status-Realm RADIUS Client. However, Access-Request packets are also forwarded, and there should be no additional attacks other than those incurred by forwarding Status-Realm-Request packets.</t>
      <t>Attacks on cryptographic hashes are well known <xref target="RFC4270"/> and getting better with time. RADIUS uses the MD5 hash <xref target="RFC1321"/> for packet authentication and attribute obfuscation. There are ongoing efforts in the IETF to analyze and address these issues for the RADIUS protocol.</t>
      <t>The Server-Information Attribute section describes a pair of sub-attributes to represent the IPv4 and IPv6 addresses of a particular RADIUS server. Vendors and operators should be aware that including this sub-attribute has the potential to divulge information about private networks, if the RADIUS server is accessible from outside the private network. In the case where a RADIUS server lies behind a network translation and the operator desires to include the server-IP-Address or Server-IPv6-Address sub-attribute, the operator <bcp14>SHOULD</bcp14> configure the RADIUS Server to use the publicly routed IP address of the translation as the value of the sub-attribute.</t>
      <t>Security Considerations for Loop Prevention are TBD.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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="RFC2865">
          <front>
            <title>Remote Authentication Dial In User Service (RADIUS)</title>
            <author fullname="C. Rigney" initials="C." surname="Rigney"/>
            <author fullname="S. Willens" initials="S." surname="Willens"/>
            <author fullname="A. Rubens" initials="A." surname="Rubens"/>
            <author fullname="W. Simpson" initials="W." surname="Simpson"/>
            <date month="June" year="2000"/>
            <abstract>
              <t>This document describes a protocol for carrying authentication, authorization, and configuration information between a Network Access Server which desires to authenticate its links and a shared Authentication Server. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2865"/>
          <seriesInfo name="DOI" value="10.17487/RFC2865"/>
        </reference>
        <reference anchor="RFC8044">
          <front>
            <title>Data Types in RADIUS</title>
            <author fullname="A. DeKok" initials="A." surname="DeKok"/>
            <date month="January" year="2017"/>
            <abstract>
              <t>RADIUS specifications have used data types for two decades without defining them as managed entities. During this time, RADIUS implementations have named the data types and have used them in attribute definitions. This document updates the specifications to better follow established practice. We do this by naming the data types defined in RFC 6158, which have been used since at least the publication of RFC 2865. We provide an IANA registry for the data types and update the "RADIUS Attribute Types" registry to include a Data Type field for each attribute. Finally, we recommend that authors of RADIUS specifications use these types in preference to existing practice. This document updates RFCs 2865, 3162, 4072, 6158, 6572, and 7268.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8044"/>
          <seriesInfo name="DOI" value="10.17487/RFC8044"/>
        </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="RFC1321">
          <front>
            <title>The MD5 Message-Digest Algorithm</title>
            <author fullname="R. Rivest" initials="R." surname="Rivest"/>
            <date month="April" year="1992"/>
            <abstract>
              <t>This document describes the MD5 message-digest algorithm. The algorithm takes as input a message of arbitrary length and produces as output a 128-bit "fingerprint" or "message digest" of the input. This memo provides information for the Internet community. It does not specify an Internet standard.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="1321"/>
          <seriesInfo name="DOI" value="10.17487/RFC1321"/>
        </reference>
        <reference anchor="RFC2866">
          <front>
            <title>RADIUS Accounting</title>
            <author fullname="C. Rigney" initials="C." surname="Rigney"/>
            <date month="June" year="2000"/>
            <abstract>
              <t>This document describes a protocol for carrying accounting information between a Network Access Server and a shared Accounting Server. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2866"/>
          <seriesInfo name="DOI" value="10.17487/RFC2866"/>
        </reference>
        <reference anchor="RFC2869">
          <front>
            <title>RADIUS Extensions</title>
            <author fullname="C. Rigney" initials="C." surname="Rigney"/>
            <author fullname="W. Willats" initials="W." surname="Willats"/>
            <author fullname="P. Calhoun" initials="P." surname="Calhoun"/>
            <date month="June" year="2000"/>
            <abstract>
              <t>This document describes additional attributes for carrying authentication, authorization and accounting information between a Network Access Server (NAS) and a shared Accounting Server using the Remote Authentication Dial In User Service (RADIUS) protocol described in RFC 2865 and RFC 2866. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2869"/>
          <seriesInfo name="DOI" value="10.17487/RFC2869"/>
        </reference>
        <reference anchor="RFC3579">
          <front>
            <title>RADIUS (Remote Authentication Dial In User Service) Support For Extensible Authentication Protocol (EAP)</title>
            <author fullname="B. Aboba" initials="B." surname="Aboba"/>
            <author fullname="P. Calhoun" initials="P." surname="Calhoun"/>
            <date month="September" year="2003"/>
            <abstract>
              <t>This document defines Remote Authentication Dial In User Service (RADIUS) support for the Extensible Authentication Protocol (EAP), an authentication framework which supports multiple authentication mechanisms. In the proposed scheme, the Network Access Server (NAS) forwards EAP packets to and from the RADIUS server, encapsulated within EAP-Message attributes. This has the advantage of allowing the NAS to support any EAP authentication method, without the need for method- specific code, which resides on the RADIUS server. While EAP was originally developed for use with PPP, it is now also in use with IEEE 802. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3579"/>
          <seriesInfo name="DOI" value="10.17487/RFC3579"/>
        </reference>
        <reference anchor="RFC4270">
          <front>
            <title>Attacks on Cryptographic Hashes in Internet Protocols</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="B. Schneier" initials="B." surname="Schneier"/>
            <date month="November" year="2005"/>
            <abstract>
              <t>Recent announcements of better-than-expected collision attacks in popular hash algorithms have caused some people to question whether common Internet protocols need to be changed, and if so, how. This document summarizes the use of hashes in many protocols, discusses how the collision attacks affect and do not affect the protocols, shows how to thwart known attacks on digital certificates, and discusses future directions for protocol designers. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4270"/>
          <seriesInfo name="DOI" value="10.17487/RFC4270"/>
        </reference>
        <reference anchor="RFC4668">
          <front>
            <title>RADIUS Authentication Client MIB for IPv6</title>
            <author fullname="D. Nelson" initials="D." surname="Nelson"/>
            <date month="August" year="2006"/>
            <abstract>
              <t>This memo defines a set of extensions that instrument RADIUS authentication client functions. These extensions represent a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. Using these extensions, IP-based management stations can manage RADIUS authentication clients.</t>
              <t>This memo obsoletes RFC 2618 by deprecating the MIB table containing IPv4-only address formats and defining a new table to add support for version-neutral IP address formats. The remaining MIB objects from RFC 2618 are carried forward into this document. The memo also adds UNITS and REFERENCE clauses to selected objects. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4668"/>
          <seriesInfo name="DOI" value="10.17487/RFC4668"/>
        </reference>
        <reference anchor="RFC4669">
          <front>
            <title>RADIUS Authentication Server MIB for IPv6</title>
            <author fullname="D. Nelson" initials="D." surname="Nelson"/>
            <date month="August" year="2006"/>
            <abstract>
              <t>This memo defines a set of extensions that instrument RADIUS authentication server functions. These extensions represent a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. Using these extensions, IP-based management stations can manage RADIUS authentication servers.</t>
              <t>This memo obsoletes RFC 2619 by deprecating the MIB table containing IPv4-only address formats and defining a new table to add support for version-neutral IP address formats. The remaining MIB objects from RFC 2619 are carried forward into this document. This memo also adds UNITS and REFERENCE clauses to selected objects. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4669"/>
          <seriesInfo name="DOI" value="10.17487/RFC4669"/>
        </reference>
        <reference anchor="RFC4670">
          <front>
            <title>RADIUS Accounting Client MIB for IPv6</title>
            <author fullname="D. Nelson" initials="D." surname="Nelson"/>
            <date month="August" year="2006"/>
            <abstract>
              <t>This memo defines a set of extensions that instrument RADIUS accounting client functions. These extensions represent a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. Using these extensions, IP-based management stations can manage RADIUS accounting clients.</t>
              <t>This memo obsoletes RFC 2620 by deprecating the MIB table containing IPv4-only address formats and defining a new table to add support for version-neutral IP address formats. The remaining MIB objects from RFC 2620 are carried forward into this document. This memo also adds UNITS and REFERENCE clauses to selected objects. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4670"/>
          <seriesInfo name="DOI" value="10.17487/RFC4670"/>
        </reference>
        <reference anchor="RFC3671">
          <front>
            <title>Collective Attributes in the Lightweight Directory Access Protocol (LDAP)</title>
            <author fullname="K. Zeilenga" initials="K." surname="Zeilenga"/>
            <date month="December" year="2003"/>
            <abstract>
              <t>X.500 collective attributes allow common characteristics to be shared between collections of entries. This document summarizes the X.500 information model for collective attributes and describes use of collective attributes in LDAP (Lightweight Directory Access Protocol). This document provides schema definitions for collective attributes for use in LDAP.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3671"/>
          <seriesInfo name="DOI" value="10.17487/RFC3671"/>
        </reference>
        <reference anchor="RFC5580">
          <front>
            <title>Carrying Location Objects in RADIUS and Diameter</title>
            <author fullname="H. Tschofenig" initials="H." role="editor" surname="Tschofenig"/>
            <author fullname="F. Adrangi" initials="F." surname="Adrangi"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="A. Lior" initials="A." surname="Lior"/>
            <author fullname="B. Aboba" initials="B." surname="Aboba"/>
            <date month="August" year="2009"/>
            <abstract>
              <t>This document describes procedures for conveying access-network ownership and location information based on civic and geospatial location formats in Remote Authentication Dial-In User Service (RADIUS) and Diameter.</t>
              <t>The distribution of location information is a privacy-sensitive task. Dealing with mechanisms to preserve the user's privacy is important and is addressed in this document. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5580"/>
          <seriesInfo name="DOI" value="10.17487/RFC5580"/>
        </reference>
        <reference anchor="RFC5997">
          <front>
            <title>Use of Status-Server Packets in the Remote Authentication Dial In User Service (RADIUS) Protocol</title>
            <author fullname="A. DeKok" initials="A." surname="DeKok"/>
            <date month="August" year="2010"/>
            <abstract>
              <t>This document describes a deployed extension to the Remote Authentication Dial In User Service (RADIUS) protocol, enabling clients to query the status of a RADIUS server. This extension utilizes the Status-Server (12) Code, which was reserved for experimental use in RFC 2865. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5997"/>
          <seriesInfo name="DOI" value="10.17487/RFC5997"/>
        </reference>
        <reference anchor="RFC7991">
          <front>
            <title>The "xml2rfc" Version 3 Vocabulary</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="December" year="2016"/>
            <abstract>
              <t>This document defines the "xml2rfc" version 3 vocabulary: an XML-based language used for writing RFCs and Internet-Drafts. It is heavily derived from the version 2 vocabulary that is also under discussion. This document obsoletes the v2 grammar described in RFC 7749.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7991"/>
          <seriesInfo name="DOI" value="10.17487/RFC7991"/>
        </reference>
      </references>
    </references>
    <?line 524?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Some of the sections in this document were adapted from the description of the Status-Server RADIUS Packet Type Code in <xref target="RFC5997"/>.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+V9a5PbSHLgd/4KmPth1Lsk1eyXpD6vPS215Gnf6GG1Zm2f
Y8IBkiCJbRDgosDu4T7ut9xvuV92+aonCiA1O96ICysmprtJoCorKyvfmTUe
jwdN3hTZdTK8b9Jmp8afs7TYJGm5SL6vqm3yqc4es7LJqzJZVnXSrLPkc7ap
miy5zdNifFcmP6isTu6z+jGfZ8mzzze3dz/cnwwH6WwGr8K4/EkSH/42a7I5
jj4czNMmW1X1/jpRzWIwWFTzMt0AYIs6XTbjPGuW4zpdZD81Y8VD1TjU+HQ6
ULvZJlcKRmn2W3jj7u2Xd0nyqyQtVAUA5OUi22bwv7IZjpJhtsibqgbg8Y+7
m9fwAxY2vPv85d1wUO42s6y+HiwAmOvBvCpVVqqduk6aepcNYDnngxTmhVGH
g6eqfljV1W5rF/n2377A8wCIGg4esj08sbgeJOPkrmyyusya8S0uZgAY3cHw
SdLzepLwYob46ybNC/iV1/8t4mJS1Sv8Jq3na/hm3TRbdf38OT6IH+WP2UQ/
9hw/eD6rqyeVPechnuOrq7xZ72bw8iZLF5v0Iauf9+MaXyoAMapxZ9QvT3i8
SV4dGObA15N1symGg0G6a9ZVjeiDaZNkuSsKJoj3ab2CTWiSN/BRVtK3sMy0
zP+YIildJ5/SvCwypYAs57s6b/b0TMZY3Mjr327lqbGSpybzakNPbtdVCRP9
Zpo8e/FyenJxejl+cXF10QblpkhLoOH/WT1EoLgrH17X+WKVJR+yBolFuWCk
8OpkkT1UD9/m5cOMHgTcRZf7kNxWZZkVxf5nLPbhuIW+vHxx8urs5fjy1dWL
NhD/XKl18l31VGRNE4HhXbbIaqCMRXJfFTv8zFvr7+Htb5f6mbHSz7TguLhI
np2evLicniZXV1fJq8vTwaCs6g1M80gH5vO7N2fT6Sv968urS/n15enFxfVg
kJfL4PHp+dnUPn5lf9WDnF++0L9enL041b9eXb20v5oHrswD51cv9LiXly/1
p5evXr2QX1+8egUPDAbj8ThJZ6qp03kzGHxZ5yoB3rbbADtKFpma1/ksUwmc
Aj76SVO5XPYGTgHy3zlhup/pJtu6aqp5VeAYaVFUT8k2reHdfJuWjUryMkmT
za5o8vEaeK8wHXjpp32yTIEE5/jifJ3NHwgEPpVJtYTXagZH3kl9qOjcjpIV
0FnymKt8lhdAZTCfrGWbNmv4JW1gIBmhzv6wA0aSPOUFgAv8I0nndQVUTGtv
QzYimbHJm3wFNIQce8uSyX+4AKGiJoz0Tb5YFNlg8Ctkv3W12JGg6d4COMq/
7C78h5Doj6P/vhsCx/EprRd5uTJ7E+J/mZeAfeCQSZk96bc/pfMHYPFfQAYm
byrYJDhKY0+JgP8zxM++vL49aX+ptii95dtgUtQM7MywwGWFu4NQyvw3TQNU
sWviE/PYYwTMTP8+/Wn8XbWFD3elAxRQR1aP71D7yJc50IsABGSJC8hhHzOk
hQ9Vk2r6zBJQHhLUHlQyfP/D/RdUVfBn8uEj/f757b/8cPf57S3+fv/dzfff
m18G8sT9dx9/+P7W/mbffPPx/fu3H275Zfg08T4aDN/f/PuQN3f48dOXu48f
br4fIqU2PgbrDGlzliFRZTXsPXL/VA30eVrgO6/ffPq//2d6kfzpT38nnPsv
f5E/Xk5fXMAfT0C2PFtVFnv5E3ZkP0i32yyt6YwARc7Tbd7AtsGzKlHr6qlM
1lmdATn9+j8QMz9eJ38/m2+nF/8gH+CCvQ81zrwPCWftT1ovMxIjH0WmMdj0
Pg8w7cN78+/e3xrvzod//48FEGsynr78x38YEPV8yepNXlZFtdoTyVgShv3Y
KNqhnYJ9aNagZa7W1a7x93CSwGt5zecgJ4FML+XlvNgt4EVEMGn9qAfnCljj
fE9bNQcdE9WIwUBOixzFAWhEif9RkssBy2v4YwNaSLrKmPHJg/qz7Kf5Oi1B
CQo5kn4A9WGloYOZ5nPUaWSeEf6NJw8QYD9DYOXo8kHENce4T+ryns+Ria+j
vMfFAPMEHwXCg3IULvtwwQoByJFZb4HyUUIEADiY4HH6MYE/towI/PPNOkX1
eJWNLKp+D8ZWgCkG8Ui8qDYcLcTIgAYzdyWIrXLOmFEwaZHB8CQygbRUtWye
kOo2IKDhGxJK+WZbCFv0pQ/JVTv0myKHh1yU8yeE8CSYn4cGpANTjW+0Inqp
szlAlzkPeYtWZsssHExbLhz8SQ8cOAsoqSEoDEIApOoGIFBMnHNYhkqLcyCJ
8pDg7BMg7kU32cHhRsZRgyoA/KL0v2ATDTkHP8MYQ5veqN4wF0mH/RYGBpvF
MhQaDJWm8QewKqyMtZqSnhO3PQ5/e9EW+601R7ZBPvI3weclipheCgYy6DN2
G0ilstvjnDql2qcOids7d8H+6XNnzkQc9E26h/ngVzggNdFOCZIyghzclgg9
wMcd1IB7JoxdVEryRuCvuLPKbr8A6Jp8jL85AAMagEtGC3jZqlHdy+P5QfDh
ALTARTLb9y9SWDhoSGDCg3KoV4fE6H7Eq4nLIXc34QigbgpKRz5fi7pvHl6A
ZjaH9Uzaw+NQhrgBhQ2o2QC+Q7pDQ+TDJDVUzmCFkuMT6sku76AP+hmEaNW0
pFKWwevzAXUOnrd4j+1NkjvRiM2c+PC8qplKF45azMzISgAGxky/SWYp2ioO
QD5jJrKp6nyVl0Qs+EStpd2dKJmIUrDEXNvB204A3SXcVVaiY4Efi4hx2SH8
3uVRy7ra0PwCTpF4agMecnql0bYgjLPMV7sawC7RaeWYbIoPq/aQupswSd5F
lyFM3V1Ie0qfZxHElliDDdL2G+jHso+LgMiSd2S5Ea1Zq9OcelLkx3P0NCHh
+5Mr3jpNm5oWNxXqm7DxKiuIcGTngWkAAmBQFxUqhOcTmKFyfv2V4hfMtcns
5aFi8LSOeVOn+C2AYvaXVc8I+xdSS2m1wHwi5FrJCEQeMQFC+FfWXaAPNy8Q
fdyEbvsncfRqPt/VZOyQ3QtkQ4zPQQ4qIChFHaJTu3lotOtVs+4Pn8/zmuW0
WPik+RNoLgWMgIBxDSC45+ucdzAgWlIHaQdwJLQykN/RydhWDTJl4n6LdJOu
cIRNrjSodLwABe8Q72gSWwmNOx1+7FsIPpKNCHKhR2QDheewhIjKDExEVaBc
zFMgAjIlnRn90XEn5Ki4jIgpBykY9J60CWiCZqjg8Zqm6J8B0dWmKpwXpF69
K4UpWRkb6IqAxe9TGVnLCcSh/6HGYJFaBPIXgClhom2amWVLpLm8YTIQrh8X
ucktRVAQWvgwb5ShyzRvKrbYQ6CIzhnJZdUkDyUQqD52kcejKpc+TR+A5K5R
TMG720qpfFZk8kYccbhyVpsAu8TrwKJI6qrIFDFksDZTNDJGuH7iA5uNhLha
miLoyaC9peQgjCtpSzJkNpmwuREy6QIdaCyUlCFgfJBpRxhiKPXR+zZCXoQ4
BhEJB39kpg/FgZnVsytVZHaf/gwUipWb2vVDtT09W22eFkWIZkU8LGN+mO2J
Y8m8onIgyvFlK7ac2Whs4HQTcmh8fERPavbU4yBc7kpy4gInMq5aYr4M13Xy
L7us3muO1u0uZfXomWu5nngOTRhiBDNTcBKRiGxPIqHak+k5MT5FnZ3JM4fv
20jqibBXxaFPraCQ1FxXNQg7wQSCjmfTrBsPIjxagDTwvDZkhDmbyJIDRmHd
D4N2tZ6OEOI7ghD9v/IjtGYzoi5XazDX4seY7X0iY5FYJX/ADZF9h5Wk4okm
DcvZHsfC9OVQhJ1HmWk6YzqjWfpPaktNZlUf7GmftUenI/c4Kmr0He0AEKOH
Oi1GXI8O0cFITgGNofkyDhPFsRgnPM1CjKta7LzYG0rjQjmqSzw+sCUqq70n
jFNIvl1aqdxWdY1raiu6ChDurjCGSXRFVi9NKmYOMagE7ijADFJc+Z4cO2ew
TgZ8BHJkg6HzAnZplul1oIVSRV8LYVHaNv1XVOrS+JZuOaiRO1DN8CxEGHtI
pB4tynPk5hYVlFSl9rxiZfDEAN3dMuRZAMyu1KfHKgt98HfZm6Mky+n0zLJ5
ulOkW6xB/pSV7xyaoSt6jeqAPq/tkSo7SkN+aOQ0ZaW5SBHgQh1GGi9XcAaC
NbJLHrZcu7HjSQ4AGQM/OJcyjpLIH1sy5YJVCpQt6L/PDvNGWQpuMCKOGT1D
xZxLr1BMNwlfxtSFNoJSIR1/5DkIDtbxxRdWJpyOkf+RPDxWNSeNzrUZxCcE
zyx3xOVgqbPdauU4EYKznSu1Q2abc4yMxDfYLaxF0HfWDogGIsl8KimrB1/l
DKNHzIRhjE5IvPH+v1mzpJUEJOUapBGbC/BIiisz7pDzWA0R6dTVYENjCik4
p5Ow2JfpBowYvUITLcbtqbNsrLYp2wXmG1j5Di0NVTl2JIOaas2VLMoMNd/F
jo5yyyBDKABKVkxkl5DEQUNDfcIGcI0Pz7jhaQAADIyuJYCO6uMWXS5VbT/c
ZBi+yRWqv3AY8Ow/kUiwxABQrcE6T56yohizWgeMVxZg3p9wBNQPp1onmhdf
9DVVS3oLxoDEppHqyVBFNYK+Ba7rYJK14K4JSVETaa42qASjo2SFbC7mMgDk
dFiDPM1jWuxo0EU2Z3UN4GEmmG8cg9aEypTI2MUkIdnStGDV9tsfs7oaeZYs
+THVnCQZcGe24MhUhHWHcRSmCnIECttNOpEC2DDUkQwxtyVDgs7GRf6QDR09
HY9fkrxGJ3bT6Nn9URkjjN+sxkNIzijATkpkSN8rbakZ8w+ZKNK4GB9GE+Gj
StAYDkyDN3wmJYKR3CiRLHwu66wgMlfrfAtU1DxlgGsndTCJsfaRzaZ4hgcI
tVhQB/GDEwMd0xt6TSND4OyIMzaxgHoX+XIJ79RkqGkXFs3gj5fqJxG0VXvg
VqKFl/OQssMpgxHmmCwF5AbsfYGY77R6xAdjbRw6PNeaYAMjpzui6B0KNzPC
IS/xE+ijvCtzIGgMJYmMCIeRsxHoNsaf3XJ+MI6Ipii9RrHDAIhh6QUCHNOs
D15R0Jm+00YrPmkBxLbYI2liIIj83UjCvEEJKGOqIhjkkCrZbPN1WTGM6QK+
Q5cA5j2I1HEAMVk9RFHi2HGM0ZxNPJ1U845UMSUEoq1Qmwjlxlz5DVbeWBeI
aoZOoD2qTKku9dwYkOIvUBgY5OnQXMpInzS+Bdey6TFpAmV90jJvDdyMkbg9
ZbhHnWl+GMMKa2ZiLGXFgpULZlqidFXKfqfkJJD8cjLE7mUbzjGK16t+kwor
oR2gy/csKMaOwQuTPpOhX8HQeocvJ9OLE4TAultdEvaIjyRidGQg5kc4hkDG
cBoEpGAvEAEkJDFLhPSYbG50kMQfjvDCiu7BRQN7lGCP0VEMzQgDSyUwQJzD
ZqzzWB0z+9FfS7EoItBzpHYFBoVA8ovVp/NotXq6dGO9ciCQ2xrXWUfuSO8+
q3CjbeDc7pp1q3kejWDhjPdvUG//hk4EbpKsxY4qCU2Y0rUqgYOAxgDcEASA
Yh9RB7RaUSFoadkObcbVh5F7DGYZWEedLg2MEOvxPtzcO+xXZ41RXPUZffdp
fLNY1JgLDevnTx6v9GcnWgM2YCgxKhtQ7HHz0npvMMcKruDJBY21W/G0iGLr
Wrdaj2knGTAf0NR1gOfoFDYtgcIj5lpozygyBCilvfyUKoWpg6PkzXc3n5w/
38JfcqRPEEGUvcqIcjmmgx4zMBB3M77PqMYCtmAkH/ACMEdTPrkrt7tm/HHe
wBIA34FQFsHlSOUoCtiT0blcEohHuz5GEoNJmw75RCMZJPfZ+TZdhSb0v7w8
PR8ldyWw/XyRvMEAdonqIZnKFngTkY+KJIGoQyb58vRvL5QoSquhOJaH+x6V
Y5m4Yd7ztECnsDEcOubHmUs/Dc7JrpNX8GCWraxBg6YoKcYFR5M+aIC2RTrP
NCsNRED0ZUHkYTQdRZI9HHXkK6WZyDGlgY25rI8CDhiyhq3x0k4t47jGpLli
r7nNKK5JjIxKbdmndaAqzSxshL1XQ7BsAbkmeej9ZKIDnlFQj31pZY57S0+O
pEY6GxHJA3ctf0F/j7chLbWHYRQ5mVjo4p3M6ST5HXEdOd2kJ5OfAkzlnIw7
GQ740Sni8ezyUluH3sTa2iryDaagoHubyuGc5Au2q9boQpJMBCELimlsU6oX
4KQDMUPEJYwD5hu07XcNeeycuDMaNpxiAWplg5lBpCu+5gHiMbZO6RFSg62e
6EA5GVoHtkSUIBPPN04c63LR8xsS9KII+CLWl9R1VVuWZDUu9kijyoVm4xZU
5m2dp+xocR06mHHbATBAswKMNqx3lA5o7C1VTtDA+J7oe/RokvhHv8I0Yj86
EJAe6Gc9OUEt1KV4tk6W6hkxpGc6GO0/HBi/KCX1iTPEAt3MqI0jNrTtHgau
wa/wXZHrqpTsLeufimurJE3IdSWOPTmT8IK3phE6+GtizaK8xFxi8NZpZwxS
J670AMVU5mRCBb5uiYjZXCxmshEPdr9LFpFLmKW1cACVU9Qt4wgjxyiegA1I
NKTfVRup8JJcEHLgEbVat6CXIGWdsgEb4Tjubssxx+7FjRJ0aIlbaJ8sKqJx
/aKLcHFB+UzUm5NA135MpxaEYT72FHCEl9wg52eUKwISIgXRjilXFKvZE/Yd
5AeVFKMeZ6zn4j21DsLCyfoz4IYVGoiaWWb91ffONN7AqazUY1inR8xgR9fl
afDgplKSWbrBxVMe4yZbEP/UXmHt0SUs5yAXhSmvMbnABG/vliHjIOdwYwRA
VbZ9iSaWK3ljHun154ehMpUuxC1YbZHt2M2xaaCywZY8cOMrTk2CBZPRMXLD
VvQgKzXHGDRfqeEcKoYT1y96QBdpkzI1NsVjjzqjrDpzTofbOF7P4bDNxo5u
ORj8OgknxQl+m0xP4CtX9eKPz07MG8jGpRLIfH1+Mhj44/mAfyPa0zfHamNv
f0oxm4SUTn9gbyXGGnKztOE/zKbaHxdvDoZ3FEBK6qUhgUbER6JwZFCyaqyy
Qjz+OfmMvyZJ8mfQ0FMKOrr//jz481j/s7+5/+CJ5Oz0dHz26hWMcb8jAwg9
IkbFwSfO4YlzfoLD2rsSg6qlmSW5gCcu6Am2R3aljfPzE5fwxCWPwdvHqpSB
1DNPHXQwowcsMxJo1fRtfMlH/TN4iSPlqH+COUQ9Qu7GpsgG4PA1Lb8PDsQt
jnGz2ORljkXmwqyB763zGbK5kT+48rdAsI9jfKhExHLsTHiP93I3HBenUxnD
gq6C1Iy+oXiMsy58UH8PzD7FglB2snTBcU7k7Am17Kd5luEJO2pvkdZwDG7a
gamGSGr9aIyMQfh4ncZzoUaxFQW1GzEBeAAKnvnsq2cOlNOjVxqu+ZzxdqwX
rDXGgI4mngvNHLVhJMnyljQibgxjY7gHaCKD4kFp21t22DApyq32qJqvSY5q
u+ODNHCeY1FlrFtQTgRrzez/UjpBaM5KkE0GCkfWi7voxZg3rRht/uypf+bj
U0wP4u/+B82dKfqp05P8vKQWdjyVaNSP+16f+RGDBzsh0M6yAqsJHL2zewyC
b1dj3B3YrCOoMF5U6rxynXScKl60zHDsBK78y48DixPtTEkKGyGomrI5mS8C
Y0DZjT3roJ0OQpeUn4yDYwiJ2LA8DfvyOjCNPETpuAjl3mo6zH7KMVDlJ+dT
dRTaiGngc/CJhDMnJEOtIRHI2VhkJ2Oivc59Aa46nAjXGwbxmdQWgGBDKAHC
Po1xn+DYwH6XjUSNwhcmw0SnebvZmpR5OBfE2z04b+9B3uHlASBTSqZCDw/2
y9GjXMZZnE5p8DYiK8njg+LZ+KVwXQudXx5mV9lJonwg72HHThKFR8A6y0Mj
rHWAyrhoNHllw/+U7/9zqHOrzQZJSRTJ0F0hUY/bD/dg8akGmxopu6KzXs4W
XZOZx/WFd/utdIxIV7weOYuDuVj0lxHIwhSfQTmLSwNM3sU2HUZqstQvH+1K
PgfsS6WKz0HRgW+cq6Bw5lsaRU9NOVBaVDki3/igIusYJUWWPkbr0AYDi88O
syzi/gaD5PKy5XTHoxg1wJQV28f56LVqJnZ/NLrP6Tvt0xvW5PbF1Ed9UFeb
vGm4xrNl2waoAtv7SOv1XJemRKe0p73XTHUtVLsHJkgYWVMkzcoJqdvAq7Yk
nLpXpSW7clJDdU4B+j96xpNwV/uJaFjEyT0zWa9BElpQzUXunS0mEAbJW3ay
Ujtx4n5SPGniwqImUroSJHHTzNz0Mifno9WNws2l6IKnIh+EB1DY9ENmpi4I
xwKFknUfQCWOWE7XjGTqBfMKi/6FF3AMQOEATmFAH+0oDTKxTKEDjrvrPe8F
LXmWT+AEpcuG4mddyz0Jl5DvbRBqUy2IYmEyUrAOw5yXkY4jJs3I5FS2A4h/
Hc8JObXHG5weFVIL7vsEbXKWmXqSvMWc6i42U+rTnEtlhF9awBC1Mz4Jr6z6
NSi0VEN+JX8W1HzxqNFzfgzae5BEhKlN9VdEYkyczqOw7oGggJ3D3BwnKc0f
wAuv0LP4kF21xHRs+D4CgN46zXb7KGeCnjWS66FVz03cXGei5wiz/jAZ/qPU
FsjbU+1eaG8Hfn2mv7ZS1p37XH/9Jd9k49usAAJ1vr4IB7cpZPj1Zetrm08G
X1+J1+KgFMF0MZMVB2cRY3X+YkeJ439BCrLwTpLkqAn83Ltyr/2+bbx9/BxZ
r/uhXaVMbmeybc/MXD6Nx2YcteeT5lyRGT18GmII2AtqnuXqGycQCOOlRbWy
6pt+lbTNGCvCvp0/+tM5SCIp0hrUz0GMpk0xTCITGTTSjDVrc2pd3ci8aF6s
JsXUDmbCYk1GZf7INORAIcMpjLa1hde/x5aUaj00wLfPqhhJzhnq5PtWLb9D
21p4mArSSTZ5UeQqm3Nqj5vgUFUP7LkgQ9l2sJA6GIutd75XWeuB9CTLEmvU
nQa7bKk+hH77eJHCV99ITbUHPlDpBYbrOMP00G4m97ai1GWeLgtpz37VN/vV
8bP/EwXxOfsje8Rmw5ynVnIrYuyTUiqueKGItA6TeI0QdBoruVd2ZUqN2rA4
p9EdE9AFhkQocP0PG5F3pJaon7IdXA2JQ6Q2aMHBTOPSsbaY8jK5vezdWNl6
yxSK5Tm5jHKh8+F9Gd42qZzuTscl5GnWkM6qx8zXk/kkt/13SmfkxM0q06/p
y3qH/DPM4dOPpaYrFQfEexU+YoxYkcedIo5Zm02abKPJQ6N2yqw1jpENwn7v
5tjYQpcjx4vn6VSjXjLkX6UFORVPo696QV0SPKpXyacpnZxPZzqJqXY73AQj
OaF/cWtY09LRyelkOF4ejwa5OWwLv9gCehyy1GsAz/3cihHzjdEBrpPzM/rE
stzr5NXpV0121jnZ2fim2K7T1pTT1pRXp73Nb3lq/yMK3zy70fGXk9Ysp85L
DulcUyfwyELcXfOfcRdVp4t8p6aTyNPh5OEiT1uJEsmdV/rqdertLJvyy2XF
kxppzoG8LCi8tKqQOMejCUbE7vzEJh8wSkDqDZGYIqrOXJW9l8EIYhgFhbia
qO9Lli5YoDlqECst2k3EfVwX4iKSslZb7uiNiFK5gnfla2kjQXWQpm6Vkicp
F6Uv8GZftenl0shN53njEG79HnwbSWR32pTp/fEqccg1GC2N8lyEaJr17QVo
MEAfO+6jvKiwupsd25ssLW3IR+/cXK8Opnjk5ltwgKolIggsUc7TrGxzLqC/
EtuUV8sx8jjqUH5b3Z8gkDCkVrN9cjqi4siPS/MGxp7TxMBsiptDw5ByFYLk
yru78ezDzd1J4MdDZ8S7N8mLy4szngme0XqE4+BnRRIwTgF7Hf7ZjJJvht8O
k12zfMn84BseZGg/GYblUDiB2BNeFNyYwBFhxRRKC45GHXBMCUOR+2JHhQma
gZy1ya2TBdhMU0+ZYs8/ZTmGKhVNWAeaVZBk2vZ1W4+r3QvSY8hn4ZYem0xo
jIUYoyKWtRr47zqLw3Q0MQDy/KzXY26j77oNPR0eygrlthqxGiCTtgtnFbMz
qeCb+ipl1F43ckLYhyrZ06ZTiA6l2YJBt6FjW61ioCtdDNXTY2SSdBxT5NAg
I5HQ2dqnaE06t+1ZaVfqDfEKeVJHnPIm6uHUyfO67muLPUoaaa1JNKZ7OGBD
wBLLxvAUU0anVNqGnBPwRcUYx0Tu5V2nCoBGdTKYWYOsdvU8o6+eqRNjKNM0
urtawGojUM3XlbhiD8Mn0pLL0N35HUQ3xwBiM9hThXZA5hY4yO6y87c3y8RA
5IKiOzccgOGA8JY16uxa9C/uGuz25nUZNWBUUuXoADLy2iYIf/GYjV4vWhU8
uy1Jc2czqQrJR26cHR4ENCykwMRE49KgMWpvNRO1p5FOPAsrdKOoJysmxyNE
NSx5Iw0kdR1e6DuKYb9b6lIcW6fAd9S59dmfpiqk612mUckVtpqFjYLmBee0
GM3riCHtcGVszEWWbWx+hiSImN7XbL6z3egrsloXFpnBbMgXbsQ0VkU1I/aW
cQsr3M5ccTerNfUByLaNdn30K2NfnDxr6zjiagI7DKZf0FSU3e4BScevE9I2
gMcDx1nnWG7v080sVfnPgVzs7jATLKZwcKnW0nTJDPOydAluR427CvMFAhoj
wdXRy07HnnRMTMsrUUFMfWB/MbGuio2YO24/5a71MQJ/3tqQArXLxke5YFoF
qG4lNfVitxEX+tdhQCS6be+sTT+9DO4L4XGjQ8ZO27OOd2p5QT5Q3z9pkQFW
D3tkNP9gSd/Dh6Qwo1P1U1jlFIfSTuBwKb0NbDFyhWDezq7kuBlhtqiw+7Ek
xJpu9bQEHfu/o1NCp4neG0WmIql8oEg67CXTnf05crrhwVLdpEHd2lQcJb4j
77fJKT5/dmIR6/fD1BxBYozu6juxaBva6a4trTPV6ARzq/bFGwma1jjtaWzl
Hn7HEfuICBlJCkjIpLsqDoeo3LaMwWiuUo6JaWgcBEOjPq6PfrQN4AaUvWLv
tjXcsy7NWZrF3vp/fT6VWqek256FW6uiDsIZxLarPp/1MrAGn9ZVmL9o1HfP
86kdKg3s+Ia6vdGuVpy+BNsMp47PejUzHRIXi1w687Z7PdptFP1Hp0SCGr7I
5vnCquHtItlDhd8oBrm9J5HpGGu7YCOLfL4PWj37fTnQkSwduKlfndsHU9tV
1IWZTKhksWtym9LxlQdZSrptNcGhA3p5emq6BOfNTppgwDBryiMZkcJsFvYU
lMzTOVCedYZRJkQUvShLMj1OuKcJmSVBqjbgybxJyaBPJSjjtdF+GRybxcjy
ErajqFLTctXm7MKR1NV+NBvnUdPDbcroNrMrqiZA8QRmKKXgUjayb3z3WNYe
+WCss9NOb5865QWzflEj3C9glzpaxJWFL9rR9ZBTxMkQ7axyZXXRiPRnXMnc
mFx3Zpcn0VRAXPjxNpe0c+cZY71GRm4BYtiAgO4CHPm52Hj9LIlJ3f2amA4r
dvQ8ub1Ndjpby9OX0zNq+Ew9MFP04gkwVz4wNt2dLy/BmKcAc+P0GXMc7Gzu
6F5lejaTWim5g7r5KUZSt/AHsh4TWCMTGGXjGOvTH4KXHKylirQOr2JTNCF7
eSKv2vpaHATEQeLE5jZYDmtHlqh7+zmIY3ioXx0DwxWaMfI8MQekvTXnbs/W
qIn43knx0+E/aZTvt6YeuZ0MbIVxlXjpzTLEBIsY12ZAbX8yGAc8WGLitdug
+71+rT4XuxJJ99WQxlS6NblmzLYhtX8phfG76XrnI1zIbLUcLoH3I9mmL4d3
O09vK47UzVvr6sdx46XF9YET6cdhsqt1SYTb+ILX2SewQ5Ub37VNMdDvM8Pa
cVNGeEB4X5yenzgxAZQRbrd3p7/jccscBev0fO5hm49If49Yb4l4k4+Ykyq6
d8N49KQnYNRVZuAfjmgXOxNrEoz1FIeCnGUJ60UgfgYdOLUnPM/BPQdzSgNo
IMM+LlldUIGQAeq4IKZuc+BcA+DbfkHrrI4rqWwc0a3+40CjblpdiQM17Hrp
N86nWcTJH9zKEOSn6itfdI2UrQj+qnuz7swtc/qaHW8Wt6zq59jVjdP8N1L3
7FHiwc2nIixUJhAhoV9/G6kp1XGUniJJD0cY6Ii6AMR2+etKJr0cOpjKYyig
iiOlRCtUY2KtjT0dTvKwaL2bta5TDBqokUrn6hwn9mq243h55nr3ebgogP3b
iwktAOTF6dQe8dieHo/4zirhX6IomIwz0VyOu+kgJv+cFuJpd3OBQ6g7l5Px
/6GRciAliL8jSVnbtm18HUyQCRS49x1+iO9eDwbrptmq6+fPV7Ce3WwCmvdz
zNhcZA/Vw/NlnWWc3DTm8/kcrwl47o7YzoPUJsBbuVQZm5IgUKg4B/ctazcC
2y5fXt9OqFW0vbjoNpP2vX/jrKiRcd5RTl9MsY1B2RNWCguiwsuGo7c1UYOe
nmojmyvhV3KFNT06K4laXyGtt67VdCpuKHvadtSdV9s9JxTFUjl1yYa4+I3g
DkrKqBdMrDCqBaF3K7Xc8KG7vxmrrAO1cvFc5BrnEK/mxgc3euDf6GAyyiyT
lRZrXsPdbbXFLqFZvHzQbZKJXSHRqc2XnAAHq/PUl2X58sAoUhgAe1htHJMy
yPinaqtMgnupQ1mAwpgBFexV9xU7aT+i4yRMeMRzjiukyyZ0+4wDtWDB/bFB
caKHOKdZu3t5xTzdrdZN4tziSFhwPfzSmELiCJHoGUf8nKWJ7cPiMFD2nXt+
DpzctOPkmk0QWbi35ltcGT+aYzpCI/68PRPk+aUCAnu/XfI70Hyqenyvy0/t
CiTvY5HuHT3Bw4hcdfJDiW0OaQmdoym5coYHlJoKBzQtqrVj18FpcGn0yITo
8cKXmt0I9jwCtzFOTnv7kLTwk0yUR4LSqVxTlExQoLe/kdIAImmft+sbaphl
BWj+K8Uj9Yot4SliUi5JvUZH+bP3d69PsP0N9a7gW0UOtPsOLzfQHFFbEBgt
pguAiBzpnhbqzEcPo/vt4urq1Y/E3/ivF9MfAyMLgMJy0B1dgWlfsa5Dca9T
sdJC8qnRRYUI/VI1afEDtwD6Qq0d2TTDV8LaHq8fNWmouncQN4LDF5+y2hbQ
TxyYLTia+qNgzedRqCbBgfMSGyI6n3jCkLyC94wX7qtzHvwW7hLpo5ueJXqB
W0xO3WgDATdVbDnCa9IyKlCIQ050w8uTdGc/4BLPJ/BybHV9ig7hGDiDmH6M
wtxUcZ15xmuLYqZ9e0h4ScgX9giHIa3lDsMnjpjzEyd+Fthc0kSnyNbISW46
NbrXhulWK/HWM6JbkndkvRyT7mGQojfNAgvzOrDaY2sTTtyUI60LM5+0F3Lh
i84lqSDGpeBPVYVcN0Rb1XUsjrnT5abcOxeR2usxQobTeXEM3TGNKX8YA9av
g7ZrqyWd/jO/4pZsEl3jJvx+Ih3M+J5nbCWiGuLpXK8hZht4lD156e7J6Y+W
1naAD59GvpK+g4SkPjLXcB4k95ceuZ/+l5G7UHkZmnhfRe4hav/m5G5DQmyS
StPkLtpuE9wvSuKh08EYlyos12/IgWAu40mT1U7yKDjw6ShzclnJEkiG6OTn
nfaRXOsD4wMN/2GXwlHCBtkWRDdkjausUJAXOSWLUDqOGzV3AeqNHwFW/jf8
w7oteYqL9+UP/Jxfk6J+/oM/5nHkY17OAL+Zug0KvD/MnyaUgc+fug+c+s+f
Oc/ry1YOvXPOP7wLWuid8bTznQv+EVx084xi6dOT9oy/8Rb1kn969zIMwsf8
d86u+GdgJhyA8/zMgdOt7umC03v7xSv+6dxV09ovb/LkpQwQTf87AOurSwdW
ty67E1qfVqjbcZLEzw25QNvARwfwPJ4HtsVM2jJoD+B2eno+np5Nk9t8Badi
/Gs+VpyMMb3udc7KudVVsF9x6dLIfOo0g8DLfYFXhDTytfc5xVmiuS+eHAjc
4rfSgUN8QOcL2Qpw1ICvLZthtAV1466qq8PPgArNo8w2/S+MQNONtOgWLhVl
X9uCfWdA7gRnxxqYnXJDsYaC9cCIIT3uXzUs06XbrbpvWNEhDo3LNGX+gcp2
8+GmZQvHr4bsDBEwyWvNIS6l+Bnt8WCyNQkwmDGEBAfrki4aJs4K3DdflawS
Eay2U11pvysqsGmca1DC8Vu3bdo11VkW7aOuolfFdMthp8G61zrF4bH43ejI
FYKM7lmgdWqTXW0rwqKIQdXnLepecJrG5tXxtP8O0uapIsR80vccf85WGGUy
Xv4yM7UjnO63uE6Gv7N3WLVgFQR0o29ImMMx8kNjhNgdYkCawzveNVpo2tcW
cLdtEufLSBc6uTHw671C1gkYv6dQ6qNruSidXMtqN/s9eYcqG7o3lxbOPRBa
BbeRlLyXk6iLwr8r+ECVwC8AZqSy4AIvjMINQFe+aUF3qPQ6vGErCrrNHads
OEx9MVdmHCiI4FrtDj9RUMJXSkE2ykVTvK0rmjg2ANgq2Gy7re7lceDXlNeL
qSatXLB/pZikH0rhkl2Z1eyx6S7cSiIUs+i50w+D7mbDkmya7rqbX3fyMOmr
FnvH93dziD17zKudwlIQ662i+/4WmWsnWw+a+H51+IGaPL169eJHJr6yctPU
OwkNUCfuSrkV2uSEhHHdmhMjlv70klTJ13n4ePfB1JUAXChhL4vSTY9MAiO2
qzHXm2s3cdheh5O1g7bencklftccj36S77TPMc5w+OJ5PPoGZJOhhofaCB4f
39J3wDcSK8rYoPA9yScnJtZbrjcY3Ojh8HLI/bapVnW6BcmH6XprYcTU1ob3
kjwMZ+hhQEhXcsXKDH5Kbx8q7TSFwjsl+sj720sakQaYnp9Nf3SSaWP33lou
UM2WOzVPzcW3iDXsn1SuKpw7Wy7JSyKxtbu3X95xHCot9n/kLoK62xNLGeey
WT8ZiqTnpLMNnZVt7eg89uXI63ZHRaZ9rewRfNT8CoBy+1Bl0pXRaUPlBR0m
Yjyyc0WHZJSrnDyxSDCNjE1pmN+QSbcQsv0t6P73x12x8lKEJPl7W+ePeHCl
3ZUaBV2wrYeciyQozZmOqPbUMAfyRpGUtHjxtoxY8GVD61x6lrS6bRk1VmMD
d4PKNRrbvc96UQMjKNZELGi55I1tDTen/UPAN6wI3+5A5MyLve6wdPfJbziW
+QvhHfHqqMKucR16DxFxK8/CxtfG43EygyOGqtPNHE9wkS1WnGrwp2sONWWL
3w6XwIay4V9gnmpjYWAqV+10Aoo6pYt0a4qkONaGp2Hrevl8Pt2h9Js2gihh
JoP/B7xQazFMqQAA

-->

</rfc>
