<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.20 (Ruby 2.6.10) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-netconf-restconf-trace-ctx-headers-10" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.24.0 -->
  <front>
    <title abbrev="RESTCONF Trace Context Headers">RESTCONF Extension to Support Trace Context Headers</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-netconf-restconf-trace-ctx-headers-10"/>
    <author fullname="Roque Gagliano">
      <organization>Cisco Systems</organization>
      <address>
        <postal>
          <street>Avenue des Uttins 5</street>
          <city>Rolle</city>
          <code>1180</code>
          <country>Switzerland</country>
        </postal>
        <email>rogaglia@cisco.com</email>
      </address>
    </author>
    <author fullname="Christian Rennerskog">
      <organization>Cisco Systems</organization>
      <address>
        <email>crenners@cisco.com</email>
      </address>
    </author>
    <author fullname="Kristian Larsson">
      <organization>Deutsche Telekom AG</organization>
      <address>
        <email>kll@dev.terastrm.net</email>
      </address>
    </author>
    <author fullname="Jan Lindblad">
      <organization>All For Eco</organization>
      <address>
        <email>jan.lindblad+ietf@for.eco</email>
      </address>
    </author>
    <date year="2026" month="August" day="27"/>
    <area>Operations and Management</area>
    <workgroup>NETCONF</workgroup>
    <keyword>telemetry</keyword>
    <keyword>distributed systems</keyword>
    <keyword>opentelemetry</keyword>
    <abstract>
      <?line 70?>

<t>This document defines an extension to the RESTCONF protocol in order to support Trace Context propagation as defined by the W3C.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://github.com/netconf-wg/restconf-trace-ctx-headers/blob/gh-pages/draft-ietf-netconf-restconf-trace-ctx-headers.txt"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-netconf-restconf-trace-ctx-headers/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        NETCONF Working Group mailing list (<eref target="mailto:netconf@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/netconf/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/netconf/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/https://github.com/netconf-wg/restconf-trace-ctx-headers"/>.</t>
    </note>
  </front>
  <middle>
    <?line 74?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Network automation and management systems commonly consist of multiple
sub-systems and, together with the network devices they manage, they effectively form a distributed system.  Distributed tracing is a methodology implemented by tracing tools to track, analyze and debug operations such as configuration transactions, across multiple distributed systems.</t>
      <t>The W3C has defined two HTTP headers (traceparent and tracestate) in <xref target="W3C-Trace-Context"/> for context propagation that are useful for distributed systems like the ones defined in section 4 of <xref target="RFC8309"/>. While the traceparent header is portable and mandatory, the tracestate header is optional and meant to transport vendor-specific data presented by a set of key/value pairs.</t>
      <t>According to the W3C specification, each operation is uniquely identified by a "trace-id" field, and carries multiple metadata fields about the operation.  Propagating this Trace Context between systems provides a coherent view of the entire operation as carried out by all involved systems.</t>
      <t>In <xref target="I-D.draft-ietf-netconf-trace-ctx-extension"/>, the NETCONF protocol extension is defined and we will re-use several of the YANG and XML objects defined in that document for RESTCONF. Please refer to that document for additional context and example applications.</t>
      <section anchor="terminology">
        <name>Terminology</name>
        <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 BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shown here.</t>
      </section>
    </section>
    <section anchor="restconf-extensions">
      <name>RESTCONF Extensions</name>
      <t>A RESTCONF server that implements the Trace Context propagation mechanism defined in this document MUST support the Trace Context traceparent header as defined in <xref target="W3C-Trace-Context"/>.</t>
      <t>A RESTCONF server MAY support the Trace Context tracestate header as defined in <xref target="W3C-Trace-Context"/>. Note that while the W3C Trace Context specification mandates that tracing tools forwarding traces MUST propagate both traceparent and tracestate headers (Section 2.3 of <xref target="W3C-Trace-Context"/>), RESTCONF servers may act as trace endpoints rather than forwarding intermediaries. Since the tracestate header carries vendor-specific opaque data, its support is intentionally made optional to accommodate implementations that do not require vendor-specific trace context propagation.</t>
      <t>When interacting with these headers, the RESTCONF server follows the specifications of section 2.3 in <xref target="W3C-Trace-Context"/>, therefore a RESTCONF server MAY also participate in a trace by modifying the traceparent header and the relevant vendor-specific parts of the tracestate header, for example when acting as an intermediary that contributes its own span to the distributed trace.</t>
      <section anchor="error-handling">
        <name>Error Handling</name>
        <t>It is NOT RECOMMENDED to reject an RPC because of the Trace Context header values.</t>
        <t>If a server decides to reject an RPC because of the Trace Context header values, the server MUST return a RESTCONF rpc-error with the following values:</t>
        <artwork><![CDATA[
  error-tag:      operation-failed
  error-type:     protocol
  error-severity: error
]]></artwork>
        <t>Additionally, the error-info tag SHOULD contain a relevant details about the error.</t>
        <t>Finally, the sx:structure defined in <xref target="I-D.draft-ietf-netconf-trace-ctx-extension"/> SHOULD be present in any error message from the server.</t>
      </section>
      <section anchor="trace-context-header-versioning">
        <name>Trace Context Header Versioning</name>
        <t>The RESTCONF protocol extension described in this document refers to the <xref target="W3C-Trace-Context"/> Trace Context capability. The W3C traceparent and tracestate headers include the notion of versions. It would be desirable for a RESTCONF client to be able to discover the one or multiple versions of these headers supported by a server.</t>
        <t><xref target="I-D.draft-ietf-netconf-trace-ctx-extension"/> defines a pair YANG modules that SHOULD be included in the YANG library per <xref target="RFC8525"/> of the RESTCONF server supporting the RESTCONF Trace Context extension that will refer to the headers' supported versions.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The traceparent and tracestate headers make it easier to track and correlate the flow of requests and their downstream effect on other systems. This knowledge may be used by unauthorized entities to infer a map of a managed network.</t>
      <t>All advice mentioned in the <xref target="W3C-Trace-Context"/> under the Privacy Considerations and Security Considerations also apply to this document.</t>
      <t>The RESTCONF protocol has to (1) use a secure transport layer (e.g., TLS <xref target="RFC8446"/> and QUIC <xref target="RFC9000"/>) and (2) has to use mutual authentication.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
    <section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors would like to acknowledge the valuable implementation feedback from Per Andersson.  Many thanks to Raul Rivas Felix, Alexander Stoklasa, Luca Relandini and Erwin Vrolijk for their help with the demos regarding integrations.  The help and support from Med Boucadair, Jean Quilbeuf and Benoît Claise has also been invaluable to this work.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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="RFC8040">
          <front>
            <title>RESTCONF Protocol</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <date month="January" year="2017"/>
            <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">
          <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>
        <reference anchor="RFC8446">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <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="RFC8525">
          <front>
            <title>YANG Library</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="J. Schoenwaelder" initials="J." surname="Schoenwaelder"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <author fullname="R. Wilton" initials="R." surname="Wilton"/>
            <date month="March" year="2019"/>
            <abstract>
              <t>This document describes a YANG library that provides information about the YANG modules, datastores, and datastore schemas used by a network management server. Simple caching mechanisms are provided to allow clients to minimize retrieval of this information. This version of the YANG library supports the Network Management Datastore Architecture (NMDA) by listing all datastores supported by a network management server and the schema that is used by each of these datastores.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8525"/>
          <seriesInfo name="DOI" value="10.17487/RFC8525"/>
        </reference>
        <reference anchor="RFC9000">
          <front>
            <title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>
            <author fullname="J. Iyengar" initials="J." role="editor" surname="Iyengar"/>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document defines the core of the QUIC transport protocol. QUIC provides applications with flow-controlled streams for structured communication, low-latency connection establishment, and network path migration. QUIC includes security measures that ensure confidentiality, integrity, and availability in a range of deployment circumstances. Accompanying documents describe the integration of TLS for key negotiation, loss detection, and an exemplary congestion control algorithm.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9000"/>
          <seriesInfo name="DOI" value="10.17487/RFC9000"/>
        </reference>
        <reference anchor="I-D.draft-ietf-netconf-trace-ctx-extension">
          <front>
            <title>NETCONF Extension to support Trace Context propagation</title>
            <author fullname="Roque Gagliano" initials="R." surname="Gagliano">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Christian Rennerskog" initials="C." surname="Rennerskog">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Kristian Larsson" initials="K." surname="Larsson">
              <organization>Deutsche Telekom AG</organization>
            </author>
            <author fullname="Jan Lindblad" initials="J." surname="Lindblad">
              <organization>All For Eco</organization>
            </author>
            <date day="27" month="August" year="2026"/>
            <abstract>
              <t>   This document defines how to propagate trace context information
   across the Network Configuration Protocol (NETCONF), that enables
   distributed tracing scenarios.  It is an adaption of the HTTP-based
   W3C specification.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-netconf-trace-ctx-extension-08"/>
        </reference>
        <reference anchor="W3C-Trace-Context" target="https://www.w3.org/TR/2021/REC-trace-context-1-20211123/">
          <front>
            <title>W3C Recommendation on Trace Context</title>
            <author>
              <organization/>
            </author>
            <date year="2021" month="November" day="23"/>
          </front>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC8309">
          <front>
            <title>Service Models Explained</title>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <author fullname="W. Liu" initials="W." surname="Liu"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <date month="January" year="2018"/>
            <abstract>
              <t>The IETF has produced many modules in the YANG modeling language. The majority of these modules are used to construct data models to model devices or monolithic functions.</t>
              <t>A small number of YANG modules have been defined to model services (for example, the Layer 3 Virtual Private Network Service Model (L3SM) produced by the L3SM working group and documented in RFC 8049).</t>
              <t>This document describes service models as used within the IETF and also shows where a service model might fit into a software-defined networking architecture. Note that service models do not make any assumption of how a service is actually engineered and delivered for a customer; details of how network protocols and devices are engineered to deliver a service are captured in other modules that are not exposed through the interface between the customer and the provider.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8309"/>
          <seriesInfo name="DOI" value="10.17487/RFC8309"/>
        </reference>
      </references>
    </references>
    <?line 135?>

<section anchor="example-restconf-calls">
      <name>Example RESTCONF Calls</name>
      <t>All examples from Appendix B of <xref target="RFC8040"/> could be recreated in this section by adding the new header described in this document. We selected one example from that document as reference.</t>
      <section anchor="successful-creation-of-new-data-resources-from-appendix-b21-of-rfc8040">
        <name>Successful creation of New Data Resources (from Appendix B.2.1 of <xref target="RFC8040"/>)</name>
        <t>To create a new "artist" resource within the "library" resource, a client might send the following request:</t>
        <artwork><![CDATA[
  POST /restconf/data/example-jukebox:jukebox/library HTTP/1.1
  Host: example.com
  Content-Type: application/yang-data+json
  traceparent: 00-405062f633be64ee006089dfca95a153-e021f9e263aad8e2-01
  tracestate: vendorname1=opaqueValue1,vendorname2=opaqueValue2

  {
    "example-jukebox:artist" : [
      {
        "name" : "Foo Fighters"
      }
    ]
  }
]]></artwork>
        <t>If the resource is created, the server might respond as follows:</t>
        <artwork><![CDATA[
  HTTP/1.1 201 Created
  Date: Thu, 26 Jan 2017 20:56:30 GMT
  Server: example-server
  Location: https://example.com/restconf/data/\
      example-jukebox:jukebox/library/artist=Foo%20Fighters
  Last-Modified: Thu, 26 Jan 2017 20:56:30 GMT
  ETag: "b3830f23a4c"
  traceparent: 00-405062f633be64ee006089dfca95a153-e021f9e263aad8e2-01
  tracestate: vendorname1=opaqueValue1,vendorname2=opaqueValue2
]]></artwork>
      </section>
      <section anchor="unsuccessful-creation-of-new-data-resources-from-appendix-b21-of-rfc8040">
        <name>Unsuccessful creation of New Data Resources (from Appendix B.2.1 of <xref target="RFC8040"/>)</name>
        <t><xref target="W3C-Trace-Context"/> specifies that a vendor MAY validate the tracestate header and the processing rules SHOULD be followed.</t>
        <t>Example of a badly formated tracestate header using <xref target="RFC8040"/> example (Appendix B.2.1), in which a server receives a higher traceparent version 03:</t>
        <artwork><![CDATA[
  POST /restconf/data/example-jukebox:jukebox/library HTTP/1.1
  Host: example.com
  Content-Type: application/yang-data+json
  traceparent: 03-405062f633be64ee006089dfca95a153-e021f9e263aad8e2-01
  tracestate: SomeBadFormatHere

  {
    "example-jukebox:artist" : [
      {
        "name" : "Foo Fighters"
      }
    ]
  }
]]></artwork>
        <t>In this case, the server cannot parse the traceparent header and the response would be:</t>
        <artwork><![CDATA[
  HTTP/1.1 201 Created
  Date: Thu, 26 Jan 2017 20:56:30 GMT
  Server: example-server
  Location: https://example.com/restconf/data/\
      example-jukebox:jukebox/library/artist=Foo%20Fighters
  Last-Modified: Thu, 26 Jan 2017 20:56:30 GMT
  ETag: "b3830f23a4c"
  traceparent: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-00
]]></artwork>
        <t>Note that the API call was succesful but the traceparent header is new with its trace-flags set to 0 and the tracestate header was deleted.</t>
      </section>
    </section>
    <section anchor="changes-to-be-deleted-by-rfc-editor">
      <name>Changes (to be deleted by RFC Editor)</name>
      <section anchor="from-version-09-to-10">
        <name>From version 09 to 10</name>
        <ul spacing="normal">
          <li>
            <t>Updated security considerations based on Sheppard review.</t>
          </li>
          <li>
            <t>Added  Christian Rennerskog as co-author</t>
          </li>
        </ul>
      </section>
      <section anchor="from-version-08-to-09">
        <name>From version 08 to 09</name>
        <ul spacing="normal">
          <li>
            <t>Explain MAY vs W3C MUST for tracestate (OPSDir comment)</t>
          </li>
          <li>
            <t>Mention "participating in a trace" (modifying headers) (OPSDir comment)</t>
          </li>
          <li>
            <t>Fixed RFC 2119 boilerplate spacing to match exact BCP 14 text</t>
          </li>
          <li>
            <t>Updated document date</t>
          </li>
        </ul>
      </section>
      <section anchor="from-version-07-to-08">
        <name>From version 07 to 08</name>
        <ul spacing="normal">
          <li>
            <t>Improved Error-handling example to show the most common scenario based on W3C standard.</t>
          </li>
          <li>
            <t>Uplifting dates</t>
          </li>
          <li>
            <t>Serveral edits based on OpsDir comments</t>
          </li>
          <li>
            <t>Security considerations for Quic and Mutual Authentication</t>
          </li>
        </ul>
      </section>
      <section anchor="from-version-06-to-07">
        <name>From version 06 to 07</name>
        <ul spacing="normal">
          <li>
            <t>More missing edits, uplifting dates</t>
          </li>
        </ul>
      </section>
      <section anchor="from-version-05-to-06">
        <name>From version 05 to 06</name>
        <ul spacing="normal">
          <li>
            <t>More missing edits</t>
          </li>
        </ul>
      </section>
      <section anchor="from-version-04-to-05">
        <name>From version 04 to 05</name>
        <ul spacing="normal">
          <li>
            <t>Removed unused references and terminology</t>
          </li>
        </ul>
      </section>
      <section anchor="from-version-03-to-04">
        <name>From version 03 to 04</name>
        <ul spacing="normal">
          <li>
            <t>Abbreviation change</t>
          </li>
          <li>
            <t>"ietf-trace-contex:trace-context-error-info" should have been a container in example</t>
          </li>
        </ul>
      </section>
      <section anchor="from-version-02-to-03">
        <name>From version 02 to 03</name>
        <ul spacing="normal">
          <li>
            <t>Added abbreviations to terminology</t>
          </li>
          <li>
            <t>error messages are SHOULD to align with W3C handling.</t>
          </li>
          <li>
            <t>Addapted example to YANG module changes in reference.</t>
          </li>
        </ul>
      </section>
      <section anchor="from-version-01-to-02">
        <name>From version 01 to 02</name>
        <ul spacing="normal">
          <li>
            <t>Added WGLC comments</t>
          </li>
          <li>
            <t>Changed namespaces and module name</t>
          </li>
          <li>
            <t>Fix error in error response</t>
          </li>
          <li>
            <t>Comments from Med Boucadair</t>
          </li>
          <li>
            <t>Removed markdown formatting of tracestate and traceparent, as toolchain could not handle this properly</t>
          </li>
          <li>
            <t>Removed references to RFC8341 (NACM) as the passage in the security considerations no longer need it</t>
          </li>
          <li>
            <t>Rearranged text in introduction to include referenes in a more natural order</t>
          </li>
          <li>
            <t>Removed several references to "we" and replaced with more neutral language</t>
          </li>
          <li>
            <t>Clarified that everything described as MUST requirements in this document only apply to RESTCONF implementations that implement this document. Other RESTCONF implementations do not need to care about this document, it's an optional extension</t>
          </li>
          <li>
            <t>Clarified that the YANG modules used by this document is defined by the sibling document for NETCONF</t>
          </li>
          <li>
            <t>Lots of updated wording based on review feedback</t>
          </li>
        </ul>
      </section>
      <section anchor="from-version-00-to-01">
        <name>From version 00 to -01</name>
        <ul spacing="normal">
          <li>
            <t>Added Security considerations</t>
          </li>
          <li>
            <t>Added Acknowledgements</t>
          </li>
          <li>
            <t>Added several Normative references</t>
          </li>
          <li>
            <t>Added links to latest document on github</t>
          </li>
          <li>
            <t>Added RESTCONF example for success and error</t>
          </li>
          <li>
            <t>Modified Error Handling to reflect better W3C alignment based on implementation feedback</t>
          </li>
          <li>
            <t>Firmed up error handling and YANG-library to MUST-requirements</t>
          </li>
        </ul>
      </section>
      <section anchor="from-version-00-to-draft-ietf-netconf-restconf-trace-ctx-headers-00">
        <name>From version 00 to draft-ietf-netconf-restconf-trace-ctx-headers-00</name>
        <ul spacing="normal">
          <li>
            <t>Adopted by NETCONF WG</t>
          </li>
          <li>
            <t>Moved repository to NETCONF WG</t>
          </li>
          <li>
            <t>Changed build system to use martinthomson's excellent framework</t>
          </li>
          <li>
            <t>Ran make fix-lint to remove white space at EOL etc.</t>
          </li>
          <li>
            <t>Added this change note. No other content changes</t>
          </li>
        </ul>
      </section>
    </section>
  </back>
  <!-- ##markdown-source:
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
638BDBcRpSUvAAA=

-->

</rfc>
