<?xml version="1.0" encoding="us-ascii"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.5.25 (Ruby 2.6.8) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

<!ENTITY RFC6437 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6437.xml">
<!ENTITY RFC8321 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8321.xml">
<!ENTITY RFC8200 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8200.xml">
<!ENTITY RFC8085 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8085.xml">
<!ENTITY I-D.song-ippm-postcard-based-telemetry SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.song-ippm-postcard-based-telemetry.xml">
]>


<rfc ipr="trust200902" docName="draft-filsfils-6man-structured-flow-label-02" category="std" consensus="true" submissionType="IETF" updates="6437" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="Structured Flow Label">Structured Flow Label</title>

    <author initials="C." surname="Filsfils" fullname="Clarence Filsfils" role="editor">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <street></street>
          <country>Belgium</country>
        </postal>
        <email>cf@cisco.com</email>
      </address>
    </author>
    <author initials="A." surname="Abdelsalam" fullname="Ahmed Abdelsalam" role="editor">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <street></street>
          <country>Italy</country>
        </postal>
        <email>ahabdels@cisco.com</email>
      </address>
    </author>
    <author initials="S." surname="Zadok" fullname="Shay Zadok">
      <organization>Broadcom</organization>
      <address>
        <postal>
          <street></street>
          <country>Israel</country>
        </postal>
        <email>shay.zadok@broadcom.com</email>
      </address>
    </author>
    <author initials="X." surname="Xu" fullname="Xiaohu Xu">
      <organization>Capitalonline</organization>
      <address>
        <postal>
          <street></street>
          <country>China</country>
        </postal>
        <email>Xiaohu.xu@capitalonline.net</email>
      </address>
    </author>
    <author initials="W." surname="Cheng" fullname="Weiqiang Cheng">
      <organization>China Mobile</organization>
      <address>
        <postal>
          <street></street>
          <country>China</country>
        </postal>
        <email>chengweiqiang@chinamobile.com</email>
      </address>
    </author>
    <author initials="D." surname="Voyer" fullname="Daniel Voyer">
      <organization>Bell Canada</organization>
      <address>
        <postal>
          <street></street>
          <country>Canada</country>
        </postal>
        <email>daniel.voyer@bell.ca</email>
      </address>
    </author>
    <author initials="P." surname="Camarillo" fullname="Pablo Camarillo Garvia">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <street></street>
          <country>Spain</country>
        </postal>
        <email>pcamaril@cisco.com</email>
      </address>
    </author>

    <date year="2022" month="March" day="07"/>

    <area>General</area>
    <workgroup>6man</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<t>This document defines the IPv6 Structured Flow Label. The seamless nature of the change to <xref target="RFC6437"/> is demonstrated. Benefits of the solution are explained. Use-cases are illustrated.</t>



    </abstract>



  </front>

  <middle>


<section anchor="introduction"><name>Introduction</name>
<t>The IPv6 header <xref target="RFC8200"/> contains a 20-bit field called &quot;Flow Label&quot; (FL) where the left-most bit is number 19 and the right-most bit is number0.</t>

<figure><artwork><![CDATA[
                   1                   0
 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Flow Label                |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        Figure 1: IPv6 Flow Label
]]></artwork></figure>

<t>The FL usage is specified in <xref target="RFC6437"/>, briefly for entropy purpose.</t>

<t>Instead of using FL as a single 20-bit entropy structure, this document updates <xref target="RFC6437"/> and defines the 20-bit FL field as a structure of two fields:</t>

<t><list style="symbols">
  <t>FLC: 4-bit per-packet control bits for generic application marking (e.g., group-based policy)</t>
  <t>FLE: 16-bit per-flow entropy (equivalent to <xref target="RFC6437"/> definition)</t>
</list></t>

<t>This document shows that updating <xref target="RFC6437"/> is a seamless migration operation, simply because a majority of chipsets deployed in the Internet and private domains do not use FL as documented in <xref target="RFC6437"/>: they use a subset of the 20 bits of the FL as entropy, i.e. as documented in this document.</t>

<t>This document further shows that even if a chipset were to use the full FL as a 20-bit entropy input for ECMP hash, then the change proposed in this document would not cause any significant backward incompatibility.</t>

<t>The seamless nature of the change being explained, the document then explains the benefits of the Structured Flow Label definition. Three use-cases are provided. Several more are expected in the future in separate documents.</t>

</section>
<section anchor="structured-flow-label-format"><name>Structured Flow Label Format</name>

<t>We define the Structured Flow Label as shown in Figure 2</t>

<figure><artwork><![CDATA[
                   1                   0
 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  FLC  |           FLE                 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  Figure 2: Structured Flow Label Format
]]></artwork></figure>

<t>Where:</t>

<t><list style="symbols">
  <t>FLC: 4-bit <spanx style="verb">[19, 16]</spanx>: per-packet Control not included in ECMP hash</t>
  <t>FLE: 16-bit <spanx style="verb">[15, 0]</spanx>: per-flow Entropy included in ECMP hash</t>
</list></t>

<t>FLE is defined as per <xref target="RFC6437"/>: i.e. <xref target="RFC6437"/> is strictly preserved, the only change is that it defines the usage of the 16 low-order bits <spanx style="verb">[15, 0]</spanx> instead of the full 20-bit of the Flow Label.</t>

<t>FLC is defined as follows: the 4-bit FLC field in the IPv6 header is used by the network for group-based policy marking. The value of the FLC bits in a received packet or fragment might be different from the value sent by the packet&#39;s source. FLC is not included in the ECMP hash computation. The definition of FLC is modeled on the definition of the &quot;Traffic Class&quot; <xref target="RFC8200"/>.</t>

<t>In the same way that &quot;Traffic Class&quot; is not an input for ECMP hash, FLC is not an input for ECMP hash.</t>

</section>
<section anchor="recommended-design"><name>Recommended Design</name>
<t>This section provides design recommendation of how customer packets are being forwarded within an operator network.</t>

<t>All customer packets are typically encapsulated at the edge of the operator network as illustrated in Figure 3.</t>

<figure><artwork><![CDATA[
            +------------------------------------------+
            |              Operator IPv6 network       |
            |                                          |
+---+     +-+--+         +------+       +-----+      +-+--+     +---+
| A |<>-<>| R1 |<>-----<>|  R2  |<>---<>|  R3 |<>--<>| R4 |<>-<>| Z |
+---+     +-+--+         +------+       +-----+      +-+--+     +---+
            | +--------+    +--------+    +--------+   |
            | | IP6(R1,|    | IP6(R1,|    | IP6(R1,|   |
            | |     R4,|    |     R4,|    |     R4,|   |
            | |     FL)|    |     FL)|    |     FL)|   |
+--------+  | +--------+    +--------+    +--------+   |  +--------+
|Pkt(A,Z)|  | |Pkt(A,Z)|    |Pkt(A,Z)|    |Pkt(A,Z)|   |  |Pkt(A,Z)|
+--------+  | +--------+    +--------+    +--------+   |  +--------+
            |                                          |
            +------------------------------------------+

      Figure 3: Packet forwarding within operator IPv6 network
]]></artwork></figure>

<t>When a customer packet is received at the edge router (R1) of operator IPv6 network, the packet is encapsulated using an outer IPv6 header. The outer IPv6 header defines the source edge router that encapsulates the packet (R1) and the destination edge router (R4) which has to decapsulate the packet before being forwarded towards its final destination.</t>

<t>R1 also sets the Flow Label (FL) of the outer IPv6 header which is computed based on the hash of the customer packet. Every subsequent router (R2 and R3) within the operator network forwards the packet based on the information of the outer IPv6 header.</t>

<t>For example, ECMP hash calculation on routers R2 and R3 is performed using the outer IPv6 header information (R1, R4, FL).</t>

</section>
<section anchor="seamless-migration-from-rfc6437"><name>Seamless Migration from RFC6437</name>

<t>Cisco and Broadcom report that the norm for their products:</t>

<t><list style="symbols">
  <t>do not set entropy in the 4 most-specific bits of the FL field</t>
  <t>do not use the 4 most-specific bits of the FL as input for ECMP hash</t>
</list></t>

<t>The authors believe that the same is likely for other vendors and are gathering data for future versions of this document.</t>

<t>Even if a chipset were to use the 4 most-specific bits of the FL field as input for ECMP hash while the 4-most specific bits of the FL field were used by other nodes in the network as FLC semantics (hence, per-packet marking, potentially not per-flow constant), still the impact would not be significant. Let us take an example to illustrate this.</t>

<t>Let us assume that:</t>

<t><list style="symbols">
  <t>Flow F is to be routed across an operator network.</t>
  <t>Using the Structured FL format, all the packets of F have an FLE value of 1010 1111 0100 0101.</t>
  <t>The operator leverages the FLC to mark the packets of F into two subsets S1 and S2.</t>
  <t>S1 has FLC value of 0000.</t>
  <t>S2 has FLC value of 0010.</t>
</list></t>

<t>We can have the following two scenarios:</t>

<t><strong>Scenario-1: Routers compliant to this document</strong></t>

<t>These routers will only use FLE for ECMP decision and hence all packets of flow F will be routed on the same path.</t>

<t><strong>Scenario-2: Routers implementing RFC6437</strong></t>

<t>These routers will use the full 20-bit (FLC+FLE) for ECMP decision. This could (but not always) lead to having S1 packets taking a different path from the ones of S2.</t>

<t>However, the scenario-2 is unlikely as per the chipset implementation reported in this doc.</t>

</section>
<section anchor="benefits"><name>Benefits</name>

<t><list style="symbols">
  <t>Seamless migration from RFC6437</t>
  <t>FLE of 16 bits is excellent to drive ECMP hash. <xref target="RFC8085"/> stated that 14 bits are sufficient <xref target="sec-entropy-bits"/></t>
  <t>FLC of 4 bits provides up to 200 to 400% improvement packet marking capability for operator controlled use-cases
  <list style="symbols">
      <t>Without FLC, operators can only mark 6 bits of the IPv6 header (Traffic Class)</t>
      <t>Many deployments consume 4 to 5 of these bits, leaving only 1 or 2 available</t>
      <t>4 new bits is a significant richness offered to operators to mark packets</t>
    </list></t>
  <t>Several use-cases will illustrate the usage of these FLC bits:
  <list style="symbols">
      <t>IPv6 End-to-End absolute loss measurement</t>
      <t>Programmed sampling of packets</t>
      <t>Postcard-based Telemetry using packet Marking (PBT-M)</t>
    </list></t>
</list></t>

</section>
<section anchor="sec-pm-end-to-end"><name>IPv6 End-to-End Absolute Loss Measurements</name>

<t>This section describes the usage of FLC bits to enable packet loss measurements <xref target="RFC8321"/> for IPv6 networks. We re-use the same reference topology from RFC8321 for our illustration (Figure 4).</t>

<figure><artwork><![CDATA[
    +-------+        +------+        +-------+        +-------+
--<>|   R1  |<>----<>|  R2  |<>----<>|   R3  |<>----<>|   R4  |<>---
    +-------+        +------+        +-------+        +-------+
            .                                         .
            .             End-to-End Loss             .
            <----------------------------------------->

            Figure 4: End-to-End Absolute Loss Measurement
]]></artwork></figure>

<t>In order for an operator to enable End-to-End packet loss measurements between routers R1 and R4 for a given flow:</t>

<t><list style="symbols">
  <t>The operator allocates one bit (C-bit) out of the FLC field to be used for packet coloring.</t>
  <t>The operator configures R1 to use the C-bit to color packets of the flow of interest.</t>
  <t>The operator configures R1 and R4 to match the C-bit and perform packet counting.</t>
  <t>The operator configures R4 to clear the C-bit before forwarding the packet.</t>
  <t>An SDN controller is used to collect the counters from R1 and R4 to perform End-to-End packet loss measurements.</t>
</list></t>

<t>The flow selection, flow identification, counters update, counters collection and counters correlation considerations are out of the scope of this doc. They can be realized using the techniques described in <xref target="RFC8321"/>.</t>

</section>
<section anchor="programmed-sampling-of-packets"><name>Programmed Sampling of packets</name>

<t>An operator can detect End-to-End packet loss by deploying the solution described in <xref target="sec-pm-end-to-end"/>}.</t>

<t>In some cases, the operator needs to identify the node(s) or the link(s) where the packet loss happens. In order to so, the operator would need to collect packet loss measurement from each hop on the packet path. Figure 4 shows the combination of End-to-End and per-hop measurements.</t>

<figure><artwork><![CDATA[
    +------+        +-------+        +-------+         +-------+
--<>|  R1  |<>----<>|   R2  |<>----<>|   R3  |<>-----<>|   R4  |<>---
    +------+        +-------+        +-------+         +-------+
           .        .       .                .         .
           .        .       .                .         .
           .        <------->                <--------->
           .        Node Loss                 Link Loss
           .                                           .
           .               End-to-End Loss             .
           <------------------------------------------->

           Figure 5: End-to-End and Per-Hop Loss Measurements

]]></artwork></figure>

<t>If the operator detects End-to-End packet loss, it will do the following:</t>

<t><list style="symbols">
  <t>The operator allocates another bit (H-bit) out of the FLC field to trigger per-hop measurements.</t>
  <t>The operator configures R1 to enable H-bit for sample of the flow that experience End-to-End packet loss.</t>
  <t>The operator configures each router on the packet path (R2 and R3 in Figure 5) to match the H-bit and perform packet counting</t>
  <t>An SDN controller is used to collect the counters, perform End-to-End and per-hop loss measurements, and identify the node(s) or link(s) where the packet loss happens.</t>
</list></t>

<t>The SDN controller aspects, flow sampling, flow selection, flow identification, counters update, counters collection and counters correlation considerations are out of the scope of this doc. Some of these considerations can be realized using the techniques described in <xref target="RFC8321"/>.</t>

</section>
<section anchor="postcard-based-telemetry-using-packet-marking-pbt-m"><name>Postcard-based Telemetry using packet Marking (PBT-M)</name>

<t>This section describes the usage of FLC bits to enable packet marking for PBT-M <xref target="I-D.song-ippm-postcard-based-telemetry"/>.</t>

<t>PBT-M enables each router along the packet path exports its telemetry data to the telemetry collector in the form of postcards as illustrated in Figure 6. In PBT-M a single bit is needed to mark the packet which then matched by each node to trigger telemetry export from intermediate routers.</t>

<figure><artwork><![CDATA[
                   +-----------------------+        
     +------------>|   Telemetry Collector |<--------------+
     |             +-----------------------+               |
     |                 ^                 ^                 |
     | Postcard        | Postcard        | Postcard        | Postcard
     |                 |                 |                 |       
    +------+        +------+         +------+         +------+
--<>|  R1  |<>----<>|  R2  |<>-----<>|  R3  |<>-----<>|  R4  |<>---
    +------+        +------+         +------+         +------+
               
    Figure 6: Postcard-Based Telemetry using packet Marking (PBT-M)
]]></artwork></figure>

<t>An operator that wants to deploy PBT-M, can do the following:</t>

<t><list style="symbols">
  <t>Allocates one bit (T-bit) out of the FLC field to be used for PBT packet marking.</t>
  <t>Configures R1 to enable T-bit for sample of the flow of interest</t>
  <t>Configures each router to match the T-bit and perform packet counting and send a postcard with its telemetry data to the Telemetry collector.</t>
  <t>An SDN controller is used to the collected postcards and analyze them.</t>
</list></t>

<t>The SDN controller aspects, flow sampling, flow selection, flow identification, postcard generation, postcard collection and postcard correlation and postcard processing considerations are out of the scope of this doc. Some of these considerations are defined in <xref target="I-D.song-ippm-postcard-based-telemetry"/>.</t>

</section>
<section anchor="acknowledgements"><name>Acknowledgements</name>

<t>TBD</t>

</section>


  </middle>

  <back>

    <references title='Normative References'>

&RFC6437;


    </references>

    <references title='Informative References'>

&RFC8321;
&RFC8200;
&RFC8085;
&I-D.song-ippm-postcard-based-telemetry;


    </references>


<section anchor="sec-entropy-bits"><name>Entropy</name>
<t>Section 5.1.1 of <xref target="RFC8085"/> discusses the usage of UDP for Source Port Entropy and states that 14 bits of Entropy are sufficient for most ECMP applications:</t>

<t><list style="symbols">
  <t>In IPv6 UDP tunnel, the BCP suggests the usage of UDP source port for ECMP hash calculation.</t>
  <t>A sending tunnel endpoint selects a source port value in the UDP header that is computed from the inner packet information.</t>
  <t>To provide sufficient entropy, the sending tunnel endpoint maps the encapsulated traffic to one of a range of UDP source values.</t>
  <t>The value SHOULD be within the ephemeral port range, i.e., 49152 to 65535, where the high order two bits of the port are set to one.</t>
  <t>The available source port entropy of 14 bits (using the ephemeral port range) plus the outer IP addresses seems sufficient for entropy for most ECMP applications.</t>
</list></t>

</section>


  </back>

<!-- ##markdown-source:
H4sIAJksJmIAA81b63LcthX+z6fApNOpZC05WllS452Mx7IusWfkRmMpdSad
doolsbuoSIIhSK03ljN5kPbl+iQ95wAgQS53vU78o5tpIoLAueHgOxewYRgG
laxSMWG3VVnHVV2KhF2lasmu+VSkAZ9OS/Gw6W2i4pxnsDgp+awKZzLV+L/w
NON5qJsl4QyWhCkuCQ+PgoRXYhLE8O+5KlcTpqskCGRRThis0NXR4eEzmMVL
wSfsW5GLkqfBUpX381LVxYQh8eBerGAombDXeSXKXFThBYoQ1AVS1zDr+Omf
gyBWicznE1brkOtYyqCQE/a3SsUjplVZlWKm4a9Vhn/8PdD1NJNaS5XfrQrQ
6vXl3VUQ8LpaqHISsDBgTOZA+zxiV1ZVGDIWOE9B4DwW/htVznkuf+YVUIQZ
UseK3a50JTLg+jqPI5hTKjS+SGSlSngUGZfphMWzFzFOj2KVwWis6rxCU70U
6VzWmSfLWcTOpolINU95xhpxzhYZbFX75ndJwxecCA3L9Lri6cqT6DZiP/JE
3Tey3C74qhnqSvGyVDwx9CwvDZOjn3Hyi6l9ucZQlxycr+X4Q8R+qBt2P0iu
FrUZ6enMCwnCqjyVuWhZmgXR+/pF7E+IwKt8tucLmXOP67sIhkQ+bxi/E/In
yfN5M9zjjuvZGzWVqcc8xrlLu/JFjHMymtLXus/+ImJ/VStRNuwvgJdIm8Ge
oUWagv45T3jLO6EV0QOueAGHM41i3mFp5zc8b0BlnvFSpqlqfe2GT+GxffEt
Lx8k39HjrChFbJYPu9htwWUeBLkqMyD2AOjB2NurczzjE4COfNZ78fXTo7H7
E+DE/Xn49Qn++Tq8iLTK56EsiiwslK5iXibhlGuAqkqkIhPINQiCMAwZnwKQ
8bgKgruF1Awgr85EXrFEzMBJNKsWgr2+eTgdhsiI3cF7LXiWCq3BYDiBqRkt
ixew54JVin34YNX5+JEhE5GpHNlWIolg73LgVWm3TKu0RpMyQBwm3hcpGAfn
fa9FGIMSml7AVtSOhNEkk0kCrhf8AUGzVAlIC1SCO6fAQvBElEYWNBvIEqu8
AupAkR0dhlNZsRl4TMJinqag51etol+xvavrfbZcCOCNUqYCIkIGxmW4DJTK
62wK5MfPGM8TmlLK+WJoziEI/Msvv8BWrf3GA2OHAXvGvmZ/ZqfshB2zp+wI
ph0OjQUH4Y7/BI8dFq2efeaPn0GzoSbn6AXjibG7F1BRa9qQq2uIWRycA4yi
CxFLsHsCh9D3lBGbllLM0hUD/2cC97RYsaIuwaUFmPA1uBBsKbpNrSEMIlGO
W4kPqXA76hY28XoEm+N7uo2pHSfFLfRPgKUFHIyDGD6OInnuUpl3Gk5WCDPP
J+yYFhWiDAse34uK/A1iELqDJq3mGP9lzHhRpDImJGEAFPeozp6I5tGIUVpg
Ti8rFMxa7RP9ywkbnzYMMAVpVN0TP9XygaeoXe/0kVIS+ez3T7xeqCVqy61J
UIbeweXtUc/kvDTyKuBPf0GqIbMC9msqYl5rAdMz/i9VymqFFgLwL7So8PgX
KWAy7TfBi81xyOpFCZJXAsTK6GQmiuUKJNLC7q+Td81fJkhsxQxjyHWAl4OU
o0NjcvtoCFlrjZiMRLROueMkUd9Ys7oESqVvNPEgciZnwNxqypYEFopEQr6z
GqKU89Kee8q8qCvyicvzNzdswfUCHVXkPpQWMFXpAfnYUtXglmgpa/ocPF7O
czhYMYf3U3DAJYQBWAnBp4D9giAMGxOZ87gdwacCfaGBYpKrZU1C2pfmtEx7
iD4YOjxXxChSCoF28hAelH2QCSL/LZgWsmSWKRi2UUHEVetBs5qkhictCl4a
/zHi6QgjwrAEVxRXWRC8E/a0bxEXNg03O0cuFuGO/i9wHKAGcNpH8+vLNeaf
h+NOvw2FkTWcgfN3GBInrAd6//zb+NkIAOrv/5z4AHhuARAdFTwxrROziY3P
96ANyJyM2KGjQih32ZyYofUBak85Bu4nIXXhor7DCTrwPWgDMJdxBeBVlEKL
8sG5OSTLK3cOpD3pspsemUhmfX18yrAahOINuBLoNDpgkukiVgMHFgYcMrWZ
FWpy3tNkpiABXWpCOmtonGRikkNTL9eB1TXCxXRFrwBjsdA0kWctrLjAY3I6
CB+1aAHz3OgCPDgrRSwgGYV1ZlOB2qzkcwKDDHMeAACWyNkMHAOhslQZUTEk
NY5ZgQyBP4H1VV3GsClW5b574NxmixkCWF1xhxzCQxIU2NLIFNR0sFyZ5d05
OPLVHZTUAI9Y22r9lZ8YUnZhklEoAdiSr8zG//fXf3cW/ffX/zhxeT4M4Z5G
w1MIn94KUAoMiPpeCARuE2+0oCTWYSE6A77ELTDzudMIoInFkBGrDPbd2NXA
qAFvYInwD+SXEiJHjsKYwA2yWL+I4BCfgUsOkqlWhcS0eAURC+pIXaeYejNO
+A8ldXsC+mTRcb1s3cPPpwOJ8EG48++gs7Cb0bLvnBR0HpwoDgy3LNz2QxQF
vlbQA/enJ/dB5/GA9afSekDtM/b4zfPwm+eP7O2Y/sQfPrK3R8wOmMen5omm
HjerfvxisnRN0Zj/wCM09NS34SMY+nTv7Xj0aJ43Pq0vxN/bYzd149PwQqjK
vKmDT8ZSTvLP0dF/Dh5v7qu9s9GPSBO4e09s29Oj//xlJOnaYeff428/aHal
O7fYFCHot7CCCGNxRQ2duyZTwPDRgxdExyai+HACAQrqAgZ+s4/QMkh45IUR
JNTBJlMVItARIS8wmrCxNtyJ6iYkdUQxaX7LQvvcSU5X+gNMQ/1kwLmrzDE2
EWS8QOzH2iARDTmf2lTM1AB4Vwr/ADzF+hEYpD4nxG9AE55qxajQ6mYUpoPh
QHpNdyMV2NCEV8waKDmw8ZMirysLujsYsUvIz1em5vqpxvjeqHtEJnn7dN/5
x2CEsAp27Nnh3vTA2vC9vqmQMWGj4D2HIhSqfC9h4GmMFqbVuRVOs0Y41BpE
QhaN2wwbyZcDAQ2xCWEGTQ9Vhqui3jTFMSU/NtEMAtMjRKauMwyuX6iyMq5F
ORrQpwQBHmSJgR8bWdok2LYYxtqyrRtNMsiwzxTaXkrcL3dNhthScBXpJ5Zh
5F7PWAJGNaO5ONDgo6mEAq1VgXImMGkq74Xt3igqlqFATnAFGgBzijnHYbQ2
5DGcJtpKDvwJ7ymsLN1C/PKTdfZOxhjWDY9BaqmY1t12KsTa5dhGy1xhomb3
xcuBMBPUIoNqXMaa7S3wOmXkF0c2/4YxVYGqkrIt3K2m9ImxbQoE9kdQr0BO
Zc4GlPOx3wGA7Nsr/SN2LXDDWcXvsS/gDggarE3LyMroxXYyJLdgb9pT089C
9ldUASlkQGcIjBiXSuvBZBIWfd+cJL+MvGbmDI0AqVLvxJNxr2AXHkhMrOOa
ImR8OD5kY/gx+OMQ/zVGBnc+mKTUJZhbVEZrg6ho03UeModX2LEzbSLNbsfk
lLdHSBUeFna/GgEO4UfvjobejbGl+w6AEeQm+am8o2KNLICcYpHzUipsDz55
cmufwvGEvbVwhLibSm56dh2nf/KEujRaNNC1xM2n0tQ0xi5bL4aAIjW1z0Eh
cjKys6f/zOwl0Wi3UnkFTwEHE53BE/SoFRSbfALlQt0stm0QsdP5sqUuhKHz
AxB5f11mjMsUgdCV96ZwOKluSqEA0/uwwRwjIFoYOcM2OaXAtSnUe1UnqtCW
ngqjOqgOGwxqvVJL9BWTPOhGQyqXc4tatm9gumAGZhq9DbQb5O4240wcaG40
8OTcrndMO0GBGh7k46e2xoY05n0sUte+TUpIjbx60Raqh1+ffPwIMECpDmHv
+NgQQGjVNVapEkl8+ABVZGjjBe6A/vjRNGuQq13TFJh1gTyhCsb/HB8e/hHV
hpekOOsiFfh7wU0f0aC8O4q2z51SNLU9PUghn7B3kASAfyDzUTNd07khb6bj
etqBWj/87nWq730i+QZbnaalTP0+AknErmPU4MSSAT9EoiN0IvIeYjfG3gVk
AQ9cpnxK95ZPYF0uls1W8E4btYQcKcfNVORn5I6tGg5vrFvS5pvOZdvZpGPR
wd1uA0m33ZYJiUP6X+ZJWKnwEgPnlC7IBEsReTPBNcAqak6zb0oFXpZhHqMR
5knVWSMRTencCLI7dyNoEx+7xW/cLcTNy7vwzT5dq/UkOXOSXKMkb1pJNPvw
B/S5IgO3o+nwn49Bt6UBzhaXctrvoTWtJjAmHEzYFCdRX197Y4OXoXAQZr3K
AIIZAHIpQgdBBGylIHiIMfoVKlXzVXMYkY7x4rpsN4gSPVv2HFOa94vrWLgC
6qBXUfWfBwYCW9xj8e+q/17x7yY87Q8cu4HfLYRfDUY7V5HRlnWec5BPbF73
zc7F5/Ogs9DtxWQnTzS7hc0805DF/fWTldbJPGob/W0KriWEV0CYrAG2hOiy
ucTUFMOrSdc76QkEYRVT0QjBiC6E984RjfexzPAbrSaxNGkWZZZIvLlATBUm
zGvJD4DejCxDUnm5MPHAAVrqpwEUlzEVgL8lXsFBJRmx7YStugR0FZSLLQe6
uzM1VCtsTTkC+Mg2qkQuBlwuPXK2/vX6C20SR0Ke5ez24i9tpGmb3UbXFGDG
RG+UAnfLHHRfByfvDnuPJ//OGUyL1IDYyDxD4ARFZ/YCd9SyNFfL3oAVzKVn
3nhZCluhYvwCigZ8TDT3PAQKyEL4ZRH1MlYUQjGZEzyVP3eq2EpAzJJQl+sG
c9urU4OeJm3xYsfteuzA5rB3cpBfIiq08gbzTV1YdoI0H3b0xFgPFUYiOLVa
ZZhVQ+Ac9TsHIqEYYW1vLzig9NqDTNGUz1CA5vf42H614cu34EUhctjZBh2A
nFY9RrasEl3H2uAmxscEx/aOKlxKbSebpNrhV3NzjB6aTV2zCOztx3pzqEIk
1vfGXhjaAfDZ2oiLQ/0wtDUObQ1Ev02MoYAS9QfWQ070ZRe6mPS8v7ANVs8H
F/4F3G494OHvGjyQ3gyu2+E3LKn97Rxud4+2/Xhr3fVk0nfLG3DLV+CWa7mf
8czgde8yyGCF3gAWI7xTpdQ4Ud3iecK2hVKem54LhdNX28NpVcr5HJuWwwfq
UwHV5gmvzGdiMEObNoofSU2D+D3QkJRkDiu7lRmBh22fruOH11H17tFO9rsR
+dWnIjJt7W8JoqOhmOmj1FrgHNHrTSi9I0Kb2NsTlWNnDhmYmGwj1uj/MkTf
YhxrCrze8t8Xuily/7aS7vfVY64JgGeBKIJYu317SlKbJYZk1+3xC+X5mufD
sVJlZa4+GkqmcVwpay03avdQlc0HQuiymMtYifTmS+lTSgiMdM23hO77TUgD
zOHo9RXt7Ql9CkXn0DSESSt0dx9/WjGNSiZpoAwcUi+JTQFbYKDjb/rCaNP1
XRNeg/VpFLdb5zhvrPTYCxA2Ij9+Hkf7exxajL9/7DDSLHYu3bz4rJFNInzO
yLa0ZuNdezuwKbfyUqvmhr83sFNmtYsIPc3o2bn5pEWNl5+DGhTd/UqAgt6S
55W9z8SU35yfkakS1iI6BvSz9XL4bvdyGMj3YAgr4vMNMftuW8z2qt8uCR+S
OuH17pPhFd9pgaGxQRy6/9wCXnfr4BV9KkKbyEyz6SuuBtsoKPN09TPF1Cz6
8vGzUYu+YO4P9mKoN97G0M6LolSx0OR2Xza24nL3AR0Fzp0jFJXEZ/F9rpYp
XuHb5Pbu5YX5vxvgF7U4xX2OaFqenTZ7cGuNcBKNozHK6LfuE6njWut+wP3+
4oZc9dZ8f3CDEcLxIL+q7JcHXsefqkY7pdv8R0p0jUn3B95n5vZGGUIddU2R
a1XnuUhN/fvy/AbIQLzS1YB89tsIE70616feVTu5Lx0DSmeIOJzIpFASvzYn
B6P+ukfM3KnZoI2cbOPffHbpfZvQ3OxIINt+StJez1OHTLl7Dd8kzXff5E8b
xMt4YfTufFFS2esH7PrnZA3OSvo0tGsYUkO7Jp1R6vbVd99fXyCKeV9CiAKO
J90QkPpEy3yQPmLHz8YnR8jq9OTk6cnIy5EXcr5wLYul6tyWEBnyAVFZMZ0Y
zS1Hx+LuOwK8gLLetNcmoEPy7bMirXXnAwnGkwQgE31ZC5Hpvgc6Jpu9MQr+
B2kpoY6sOQAA

-->

</rfc>

