<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.2.13 -->

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
]>

<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>

<rfc ipr="trust200902" docName="draft-ietf-mboned-dorms-02" category="std">

  <front>
    <title abbrev="DORMS">Discovery Of Restconf Metadata for Source-specific multicast</title>

    <author initials="J." surname="Holland" fullname="Jake Holland">
      <organization>Akamai Technologies, Inc.</organization>
      <address>
        <postal>
          <street>150 Broadway</street>
          <city>Cambridge, MA 02144</city>
          <country>United States of America</country>
        </postal>
        <email>jakeholland.net@gmail.com</email>
      </address>
    </author>

    <date year="2021" month="July" day="10"/>

    <area>Ops</area>
    <workgroup>Mboned</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<t>This document defines DORMS (Discovery Of Restconf Metadata for Source-specific multicast), a method to discover and retrieve extensible metadata about source-specific multicast channels using RESTCONF.
The reverse IP DNS zone for a multicast sender’s IP address is configured to use SRV resource records to advertise the hostname of a RESTCONF server that publishes metadata according to a new YANG module with support for extensions.
A new service name and the new YANG module are defined.</t>



    </abstract>


  </front>

  <middle>


<section anchor="introduction" title="Introduction">

<t>This document defines DORMS (Discovery Of Restconf Metadata for Source-specific multicast).</t>

<t>A DORMS service is a RESTCONF <xref target="RFC8040"/> service that provides read access to data in the “ietf-dorms” YANG <xref target="RFC7950"/> model defined in <xref target="model"/>.
This model, along with optional extensions defined in other documents, provide an extensible set of information about multicast data streams.
A review of some example use cases that can be enabled by this kind of metadata is given in <xref target="motivation"/>.</t>

<t>This document does not prohibit the use of the “ietf-dorms” model with other protocols such as NETCONF <xref target="RFC6241"/>, CORECONF <xref target="I-D.draft-ietf-core-comi"/>, or gNMI <xref target="I-D.draft-openconfig-rtgwg-gnmi-spec"/>, but the semantics of using the model over those protocols is out of scope for this document.
This document only defines the discovery and use of the “ietf-dorms” YANG model in RESTCONF.</t>

<t>This document defines the “dorms” service name for use with the SRV DNS Resource Record (RR) type <xref target="RFC2782"/>.
A sender using a DORMS service to publish metadata SHOULD configure at least one SRV RR for the “_dorms._tcp” subdomain in the reverse IP DNS zone for the source IP used by some active multicast traffic.
The domain name in one of these SRV records provides a hostname corresponding to a DORMS server that can provide metadata for the sender’s source-specific multicast traffic.
Publishing such a RR enables DORMS clients to discover and query a DORMS server as described in <xref target="disco"/>.</t>

<section anchor="background" title="Background">

<t>The reader is assumed to be familiar with the basic DNS concepts described in <xref target="RFC1034"/>, <xref target="RFC1035"/>, and the subsequent documents that update them, as well as the use of the SRV Resource Record type as described in <xref target="RFC2782"/>.</t>

<t>The reader is also assumed to be familiar with the concepts and terminology regarding source-specific multicast as described in <xref target="RFC4607"/> and the use of IGMPv3 <xref target="RFC3376"/> and MLDv2 <xref target="RFC3810"/> for group management of source-specific multicast channels, as described in <xref target="RFC4604"/>.</t>

<t>The reader is also assumed to be familiar with the concepts and terminology for RESTCONF <xref target="RFC8040"/> and YANG <xref target="RFC7950"/>.</t>

</section>
<section anchor="terminology" title="Terminology">

<texttable>
      <ttcol align='right'>Term</ttcol>
      <ttcol align='left'>Definition</ttcol>
      <c>(S,G)</c>
      <c>A source-specific multicast channel, as described in <xref target="RFC4607"/>. A pair of IP addresses with a source host IP and destination group IP.</c>
      <c>DORMS client</c>
      <c>An application or system that can communicate with DORMS servers to fetch metadata about (S,G)s.</c>
      <c>DORMS server</c>
      <c>A RESTCONF server that implements the ietf-dorms YANG model defined in this document.</c>
      <c>RR</c>
      <c>A DNS Resource Record, as described in <xref target="RFC1034"/></c>
      <c>RRType</c>
      <c>A DNS Resource Record Type, as described in <xref target="RFC1034"/></c>
      <c>SSM</c>
      <c>Source-specific multicast, as described in <xref target="RFC4607"/></c>
</texttable>

<t>The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “NOT RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in <xref target="RFC2119"/> and <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shown here.</t>

</section>
<section anchor="motivation" title="Motivation and Use Cases">

<t>DORMS provides a framework that can be extended to publish supplemental information about multicast traffic in a globally discoverable manner.
This supplemental information is sometimes needed by entities engaged in delivery or processing of the traffic to handle the traffic according to their requirements.</t>

<t>Detailing the specifics of all known possible extensions is out of scope for this document except to note that a range of possible use cases are expected and they may be supported by a variety of different future extensions.
But a few example use cases are provided below for illustration.</t>

<section anchor="provisioning-and-oversubscription-protection" title="Provisioning and Oversubscription Protection">

<t>One use case for DORMS is when a network that is capable of forwarding multicast traffic may need to take provisioning actions or make admission control decisions based on the expected bitrate of the traffic in order to prevent oversubscription of constrained devices in the network.
<xref target="I-D.draft-ietf-mboned-cbacc"/> defines some DORMS extensions to support this use case.</t>

</section>
<section anchor="authentication" title="Authentication">

<t>Another use case for DORMS is providing information for use in authenticating the multicast traffic before accepting it for forwarding by a network device, or for processing by a receiving application.
<xref target="I-D.draft-ietf-mboned-ambi"/> defines some DORMS extensions to support this use case.</t>

</section>
<section anchor="content-description" title="Content Description">

<t>Another use case for DORMS is describing the contents carried by a multicast traffic channel.
The content description could include information about the protocols or applications that can be used to consume the traffic, or information about the media carried (e.g. information based on the Dublin Core Metadata Element Set <xref target="RFC5013"/>), or could make assertions about the legal status of the traffic within specific contexts.</t>

</section>
</section>
<section anchor="channel-discovery" title="Channel Discovery">

<t>DORMS provides a method for clients to fetch metadata about (S,G)s that are already known to the clients.
In general, a DORMS client might learn of an (S,G) by any means, so describing all possible methods a DORMS client might use to discover a set of (S,G)s for which it wants metadata is out of scope for this document.</t>

<t>But for example, a multicast receiver application that is a DORMS client might learn about an (S,G) by getting signals from inside the application logic, such as a selection made by a user, or a scheduled API call that reacts to updates in a library provided by a service operator.</t>

<t>As another example, an on-path router that’s a DORMS client might instead learn about an (S,G) by receiving a PIM message or an IGMP or MLD membership report indicating a downstream client has tried to subscribe to an (S,G).
Such a router might use information learned from the DORMS metadata to make an access control decision about whether to propagate the join futher upstream in the network.</t>

<t>Other approaches for learning relevant (S,G)s could be driven by monitoring a route reflector to discover channels that are being actively forwarded, for a purpose such as monitoring network health.</t>

</section>
<section anchor="notes-for-contributors-and-reviewers" title="Notes for Contributors and Reviewers">

<t>Note to RFC Editor: Please remove this section and its subsections before publication.</t>

<t>This section is to provide references to make it easier to review the development and discussion on the draft so far.</t>

<section anchor="venue" title="Venues for Contribution and Discussion">

<t>This document is in the Github repository at:</t>

<t>https://github.com/GrumpyOldTroll/ietf-dorms-cluster</t>

<t>Readers are welcome to open issues and send pull requests for this document.</t>

<t>Please note that contributions may be merged and substantially edited, and as a reminder, please carefully consider the Note Well before contributing: https://datatracker.ietf.org/submit/note-well/</t>

<t>Substantial discussion of this document should take place on the MBONED working group mailing list (mboned@ietf.org).</t>

<t><list style="symbols">
  <t>Join: https://www.ietf.org/mailman/listinfo/mboned</t>
  <t>Search: https://mailarchive.ietf.org/arch/browse/mboned/</t>
</list></t>

</section>
<section anchor="non-obvious-doc-choices" title="Non-obvious doc choices">

<t>Log of odd things that need to be the way they are because of some reason that the author or reviewers may want to know later.</t>

<t><list style="symbols">
  <t>building the draft without this line produces a warning about no reference to <xref target="RFC6991"/> or <xref target="RFC8294"/>, but these are imported in the yang model. RFC 8407 requires the normative reference to 8294 (there’s an exception for 6991 but I’m not sure why and it doesn’t seem forbidden).</t>
  <t>Although it’s non-normative, I chose the boundaries in the recommendation for default setting of DNS expiry time in <xref target="ignore"/> based on the best practices advice at https://www.varonis.com/blog/dns-ttl/ for “Short” and “Long” times.</t>
  <t><xref target="yang-considerations"/> is intended to be the template from <eref target="https://trac.ietf.org/trac/ops/wiki/yang-security-guidelines">https://trac.ietf.org/trac/ops/wiki/yang-security-guidelines</eref>, as required by <eref target="https://datatracker.ietf.org/doc/html/rfc8407#section-3.7">https://datatracker.ietf.org/doc/html/rfc8407#section-3.7</eref>.  Individual nodes are not listed because blanket statements in that section covere them.</t>
  <t>The ‘must’ constraint in the group list seems awkward, but seems to work.  Its intent is to require source &amp; group to be either both IPv4 or both IPv6, without mixing &amp; matching.  It requires that either both the group address and its source parent’s address must contain a colon or both must NOT contain a colon, where presence of a colon is used to distinguish IPv4 from IPv6.  Maybe there’s a better way?</t>
</list></t>

</section>
</section>
</section>
<section anchor="disco" title="Discovery and Metdata Retrieval">

<t>A client that needs metadata about an (S,G) MAY attempt to discover metadata for the (S,G) using the mechanisms defined here, and MAY use the metadata received to manage the forwarding or processing of the packets in the channel.</t>

<section anchor="dns-boot" title="DNS Bootstrap">

<t>The DNS Bootstrap step is how a client discovers an appropriate RESTCONF server, given the source address of an (S,G).
Use of the DNS Bootstrap is OPTIONAL for clients with an alternate method of obtaining a hostname of a trusted DORMS server that has information about a target (S,G).</t>

<t>This mechanism only works for source-specific multicast (SSM) channels.
The source address of the (S,G) is reversed and used as an index into one of the reverse mapping trees (in-addr.arpa for IPv4, as described in Section 3.5 of <xref target="RFC1035"/>, or ip6.arpa for IPv6, as described in Section 2.5 of <xref target="RFC3596"/>).</t>

<t>When a DORMS client needs metadata for an (S,G), for example when handling a new join for that (S,G) and looking up the authentication methods that are available, the DORMS client can issue a DNS query for a SRV RR using the “dorms” service name with the domain from the reverse mapping tree, combining them as described in <xref target="RFC2782"/>.</t>

<t>For example, a client looking for metadata about the channel with a source IP of 2001:db8::a and the group address of ff3e::8000:d, the client would start the DNS bootstrap step by performing a query for the SRV RRType for the following domain (after removing the line break inserted for editorial reasons):</t>

<figure><artwork><![CDATA[
     _dorms._tcp.a.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.
                 0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa.
]]></artwork></figure>

<t>Or for an IPv4 (S,G) with a source address of 203.0.113.4 and a group address of 232.1.1.1, the DORMS client would request the SRV record from the in-addr.arpa tree instead:</t>

<figure><artwork><![CDATA[
     _dorms._tcp.4.113.0.203.in-addr.arpa.
]]></artwork></figure>

<t>In either case, the DNS response for this domain might return a record such as this:</t>

<figure><artwork><![CDATA[
     SRV 0 1 443 dorms-restconf.example.com.
]]></artwork></figure>

<t>This response informs the client that a DORMS server should be reachable at dorms-restconf.example.com on port 443, and should contain metadata about multicast traffic from the given source IP.
Multiple SRV records are handled as described by <xref target="RFC2782"/>.</t>

<t>A sender providing DORMS discovery SHOULD publish at least one SRV record in the reverse DNS zone for each source address of the multicast channels it is sending in order to advertise the hostname of the DORMS server to DORMS clients.
The DORMS servers advertised SHOULD be configured with metadata for all the groups sent from the same source IP address that have metadata published with DORMS.</t>

<t>When performing the SRV lookup, any CNAMEs or DNAMEs found MUST be followed.
This is necessary to support zone delegation.
Some examples outlining this need are described in <xref target="RFC2317"/>.</t>

</section>
<section anchor="ignore" title="Ignore List">

<t>If a DORMS client reaches a DORMS server but determines through examination of responses from that DORMS server that it may not understand or be able to use the responses of the server (for example due to an issue like a version mismatch or modules that are missing but are required for the DORMS client’s purposes), the client MAY add this server to an ignore list and reject servers in its ignore list during future discovery attempts.</t>

<t>A client using the DNS Bootstrap discovery method in <xref target="dns-boot"/> would treat servers in its ignore list as unreachable for the purposes of processing the SRV RR as described in <xref target="RFC2782"/>.
(For example, a client might end up selecting a server with a less-preferred priority than servers in its ignore list, even if an HTTPS connection could have been formed successfully with some of those servers.)</t>

<t>If an ignore list is maintained, entries SHOULD time out and allow for re-checking after either the cache expiration time from the DNS response that caused the server to be added to the ignore list, or for a configurable hold-down time that has a default value no shorter than 1 hour and no longer than 24 hours.</t>

</section>
<section anchor="restconf-bootstrap" title="RESTCONF Bootstrap">

<t>Once a DORMS server has been chosen (whether via an SRV RR from a DNS response or via some other method), RESTCONF provides all the information necessary to determine the versions and url paths for metadata from the server.
A walkthrough is provided here for a sequence of example requests and responses from a receiver connecting to a new DORMS server.</t>

<section anchor="root-resource-discovery" title="Root Resource Discovery">

<t>As described in Section 3.1 of <xref target="RFC8040"/> and <xref target="RFC6415"/>, the RESTCONF server provides the link to the RESTCONF api entry point via the “/.well-known/host-meta” or “/.well-known/host-meta.json” resource.</t>

<t>Example:</t>

<t>The receiver might send:</t>

<figure><artwork><![CDATA[
     GET /.well-known/host-meta.json HTTP/1.1
     Host: dorms-restconf.example.com
     Accept: application/json
]]></artwork></figure>

<t>The server might respond as follows:</t>

<figure><artwork><![CDATA[
      HTTP/1.1 200 OK
      Date: Tue, 09 Jul 2021 20:56:00 GMT
      Server: example-server
      Cache-Control: no-cache
      Content-Type: application/json

      {
        "links":[
          {
            "rel":"restconf",
            "href":"/top/restconf"
          }
        ]
      }
]]></artwork></figure>

</section>
<section anchor="yang-library-version" title="Yang Library Version">

<t>As described in Section 3.3.3 of <xref target="RFC8040"/>, the yang-library-version leaf is required by RESTCONF, and can be used to determine the schema of the ietf-yang-library module:</t>

<t>Example:</t>

<t>The receiver might send:</t>

<figure><artwork><![CDATA[
      GET /top/restconf/yang-library-version HTTP/1.1
      Host: dorms-restconf.example.com
      Accept: application/yang-data+json
]]></artwork></figure>

<t>The server might respond as follows:</t>

<figure><artwork><![CDATA[
      HTTP/1.1 200 OK
      Date: Tue, 09 Jul 2021 20:56:01 GMT
      Server: example-server
      Cache-Control: no-cache
      Content-Type: application/yang-data+json

      {
          "ietf-restconf:yang-library-version": "2016-06-21"
      }
]]></artwork></figure>

<t>If a DORMS client determines through examination of the yang-library-version that it may not understand the responses of the server due to a version mismatch, the server qualifies as a candidate for adding to an ignore list as described in <xref target="ignore"/>.</t>

</section>
<section anchor="yang-library-contents" title="Yang Library Contents">

<t>After checking that the version of the yang-library module will be understood by the receiver, the client can check that the desired metadata modules are available on the DORMS server by fetching the module-state resource from the ietf-yang-library module.</t>

<t>Example:</t>

<t>The receiver might send:</t>

<figure><artwork><![CDATA[
      GET /top/restconf/data/ietf-yang-library:modules-state/\
          module=ietf-dorms,2021-07-08
      Host: dorms-restconf.example.com
      Accept: application/yang-data+json
]]></artwork></figure>

<t>The server might respond as follows:</t>

<figure><artwork><![CDATA[
    HTTP/1.1 200 OK
    Date: Tue, 09 Jul 2021 20:56:02 GMT
    Server: example-server
    Cache-Control: no-cache
    Content-Type: application/yang-data+json

    {
      "ietf-yang-library:module": [
        {
          "conformance-type": "implement",
          "name": "ietf-dorms",
          "namespace": "urn:ietf:params:xml:ns:yang:ietf-dorms",
          "revision": "2021-07-08",
          "schema":
              "https://example.com/yang/ietf-dorms@2021-07-08.yang"
        }
      ]
    }
]]></artwork></figure>

<t>Other modules required or desired by the client also can be checked in a similar way, or the full set of available modules can be retrieved by not providing a key for the “module” list.
If a DORMS client that requires the presence of certain modules to perform its function discovers the required modules are not present on a server, that server qualifies for inclusion in an ignore list according to <xref target="ignore"/>.</t>

</section>
<section anchor="metadata-retrieval" title="Metadata Retrieval">

<t>Once the expected DORMS version is confirmed, the client can retrieve the metadata specific to the desired (S,G).</t>

<t>Example:</t>

<t>The receiver might send:</t>

<figure><artwork><![CDATA[
      GET /top/restconf/data/ietf-dorms:dorms/metadata/\
          sender=2001:db8::a/group=ff3e::8000:1
      Host: dorms-restconf.example.com
      Accept: application/yang-data+json
]]></artwork></figure>

<t>The server might respond as follows:</t>

<figure><artwork><![CDATA[
      HTTP/1.1 200 OK
      Date: Tue, 09 Jul 2021 20:56:02 GMT
      Server: example-server
      Cache-Control: no-cache
      Content-Type: application/yang-data+json

      {
        "ietf-dorms:group": [
          {
            "group-address":"ff3e::8000:1",
            "udp-stream":[
              {
                "port":"5001"
              }
            ]
          }
        ]
      }
]]></artwork></figure>

<t>Note that when other modules are installed on the DORMS server that extend the ietf-dorms module, other fields MAY appear inside the response.
This is the primary mechanism for providing extensible metadata for an (S,G), so clients SHOULD ignore fields they do not understand.</t>

<t>As mentioned in <xref target="scoping"/>, most clients SHOULD use data resource identifiers in the request URI as in the above example, in order to retrieve metadata for only the targeted (S,G)s.</t>

</section>
<section anchor="cors-considerations" title="Cross Origin Resource Sharing (CORS)">

<t>It is RECOMMENDED that DORMS servers use the Access-Control-Allow-Origin header field, as specified by <xref target="whatwg-fetch"/>, and that they respond appropriately to Preflight requests.</t>

<t>The use of ‘*’ for allowed origins is NOT RECOMMENDED for publicly reachable DORMS servers.
A review of some of the potential consequences of unrestricted CORS access is given in <xref target="security-cors"/>.</t>

</section>
</section>
</section>
<section anchor="scalability-considerations" title="Scalability Considerations">

<section anchor="provisioning" title="Provisioning">

<t>In contrast to many common RESTCONF deployments that are intended to provide configuration management for a service to a narrow set of authenticated administrators, DORMS servers often provide read-only metadata for public access or for a very large set of end receivers, since it provides metadata in support of multicast data streams and multicast can scale to very large audiences.</t>

<t>Operators are advised to provision the DORMS service in a way that will scale appropriately to the size of the expected audience.
Specific advice on such scaling is out of scope for this document, but some of the mechanisms outlined in <xref target="RFC3040"/> or other online resources might be useful, depending on the expected number of receivers.</t>

</section>
<section anchor="scoping" title="Data Scoping">

<t>Except as outlined below, clients SHOULD issue narrowed requests for DORMS resources by following the format from Section 3.5.3 of <xref target="RFC8040"/> to encode data resource identifiers in the request URI.
This avoids downloading excessive data, since the DORMS server may provide metadata for many (S,G)s, possibly from many different senders.</t>

<t>However, clients with out of band knowledge about the scope of the expected contents MAY issue requests for (S,G) metadata narrowed only by the source-address, or not narrowed at all.
Depending on the request patterns and the contents of the data store, this may result in fewer round trips or less overhead, and can therefore be helpful behavior for scaling purposes in some scenarios.
In general, engaging in this behavior requires some administrative configuration or some optimization heuristics that can recover from unexpected results.</t>

<t>Servers MAY restrict or throttle client access based on the client certificate presented (if any), or based on heuristics that take note of client request patterns.</t>

<t>A complete description of the heuristics for clients and servers to meet their scalability goals is out of scope for this document.</t>

</section>
</section>
<section anchor="model" title="YANG Model">

<t>The primary purpose of the YANG model defined here is to serve as a scaffold for the more useful metadata that will extend it.
See <xref target="motivation"/> for some example use cases that can be enabled by the use of DORMS extensions.</t>

<section anchor="yang-tree" title="Yang Tree">

<t>The tree diagram below follows the notation defined in <xref target="RFC8340"/>.</t>

<figure title="DORMS Tree Diagram"><artwork><![CDATA[
module: ietf-dorms
  +--rw dorms
     +--rw metadata
        +--rw sender* [source-address]
           +--rw source-address    inet:ip-address
           +--rw group* [group-address]
              +--rw group-address
              |       rt-types:ip-multicast-group-address
              +--rw udp-stream* [port]
                 +--rw port    inet:port-number

]]></artwork></figure>

</section>
<section anchor="yang-module" title="Yang Module">

<figure><artwork><![CDATA[
<CODE BEGINS> file ietf-dorms@2021-07-11.yang
module ietf-dorms {
  yang-version 1.1;

  namespace "urn:ietf:params:xml:ns:yang:ietf-dorms";
  prefix "dorms";

  import ietf-inet-types {
    prefix "inet";
    reference "RFC 6991 Section 4";
  }

  import ietf-routing-types {
    prefix "rt-types";
    reference "RFC 8294";
  }

  organization "IETF MBONED (Multicast Backbone
      Deployment) Working Group";

  contact
      "Author:   Jake Holland
                 <mailto:jholland@akamai.com>
      ";

  description
  "Copyright (c) 2019 IETF Trust and the persons identified as
   authors of the code.  All rights reserved.

   Redistribution and use in source and binary forms, with or
   without modification, is permitted pursuant to, and subject to
   the license terms contained in, the Simplified BSD License set
   forth in Section 4.c of the IETF Trust's Legal Provisions
   Relating to IETF Documents
   (https://trustee.ietf.org/license-info).

   This version of this YANG module is part of RFC XXXX
   (https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself
   for full legal notices.

   The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL
   NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED',
   'MAY', and 'OPTIONAL' in this document are to be interpreted as
   described in BCP 14 (RFC 2119) (RFC 8174) when, and only when,
   they appear in all capitals, as shown here.

   This module contains the definition for the DORMS data type.
   It provides out of band metadata about SSM channels.";

  revision 2021-07-08 {
    description "Draft version, post-early-review.";
    reference
        "draft-ietf-mboned-dorms";
  }

  container dorms {
    description "Top-level DORMS container.";
    container metadata {
      description "Metadata scaffold for source-specific multicast
          channels.";
      list sender {
        key source-address;
        description "Sender for DORMS";

        leaf source-address {
          type inet:ip-address;
          mandatory true;
          description
              "The source IP address of a multicast sender.";
        }

        list group {
          key group-address;
          description "Metadata for a DORMS (S,G).";

          leaf group-address {
            type rt-types:ip-multicast-group-address;
            mandatory true;
            description "The group IP address for an (S,G).";
          }
          must '(re-match(./group-address, "[^:]*") and ' +
                're-match(../source-address, "[^:]*")) or ' +
               '(re-match(./group-address, ".*:.*") and ' +
                're-match(../source-address, ".*:.*"))' {
            error-message 'A group-address type must match '+
                          'its parent source-address type';
          }

          list udp-stream {
            key "port";
            description
                "Metadata for UDP traffic on a specific port.";
            leaf port {
              type inet:port-number;
              mandatory true;
              description
                  "The UDP port of a data stream.";
            }
          }
        }
      }
    }
  }
}
<CODE ENDS>
]]></artwork></figure>

</section>
</section>
<section anchor="privacy-considerations" title="Privacy Considerations">

<section anchor="linking-content-to-traffic-streams" title="Linking Content to Traffic Streams">

<t>In the typical case, the mechanisms defined in this document provide a standardized way to discover information that is already available in other ways.</t>

<t>However, depending on the metadata provided by the server, observers may be able to more easily associate traffic from an (S,G) with the content contained within the (S,G).
At the subscriber edge of a multicast-capable network, where the network operator has the capability to localize an IGMP <xref target="RFC3376"/> or MLD <xref target="RFC3810"/> channel subscription to a specific user or location, for example by MAC address or source IP address, the structured publishing of metadata may make it easier to automate collection of data about the content a receiver is consuming.</t>

</section>
<section anchor="linking-multicast-subscribers-to-unicast-connections" title="Linking Multicast Subscribers to Unicast Connections">

<t>Subscription to a multicast channel generally only exposes the IGMP or MLD membership report to others on the same LAN, and as the membership propagates through a multicast-capable network, it ordinarily gets aggregated with other end users.</t>

<t>However, a RESTCONF connection is a unicast connection, and exposes a different set of information to the operator of the RESTCONF server, including IP address and timing about the requests made.
Where DORMS access becomes required to succeed a multicast join (for example, as expected in a browser deployment), this can expose new information about end users relative to services based solely on multicast streams.
The information disclosure occurs by giving the DORMS service operator information about the client’s IP and the channels the client queried.</t>

<t>In some deployments it may be possible to use a proxy that aggregates many end users when the aggregate privacy characteristics are needed by end users.</t>

</section>
</section>
<section anchor="iana-considerations" title="IANA Considerations">

<section anchor="the-yang-module-names-registry" title="The YANG Module Names Registry">

<t>This document adds one YANG module to the “YANG Module Names” registry maintained at &lt;https://www.iana.org/assignments/yang-parameters&gt;.
The following registrations are made, per the format in Section 14 of <xref target="RFC6020"/>:</t>

<figure><artwork><![CDATA[
      name:      ietf-dorms
      namespace: urn:ietf:params:xml:ns:yang:ietf-dorms
      prefix:    dorms
      reference: I-D.draft-ietf-mboned-dorms
]]></artwork></figure>

</section>
<section anchor="the-xml-registry" title="The XML Registry">

<t>This document adds the following registration to the “ns” subregistry of the “IETF XML Registry” defined in <xref target="RFC3688"/>, referencing this document.</t>

<figure><artwork><![CDATA[
       URI: urn:ietf:params:xml:ns:yang:ietf-dorms
       Registrant Contact: The IESG.
       XML: N/A, the requested URI is an XML namespace.
]]></artwork></figure>

</section>
<section anchor="the-service-name-and-transport-protocol-port-number-registry" title="The Service Name and Transport Protocol Port Number Registry">

<t>This document adds one service name to the “Service Name and Transport Protocol Port Number Registry” maintained at &lt;https://www.iana.org/assignments/service-names-port-numbers&gt;.
The following registrations are made, per the format in Section 8.1.1 of <xref target="RFC6335"/>:</t>

<figure><artwork><![CDATA[
     Service Name:            dorms
     Transport Protocol(s):   TCP, UDP
     Assignee:                IESG <iesg@ietf.org>
     Contact:                 IETF Chair <chair@ietf.org>
     Description:             The DORMS service (RESTCONF that
                              includes ietf-dorms YANG model)
     Reference:               I-D.draft-ietf-mboned-dorms
     Port Number:             N/A
     Service Code:            N/A
     Known Unauthorized Uses: N/A
     Assignment Notes:        N/A
]]></artwork></figure>

</section>
</section>
<section anchor="security" title="Security Considerations">

<section anchor="yang-considerations" title="YANG Model Considerations">

<t>The YANG module specified in this document defines a schema for data that is designed to be accessed via RESTCONF <xref target="RFC8040"/>.
The lowest RESTCONF layer is HTTPS, and the mandatory-to-implement secure transport is TLS <xref target="RFC8446"/>.</t>

<t>DORMS servers MUST constrain write access to ensure that unauthorized users cannot edit the data published by the server.
Unauthorized editing of any data nodes or any extensions to data nodes could result in a denial of service for end users.</t>

<t>The Network Configuration Access Control Model (NACM) <xref target="RFC8341"/> provides the means to restrict access for particular NETCONF or RESTCONF users to a preconfigured subset of all available NETCONF or RESTCONF protocol operations and content.
DORMS servers MAY use NACM to constrain write accesses.</t>

<t>However, note that scalability considerations described in <xref target="provisioning"/> might make the naive use of NACM intractable in many deployments.
So alternative methods to constrain write access to the metadata MAY be used instead of or in addition to NACM.
For example, some deployments that use a CDN or caching layer of discoverable DORMS servers might uniformly provide read-only access through the caching layer, and might require the trusted writers of configuration to use an alternate method of accessing the underlying database such as connecting directly to the origin, or requiring the use of a non-RESTCONF mechanism for editing the contents of the metadata.</t>

<t>The data nodes defined in this YANG module are writable because some deployments might manage the contents in the database by using normal RESTCONF editing operations with NACM, but in many deployments it’s expected that DORMS clients will generally have read-only access.
For the reasons and requirements described in <xref target="exposure"/>, none of the data nodes in the DORMS module or its extensions contain sensitive data.</t>

<t>DORMS servers MAY provide read-only access to clients for publicly available metadata without authenticating the clients.
That is, under the terms in Section 2.5 of <xref target="RFC8040"/> read-only access to publicly available data MAY be treated as unprotected resources.
However, DORMS servers MUST authenticate clients in order to provide write access.</t>

</section>
<section anchor="exposure" title="Exposure of Metadata">

<t>Although some DORMS servers MAY restrict access based on client identity, as described in Section 2.5 of <xref target="RFC8040"/>, many DORMS servers will use the ietf-dorms YANG model to publish information without restriction, and even DORMS servers requiring client authentication will inherently, because of the purpose of DORMS, be providing the DORMS metadata to potentially many receivers.</t>

<t>Accordingly, future YANG modules that augment data paths under “ietf-dorms:dorms” MUST NOT include any sensitive data unsuitable for public dissemination in those data paths.</t>

<t>Because of the possibility that scalable read-only access might be necessary to fulfill the scalability goals for a DORMS server, data under these paths MAY be cached or replicated by numerous external entities, so owners of such data SHOULD NOT assume such data can be kept secret when provided by DORMS servers anywhere under the “ietf-dorms:dorms” path even if access controls are used with authenticated clients unless additional operational procedures and restrictions are defined and implemented that can effectively control the dissemination of the secret data.
DORMS alone does not provide any such mechanisms, and users of DORMS can be expected not to be following any such mechanisms in the absence of additional assurances.</t>

</section>
<section anchor="secure-communications" title="Secure Communications">

<t>The provisions of Section 2 of <xref target="RFC8040"/> provide secure communication requirements that are already required of DORMS servers, since they are RESTCONF servers.
All RESTCONF requirements and security considerations remain in force for DORMS servers.</t>

<t>It is intended that security related metadata about the SSM channels such as public keys for use with cryptographic algorithms may be delivered over the RESTCONF connection, and that information available from this connection can be used as a trust anchor.
The secure transport provided by these minimum requirements are relied upon to provide authenticated delivery of these trust anchors, once a connection with a trusted DORMS server has been established.</t>

</section>
<section anchor="record-spoofing" title="Record-Spoofing">

<t>When using the DNS Boostrap method of discovery described in <xref target="dns-boot"/>, the SRV resource record contains information that SHOULD be communicated to the DORMS client without being modified.  The method used to ensure the result was unmodified is up to the client.</t>

<t>There must be a trust relationship between the end consumer of this resource record and the DNS server.
This relationship may be end-to-end DNSSEC validation or a secure connection to a trusted DNS server that provides end-to-end safety to prevent record-spoofing of the response from the trusted server.
The connection to the trusted server can use any secure channel, such as with a TSIG <xref target="RFC2845"/> or SIG(0) <xref target="RFC2931"/> channel, a secure local channel on the host, DNS over TLS <xref target="RFC7858"/>, DNS over HTTPS <xref target="RFC8484"/>, or some other mechanism that provides authentication of the RR.</t>

<t>If a DORMS client accepts a maliciously crafted SRV record, the client could connect to a server controlled by the attacker, and use metadata provided by them.  The consequences of trusting maliciously crafted metadata could range from attacks against the DORMS client’s parser of the metadata (via malicious constructions of the formatting of the data) to arbitrary disruption of the decisions the DORMS client makes as a result of processing validly constructed metadata.</t>

<t>Clients MAY use other secure methods to explicitly associate an (S,G) with a set of DORMS server hostnames, such as a configured mapping or an alternative trusted lookup service.</t>

</section>
<section anchor="security-cors" title="CORS considerations">

<t>As described in <xref target="cors-considerations"/>, it’s RECOMMENDED that DORMS servers provide appropriate restrictions to ensure only authorized web pages access metadata for their (S,G)s from the widely deployed base of secure browsers that use the CORS protocol according to <xref target="whatwg-fetch"/>.</t>

<t>Providing ‘*’ for the allowed origins exposes the DORMS-based metadata to access by scripts in all web pages, which opens the possibility of certain kinds of attacks against networks where browsers have support for joining multicast (S,G)s.</t>

<t>If the authentication for an (S,G) relies on DORMS-based metadata (for example, as defined in <xref target="I-D.draft-ietf-mboned-ambi"/>), an unauthorized web page that tries to join an (S,G) not permitted by the CORS headers for the DORMS server will be prevented from subscribing to the channels.</t>

<t>If an unauthorized site is not prevented from subscribing, code on the site (for example a malicious advertisement) could request subscriptions from many different (S,G)s, overflowing limits on the joining of (S,G)s and disrupting the delivery of multicast traffic for legitimate use.</t>

<t>Further, if the malicious script can be distributed to many different users within the same receiving network, the script could coordinate an attack against the network as a whole by joining disjoint sets of (S,G)s from different users within the receiving network.
The distributed subscription requests across the receiving network could overflow limits for the receiving network as a whole, essentially causing the websites displaying the ad to participate in an overjoining attack (see Appendix A of <xref target="I-D.draft-ietf-mboned-cbacc"/>).</t>

<t>Even if network safety mechanisms protect the network from the worst effects of oversubscription, the population counts for the multicast subscriptions could be disrupted by this kind of attack, and therefore push out legitimately requested traffic that’s being consumed by real users.
For a legitimately popular event, this could cause a widespread disruption to the service if it’s successfully pushed out.</t>

<t>A denial of service attack of this sort would be thwarted by restricting the access to (S,G)s to authorized websites through the use of properly restricted CORS headers.</t>

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

<t>Thanks to Christian Worm Mortensen, Dino Farinacci, Lenny Guiliano, and Reshad Rahman for their very helpful comments and reviews.</t>

</section>


  </middle>

  <back>

    <references title='Normative References'>





<reference  anchor="RFC2119" target='https://www.rfc-editor.org/info/rfc2119'>
<front>
<title>Key words for use in RFCs to Indicate Requirement Levels</title>
<author initials='S.' surname='Bradner' fullname='S. Bradner'><organization /></author>
<date year='1997' month='March' />
<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="RFC2317" target='https://www.rfc-editor.org/info/rfc2317'>
<front>
<title>Classless IN-ADDR.ARPA delegation</title>
<author initials='H.' surname='Eidnes' fullname='H. Eidnes'><organization /></author>
<author initials='G.' surname='de Groot' fullname='G. de Groot'><organization /></author>
<author initials='P.' surname='Vixie' fullname='P. Vixie'><organization /></author>
<date year='1998' month='March' />
<abstract><t>This document describes a way to do IN-ADDR.ARPA delegation on non-octet boundaries for address spaces covering fewer than 256 addresses.  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='20'/>
<seriesInfo name='RFC' value='2317'/>
<seriesInfo name='DOI' value='10.17487/RFC2317'/>
</reference>



<reference  anchor="RFC2782" target='https://www.rfc-editor.org/info/rfc2782'>
<front>
<title>A DNS RR for specifying the location of services (DNS SRV)</title>
<author initials='A.' surname='Gulbrandsen' fullname='A. Gulbrandsen'><organization /></author>
<author initials='P.' surname='Vixie' fullname='P. Vixie'><organization /></author>
<author initials='L.' surname='Esibov' fullname='L. Esibov'><organization /></author>
<date year='2000' month='February' />
<abstract><t>This document describes a DNS RR which specifies the location of the server(s) for a specific protocol and domain.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='2782'/>
<seriesInfo name='DOI' value='10.17487/RFC2782'/>
</reference>



<reference  anchor="RFC3596" target='https://www.rfc-editor.org/info/rfc3596'>
<front>
<title>DNS Extensions to Support IP Version 6</title>
<author initials='S.' surname='Thomson' fullname='S. Thomson'><organization /></author>
<author initials='C.' surname='Huitema' fullname='C. Huitema'><organization /></author>
<author initials='V.' surname='Ksinant' fullname='V. Ksinant'><organization /></author>
<author initials='M.' surname='Souissi' fullname='M. Souissi'><organization /></author>
<date year='2003' month='October' />
<abstract><t>This document defines the changes that need to be made to the Domain Name System (DNS) to support hosts running IP version 6 (IPv6).  The changes include a resource record type to store an IPv6 address, a domain to support lookups based on an IPv6 address, and updated definitions of existing query types that return Internet addresses as part of additional section processing.  The extensions are designed to be compatible with existing applications and, in particular, DNS implementations themselves.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='STD' value='88'/>
<seriesInfo name='RFC' value='3596'/>
<seriesInfo name='DOI' value='10.17487/RFC3596'/>
</reference>



<reference  anchor="RFC6241" target='https://www.rfc-editor.org/info/rfc6241'>
<front>
<title>Network Configuration Protocol (NETCONF)</title>
<author initials='R.' surname='Enns' fullname='R. Enns' role='editor'><organization /></author>
<author initials='M.' surname='Bjorklund' fullname='M. Bjorklund' role='editor'><organization /></author>
<author initials='J.' surname='Schoenwaelder' fullname='J. Schoenwaelder' role='editor'><organization /></author>
<author initials='A.' surname='Bierman' fullname='A. Bierman' role='editor'><organization /></author>
<date year='2011' month='June' />
<abstract><t>The Network Configuration Protocol (NETCONF) defined in this document provides mechanisms to install, manipulate, and delete the configuration of network devices.  It uses an Extensible Markup Language (XML)-based data encoding for the configuration data as well as the protocol messages.  The NETCONF protocol operations are realized as remote procedure calls (RPCs).  This document obsoletes RFC 4741.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='6241'/>
<seriesInfo name='DOI' value='10.17487/RFC6241'/>
</reference>



<reference  anchor="RFC6991" target='https://www.rfc-editor.org/info/rfc6991'>
<front>
<title>Common YANG Data Types</title>
<author initials='J.' surname='Schoenwaelder' fullname='J. Schoenwaelder' role='editor'><organization /></author>
<date year='2013' month='July' />
<abstract><t>This document introduces a collection of common data types to be used with the YANG data modeling language.  This document obsoletes RFC 6021.</t></abstract>
</front>
<seriesInfo name='RFC' value='6991'/>
<seriesInfo name='DOI' value='10.17487/RFC6991'/>
</reference>



<reference  anchor="RFC7950" target='https://www.rfc-editor.org/info/rfc7950'>
<front>
<title>The YANG 1.1 Data Modeling Language</title>
<author initials='M.' surname='Bjorklund' fullname='M. Bjorklund' role='editor'><organization /></author>
<date year='2016' month='August' />
<abstract><t>YANG is a data modeling language used to model configuration data, state data, Remote Procedure Calls, and notifications for network management protocols.  This document describes the syntax and semantics of version 1.1 of the YANG language.  YANG version 1.1 is a maintenance release of the YANG language, addressing ambiguities and defects in the original specification.  There are a small number of backward incompatibilities from YANG version 1.  This document also specifies the YANG mappings to the Network Configuration Protocol (NETCONF).</t></abstract>
</front>
<seriesInfo name='RFC' value='7950'/>
<seriesInfo name='DOI' value='10.17487/RFC7950'/>
</reference>



<reference  anchor="RFC8040" target='https://www.rfc-editor.org/info/rfc8040'>
<front>
<title>RESTCONF Protocol</title>
<author initials='A.' surname='Bierman' fullname='A. Bierman'><organization /></author>
<author initials='M.' surname='Bjorklund' fullname='M. Bjorklund'><organization /></author>
<author initials='K.' surname='Watsen' fullname='K. Watsen'><organization /></author>
<date year='2017' month='January' />
<abstract><t>This document describes an HTTP-based protocol that provides a programmatic interface for accessing data defined in YANG, using the datastore concepts defined in the Network Configuration Protocol (NETCONF).</t></abstract>
</front>
<seriesInfo name='RFC' value='8040'/>
<seriesInfo name='DOI' value='10.17487/RFC8040'/>
</reference>



<reference  anchor="RFC8174" target='https://www.rfc-editor.org/info/rfc8174'>
<front>
<title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
<author initials='B.' surname='Leiba' fullname='B. Leiba'><organization /></author>
<date year='2017' month='May' />
<abstract><t>RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t></abstract>
</front>
<seriesInfo name='BCP' value='14'/>
<seriesInfo name='RFC' value='8174'/>
<seriesInfo name='DOI' value='10.17487/RFC8174'/>
</reference>



<reference  anchor="RFC8294" target='https://www.rfc-editor.org/info/rfc8294'>
<front>
<title>Common YANG Data Types for the Routing Area</title>
<author initials='X.' surname='Liu' fullname='X. Liu'><organization /></author>
<author initials='Y.' surname='Qu' fullname='Y. Qu'><organization /></author>
<author initials='A.' surname='Lindem' fullname='A. Lindem'><organization /></author>
<author initials='C.' surname='Hopps' fullname='C. Hopps'><organization /></author>
<author initials='L.' surname='Berger' fullname='L. Berger'><organization /></author>
<date year='2017' month='December' />
<abstract><t>This document defines a collection of common data types using the YANG data modeling language.  These derived common types are designed to be imported by other modules defined in the routing area.</t></abstract>
</front>
<seriesInfo name='RFC' value='8294'/>
<seriesInfo name='DOI' value='10.17487/RFC8294'/>
</reference>



<reference  anchor="RFC8340" target='https://www.rfc-editor.org/info/rfc8340'>
<front>
<title>YANG Tree Diagrams</title>
<author initials='M.' surname='Bjorklund' fullname='M. Bjorklund'><organization /></author>
<author initials='L.' surname='Berger' fullname='L. Berger' role='editor'><organization /></author>
<date year='2018' month='March' />
<abstract><t>This document captures the current syntax used in YANG module tree diagrams.  The purpose of this document is to provide a single location for this definition.  This syntax may be updated from time to time based on the evolution of the YANG language.</t></abstract>
</front>
<seriesInfo name='BCP' value='215'/>
<seriesInfo name='RFC' value='8340'/>
<seriesInfo name='DOI' value='10.17487/RFC8340'/>
</reference>



<reference  anchor="RFC8341" target='https://www.rfc-editor.org/info/rfc8341'>
<front>
<title>Network Configuration Access Control Model</title>
<author initials='A.' surname='Bierman' fullname='A. Bierman'><organization /></author>
<author initials='M.' surname='Bjorklund' fullname='M. Bjorklund'><organization /></author>
<date year='2018' month='March' />
<abstract><t>The standardization of network configuration interfaces for use with the Network Configuration Protocol (NETCONF) or the RESTCONF protocol requires a structured and secure operating environment that promotes human usability and multi-vendor interoperability.  There is a need for standard mechanisms to restrict NETCONF or RESTCONF protocol access for particular users to a preconfigured subset of all available NETCONF or RESTCONF protocol operations and content.  This document defines such an access control model.</t><t>This document obsoletes RFC 6536.</t></abstract>
</front>
<seriesInfo name='STD' value='91'/>
<seriesInfo name='RFC' value='8341'/>
<seriesInfo name='DOI' value='10.17487/RFC8341'/>
</reference>



<reference  anchor="RFC8446" target='https://www.rfc-editor.org/info/rfc8446'>
<front>
<title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
<author initials='E.' surname='Rescorla' fullname='E. Rescorla'><organization /></author>
<date year='2018' month='August' />
<abstract><t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol.  TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t><t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961.  This document also specifies new requirements for TLS 1.2 implementations.</t></abstract>
</front>
<seriesInfo name='RFC' value='8446'/>
<seriesInfo name='DOI' value='10.17487/RFC8446'/>
</reference>


<reference anchor="whatwg-fetch" target="https://fetch.spec.whatwg.org/">
  <front>
    <title>WHATWG Fetch Living Standard</title>
    <author >
      <organization></organization>
    </author>
    <date year="2020" month="October"/>
  </front>
</reference>


    </references>

    <references title='Informative References'>





<reference  anchor="RFC1034" target='https://www.rfc-editor.org/info/rfc1034'>
<front>
<title>Domain names - concepts and facilities</title>
<author initials='P.V.' surname='Mockapetris' fullname='P.V. Mockapetris'><organization /></author>
<date year='1987' month='November' />
<abstract><t>This RFC is the revised basic definition of The Domain Name System.  It obsoletes RFC-882.  This memo describes the domain style names and their used for host address look up and electronic mail forwarding.  It discusses the clients and servers in the domain name system and the protocol used between them.</t></abstract>
</front>
<seriesInfo name='STD' value='13'/>
<seriesInfo name='RFC' value='1034'/>
<seriesInfo name='DOI' value='10.17487/RFC1034'/>
</reference>



<reference  anchor="RFC1035" target='https://www.rfc-editor.org/info/rfc1035'>
<front>
<title>Domain names - implementation and specification</title>
<author initials='P.V.' surname='Mockapetris' fullname='P.V. Mockapetris'><organization /></author>
<date year='1987' month='November' />
<abstract><t>This RFC is the revised specification of the protocol and format used in the implementation of the Domain Name System.  It obsoletes RFC-883. This memo documents the details of the domain name client - server communication.</t></abstract>
</front>
<seriesInfo name='STD' value='13'/>
<seriesInfo name='RFC' value='1035'/>
<seriesInfo name='DOI' value='10.17487/RFC1035'/>
</reference>



<reference  anchor="RFC2845" target='https://www.rfc-editor.org/info/rfc2845'>
<front>
<title>Secret Key Transaction Authentication for DNS (TSIG)</title>
<author initials='P.' surname='Vixie' fullname='P. Vixie'><organization /></author>
<author initials='O.' surname='Gudmundsson' fullname='O. Gudmundsson'><organization /></author>
<author initials='D.' surname='Eastlake 3rd' fullname='D. Eastlake 3rd'><organization /></author>
<author initials='B.' surname='Wellington' fullname='B. Wellington'><organization /></author>
<date year='2000' month='May' />
<abstract><t>This protocol allows for transaction level authentication using shared secrets and one way hashing.  It can be used to authenticate dynamic updates as coming from an approved client, or to authenticate responses as coming from an approved recursive name server.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='2845'/>
<seriesInfo name='DOI' value='10.17487/RFC2845'/>
</reference>



<reference  anchor="RFC2931" target='https://www.rfc-editor.org/info/rfc2931'>
<front>
<title>DNS Request and Transaction Signatures ( SIG(0)s )</title>
<author initials='D.' surname='Eastlake 3rd' fullname='D. Eastlake 3rd'><organization /></author>
<date year='2000' month='September' />
<abstract><t>This document describes the minor but non-interoperable changes in Request and Transaction signature resource records ( SIG(0)s ) that implementation experience has deemed necessary.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='2931'/>
<seriesInfo name='DOI' value='10.17487/RFC2931'/>
</reference>



<reference  anchor="RFC3040" target='https://www.rfc-editor.org/info/rfc3040'>
<front>
<title>Internet Web Replication and Caching Taxonomy</title>
<author initials='I.' surname='Cooper' fullname='I. Cooper'><organization /></author>
<author initials='I.' surname='Melve' fullname='I. Melve'><organization /></author>
<author initials='G.' surname='Tomlinson' fullname='G. Tomlinson'><organization /></author>
<date year='2001' month='January' />
<abstract><t>This memo specifies standard terminology and the taxonomy of web replication and caching infrastructure as deployed today.  It introduces standard concepts, and protocols used today within this application domain.  This memo provides information for the Internet community.</t></abstract>
</front>
<seriesInfo name='RFC' value='3040'/>
<seriesInfo name='DOI' value='10.17487/RFC3040'/>
</reference>



<reference  anchor="RFC3376" target='https://www.rfc-editor.org/info/rfc3376'>
<front>
<title>Internet Group Management Protocol, Version 3</title>
<author initials='B.' surname='Cain' fullname='B. Cain'><organization /></author>
<author initials='S.' surname='Deering' fullname='S. Deering'><organization /></author>
<author initials='I.' surname='Kouvelas' fullname='I. Kouvelas'><organization /></author>
<author initials='B.' surname='Fenner' fullname='B. Fenner'><organization /></author>
<author initials='A.' surname='Thyagarajan' fullname='A. Thyagarajan'><organization /></author>
<date year='2002' month='October' />
</front>
<seriesInfo name='RFC' value='3376'/>
<seriesInfo name='DOI' value='10.17487/RFC3376'/>
</reference>



<reference  anchor="RFC3688" target='https://www.rfc-editor.org/info/rfc3688'>
<front>
<title>The IETF XML Registry</title>
<author initials='M.' surname='Mealling' fullname='M. Mealling'><organization /></author>
<date year='2004' month='January' />
<abstract><t>This document describes an IANA maintained registry for IETF standards which use Extensible Markup Language (XML) related items such as Namespaces, Document Type Declarations (DTDs), Schemas, and Resource Description Framework (RDF) Schemas.</t></abstract>
</front>
<seriesInfo name='BCP' value='81'/>
<seriesInfo name='RFC' value='3688'/>
<seriesInfo name='DOI' value='10.17487/RFC3688'/>
</reference>



<reference  anchor="RFC3810" target='https://www.rfc-editor.org/info/rfc3810'>
<front>
<title>Multicast Listener Discovery Version 2 (MLDv2) for IPv6</title>
<author initials='R.' surname='Vida' fullname='R. Vida' role='editor'><organization /></author>
<author initials='L.' surname='Costa' fullname='L. Costa' role='editor'><organization /></author>
<date year='2004' month='June' />
<abstract><t>This document updates RFC 2710, and it specifies Version 2 of the ulticast Listener Discovery Protocol (MLDv2).  MLD is used by an IPv6 router to discover the presence of multicast listeners on directly attached links, and to discover which multicast addresses are of interest to those neighboring nodes.  MLDv2 is designed to be interoperable with MLDv1.  MLDv2 adds the ability for a node to report interest in listening to packets with a particular multicast address only from specific source addresses or from all sources except for specific source addresses.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='3810'/>
<seriesInfo name='DOI' value='10.17487/RFC3810'/>
</reference>



<reference  anchor="RFC4604" target='https://www.rfc-editor.org/info/rfc4604'>
<front>
<title>Using Internet Group Management Protocol Version 3 (IGMPv3) and Multicast Listener Discovery Protocol Version 2 (MLDv2) for Source-Specific Multicast</title>
<author initials='H.' surname='Holbrook' fullname='H. Holbrook'><organization /></author>
<author initials='B.' surname='Cain' fullname='B. Cain'><organization /></author>
<author initials='B.' surname='Haberman' fullname='B. Haberman'><organization /></author>
<date year='2006' month='August' />
<abstract><t>The Internet Group Management Protocol Version 3 (IGMPv3) and the Multicast Listener Discovery Protocol Version 2 (MLDv2) are protocols that allow a host to inform its neighboring routers of its desire to receive IPv4 and IPv6 multicast transmissions, respectively. Source-specific multicast (SSM) is a form of multicast in which a receiver is required to specify both the network-layer address of the source and the multicast destination address in order to receive the multicast transmission.  This document defines the notion of an &quot;SSM-aware&quot; router and host, and clarifies and (in some cases) modifies the behavior of IGMPv3 and MLDv2 on SSM-aware routers and hosts to accommodate source-specific multicast.  This document updates the IGMPv3 and MLDv2 specifications.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='4604'/>
<seriesInfo name='DOI' value='10.17487/RFC4604'/>
</reference>



<reference  anchor="RFC4607" target='https://www.rfc-editor.org/info/rfc4607'>
<front>
<title>Source-Specific Multicast for IP</title>
<author initials='H.' surname='Holbrook' fullname='H. Holbrook'><organization /></author>
<author initials='B.' surname='Cain' fullname='B. Cain'><organization /></author>
<date year='2006' month='August' />
<abstract><t>IP version 4 (IPv4) addresses in the 232/8 (232.0.0.0 to 232.255.255.255) range are designated as source-specific multicast (SSM) destination addresses and are reserved for use by source-specific applications and protocols.  For IP version 6 (IPv6), the address prefix FF3x::/32 is reserved for source-specific multicast use.  This document defines an extension to the Internet network service that applies to datagrams sent to SSM addresses and defines the host and router requirements to support this extension.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='4607'/>
<seriesInfo name='DOI' value='10.17487/RFC4607'/>
</reference>



<reference  anchor="RFC5013" target='https://www.rfc-editor.org/info/rfc5013'>
<front>
<title>The Dublin Core Metadata Element Set</title>
<author initials='J.' surname='Kunze' fullname='J. Kunze'><organization /></author>
<author initials='T.' surname='Baker' fullname='T. Baker'><organization /></author>
<date year='2007' month='August' />
<abstract><t>This document defines fifteen metadata elements for resource description in a cross-disciplinary information environment.  This memo provides information for the Internet community.</t></abstract>
</front>
<seriesInfo name='RFC' value='5013'/>
<seriesInfo name='DOI' value='10.17487/RFC5013'/>
</reference>



<reference  anchor="RFC6020" target='https://www.rfc-editor.org/info/rfc6020'>
<front>
<title>YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)</title>
<author initials='M.' surname='Bjorklund' fullname='M. Bjorklund' role='editor'><organization /></author>
<date year='2010' month='October' />
<abstract><t>YANG is a data modeling language used to model configuration and state data manipulated by the Network Configuration Protocol (NETCONF), NETCONF remote procedure calls, and NETCONF notifications. [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='6020'/>
<seriesInfo name='DOI' value='10.17487/RFC6020'/>
</reference>



<reference  anchor="RFC6335" target='https://www.rfc-editor.org/info/rfc6335'>
<front>
<title>Internet Assigned Numbers Authority (IANA) Procedures for the Management of the Service Name and Transport Protocol Port Number Registry</title>
<author initials='M.' surname='Cotton' fullname='M. Cotton'><organization /></author>
<author initials='L.' surname='Eggert' fullname='L. Eggert'><organization /></author>
<author initials='J.' surname='Touch' fullname='J. Touch'><organization /></author>
<author initials='M.' surname='Westerlund' fullname='M. Westerlund'><organization /></author>
<author initials='S.' surname='Cheshire' fullname='S. Cheshire'><organization /></author>
<date year='2011' month='August' />
<abstract><t>This document defines the procedures that the Internet Assigned Numbers Authority (IANA) uses when handling assignment and other requests related to the Service Name and Transport Protocol Port Number registry.  It also discusses the rationale and principles behind these procedures and how they facilitate the long-term sustainability of the registry.</t><t>This document updates IANA's procedures by obsoleting the previous UDP and TCP port assignment procedures defined in Sections 8 and 9.1 of the IANA Allocation Guidelines, and it updates the IANA service name and port assignment procedures for UDP-Lite, the Datagram Congestion Control Protocol (DCCP), and the Stream Control Transmission Protocol (SCTP).  It also updates the DNS SRV specification to clarify what a service name is and how it is registered.  This memo documents an Internet Best Current Practice.</t></abstract>
</front>
<seriesInfo name='BCP' value='165'/>
<seriesInfo name='RFC' value='6335'/>
<seriesInfo name='DOI' value='10.17487/RFC6335'/>
</reference>



<reference  anchor="RFC6415" target='https://www.rfc-editor.org/info/rfc6415'>
<front>
<title>Web Host Metadata</title>
<author initials='E.' surname='Hammer-Lahav' fullname='E. Hammer-Lahav' role='editor'><organization /></author>
<author initials='B.' surname='Cook' fullname='B. Cook'><organization /></author>
<date year='2011' month='October' />
<abstract><t>This specification describes a method for locating host metadata as well as information about individual resources controlled by the host.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='6415'/>
<seriesInfo name='DOI' value='10.17487/RFC6415'/>
</reference>



<reference  anchor="RFC7858" target='https://www.rfc-editor.org/info/rfc7858'>
<front>
<title>Specification for DNS over Transport Layer Security (TLS)</title>
<author initials='Z.' surname='Hu' fullname='Z. Hu'><organization /></author>
<author initials='L.' surname='Zhu' fullname='L. Zhu'><organization /></author>
<author initials='J.' surname='Heidemann' fullname='J. Heidemann'><organization /></author>
<author initials='A.' surname='Mankin' fullname='A. Mankin'><organization /></author>
<author initials='D.' surname='Wessels' fullname='D. Wessels'><organization /></author>
<author initials='P.' surname='Hoffman' fullname='P. Hoffman'><organization /></author>
<date year='2016' month='May' />
<abstract><t>This document describes the use of Transport Layer Security (TLS) to provide privacy for DNS.  Encryption provided by TLS eliminates opportunities for eavesdropping and on-path tampering with DNS queries in the network, such as discussed in RFC 7626.  In addition, this document specifies two usage profiles for DNS over TLS and provides advice on performance considerations to minimize overhead from using TCP and TLS with DNS.</t><t>This document focuses on securing stub-to-recursive traffic, as per the charter of the DPRIVE Working Group.  It does not prevent future applications of the protocol to recursive-to-authoritative traffic.</t></abstract>
</front>
<seriesInfo name='RFC' value='7858'/>
<seriesInfo name='DOI' value='10.17487/RFC7858'/>
</reference>



<reference  anchor="RFC8484" target='https://www.rfc-editor.org/info/rfc8484'>
<front>
<title>DNS Queries over HTTPS (DoH)</title>
<author initials='P.' surname='Hoffman' fullname='P. Hoffman'><organization /></author>
<author initials='P.' surname='McManus' fullname='P. McManus'><organization /></author>
<date year='2018' month='October' />
<abstract><t>This document defines a protocol for sending DNS queries and getting DNS responses over HTTPS.  Each DNS query-response pair is mapped into an HTTP exchange.</t></abstract>
</front>
<seriesInfo name='RFC' value='8484'/>
<seriesInfo name='DOI' value='10.17487/RFC8484'/>
</reference>


<reference anchor="I-D.draft-ietf-mboned-cbacc">
   <front>
      <title>Circuit Breaker Assisted Congestion Control</title>
      <author fullname="Jake Holland">
	 <organization>Akamai Technologies, Inc.</organization>
      </author>
      <date month="February" day="1" year="2021" />
      <abstract>
	 <t>   This document specifies Circuit Breaker Assisted Congestion Control
   (CBACC).  CBACC enables fast-trip Circuit Breakers by publishing rate
   metadata about multicast channels from senders to intermediate
   network nodes or receivers.  The circuit breaker behavior is defined
   as a supplement to receiver driven congestion control systems, to
   preserve network health if misbehaving or malicious receiver
   applications subscribe to a volume of traffic that exceeds capacity
   policies or capability for a network or receiving device.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-mboned-cbacc-02" />
   <format type="TXT" target="https://www.ietf.org/archive/id/draft-ietf-mboned-cbacc-02.txt" />
</reference>


<reference anchor="I-D.draft-ietf-mboned-ambi">
   <front>
      <title>Asymmetric Manifest Based Integrity</title>
      <author fullname="Jake Holland">
	 <organization>Akamai Technologies, Inc.</organization>
      </author>
      <author fullname="Kyle Rose">
	 <organization>Akamai Technologies, Inc.</organization>
      </author>
      <date month="October" day="31" year="2020" />
      <abstract>
	 <t>   This document defines Asymmetric Manifest-Based Integrity (AMBI).
   AMBI allows each receiver or forwarder of a stream of multicast
   packets to check the integrity of the contents of each packet in the
   data stream.  AMBI operates by passing cryptographically verifiable
   hashes of the data packets inside manifest messages, and sending the
   manifests over authenticated out-of-band communication channels.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-mboned-ambi-01" />
   <format type="TXT" target="https://www.ietf.org/archive/id/draft-ietf-mboned-ambi-01.txt" />
</reference>


<reference anchor="I-D.draft-ietf-core-comi">
   <front>
      <title>CoAP Management Interface (CORECONF)</title>
      <author fullname="Michel Veillette">
	 <organization>Trilliant Networks Inc.</organization>
      </author>
      <author fullname="Peter van der Stok">
	 <organization>consultant</organization>
      </author>
      <author fullname="Alexander Pelov">
	 <organization>Acklio</organization>
      </author>
      <author fullname="Andy Bierman">
	 <organization>YumaWorks</organization>
      </author>
      <author fullname="Ivaylo Petrov">
	 <organization>Acklio</organization>
      </author>
      <date month="January" day="17" year="2021" />
      <abstract>
	 <t>   This document describes a network management interface for
   constrained devices and networks, called CoAP Management Interface
   (CORECONF).  The Constrained Application Protocol (CoAP) is used to
   access datastore and data node resources specified in YANG, or SMIv2
   converted to YANG.  CORECONF uses the YANG to CBOR mapping and
   converts YANG identifier strings to numeric identifiers for payload
   size reduction.  CORECONF extends the set of YANG based protocols,
   NETCONF and RESTCONF, with the capability to manage constrained
   devices and networks.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-core-comi-11" />
   <format type="TXT" target="https://www.ietf.org/archive/id/draft-ietf-core-comi-11.txt" />
</reference>


<reference anchor="I-D.draft-openconfig-rtgwg-gnmi-spec">
   <front>
      <title>gRPC Network Management Interface (gNMI)</title>
      <author fullname="Rob Shakir">
	 <organization>Google</organization>
      </author>
      <author fullname="Anees Shaikh">
	 <organization>Google</organization>
      </author>
      <author fullname="Paul Borman">
	 <organization>Google</organization>
      </author>
      <author fullname="Marcus Hines">
	 <organization>Google</organization>
      </author>
      <author fullname="Carl Lebsack">
	 <organization>Google</organization>
      </author>
      <author fullname="Chris Morrow">
	 <organization>Google</organization>
      </author>
      <date month="March" day="5" year="2018" />
      <abstract>
	 <t>   This document describes the gRPC Network Management Interface (gNMI),
   a network management protocol based on the gRPC framework.  gNMI
   supports retrieval and manipulation of state from network elements
   where the data is represented by a tree structure, and addressable by
   paths.  The gNMI service defines operations for configuration
   management, operational state retrieval, and bulk data collection via
   streaming telemetry.  The authoritative gNMI specification is
   maintained at [GNMI-SPEC].

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-openconfig-rtgwg-gnmi-spec-01" />
   <format type="TXT" target="https://www.ietf.org/archive/id/draft-openconfig-rtgwg-gnmi-spec-01.txt" />
</reference>




    </references>



  </back>

<!-- ##markdown-source:
H4sIAOY062AAA9V96XLj2JXmfz4FQhnRkmySWnNjlWuskrKy5E4pcySlqx0u
TwdIgiQqQYANgFLRaTn6Neb15knmfGe59wIklVXd7lnSES6KBO5y7tm32+v1
OnVaZ8kgukirUXGflKvo/SS6Sap6VOST6Cqp43Fcx9GkKKPbYlmOkl61SEbp
JB1F82VWp6O4qjvxcFgm9zTI+5ur2864GOXxnMYcl/Gk7qVJPenNh0WejHvj
opxXvcPjDg1KDxwfHh/1Dl/2jg47I/piWpSrQVTV404nXZSDqC6XVX18ePia
XojLJB5E7xdV56EoP03LYrkYRFc8audTsqIvx4PoMq+TMk/q3gVm7nSqOs7H
/xpn9NQgWiVVZ5EOoj/XxagbVUVZl8mkok+rOT78pdOJl/WsKAedqNeJ6F+a
V4PoD/3o+yLLaBz+Tjb2h/hT0vi6KKeD6OxTPI/T6C4ZzfIiK6ZpQqNf5qM+
P1LRdEk9iI6eH0bflkU8fohX/MMorWnX5/F8WKbjadKNrs4igsvpqfxaLPMa
YPmYp3Uyjm5rAlQVFZPobJ6UBH5+KqGJs0H0E61rJsvqExh+P8XX/VEx73Ry
gnxcp/cJbS+6+e78+OjotX08OXppH1++OtaPJ89fv9CPL45Pj+zj69f28eXr
54f68dXhqft49PLUPh6/dh9P/AMnbrBXp6c8xcMsrh+mvUlSj2YD3k8dl1MA
a1bXi2pwcMA/9YF5fXm4TxA/kEcFf3d++P7s7oe30Xd4MnqX3qf5FMDKx3E5
3uEnBefej+pimJTAvUPCs3zSAszR4cmp//jcAPPq1H18fWIbOPH7Pjl5aeA6
efHqlX18dWQPnL44PPUfDeDPD49ODLS0IPt44iZ+cXpkH1++ev7KQe4VD3bZ
u+ivU9loGI9G238mTEs3/DoqyoT+b976rVgkOXhBOu2V9ZSOaZrPU2YCg06n
1+tF8ZBQOx4Rud3N0ioi6l/Ok7yOxskkzQlVmSlEe/8ZBrPfjeJonhB1jqO6
iMY6VESnG5VJXabJfRIlP9dJXqXDLMGjMmo8LJY10fqWcaPRLM7zJKuiZQV8
uXlze3f+/vq7Pm0loZFpjiqJLj9EF9e30V8JeLzMOBigSvJxUu5WeCgej8uk
qiICggBsWSa83iUNcnvzRxpQVkIfCNjjCr/FY5qkTumJmqacFVUNFgP6jt1y
aJYS260J9aPFcpil1YwA63c5wnDYAAaM8uQh+tPZ9dtoXoyXBI2HtJ5F1XKx
IJbHG1BIFXnV75zx45ggpYXx3IAqFtMeh1iwHuq4L0c/T8fjLOl0noHzlvTU
qKZR/ysRgSY+04FszTRVAKrPn5UfPT66JwRuZXGfjmkZJEjGABmOCsiESdOc
d7zDhMBCake2zsOB09FwBIYkMwjglc+f+avHx77smP8iVCV5MxWoFwsAJM4C
kIcDFDRp6QBF0kIXSUcQonOV1EAIx6uKXBHb4yHvAiImnvOhEu6mdHz0VlXM
QRvxfEEjARPpeYICw2RE8wzp1zymacbRcEVf0z4+pYQB9KpDMPpuShwyt00T
u+RlYOftwy5o8LxgeM/SYVozYDEvDbgGYwGpgIphQW+ReC6IIqsl8fG4iq7f
BAcLSfT42I3O39+80W+3cTE8Rqg0vb66bDy1nZ/hjeFSFlyRRM0JtixphTng
a1lvIcRY0Kb8egkIOBJAfERzMB7XIWj6LUgVebZytIHBx44wQIHbQGYUSeug
0/AcawvR8fv6aoPKsT7MwcDHU+BQ4HM3xqVumEtFezc3+1G9oi3xEUBFwLmf
Ke9T6MQtqiTKUk7l0ej2+/cf31145hgRCmYJ0BesFfPf3CjcaNE//isvu//j
v9ajBS1+ORwXpM/kRqzb2DMfn+yAfqItMmIzGZCUIjQOyIYE14QYjPB7HZ6h
A+LM7QAc+xau7ThJ7Pk1/ULcfVHkng17eBjrBrkZhc9DficYp5Jku7Ryq/0g
kMVUQiYAnFCxsdlRloKlrInLf1sygjVXF4MrVaMyHRpj43eYvJ89i76NR6xx
k7KrgjHGwYPxVhWhGws54iOTeJ5maVx6nBrGFe0Ax0OHPkoW9dpEqnGB9uyP
5/jDhBAde5XQopm1KJ8UaC4XUOjw0LyLHTwkWYb/tvgNo1ULpRmb1zcdYHd7
n1lVfHGzbou89qScp2wGrGicaSzyefvZblwNFEUSPAYL3dXl26sP9yfyBNRO
feLq3cX9sX5Laid9C9RiSykiZhZPE2E7k1+gD3W3ruf0Hw4drHKj+MaDbSEs
CHnnX+9Atcff0d+iC/C8lFUQ+pIUlN7gb4Oe+0df7t123+7Tk2dfhsF2ENCR
9GmERZyWfBxO8yPi4+3Gxn/AHvh32gkNVae5SG85lMsPZBmG1IqFkWhfLDJa
CT9IoKlWVZ3MPQMh2TZf5nhAeXdIyUzvbCy1dWDeeeUmVMIHJDZqmSnUBSM2
YodOAIXyJ9BkWpIO5hZ4EsbfIFO2wFYYQYdevAOBbnk5wo9fGIH+3d5e0Qhb
Ncknj1cQ/FOyih6Y4+9cfby92+nKf6Pr9/z55s1//3h58+YCn2+/P3v3zn2w
J0Te+U/+zfP3V1dvri/kZfo2an11dfanHeGBO+8/3F2+vz57t7MGZlbIhdxS
OD4WZArRVjbzNTL3laSExMhMp78fZkku87A2In/Sga+AhQmRL70fE1sdxYu0
jpUvVLPiIY9IW0uEGq+cPsgjfSQudc465udngarY6QjmBdJzUpLohDunqY1C
8R0LJzEVAtaL4GOcPakHq4jkdUfTrBjS6ldOAsZsHIK8S9XGtg6M30hlqNM5
9NkkGYsaQQ8Sg6GvknxKHJUBTKSQstpWsP4KwwK8XuWPrYh2Q4yFzKXGtw3T
jX4gllKSuEtLIT4C8AXRMbFSVUANkVkvxcl8ynEYi6ISUyGwM76okNLD4MiY
mRR2NZPiqIzzKcsZN6i3GoBxyc+0BkY0EUsrgugKB6cmpgAqju5jssvrFUYa
p5MJoQtNOVnWyzJpWKDfLjHrhKyVdSsF8ynC0KhJVjzwNtIsW8LpgJNiHHwW
fcBTGJGVUVrZe7BDUh6IENgIwxN1ogbq+9zPwiMKbhJwQAJsQ9ceMWHQxwtG
HtoMPf6g4nwd7wAKYAsfJ7yEi8a6ePoKiDLHj/F4nlb4EdKRDGiw1FEqx0eq
UwKy5GN3MCeDqgTnbyEX1NUS0hg0A8UYgr4NAHqHpgHcmGuPEyjqlanTuuN+
Z82kCr1KxDPMsmCNWuAWYB0twFwNjGwGZT2msyXNBcMqloM4y8Xu23wYcvSA
XEiaZrmAxoPhzERbO5NhQm8kbPIv+LFU3CDBQTLC2pkLYNh6nDRJmh8jMyAR
92IgqbeDDd62/yzUzgk7cKQXiTvNL4FORYBBZSQjAJFLIksl0XVYqfIjBpG+
pGMJEo2KZQauN8qW42QDK8Zk3iiGt8wDqel1YMuMNg6cJH4U4jPDfvPYpGKm
sdvFXtKf9htPNsjmAuIjJ/DR8TsH0xvh99FtUosshA/28XGfJ5XtCXGSQlfK
sv30GanyWVTVcb2s2kQIbYxmc7oGg+9nZuI4Q4GsD7RsEIjq4sRBBvbbE/qc
8mxgdwZ9fKXyQISJDdLvXJLOmZDUi6HWNnXOeTqdsRleMoegsxElGQiSE29P
4hxBkiLEKAgeJx1k0dXmcYGcDRPUnFm6fmz1YZbS/ogoH2LsOPQ6fcmjwsJD
XJosOroNpBZKTRo46Dj6E2AQCIeQmCY1c44qneakBpHmUswRH4IlD0CHEyDy
gwCT+q+w40zkDuEVPc+UR3ApGeHo59EsgX91HJ19uCTMJtjyGuk8R4IAYulW
otRk6bCMSdnwYnHFc4jbheBE8qEo4SeFqSUswkMHbo3eIiazgUyQWrX9//Xv
/3MLPGiLNdyl2+AS8MLow+UVnV1VxdAe4GxgQxUfyTKlX+ZDkkezdEEvMaNL
87Hx7ZiO9CEX96UtYAZTnomcmeNQNFp2regC+p1bcX7oVjzGhQyBl06j8JEx
U+BtOiyjAYXcc3MKt2Wx7ps0AwYmi9hiEU/V+xD9VNDBTJbCjBe6i7ZU7bzn
3wlRyiIewX0PtOXFAQIl4cg9ob/RhfAh2u+4ZMcrwXpOOgSdrMCLt0xvTYBa
RdmgMRfUcMxhmJj2cZ9kKxN8CdlhEs9YLMsFvJmGs8FUJhRnSZzVM2Fl10Wt
64dgomNZ0sNi2N+w35kOutO5Zp2yQLgqejPGeIPoA9x9WPecVirEXClt4O20
rsTho3qSSm62AkzOqt6ub6WVngc71QgeUDOh1dixEluhKVM5N/WKs7OVlKSs
WIgdBfOcoLcUXUyFB4tyML5JXKoc/mOSL9s7t7Vf+AE+P7vHg49tn2zqlK23
JCqWQ6aECpAhEq4HnY6FO6f8MwK3B2/L5Xyxep+N7wglswNviPdG0IGTstO5
YUeMKMsPSTaChkGbhaObpqywYiwQDkYCJbEXWBhJVVcbOaoekbcIRsFOK9P1
50k5VRMAB1bDWc6mFonnGoiFX5j70Vmn8Gx2o4WMTLI7mSzxLCR/ylorgYTR
5Qf48PTU/bz51EeCQbMIN34iEw7A4EAwLWGe1gdYcw9uwIMOsQa3qsbZTlo2
EBmzoDTR1bMYLFSO6Orb99dvLuAA+AQ6MD+amGJklBKpiob3e1sGglPRb6I/
EDvw6314ePDrxOtkfh7gdfCoAxkBb90SJxjN/Ht4FN8Qxfr38cXBsCweqkRf
PRDEvCauXgzv02LJWyMWUEC373TeFWyIFmOYarRyZQpmogyFgz3EK7X6mVmM
YvU0srJK7KwyucmyjrMkwNdLI3bGCkhvjAkNJMqIOZYCj+EyzcamhwpRQVMS
jYqOggDKKuN4OWIl6EFZonDdvPBUjdElDPT69RHp1LQEcWYcvz4NgjeVhCrT
uVqjSnOrGBYbHFd95kmvTg9fmrEtXi6XI9GcEsNHe2DfyW4loTm2JNQUwWJ4
6svdOUe+Kli4D7OVsjQOieW7iBUnc7wxTMfjJFdsOcsAiin0n10EzvKeW0U3
usRBamh4CP87TGrHRBCPmBMSj71ZRFZGTOoPlKxafRDwoJH5mBKPgTNDPEKk
xhCJEQgb6vKQmAKdBOQEH8WYVQo69hCZyawn6VAxcxqSrnMwzqteXWcHvICd
W8KNekdcV++KfLrDs1ay2c+fcQg9o3sxCmgVzBi910exsk5IaYGQZdH9tS0C
1O9JAn8dFIvq4CH9lB7w8CQblmVar3rTZQrfDJld37DjSg+bVaavn2QoREMH
s3qeHZSTEfDkmcqb3kn/5Tf9KLok3YUkzpKYS16M1VGBswdls6tCaGiYxfkn
UnhhMKg7NVVSMgnGMlvCGAIkWF67c+Ltu95cr+3MhQ0x+wE60cQPnyDLBfnl
K4Ig6xy0zFoBW6ugVAiYf/qfdDyBeZKyijIknTG6/HB/CvqyP150HdHO05+B
Wv9ERE92CX3kiUJKot2FY/l1W4aEk/WyjEUM3xBoS3/H7pn/x6zykikpvnAe
jn+Ez7T1QBcaGvuLiAOAdDmHQt4Vk9qSR0AaS7gVeZeMXdgi7eMqXgnyCakT
VGpolsQf/xuyHC4aEVqyKFmDvJEMFMKFz88kboYkBVVjHbut2hac06Ovzv5E
RAZsrxt63FqIUB4PotEJVL20mvukAqxchC9GXSrvcCOpRTQW9QgxIf498IRs
9GEuQB61YzzOSQBlEPzl26KogagLQIDYwZD+Vid682cijgUOY0YiIjYQ2YaZ
t7KCvChT0H0rMtHVJIQgwGsIExiu/c5HH/xrzk4Tmze9YWNL0AaebqQPYmY1
xCE5h8AxUbqb2TmcnUigXI/zwnRZ917EmtVmy9ScETtD9cAT4Ypetj1AtXd7
e7XvtHxx1azDwyNMWlmsfGyZBaKbIZQ+Tn4GiyiCcLeLrM/pMBjXyoToei/N
exi/H5cLwUmQz3oc5VYZ20n/OQZsRHXh1lm8aIzwYvsIx8EISEd8fATYfhAP
bcNabRHYROxP3n439A+Ie5f98HKkyHES+63QwxOYAU5ZUbDqBwapeo93XTq3
h/fA3ENlG8LM9mamrg8uL1bFsXDCSYnCi/GleQ+erDema7g4qmYpOHN202F1
ESUcCtpCsHwh1v1d04Gia7btY5Ut1hUwgVbE8/IDTuz48PBoMB6+GgxiF7xu
SgD40ScnyWDw6vDwcDDuBu4qogFo5CQyy9oR8bDJQkiAL5ISFCbH6OHpQv4S
Q7SvJmQ8FQ94WOG3R3poUoolaoBnTXRI+u4nOD4SVh4Zedh6hSUhunC1T7ba
3//+dwlzapoKslT6cf/wyf/JG+G/9hOv+sP+mP57xH8d941c+jxh531pyM2y
S5C1eQQBiI8PTzDU0Un/VAyy9VM4Pjmmueh/G7BWDkKtRQdZSYPxCNhgC8A+
8xptA9Ipr4g2R6sLX9YtXuamPcCr3XUoIPk1VcMPyEcpfp8yqZfwUdn6zJeB
J8OVYAuH0VF0enoSiSFdag5iX2kAqq2uhVm0m1h4ehXiqsbMGjJATcohm05E
JnCSxvUTk0H/ZpcYrUmEtw5hGk6L/Nbd9u4wREI6Yux3rvAsOF+YwQR2JcHI
VriY6KrJGlyWlw/FyF59sprGti1Uu5bTpefRytpqpGwBTFtE2IZc3ZS1WaxL
IkM+9LU9mdbjtgnqopkoJWK0mUvhhhvbJodJmNrLdNcUOuy8VWbHa6z92VRY
i+eTtlFVGe4DNc1yfMdBhodJvoDvGUWCUy8XXfbXn1+fXb3hwMuFfJrAbow4
cWFofBAJvIzaKWLbUPbgUQ6CUHwyZDslU/W63QZZpOyWz0y6pBIe1+zgNRlz
cvTSsnYu2eiM3sF4+fxMTVCi90lbmjPZJFWbrmDhjBNJHWI7o2TDGauyxBo6
aaPWygBP0F1X0QiHOFRLJtsS+M2VImxiEAaCYDVtW1DWRlRE0oH2QsVivDTf
tMj5LIVPOQIesbZAGh7MJQ79cjp1oDlwEBjhxaX87exUk14hdMguUXdttd8Q
m2xGiJ+nCrAcKxLAs9UoKfM/kYbl0BwplVDug6fGS3b+arQ+SEwVM6XqBxaO
V1ya2rZ/S7VpSSw08+BRxQvc5U+uhRjUMvec1GBiQOBMBW+xePn/tNKzt1np
EVkCTymJSQ3csIahAFVRS8dX9RbsJcI5kb1SwOOAI82f2Es3SjiLmq2V7+/u
PnBeZO48AYAHc4JhkrBKioQ6EmTYnLhMJZe/MKbGTnuZrr8vpNQ8blgY8B9w
yL+L9BX2ICk7Y4eQ2KJj8C5Nr0AG9SwZsfYnapIKZMY20KZ4lDSghkF8dCWU
1BruFdPbE464GwhXNU8CSkQIJA28x47X8sHPigwFZA86o7O0Yuf1IhN8CTcM
xGepwa2cRD0JU0l+pZ+Qm2+/HJ/yTxqgddamQ2HkiYySNhvCnHw+7JsjTdIC
Q/cptF2XxwyIxE14FPKQnB+/I6RBhOxm9+FglSWhJdlg1o4X8mPKacS5siyz
CFG+qqm9e1HEW0ES90OcfTJO6jIu1JGgpyD5t+JQMXbnQgjCTxos17kZSofd
YWlKCEyNq9wQxH2aXxAhP9tqWx45yzDIFhXn8OkR25rYZzu30QFX1f1Phn/u
wXiRMpWQgVHA74bzYqPsoI/IQo/j6wdQLXoA6w7OdMtv/Z/IVthxVT+01zcC
vYEl0CqUhOlAoQkV1bdv7qInBmb+cUCKuzz9Pf04eELHlKfOOAdmEMarDzCY
abuORE2n5pR2cFJRHBqatFsB7L3o/T/rtxdcZne3JLZ6+Dr6wzLjMk/6v8Hz
FwN68O3VnT55y3MNDKl6Mrf+eA4+0zuXWOyASLfHnMd+ldSUHoy8DdvRpz47
e2sHh13tDP4cWGCfG9bYTplkO4Mdg91Ot/nrjJg9/XxQF4sD90zwyKP7/JeO
fcNABX7/CaGHdxq4/6MQ6lPITf9roXfXhTB6mgDQM9WCtO2J+Hi8d9vQWayJ
VsJNk28g/WAem2rD8cVwGtVWBr8SeQV7Q2AdbFx8E4l/IRZvRGMeHlzut/9n
EfrovxqhWxtbQ+1I64MMXoNNgN4ZRDvHh0cveocvesdHO00UXdfAv6xmb0XH
J9Trp5Rp05/XNOZu+NS/LeMsnUCDYcFPiD1OuQqEJdXYFd/kbQ2ypQha/Ku/
gT71JCoiUNZ9nCrkIqC2xA1g8DWXHMi23ReFVtd5wmno7pzYj3n8JLRipmYn
vM1saPgaXaZbw1BaSc5YULW2BDYiCOWLUL0DZwvN/1qBtYHmsfCDtfEHuhVZ
0cGPASrLL7/zaQ5d6xFw+Or/BR6xiUM8zR+OHX94gjs8xRt+HWcwvrCzDerE
CbwQbHARABKaJql6PVRIgWe4OpCGPNyBW4V/9oWJa79Xi3jEDy3LfIAHB4u4
jOfV4Od5NsgrZlODbQMgtcDzLcOA5jMiuXYGLafqjkV2A5xgUAXJM7/3Y/bx
k5fkJsdFiiuDlNwtI0AnaDngXpnMDciZC6JU6jJZC98hVTqdI60DAUU2c9g1
jZQczYr0dG2T6ShW5c4zaXmt+uNiLlRxZZN6ysz5+htYu+YWBmkPYcB0lJTi
cTQfRWEOJ7ZlJ8tcdBQfsxOephAJeZSsMqmk1tWZ0F0Lf7cYOuf1I62YWSug
1WLiYaXEGgd32b0uGKvGWx1mzwsgjH1bnT6s7DVu7NoKNOKnLhqnZoMdv4X0
/nH8ktF0wP9/YNM3OKX4ZX8XhFoO2Ov4uyCu8v+xWnX8f1utCnjbgAHbYJxr
1gM/0lOfLhkK4Sm0bYnleNGTNNGmQbI+LD8OjyyN+JxOeqf162Pj7790Nv3S
skeuXWIfx0KLBmvjvKmcxHKWBVn0a95TKdHyyoNUBsogXR2SiDobV+KVtFoy
ly9tWqB3QwsjSuesfriYuNZfKKfb1OGjGeoF29Wgvrq4lIXoajjJbVy0FFNJ
loaUSwvX2gE55zQpTK85yjhb48I5rCkVqk/R3mgAmqgMMrQkdPbx5jKK3bfx
sLhPvO8xDGA4rtPYH2cGcEYUJxAYv6msOqQsqip6X6ZTNASw5dzOYvbh7p2/
v7ndjz4/I/ZZtVOvSPdnH2FQfrjuMa+cJ/yMPZFGbL0zkHpPJ55JOTADWsoE
hVdaVCls8uMLvEXZXXkO4tM/MnZyfUCOszIZcTlp+bGmKO7++JtdC70gsEGw
xHIYp1qFlYJNnEucrYLYXGOvG5pnWBJMAU6CKDCAqD4x6Q+Rg6mWKcsYgNsy
yZt9M1xeGk5CJFd0O4pJ3qcZnMfnjbNhn2Sjqu3zs7CY7JEjpZwky5FATuhZ
cXlw4ftCkIRaZMUqKJsXEg9KLDV32vlatVLBFYybE9D1dYijPC7L4sEpLT4x
AnGgMZmJKVfn0Ta7LUwqyKTKg3zteNxj7G7gu5yRAdF5gzmWkIEEbOaEnY8i
ZFGkkkLip0GvF19LkrvYFhqbbOybwigZxBvhyqfj4T0Hc8fLccpHj6R+LbdQ
q2x8n1YBVNUeDjGMG9bknOW6Ui4MS1HmWUN+tnzTvzoU9KWXuoZ+59Y0Es3W
LHKJfGNEDo9+qYhGMwcDRA/SyiTQF4RPTsTZCqbEXJ4OD44kY4KVKgTibSLN
tgsE1Ehtu5YxX6IkRGJ2eoaaUsbNQoT/kkR8ZqwY+hVXrMbByrgqtLvG9jkI
J3iauByGKqiR80uGuezSQzQdbh5r4DbIZlpzyuGI0Exm/OtEgQq9+L5IxxVX
vmRFrAKOw1j3Mp4h9JoMhmtlYx8R5gAiG7pWoLWSffBPvg5XtEfA+3sCEKvl
jWw4xZkhSALeZ1IHpkmQ/SPI1EZLV2UIqS9H0IC8pKu4JbvjYRagJpTmvakm
xVYSpLV7Fiwsy/qdizZeGYQXCFKWGghhrd5WpctVmi9KTi5JJXudJkMICZlV
SGmPuN0JCpAWzIEy5kQEJ4g571XlTFGuViCMnyXZglCePs7i+1TZltGhC1eC
E4HYqlFCe0qLVnUe15VrXgMvzo3mbDZpZePZLPClyb05fRAEvajJ4PyrfDlL
SPpU3NPIlWEiNwMYxSiyzN1BCjSAHrfKuHGiJuXEci2Lus68ySvMupFPbuYU
kigm0rFCDUKoMBwFXUnZpXutvUiuy+BaFBinlh7QPGgJRhfQpuqkUayqBx4M
GqZ9SlGMa5sxTxLG7VQOzaTytIh/WXcnkubcG+OKe2Og9wF6g4myYpqtFVrp
wjb00uC4myRr89q0hHAUT4hH+YyAOXBOWGxQyubkiSroKS3rNklaPbs0vfTX
tQVzCle7dllYNntQ78okkf1yGtg4jadlPHd1+2wY8lB0oIKTjWZq2ieSNaO/
27+Oxh8CQ4Psmd/2euVDZH9F9oVBwtk+8rUwu99Ef27yltBcsicbD+B7Wl49
SJ1lt/4KG340dsMA/EvLTgse3TQS/fub/res2fdWYU6ni/SeelPG9jYlrQV6
TnsJ7klWgmxn+KMngjgE+ueB9NX83Y4cN042upDz3CFL0h35FZ9O+OrX5+8v
3kTfvnl7eX37DZkDWWgjOr/b0RH73fR0QysSBjDb5uamOeoffQXz3PkUf7FH
8St6C0ka6c+WU8sDSWGQzAkgCMDV8rbn8QMPEAXFQDuoG+J6H1MLTvmZx/aw
KM8kJr5xZDvhzaOj2MiPWZRT0sSUge9cvrn7zurS9q6coor2XCgGM7+K0/j3
ox+0eu0tOzB495xTOKrNTXwmPW/p41pT28a/r1GQVheDn7S/7O9j7nYL79E3
NhaPH/Bf+mvnvFisStYJ90b70fHh0euIt3GH7HknokmNrrhniSlO8CVhWCk2
c6IbulY/is5QxIhBOTkTbBI2PD1+k6C8o1GXqZ0iLLswRw+NPJZs4XnVVXWH
vUmuwqUYi7xKUVWCrAgEw2pILWLg1VIK3bpW/cjJVHWBESStgCQ7DOYE6Kwp
nMzjxMl4C5+67PHb24vonT5OJg1GoFXReoJo8Gl/ZLv3gNutonfcicAZiJVs
P4st2YIfvrCWafh1z1dQoXIhqCvUJfeQarIvkGQVtRHoSqtGN1CAJRZzCnj7
L/SvMQlqxcrJqCfJ0zwNlzzSd3h2/ytUK0nuBb2e1lWSTRQA4hKXVgskKlKx
tXhRYVemXSQ17nblvzD28dm6MuEzN2NyHzCAPiRGgv/kX3bOAvzZ8h/sshtv
lzShXTn7Xasm2f3lvZkwRCMY+e35h+joNNoDFNClaV8+okHT/sb+TIpnv7xF
k52mHpxipPacdC3TWsmGolAQn+Kc9cvApg5Ng1ZiMnpuuboUYQcWyIl8xEX5
Yaio7XDDbsM3tl3qHm0uW/XEGdNvc0vvp93SZdwzUSPBMvISpjX9XbHoZagI
t1iJvWLz+jHcls1T2xjIxSEaGtvWWp6Az4Zwk2+0yo/Tr71bGPjfVFO+cr81
lnIrbzqLV85Dh0bOSEvZCT3P3CCxpfp8Ffw+R19trlsnXpKEvzTZf/hv5262
Kf2Za6naDZU9EPQMA4hICUO4WoCkoSFtWVBwPOJR0o7EHLwJwaMAaozZ8swz
hH6BsvZV463tcGsjpKuYCUAV+rpDCDXjAFwfubtXJj3On9jrHzQW1I12/vw/
Bn/5zY4UOe1Gv10T9rv+3f5B2x63t/dht214+8mZ+78Z9P/jM+vb+7uts0jK
sih71ntk96x1cHxUDBVJwd5dnzdYAcKcUpDaJhCMs9uEeogxwE2vhbeWCBSV
QM7WQ18P/DSw9ePFB1fuIeFU4yYYtt8al/GX9dF2QMmTdqD7f9V66Ck8fXrR
SudYrXlb49DL2l7o40Ystk+PHfv/x86jmhYki2+/CQyODtzkZNyONnrQ36U5
a8DWQotk8p1C8VbcvuxH5+jKakEEnAVlRxsKbNcEvWvZHVV620D6VxRuxKtG
MW+YxetaEGnPJh/1dz3B6fWGc27Ni+prRYI+QD5TqhsVQ/NtaMsOK2tg1wF6
opBCEVdVMeJa20YlkStNDru3Mvi8OqvdrmorM+13ztQ1aL16UDg3TVoMvmed
9LSxjFVts1tAe81YEyPpAcQ55wtzx9RI4YZP7a+JazEUdsLVdkNhG1yrVGw0
w+M4hiMhtGNiN19hWn9Y20GQvTo79xKrXBdjmqVG1DKquTZo4Vs0h53UcRbr
fWnIyinmOIURGVeq96NtYqviUs8gyK+WFIZqiXKgfgPfvXl4686DvUofc/n6
3BUeVNItpQmatborc1ES1rAumvws/kw2TJ5s9ITiYiB1ZbjLhVDvzq5dlxhB
aPeea6/ksw+fxKAUHskxrDrg9BSV6vF0iq7LtZVQaR8ssQebfu/g8oCgGIM7
hC0VVv57WbLtPW541Nea9GsEx6GzmnFrZe3STQ+nFgh7No3Tue+EEvi4K+4k
1kdBWGkKuzlg0RQkTFLiqi76DdZHcKpc9BxWMLHd4BzAHKOSTjNlEEPcV4/5
iLugsCsTKf3rxe4O0uhsJS5q9WhyaxHx91ZFljA6hfqf3WFw1yp9ACfNCu6t
UoxGZIZzX7bUFe82Y2wO5pu7CLpSKm3OzN/5tlnOdY264pSdC5fqtg/jqZrl
Okx8MzwtG2O2/LNG+BwuVhKF8bDhDAxOCbBH4ClmUUarQSOWxBzXnFEVtKH1
iPwsujy7Ptsk++7MxSxeuugaHrToJpnCR7Jqd6cixKu4aDO08hWFd9aGQV2D
jBMUGCE48+PXjdZHcR5L66IKvfMYbpJ6w647pBlXP34jp+2DcDq0No3kEjnC
9y78MGGALvCSkAVtsTnco/P42EhAklub+F/DjWy/sVtxEP0yt6K+J+48HjX8
2hmogy2378jDWhrAR/QvV++ePpR6K3Dc+eQV35DgzsRujmAvUDjBzprPHdcV
ISHDVu7KOoPQhgclApi/ElI2N9xm5+J9HPDGL9/cvnUl8bTIQXR9cNYNGR0t
E7kzKTerwDbcafUbILxVsr+2+2tIx8srlj4ftBlp9AF/XUvM+Ys00Oi9YED+
j86y8+tJROfv8X57gab+D6GWVyj49wRzguYcjRr5YKODhubvj3V973vVPh6+
O//Qhf4vj53xppLmMPiHw4++TpNq6hqoqSPZ4cj6K4TM5zP03f96hP+03wz6
4zbfvlsTEHtOCoNHP2EQMtOQdrfV5j74+x3Fckf5rWU/wQf4gQBnmu8SOTQP
5JzmG2x84p+57+vHXBzmbIJ8JBVl4J84c+glDRwH4RhqSN1qilJLmiAHQ3/R
2I8PdK49uanFl0QFQ8His8PWLCprlRxbbRJ3NnMBTmluDKSyZmGi+tCfKNbb
dJWEUAzyw0jDcA9k8UpUaK7E9VeOOOO3Vxc9lwAfMQTYUFK8pzfv3t3qPKen
Lzhw2Ux3Ys+06+IVPRAEk+DuqSRnfUauMwmPTtQD0rKQ+gAPuk9c8L0BGgZf
v9M4e7yjtgcnfnC6BXcqYx/SqtV8Ovh9pE0/LB0C5bU5st4Q+1Y0ZLUxUEEA
3Ws13s4bmQiSMRhpxqCizN712fnVvov4opVfozCTew5LOqQmHCjIODksLkkh
WiKL3q6GCi8QEcixCbNAdoNr1sB9RWtrm+9N7k2DWANrVSNdWa1aYP32KWur
LWzLOlqvH3jSsDp8f80w2aBJNu2qpUb636OmWrE1ydZzDC1bo/S8lDTni/nM
syApQF5/RVcH1/MqvfednLduwSShM2exc6sstF7BaJolUYnxODUlBevpNxsN
ranTQgasPZ9fXHM37liKmIRS+SKB4CKH5iFo9988hbjLVhtyDG0PalKKYyGY
QDjA3CWbpqU1JZdGXwwJiUU2021M6d/cQUymNTOFs46zFXciIgjCEHKtaoJq
6TFNPqp9FqBktXYjlwfkxqvUw4LWkQ6BmxnUxgw2JUPZUSoVB4yg7fFqXwUI
cPA5WLPDtQM1BHV95tzk6jhyECBWJm0kuPll5inR8TFPiGzPA58kc3EDYksv
TWfLBgnNPsctCx0a3HOhjSiCrqKMctcnrXX3t3O06ZMt4iWqUkDfvp9aANQ0
TAhVYIJa6irkyNb3p8IXteUDrksXor7taO5T4Rt5z0GJkVGxxb033KYQdMdh
0dsVBBa64AD3ln5tmiG5aVkblhIyE24IIo2JlvlCLu2QlDTJ1+x7JrpB2IbJ
yA4AzesxBGAhXxPX2Rs9PuzBud4/P3On2um4Zq3BLQ7VpgS5djacuhMkvaFe
/bKWd1b5zejdnIzx17LyN1/OFNyeE/pA7Kxtqd6nhTz15iye01iSX7MFHq8i
zWfsAMtoV0HrYM7q8NluPHCXXSWunCMghKAZu0uzR1Y4dh4mB59ZERhm0+40
AV+yFPflVBRJ1pe4DYZg7U67tGonstwBd6UFpmzSHb1cLZXXBenpJIuqxJVE
M2EXVhTCk+J6ghZA2E2kjmwv+7MN5OvyqBstPybLbJJqX5D1JMUwqGm+Rd2A
0ixurGR4KK1xqdRYpIqURmmFIWniJZpJgymVfIGpXnzENTZkaqggZNEVXu4I
UMpVcMFvmlD4CbnbpEaXiRYfhbGLVuutfCVxAc9uNhweX2TgWuo0uveLIcyK
ifTsaRQpGGNY5pzYa5pKHGh89JnbCo2XZeLanBjJVOFluNLO1uwEEzjsIp1M
Emu6b7cKsEBooI4rhGfACKdXn27GfbiCK1X1dtiVANfHp7qW6yTHotLOLtSy
hPuituv5nPNgw1i+Tsn30fUAwuGWsdY/PFOTEZapXUsn7kfJerXkJIzhWFxb
Rti21MAahSM15e3abSe+FHfSRKAgd166mrec7qjzyQI9ozGNJAarJdxSycvE
7iAlahuFl+64gbWmyhfZaLtnGY/94cla6gxnhgXpM04pVG7zKVlVzTtbR+Vq
URfTMl7MUP6RTdGCajZ38T69lgzAuVcS2hDoCAqxGq5yJ5q1TUBahdGRsKMI
JyjXms43mhWldqRtm8utQCValqZ5Ol/OW8DnBmgZPAPLhSjXDu8bNOyvXbNL
WsNFoHJAmjcFy9buXRs797q2TkTlsZrY2hiKGxj2bhdFQfQ+7XQibsS31vdM
2p55xd83QGtfrup6oGlG4Prd4D5Lay1wHLYidFdBukZazQaeKuzl/g9Ja6Rd
iT9MF2pdYZwvIjHj/4E1MHuLe2gvmjcLIbnsjtk0p1fAFaOHIFEfIhjE84ZJ
/ZBopCMRMxoConR5he3NmycGgDX3hrbiDIZVPKcR4ajBwPT87Ztz9AFLx64S
IvaMxSEC+wccGlw3q1udLyIYuYoniUSf7Xo1WWqvUqzwvZOtS6m117Bp/Eba
S1l/iglMbMqVW77dS2qcQbH57vZSr0g9fnX6XELg9NXeoXpYjl+fHPkoeNfD
g+PoLryrsVk0meoySJhrOAfXy1fPOUrgfpH2der8enWq3Z0brc3MBm1CtaVE
WlD0pr+pEY1c2sZ3Y9GhjnDBBWQpvKnoyunaizbr9615ai6Zub59nwrhoKoh
rmvu/e8E6NbMirnSTbv6k0+O6WvDCt1g6lbjuxUlx4InRqQaZF6vEe8upyFV
Sdm21KM9uDndZOqqWdrVgpPA518HiIlX9xkYJV8iWPK1mOWyUSnjrx9c4yXw
M1V2pQvzh2bjRSY6vdSFlxPsno72XDUu85UJjigmBo4nUlawsbqRnNLMR3F3
iDX5t3Z7rcKrtwL/n/XHlhy60O1lpCdtVM3Jqbe2oZp3tM0ZLpW86528Pn/e
VGz92BXHxBeKrZ20CzrhN1RPz6zFYPBe34dkSEgzxTmpFdG6QiAt3cVrxp4e
cEeGuU+A7LHe/SJHozkAgXcOLzFYnJe01ZqjWemNK4WcyeeqtZn0WhXbYUYJ
g6Qn9nNoHZphTVyRIz2VpT+7rXf1Pjlcf1StWV1Bi5NPaT6W9NMWJWpeSaWZ
SQ4C7CWyKmJsAjkUzWtAXV3+pdBTi9eFCZyi5HBOzMbNruVmNOK2T901uc/3
vDXiCQYdOUXpAUrQ5CQQtyA2MVylg/JHPumZ3jDVTBF3LVGl1ZUKxkRbg1sa
mL/bNriyQDuVNtZYwR+TmqWzbawu14C4TCK80+jDG3JG179ZimFGjXbmYTZY
tbFG1gppIe4mai5l6Ry+Op3eEKBw9xnqVWLMVu3Ko0BP3dC5m4tLp2RdcQLY
ku/8/G5Zgj12YdZKRMq2JEs2/dsVuyR2o0e4fs0x8Xl6nHflr+xz+VPiTZCB
VXRKPpWwXqGPhqCyTD1msg+zQpLkDBy0rJ+4eWaViKM55DlPrG9taaIshbts
5PD5JqQjboGxcQzdkh2ineDE+Xbbz/s9dSOEbcwZBU+OnSnRE1CvwtoWWbyy
72Mp/ucQVboA/ITAMLtBR8G5h/KXswWndf4cnYlR/OTNu9xgSJ0dtljVSwPj
XT2mjWPyzJ7EUq1uCT6Z9iXBXeWYi6Uo2oBeHoArSNRq0I+/r1CQ3xgI0TP4
rGezLsxa2t1+lVSbeyLIVkH6h7s+mxjXbqWWjBoQY7mCMs4sEPkdq/uNkWQr
JXuJasteEySPJdYEAVgt4E8IFSLrvmA9GyYiuxvNmLF2yK9lzSXI63FSPWoz
cyoIjgeDVD17iO22bCffDY+cs9zueS1acl7QL4xlqZ8RSgMiTG5M60miTJwz
xs5GrqhfysPg388/8TznM845I6z9AW2/rtBKmTReQo2LNC+i79BWhtaXdqN3
SU4M5+2SRGucaz3cTVLNCJI38Yy4UaB2MAe0Cnm5t8x1D0aBD9b1vwH6ijpn
j5AAAA==

-->

</rfc>

