<?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.11 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-dhc-addr-notification-12" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.21.0 -->
  <front>
    <title abbrev="Registering self-generated Addresses using DHCPv6">Registering Self-generated IPv6 Addresses using DHCPv6</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-dhc-addr-notification-12"/>
    <author initials="W." surname="Kumari" fullname="Warren Kumari">
      <organization>Google, LLC</organization>
      <address>
        <email>warren@kumari.net</email>
      </address>
    </author>
    <author initials="S." surname="Krishnan" fullname="Suresh Krishnan">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <email>suresh.krishnan@gmail.com</email>
      </address>
    </author>
    <author initials="R." surname="Asati" fullname="Rajiv Asati">
      <organization>Independent</organization>
      <address>
        <email>rajiv.asati@gmail.com</email>
      </address>
    </author>
    <author initials="L." surname="Colitti" fullname="Lorenzo Colitti">
      <organization>Google, LLC</organization>
      <address>
        <postal>
          <street>Shibuya 3-21-3</street>
          <country>Japan</country>
        </postal>
        <email>lorenzo@google.com</email>
      </address>
    </author>
    <author initials="J." surname="Linkova" fullname="Jen Linkova">
      <organization>Google, LLC</organization>
      <address>
        <postal>
          <street>1 Darling Island Rd</street>
          <city>Pyrmont</city>
          <code>2009</code>
          <country>Australia</country>
        </postal>
        <email>furry13@gmail.com</email>
      </address>
    </author>
    <author initials="S." surname="Jiang" fullname="Sheng Jiang">
      <organization>Beijing University of Posts and Telecommunications</organization>
      <address>
        <postal>
          <street>No. 10 Xitucheng Road</street>
          <city>Beijing</city>
          <region>Haidian District</region>
          <code>100083</code>
          <country>China</country>
        </postal>
        <email>shengjiang@bupt.edu.cn</email>
      </address>
    </author>
    <date year="2024" month="May" day="14"/>
    <area>Internet</area>
    <workgroup>Dynamic Host Configuration</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 99?>

<t>This document defines a method to inform a DHCPv6 server that a device has one or more self-generated or statically configured addresses.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://wkumari.github.io/draft-wkumari-dhc-addr-notification/draft-ietf-dhc-addr-notification.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-dhc-addr-notification/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Dynamic Host Configuration Working Group mailing list (<eref target="mailto:dhcwg@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/dhcwg/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/dhcwg/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/wkumari/draft-wkumari-dhc-addr-notification"/>.</t>
    </note>
  </front>
  <middle>
    <?line 104?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>It is very common operational practice, especially in enterprise networks, to use IPv4 DHCP logs for troubleshooting or forensics purposes. Examples of this include a help desk dealing with a ticket such as "The CEO's laptop cannot connect to the printer"; if the MAC address of the printer is known (for example from an inventory system), the printer's IPv4 address can be retrieved from the DHCP log or lease table and the printer pinged to determine if it is reachable. Another common example is a Security Operations team discovering suspicious events in outbound firewall logs and then consulting DHCP logs to determine which employee's laptop had that IPv4 address at that time so that they can quarantine it and remove the malware.</t>
      <t>This operational practice relies on the DHCP server knowing the IP address assignments.
This works quite well for IPv4 addresses, as most addresses are either assigned by DHCP <xref target="RFC2131"/> or statically configured by the network operator. For IPv6, however, this practice is much harder to implement, as devices often self-configure IPv6 addresses via SLAAC <xref target="RFC4862"/>.</t>
      <t>This document provides a mechanism for a device to inform the DHCPv6 server that the device has a self-configured IPv6 address (or has a statically configured address), and thus provides parity with IPv4, by making DHCPv6 infrastructure aware of self-assigned IPv6 addresses.</t>
    </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="registration-mechanism-overview">
      <name>Registration Mechanism Overview</name>
      <t>The DHCPv6 protocol is used as the address registration protocol when a DHCPv6 server performs the role of an address registration server.
This document introduces a new Address Registration (OPTION_ADDR_REG_ENABLE) option which indicates that the server supports the registration mechanism.
Before registering any addresses, the client <bcp14>MUST</bcp14> determine whether the network supports address registration. It can do this by including the Address Registration option code in the Option Request option (see Section 21.7 of <xref target="RFC8415"/>) of the Information-Request, Solicit, Request, Renew, or Rebind messages it sends to the server as part of the regular stateless or stateful DHCPv6 configuration process. If the server supports address registration, it includes an Address Registration option in its Advertise or Reply messages.
To avoid undesired multicast traffic, if the DHCPv6 infrastructure does not support (or is not willing to receive) any address registration information, the client <bcp14>MUST NOT</bcp14> register any addresses. Otherwise, the client registers addresses as described below.</t>
      <t>After successfully assigning a self-generated or statically configured IPv6 address on one of its interfaces, a client implementing this specification <bcp14>SHOULD</bcp14> multicast an ADDR-REG-INFORM message (see Section 4.2) in order to inform the DHCPv6 server that this self-generated address is in use. Each ADDR-REG-INFORM message contains a DHCPv6 IA Address option <xref target="RFC8415"/> to specify the address being registered.</t>
      <t>The address registration mechanism overview is shown in Fig.1.</t>
      <artwork><![CDATA[
+------+          +------------------+       +---------------+
| HOST |          | FIRST-HOP ROUTER |       | DHCPv6 SERVER |
+---+--+          +---------+--------+       +-------+-------+
    |      SLAAC            |                        |
    |<--------------------> |                        |
    |                       |                        |
    |                                                |
    |  src: link-local address                       |
    | -------------------------------------------->  |
    |    INFORMATION-REQUEST or SOLICIT/...          |
    |       - OPTION REQUEST OPTION                  |
    |          -- OPTION_ADDR_REG_ENABLE             |
    |                                                |
    |    ...                                         |
    |                                                |
    |                                                |
    |<---------------------------------------------  |
    |     REPLY or ADVERTISE MESSAGE                 |
    |       - OPTION_ADDR_REG_ENABLE                 |
    |                                                |
    |                                                |
    |  src: address being registered                 |
    | -------------------------------------------->  |
    |    ADDR-REG-INFORM MESSAGE                     |Register/
    |                                                |log addresses
    |                                                |
    |                                                |
    | <--------------------------------------------  |
    |        ADDR-REG-REPLY MESSAGE                  |
    |                                                |

]]></artwork>
      <t>Figure 1: Address Registration Procedure Overview</t>
    </section>
    <section anchor="dhcpv6-address-registration-procedure">
      <name>DHCPv6 Address Registration Procedure</name>
      <section anchor="dhcpv6-address-registration-option">
        <name>DHCPv6 Address Registration Option</name>
        <t>The Address Registration option (OPTION_ADDR_REG_ENABLE) indicates that the server supports the mechanism described in this document. The format of the Address Registration option is described as follows:</t>
        <artwork><![CDATA[
  0                   1                   2                   3
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |          option-code          |           option-len          |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

 option-code           OPTION_ADDR_REG_ENABLE (TBA0)

 option-len            0
]]></artwork>
        <t>Figure 2: DHCPv6 Address Registration option</t>
        <t>If a client has the address registration mechanism enabled, it <bcp14>SHOULD</bcp14> include this option in all Option Request options that it sends.</t>
        <t>A server which is configured to support the address registration mechanism <bcp14>MUST</bcp14> include this option in Advertise and Reply messages if the client message it is replying to contained this option in the Option Request option.</t>
      </section>
      <section anchor="dhcpv6-address-registration-request-message">
        <name>DHCPv6 Address Registration Request Message</name>
        <t>The DHCPv6 client sends an ADDR-REG-INFORM message to inform that an IPv6 address is assigned to the client's interface.
The format of the ADDR-REG-INFORM message is described as follows:</t>
        <artwork><![CDATA[
  0                   1                   2                   3
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |    msg-type   |               transaction-id                  |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                                                               |
 .                            options                            .
 .                           (variable)                          .
 |                                                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  msg-type             Identifies the DHCPv6 message type;
                       Set to ADDR-REG-INFORM (TBA1).

  transaction-id       The transaction ID for this message exchange.

  options              Options carried in this message.
]]></artwork>
        <t>Figure 3: DHCPv6 ADDR-REG-INFORM message</t>
        <t>The client <bcp14>MUST</bcp14> generate a transaction ID as described in <xref target="RFC8415"/> and insert this value in the "transaction-id" field.</t>
        <t>The client <bcp14>MUST</bcp14> include the Client Identifier option <xref target="RFC8415"/> in the ADDR-REG-INFORM message.</t>
        <t>The ADDR-REG-INFORM message <bcp14>MUST NOT</bcp14> contain the Server Identifier option and <bcp14>MUST</bcp14> contain exactly one IA Address option containing the address being registered. The valid-lifetime and preferred-lifetime fields in the option <bcp14>MUST</bcp14> match the current Valid Lifetime and Preferred Lifetime of the address being registered.</t>
        <t>The ADDR-REG-INFORM message is dedicated for clients to initiate an address registration request toward an address registration server.  Consequently, clients <bcp14>MUST NOT</bcp14> put any Option Request Option(s) in the ADDR-REG-INFORM message. Clients <bcp14>MAY</bcp14> include other options, such as the Client FQDN Option <xref target="RFC4704"/>.</t>
        <t>The client sends the DHCPv6 ADDR-REG-INFORM message to the All_DHCP_Relay_Agents_and_Servers multicast address (ff02::1:2). The client <bcp14>MUST</bcp14> send separate messages for each address being registered.</t>
        <t>Unlike other types of messages, which are sent from the link-local address of the client, the ADDR-REG-INFORM message <bcp14>MUST</bcp14> be sent from the address being registered. This is primarily for "fate sharing" purposes - for example, if the network implements some form of layer-2 security to prevent a client from spoofing other clients' MAC addresses, this prevents an attacker from spoofing ADDR-REG-INFORM messages.</t>
        <t>On clients with multiple interfaces, the client <bcp14>MUST</bcp14> only send the packet on the network interface that has the address being registered, even if it has multiple interfaces with different addresses. If the same address is configured on multiple interfaces, then the client <bcp14>MUST</bcp14> send ADDR-REG-INFORM each time the address is configured on an interface that did not previously have it, and refresh each registration independently from the others.</t>
        <t>The client <bcp14>MUST</bcp14> only send the ADDR-REG-INFORM message for valid (<xref target="RFC4862"/>) addresses of global scope (<xref target="RFC4007"/>). This includes ULA addresses, which are defined in <xref target="RFC4193"/> to have global scope. This also includes statically assigned addresses of global scope (such addresses are considered to be valid indefinitely).
The client <bcp14>MUST NOT</bcp14> send the ADDR-REG-INFORM message for addresses configured by DHCPv6.</t>
        <t>The client <bcp14>SHOULD NOT</bcp14> send the ADDR-REG-INFORM message unless it has received a Router Advertisement message with either M or O flags set to 1.</t>
        <t>Clients <bcp14>MUST</bcp14> discard any received ADDR-REG-INFORM messages.</t>
        <section anchor="server-message-processing">
          <name>Server message processing</name>
          <t>Servers <bcp14>MUST</bcp14> discard any ADDR-REG-INFORM messages that meet any of the following conditions:</t>
          <ul spacing="normal">
            <li>
              <t>the message does not include a Client Identifier option;</t>
            </li>
            <li>
              <t>the message includes a Server Identifier option;</t>
            </li>
            <li>
              <t>the message does not include the IA Address option, or the IP address in the IA Address option does not match the source address of the original ADDR-REG-INFORM message sent by the client. The source address of the original message is the source IP address of the packet if it is not relayed, or the Peer-Address field of the innermost Relay-Forward message if it is relayed.</t>
            </li>
            <li>
              <t>the message includes an Option Request Option.</t>
            </li>
          </ul>
          <t>If the message is not discarded, the address registration server <bcp14>SHOULD</bcp14> verify that the address being registered is "appropriate to the link" as defined by <xref target="RFC8415"/> or within a prefix delegated to the client via DHCPv6-PD (see Section 6.3 of <xref target="RFC8415"/>). Otherwise, it <bcp14>MUST</bcp14> drop the message, and <bcp14>SHOULD</bcp14> log this fact. Otherwise, the server:</t>
          <ul spacing="normal">
            <li>
              <t><bcp14>SHOULD</bcp14> register or update a binding between the provided Client Identifier and IPv6 address in its database. The lifetime of the binding is equal to the Valid Lifetime of the address reported by the client. If there is already a binding between the registered address and another client, the server <bcp14>SHOULD</bcp14> log the fact and update the binding.</t>
            </li>
            <li>
              <t><bcp14>SHOULD</bcp14> log the address registration information (as is done normally for clients to which it has assigned an address), unless configured not to do so. The server <bcp14>SHOULD</bcp14> log the client DUID and the link-layer address, if available. The server <bcp14>MAY</bcp14> log any other information.</t>
            </li>
            <li>
              <t><bcp14>SHOULD</bcp14> mark the address as unavailable for use and not include it in future ADVERTISE messages.</t>
            </li>
            <li>
              <t><bcp14>MUST</bcp14> send back an ADDR-REG-REPLY message to ensure the client does not retransmit.</t>
            </li>
          </ul>
          <t>If a client is multihomed (connected to multiple administrative domains, each operating its own DHCPv6 infrastructure), the requirement to verify that the registered address is appropriate for the link or  belongs to a delegated prefix ensures that each DHCPv6 server only registers bindings for addresses from the given administrative domain.</t>
          <t>Although a client "<bcp14>MUST NOT</bcp14> send the ADDR-REG-INFORM message for addresses configured by DHCPv6", if a server does receive such a message, it should log and discard it.</t>
          <t>DHCPv6 relay agents and switches that relay address registration messages directly from clients <bcp14>MUST</bcp14> include the client's link-layer address in the relayed message using the Client Link-Layer Address option (<xref target="RFC6939"/>) if they would do so for other DHCPv6 client messages such as SOLICIT, REQUEST, and REBIND.</t>
        </section>
      </section>
      <section anchor="dhcpv6-address-registration-acknowledgement">
        <name>DHCPv6 Address Registration Acknowledgement</name>
        <t>The server <bcp14>MUST</bcp14> acknowledge receipt of a valid ADDR-REG-INFORM message by sending back an ADDR-REG-REPLY message. The format of the ADDR-REG-REPLY message is described as follows:</t>
        <artwork><![CDATA[
  0                   1                   2                   3
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |    msg-type   |               transaction-id                  |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                                                               |
 .                            options                            .
 .                           (variable)                          .
 |                                                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  msg-type             Identifies the DHCPv6 message type;
                       Set to ADDR-REG-REPLY (TBA2).

  transaction-id       The transaction ID for this message exchange.

  options              Options carried in this message.
]]></artwork>
        <t>Figure 4: DHCPv6 ADDR-REG-REPLY message</t>
        <t>If the ADDR-REG-INFORM message that the server is replying to was not relayed, then the IPv6 destination address of the message <bcp14>MUST</bcp14> be the address being registered. If the ADDR-REG-INFORM message was relayed, then the server <bcp14>MUST</bcp14> construct the Relay-reply message as specified in <xref target="RFC8415"/> section 19.3.</t>
        <t>The server <bcp14>MUST</bcp14> copy the transaction-id from the ADDR-REG-INFORM message to the transaction-id field of the ADDR-REG-REPLY.</t>
        <t>The ADDR-REG-REPLY message <bcp14>MUST</bcp14> contain an IA Address option for the address being registered. The option <bcp14>MUST</bcp14> be identical to the one in the ADDR-REG-INFORM message that the server is replying to.</t>
        <t>Servers <bcp14>MUST</bcp14> ignore any received ADDR-REG-REPLY messages.</t>
        <t>Clients <bcp14>MUST</bcp14> discard any ADDR-REG-REPLY messages that meet any of the following conditions:</t>
        <ul spacing="normal">
          <li>
            <t>The IPv6 destination address does not match the address being registered.</t>
          </li>
          <li>
            <t>The IA Address option does not match the address being registered.</t>
          </li>
          <li>
            <t>The address being registered is not assigned to the interface receiving the message.</t>
          </li>
          <li>
            <t>The transaction-id does not match the transaction-id the client used in the corresponding ADDR-REG-INFORM message.</t>
          </li>
        </ul>
        <t>The ADDR-REG-REPLY message only indicates that the ADDR-REG-INFORM message has been received and that the client should not retransmit it. The ADDR-REG-REPLY message <bcp14>MUST NOT</bcp14> be considered as any indication of the address validity and <bcp14>MUST NOT</bcp14> be required for the address to be usable. DHCPv6 relays, or other devices that snoop ADDR-REG-REPLY messages, <bcp14>MUST NOT</bcp14> add or alter any forwarding or security state based on the ADDR-REG-REPLY message.</t>
      </section>
      <section anchor="signaling-address-registration-support">
        <name>Signaling Address Registration Support</name>
        <t>To avoid undesired multicast traffic, the client <bcp14>MUST NOT</bcp14> register addresses using this mechanism unless the network's DHCPv6 servers support address registration. The client can discover this using the OPTION_ADDR_REG_ENABLE option. The client <bcp14>SHOULD</bcp14> include this option code in all Option Request options that it sends. If the client receives and processes an Advertise or Reply message with the OPTION_ADDR_REG_ENABLE option, it concludes that the network supports address registration. When the client detects that the network supports address registration, it <bcp14>SHOULD</bcp14> start the registration process and immediately register any addresses that are already in use. The client <bcp14>SHOULD NOT</bcp14> stop registering addresses until it disconnects from the link, even if subsequent Advertise or Reply messages do not contain the OPTION_ADDR_REG_ENABLE option.</t>
        <t>The client <bcp14>MUST</bcp14> discover whether the network supports address registration every time it connects to a network or when it detects it has moved to a new link, without utilizing any prior knowledge about address registration support by that network or link. This host behavior allows networks to progressively roll out support for the address registration option across the DHCPv6 infrastructure without causing clients to frequently stop and restart address registration if some of the network's DHCPv6 servers support it and some of them do not.</t>
        <t>A client with multiple interfaces <bcp14>MUST</bcp14> discover address registration support for each interface independently. The client <bcp14>MUST NOT</bcp14> send address registration messsages on a given interface unless the client has discovered that the interface is connected to a network which supports address registration.</t>
      </section>
      <section anchor="retransmission">
        <name>Retransmission</name>
        <t>To reduce the effects of packet loss on registration, the client <bcp14>SHOULD</bcp14> retransmit the registration message. Retransmissions <bcp14>SHOULD</bcp14> follow the standard retransmission logic specified by section 15 of <xref target="RFC8415"/> with the following default parameters:</t>
        <ul spacing="normal">
          <li>
            <t>IRT 1 sec</t>
          </li>
          <li>
            <t>MRC 3</t>
          </li>
        </ul>
        <t>The client <bcp14>SHOULD</bcp14> allow these parameters to be configured by the administrator.</t>
        <t>To comply with section 16.1 of <xref target="RFC8415"/>, the client <bcp14>MUST</bcp14> leave the transaction ID unchanged in retransmissions of an ADDR-REG-INFORM message. When the client retransmits the registration message, the lifetimes in the packet <bcp14>MUST</bcp14> be updated so that they match the current lifetimes of the address.</t>
        <t>If an ADDR-REG-REPLY message is received for the address being registered, the client <bcp14>MUST</bcp14> stop retransmission.</t>
      </section>
      <section anchor="registration-expiry-and-refresh">
        <name>Registration Expiry and Refresh</name>
        <t>The client <bcp14>MUST</bcp14> refresh registrations to ensure that the server is always aware of which addresses are still valid. The client <bcp14>SHOULD</bcp14> perform refreshes as described below.</t>
        <section anchor="slaac-addresses">
          <name>SLAAC Addresses</name>
          <t>For an address configured using SLAAC, a function AddrRegRefreshInterval(address) is defined as 80% of the address's current Valid Lifetime. When calculating this value, the client applies a multiplier of AddrRegDesyncMultiplier to avoid synchronization causing a large number of registration messages from different clients at the same time. AddrRegDesyncMultiplier is a random value uniformly distributed between 0.9 and 1.1 (inclusive) and is chosen by the client when it starts the registration process, to ensure that refreshes for addresses with the same lifetime are coalesced (see below).</t>
          <t>Whenever the client registers or refreshes an address, it calculates a NextAddrRegRefreshTime for that address as AddrRegRefreshInterval seconds in the future but does not schedule any refreshes.</t>
          <t>Whenever the network changes the Valid Lifetime of an existing address by more than 1%, for example, by sending a Prefix Information option (PIO, <xref target="RFC4861"/>) with a new Valid Lifetime, the client calculates a new AddrRegRefreshInterval. The client schedules a refresh for min(now + AddrRegRefreshInterval, NextAddrRegRefreshTime). If the refresh would be scheduled in the past, then the refresh occurs immediately.</t>
          <t>Justification: this algorithm ensures that refreshes are not sent too frequently, while ensuring that the server never believes that the address has expired when it has not. Specifically, after every registration:</t>
          <ul spacing="normal">
            <li>
              <t>If the network never changes the lifetime of an address (e.g., if no further PIOs are received, or if all PIO lifetimes decrease in step with the passage of time), then no refreshes occur. Refreshes are not necessary, because the address expires at the time the server expects it to expire.</t>
            </li>
            <li>
              <t>Any time the network changes the lifetime of an address (i.e., changes the time at which the address will expire) the client ensures that a refresh is scheduled, so that server will be informed of the new expiry.</t>
            </li>
            <li>
              <t>Because AddrRegDesyncMultiplier is at most 1.1, the refresh never occurs later than a point 88% between the time when the address was registered and the time when the address will expire. This allows the client to retransmit the registration for up to 12% of the original interval before it expires. This may not be possible if the network sends a Router Advertisement (RA, <xref target="RFC4861"/>) very close to the time when the address would have expired. In this case, the client refreshes immediately, which is the best it can do.</t>
            </li>
            <li>
              <t>The 1% tolerance ensures that the client will not refresh or reschedule refreshes if the Valid Lifetime experiences minor changes due to transmission delays or clock skew between the client and the router(s) sending the Router Advertisement.</t>
            </li>
            <li>
              <t>AddrRegRefreshCoalesce allows battery-powered hosts to wake up less often. In particular, it allows the client to coalesce refreshes for multiple addresses formed from the same prefix, such as the stable and privacy addresses. Higher values will result in fewer wakeups, but may result in more network traffic, because if a refresh is sent early, then the next RA received will cause the client to immediately send a refresh message.</t>
            </li>
            <li>
              <t>In typical networks, the lifetimes in periodic Router Advertisements either contain constant values, or values that decrease over time to match another lifetime, such as the lifetime of a prefix delegated to the network. In both these cases, this algorithm will refresh on the order of once per address lifetime, which is similar to the number of refreshes that are necessary using stateful DHCPv6.</t>
            </li>
            <li>
              <t>Because refreshes occur at least once per address lifetime, the network administrator can control the address refresh frequency by appropriately setting the Valid Lifetime in the Prefix Information Option.</t>
            </li>
          </ul>
        </section>
        <section anchor="statically-assigned-addresses">
          <name>Statically Assigned Addresses</name>
          <t>A statically assigned address has an infinite valid lifetime which is not affected by Router Advertisements. Therefore whenever the client registers or refreshes a statically assigned address, the next refresh is scheduled for StaticAddrRegRefreshInterval seconds in the future. The default value of StaticAddrRegRefreshInterval is 4 hours. This ensures static addresses are still refreshed periodically, but refreshes for static addresses do not cause excessive multicast traffic. The StaticAddrRegRefreshInterval interval <bcp14>SHOULD</bcp14> be configurable.</t>
        </section>
        <section anchor="transmitting-refreshes">
          <name>Transmitting Refreshes</name>
          <t>When a refresh is performed, the client <bcp14>MAY</bcp14> refresh all addresses assigned to the interface that are scheduled to be refreshed within the next AddrRegRefreshCoalesce seconds. The value of AddrRegRefreshCoalesce is implementation-dependent, and a suggested default is 60 seconds.</t>
          <t>Registration refresh packets <bcp14>SHOULD</bcp14> be retransmitted using the same logic as described in the 'Retransmission' section above.</t>
          <t>The client <bcp14>MUST</bcp14> generate a new transaction ID when refreshing the registration.</t>
          <t>When the Client-Identifier-to-IPv6-address binding has expired, the server <bcp14>SHOULD</bcp14> remove it and consider the address as available for use.</t>
          <t>The client <bcp14>MAY</bcp14> choose to notify the server when an address is no longer being used (e.g., if the client is disconnecting from the network, the address lifetime expired, or the address is being removed from the interface). To indicate that the address is not being used anymore the client <bcp14>MUST</bcp14> set the preferred-lifetime and valid-lifetime fields of the IA Address option in the ADDR-REG-INFORM message to zero. If the server receives a message with a valid-lifetime of zero, it <bcp14>SHOULD</bcp14> act as if the address has expired.</t>
        </section>
      </section>
    </section>
    <section anchor="host-configuration">
      <name>Host configuration</name>
      <t>DHCP clients <bcp14>SHOULD</bcp14> allow the administrator to disable sending ADDR-REG-INFORM messages. This could be used, for example, to reduce network traffic on networks where the servers are known not to support the message type. Sending the messages <bcp14>SHOULD</bcp14> be enabled by default.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>An attacker may attempt to register a large number of addresses in quick succession in order to overwhelm the address registration server and / or fill up log files. Similar attack vectors exist today, e.g., an attacker can DoS the server with messages containing spoofed DHCP Unique Identifiers (DUIDs) <xref target="RFC8415"/>.</t>
      <t>If a network is using FCFS SAVI <xref target="RFC6620"/>, then the DHCPv6 server can trust that the ADDR-REG-INFORM message was sent by the legitimate holder of the address. This prevents a host from registering an address configured on another host.</t>
      <t>If the network doesn't have MLD snooping enabled, then IPv6 link-local multicast traffic is effectively transmitted as broadcast.
In such networks, an on-link attacker listening to DHCPv6 messages might obtain information about IPv6 addresses assigned to the host.
However, hiding information about the specific IPv6 address should not be considered a security measure, as such information is usually disclosed via Duplicate Address Detection <xref target="RFC4862"/> to all nodes anyway, if MLD snooping is not enabled.</t>
      <t>If MLD snooping is enabled, an attacker might be able to join the All_DHCP_Relay_Agents_and_Servers multicast address (ff02::1:2) group to listen for address registration messages.
However, the same result can be achieved by joining the All Routers Address (ff02::2) group and listen to Gratuitous Neighbor Advertisement messages <xref target="RFC9131"/>. It should be noted that this particular scenario shares the fate with DHCPv6 address assignment: if an attacker can join the All_DHCP_Relay_Agents_and_Servers multicast group, they would be able to monitor all DHCPv6 messages sent from the client to DHCPv6 servers and relays, and therefore obtain the information about addresses being assigned via DHCPv6.
Layer 2 isolation allows mitigating this threat by blocking onlink peer-to-peer communication between hosts.</t>
      <t>One of the use cases for the mechanism described in this document is to identify sources of malicious traffic after the fact. Note, however, that as the device itself is responsible for informing the DHCPv6 server that it is using an address, a malicious or compromised device can simply not send the ADDR-REG-INFORM message. This is an informational, optional mechanism, and is designed to aid in troubleshooting and forensics. On its own, it is not intended to be a strong security access mechanism.
In particular, the ADDR-REG-INFORM message <bcp14>MUST NOT</bcp14> be used for authentication and authorization purposes, because in addition to the reasons above, the packets containing the message may be dropped.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document introduces the following new entities which require an allocation out of the DHCPv6 registries defined at http://www.iana.org/assignments/dhcpv6-parameters/:</t>
      <ul spacing="normal">
        <li>
          <t>one new DHCPv6 option, described in Section 4.1 which requires an allocation out of the registry of DHCPv6 Option Codes:
          </t>
          <ul spacing="normal">
            <li>
              <t>Value: TBA0</t>
            </li>
            <li>
              <t>Description: OPTION_ADDR_REG_ENABLE</t>
            </li>
            <li>
              <t>Client ORO: Yes</t>
            </li>
            <li>
              <t>Singleton Option: Yes</t>
            </li>
          </ul>
        </li>
        <li>
          <t>two new DHCPv6 messages which require an allocation out of the registry of Message Types:
          </t>
          <ul spacing="normal">
            <li>
              <t>ADDR-REG-INFORM message (TBA1) described in Section 4.2</t>
            </li>
            <li>
              <t>ADDR-REG-REPLY (TBA2) described in Section 4.3.</t>
            </li>
          </ul>
        </li>
      </ul>
    </section>
  </middle>
  <back>
    <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="RFC4007">
          <front>
            <title>IPv6 Scoped Address Architecture</title>
            <author fullname="S. Deering" initials="S." surname="Deering"/>
            <author fullname="B. Haberman" initials="B." surname="Haberman"/>
            <author fullname="T. Jinmei" initials="T." surname="Jinmei"/>
            <author fullname="E. Nordmark" initials="E." surname="Nordmark"/>
            <author fullname="B. Zill" initials="B." surname="Zill"/>
            <date month="March" year="2005"/>
            <abstract>
              <t>This document specifies the architectural characteristics, expected behavior, textual representation, and usage of IPv6 addresses of different scopes. According to a decision in the IPv6 working group, this document intentionally avoids the syntax and usage of unicast site-local addresses. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4007"/>
          <seriesInfo name="DOI" value="10.17487/RFC4007"/>
        </reference>
        <reference anchor="RFC4193">
          <front>
            <title>Unique Local IPv6 Unicast Addresses</title>
            <author fullname="R. Hinden" initials="R." surname="Hinden"/>
            <author fullname="B. Haberman" initials="B." surname="Haberman"/>
            <date month="October" year="2005"/>
            <abstract>
              <t>This document defines an IPv6 unicast address format that is globally unique and is intended for local communications, usually inside of a site. These addresses are not expected to be routable on the global Internet. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4193"/>
          <seriesInfo name="DOI" value="10.17487/RFC4193"/>
        </reference>
        <reference anchor="RFC4862">
          <front>
            <title>IPv6 Stateless Address Autoconfiguration</title>
            <author fullname="S. Thomson" initials="S." surname="Thomson"/>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <author fullname="T. Jinmei" initials="T." surname="Jinmei"/>
            <date month="September" year="2007"/>
            <abstract>
              <t>This document specifies the steps a host takes in deciding how to autoconfigure its interfaces in IP version 6. The autoconfiguration process includes generating a link-local address, generating global addresses via stateless address autoconfiguration, and the Duplicate Address Detection procedure to verify the uniqueness of the addresses on a link. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4862"/>
          <seriesInfo name="DOI" value="10.17487/RFC4862"/>
        </reference>
        <reference anchor="RFC6939">
          <front>
            <title>Client Link-Layer Address Option in DHCPv6</title>
            <author fullname="G. Halwasia" initials="G." surname="Halwasia"/>
            <author fullname="S. Bhandari" initials="S." surname="Bhandari"/>
            <author fullname="W. Dec" initials="W." surname="Dec"/>
            <date month="May" year="2013"/>
            <abstract>
              <t>This document specifies the format and mechanism that is to be used for encoding the client link-layer address in DHCPv6 Relay-Forward messages by defining a new DHCPv6 Client Link-Layer Address option.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6939"/>
          <seriesInfo name="DOI" value="10.17487/RFC6939"/>
        </reference>
        <reference anchor="RFC8415">
          <front>
            <title>Dynamic Host Configuration Protocol for IPv6 (DHCPv6)</title>
            <author fullname="T. Mrugalski" initials="T." surname="Mrugalski"/>
            <author fullname="M. Siodelski" initials="M." surname="Siodelski"/>
            <author fullname="B. Volz" initials="B." surname="Volz"/>
            <author fullname="A. Yourtchenko" initials="A." surname="Yourtchenko"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="S. Jiang" initials="S." surname="Jiang"/>
            <author fullname="T. Lemon" initials="T." surname="Lemon"/>
            <author fullname="T. Winters" initials="T." surname="Winters"/>
            <date month="November" year="2018"/>
            <abstract>
              <t>This document describes the Dynamic Host Configuration Protocol for IPv6 (DHCPv6): an extensible mechanism for configuring nodes with network configuration parameters, IP addresses, and prefixes. Parameters can be provided statelessly, or in combination with stateful assignment of one or more IPv6 addresses and/or IPv6 prefixes. DHCPv6 can operate either in place of or in addition to stateless address autoconfiguration (SLAAC).</t>
              <t>This document updates the text from RFC 3315 (the original DHCPv6 specification) and incorporates prefix delegation (RFC 3633), stateless DHCPv6 (RFC 3736), an option to specify an upper bound for how long a client should wait before refreshing information (RFC 4242), a mechanism for throttling DHCPv6 clients when DHCPv6 service is not available (RFC 7083), and relay agent handling of unknown messages (RFC 7283). In addition, this document clarifies the interactions between models of operation (RFC 7550). As such, this document obsoletes RFC 3315, RFC 3633, RFC 3736, RFC 4242, RFC 7083, RFC 7283, and RFC 7550.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8415"/>
          <seriesInfo name="DOI" value="10.17487/RFC8415"/>
        </reference>
        <reference anchor="RFC2131">
          <front>
            <title>Dynamic Host Configuration Protocol</title>
            <author fullname="R. Droms" initials="R." surname="Droms"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>The Dynamic Host Configuration Protocol (DHCP) provides a framework for passing configuration information to hosts on a TCPIP network. DHCP is based on the Bootstrap Protocol (BOOTP), adding the capability of automatic allocation of reusable network addresses and additional configuration options. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2131"/>
          <seriesInfo name="DOI" value="10.17487/RFC2131"/>
        </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>
        <reference anchor="RFC4704">
          <front>
            <title>The Dynamic Host Configuration Protocol for IPv6 (DHCPv6) Client Fully Qualified Domain Name (FQDN) Option</title>
            <author fullname="B. Volz" initials="B." surname="Volz"/>
            <date month="October" year="2006"/>
            <abstract>
              <t>This document specifies a new Dynamic Host Configuration Protocol for IPv6 (DHCPv6) option that can be used to exchange information about a DHCPv6 client's Fully Qualified Domain Name (FQDN) and about responsibility for updating DNS resource records (RRs) related to the client's address assignments. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4704"/>
          <seriesInfo name="DOI" value="10.17487/RFC4704"/>
        </reference>
        <reference anchor="RFC9131">
          <front>
            <title>Gratuitous Neighbor Discovery: Creating Neighbor Cache Entries on First-Hop Routers</title>
            <author fullname="J. Linkova" initials="J." surname="Linkova"/>
            <date month="October" year="2021"/>
            <abstract>
              <t>Neighbor Discovery (RFC 4861) is used by IPv6 nodes to determine the link-layer addresses of neighboring nodes as well as to discover and maintain reachability information. This document updates RFC 4861 to allow routers to proactively create a Neighbor Cache entry when a new IPv6 address is assigned to a node. It also updates RFC 4861 and recommends that nodes send unsolicited Neighbor Advertisements upon assigning a new IPv6 address. These changes will minimize the delay and packet loss when a node initiates connections to an off-link destination from a new IPv6 address.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9131"/>
          <seriesInfo name="DOI" value="10.17487/RFC9131"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC6620">
          <front>
            <title>FCFS SAVI: First-Come, First-Served Source Address Validation Improvement for Locally Assigned IPv6 Addresses</title>
            <author fullname="E. Nordmark" initials="E." surname="Nordmark"/>
            <author fullname="M. Bagnulo" initials="M." surname="Bagnulo"/>
            <author fullname="E. Levy-Abegnoli" initials="E." surname="Levy-Abegnoli"/>
            <date month="May" year="2012"/>
            <abstract>
              <t>This memo describes First-Come, First-Served Source Address Validation Improvement (FCFS SAVI), a mechanism that provides source address validation for IPv6 networks using the FCFS principle. The proposed mechanism is intended to complement ingress filtering techniques to help detect and prevent source address spoofing. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6620"/>
          <seriesInfo name="DOI" value="10.17487/RFC6620"/>
        </reference>
        <reference anchor="RFC4861">
          <front>
            <title>Neighbor Discovery for IP version 6 (IPv6)</title>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <author fullname="E. Nordmark" initials="E." surname="Nordmark"/>
            <author fullname="W. Simpson" initials="W." surname="Simpson"/>
            <author fullname="H. Soliman" initials="H." surname="Soliman"/>
            <date month="September" year="2007"/>
            <abstract>
              <t>This document specifies the Neighbor Discovery protocol for IP Version 6. IPv6 nodes on the same link use Neighbor Discovery to discover each other's presence, to determine each other's link-layer addresses, to find routers, and to maintain reachability information about the paths to active neighbors. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4861"/>
          <seriesInfo name="DOI" value="10.17487/RFC4861"/>
        </reference>
      </references>
    </references>
    <?line 417?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Many thanks to Bernie Volz for significant review and feedback, as well as Hermin Anggawijaya, Brian Carpenter, Stuart Cheshire, Alan DeKok, James Guichard, James Guichard, Erik Kline, Mallory Knodel, David Lamparter, Ted Lemon, Eric Levy-Abegnoli, Aditi Patange, Jim Reid, Michael Richardson, Patrick Rohr, Mark Smith, Gunter Van de Velde, Eric Vyncke, Timothy Winters, Peter Yee for their feedback, comments and guidance. We apologize if we inadvertently forgot to acknowledge anyone's contributions.</t>
      <t>This document borrows heavily from a previous document, draft-ietf-dhc-addr-registration, which defined "a mechanism to register self-generated and statically configured addresses in DNS through a DHCPv6 server". That document was written Sheng Jiang, Gang Chen, Suresh Krishnan, and Rajiv Asati.</t>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="G." surname="Chen" fullname="Gang Chen">
        <organization>China Mobile</organization>
        <address>
          <postal>
            <street>53A, Xibianmennei Ave.</street>
            <street>Xuanwu District</street>
            <city>Beijing</city>
            <country>P.R. China</country>
          </postal>
          <email>phdgang@gmail.com</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+09bXPbNprf9Stw7nQaNxJjO2maePf2qthO4taOs7bTbmen
k4FISEJNkVq+WFG3vd9yv+V+2T0vAAhQpOyknbmbm9XONhZFAg8ePO8v4Gg0
GlS6StWh2LlUM11WqtDZTFypdDqaqUwVslKJOH17+1SMk6RQZalKUZd4z/Hr
I7i8M5CTSaFuWwOU4QB9z8bw6ywv1oeirJJBWU8Wuix1nlXrJYB0enL9cjBI
8jiTC/iaFHJajbSqpqNkHo8kjDnK8kpPNQwDD41SGK2suofRy+JQVEVdVgd7
e8/3DgayUBKAPs0A4kxVAEuelSor65LuUwNY0uPBKi9uZkVeL+HW4zXAoWPx
Oi8rcZRnUz2rC5p5Z3Cj1nBrApOZ8UbHCO3gVmW1OhwIcZ9BhGCAd36AWRFN
r/AhvL6QOoXrsOzV7BvEQJQXM/xBFvEcfphX1bI8fPQI78NL+lZF9rZHeOHR
pMhXpXpEIzzCJ2e6mtcTeHZ1Uy9koR8xes23bgzjc4xkb07zRMQDRjq/z0iP
7trMaF4t0p3BoKxklryXaZ4BYtaqHJQwaPX+H3UOYByKLB8s9aH4e5XHQ1Hm
RVWoaQl/rRf4x0+DgayreV7gDozg/0IwKf0gi0Jl4juCkK7rDEb7IfIvAe5k
pn8hcA7FqzyfpWoozs6O6FfFe7Kikb4xOICNb80krmqg/Ln4rtDlPJNZM9lV
FF6E6Q7FkS7jXFytgY8WsI7TLI782UoaLLoxz30zw8tRnC9as17Kn/WtGJcA
ezPhZeRdodlOs0QtFfwnq/xZCnw6knhv7wxnOSz7lxxIONWVP8tZFFzbjsQS
9ktVh/T3SFzN9aReS/F4dLA/ekwX47zOKpQP38qlwZMBMmUAvpnRkB0Qfgsb
fKazm/xWNtB9GwXXPga6fXEsixTZ8rRMgSjFZcIg6grge7suFrlBY5wnMD/K
mXANY5A+hUy19NcxrYtiHa4i/G3/ce8mXM0VgPOtltksoKvmSrjAF0r/jAt4
l4GAKEoAXORT8RZEUSlwRdcqVTDLos4MF5YdeHiTR2J/T/xNV3VM81/m0seE
mYSuFKAScOLXUicAkzgGBVHo2EfT/t7e3rPWZh/NdRYgqcSJfsZVfTOpl1Wk
kjqKswHKbBhvUlebLP4KboaBlMdxr6LmAnMbziPO84lOVcdKv3o8HsI6JzDv
QmWZ0mIMctX8+LdaZqu6taINBLglvY0uo811LefJDBfVbPBgkOXFApB/S2rj
8uXRwf7+c/Pnk729r+2f+88f2z+fPT0wfz59/tje++zJ/leHg4HOpq3xnj49
2Gue3Id7RqORkBOkTVjH4HquSwFKt4Y1VyJRU52B3pZioUCSJqLKBY8Jl1iN
g7IvgJxENZcVXEzUrY6VmMtSgNAGRIsFsGrbIoDLINoroLM0XQOaWBHCD9Ka
CtGAIVvoJIHtGXyGurXIkzpGyhwMTisBgMLE+PgCmE/kS8WqVKZiiYsBOIZC
lUsVa5pGZ0Khfl6C/FQChDWqdxCzsKYaLoCZ84TWBMJlVgpYJFgCeT1JQebm
oJuAoODSFAVPqeNSLOtimSOk4uSDXCzhNmSnCvGnszitEwXomKt0CTgpb+A/
ksTHChQl/ADQ3agKRHoM30qxcz1X4ujk4osSVOyyypcilhloRMRNpuIKgazg
FoAdl7DzJ6GndOF8fGSRxtO7exA/N1m+ysQDXItiIMW0yGHzMoARrBPgnDWo
S9Q3u0P/YYCD8GGHBmjERAFHA7mrW9goGgYfsBhD5KRKAiIrCTgjieJDs4TF
KyKgRMH3BdAVrkHTPoI1Fs/xMVBSsOo53G921YKtkQivVFwXKLcu7F6XolJy
IRJUnLfG+KzLpY51XpdC4RJxO0ReVxNgRoBbF2oF5MCbbIDMEM1lnVbWOuVf
A1hXcw1bpQCYfK1Us09zmTDtB/iC73Sx0gsg/tx8mas1YfIftSxkVhEKKgKi
UAuAnxC2kCmYFSBpmBe7yBpuTzXSW9ZsgWFD3HFcBV4/fdvAAxbxDOVYBZxF
4xLxAyS6grUpQAgSib8GBawBlLlAU9VdApNTCaVph3hM2NPJmkH45z//jSTW
4/3ffutncbgbgTP8Z9aXF5F4yQA8HYp5voKtK4bMTW7V8PcC+WUuiwQlDsgi
pA1cFYHKsgf5oIItJZHj5mUvplnHrQZyOhsD9zDUKEZ/+y1qC8Blkd/qxEhA
INFMlwvClJN0jUS0W9GSiXjZk4qyBVgSQCYewNjmtm0CEriVabcuGxiXkpiD
JAzu5BBxvZA3jc+FoBYSZD2IUUSKREpDuUEwuQ0NcYWi+DP0VpCbiOdw6mNU
DZrNhAFKL3CCkKgSEGbn766ud4b8r3hzQX9fnvz13enlyTH+ffV6fHbm/hiY
O65eX7w7O27+ap48ujg/P3lzzA/DVRFcGuycj3/cYYTsXLy9Pr14Mz7bQa6v
gr3EpcJugRjTrAYUqiJZDgB3MdgR8AWeeXH09r//a/+JI+b950DM/OXZ/tdP
4MsKBAbPlmewOfwVeXsgl0slCxwFJUwsl7qSKbMR6BCQxMA2yNhf/h0x89Oh
+PMkXu4/+Yu5gAsOLlqcBRcJZ5tXNh5mJHZc6pjGYTO43sJ0CO/4x+C7xbt3
8c//kaKEG+0/+4+/DIiGOEbA4kycO366AF651WrFdGQoFaga3Lo8Ra4H9Ywb
RaxkGaXwx3I342ZsmCYgYZBB+fkiT4niQQx3DsXPRC05oI3xQZIgUysb0wiX
9ICx8H58fHz5/vLk1fuTN+MXZye7IOTod9YhOkvQwFZlIx8MoGW9XIIXawD1
R3bCJxq8UGiDmJ9Z5cls7UttfDoGBQFwE1n5SkyR6PYFsJu0Cx2RAEMLVVaS
MzdN1sa6sUqmExFmvWjjMx8qUNl06VL9o1agUcwdD0qlUK3Tl4P96Gvcmr8b
A/anXWvSnFo7Ns9GZoShuAJHE2zuoXBXLsHAXA1R9VyqCaAZ0FaWcgaYBjVb
gqtbWjvKIFyS0KzsNLDyOpWsuMAZQpPKfJnWqSWq2A/bIOUBUYAReDrt3Mku
pA7J6mEbEYXpVhwC+jSMM05g2AoNV1rdEgSPXRzQai7kba4TARaOKjXqiQVa
MzGIejBi5XSq46G1GLs1QZIDKGhwGshJEWm+tNIpma6Au0LFCpyJXZ/kQkrV
zVZtUiJKFEu4IdVG4gIpcwUrDB6zd5e+DYKq3orsiUrzFcjU8bQivMe4HbBd
gCDWZ8Qg93ZAAmWMu5CRtNBkRsIMUxmTYWThcxYI8wNgjBwOG8gSRuQ224Hb
DeJhBOJhdPrm5cXlud3IkBmeRAe7ZLk6W+cOKwOnDhdpl0EeCQpRcFXAzu6d
H/1pqVG/2xlOx442DTkaTQjcCZoQoOLVrgPRPFGIDLtzKolYsHeSS2NV5UYL
ILisLQHol3oW7cPz/+k+g8HDEX0eCvcxV/zPw56fHg5+Fa8vgBR/bR7/Vbw8
vby6Hr2+eCsuL95dn1y6X3+1mLg6ufwer9PsD3tmf9g3u/t3wIPSh81P7/Or
6Pn8yo/9eXOZo9Ff7nys79dPe6z34x4ri/hQgMC4GaU58Jfb9+2Pda2t7/OX
AEim4jFq3hFaTCewu8DfVxdnp0en14+iKOpb20iwwhb2MfP1bpSM7KNtXb/9
sft9vMcC4O//2CfO9gmPddJk7yec7fLk7dmPuFXjY+Ct69OrE3F+cnU1fnXS
N5v5di/k//61ffJjxAF90rD3sU/ngLZA78MiPWATdY8+cZEY63G6+H8Fvx9F
cxuzOWQx+fXi6pOBDJTVS44+7B92G3lv0XxM8I7GCQJHySid7Y/AjdvvZJOb
le82E7PXbbmnp9Lo8MCTDrzvSCAUbBpac3ur2evbeBLDsSnYeeUhoIfxvNeB
+/2Oawcd1x67Mfbh98fiifhKPBVfi2fi+cdc41Eejn7n/3gYj9AYBSPynhq6
Ehs3pODrenT3B0Ez6IehT+w+uH4x3tsNnwyAA1QPHC8cHG6l2txQLThUzsqe
b3P+G/JTGcaQE/KvjOFtQ/EVx1KtS4XxmU6P1JC69RfRsbA0b7z30ncX0AI2
DtM94CMfqAeixsGj7GLg4VnXzWDD2us2dg63GvfMWPAIWDh6rwce3SlF7P3n
PGsQpDEAsWu9xbPx3RdJPlDgZ+myCSYbB51H/sLzuqJBhwTpma9fevw/Fh6L
cjbCEhKxqbVgL7NSkmM50psWyB8nPBpofsfHQLPV8rXcuuUT3T3Mg1tZaJQZ
u3cO8wct6g9Csb/ZzecUazn0VKvSDxM4JoTb/zTYAuKVojxjm6lQuu/vRpZ3
OmkJWdP7QZwecwIVpZCdX31AOThTbqTOPbwwF2NZFNozJMwokVMjjxs10i0F
Biyq/PiTjY1gAjaENogpwZwuBkniWGegA0yQ5VamtYtq7oTY2BGA/NQGPPyZ
G6mvxBFfd7tVWEHdTGqG71mZGb9P+rlQm1EHNNQVK7HNSXF99IS9W32A9YD2
wdDXZgDI3GXDv70xHyIJwJVORqmeKkqE4lTLQk1VAXc0lwlnpV2zmYdAAlEP
Kpf0QY2VVpX4HkcUZ/6Ib+2IzWWjHu4ISG3VHmz5JkTGvJElqzFdaaKgnvxB
YdRlla9kkdyVZhCYVyvxkQxQPnQzuS1c1hUFSlvKm78+KHfvohRDbDDi+EdH
hJxhN+w3dEUIHm2+/OvxGzunSZB+vffEJEhVqPc9UbNF/xOQafoe73x/qVK5
fj+eIWTvscSPqbP046Q2ITqd7h0cHu4fHuwyTflchQDAf5aSmNqZS1TvgJHO
LQTwLkv1jUUFikaqn7BDDI21J6l2BaZz9Q4dga3ct86GWw0TgnrSHnMbE2ky
j5aFxhJD4Epc284Ul1vOJWZ/dlwlihgJr9LDBfxtoseFqktR5gs2pRB22ApV
jA4AJlNdAbsFXHpLOVOLboK1XOb5lAphuESDSesLvwiF808Esam+QA6oKhnf
wBPhKD1IQqP7InOsQOlsoguqA/GC8O3sAqVjiSSo8ERShY2pkXBIsM+zJdp2
LNo7MKQaElOogjd3AMIQJnoKUohw1uQ0bFJILpRv7HoOBPoHPWvLNhZIa2tj
jQidpJ6/kI1ZqOQnWHsCghTTO7hTWC4DyJvLW3QrhqYmZUrFqzRBK8fjKkeR
Ii0ZE1WUHcov3Jg+3kDaJYUhHvg1Gbte5geodZbmE+C9Ms7B+LE37u19DTda
drGZtXdnY58sG47msjbS82aA/eePOZ9BGPDnMIPKtMybkb3ckXNctkDJAjao
ocGCI50o40NOjKokzFJdhUrXu9EGIlEj3AuPzWRh5Q3L6XCLmqqAu8euM0qL
GmYw2UBYu7jMa8y/OS924TuqxCCmaugcA74XYprKGSasyOLEDM+Rr/mwnou1
57qZZIu4+Ax8WGPg2DlNYhZLMQdWu2yM3TckM8hCKVa+RsCzF4kCApCacO0L
FlCaIBjP6xKpTRFgn733p9ajTUq411prP7IxG2XL20YbpcRbFWHGbtg08NyQ
jfFV5nURq7a+yws901iW1kcspORMuRfTGmvwO4bzzDBvcg90W+fIAt4VESLM
BRoWKLbNgt8qUG12gWRn2qd1Bq4AFbeRMTJ6mRdksLnZm9pEGjLq3ays2ziL
KIQVPMIwGgJEKHtjRibkZFgTKxspxyqrrdoKZ9iRSyB9sBfQRDB2F9osO+zi
sOCDTWl8DUAVMihGxcg61x/gvlTNyPwNwjFUNcciZPT2OMxXP40eI2r9/PBu
kNTXthoFoPPRwsrGrBSTC2Q+gJqqNmoCGCvAcl+Su8qPuHoCWEe9TNi7w+oP
xM0E1L4ymtTUySUd/IgQhBEprrqA0eRElorpNm25F3YSABd2HijXIKvlo7Sc
kUJhuLAphLScwcRScKlrWiiZrHsW4m24q+/MUKD5ZpmPsRC7ipBLjxh8eYuJ
AtzaB+6q9BAPJJkcCfqMVMKeGlPVc51M/JRVR6M2nYO0O7TqxdNZyDBYh5uD
HDDSo3NJhkCP36Evb5QYm+po3dopyCaWt9gnRcXG3njoH1FqC+U94dFbX4gV
sMRvArTAeurMDUvrrk0g15fNVPUjpjUV3DQ5z0aP0SSNpTcBARdEVTlj5TlV
2LFWKB8BTnpjqbbMyoWuojCWro0ROwcfAEwtU2DOrO5MUZkswArhrb5FNbPA
wpAh24KmJBkpH3YWKzU6a4pMRTk6xLpggwCmaMuyDmJGBvCE2NTIctxOZHIq
+cm4Plt6osrILsaJUeEEb1guQ8ZoU1Zk6L5smU3OqJ1pdAA68YHJgbSa5/Vs
3qB354801HaYYC3otLnGHjJeeyNFMWUBsICGYzJOnKVDJGCQQNpMyJlxzcB7
Btkfzy2+zM/daQxjGyWwm7Ez/IOIhW+FuAj+Jhta48Oo1sa6LG1YyYho7NYa
ndGjLSvFWP7Y8oIuAru6WICMCCBpQehlTg6zFW4hNu5hKkWGtgyENdLlyYvT
N8d350fGMdbcpyqZEY2zaW2FCiJFNjfw5i0pfyGNyd9HHRN2mUj4bxUEnanV
bpHxr7xI+PlXXqT786+8iP9p50WYpzAtcvB/Ly3yZDMtEsgA55X0xmpbpR6t
FPNKtjwtF6kiAxrEC1gGLBlb/lo7Bro98nkHlCtZdoDgi12MsJApQr+wk1f4
aXVqy+BiXT8WZGpbS+PX7D+PHkebQj3Ol2y+t/bd2Q13hMLbj/muabhx7WRF
KNGDzA3m1Tf8eWs+bc/U+FkX7JAhjokbnwYN++2phjsIJ2qFYcD6xzaG7ghP
sMZyW3So55GPDOBcbyPfjoBIf17BjHWfqMpdg2zz8nGkdslEE95lhFpbyomI
UVseIeV1ANa6w/MuqBHHkEGcFwDeMmcT5Z6ZypB4yRTvKDLrozB0HCfoBTeB
xyxpHrNZKbaCQycIjWBxFx+h1T4JYrPoqWYORipPCr15suEwaeLSqGYQ4/Yk
G/zH4d66ZA/UN8tLCluxyWp7GWlxZZbnyz5SHzbTwhQ4gkxte8WUg1qmd9kl
eKilRWBgI7H5kR7TkqzfKyAzbl7uNICvuABqcM82lHZSI+wJaR0VY3ScLaAy
8QEvoQP+ReDela4eq7udyYt7U1uTaRzmiRr/o6fQzdRM+aNsqTOz7U/3Ljaz
Ss/1vhCVlyZvTvFs2zDU1w3EsfY7l0DuItC5iWE6FrpnU9gPrewUdpjF1ceO
49fpAUkWfkAgbK/iIozFQiUYEfD897CJiOfH9IoNoNm+l550BzZwB410DfmB
+ksRPqIQCpGUYRK4SQ2W9cSk8Le1aaFXajr6XVHGdjLbTKQ5cv3oRj4Etlhz
nlC7YwVMDMX1YhfcQKmbHbVpz/yWFQ13P/L6kdTyGrQCoEr/YhsRl4XOuQ+d
XV45wXu6o9yGVScmHuTBgTOY1Nscg/QTNZe3moQbeqzu+AZOVuczHBx4BUkD
lDz2+7vR2wI4AMEWwcRFXgbeQas/zq41liwkvLjmtLD1G0xQnDtlgu4OnE45
AZ9P7yfJzBkB3jMLQ0xUnmoIpC9P3qKcrRvhCicaWyLI9W5WYLhAV2/MiIkf
cWxiac3Ynjj3Cn0tqMpT7R48pQhClg31cnx5u+QifXZprQI6Joz0FkxWx+yS
qOmUKB8wbTJMac69gKHsqjZEimdtbAgyF6sJJy/ts2yasvmMh16hfVsEt2JY
T8eex0IBIuOkfBX0zTZKoLF4EzWVQBzY7yoX2BBc2jyKOL28Fvs4lvl+fnkk
HneliKWFsVTeOMai2TziwQua5kVEeI7zBcpEgs8B/zTaD8DftBFSJc3pGC1v
us7YeSartGihlru8eyuj2kqs2b7OBmwTZq28RJALZBpCsd4Tp1WS8OCPzVq2
ZpjQqDQB+97Av/Yy73d5d5u4NErPR5VlC2+9Jx+WulibWnSqA9nURrZAxEdU
GaQlNhxCPNtkXTbnTpiajKA0AjwwkOBkWHcpbtPNb2fv6wemkgDqsHTHDw4G
eMSIV5HnkSxLdXoAu3unQFgc3YVbATEGB3S+H0D2wKasOKLKSVUA49ne5629
BKneXbpo6A9c7LhOZdM+TOWlwa7J5ZJOe5FWulM5wNSCdqzKdRafNz9V1gzH
6/MityeAOd0lRSoLoKOsXkx4qO5AP5k7TV2TVXl2U7GoiVfSBwkd2gN0lsA4
XDZbZxo3D0RAQkdnTWrKhJrk5l70nChuHwTCA7KoS9NsTk5vDJYA3BXkTZ3B
Qvq2g3GNBTls02VDPmEaxolOWl9Tuko1OxL0VYxZM8x8E6VhABA3Ut0aa2yj
bx1G90jVER9b4Gb3aXffqA9VSG7XemHTX7KxJWTZQ5UoUfOsqaQ1mUbAsdfe
H89B1aU28GLgai/CqlQWrmVPVltirbAuK89yphNncsYxSPbPh2FFopfTkFS3
qz/4Zzu45M7b04sh6QM8o+ynXXtoFpqeIRgBowTYtId0bKIpECoWH0SpRp4h
yKC5HoAJKx72DDLs2a5d58TZ0TglhTWfZqqk0Rpl5QUv7QN5DBKj9N0d2J5v
67I5HvOQRYVMZzn48/NFmPP0qK1QvOmce/VNVSqHAzKgJ1n4hMKaiWGCB03d
+h6i3Wi01BQqCViP5cE5x4YjcWXPQEhxJklHM7AD4vMmhd5OwyJVntanuzSk
OFcXrKJZROnRLMejEskdArrhVVv9SBEVTKGCRoEfPZWbqLig48pgM4BRlw3j
w7ZwdGpK4m3XbFGWe5ilPYqsavRQDYYpis8Clj1RKHDDODdjzMlQV7ZpkA4/
W68LxRXdjHG7cbZu7u1izj4k6UgBkvw7WZpVRvP6sOExH2bOXZ+tAuJquASP
abAUPXSmju2Vw7HopCVkbpU0vs6Kp1jjsl4YDG3THxWfQAYqYRhwCROK4RVk
+oJljhTLHLwF8ezZ50HRDK17ZXnNrVmWnrHkKkd6bm4Q5KpCyRn1kEVnpPS7
AVQasqSax4PPNyrftBXkEz7jB0YwBGPmW8g1URlgdglOicZqk1aVt+nF6y7I
fHA5DuQqn58I/k2Tl+heOckwqo01PA9izmSgYrlxZItlCk+EDZv2Sbx1gkEw
bY8WsqHp/c8BjFQB9mIVkp2v8HEXOLhr5CUqWKfXvNmnXXoLWayAgdAzBiGf
N8ImqRkLvs+VUFxWUCFTHgN2b4CAfbKyNpohnIKwjn0ZVs9R8qljL4itA/Vx
ZMwLS1UTWcFT69EyXxFxzumkVkrB3aCPIfiEIjzsjnYDTzLSqAALsi06adOa
MC3zx6v7cQUwzLcu5EXmEJfYhB0jZXPe47LQtzIOTvV5rWcomMn6MxwEP6Ej
iqVQaoWyApZTL8EgQkMFKby5gUwJS9kugmwFK5XG+OKIpJUskNqcVs1ATYvL
ceMxEQyNZG5w48cXOaThBvdSKEj26yWlxrwjRNtOIdJYnoC73rX1pa2FtqFA
SlVKrK8kNJHSMhjjSn2rqzhUTYogNw6lrfpLnUXkb06gF3qrO81CiIomOatB
mA0527ZzNLaG2UPDe6Zniw4pgjly5NylF2ZqwHL8X+oFnlPuJve8EEuTLo7r
1Klx0FqHcflKpKWcUXPgeaTVNph8wRlEK0gw0fnCedoKHhobkS0pIHawab1q
NaKdqrKc3xI+xvDrsHxdzTD5rU17wdgm+Twvdryt/4CrK6k6k/oITJWRIwS3
DZRCpFgXR2w6KZVs5YK10eoj3JxtEA4bvuyyJUggMQY+xs1hq95GudjbBJra
OhBM+wTEKlgQRr9ancPQd8Yl7CITx+Ns5KLwCoXqxiA2AUDkqj7EHLLezJHx
UrZDbv8wQREv/kZ5Raaja2OHEDk6W5V9vVB0mqBKO140/tHdhBa0h4/e3LNj
3WZDOT7YIM5Umzsq6FGDZptdJylvaM/N2Pdj+9v4nEAXtuZyPiDJegZqHqnd
Ugk89HTPzTMYBBEwu3CO7ZUephsDr3KRoyZiQFHadjsx/vxFGPr9wgVA5SS/
VR3ZHq9bGe3mVuiTjDQDpIWgFet2EU4unxg1Fe+jKh9hwcPI+e2mztxz67oq
yM05xSYjYRPlgYRE8dMuhW4tDsgqnufG6qT3Pqz9ufgQz8aLIWElsOaXPFIE
kwoRGhfQo1ldeik7vNVZMEbQh10XqWcX8qJbAVXdxFQ5CebGczSPjWe5q2PY
dJWNsPUgl9naREnaDX78ZEeTNOK71U5t+qbtGZkbNSd31evk4hdV5O2jK5us
c5hTlu3pYV583s/iUl+Bs7w7QgV8ljC9/iQ4R5Prk12IsZ1vaClnbAjQVEDh
zOze5jAW7LENwiD6W0GpyqV/WpYmWjcuz7ii3owGT6wT+IB106TgnwTjFxdG
4spzBlx4tREo5twa1MJGNDGe3HnnR4bRzGsZBmOvpxYtZvQUFkvjfdrM+EaU
txHfGs8g1+jP8HmZhlrcWZNoZ8KC07A9uatDCcnyER2Mj8oRnZJ8hn8j5q+M
oceggrMZw+aVHDOEWRIJapNZ2O8RRsvrOL8KBAKlNi3evBMIqJUYEEfE8y7T
YJJ5bT2leID9IOCM+ZV9th3CdQTbuo+XRy+vxNX4+1PykPFFCT95fkTYRIBA
0vuExJ1FSxhi8DvhwPbWwD8oKeZ5auxmP/vDFNv0T3MCnMROeOhvVx6DOn3Z
I8DHmiY0u1yMBGdfVOzMn2PlBRYX4YDu9CRaM5XDec3uG1YKtT2R/ch5d18n
Yp1WkcsE748Gpxn7JI2/JPFg1RE1dLh9T3FlmakyDUt00VOfzcGSn5C75Dce
cXVB63D3tnXCmHhtT5Wfa27b2hiGSM6ELsN+MK+mrFUg1lRVLcDbgD3g475r
SqI3ExCV1WQPo3rCkEvC7XT1MmW9YaX3MZVeeCcvUBs0pXUo8sFNh+sVsg9I
2mAPjaoxW4lS5HTzDrfRPtsxhidYr5GSbvg5t/rj953awC+/whF5h/18S3fi
ydsqZ1aZmIB5D4WM5/waCuAphNMdRg0IYj+mdOg0oDhAUGIZSACmVzB3rSt8
W8QbBSiY5D1NzKXZjef0egM6F9sQxYQiv021gi69UAyYwYBucBTouAYTg6Xj
G0ioGTpvbCf7moZDim60xOInbQmtmg+ob3IRdpMXOfiIXFWzwXPhGRVNnKRV
pcLlLly+aMJgxmE07Mq2UpvXGm5lu8jxbNNjGg249ecAiDZPzcMc1QI5o2de
1rSaF0qSiJ1gnI4KHjOSL0vF1i7+K4LXG7k4HgXWkFcuMleUU9v4h8uw3+eU
Qwpv5qZ6Goxa7l3mk0Vkat5KYuUnp0WYHrDZ9Q0QUfDuC1nZMI55f4Su8IRn
zv9j5S0HgBFAxq9lg47zobmX2eR/vSSk9ADLCUFL2HFdkpdEkyLhlZrKNkwu
aWtXW3NmiQwkNabM2C6lFm+Dy6HN7WLBqBXZUjNmW2/fwTvd63cicZHZ9sOh
1wCORnmWOKcTAxFFTq8kNFJaksHjH6jfCp1u0+V+gS8Z8iTLalSYlaUqcjbp
vXM2727PZ/Eil7QDVIBudRQG+OjdGugMmnfxGM+zdeSSBQYNP4AD+6mXJOs/
Ax/gzXjDWOx9kwGRnisQotQMLKPCWgOOEpkaZiKYFM0ATtLWrs3MVS+TFNfK
K4YAC6OqlviGwNUq0jKT/DbC5j00+DbCJXigTSHRI1ORRE3EAI0Z3VasBmzX
HJO+HwJb9kNrwKR2ADO2Kcs9QqXKL/76EmN2tToUeKaluXJMMy859dpds2nu
NH2LF5cXh+JHczzul2AIZ7NUVS7Mx7/hUsEg8pfqZO898e+vyJzPKK7xLCO7
lv6z5ulQtz6cHmw87vc89T2FfTJ44i62KyI1Np2RtOGDfx6yL6KSf9+ZyrRU
O78NBudYiICZO67lfKGKTCvxfZ7+wkE0PMEfM8kUbKTz4UkOKJXgNGRs0euL
4N/X9JYLMc5mM7nSP8u1HIoXBb557kgWS4Xu+lBcVTUWZh7NMWyC1to4RYdD
fZfDYN9KjN+/AtcI3zG0+f2k0DfiO3ytyVCc45YA6r9DiwyE27G8xVAvOJUw
Ps50jSeSqQWSLjwXw9+369F4omZZnmqYF/lfvJUVZp9gKr0Ql0rDJOc4mwJD
hmctcQC4rUB/7TKfFzg1GPJXoAPnQwCOXq/1PSbSAG8KPAoz3/frDOQHwKEX
4BCsxQ8UsAAp9Ba5DUjQtVbrwkMo6kjXHTyrdYLZuEj8AGS4zDG69QtlXlYo
xSRZSuYYIOBv9oP9hlfYXWDnL1iIUb0PCqWN9yyB2YWvKBVzBVi0rcXSHU3k
bhx2vgc2LMxk3rGCaMd/c5PvH7dfloAVttvfSYfUfvwGPdPC9HwHinYHVR9m
a+yi0PNbFegRZf7LGofN2wmH7ReEmtbj5gWe0eB/AG+nui2mdwAA

-->

</rfc>
