<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.39 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-bormann-core-corr-clar-02" category="std" consensus="true" submissionType="IETF" updates="6690, 7252, 7641, 7959, 8132, 8323" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.18.0 -->
  <front>
    <title abbrev="Corrections and Clarifications to CoAP">Constrained Application Protocol (CoAP): Corrections and Clarifications</title>
    <seriesInfo name="Internet-Draft" value="draft-bormann-core-corr-clar-02"/>
    <author initials="C." surname="Bormann" fullname="Carsten Bormann">
      <organization>Universität Bremen TZI</organization>
      <address>
        <postal>
          <street>Postfach 330440</street>
          <city>Bremen</city>
          <code>D-28359</code>
          <country>Germany</country>
        </postal>
        <phone>+49-421-218-63921</phone>
        <email>cabo@tzi.org</email>
      </address>
    </author>
    <date year="2023" month="August" day="30"/>
    <abstract>
      <?line 44?>

<t>RFC 7252 defines the Constrained Application Protocol (CoAP), along
with a number of additional specifications, including RFC 7641, RFC
7959, RFC 8132, and RFC 8323.
RFC 6690 defines the link format that is used in CoAP self-description
documents.</t>
      <t>Some parts of the specification may be unclear or even contain errors
that may lead to misinterpretations that may impair interoperability
between different implementations.
The present document provides corrections, additions, and
clarifications to the RFCs cited; this document thus updates these
RFCs.
In addition, other clarifications related to the use of CoAP in other
specifications, including RFC 7390 and RFC 8075, are also provided.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-bormann-core-corr-clar/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        core Working Group mailing list (<eref target="mailto:core@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/core/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/core/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/core-wg/corrclar"/>.</t>
    </note>
  </front>
  <middle>
    <?line 62?>

<section anchor="introduction">
      <name>Introduction</name>
      <t><xref target="RFC7252"/> defines the Constrained Application Protocol (CoAP), along
with a number of additional specifications, including <xref target="RFC7641"/>,
<xref target="RFC7959"/>, <xref target="RFC8132"/>, and <xref target="RFC8323"/>.
<xref target="RFC6690"/> defines the link format that is used in CoAP
self-description documents.</t>
      <t>During implementation and interoperability testing of these RFCs, and
in their practical use, some ambiguities and common misinterpretations
have been identified, as well as a few errors.</t>
      <t>The present document summarizes identified issues and provides
corrections needed for implementations of CoAP to interoperate, i.e.,
it constitutes an update to the RFCs referenced.  This document also
provides other clarifications related to common misinterpretations of
the specification.  References to CoAP should, therefore, also include
this document.</t>
      <t>In addition, some clarifications and corrections are also provided for
documents that are related to CoAP, including RFC 7390 and RFC 8075.</t>
      <section anchor="process">
        <name>Process</name>
        <section anchor="original-text">
          <name>Original text</name>
          <t>The present document is an Internet-Draft, which is not intended to be
published as an RFC quickly.  Instead, it will be maintained as a
running document of the CoRE WG, probably for a number of years, until
the need for new entries tails off and the document can finally be
published as an RFC.  (This paragraph to be rephrased when that
happens.)</t>
          <t>The status of this document as a running document of the WG implies a
consensus process that is applied in making updates to it.  The rest
of this subsection provides more details about this consensus process.
(This is the intended status; currently, the document is an individual submission only.)</t>
          <t>(Consensus process TBD, but it will likely be based on an editor's
version in a publicly accessible git repository, as well as periodic
calls for consensus that lead to a new published Internet-Draft.)</t>
        </section>
        <section anchor="proposed-text-based-on-ietf-117-and-2023-08-30-core-wg-interim-discussion">
          <name>Proposed text based on IETF 117 and 2023-08-30 CoRE WG interim discussion</name>
          <t>This section describes the process that will be used for developing
the present document (called "-corr-clar" colloquially).</t>
          <t>This process might be revised as its execution progresses.</t>
          <ol spacing="normal" type="1" start="0"><li>(Done as of this a draft): include the present process proposal.<br/>
The document can then already be considered for WG adoption.</li>
            <li>
              <t>Go through the following available material and revise/create
Github issues at <eref target="https://github.com/core-wg/corrclar/issues">ISSUES</eref> as needed:
              </t>
              <ul spacing="normal">
                <li>
                  <t>Existing issues at <eref target="https://github.com/core-wg/corrclar/issues">ISSUES</eref>
                  </t>
                  <ul spacing="normal">
                    <li>More to be opened by Jon Shallow regarding Block-wise, see <eref target="https://datatracker.ietf.org/doc/minutes-interim-2023-core-11-202307051400/#attacks-on-the-constrained-application-protocol-coap-christian-amsuss-jon-shallow">JON-ISSUES</eref></li>
                  </ul>
                </li>
                <li>
                  <t>CoAP FAQ at the CoRE WIKI <eref target="https://github.com/core-wg/wiki/wiki/CoAP-FAQ">WIKI-FAQ</eref>
                  </t>
                  <ul spacing="normal">
                    <li>Each point likely to become a new, short issue</li>
                  </ul>
                </li>
              </ul>
            </li>
            <li>Categorize the Github issues at <eref target="https://github.com/core-wg/corrclar/issues">ISSUES</eref> as to the topics they relate to, by tagging them.<br/>
Completing a first round of this will be a task for a dedicated team.</li>
            <li>
              <t>For each issue or set of issues at <eref target="https://github.com/core-wg/corrclar/issues">ISSUES</eref>, confirm with the CoRE
WG and gather feedback from affected protocol
designers/implementors if the issue is best to be:
              </t>
              <ul spacing="normal">
                <li>Included and covered in -corr-clar, as is or revised</li>
                <li>Simply omitted in -corr-clar</li>
                <li>Omitted in -corr-clar and left for a possible -bis document.<br/>
(For example, this might be the case for some specific points related to RFC 7959.)</li>
              </ul>
            </li>
            <li>
              <t>Reshape the -corr-clar document in order to reflect a sequence of
 pairs (Diagnosis, Therapy), where:
              </t>
              <ul spacing="normal">
                <li>Diagnosis is the gist of a set of Github issues to cover, and</li>
                <li>Therapy is the correction or clarification to address those.</li>
              </ul>
              <t>
Even though at a high-level, the scope should be already clear by
looking at the table of contents.
That is, at this stage, there is no need to necessarily elaborate
the Therapy in detail, but it is necessary to make a reader
understand "what we are dealing with and taking which direction".</t>
            </li>
            <li>WG document work can then focus on improving the therapy parts,
until all points are satisfactorily addressed and documented.</li>
          </ol>
        </section>
      </section>
      <section anchor="terminology">
        <name>Terminology</name>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <?line -18?>

<t>When a section of this document makes formal corrections, additions
or invalidations to text in a referenced RFC, this is clearly summarized.
The text from the RFC that is being addressed is given and labeled
"INCOMPLETE", "INCORRECT", or "INCORRECT AND INVALIDATED", followed
by the correct text labeled "CORRECTED", where applicable.  When text
is added that does not simply correct text in previous
specifications, it is given with the label "FORMAL ADDITION".</t>
        <t>Where a resolution has not yet been agreed, the resolution is marked PENDING.</t>
        <t>In this document, a reference to a section in RFC nnnn is written
as RFC nnnn-&lt;number&gt;, where &lt;number&gt; is the section number.</t>
      </section>
    </section>
    <section anchor="rfc-7252">
      <name>RFC 7252</name>
      <section anchor="rfc7252-5105-max-age">
        <name>RFC7252-5.10.5: Max-Age</name>
        <t>In the discussion of <xref target="RFC8516"/>, a comment was
made that it would be needed to define the point in time relative to
which Max-Age is defined.  A sender might reference it to the time it
actually sends the message containing the option (and paragraph 3 of
RFC7252-5.10.5 indeed requests that Max-Age be updated each time a
message is retransmitted).  The receiver of the message does not have
reliable information about the time of sending, though.  It may
instead reference the Max-Age to the time of reception.  This in
effect extends the time of Max-Age by the latency of the packet.
This extension was deemed acceptable for the purposes of <xref target="RFC8516"/>,
but may be suboptimal when Max-Age is about the lifetime of a response
object.</t>
        <dl newline="true">
          <dt>INCOMPLETE:</dt>
          <dd>
            <t>The value is intended to be current at the time of transmission.</t>
          </dd>
        </dl>
        <t>PENDING.</t>
      </section>
      <section anchor="rfc7252-721-ct-attribute-content-format-code">
        <name>RFC7252-7.2.1: "ct" Attribute (content-format code)</name>
        <t>As has been noted in <xref target="Err5078"/>, there is no information in <xref target="RFC7252"/>
about whether the "ct" target attribute can be present multiply or
not.</t>
        <t>The text does indicate that the value of the attribute <bcp14>MAY</bcp14> be "a
space-separated sequence of Content-Format codes, indicating that
multiple content-formats are available", but it does not repeat the
prohibition of multiple instances that the analogously structured "rt"
and "if" attributes in Sections <xref target="RFC6690" section="3.1" sectionFormat="bare"/> and <xref target="RFC6690" section="3.2" sectionFormat="bare"/> of <xref target="RFC6690"/> have.</t>
        <t>This appears to be an oversight.
Published examples in <xref section="4.1" sectionFormat="of" target="RFC9148"/> and <xref section="4.3" sectionFormat="of" target="RFC9176"/> further illustrate that the space-separated approach is
generally accepted to be the one to be used.
There is no gain to be had from allowing both variants, and it would
be likely to cause interoperability problems.</t>
        <t>At the 2022-11-23 CoRE WG interim meeting, there was agreement that
<xref target="Err5078"/> should be marked "VERIFIED", which will be reflected here
once implemented.</t>
        <dl newline="true">
          <dt>INCOMPLETE:</dt>
          <dd>
            <t>The Content-Format code attribute <bcp14>MUST NOT</bcp14> appear more than once in a
link.</t>
          </dd>
        </dl>
        <t>PENDING (to be VERIFIED).</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>None yet.</t>
      <t>(Individual clarifications may contain IANA considerations; these will
then be referenced here.)</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This document provides a number of corrections and clarifications to
existing RFCs, but it does not make any changes with regard to the security
aspects of the protocol.  As a consequence, the security
considerations of the referenced RFCs apply without additions.</t>
      <t>(To be changed when that is no longer true; probably the security
considerations will then be on the individual clarifications.)</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC6690">
          <front>
            <title>Constrained RESTful Environments (CoRE) Link Format</title>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby"/>
            <date month="August" year="2012"/>
            <abstract>
              <t>This specification defines Web Linking using a link format for use by constrained web servers to describe hosted resources, their attributes, and other relationships between links. Based on the HTTP Link Header field defined in RFC 5988, the Constrained RESTful Environments (CoRE) Link Format is carried as a payload and is assigned an Internet media type. "RESTful" refers to the Representational State Transfer (REST) architecture. A well-known URI is defined as a default entry point for requesting the links hosted by a server. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6690"/>
          <seriesInfo name="DOI" value="10.17487/RFC6690"/>
        </reference>
        <reference anchor="RFC7252">
          <front>
            <title>The Constrained Application Protocol (CoAP)</title>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby"/>
            <author fullname="K. Hartke" initials="K." surname="Hartke"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2014"/>
            <abstract>
              <t>The Constrained Application Protocol (CoAP) is a specialized web transfer protocol for use with constrained nodes and constrained (e.g., low-power, lossy) networks. The nodes often have 8-bit microcontrollers with small amounts of ROM and RAM, while constrained networks such as IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs) often have high packet error rates and a typical throughput of 10s of kbit/s. The protocol is designed for machine- to-machine (M2M) applications such as smart energy and building automation.</t>
              <t>CoAP provides a request/response interaction model between application endpoints, supports built-in discovery of services and resources, and includes key concepts of the Web such as URIs and Internet media types. CoAP is designed to easily interface with HTTP for integration with the Web while meeting specialized requirements such as multicast support, very low overhead, and simplicity for constrained environments.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7252"/>
          <seriesInfo name="DOI" value="10.17487/RFC7252"/>
        </reference>
        <reference anchor="RFC7641">
          <front>
            <title>Observing Resources in the Constrained Application Protocol (CoAP)</title>
            <author fullname="K. Hartke" initials="K." surname="Hartke"/>
            <date month="September" year="2015"/>
            <abstract>
              <t>The Constrained Application Protocol (CoAP) is a RESTful application protocol for constrained nodes and networks. The state of a resource on a CoAP server can change over time. This document specifies a simple protocol extension for CoAP that enables CoAP clients to "observe" resources, i.e., to retrieve a representation of a resource and keep this representation updated by the server over a period of time. The protocol follows a best-effort approach for sending new representations to clients and provides eventual consistency between the state observed by each client and the actual resource state at the server.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7641"/>
          <seriesInfo name="DOI" value="10.17487/RFC7641"/>
        </reference>
        <reference anchor="RFC7959">
          <front>
            <title>Block-Wise Transfers in the Constrained Application Protocol (CoAP)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="Z. Shelby" initials="Z." role="editor" surname="Shelby"/>
            <date month="August" year="2016"/>
            <abstract>
              <t>The Constrained Application Protocol (CoAP) is a RESTful transfer protocol for constrained nodes and networks. Basic CoAP messages work well for small payloads from sensors and actuators; however, applications will need to transfer larger payloads occasionally -- for instance, for firmware updates. In contrast to HTTP, where TCP does the grunt work of segmenting and resequencing, CoAP is based on datagram transports such as UDP or Datagram Transport Layer Security (DTLS). These transports only offer fragmentation, which is even more problematic in constrained nodes and networks, limiting the maximum size of resource representations that can practically be transferred.</t>
              <t>Instead of relying on IP fragmentation, this specification extends basic CoAP with a pair of "Block" options for transferring multiple blocks of information from a resource representation in multiple request-response pairs. In many important cases, the Block options enable a server to be truly stateless: the server can handle each block transfer separately, with no need for a connection setup or other server-side memory of previous block transfers. Essentially, the Block options provide a minimal way to transfer larger representations in a block-wise fashion.</t>
              <t>A CoAP implementation that does not support these options generally is limited in the size of the representations that can be exchanged, so there is an expectation that the Block options will be widely used in CoAP implementations. Therefore, this specification updates RFC 7252.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7959"/>
          <seriesInfo name="DOI" value="10.17487/RFC7959"/>
        </reference>
        <reference anchor="RFC8132">
          <front>
            <title>PATCH and FETCH Methods for the Constrained Application Protocol (CoAP)</title>
            <author fullname="P. van der Stok" initials="P." surname="van der Stok"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="A. Sehgal" initials="A." surname="Sehgal"/>
            <date month="April" year="2017"/>
            <abstract>
              <t>The methods defined in RFC 7252 for the Constrained Application Protocol (CoAP) only allow access to a complete resource, not to parts of a resource. In case of resources with larger or complex data, or in situations where resource continuity is required, replacing or requesting the whole resource is undesirable. Several applications using CoAP need to access parts of the resources.</t>
              <t>This specification defines the new CoAP methods, FETCH, PATCH, and iPATCH, which are used to access and update parts of a resource.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8132"/>
          <seriesInfo name="DOI" value="10.17487/RFC8132"/>
        </reference>
        <reference anchor="RFC8323">
          <front>
            <title>CoAP (Constrained Application Protocol) over TCP, TLS, and WebSockets</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="S. Lemay" initials="S." surname="Lemay"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <author fullname="K. Hartke" initials="K." surname="Hartke"/>
            <author fullname="B. Silverajan" initials="B." surname="Silverajan"/>
            <author fullname="B. Raymor" initials="B." role="editor" surname="Raymor"/>
            <date month="February" year="2018"/>
            <abstract>
              <t>The Constrained Application Protocol (CoAP), although inspired by HTTP, was designed to use UDP instead of TCP. The message layer of CoAP over UDP includes support for reliable delivery, simple congestion control, and flow control.</t>
              <t>Some environments benefit from the availability of CoAP carried over reliable transports such as TCP or Transport Layer Security (TLS). This document outlines the changes required to use CoAP over TCP, TLS, and WebSockets transports. It also formally updates RFC 7641 for use with these transports and RFC 7959 to enable the use of larger messages over a reliable transport.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8323"/>
          <seriesInfo name="DOI" value="10.17487/RFC8323"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="RFC8516">
          <front>
            <title>"Too Many Requests" Response Code for the Constrained Application Protocol</title>
            <author fullname="A. Keranen" initials="A." surname="Keranen"/>
            <date month="January" year="2019"/>
            <abstract>
              <t>A Constrained Application Protocol (CoAP) server can experience temporary overload because one or more clients are sending requests to the server at a higher rate than the server is capable or willing to handle. This document defines a new CoAP response code for a server to indicate that a client should reduce the rate of requests.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8516"/>
          <seriesInfo name="DOI" value="10.17487/RFC8516"/>
        </reference>
        <reference anchor="Err5078" target="https://www.rfc-editor.org/errata/eid5078">
          <front>
            <title>Errata Report 5078</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
          <seriesInfo name="RFC" value="7252"/>
        </reference>
        <reference anchor="RFC9148">
          <front>
            <title>EST-coaps: Enrollment over Secure Transport with the Secure Constrained Application Protocol</title>
            <author fullname="P. van der Stok" initials="P." surname="van der Stok"/>
            <author fullname="P. Kampanakis" initials="P." surname="Kampanakis"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="S. Raza" initials="S." surname="Raza"/>
            <date month="April" year="2022"/>
            <abstract>
              <t>Enrollment over Secure Transport (EST) is used as a certificate provisioning protocol over HTTPS. Low-resource devices often use the lightweight Constrained Application Protocol (CoAP) for message exchanges. This document defines how to transport EST payloads over secure CoAP (EST-coaps), which allows constrained devices to use existing EST functionality for provisioning certificates.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9148"/>
          <seriesInfo name="DOI" value="10.17487/RFC9148"/>
        </reference>
        <reference anchor="RFC9176">
          <front>
            <title>Constrained RESTful Environments (CoRE) Resource Directory</title>
            <author fullname="C. Amsüss" initials="C." role="editor" surname="Amsüss"/>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby"/>
            <author fullname="M. Koster" initials="M." surname="Koster"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="P. van der Stok" initials="P." surname="van der Stok"/>
            <date month="April" year="2022"/>
            <abstract>
              <t>In many Internet of Things (IoT) applications, direct discovery of resources is not practical due to sleeping nodes or networks where multicast traffic is inefficient. These problems can be solved by employing an entity called a Resource Directory (RD), which contains information about resources held on other servers, allowing lookups to be performed for those resources. The input to an RD is composed of links, and the output is composed of links constructed from the information stored in the RD. This document specifies the web interfaces that an RD supports for web servers to discover the RD and to register, maintain, look up, and remove information on resources. Furthermore, new target attributes useful in conjunction with an RD are defined.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9176"/>
          <seriesInfo name="DOI" value="10.17487/RFC9176"/>
        </reference>
      </references>
    </references>
    <?line 265?>

<section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>The present document is modeled after RFC 4815 and the Internet-Drafts
of the ROHC WG that led to it.  Many thanks to the co-chairs of the
ROHC WG and WG members that made this a worthwhile and successful
experiment at the time.</t>
      <!--  LocalWords:  interoperate invalidations retransmitted ROHC
 -->
<!--  LocalWords:  suboptimal
 -->

</section>
  </back>
  <!-- ##markdown-source:
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
ZBS9/NIqHaNxQ/4frSRK5BAnAAA=

-->

</rfc>
