<?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.1 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-karboubi-spring-sidlist-compressed-cs-sr-00" category="info" submissionType="IETF" xml:lang="en" version="3">
  <!-- xml2rfc v2v3 conversion 3.18.1 -->
  <front>
    <title abbrev="CS-SR Policies with Compressed SID List">Circuit Style Segment Routing Policies with Compressed SID List</title>
    <seriesInfo name="Internet-Draft" value="draft-karboubi-spring-sidlist-compressed-cs-sr-00"/>
    <author initials="A." surname="Karboubi" fullname="Amal Karboubi" role="editor">
      <organization>Ciena</organization>
      <address>
        <email>akarboub@ciena.com</email>
      </address>
    </author>
    <author initials="C." surname="Alaettinoglu" fullname="Cengiz Alaettinoglu" role="editor">
      <organization>Ciena</organization>
      <address>
        <email>cengiz@ciena.com</email>
      </address>
    </author>
    <author initials="H." surname="Shah" fullname="Himanshu Shah">
      <organization>Ciena</organization>
      <address>
        <email>hshah@ciena.com</email>
      </address>
    </author>
    <author initials="S." surname="Sivalaban" fullname="Siva Sivabalan">
      <organization>Ciena</organization>
      <address>
        <email>ssivabal@ciena.com</email>
      </address>
    </author>
    <author initials="T." surname="Defillipi" fullname="Todd Defillipi">
      <organization>Ciena</organization>
      <address>
        <email>todd@ciena.com</email>
      </address>
    </author>
    <date year="2023" month="October" day="19"/>
    <area>General</area>
    <workgroup>SPRING Working Group</workgroup>
    <keyword>keyword1</keyword>
    <keyword>keyword2</keyword>
    <abstract>
      <?line 97?>

<t>Service providers require delivery of circuit-style transport services in a segment routing based IP network.
This document introduces a solution that supports circuit style segment routing policies that allows compressed SID lists.</t>
    </abstract>
  </front>
  <middle>
    <?line 102?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Service providers require delivery of circuit-style transport services in a segment routing based IP network. <xref target="I-D.ietf-spring-cs-sr-policy"/> introduces a solution that supports circuit style SR policies. However, the solution uses a fully specified SID list where the path is encoded using persistent or manually configured adjacency SIDs. Using a fully specified SID list causes a very large segment stack that may not be feasible for low-end edge devices often found in access networks.</t>
      <t>This document presents a solution that removes the fully specified SID list requirement while still maintaining the key features presented in <xref target="I-D.ietf-spring-cs-sr-policy"/>. It enables use of compressed SID list (i.e. allows the use of node SIDs) in circuit-style SR policies.</t>
      <t><xref target="I-D.ietf-spring-cs-sr-policy"/> defines circuit-style SR as an SR policy with the following characteristics:</t>
      <ul spacing="normal">
        <li>
          <t>Persistent end-to-end traffic engineered paths that provide predictable and identical latency in both directions</t>
        </li>
        <li>
          <t>Strict bandwidth commitment per path to ensure no impact on the Service Level Agreement (SLA) due to changing network load from other services</t>
        </li>
        <li>
          <t>End-to-end protection (&lt;50msec protection switching) and restoration mechanisms</t>
        </li>
        <li>
          <t>Monitoring and maintenance of path integrity</t>
        </li>
        <li>
          <t>Data plane remaining up while control plane is down</t>
        </li>
        <li>
          <t>Bulleted list item</t>
        </li>
      </ul>
      <t>Note that for some service providers the bidirectional co-routed paths may not be necessary.</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>SID : Segment Identifier</t>
      <t>SLA : Service Level Agreement</t>
      <t>SR : Segment Routing</t>
      <t>CS-SR : Circuit-Style Segment Routing</t>
      <t>PCE : Path Computation Element</t>
      <t>PCEP : Path Computation Element Communication Protocol</t>
    </section>
    <section anchor="problem-statement-issues-with-sid-list-compression">
      <name>Problem statement: Issues with SID list compression</name>
      <t>A PCE computes a path for the service according to the network state and available capacity at that time. These paths are referred to as intended paths. It then compresses the intended path into SIDs using a combination of node and adjacency SIDs as defined in SR architecture <xref target="RFC8402"/> .
Nodes in the network forward packet to node SID N by using their IGP (or flex-algo) shortest paths to N. This is referred to as path expansion. At the time of installing the compressed SID list, this expansion and the intended path are identical.</t>
      <t>However, network changes, particularly link and/or node failures and repairs may cause the intended path and this path expansion to deviate resulting in a service's traffic to use resources on a path that the PCE did not reserve any bandwidth on, causing service degradation for both this service and the other services on that path.</t>
      <t>Both the failure and repair cases are illustrated using the example network topology of figure 1. An SR policy from node A to node Z with two diverse traffic engineered candidate paths was computed by PCE and signaled to head end node A resulting in the following intended paths and their respective compressed SID List:</t>
      <ul spacing="normal">
        <li>
          <t>Candidate path 1:  intended path A-B, B-D, D-E, E-Z links and compressed as SID list B, E, Z</t>
        </li>
        <li>
          <t>Candidate path 2: intended path  A-C, C-D, D-F, F-Z links and compressed as SID list C, F, Z</t>
        </li>
      </ul>
      <figure anchor="figure1">
        <name>SR policy with 2 diverse candidate paths</name>
        <artwork alt="SR Policy"><![CDATA[
            +-----+                 +-----+
   +--------+     +--------+ +------+     +-------+
   |        | B   |        | |      | E   |       |
   |        +--+--+        | |      +-----+       |
   |           |           | |                    |
+--+--+     +--+--+      +-+-+-+               +--+--+
| A   |     |     |      |     |               |     |
|     +-----+  G  +------+  D  |               |  Z  |
+--+--+     +-----+      +-+-+-+               +---+-+
   |                       | |                     |
   |         +-----+       | |       +-----+       |
   |         |     |       | |       |     |       |
   +---------+  C  +-------+ +-------+ F   +-------+
             +-----+                 +-----+

    SR Policy A-Z:
      Candidate path1
        SIDList1 [B,E,Z]
      Candidate path2
        SIDList2 [C,F,Z]
]]></artwork>
      </figure>
      <section anchor="deviation-due-to-failures">
        <name>Deviation due to failures</name>
        <t>In Figure 2, link B-D fails. The expected circuit-style behavior is to start using the second candidate path.
Though this path may be used initially, once the IGP converges, the candidate path 1 becomes valid as node B regains a shortest path to the next node SID E.
Once the headend switches to the candidate path 1, the intended path and the expansion of the SID list which now becomes (A-B, B-G, G-D, D-E, E-Z) deviate. The service starts to use resources on B-G and G-D links where the PCE has not made a bandwidth reservation.</t>
        <figure anchor="figure2">
          <name>SR policy CP1 deviation after link failure and IGP convergence</name>
          <artwork alt="SR Policy deviation"><![CDATA[
            +-----+                 +-----+
   +--------+     +---xxx--+ +------+     +-------+
   |        | B   |        | |      | E   |       |
   |        +--+--+        | |      +-----+       |
   |           |           | |                    |
+--+--+     +--+--+      +-+-+-+               +--+--+
| A   |     |     |      |     |               |     |
|     +-----+  G  +------+  D  |               |  Z  |
+--+--+     +-----+      +-+-+-+               +---+-+
   |                       | |                     |
   |         +-----+       | |       +-----+       |
   |         |     |       | |       |     |       |
   +---------+  C  +-------+ +-------+ F   +-------+
             +-----+                 +-----+

    SR Policy A-Z:
      Candidate path1
        SIDList1 [B,E,Z] --> deviation from intended path due to failure
      Candidate path2
        SIDList2 [C,F,Z]
]]></artwork>
        </figure>
        <t>A possible solution to this is for PCE to monitor these deviations and correct the compressed SID lists. However, the PCE is not as real-time as the IGP (e.g. many BGP-LS implementations use periodic injection of IGP events into BGP) and PCE is burdened by many more services going over this link not just by the services originating at node A. As a result, relying on PCE to correct this behavior is not desired.</t>
        <t>This document proposes a simple extension to the active candidate path selection logic defined in <xref target="RFC9256"/> which renders the candidate path 1 ineligible for selection at the head-end node. Making a path eligible again is the responsibility of the PCE. This is elaborated in <xref target="failure"/>.</t>
      </section>
      <section anchor="deviation-due-to-repairs">
        <name>Deviation due to repairs</name>
        <t>Figure 3 shows an example where a link B-E  that was down at the time PCE computed the above two candidate paths is now repaired. When the link B-E repairs, the compressed SID list expands now to (A-B, B-E, E-Z) which is a deviation from the intended path. Though this path looks attractive, it may not have the bandwidth the service needs.</t>
        <figure anchor="figure3">
          <name>SR policy CP1 deviation after link repair and IGP convergence</name>
          <artwork alt="SR Policy deviation"><![CDATA[
               +--+-----------------+--+
            +--+--+                 +--+--+
   +--------+     +--------+ +------+     +-------+
   |        | B   |        | |      | E   |       |
   |        +--+--+        | |      +-----+       |
   |           |           | |                    |
+--+--+     +--+--+      +-+-+-+               +--+--+
| A   |     |     |      |     |               |     |
|     +-----+  G  +------+  D  |               |  Z  |
+--+--+     +-----+      +-+-+-+               +---+-+
   |                       | |                     |
   |         +-----+       | |       +-----+       |
   |         |     |       | |       |     |       |
   +---------+  C  +-------+ +-------+ F   +-------+
             +-----+                 +-----+

    SR Policy A-Z:
      Candidate path1
        SIDList1 [B,E,Z] --> deviation from intended path due to repair
      Candidate path2
        SIDList2 [C,F,Z]
]]></artwork>
        </figure>
        <t>This document presents a SID compression algorithm that is resilient to such repairs.  This is elaborated in <xref target="repairs"/>.</t>
      </section>
    </section>
    <section anchor="failure">
      <name>Dealing with deviation due to failures</name>
      <t>In <xref target="I-D.ietf-spring-cs-sr-policy"/>, the head-end node is responsible for detecting failures and switching to the next candidate path within 50 milliseconds. 
We introduce a new flag at the candidate path level called eligibility. When the head-end detects the path failure, it sets eligibility flag to false.</t>
      <t>Candidate path selection logic is modified so that eligibility flag must be considered as part of the candidate path validity check defined in <xref target="RFC9256"/>; that is only candidate paths with eligibility flag true must be considered valid.</t>
      <t>The eligibility of a path is also controlled by the PCE. The PCE may set it to true or false depending on whether the  expanded SID list matches the intended path. When the link B-D in Figure 2 repairs, it is the responsibility of the PCE to set the eligibility of the candidate path 1 to true. This allows eligibility mechanism to work across IGP areas and BGP autonomous systems.</t>
      <t>We introduce a second property that controls this new behavior. An operator who plans to implement circuit style policies would enable this property, see <xref target="control"/></t>
      <section anchor="headEnd">
        <name>Head end node procedure</name>
        <t>The head-end node shall run a connectivity verification protocol as specified in section 7.1 of <xref target="I-D.ietf-spring-cs-sr-policy"/>  to determine path failure. 
When the head end detects a failure of a candidate path, the eligibility flag is set immediately to false. 
Head end node will no longer consider this candidate path in its active path selection logic no matter what other link/node failures and repairs and IP convergence may happen in the network. 
If another candidate path exists, the head end will switch to the next eligible candidate path per the active candidate path selection algorithm.</t>
      </section>
      <section anchor="controllerpce-component-procedure">
        <name>Controller/PCE component procedure</name>
        <t>The PCE also maintains an accurate view of the network topology in all IGP areas and BGP autonomous systems in the network. After the failures have been repaired, the candidate paths that have been set as not eligible by head-end nodes may now be eligible again. In this case, PCE will set the eligibility flag of these candidate paths to true.</t>
        <t>It is up to the SR policy head-end node to reselect the active candidate path after PCE changes eligibility of the candidate paths. The head end may either implement a standard revertive behavior whereby it can revert immediately or wait for a period of time or implement a non-revertive behavior whereby traffic is not switched back automatically until there is a failure on the currently active candidate path. This behavior may be controlled by a SP provider policy and is outside the scope of this document.</t>
        <t>A PCE may also set a candidate path as ineligible if it detects that the SID list when expanded is different from the intended path. This step is not mandatory when head-end is able to monitor all candidate paths for failures. But, this step is necessary for implementations that do not monitor the inactive candidate paths.  This is an implementation detail. We allow PCE to set eligibility flag to true or false. The node is only allowed to set it to false.</t>
      </section>
      <section anchor="control">
        <name>Eligibility control flag</name>
        <t>The second configuration flag at the SR policy level is used by head end node to determine whether the behavior described in <xref target="headEnd"/> is desirable or not.
This flag is called eligibilityControl and when set to false (default) the SR policy has the same original behavior as defined in <xref target="RFC9256"/>.</t>
      </section>
    </section>
    <section anchor="repairs">
      <name>Dealing with deviation due to repairs/changes</name>
      <t>Network improvements and node and/or link repairs can also result in segment list expansions and intended paths to deviate.
Network improvement may include addition of brand new links or changes of link attributes such as metric, SRLG values, affinity values, etc. We assume these changes are done during maintenance-windows and under the supervision of an SDN controller and can be coordinated with the PCE directly. Hence, we focus on node and/or link repairs (not necessarily limited to the links used by the candidate paths).</t>
      <t>For repairs, we propose a segment compaction algorithm whose compaction is resilient to nodes and/or links repairs; that is the segment list expands to the same path before or after any of these down links in any combination repairs. Any algorithm that is resilient to repairs would work. We highlight one such algorithm in the next paragraph.</t>
      <t>While the PCE computes the intended path on current state of the network, the proposed segment compaction algorithm uses a network view where all down links are restored to produce the SID list for the intended path.
This compaction may not be as short as the compaction with the restored links as down but has the property that it is resilient to repairs. That is, the SID list will always expand to the intended path. This property is independent of the order at which the links are repaired</t>
    </section>
    <section anchor="protocol-and-model-changes">
      <name>Protocol and model changes</name>
      <section anchor="active-candidate-path-selection">
        <name>Active candidate path selection</name>
        <t>As described in <xref target="failure"/>, this proposal introduces a new criteria to the active CP selection criteria described in section 2.9 of <xref target="RFC9256"/>.</t>
      </section>
      <section anchor="pcep-extensions">
        <name>PCEP extensions</name>
        <t>The extensions defined in <xref target="I-D.sidor-pce-circuit-style-pcep-extensions"/> regarding the strict path enforcement (using strict adjacency SIDs) becomes optional.</t>
        <t>PCEP shall be extended to signal the 2 new properties that are the eligibility flag and eligibility control flag of the SR policy candidate paths.</t>
      </section>
      <section anchor="sr-policy-yang-changes">
        <name>SR policy Yang changes</name>
        <t>The eligibility control and eligibility flags shall be added for the SR policy and candidate path YANG models respectively.</t>
        <t>NetConf RPC calls can be used to set eligibility flag of candidate paths to true or false.</t>
      </section>
    </section>
    <section anchor="IANA">
      <name>IANA considerations</name>
      <t>This document includes no request to IANA.</t>
    </section>
    <section anchor="Security">
      <name>Security considerations</name>
      <t>TO BE ADDED?</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC8402">
          <front>
            <title>Segment Routing Architecture</title>
            <author fullname="C. Filsfils" initials="C." role="editor" surname="Filsfils"/>
            <author fullname="S. Previdi" initials="S." role="editor" surname="Previdi"/>
            <author fullname="L. Ginsberg" initials="L." surname="Ginsberg"/>
            <author fullname="B. Decraene" initials="B." surname="Decraene"/>
            <author fullname="S. Litkowski" initials="S." surname="Litkowski"/>
            <author fullname="R. Shakir" initials="R." surname="Shakir"/>
            <date month="July" year="2018"/>
            <abstract>
              <t>Segment Routing (SR) leverages the source routing paradigm. A node steers a packet through an ordered list of instructions, called "segments". A segment can represent any instruction, topological or service based. A segment can have a semantic local to an SR node or global within an SR domain. SR provides a mechanism that allows a flow to be restricted to a specific topological path, while maintaining per-flow state only at the ingress node(s) to the SR domain.</t>
              <t>SR can be directly applied to the MPLS architecture with no change to the forwarding plane. A segment is encoded as an MPLS label. An ordered list of segments is encoded as a stack of labels. The segment to process is on the top of the stack. Upon completion of a segment, the related label is popped from the stack.</t>
              <t>SR can be applied to the IPv6 architecture, with a new type of routing header. A segment is encoded as an IPv6 address. An ordered list of segments is encoded as an ordered list of IPv6 addresses in the routing header. The active segment is indicated by the Destination Address (DA) of the packet. The next active segment is indicated by a pointer in the new routing header.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8402"/>
          <seriesInfo name="DOI" value="10.17487/RFC8402"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.ietf-spring-cs-sr-policy" target="https://datatracker.ietf.org/doc/draft-ietf-spring-cs-sr-policy">
          <front>
            <title>Circuit Style Segment Routing Policies, Work in Progress, Internet-Draft,draft-ietf-spring-cs-sr-policy-00</title>
            <author initials="C." surname="Schmutzer" fullname="C, Schmutzer">
              <organization>Cisco</organization>
            </author>
            <author initials="Z." surname="Ali" fullname="Z, Ali">
              <organization>Cisco</organization>
            </author>
            <author initials="P." surname="Maheshwari" fullname="P, Maheshwari">
              <organization>Airtel India</organization>
            </author>
            <author initials="R." surname="Rokui" fullname="R, Rokui">
              <organization>Ciena</organization>
            </author>
            <author initials="A." surname="Stone" fullname="A, Stone">
              <organization>Nokia</organization>
            </author>
            <date year="2022" month="June" day="16"/>
          </front>
        </reference>
        <reference anchor="I-D.sidor-pce-circuit-style-pcep-extensions" target="https://datatracker.ietf.org/doc/html/draft-sidor-pce-circuit-style-pcep-extensions-04">
          <front>
            <title>PCEP extensions for Circuit Style Policies", Work in Progress, Internet-Draft, draft-sidor-pce-circuit-style-pcep-extensions-04</title>
            <author initials="S." surname="Sidor" fullname="S, Sidor">
              <organization>Cisco</organization>
            </author>
            <author initials="Z." surname="Ali" fullname="Z, Ali">
              <organization>Cisco</organization>
            </author>
            <author initials="P." surname="Maheshwari" fullname="P, Maheshwari">
              <organization>Airtel India</organization>
            </author>
            <author initials="R." surname="Rokui" fullname="R, Rokui">
              <organization>Ciena</organization>
            </author>
            <author initials="A." surname="Stone" fullname="A, Stone">
              <organization>Nokia</organization>
            </author>
            <author initials="L." surname="Jalil" fullname="L, Jalil">
              <organization>Verizon</organization>
            </author>
            <author initials="S." surname="Peng" fullname="S, Peng">
              <organization>Huwaei Technologies</organization>
            </author>
            <author initials="T." surname="Saad" fullname="T, Saad">
              <organization>Juniper</organization>
            </author>
            <author initials="D." surname="Voyer" fullname="D, Voyer">
              <organization>Bell Canada</organization>
            </author>
            <date year="2023" month="July" day="06"/>
          </front>
        </reference>
        <reference anchor="RFC9256">
          <front>
            <title>Segment Routing Policy Architecture</title>
            <author fullname="C. Filsfils" initials="C." surname="Filsfils"/>
            <author fullname="K. Talaulikar" initials="K." role="editor" surname="Talaulikar"/>
            <author fullname="D. Voyer" initials="D." surname="Voyer"/>
            <author fullname="A. Bogdanov" initials="A." surname="Bogdanov"/>
            <author fullname="P. Mattes" initials="P." surname="Mattes"/>
            <date month="July" year="2022"/>
            <abstract>
              <t>Segment Routing (SR) allows a node to steer a packet flow along any path. Intermediate per-path states are eliminated thanks to source routing. SR Policy is an ordered list of segments (i.e., instructions) that represent a source-routed policy. Packet flows are steered into an SR Policy on a node where it is instantiated called a headend node. The packets steered into an SR Policy carry an ordered list of segments associated with that SR Policy.</t>
              <t>This document updates RFC 8402 as it details the concepts of SR Policy and steering into an SR Policy.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9256"/>
          <seriesInfo name="DOI" value="10.17487/RFC9256"/>
        </reference>
      </references>
    </references>
    <?line 353?>



  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+1b63Ibx3L+zyq+w0T6EekIC5G0fGMcO+BFFE8oiiHl47Jc
p1KD3QEw5mIX2dklCEs6z3KeJU+Wr7tn9gaQlE+5UpWU5IuA3ZnumZ6+fN3T
iKJoe8uVOkv+U6d5ZvZVWVRme8suCv7oyr2dnW939ra3Yl3uK5tNcoUJ1Xhu
nbN5Vq4WmHN6/Pbl9pYujN5XJyYzhU63t5bTfXV1cXl6fqJ+yotrm03VSZFX
i+2t7a0kjzM9x8yk0JMyutbFOK/GNnKLAuMiZ5PUujKK8/miMM6ZJIpd5Ipo
Z4dml7ZMMffQFnFlS3VVrlKjrsx0brJSXeZVSbwu8tTG1ji1tOVMHdaU1NXp
kToDdSx4PC7MDQhdRVeXD09Q2HmqM2zLZNtb18v97S2lInVtVsu8SHZV5+se
vj5WiS6x0L2dvb1oh/5VUcTPlHVqYtMU1G2mdFXmc13aWKfpSo1X6nae7hWT
WNmJyvJSTe0NccSwWV6Aa6SKnARgElvmBfO1mdtXo6H6dy9JeiYSHs112nmc
F1OSnck0fTNzbdN9pf0R/FtML4YQ/N1sDodqlGpTQsz5NK0aVocmm9rf1l5u
ZBjz2C47pv5qqK5meqYasq/sXGduVjXPN1KcObzeQPAKBO2NTvVYZy2q9Iz/
N8ar7E6q0HIesoHw26E6MnSKdmFbhN/mSdJ7sZFyiXFtqvQKZgabKuwYGgED
fKyuQFI5GGJcVoVR2inRAkX2MVAYp6Y5dNZmZa5acx3R297K8oIU68awrl6+
PPzmxc7evrwjW269FfZKnUZHQ2vKSbBFMbwFGceKqSj1u+xvwNZPan5R5FMy
qYE6zUpTZKaMjsj8B+IE7mLKRk9sa/2nL1HQuYG6imfzqvzNFPKmFreL8+7Y
dwPopn1o1MVAvdYz42ZLXXQHj2xRmhSrT6zuzrkcYN/XVZ+2P/Bm3AirLeFm
O+PO8+tAr+0vvop2v/Ly1sXUwPvOynLh9p8/xyhdFjq+NgUf1RBknsOlPr9f
kM35wr/meBqbKJYzjBydIT1ZROa2NBn5dtc97ovD4wvVvFTQnp4KhCN/9Aln
7j3/J64k2nlxjw5cQapE5//++YdxZwP1Z53atDPuL6awv+XZ2t4v4Eo7A19V
S22semviWZan+RRH0p30FsvQOulM+nOV2UWwoTDwaKD+kq96lnVg0lQd6kwn
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
FTqP6J//ATNY3eBLQwAA

-->

</rfc>
