<?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.5 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-li-savnet-intra-domain-architecture-06" category="std" consensus="true" submissionType="IETF" version="3">
  <!-- xml2rfc v2v3 conversion 3.19.1 -->
  <front>
    <title abbrev="Intra-domain SAVNET Architecture">Intra-domain Source Address Validation (SAVNET) Architecture</title>
    <seriesInfo name="Internet-Draft" value="draft-li-savnet-intra-domain-architecture-06"/>
    <author initials="D." surname="Li" fullname="Dan Li">
      <organization>Tsinghua University</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>tolidan@tsinghua.edu.cn</email>
      </address>
    </author>
    <author initials="J." surname="Wu" fullname="Jianping Wu">
      <organization>Tsinghua University</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>jianping@cernet.edu.cn</email>
      </address>
    </author>
    <author initials="L." surname="Qin" fullname="Lancheng Qin">
      <organization>Tsinghua University</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>qlc19@mails.tsinghua.edu.cn</email>
      </address>
    </author>
    <author initials="N." surname="Geng" fullname="Nan Geng">
      <organization>Huawei</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>gengnan@huawei.com</email>
      </address>
    </author>
    <author initials="L." surname="Chen" fullname="Li Chen">
      <organization>Zhongguancun Laboratory</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>lichen@zgclab.edu.cn</email>
      </address>
    </author>
    <author initials="M." surname="Huang" fullname="Mingqing Huang">
      <organization>Huawei</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>huangmingqing@huawei.com</email>
      </address>
    </author>
    <author initials="F." surname="Gao" fullname="Fang Gao">
      <organization>Zhongguancun Laboratory</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>gaofang@zgclab.edu.cn</email>
      </address>
    </author>
    <date year="2024" month="January" day="21"/>
    <area>Routing</area>
    <workgroup>SAVNET</workgroup>
    <keyword>SAV</keyword>
    <abstract>
      <?line 96?>

<t>This document proposes the intra-domain SAVNET architecture, which achieves accurate source address validation (SAV) in an intra-domain network by an automatic way. Compared with uRPF-like SAV mechanisms that only depend on routers' local routing information, SAVNET routers generate SAV rules by using both local routing information and SAV-specific information exchanged among routers, resulting in more accurate SAV validation in asymmetric routing scenarios. Compared with ACL rules that require manual efforts to accommodate to network dynamics, SAVNET routers learn the SAV rules automatically in a distributed way.</t>
    </abstract>
  </front>
  <middle>
    <?line 100?>

<section anchor="sec-intro">
      <name>Introduction</name>
      <t>Source address validation (SAV) is important for mitigating source address spoofing and thus contributes to the Internet security. In the Source Address Validation Architecture (SAVA) <xref target="RFC5210"/>, SAV is divided into three checking levels, i.e., access-network SAV, intra-domain SAV, and inter-domain SAV. When an access network does not deploy SAV (such as SAVI <xref target="RFC7039"/><xref target="RFC7513"/>, Cable Source Verify <xref target="cable-verify"/>, and IP Source Guard <xref target="IPSG"/>), intra-domain SAV helps block spoofed packets from an access network as close to the source as possible <xref target="I-D.ietf-savnet-intra-domain-problem-statement"/>.</t>
      <t>The main purpose of the intra-domain SAV mechanism for an AS A, is to protect the outgoing packets of a subnet of AS A from forging their source addresses as other subnets' addresses or other ASes' addresses, as well as protect the incoming packets to AS A from forging their source addresses as AS A's addresses. The main task of the intra-domain SAV mechanism is to generate the correct mapping relationship between a source address (prefix) and the valid incoming interface(s), called SAV rules. The core challenge of the intra-domain SAV mechanism is how to efficiently and accurately learn the mapping relationship. Although many existing intra-domain SAV mechanisms (such as ACL-based filtering <xref target="RFC2827"/>, strict uRPF <xref target="RFC3704"/>, and loose uRPF <xref target="RFC3704"/>) have been proposed, they suffer from either inaccurate mapping in asymmetric routing scenraios, or high operational overhead in dynamic networks. The key cause is that exsiting mechanisms generate the SAV rules by a router's local routing information or by manual inputs. In <xref target="I-D.ietf-savnet-intra-domain-problem-statement"/>, five requirements for a new intra-domain SAVNET architecture are proposed.</t>
      <t>This document introduces the intra-domain SAVNET architecture to meet the five requirements. The key idea of intra-domain SAVNET is to generate SAV rules in routers based on SAV-specific information exchanged among routers, instead of depending on local routing information like in existing mechanisms. It achieves accurate SAV validation, because SAV-specific information is specialized for SAV and thus helps generate more accurate SAV rules than solely using local routing information. It achieves automatic SAV rule update, because SAV-specific information exchange is triggered when there is topology change or prefix change. In the incremental/partial deployment scenario where only part of intra-domain routers support the intra-domain SAVNET, it provides incremental benefits by using SAV-specific information provided by routers that support the intra-domain SAVNET, and/or local routing information to generate SAV rules.</t>
      <t>The reader is encouraged to be familiar with <xref target="I-D.ietf-savnet-intra-domain-problem-statement"/> and <xref target="huang-savnet-sav-table"/>.</t>
      <section anchor="requirements-language">
        <name>Requirements Language</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>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>Local Routing Information: The information in a router's local RIB or FIB that can be used to infer SAV rules.</t>
      <t>SAV-specific Information: The information specialized for SAV rule generation, which is exchanged among routers.</t>
      <t>SAV-related Information: The information used by a router to make SAV decisions. For intra-domain SAV, SAV-related information includes both local routing information and SAV-specific information.</t>
      <t>SAV-specific Information Communication Mechanism: The mechanism for exchanging SAV-specific information between routers. It can be either a new protocol or an extension to an existing protocol.</t>
      <t>SAV Information Base: A table or data structure in a router which stores SAV-specific information and local routing information.</t>
      <t>SAV Rule: The rule in a router that describes the mapping relationship between a source address (prefix) and the valid incoming interface(s). It is used by a router to make SAV decisions and is inferred from the SAV Information Base.</t>
      <t>SAVNET Router: An intra-domain router which runs intra-domain SAVNET.</t>
      <t>SAVNET Agent: The agent in a SAVNET router that is responsible for communicating SAV-specific information, processing SAV-related information, and generating SAV rules.</t>
      <t>Host-facing Router: An intra-domain router of an AS which is connected to a host network (i.e., a layer-2 network).</t>
      <t>Customer-facing Router: An intra-domain router of an AS which is connected to a customer network running the routing protocol (i.e., a layer-3 network).</t>
      <t>AS Border Router: An intra-domain router of an AS which is connected to other ASes.</t>
      <t>Improper Block: The validation results that the packets with legitimate source addresses are blocked improperly due to inaccurate SAV rules.</t>
      <t>Improper Permit: The validation results that the packets with spoofed source addresses are permitted improperly due to inaccurate SAV rules.</t>
    </section>
    <section anchor="sec-arch">
      <name>Intra-domain SAVNET Architecture</name>
      <section anchor="sec-arch-overview">
        <name>Overview</name>
        <t><xref target="fig-arch"/> illustrates intra-domain SAVNET architecture in an intra-domain network. In the intra-domain network, host-facing routers, customer-facing routers, and AS border routers are required to perform SAV filtering on specific interfaces (i.e., interfaces '#' in <xref target="fig-arch"/>):</t>
        <ul spacing="normal">
          <li>
            <t>Host-facing routers (e.g., Routers A and B) generate SAV rules on interfaces facing a layer-2 host network and block data packets with source addresses not belonging to the host network receiving from that interface.</t>
          </li>
          <li>
            <t>Customer-facing routers (e.g., Routers C) generate SAV rules on interfaces facing a layer-3 customer network and block data packets with source addresses not belonging to the customer network receiving from that interface.</t>
          </li>
          <li>
            <t>AS border routers (e.g., Routers D or E) generate SAV rules on interfaces facing another AS and block data packets with source addresses belonging to the local AS receiving from that interface.</t>
          </li>
        </ul>
        <figure anchor="fig-arch">
          <name>Overview of intra-domain SAVNET architecture</name>
          <artwork><![CDATA[
                +----------------------------------+
                |            Other ASes            |
                +----------------------------------+
                   |                            |
+------------------|----------------------------|--------------+
|    Intra-domain  |        SAV-specific        |              |
|                  |        message from        |              |
|                  |        Router A            |              |
|            +----+#+---+ --------------> +----+#+---+         |
|            | Router D |                 | Router E |         |
|            +-----/\---+ <-------------- +-----/\---+         |
|     SAV-specific |        SAV-specific        | SAV-specific |
|     message from |        message from        | message from |
|     Router A     |        Router C            | Router C     |
|            +----------------------------------------+        |
|            |      Other intra-domain routers        |        |
|            +-/\-------------------------------/\----+        |
| SAV-specific /       \  SAV-specific          | SAV-specific |
| message from/         \ message from          | message from |
| Router A   /           \Router A              | Router C     |
|     +----------+  +----\/----+          +----------+         |
|     | Router A |  | Router B |          | Router C |         |
|     +---+#+----+  +------+#+-+          +----+#+---+         |
|           \              /                    |              |
+------------\------------/---------------------|--------------+
              \          /                      |
            +--------------+            +--------------+
            |     Host     |            |   Customer   |
            |   Network    |            |   Network    |
            +--------------+            +--------------+
]]></artwork>
        </figure>
        <t>To generate more accurate SAV rules, intra-domain SAVNET requires routers to automatically exchange SAV-specific information. For example, a host-facing (or customer-facing) router can contain its locally-known prefixes of the host network (or customer network) in its SAV-specific information. The router can choose to only provide this information to specific routers or provide this information to all routers in the intra-domain network. The arrows in <xref target="fig-arch"/> indicate the direction of SAV-specific information flows originated from Router A and Router C. SAV-specific information flows originated from other routers are omitted for brevity.</t>
        <t>After receiving SAV-specific information provided by other routers, routers can generate more accurate SAV rules by using SAV-specific information provided by other routers, its own SAV-specific information, and/or routing information in the local FIB/RIB. For example, in <xref target="fig-arch"/>, Router B can identify all prefixes in the host network by using its own SAV-specific information and SAV specific information provided by Router A, even if there is an asymmetric routing between Router B and the host network. Routers F and G can identify all prefixes in the local AS by using SAV-specific inforamtion provided by Routers A, B, and C.</t>
      </section>
      <section anchor="roles-of-savnet-routers">
        <name>Roles of SAVNET Routers</name>
        <t>A SAVNET router can be a host-facing router, a customer-facing router, an AS border router, or other routers. Every SAVNET router has a SAVNET Agent that is responsible for actions related to SAV. As shown in <xref target="fig-role"/>, a SAVNET router can act as one or two roles in the intra-domain SAVNET architecture, namely, source entity to provide its SAV-specific information to other SAVNET routers, or/and validation entity to receive SAV-specific information from other SAVNET routers.</t>
        <section anchor="source-entity">
          <name>Source Entity</name>
          <t>When a SAVNET router acts as source entity, the information provider of its SAVNET Agent provides its SAV-specific information to other SAVNET routers that act as validation entity. For example, a host-facing router acting as source entity can obtain its SAV-specific information related to the host network to which it is connected and selectively provide this information to other SAVNET routers.</t>
        </section>
        <section anchor="validation-entity">
          <name>Validation Entity</name>
          <t>When a SAVNET router acts as validation entity, the information receiver of its SAVNET Agent receives SAV-specific information from other SAVNET routers that act as source entity. Then, its SAVNET Agent processes SAV-specific information provided by other SAVNET routers, its own SAV-specific information, and/or its local routing information to generate SAV rules on corresponding interfaces. As mentioned above, host-facing routers perform SAV filtering on interfaces facing the host network, customer-facing routers perform SAV filtering on interfaces facing the customer network, and AS border routers perform SAV filtering on interfaces facing another AS.</t>
          <figure anchor="fig-role">
            <name>Roles of SAVNET routers</name>
            <artwork><![CDATA[
+---------------------+              +---------------------+
|    Source Entity    |              |  Validation Entity  |
|     (Router A)      |              |     (Router B)      |
|                     |              |                     |
| +-----------------+ |              | +-----------------+ |
| |   SAVNET Agent  | | SAV-specific | |   SAVNET Agent  | |
| | +-------------+ | | Information  | | +-------------+ | |
| | | Information +----------------------> Information | | |
| | | Provider    | | |              | | | Receiver    | | |
| | +-------------+ | |              | | +-------------+ | |
| +-----------------+ |              | +-----------------+ |
|                     |              |                     |
+---------------------+              +---------------------+

]]></artwork>
          </figure>
        </section>
        <section anchor="sav-specific-information-communication-mechanism">
          <name>SAV-specific Information Communication Mechanism</name>
          <t>New intra-domain SAV solutions should design a SAV-specific communication mechanism to propagate SAV-specific information from source entity to validation entity. It can be a new protocol or an extension to an existing protocol. This document does not present the details of the protocol design or protocol extensions, but lists necessary features of SAV-specific communication mechanism in the following.</t>
          <t>The SAV-specific communication mechanism <bcp14>SHOULD</bcp14> define the data structure or format of SAV-specific information, and the operations of communication (such as communication establishment and communication termination). In addition, the mechanism <bcp14>SHOULD</bcp14> require source entity to inform validation entity of the updates of SAV-specific information in a timely manner, so that validation entity can update SAV rules based on the latest information.</t>
          <t>In order to ensure the convergence and security of the communication, the session of the SAV-specific communication mechanism <bcp14>SHOULD</bcp14> meet the following requirements:</t>
          <ul spacing="normal">
            <li>
              <t>The session can be a long-time session or a temporary one, but it <bcp14>SHOULD</bcp14> provide sufficient assurance of transmission reliability and timeliness, so that validation entity can update its SAV rules in time.</t>
            </li>
            <li>
              <t>Authentication can be conducted before session establishment. Authentication is optional but the ability of authentication <bcp14>SHOULD</bcp14> be available.</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="sec-arch-information">
        <name>SAV-related Information</name>
        <t>For intra-domain SAV, both SAV-specific information and local routing information can be used for SAV decisions.</t>
        <section anchor="sav-specific-information">
          <name>SAV-specific Information</name>
          <t>SAV-specific information is specialized for SAV and thus helps generate more accurate SAV rules. A SAVNET router can obtain its own SAV-specific information based on local routing information, local interface configurations, and/or other local configuration information. In addition, SAVNET routers acting as validation entity can obtain SAV-specific information of other SAVNET routers that act as source entity. By using SAV-specific information provided by other SAVNET routers, the SAVNET router acting as validation entity can generate more accurate SAV rules than solely using its local routing information.</t>
          <t>For example, customer-facing routers connected to the same multi-homed customer network can exchange locally-known source prefixes of the customer network through SAV-specific information communication. By processing both SAV-specific information of itself and SAV-specific information of the other customer-facing routers, each of them can identify all prefixes in the customer network and thus avoid improper block in case there is an asymmetric routing. <xref target="sec-use-case1"/> elaborates on this example.</t>
        </section>
        <section anchor="routing-information">
          <name>Routing Information</name>
          <t>Routing information is used for computing packet forwarding rules, which is stored in the router's RIB/FIB.  Although it is not specialized for SAV, it is widely used to infer SAV rules in existing uRPF-based SAV mechanisms, such as strict uRPF and loose uRPF <xref target="RFC3704"/>. A SAVNET router acting as validation entity can obtain routing information from its local RIB/FIB to generate SAV rules for some prefixes, when the corresponding SAV-specific information is missing.</t>
        </section>
      </section>
      <section anchor="sec-arch-agent">
        <name>SAV Rule Generation</name>
        <t><xref target="fig-sav-agent"/> shows the SAV rule generation process of the SAVNET router acting as validation entity. The SAV Information Manager of SAVNET Agent consolidates SAV-specific information provided by other routers, SAV-specific information of the router itself, and local routing information into the SAV Information Base. Then, it sends the consolidated information to the SAV Rule Generator. The SAV Rule Generator should preferentially use SAV-specific information to generate SAV rules for specific source prefixes. Local routing information is only recommended when some SAV-specific information is missing.</t>
        <t>SAV Information Manager also provides the support of diagnosis. Operators can look up the information in SAV Information Base for monitoring or troubleshooting purpose.</t>
        <figure anchor="fig-sav-agent">
          <name>Workflow of SAV rule generation</name>
          <artwork><![CDATA[
+--------------------------------------------------------+
|                      SAVNET Agent                      |
|                                                        |
|     SAV-specific     SAV-specific     Routing          |
|     information      information      information      |
|     provided by      of the router    in local         |
|     other routers    itself           FIB/RIB          |
|         +                  +               +           |
|         |                  |               |           |
|       +-v------------------v---------------v-+         |
|       |      SAV Information Manager         |         |
|       |      +------------------------+      |         |
|       |      | SAV Information Base   |      |         |
|       |      +------------------------+      |         |
|       +--------------------------------------+         |
|                          |                             |
|                          | SAV-related information     |
|                          |                             |
|       +------------------v--------------------+        |
|       |      SAV Rule Generator               |        |
|       |      +------------------------+       |        |
|       |      |        SAV Rules       |       |        |
|       |      +------------------------+       |        |
|       +---------------------------------------+        |
+--------------------------------------------------------+
]]></artwork>
        </figure>
        <t>The basic workflow of different kinds of SAVNET routers is summarized below:</t>
        <ul spacing="normal">
          <li>
            <t>For a host-facing router (or a customer-facing router), it processes SAV-related information to identify prefixes in the host network (or customer network) it connected to, and then generate SAV rules on the interface facing to the host network. Data packets coming from that interface will be considered invalid and should be blocked if they use source addresses not belonging to the host network (or customer network). In the incremental/partial deployment scenario when some routers do not deploy SAV-specific information communication mechanism, the host-facing router (or customer-facing router) may not be able to identify all prefixes in the host network (or customer network) through SAV-specific information. To avoid improper block in this case, the router is recommended to use less strict SAV rules. For example, it can choose to only block packets with non-global or non-routable source addresses by using its local routing information.</t>
          </li>
          <li>
            <t>For an AS border router, it processes SAV-related information to identify prefixes in the local AS, and then generate SAV rules on the interface facing to another AS. Data packets coming from that interface will be considered invalid and should be blocked if they use source addresses belonging to the local AS. In the incremental/partial deployment scenario, the AS border router may only identify partial prefixes in the local AS through SAV-specific information. In this case, the AS border router can still block data packets with source addresses in learned prefixes.</t>
          </li>
        </ul>
        <t>In addition, if the AS border router also implements inter-domain SAVNET, its intra-domain SAVNET Agent <bcp14>SHOULD</bcp14> send the intra-domain SAV-specific information to its inter-domain SAVNET Agent, helping the inter-domain SAVNET Agent generate inter-domain SAV rules or inter-domain SAV-specific information.</t>
      </section>
      <section anchor="data-plane-considerations">
        <name>Data-plane Considerations</name>
        <t>This document mainly focuses on SAV rule generation process on control plane, including exchanging SAV-specific information, consolidating SAV-related information, and generating SAV rules. As for data-plane SAV filtering, SAVNET routers check source addresses of incoming data packets against local SAV rules and drop those that are identified as using spoofing source addresses. Therefore, the accuracy of data-plane SAV filtering depends entirely on the accuracy of generated SAV rules. More data-plane considerations can be found in <xref target="huang-savnet-sav-table"/>.</t>
      </section>
    </section>
    <section anchor="sec-use-case">
      <name>Use Cases</name>
      <t>This section uses two use cases to illustrate that intra-domain SAVNET can achieve more accurate and efficient SAV than existing intra-domain SAV mechanisms. The two use cases have already been described in <xref target="I-D.ietf-savnet-intra-domain-problem-statement"/> to show that existing intra-domain SAV mechanisms have problems of improper block or high operational overhead.</t>
      <section anchor="sec-use-case1">
        <name>Use Case 1: SAV at Host-facing or Customer-facing Routers</name>
        <t><xref target="fig-use-case1"/> shows an asymmetric routing in a multi-homed host/customer network scenario. Router 1 and Router 2 adopt intra-domain SAV to block spoofing data packets with source addresses not belonging to Network 1 (e.g., a host network or a customer network) receiving from interface '#'.</t>
        <t>Network 1 has prefix 10.0.0.0/15 and is connected to two routers (i.e., Router 1 and Router 2) in the intra-domain network. Due to the inbound load balance strategy of Network 1, Router 1 only learns the route to sub prefix 10.1.0.0/16 from Network 1, while Router 2 only learns the route to the other sub prefix 10.0.0.0/16 from Network 1. After that, Router 1 or Router 2 learns the route to the other sub prefix through the intra-domain routing protocol. The FIBs of Router 1 and Router 2 are shown in the figure. Assume Network 1 may send outbound packets with source addresses in sub prefix 10.0.0.0/16 to Router 1 for outbound load balance. The arrows in <xref target="fig-use-case1"/> indicate the direction of traffic.</t>
        <figure anchor="fig-use-case1">
          <name>A use case of outbound SAV</name>
          <artwork><![CDATA[
 +-------------------------------------------------------------+
 |                                                      AS     |
 |                        +----------+                         |
 |                        | Router 3 |                         |
 | FIB on Router 1        +----------+  FIB on Router 2        |
 | Dest         Next_hop   /\      \    Dest         Next_hop  |
 | 10.1.0.0/16  Network 1  /        \   10.0.0.0/16  Network 1 |
 | 10.0.0.0/16  Router 3  /         \/  10.1.0.0/16  Router 3  |
 |                +----------+     +----------+                |
 |                | Router 1 |     | Router 2 |                |
 |                +-----+#+--+     +-+#+------+                |
 |                        /\         /                         |
 |   Outbound traffic with \        / Inbound traffic with     |
 |   source IP addresses    \      /  destination IP addresses |
 |   of 10.0.0.0/16          \    \/  of 10.0.0.0/16           |
 |                     +---------------+                       |
 |                     | Host/Customer |                       |
 |                     |   Network 1   |                       |
 |                     | (10.0.0.0/15) |                       |
 |                     +---------------+                       |
 |                                                             |
 +-------------------------------------------------------------+
]]></artwork>
        </figure>
        <t>In this case, strict uRPF at Router 1 will improperly block legitimate packets with source addresses in prefix 10.0.0.0/16 from Network 1 on interface '#', because it only accepts data packets with source addresses in prefix 10.1.0.0/16 from Router 1's interface '#' according to its local routing information.</t>
        <t>If intra-domain SAVNET is implemented in the intra-domain network, Router 2 can inform Router 1 that prefix 10.0.0.0/16 also belongs to Network 1 by providing its SAV-specific information to Router 1. Then, by combining both its own SAV-specific information and SAV-specific information provided by Router 2, Router 1 learns that Network 1 have both prefix 10.1.0.0/16 and prefix 10.0.0.0/16. Therefore, Router 1 will accept data packets with source addresses in prefix 10.1.0.0/16 and prefix 10.0.0.0/16 on interface '#', so improper block can be avoided.</t>
      </section>
      <section anchor="sec-use-case2">
        <name>Use Case 2: SAV at AS Border Routers</name>
        <t><xref target="fig-use-case2"/> shows a scenario of inbound SAV at AS border routers. Router 3 and Router 4 adopt intra-domain SAV to block spoofing data packets with internal source addresses receiving from interface '#'. The arrows in <xref target="fig-use-case2"/> indicate the direction of spoofing traffic.</t>
        <figure anchor="fig-use-case2">
          <name>A use case of inbound SAV</name>
          <artwork><![CDATA[
 Packets with +              Packets with +
 spoofed P1/P2|              spoofed P1/P2|
+-------------|---------------------------|---------+
|   AS        \/                          \/        |
|         +--+#+-----+               +---+#+----+   |
|         | Router 3 +---------------+ Router 4 |   |
|         +----------+               +----+-----+   |
|          /        \                     |         |
|         /          \                    |         |
|        /            \                   |         |
| +----------+     +----------+      +----+-----+   |
| | Router 1 |     | Router 2 |      | Router 5 |   |
| +----------+     +----------+      +----+-----+   |
|        \             /                  |         |
|         \           /                   |         |
|          \         /                    |         |
|       +---------------+         +-------+-------+ |
|       |     Host      |         |   Customer    | |
|       |   Network     |         |   Network     | |
|       |     (P1)      |         |     (P2)      | |
|       +---------------+         +---------------+ |
|                                                   |
+---------------------------------------------------+
]]></artwork>
        </figure>
        <t>If Router 3 and Router 4 deploy ACL-based ingress filtering, the operator needs to manually generate and update ACL rules at Router 3 and Router 4 when internal source prefixes change. The operational overhead of manually maintaining and updating ACL rules will be extremely high, especially when there are multiple inbound validation interfaces '#'.</t>
        <t>If intra-domain SAVNET is implemented in the intra-domain network, Router 1, Router 2, and Router 5 will automatically inform Router 3 and Router 4 of prefixes in the host network and customer network by providing SAV-specific information. After receiving SAV-specific information from other routers, Router 3 and Router 4 can identify all internal source prefixes. The SAV-specific information communication will be triggered if topology or prefix related to the host network or customer network changes. For example, if the customer network has a new source prefix P3, Router 5 will inform Router 3 and Router 4 of the new source prefix immediately through SAV-specific information communication mechanism. In this way, Router 3 and Router 4 can automatically generate and update SAV rules on interface '#'.</t>
      </section>
    </section>
    <section anchor="meeting-the-design-requirements-of-intra-domain-savnet">
      <name>Meeting the Design Requirements of Intra-domain SAVNET</name>
      <t>Intra-domain SAVNET architecture is proposed to meet the five design requirements defined in <xref target="I-D.ietf-savnet-intra-domain-problem-statement"/>.</t>
      <section anchor="accurate-validation">
        <name>Accurate Validation</name>
        <t>In the asymmetric routing scenario shown in <xref target="fig-use-case1"/>, the host-facing router (or customer-facing router) cannot identify all prefixes in its host network (or customer network) solely using its local routing information. As a result, existing intra-domain SAV mechanisms (e.g., strict uRPF) solely using local routing information to generate SAV rules will have improper block problems in the case of asymmetric routing.</t>
        <t>Intra-domain SAVNET requires routers to exchange SAV-specific information among each other. The SAVNET router can use SAV-specific information provided by other routers as well as its own SAV-specific information to generate more accurate SAV rules. The use case in <xref target="fig-use-case1"/> has shown that intra-domain SAVNET can achieve more accurate SAV filtering compared with strict uRPF in asymmetric routing scenarios.</t>
      </section>
      <section anchor="automatic-update">
        <name>Automatic Update</name>
        <t>In real intra-domain networks, the topology or prefixes of networks may change dynamically. The SAV mechanism <bcp14>MUST</bcp14> automatically update SAV rules as the network changes. However, ACL-based SAV mechanism requires manual efforts to accommodate to network dynamics, resulting in high operational overhead.</t>
        <t>Intra-domain SAVNET allows SAVNET routers to exchange the changes of SAV-specific information among each other automatically. After receiving updated SAV-specific information from source entity, SAVNET routers acting as validation entity can generate and update their SAV rules accordingly. The use case in <xref target="sec-use-case2"/> has shown that intra-domain SAVNET can achieve automatic update.</t>
      </section>
      <section anchor="sec-incre">
        <name>Incremental/Partial Deployment</name>
        <t>Although an intra-domain network mostly has one administration, incremental/partial deployment may still exist due to phased deployment or multi-vendor supplement. In phased deployment scenarios, SAV-specific information of non-deploying routers is not available.</t>
        <t>As described in <xref target="sec-arch-agent"/>, intra-domain SAVNET can adapt to incremental/partial deployment. To mitigate the impact of phased deployment, it is <bcp14>RECOMMENDED</bcp14> that routers connected to the same host/customer network can simultaneously adopt intra-domain SAVNET so that all prefixes in the host/customer network can be identified. For example, in <xref target="fig-use-case1"/>, Router 1 and Router 2 are recommended to be upgraded to SAVNET routers together so that the two routers can identify all prefixes in Network 1 and generate accurate SAV rules on interfaces '#'.</t>
        <t>In addition, SAVNET routers acting as validation entity are <bcp14>RECOMMENDED</bcp14> to support flexible validation modes and perform SAV filtering gradually to smooth the transition from partial to full deployment:</t>
        <ul spacing="normal">
          <li>
            <t>SAVNET routers acting as validation entity are <bcp14>RECOMMENDED</bcp14> to support flexible validation modes such as interface-based prefix allowlist, interface-based prefix blocklist, and prefix-based interface allowlist (see <xref target="huang-savnet-sav-table"/>). The first two modes are interface-scale, and the last one is device-scale. Under incremental/partial deployment, SAVNET routers <bcp14>SHOULD</bcp14> take on the proper validation mode according to acquired SAV-specific information. For example, if a customer-facing router can identify all prefixes in its customer network by processing acquired SAV-specific information, an interface-based prefix allowlist containing these prefixes can be used on that customer-facing interface. Otherwise, it should use interface-based prefix blocklist or prefix-based interface allowlist to avoid improper block.</t>
          </li>
          <li>
            <t>Validation entity is <bcp14>RECOMMENDED</bcp14> to performed SAV-invalid filtering gradually. The router can first take conservative actions on the validated data packets. That is to say, the router will not discard packets with invalid results in the beginning of deployment. It can conduct sampling action for measurement analysis at first, and then conducts rate-limiting action or redirecting action for packets with invalid results. These conservative actions will not result in serious consequences if some legitimate packets are mistakenly considered invalid, while still providing protection for the network. Finally, filtering action is enabled only after confirming that there are no improper block problems.</t>
          </li>
        </ul>
      </section>
      <section anchor="sec-converge">
        <name>Convergence</name>
        <t>When SAV-related information changes, the SAVNET Agent <bcp14>MUST</bcp14> be able to detect the changes in time and update SAV rules with the latest information. Otherwise, outdated SAV rules may cause legitimate data packets to be blocked or spoofing data packets to be accepted.</t>
        <t>Intra-domain SAVNET requires routers to update SAV-specific information and update SAV rules in a timely manner. Since SAV-specific information is originated from source entity, it requires that source entity <bcp14>MUST</bcp14> timely send the updated SAV-specific information to validation entity. Therefore, the propagation speed of SAV-specific information is a key factor affecting the convergence. Consider that routing information and SAV-specific information can be originated and advertised through a similar way, SAV-specific information <bcp14>SHOULD</bcp14> at least have a similar propagation speed as routing information.</t>
      </section>
      <section anchor="sec-security">
        <name>Security</name>
        <t>Typically, routers in an intra-domain network can trust each other because they would not compromise intra-domain control-plane architectures and protocols.</t>
        <t>However, in some unlikely cases, some routers may do harm to other routers within the same domain. Operators <bcp14>SHOULD</bcp14> be aware of potential threats involved in deploying the architecture. Some potential threats and solutions are as follows:</t>
        <ul spacing="normal">
          <li>
            <t>Entity impersonation.
            </t>
            <ul spacing="normal">
              <li>
                <t>Potential solution: Mutual authentication <bcp14>SHOULD</bcp14> be conducted before session establishment between two entities.</t>
              </li>
              <li>
                <t>Gaps: Impersonation may still exist due to credential theft, implementation flaws, or entity being compromised. Some other security mechanisms can be taken to make such kind of impersonation difficult. Besides, the entities <bcp14>SHOULD</bcp14> be monitored so that misbehaved entities can be detected.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Message blocking.
            </t>
            <ul spacing="normal">
              <li>
                <t>Potential solution: Acknowledgement mechanisms <bcp14>MUST</bcp14> be provided in the session between a sender and a receiver, so that message losses can be detected.</t>
              </li>
              <li>
                <t>Gaps: Message blocking may be a result of DoS/DDoS attack, man-in-the-middle (MITM) attack, or congestion induced by traffic burst. Acknowledgement mechanisms can detect message losses but cannot avoid message losses. MITM attacks cannot be effectively detected by acknowledgement mechanisms.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Message alteration.
            </t>
            <ul spacing="normal">
              <li>
                <t>Potential solution: An authentication field can be carried by each message so as to ensure message integrity.</t>
              </li>
              <li>
                <t>Gaps: More overhead of control plane and data plane will be induced.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Message replay.
            </t>
            <ul spacing="normal">
              <li>
                <t>Potential solution: Authentication value can be computed by adding a sequence number or timestamp as input.</t>
              </li>
              <li>
                <t>Gaps: More overhead of control plane and data plane will be induced.</t>
              </li>
            </ul>
          </li>
        </ul>
        <t>To meet the security requirement, the above security threats <bcp14>SHOULD</bcp14> be considered when designing the new intra-domain SAV mechanism.</t>
      </section>
    </section>
    <section anchor="manageability-considerations">
      <name>Manageability Considerations</name>
      <t>The architecture provides a general framework for communicating SAV-specific information between routers and generating SAV rules based on SAV-specific information and local routing information. Protocol-independent mechanisms <bcp14>SHOULD</bcp14> be provided for operating and managing SAV-related configurations. For example, a YANG data model for SAV configuration and operation is necessary for the ease of management.</t>
      <t>SAV may affect the normal forwarding of data packets. The diagnosis approach and necessary logging information <bcp14>SHOULD</bcp14> be provided. SAV Information Base <bcp14>SHOULD</bcp14> store some information that may not be useful for SAV rule generation but is helpful for management. The SAV-specific information communication mechanism <bcp14>SHOULD</bcp14> have monitoring and troubleshooting functions, which are necessary for efficiently operating the architecture.</t>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>An intra-domain network is mostly operated by a single organization or company, and the advertised SAV-specific information is used within the network. Therefore, the architecture will not import critical privacy issues in usual cases.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA requirements.</t>
    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>Many thanks to the valuable comments from: Igor Lubashev, Alvaro Retana, Aijun Wang, Joel Halpern, Jared Mauch, Kotikalapudi Sriram, Rüdiger Volk, Jeffrey Haas, Xiangqing Chang, Changwang Lin, Xueyan Song, etc.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="I-D.ietf-savnet-intra-domain-problem-statement" target="https://datatracker.ietf.org/doc/html/draft-ietf-savnet-intra-domain-problem-statement-02" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-savnet-intra-domain-problem-statement.xml">
          <front>
            <title>Source Address Validation in Intra-domain Networks Gap Analysis, Problem Statement, and Requirements</title>
            <author fullname="Dan Li" initials="D." surname="Li">
              <organization>Tsinghua University</organization>
            </author>
            <author fullname="Jianping Wu" initials="J." surname="Wu">
              <organization>Tsinghua University</organization>
            </author>
            <author fullname="Lancheng Qin" initials="L." surname="Qin">
              <organization>Tsinghua University</organization>
            </author>
            <author fullname="Mingqing Huang" initials="M." surname="Huang">
              <organization>Huawei</organization>
            </author>
            <author fullname="Nan Geng" initials="N." surname="Geng">
              <organization>Huawei</organization>
            </author>
            <date day="17" month="August" year="2023"/>
            <abstract>
              <t>This document provides the gap analysis of existing intra-domain source address validation mechanisms, describes the fundamental problems, and defines the requirements for technical improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-savnet-intra-domain-problem-statement-02"/>
        </reference>
        <reference anchor="RFC2827" target="https://www.rfc-editor.org/info/rfc2827" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2827.xml">
          <front>
            <title>Network Ingress Filtering: Defeating Denial of Service Attacks which employ IP Source Address Spoofing</title>
            <author fullname="P. Ferguson" initials="P." surname="Ferguson"/>
            <author fullname="D. Senie" initials="D." surname="Senie"/>
            <date month="May" year="2000"/>
            <abstract>
              <t>This paper discusses a simple, effective, and straightforward method for using ingress traffic filtering to prohibit DoS (Denial of Service) attacks which use forged IP addresses to be propagated from 'behind' an Internet Service Provider's (ISP) aggregation point. 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="38"/>
          <seriesInfo name="RFC" value="2827"/>
          <seriesInfo name="DOI" value="10.17487/RFC2827"/>
        </reference>
        <reference anchor="RFC3704" target="https://www.rfc-editor.org/info/rfc3704" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3704.xml">
          <front>
            <title>Ingress Filtering for Multihomed Networks</title>
            <author fullname="F. Baker" initials="F." surname="Baker"/>
            <author fullname="P. Savola" initials="P." surname="Savola"/>
            <date month="March" year="2004"/>
            <abstract>
              <t>BCP 38, RFC 2827, is designed to limit the impact of distributed denial of service attacks, by denying traffic with spoofed addresses access to the network, and to help ensure that traffic is traceable to its correct source network. As a side effect of protecting the Internet against such attacks, the network implementing the solution also protects itself from this and other attacks, such as spoofed management access to networking equipment. There are cases when this may create problems, e.g., with multihoming. This document describes the current ingress filtering operational mechanisms, examines generic issues related to ingress filtering, and delves into the effects on multihoming in particular. This memo updates RFC 2827. 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="84"/>
          <seriesInfo name="RFC" value="3704"/>
          <seriesInfo name="DOI" value="10.17487/RFC3704"/>
        </reference>
        <reference anchor="huang-savnet-sav-table" target="https://datatracker.ietf.org/doc/draft-huang-savnet-sav-table/">
          <front>
            <title>General Source Address Validation Capabilities</title>
            <author>
              <organization/>
            </author>
            <date year="2023"/>
          </front>
        </reference>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
          <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="RFC5210" target="https://www.rfc-editor.org/info/rfc5210" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5210.xml">
          <front>
            <title>A Source Address Validation Architecture (SAVA) Testbed and Deployment Experience</title>
            <author fullname="J. Wu" initials="J." surname="Wu"/>
            <author fullname="J. Bi" initials="J." surname="Bi"/>
            <author fullname="X. Li" initials="X." surname="Li"/>
            <author fullname="G. Ren" initials="G." surname="Ren"/>
            <author fullname="K. Xu" initials="K." surname="Xu"/>
            <author fullname="M. Williams" initials="M." surname="Williams"/>
            <date month="June" year="2008"/>
            <abstract>
              <t>Because the Internet forwards packets according to the IP destination address, packet forwarding typically takes place without inspection of the source address and malicious attacks have been launched using spoofed source addresses. In an effort to enhance the Internet with IP source address validation, a prototype implementation of the IP Source Address Validation Architecture (SAVA) was created and an evaluation was conducted on an IPv6 network. This document reports on the prototype implementation and the test results, as well as the lessons and insights gained from experimentation. This memo defines an Experimental Protocol for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5210"/>
          <seriesInfo name="DOI" value="10.17487/RFC5210"/>
        </reference>
        <reference anchor="RFC7039" target="https://www.rfc-editor.org/info/rfc7039" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7039.xml">
          <front>
            <title>Source Address Validation Improvement (SAVI) Framework</title>
            <author fullname="J. Wu" initials="J." surname="Wu"/>
            <author fullname="J. Bi" initials="J." surname="Bi"/>
            <author fullname="M. Bagnulo" initials="M." surname="Bagnulo"/>
            <author fullname="F. Baker" initials="F." surname="Baker"/>
            <author fullname="C. Vogt" initials="C." role="editor" surname="Vogt"/>
            <date month="October" year="2013"/>
            <abstract>
              <t>Source Address Validation Improvement (SAVI) methods were developed to prevent nodes attached to the same IP link from spoofing each other's IP addresses, so as to complement ingress filtering with finer-grained, standardized IP source address validation. This document is a framework document that describes and motivates the design of the SAVI methods. Particular SAVI methods are described in other documents.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7039"/>
          <seriesInfo name="DOI" value="10.17487/RFC7039"/>
        </reference>
        <reference anchor="RFC7513" target="https://www.rfc-editor.org/info/rfc7513" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7513.xml">
          <front>
            <title>Source Address Validation Improvement (SAVI) Solution for DHCP</title>
            <author fullname="J. Bi" initials="J." surname="Bi"/>
            <author fullname="J. Wu" initials="J." surname="Wu"/>
            <author fullname="G. Yao" initials="G." surname="Yao"/>
            <author fullname="F. Baker" initials="F." surname="Baker"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>This document specifies the procedure for creating a binding between a DHCPv4/DHCPv6-assigned IP address and a binding anchor on a Source Address Validation Improvement (SAVI) device. The bindings set up by this procedure are used to filter packets with forged source IP addresses. This mechanism complements BCP 38 (RFC 2827) ingress filtering, providing finer-grained source IP address validation.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7513"/>
          <seriesInfo name="DOI" value="10.17487/RFC7513"/>
        </reference>
        <reference anchor="IPSG" target="https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst2960/software/release/12-2_53_se/configuration/guide/2960scg/swdhcp82.html">
          <front>
            <title>Configuring DHCP Features and IP Source Guard</title>
            <author>
              <organization/>
            </author>
            <date year="2016" month="January"/>
          </front>
        </reference>
        <reference anchor="cable-verify" target="https://www.cisco.com/c/en/us/support/docs/broadband-cable/cable-security/20691-source-verify.html">
          <front>
            <title>Cable Source-Verify and IP Address Security</title>
            <author>
              <organization/>
            </author>
            <date year="2021" month="January"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 469?>



  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA8U92XIbyZHv+Ipa6WHEFQ6RmpPhHZuipBG9uixpxvZ6HI4C
ugC01eiG+yCHI9Hfsh+yT7s/tnnU2V3dAChtLBweEeg6srKy8qrM7MlkMqrT
OlOn4iKvSzlJio1Mc/G2aMqFEmdJUqqqEj/JLE1knRa5uPf27KeXT94dibNy
sU5rtaibUo3kfF6qy/Yg1DJsmBSLXG5guqSUy3qSpZNKXuaqnqRez4n0ukwe
fD0q5lWRqVpVp6NmC4DgH/jP6WgB/10V5fWpqOpkVDXzTVpVAOe76y2u6cm7
p6NRui1PRV02VX3y4MF3D05GslTyVLwpmjrNV6Orony/Kotme6ohHr1X1/Bj
Qt9HI9nU66I8HYnJSIg0r07F46l4nsIXXsljmfPXolzJPP2V8HQq3lUw+LqR
4sc8vVRlldbX0EbB+jKApkCE5r+rdaOpSprpIocGC2h3Kh6p9O8IG3wvGsAM
/HS+TnPpAfH7qfhjY4H4fSrzLfTg3w6A5O+64+8WqoR9uAUgz6fiD2luIXku
88VaAST84wGg/CNbHH/3O/y7mn4CYl5OxQ+KmjBAL2F/9A8hMM8aeaVSN/8K
GuWwKWv6fbooNgei4RzW7fCQmu/hrP+xLvLVqgEsNUA3cl6UsgYCdmBkKeLv
d7+uFpmc32L9L6a4Mg8BL6DDP5A2zM/DaFhjq43uc0tkPIU9kIWF4CmMqH84
EBkrWSyh86HYGI3yotzAJJfAI4S4mDyepqpeRpnNtizmmdpMqhp4yUblNfZ4
8/T85NuTb/SfD7958CX+Sagxg8A/k1pCV3wihGajQGmqlNkABz2XWzlPs7RO
VUU9LYPBUWS5UjVsQl1vq9PZDPpIgHXxXpW0gingbwZMdMb8Mw7QjIYiBilO
Hpw8HKX50kcHrOirk+MH+s9vHjz8zvz51fFDwtfrtz8Eqzov8mW6akqkosfP
zl+Lp0oic66EzBNobpb7QyPLxF+UoC8ANIyRVosigOz468mD4+iyr66upgts
j4Q3W8xUPmuqWZ3g0qtZdZXWcEaqWSbzGUgAmV0Db//u6wezqljWV8DeZ6XK
lKzU7PhkcvK3rx7+Df5c6DXQLsxWTZqoGXaqFisYMVkvtt+eTNf1JkNyQjRO
gEOly+sQEfhAr3byEz03KDBb/VYtAFHE2PZDw8nxYWiomu22KGvGxbwsZDIH
ECYE84whrzQMs5MHX393PKkYXl4Pr3E0nU5Ho8lkIuS8QgqrR6N367QSMGqD
p0DAudgWFWxxvVYijQh2X0qPxdUa+JaQ8JO6RLpYLBDVSvDcQmrsXIaqxBGM
DAgMxwdiRqEs5ohbRGGBtLsQV/IamGyx2cIOJwKIYC2aN6+fghbxXiFQYqMW
a+Au1QaBlrUo8uxaJGqrYIdgQhDyNQidL0RWLOCIlqwACHs6inxs1qabokxQ
tAwcvmwyWBlA1aB0EvMCAOgdisgCek2qrVqkSwDff6h+QUhXsAy5ARZo5hsL
QFKT6bHEpiiVwySC4KEPEVddbzaqLmFwA0G1ULks06JqY+rs/LleAKGmVP9o
Uhh9I/MGFqCWAFsNzwqcr9hsCqRO/Go2I7kGXp4uqg6K4KCVORGJw5HdM5nB
DiCkIkmBzNI59EloI5n4NmmSZGo0ukuqY5E0C1rbh7tAwcSmi5vR210UVIl0
gydCAtXCMmDQOl1JRkfYt9oWxRJ/x82p100FgiPXYNHicRkACelCwpyiKfzE
C+xl6r6SS2CdHYm/aD77V0IZgpmkl8B1EqR2nKpUSgAfW7xHiDI4NhlgN52q
6Rg3AWaYGORD/3HnDI5pFSlC6/0KaiGoD3RwaAy3gQUsMS9qPBBZcU0w3asa
PLQVfrkQHz78VsuDmxv9NwiEm5txwPaEZnsfPvhcEltFZAG0QmFyc3PUhV+s
VbaF8wRH6D3vDKBmi7IOCHFZFpvIIgDURQZcyeyV2d9KAK+qUoQSZjxI3N/c
TAXyPjwLANi2KZHtiWIZZXyOxxCpAYRnb8XZGHcXQILBkQioJxyPVYE7a5YE
I0oBJgqSFvyN/XiZMNAKG0KvtGyRLB4m6AqPSt0X+Jd7BiDws7O3yn8wxl5X
KssINR5UaQ6n24cKoD4EEmz7ReV+mwqLuVpW7/dAG2PKMlZsvSjKEgHcyC0Z
MSC96VhV63Qr5rD1Cim6fZjvbUu1TH850odZMWdwK6STsZQLda8C6kNWpBLH
oxjwBXJYgAyeATfeD/p1cYUrAJaZLlIgoIxVAMOn4atjibEVTcVZBlpBs1oj
970GWQCsUQPcM23lTirw8ckcVJtELNMMFogd/6LVVeA0yGQBkygX6WdUXf/K
RzMrkK7DJ0diLS8V4BgQrAV+MkbIr4HalksgLKILlRKRgWpthJFZWL8UKiVI
oTFS6DqFpRZbxaoXSJsCeMZaSdwrI1fMCdf7AiY47FgD8KZaYKlfwFrEsT2k
BEQUSGipxROQar+EBtCgqZaAab5t6opY/eEcZAybAWjUQhV/q5g9wLKudipP
8EVZ7E/beliqBeOemhiS5kYpPu0dqBx2QRBJpPfYeK0j6jCbWiVKMA0W+S10
HDARa9x9mJ2VM9wY6NC/U6Thpbk7Ko4IYMfqiNoZKktjoHAmp15oU9QO4Hfo
8yseLtg9HMMqCiysLE66qplVrnKB3qrMqIm9q2pBbtVcM5hgX9cesBtM08aV
6WqlSO1DPQDPLf8O5JUVq2uhm8L6mH/qH6ySA/yTiUVmM9Afa8CIVhmIHI2C
icPDyKRiY7MOLRlC0eZKH/ECOZCtgZpR5U8Oy84BvtrTuHsRoPsn2NTMS1xj
5+SwvzNART/pRQ/ClBWGEqgY2WIlFAgdIAUkdugwh5MHTC1LZcnK9+EchQjv
w4e4gQ8qC6jMd8Ubn988h5YNQMCg4RFHJ2Yl7rz48e27O2P+V7x8RX+/efKH
Hy/ePHmMf799dvb8uf1jpFu8ffbqx+eP3V+u5/mrFy+evHzMneFXEfw0uvPi
7M93WOLcefX63cWrl2fP7+DhrQO2JplVzRXLaaBFtAxkNQIyWIBGTmqyeHT+
+r//8/hLwMS/oIw7PgbVVH/59vibL+ELUjnPRqTIX1GAjUBCgRwmCQV60EJu
U6Aq1owqkOG5QAIGRP7rXxAzfz0Vv5kvtsdffq9/wAUHPxqcBT8Szrq/dDoz
EiM/Raax2Ax+b2E6hPfsz8F3g3fvx9/8NktzJSbH3/72+9EILa53qgQ9iZjC
aPScDoD2iQMrsAfglCRGwCnzrnh9c/EIOcpT+IfO3QK4IGxtU/GBgO6qDI5P
cJQHp4txZWKP+lgSe2fvAx7EuNDRM5IaBs8GJySgPR2CJKrULoYEgMELBpA7
T4syYpP504RYW2QNsrhPcBsM4A2t/U2Tg8VN314Y+cjLC40WjaNBjmq0boM/
lFV6U7UyyLoN2hbFosgEG0Pql1rlleab0hPYph0vIYD8EWgSp2CBEGvDcdDp
iYpswwqNR296n6u6QN9jL/Cs7faJXYbgTYP+POLiSEz+JETBhg1VvXr857FM
CLNAuPtRHZv8FR8oFPKknhv1t41VXipqdG9oTMByHhPSGq1lk1cxKemGOVuh
f5ywJlesnALAgUOIsQcgAia2ADHZ5Eh1C0egA4Q3RkpBk980ipwlZvfm+HM7
y1ieFVU9Adzi7ztWjQY52e+WeyyKPAc1mpmWBEuvqq3r4Z72zIhMXqtycmIe
HMGk5w2Q5AZ+/UwTL/R4dnLYmlwb5pam7dFrQfbQhwwmeQRqAAz1aTA5LwMM
erFBawW+P0LfDdOD55ZjH6bWwBBi42sgXShTKzDkNl3fMCrBcNzJH4QbridB
F26jWIp0FW4fmtco0OoDwTGOpygsWxqxPgQa7cocugXX7k202m5Ij3sF9vBl
CtzUPZgU+jdo8eHDMl1x8xuRZlmDDvtaRc9qaAv2O9c9db/7cEyUb4jZ2m2L
FpXbB3gcgXLmTGhGAUcEatuTSAiwh0eYsOV8F0bCMx/QfLEyNO398sXdL3A9
PjKOTkejiXjWhVXcU9MVdH+jv54RiI+OYjYtyWY7ix7HnfKAB+Ao7K8kGRUS
UpuA0Nc6V1nBklY7LIPhSrVQ6SU+1Wxc1g4W9JCLNmPpWd/54St72GUyn766
Lt/aucIu3bTW9hhVgicHLDA3vOqwBXUWwxoEDLNrEf/85z/p+s7/3J/s/Nzv
dProf3llOW7Q5PPM1J6s83AUGfbj0Byth/dHNH7ACt2UgfSPw/NxFAHQ/rSB
PQMNhDfkNgMwdQFj6MdIawBCyP27+M99ES72+/BhzwAfzaSPI7i3D594D2MQ
TGY/0yS/CUEIH7YHCPC9YxfCtnqAAN87diFsqwcI8N3ehfMoJs77cbDHxyKh
swv0eaUd2hGHVdgwAgEheejDDQIIAqzO9IOf43sQ3QUfqzPb8OfoHkR3wdsB
1x9GiJ2E3l3w0H9ff/t5Fiy23aaFRA+Oj963R/6R8ObunoX79qBZCPiHNgTD
p/HncLkzEfl0+EFAfAERzKJ00OGJ4YAeDNH529y+Rfv3h54FHXkhqCd114Vf
jJbRmREfvtSiPNbRf3Z7UFF+fjgVd41ix8E2/3bHqsU91xS+qnsH9OR3xU7/
fPcWmixX1lIr5zsuWiEM1sPe65ohd5D6RW62mRpr29FobffQ/A01uSNjd6FT
BYMQEBx0dpPWkV1P3ufoomRHgqrMzWRokXrDWptP6HH6AX2nbUgz+brQF+rs
y2dXOntrW45wO57BE10i9LdHv6tpmvabGwySLMviqmqr+PA9QZ8B3/ElKd4T
093dst/9s8xwoKJMQZsj3wHxQMt3UCs0DGZ66CisW/omTqEtRPRxYBQ0BoyA
3b3E8Z3muNfVRTD42M6Cu7Tz4umwS5LWTEgwSG79Xhl9TxLzWOqdZXX56cWj
2ZuLR63j0NrUsWP7uDYAKq8pkg7oxVK8HjageLvIXQAbN6rYiQlDFmOhLhXA
snRXZjJ6t228fnYJxsnnQzq15stTev7D7oVac2NgJ+WmB/4KF/CILfFzfTlU
ZMw3AhdgBaTZcthpt66MGP1jzxfVeZJ3bLexi0exfuMnwMSvWzOuZeXchuRT
7PUaSjrulTBuQOAqFOR0Zi5xLGmVBV6MjTv+yAVFEdUURpOTfxl2SJRFpuJM
KRrdiHHM2fXYWI24jfW1jvgh9jfEcp3/LAydQ3TNcMc8Z5UbmXnHwK2vx4/C
cWn/75o4rCc04mjEYWEt5ABiKKwnWNdYI6VzYMhLqFfqts5d3t4CB7zxen86
eBiUqm4JZPa3FkH7XsytXO0FzKOsDr+pC+MOrUOPKO5apTIURpdqh9SMbpHg
PfJCCPfapw6Gunul6Sa+V/rhADp6qSrYqQDVJL/zcZQyFuxcOUAotc/I3rLJ
ak/73+OjB4mCz5DpJMHVTEU8Bq+qoTfu+Ly4VFHHaL9js+ucalNYr1P10EHb
emCfU/aAYZ0jTfu44rZ3oNv3GejaHRSwpI5FQV87J8JZbveMrD7yzZqWlWMa
PTKNYm6gvs6dRtC5u6D73c7RRtAZGwZHQnzsGPfxRtT5fmfej8Eln+hpRJ3D
pj2Ok++DRh+9zq8Nzxc8TWfN+L83htmYX3rB7nSOg/1J2P6Eff4k2g4sWNQs
jAXb1sH0KbxzoyX0gZf5o9HLSDghhps1rCWBStRkCd5dpystRNwEi2BQFxLA
WsxWrjRrHJALHfUnIrFdoMAtIwREGP9o49ZBYa5YVQRDUNWYJ2jMYjuHXjnb
pfyTnRBkybypRQbzYUA5SiYJqunSpDK1Tco+fGmlcVlkYCEC5DoYbK++OuYn
AdU/1yZtGOwAkDPOhyzcsbU5bFQtgR/OakOGw59VhYEWabXmMCwYKHxeU1gQ
/X1Et4QySVKetQ5CSfRaTCZJhzYY4IhyqzdNp/IOmvIUX1CnqHxjoG6ONkZV
sCrSHRjpjkf1DWMTqEpGFs5Yt8JBLpBgEg65AFKhIFqKDc+BswFDxmsi0vc4
HcTAH6CNkVMpyj42LQ4hCReza+gqCNylm8533hT2jOGt1QRR5GbH4JxaYU4M
EjioL0z5oMTqyYy6ijHeHMQOdAILl7hWBB7+qnQqNSrIKWcscqA7bQeQb1Xt
uRdaL3QxxDgCX/41sOK8NkjRawLEYyIQKoVqie4Os7CAdKft3sA0iq2OMMfl
IjIN3BjdELbWmEAUXgIrwdgjtpt74sT8u3mPfICTx+PAKMzrdhFKQfScCXlz
gWfDsqMVIvb5Q5wB7xEL27O0Bv0y9jQO5ODxI6uQiiBzs7L6Pmun3Dho0gqy
9jlYy6RxtmOcgPWqelcDZHWoqfToFn66tkmkeUtoHw4u5BZx64PmFNqvgWne
Z8YEQUTEIiVwqg3mOE7W0CHpxgwspBfRHrrDNS7bXvHOEPW6pPyaXhwHzJg2
xQs7Gz66bFarbDmc4alB4w3sjZxREkQ0N93sdhFGIzbo6MrLInVBSjroIUVO
UqkdDs2p+PABORtwmwk2P765EcD+KBefLWRyauid1twnEig8Gr2JsDIT2agj
ALc6dI0iMfDHK1mS3a1vZ2zwGYV4JmbhNtr4zcWj2VN0L7scKnbNoIIYYW5j
/fgK8EqUHY1HDlJLKKWY2dTbIAcLpJ1WqPwkq77Mqi6b3JPZxAQCKd/uQGos
9Pg0cOkVkIkln7FNBWk5O4YkBUl/Um5Z2FDArC5v0JaHFAtqA9UwTYF/uSEf
bRWkZ3lh2+bMeerSfujiC6N2xOsLmcO0pWdusTUNLKiieiv1YY4oe0h3nXEN
MHOF8Q7ZrnN/ewJ2rScNdJ48qYweauAPQ8q9gfzNKUqHn/B3Yx8iYQBLyDG3
h0/FoN+2j8ZM8xZXnorn/auv+JaxVMiBYYkmT4kIdj967Nt3mVWFc0aTrNHZ
P5holspVXlQpQPdqy9jgizU4u+9BUe24UbVt3d4hTjAv8hQGIM8ZWA2wUNAe
AbcFMzfOIEYR2e812+Nzv8ej0fIVxf0Zg9FdQ59oyFD0B8PuO119NO75g+nq
n0L6hEeMuurD1Z41vJnFliyl3UffTcbR1HL1xH7yv/tdh+LMIt9d1/uTy+62
t3+6jMaw6H/7zkJ33k7XXrq8v7Prx/jR8J5/1ln3PEG9gXfhZ/hk7Ojak5Hw
+WaNrDVCI9HwNo8kWmy/B5SDN2egqx9USNNXrS6fd9Z9maqHpk/gw75712o3
xsf7R1DEMVZE6x1tJYcCk4CDgUaJJWy8xkm6ZCks3qco6ztuYtKDm81GlqTS
YoDyFfmBnpKHJ3IXeo8exK2NI5Np613JxUgZ1WNjhAwGY/SEH9WBzWddlXnP
9Zu+f9emvrnR6t7FTsVjP4ZbZ1JFArJB188y7Uaq8AKD1scZWOTGYx1o7mWa
LLniAepBt4jij+LhNunUWgsyu58UrXIte5iyzlwZW0AjNNJDIWIjr/WCBSXj
+bSwMzgnTg+7THHQVYte85UsTzRKx4GiXQX6IwCJO5dRgR+2zDxnVRiHVMdC
3ni6IDsgL/LJKivmkq4t8BvOTTjpJg7s5zGxBzcWN/PJJ9NED936vHm3vf9P
J603AePQs8TE0kYyETftt0OiHqM3FGs38V50iLQzL1JcVROq9s1FQSUXa8io
xLOq6KLCuTIZl93pyAxKkd65LkC7QJSuuRDPHmObQvvG0QSNxkf1WoppfD4e
dkwOZhOw0NvM0W27iSHisvOkL1v67l2i5ck2k7nCKoZEpuxHbtdZwbGAOJbw
veKjMuiy4KjdsgDqwcExxhETvHF5e+RXjz2r/naZrhidstTJ0np9QUxHx9dN
lca6pEax1fqMB5QpVxILtejD4NCPECXAp2EXiYmSqxv9i3yqUqrioDmirbfW
npY8FCXd7vCpYZf0gm5q+pakq8VU5AUq0Z+n+Znf2VBPUOrpBXq9vWEXASWY
+5Zl0VBBtR11N8SPsOxzichjH5jxnN5okqp0jDLREQYbIrtbUAc8IzaB07LT
zjHkmEWqDNPy2CP2beUpWiJ57vepIcVeoRAeqv4kMyxkcs1VoILyG7eoW4Jh
4lQhi4s27VHaimDQQzE9hnrAUAUpPuNmQ8TxKd9o1UFSKAwQT9Bub+Cx9WH6
znD2YcaDgel+2r/NQI1o1vHTG8lkwoLFsR+FfgLnoth2KYHqo7jqeJ0Tumdi
pknSODaZla3E9sBmcIpbK+vRSf0v7n4xxUgUM+qaSsxRKaHjB1P63+z4K1Op
ILwAoshbnebJGb5RhBwNpws8bmwBwDSf06nNCgmahszoBpuP14r4gYXTm4q0
ABKwldMriXKbubeUY17K14wAb6CrdQpSwe5e73DuAigc+EF8YODplDWAR8eH
tnRT7T2L0Vw6SGxXD2Cu8PTiER29HvLEO3gTbU0xCnjXqlAGgX2qPApDHYvU
BujKG7NT0elBDSzMAoNyzg7o73Q8c8Q/vP3pI4AT5KMmf/fW7gHtI9jh4en9
gP7G/on+AaIJde3P0AA2oe7hAJQ0AN4qFbnDfBSCsNFJMMBjVTmf9Ev1S/23
NagKQsx0shv909OIBvDPnUdYLkMOR/AJxWtkBnDP7Lq9DLufZyKcxTWKIbGD
/aHtiA3w0aGzlQN5EmncCwHlMxoIdAbknhCYj9kE0Ztw6AZ4Zc6bPid8gH92
/S/yyHNvAH3WL157x13YpEeYHzSNWgeaha30AHBGg700HxoBN7GvQT8O2oe8
7zj1DvCRFIuZTZjsQ/XAAAFV32aAe56UPTp8gE/Gwb6fj5/OVH3Hq+XqxvF6
ZvVYisMx9AqKE/pcQ8M8uLGv3YEkD4ZX24XVLa9EzU7xtVOqB8H1qDy5go6p
LlGORY63MMl+noE+BcUs6osqnI8qenOUhTbRh5xUF70lQa1PwcVlxIvHWO5G
AS0cBWoxTnZBBGnktmC9tQq11rlJrzE+tiEPhJnH3KRDZzBu52luA3v2TR3c
HSZg1unpalY/g0X6GjLW2MXJI3uH03XxERjIIbkytdyeWOITRsiU/Ui+KWaC
TtFdqxJOYnLW14m1vtpVp9qG1knH0DpxhpbziZNvwp5qPXCY0DJ10ttTWb/8
FIuKsIBGZgefgybRoCp6MqiKWmBaOulrH6wWnw6fjWwdq9fHs9cnLcYdPmvd
hA1VdXHPOBhBK6uC5W/fxz0LLtht3YaOyAlrOrTu1u3+dgWX3e2P3blcq+5c
EwdGcGkb6JjdT+xuOtCkot2ivQLsxbqFvfbQQSPr2kPxtL98ZXF4u7miS4nQ
SByHfrcYYcV7ed121O/ovzh25GGe2H87N9W2gIY/sgjKZ+gsJvfMq5DR6hU+
ac917/VxJ8vNPDmxTw5Z1ySyrkM+t7tBj+twJ3EdzmP2pMIte5i7vhJ1pfCB
d1LhTc/77bJj8AJPqaTiippY7B1ULnvJgAPrPAX3ihSnIrZmplvatoCw10em
kvY7PzPHr3cPa7QQoEzCgE9OtdRA4BcHhrlfAwsZ772gEzpCx0LpSFdd71gH
+KKXhlyR28z5xYIXxtReLT26T/psup7zrp2MfYx9pVWW1vtgfJWwhWFA0eAt
MyUstf2rgYrYf1m3d1GObqmPcQ+4nZjtPuKwMZn73OKbjXfF3PG2z1Rwd6Xb
h3LXI7fxmkA7t+I9UfRcpgFz+IK1iNcPx6393bWjOHx3nHSzUUnKr8w4LGLf
XR+4G9greT20SSEJxo5/cE3e0u3w2ueFUrW5vXzMeYZBAXZYZ6TyJ1qiu6p0
VvbtD923N+iMxuDVEpw+eMsbGr4yOTMXSi7fWtvMaui1Uu2iG56r9VYBJ7Az
eF/RG2SCxtoeQSaHJK6cIVFzTdjxnu9e4WsTz4fQmvHQqgN0ZsgobNlX9hbM
JHxowRjJ2ojTVayS1c7aVbpUOueiINOzvKqV5DUYKN4bQO+/imin8V3vruHF
0Fm9Ier2X9si/7e4Yw0vnRfBa9R8R1L/u2/4DWx80Ox7PX4kNkOnrFSc4NYR
qDq5q8vq+abetKJ7Fr2r+gU6yNZc3L9LL6VXGYTMr8PvZKU5dEtKPCuuADvl
2NO0wsEtud3iNXLBm+6GLnij/DOj6lzttDuP2On48EIGM4zbtB/iqqszMPIG
PETdRPmD0w5j0qmmV3J5e2acembbwwMRelsOPhDubTQ8PdPyhRd/9VrHTj12
8VfmrX3QCLR3m6DV93rHDfB1VGl1YSaZbEAZpqtbjm8aDvaim0aKqiIebqpy
b9dEpl5DzNegC/pLlSeYttJstW5LukO3gz3Aw5k/GBTIvfx8R52K5ucUn1Xt
oIpW4tRNvCoh7UcitzVnrA1hg4Io9WsPmfRBsGD+KWrT7QWanDjvZSJMFMM5
m/HIBgpuSxHBMldFU6E3O+p6wxWZbPG+UNL48HM/tqivsFygiPTfYrfiRjHJ
ersqZWIri4XsZKX4Xl3DXev4GYuooYRN5/71Yriiubdx2+yWacu4ymBnC5sG
tczgqGAIq9cLOLSO6YpXBkLksL2KA20KdGITGrBCQOoYnqFJaLVsMp82KWL9
/3oBJjPT4lGLK21pkLjAwh/jvhakf3EL5x+33gVjC9hxxL1KqYE4sSPmycu0
hLZIMhrPpRd8O6lAxChXyyOTVU2cEKMS1WVqWkzFjzm9ZmqQBXSIRAdx1vgO
ER0np3XNFvbC+yG50BX7+83otvHYl3EwfD5QFewx5E0i9k5Yxlq4DO65Ka+q
bbfKd9h4hRYKLRrba3GV3rlo9FVacSS5Dm+mi7wdROX0uAGSquNx8BQ4/lPn
mLQZuH2/gkaXCcSOHOVOCVhNpkgpGBmpykuJde1s8UVNPppuUJh4lyY4Gtdu
xJMqr4NQfbJ0KIshBVouk/ZNC8No3tChRcFcrVJ+3Qm/IdAKOV1aSNcHQbG0
zZhOmBGhqFcSC7jo2jb4ZvCU3Hm0RC84Xo8BhhIsaJKlG365pB4JK50qfUUT
jj8EP+G16sGhxQQ3psgn2JeC30FcgSKNhWYqPE+UBRK5gyYHH1AK7BPeGnej
7k1kGutFziOmXwBr1uDp+nCY0xxpYuwRil4uvdYO2Zl+tZokTZgqbZQbPkws
E7XvMe9cFxpzlrXHc6+eDquKpsLOja562Jf4oPX4oPAFx4qTdeNlqyTKvunW
KP+63kzc00PbWMcLA/nHHajZqv26K5lgkjNP7FYFt4msYJjcB8qYjl06cjO+
1VV9Bk/MsHer6b/I7qy4W1FpKt6muCdD2dftMsgt+yatHYD83sWgGBTtkp7T
JhXsNKTi5cVaceOmchk2gVFUMlxOCn0/+GpEYL14LyCXS33E67Dg09QmCzjV
uO3bGYwT0JLFwxu9IziBCeqUHH3a4SlRfQZboWQHZu+AWpwDLJlCRYEjt23n
Lh5k1Ve4BQs6mFpWfBBNaSuMYL/esunr6k/3v0WIllmXIDF9C9qEt1CqzxUJ
SWR86EgB2kmr1l2CzqPQofm+Z1QrpjpSld/upT0SqU6Wa3J8NyxyQ0mvvQ4y
6PCIJgWgqty4QqzmIR59LXDIvmFo/PIAXomoK6r0DcYUMNKcFd11qSTJrMsi
u2TLzpmD5Eb1VgJnjCpydLpTnpSt34ezyEqXAKtOBYp+XQUTWCtAXeRmF4WY
iNd2ODPEqXjR1OiJ6a12tV9xLVvlGnVXOnoppSDhrD/ILYB24cPTZ42DwprY
Baslqt/mYkk7SzJ5xS+J1qxirozPjUkl0ZjTAc6GbD3vrD5pJBXtS/PIHsC0
Wp1P4IGKabfpAkTwVDxSeMS1XDGr9HCl6zzQ28GYDwBIc4VHL3HtNQAsejgq
ZiJe6NdvEPenKju9O3a2wOJGIGZXrLZ4azPizfpWDcHqPfPeQKjIRiAmY0sA
u/ps5m0gWUGBLF2Q3ca2Iae9pUpzWnMBjD4u3s4ew3+AHdUgxcYoSUDjnABs
k02aJCCM7724ePfiyDag8j8oj/VVJL7QmlzFJnx03oCCNh1CBgKt5XtrOVjt
Td8ksAYdPp8KhEWDUpmWeK/K7J8qOBtc0DsYe4EIN1eixrTrQJ7l7cO4TBWw
RFPsTpZlytMSCzWgw87JyqtIaH5Hy2FVkij0Nw1Psn/NHCSncc4W6Rz01Vwv
6m0IF1UCE5PXQwsKVwMyulGudB+WeNJYTEj5RNpk5VbkzWaOBXpKUgaA32y2
bLRDn8+7nHfeNZplGt4dmk46w5rO7rnhyQGzNCo2XbTzZZxh8LF3u3s3k3Rn
SPU4TBXCbgJiKCVc9RqpHUYZqFsgnEjWLvd+iWb77a29WYR7vMV9+F2qWCWY
hDOcfs7Oax1ah0vLwyibY2tgwfE3iKV2GmRY9a9TCf7PZy9/YCJAH0ZmqxmG
lQDpvdDmWoGcs67uq7aElL5jIyC0X5iLDCHjYw2RtxtXnflFy3Suom8JK1dp
SMgtrBnPNELhJs6K1aqtS3bRNI3XWDGpuTWJbpSMgcpMvN4l8YMWtmyyvtcm
c1FQrvtomvlYOCBgoVPOlNRTr04SGd6tQknLJmfj2NR9Iysy2CCb6ojJnpZm
utoVvXfzdZleYhZo+5i133hqlFesKsV3EDy0eQEv+p7oTcQrWNKv0ngE6CIw
v3YOO0+bH7I4yLvkaZv+W2+CFFifE1h3Qboh1+cCOBTq5UAfvMi0qho255oK
FT7SfzUiLs5enu3IdsZbFzDYqaUfW0BcqyWEoTPwsWvKNH1fmUsB5PtkdrNH
HfgmWoagGK4AV88b4CxrdTkWZ9mlLAvxRtVAWfA1/XuTiz9KDNH6fQHn9pnM
APk5fKNL1hcSNLex+HegkPcyk9smScXbMgUmOBZv/ue/khSrG/1UZKBS/B6I
owQL45mUQEF/SmHMfyB1nK9pdPrnCv4vnqcw/J8adQ0y6m2Bz1SNMbaTyQQY
4OI9vg79fwGa/2aACpUAAA==

-->

</rfc>
