<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.1 (Ruby 2.7.0) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-rcr-opsawg-operational-compute-metrics-01" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.18.2 -->
  <front>
    <title abbrev="TODO - Abbreviation">Joint Exposure of Network and Compute Information for Infrastructure-Aware Service Deployment</title>
    <seriesInfo name="Internet-Draft" value="draft-rcr-opsawg-operational-compute-metrics-01"/>
    <author fullname="S. Randriamasy">
      <organization>Nokia Bell Labs</organization>
      <address>
        <email>sabine.randriamasy@nokia-bell-labs.com</email>
      </address>
    </author>
    <author fullname="L. M. Contreras">
      <organization>Telefonica</organization>
      <address>
        <email>luismiguel.contrerasmurillo@telefonica.com</email>
      </address>
    </author>
    <author fullname="Jordi Ros-Giralt">
      <organization>Qualcomm Europe, Inc.</organization>
      <address>
        <email>jros@qti.qualcomm.com</email>
      </address>
    </author>
    <date year="2023" month="October" day="23"/>
    <keyword>next generation</keyword>
    <keyword>unicorn</keyword>
    <keyword>sparkling distributed ledger</keyword>
    <abstract>
      <?line 58?>

<t>Service providers are starting to deploy computing capabilities
across the network for hosting applications such as AR/VR, vehicle
networks, IoT, and AI training, among others. In these distributed
computing environments, information about computing and communication
resources is necessary to determine both the proper deployment location of
each application and the best server location on which to run it.
This information is used by numerous different implementations with different
interpretations. This document proposes an initial approach towards a
common understanding and exposure scheme for metrics reflecting compute
capabilities.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://giralt.github.io/draft-rcr-opsawg-operational-compute-metrics/draft-rcr-opsawg-operational-compute-metrics.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-rcr-opsawg-operational-compute-metrics/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/giralt/draft-rcr-opsawg-operational-compute-metrics"/>.</t>
    </note>
  </front>
  <middle>
    <?line 71?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Operators are starting to deploy distributed computing environments
in different parts of the network with the objective of addressing
different service needs including latency, bandwidth, processing
capabilities, storage, etc.
This translates in the emergence of a
number of data centers (both in the cloud and at the edge) of
different sizes (e.g., large, medium, small) characterized by
distinct dimension of CPUs, memory, and storage capabilities, as well
as bandwidth capacity for forwarding the traffic generated in and out
of the corresponding data center.</t>
      <t>The proliferation of the edge computing paradigm further increases
the potential footprint and heterogeneity of the environments where a
function or application can be deployed, resulting in different
unitary cost per CPU, memory, and storage. This increases the
complexity of deciding the location where a given function or
application should be best deployed or executed.
This decision should be jointly
influenced on the one hand by the available resources in a given computing
environment, and on the other hand by the capabilities of the network path connecting
the traffic source with the destination.</t>
      <t>Network and compute aware function placement and selection has become of utmost importance in the last decade. The availability of such information is taken for granted by the numerous service providers and bodies that are specifying them.
However, deployments may reach out to data centers running different implementations with different understandings and representations of compute capabilities and smooth operation is a challenge. While standardization efforts on network capabilities representation and exposure are well-advanced, similar efforts on compute capabilitites are in their infancy.</t>
      <t>This document proposes an initial approach towards  a common understanding
and exposure scheme for metrics reflecting compute capabilities.
It aims at leveraging on existing work in the IETF on compute metrics definitions to build synergies.
It also aims at reaching out to working or research groups in the IETF that would consume such information and have particular requirements.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</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?>

<!-- # Motivations

TODO TEST
ANOTHE CHANGE + COMMENTS
CHANGE 2 -->

</section>
    <section anchor="problem-space-and-needs">
      <name>Problem Space and Needs</name>
      <t>Visibility and exposure of both (1) network and (2) compute
resources to the application is critical to
enable the proper functioning of the new class of services
arising at the edge (e.g., distributed AI, driverless vehicles,
AR/VR, etc.). To understand the problem space and the capabilities
that are lacking in today's protocol interfaces needed to enable
these new services, we focus on the life cycle of
a service.</t>
      <t>At the edge, compute nodes
are deployed near communication nodes (e.g., co-located
in a 5G base station) to provide computing services that are
close to users with the goal to (1) reduce latency, (2) increase
communication bandwidth, (3) enable privacy/personalization
(e.g., federated AI learning), and (4) reduce cloud costs and
energy. Services are deployed on the communication and compute
infrastructure through a two-phase life cycle that involves first a
service <em>deployment stage</em> and then a <em>service selection</em> stage
(<xref target="lifecycle"/>).</t>
      <figure anchor="lifecycle">
        <name>Service life cycle.</name>
        <artwork><![CDATA[
 +-------------+      +--------------+      +-------------+
 |             |      |              |      |             |
 |  New        +------>  Service     +------>  Service    |
 |  Service    |      |  Deployment  |      |  Selection  |
 |             |      |              |      |             |
 +-------------+      +--------------+      +-------------+
]]></artwork>
      </figure>
      <!--
In this Section, we introduce the life cycle of a
service as a simple framework to understand the capabilities
that are lacking in today's protocol interfaces and that are necessary for
these new services. -->

<t><strong>Service deployment.</strong> This phase is carried out by the service
provider, and consists in the deployment of a new service
(e.g., a distributed AI training/inference, an XR/AR service, etc.)
on the communication and compute infrastructure. The service
provider needs to properly size the amount of communication and compute
resources assigned to this new service to meet the expected user
demand. The decision on where the service is deployed and how
many resources are requested from the infrastructure depends on
the levels of QoE that the provider wants to guarantee to the
user base. To make a proper deployment decision, the provider
must have visibility on the resources available from
the infrastructure, including communication resources (e.g., latency and
bandwidth) and compute (e.g., CPU, GPU, memory, storage). For instance,
to run a Large Language Model (LLM) with 175 billion parameters, a total
aggregated memory of 400GB and 8 GPUs are needed. The service provider needs
an interface to query the infrastructure, extract the available compute
and communication resources, and decide which subset of resources are
needed to run the service.</t>
      <t><strong>Service selection.</strong> This phase is initiated by the user, through
a client application that connects to the deployed service. There
are two main decisions that must be performed in the service selection
stage: compute node selection and path selection. In the compute node selection
step, as the service is generally replicated in
N locations (e.g., by leveraging a microservices architecture),
the application must decide which of the service replicas
it connects to. Similar to the service deployment stage, this
decision requires knowledge about communication and compute
resources available in each replica. On the other hand, in the path selection decision,
the application must decide which path it chooses to connect to the service.
This decision depends on the communication properties (e.g., bandwidth and latency)
of the available paths. Similar to the service deployment case,
the service provider needs an interface to query the infrastructure and extract the available compute
and communication resources, with the goal to make informed node and path selection decisions.
It is also important to note that, ideally, the node and path selection
decisions should be jointly optimized, since in general the best end-to-end performance
is achieved by jointly taking into account both decisions. In some cases, however,
such decisions may be owned by different players. For instance, in some network
environments, the path selection may be decided by the network operator,
wheres the node selection may be decided by the application. Even in these cases,
it is crucial to have a proper interface (for both the network operator and the service
provider) to query the available compute and communication resources from the system.</t>
      <t><xref target="prob_space"/> summarizes the problem space, the information that needs to be exposed, and the stakeholders that need this information.</t>
      <table anchor="prob_space">
        <name>Problem space, needs, and stakeholders.</name>
        <thead>
          <tr>
            <th align="right">Action to take</th>
            <th align="center">Information needed</th>
            <th align="left">Who needs it</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="right">Service placement</td>
            <td align="center">Compute and communication</td>
            <td align="left">Service provider</td>
          </tr>
          <tr>
            <td align="right">Service selection/node selection</td>
            <td align="center">Compute</td>
            <td align="left">Network/service provider and/or application</td>
          </tr>
          <tr>
            <td align="right">Service selection/path selection</td>
            <td align="center">Communication</td>
            <td align="left">Network/service and/or application</td>
          </tr>
        </tbody>
      </table>
    </section>
    <section anchor="guiding-principles">
      <name>Guiding Principles</name>
      <t>The driving principles for designing an interface to jointly extract network and compute information are as follows:</t>
      <t>P1. Leverage metrics across working groups to avoid reinventing the wheel. For instance:</t>
      <ul spacing="normal">
        <li>
          <t>RFC 9439 <xref target="I-D.ietf-alto-performance-metrics"/> leverages IPPM metrics from RFC 7679.</t>
        </li>
        <li>
          <t>Section 5.2 of <xref target="I-D.du-cats-computing-modeling-description"/> considers delay as a good metric, since it is easy to use in both compute and communication domains. RFC 9439 also defines delay as part of the performance metrics.</t>
        </li>
        <li>
          <t>Section 6 of <xref target="I-D.du-cats-computing-modeling-description"/> proposes to represent the network structure as graphs, which is similar to the ALTO map services in <xref target="RFC7285"/>.</t>
        </li>
      </ul>
      <t>P2. Aim for simplicity, while ensuring the combined efforts
don’t leave technical gaps in supporting the full life cycle
of service deployment and selection. For instance, the CATS working
group is covering path selection from a network standpoint, while
ALTO (e.g., <xref target="RFC7285"/>) covers exposing of network information
to the service provider and the client application. However,
there is currently no effort being pursued to expose compute information
to the service provider and the client application for
service placement or selection.</t>
    </section>
    <section anchor="related-work">
      <name>Related Work</name>
      <t>Some existing work has explored compute-related metrics. They can be categorized as follows:</t>
      <ul spacing="normal">
        <li>
          <t>References providing raw compute infrastructure metrics: <xref target="I-D.contreras-alto-service-edge"/> includes references to cloud management solutions (i.e., OpenStack, Kubernetes, etc) which administer the virtualization infrastructure, providing information about raw compute infrastructure metrics. Furthermore, <xref target="NFV-TST"/> describes processor, memory and network interface usage metrics.</t>
        </li>
        <li>
          <t>References providing compute virtualization metrics: <xref target="RFC7666"/> provides several metrics as part of the Management Information Base (MIB) definition for managing virtual machines controlled by a hypervisor. The objects there defined make reference to the resources consumed by a particluar virtual machine serving as host for services or applications. Moreover, <xref target="NFV-INF"/> provides metrics associated to virtualized network functions.</t>
        </li>
        <li>
          <t>References providing service metrics including compute-related information: <xref target="I-D.dunbar-cats-edge-service-metrics"/> proposes metrics associated to services running in compute infrastructures. Some of these metrics do not depend on the infrastructure behavior itself but from where such compute infrastructure is topologically located.</t>
        </li>
      </ul>
    </section>
    <section anchor="gap-analysis">
      <name>GAP Analysis</name>
      <t>From this related work it is evident that compute-related metrics can serve several purposes, ranging from service instance instantiation to service instance behavior, and then to service instance selection. Some of the metrics could refer to the same object (e.g., CPU) but with a particular usage and scope.</t>
      <t>In contrast, the network metrics are more uniform and straightforward. It is then necessary to consistently define a set of metrics that could assist to the operation in the different concerns identified so far, so that networks and systems could have a common understanding of the perceived compute performance. When combined with network metrics, the combined network plus compute performance behavior will assist informed decisions particular to each of the operational concerns related to the different parts of a service life cycle.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TODO Security</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC7285">
          <front>
            <title>Application-Layer Traffic Optimization (ALTO) Protocol</title>
            <author fullname="R. Alimi" initials="R." role="editor" surname="Alimi"/>
            <author fullname="R. Penno" initials="R." role="editor" surname="Penno"/>
            <author fullname="Y. Yang" initials="Y." role="editor" surname="Yang"/>
            <author fullname="S. Kiesel" initials="S." surname="Kiesel"/>
            <author fullname="S. Previdi" initials="S." surname="Previdi"/>
            <author fullname="W. Roome" initials="W." surname="Roome"/>
            <author fullname="S. Shalunov" initials="S." surname="Shalunov"/>
            <author fullname="R. Woundy" initials="R." surname="Woundy"/>
            <date month="September" year="2014"/>
            <abstract>
              <t>Applications using the Internet already have access to some topology information of Internet Service Provider (ISP) networks. For example, views to Internet routing tables at Looking Glass servers are available and can be practically downloaded to many network application clients. What is missing is knowledge of the underlying network topologies from the point of view of ISPs. In other words, what an ISP prefers in terms of traffic optimization -- and a way to distribute it.</t>
              <t>The Application-Layer Traffic Optimization (ALTO) services defined in this document provide network information (e.g., basic network location structure and preferences of network paths) with the goal of modifying network resource consumption patterns while maintaining or improving application performance. The basic information of ALTO is based on abstract maps of a network. These maps provide a simplified view, yet enough information about a network for applications to effectively utilize them. Additional services are built on top of the maps.</t>
              <t>This document describes a protocol implementing the ALTO services. Although the ALTO services would primarily be provided by ISPs, other entities, such as content service providers, could also provide ALTO services. Applications that could use the ALTO services are those that have a choice to which end points to connect. Examples of such applications are peer-to-peer (P2P) and content delivery networks.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7285"/>
          <seriesInfo name="DOI" value="10.17487/RFC7285"/>
        </reference>
        <reference anchor="I-D.ietf-alto-performance-metrics">
          <front>
            <title>Application-Layer Traffic Optimization (ALTO) Performance Cost Metrics</title>
            <author fullname="Qin Wu" initials="Q." surname="Wu">
              <organization>Huawei</organization>
            </author>
            <author fullname="Y. Richard Yang" initials="Y. R." surname="Yang">
              <organization>Yale University</organization>
            </author>
            <author fullname="Young Lee" initials="Y." surname="Lee">
              <organization>Samsung</organization>
            </author>
            <author fullname="Dhruv Dhody" initials="D." surname="Dhody">
              <organization>Huawei</organization>
            </author>
            <author fullname="Sabine Randriamasy" initials="S." surname="Randriamasy">
              <organization>Nokia Bell Labs</organization>
            </author>
            <author fullname="Luis M. Contreras" initials="L. M." surname="Contreras">
              <organization>Telefonica</organization>
            </author>
            <date day="21" month="March" year="2022"/>
            <abstract>
              <t>The cost metric is a basic concept in Application-Layer Traffic
Optimization (ALTO), and different applications may use different
types of cost metrics. Since the ALTO base protocol (RFC 7285)
defines only a single cost metric (namely, the generic "routingcost"
metric), if an application wants to issue a cost map or an endpoint
cost request in order to identify a resource provider that offers
better performance metrics (e.g., lower delay or loss rate), the base
protocol does not define the cost metric to be used.

 This document addresses this issue by extending the specification to
provide a variety of network performance metrics, including network
delay, delay variation (a.k.a. jitter), packet loss rate, hop count,
and bandwidth.

 There are multiple sources (e.g., estimations based on measurements
or a Service Level Agreement) available for deriving a performance
metric. This document introduces an additional "cost-context" field
to the ALTO "cost-type" field to convey the source of a performance
metric.
              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-alto-performance-metrics-28"/>
        </reference>
        <reference anchor="I-D.du-cats-computing-modeling-description">
          <front>
            <title>Computing Information Description in Computing-Aware Traffic Steering</title>
            <author fullname="Zongpeng Du" initials="Z." surname="Du">
              <organization>China Mobile</organization>
            </author>
            <author fullname="Yuexia Fu" initials="Y." surname="Fu">
              <organization>China Mobile</organization>
            </author>
            <author fullname="Cheng Li" initials="C." surname="Li">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Daniel Huang" initials="D." surname="Huang">
              <organization>ZTE</organization>
            </author>
            <author fullname="Zhihua Fu" initials="Z." surname="Fu">
              <organization>New H3C Technologies</organization>
            </author>
            <date day="23" month="October" year="2023"/>
            <abstract>
              <t>   This document describes the considerations and the potential
   architecture of the computing information that needs to be notified
   into the network in Computing-Aware Traffic Steering (CATS).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-du-cats-computing-modeling-description-02"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="NFV-TST" target="https://www.etsi.org/deliver/etsi_gs/NFV-TST/001_099/008/03.03.01_60/gs_NFV-TST008v030301p.pdf">
          <front>
            <title>ETSI GS NFV-TST 008 V3.3.1, NFVI Compute and Network Metrics Specification</title>
            <author>
              <organization/>
            </author>
            <date year="2020" month="June" day="01"/>
          </front>
        </reference>
        <reference anchor="NFV-INF" target="https://www.etsi.org/deliver/etsi_gs/NFV-INF/001_099/010/01.01.01_60/gs_NFV-INF010v010101p.pdf">
          <front>
            <title>ETSI GS NFV-INF 010, v1.1.1, Service Quality Metrics</title>
            <author>
              <organization/>
            </author>
            <date year="2014" month="December" day="01"/>
          </front>
        </reference>
        <reference anchor="I-D.contreras-alto-service-edge">
          <front>
            <title>Use of ALTO for Determining Service Edge</title>
            <author fullname="Luis M. Contreras" initials="L. M." surname="Contreras">
              <organization>Telefonica</organization>
            </author>
            <author fullname="Sabine Randriamasy" initials="S." surname="Randriamasy">
              <organization>Nokia Bell Labs</organization>
            </author>
            <author fullname="Jordi Ros-Giralt" initials="J." surname="Ros-Giralt">
              <organization>Qualcomm Europe</organization>
            </author>
            <author fullname="Danny Alex Lachos Perez" initials="D. A. L." surname="Perez">
              <organization>Benocs</organization>
            </author>
            <author fullname="Christian Esteve Rothenberg" initials="C. E." surname="Rothenberg">
              <organization>Unicamp</organization>
            </author>
            <date day="13" month="October" year="2023"/>
            <abstract>
              <t>   Service providers are starting to deploy computing capabilities
   across the network for hosting applications such as AR/VR, vehicle
   networks, IoT, and AI training, among others.  In these distributed
   computing environments, knowledge about computing and communication
   resources is necessary to determine the proper deployment location of
   each application.  This document proposes an initial approach towards
   the use of ALTO to expose such information to the applications and
   assist the selection of their deployment locations.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-contreras-alto-service-edge-10"/>
        </reference>
        <reference anchor="RFC7666">
          <front>
            <title>Management Information Base for Virtual Machines Controlled by a Hypervisor</title>
            <author fullname="H. Asai" initials="H." surname="Asai"/>
            <author fullname="M. MacFaden" initials="M." surname="MacFaden"/>
            <author fullname="J. Schoenwaelder" initials="J." surname="Schoenwaelder"/>
            <author fullname="K. Shima" initials="K." surname="Shima"/>
            <author fullname="T. Tsou" initials="T." surname="Tsou"/>
            <date month="October" year="2015"/>
            <abstract>
              <t>This document defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, this specifies objects for managing virtual machines controlled by a hypervisor (a.k.a. virtual machine monitor).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7666"/>
          <seriesInfo name="DOI" value="10.17487/RFC7666"/>
        </reference>
        <reference anchor="I-D.dunbar-cats-edge-service-metrics">
          <front>
            <title>5G Edge Services Use Cases</title>
            <author fullname="Linda Dunbar" initials="L." surname="Dunbar">
              <organization>Futurewei</organization>
            </author>
            <author fullname="Kausik Majumdar" initials="K." surname="Majumdar">
              <organization>Microsoft</organization>
            </author>
            <author fullname="Gyan Mishra" initials="G. S." surname="Mishra">
              <organization>Huawei</organization>
            </author>
            <author fullname="Haibo Wang" initials="H." surname="Wang">
              <organization>Huawei</organization>
            </author>
            <author fullname="Haoyu Song" initials="H." surname="Song">
              <organization>Futurewei</organization>
            </author>
            <date day="6" month="July" year="2023"/>
            <abstract>
              <t>   This draft describes the 5G Edge computing use cases for CATS
   and how BGP can be used to propagate additional IP layer
   detectable information about the 5G edge data centers so that
   the ingress routers in the 5G Local Data Network can make
   path selections based on not only the routing distance but
   also the IP Layer relevant metrics of the destinations. The
   goal is to improve latency and performance for 5G Edge
   Computing (EC) services even when the detailed servers
   running status are unavailable.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-dunbar-cats-edge-service-metrics-01"/>
        </reference>
      </references>
    </references>
    <?line 274?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
9v6uyv6+N0Par/Y+us1lGAli/w+FGiUTSDYAAA==

-->

</rfc>
