<?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-ma-moq-relay-for-deadline-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.18.0 -->
  <front>
    <title abbrev="MoQ relay for deadline">MoQ relay for support of deadline-aware media transport</title>
    <seriesInfo name="Internet-Draft" value="draft-ma-moq-relay-for-deadline-01"/>
    <author initials="Y." surname="Cui" fullname="Yong Cui">
      <organization>Tsinghua University</organization>
      <address>
        <postal>
          <street>30 Shuangqing Rd</street>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>cuiyong@tsinghua.edu.cn</email>
      </address>
    </author>
    <author initials="C." surname="Ma" fullname="Chuan Ma">
      <organization>Tsinghua University</organization>
      <address>
        <postal>
          <street>30 Shuangqing Rd</street>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>simonkorl0228@gmail.com</email>
      </address>
    </author>
    <author initials="Y." surname="Liao" fullname="Yixin Liao">
      <organization>Tsinghua University</organization>
      <address>
        <postal>
          <street>30 Shuangqing Rd</street>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>lyxceasar@outlook.com</email>
      </address>
    </author>
    <author initials="H." surname="Shi" fullname="Hang Shi">
      <organization>Huawei</organization>
      <address>
        <email>shihang9@huawei.com</email>
      </address>
    </author>
    <date/>
    <area>Applications and Real-Time</area>
    <workgroup>Media Over QUIC</workgroup>
    <keyword>deadline</keyword>
    <keyword>relay</keyword>
    <abstract>
      <?line 62?>

<t>This draft specifies the behavior of MoQ relays for delivering media before the deadline to decrease end-to-end latency and save transport costs in media transmission. To achieve this, the draft introduces deadline-aware actions prioritizing media streams with earlier deadlines, ensuring timely transmission while minimizing costs.</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-ma-moq-relay-for-deadline/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/STAR-Tsinghua/draft-moq-for-deadline"/>.</t>
    </note>
  </front>
  <middle>
    <?line 66?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Media over QUIC (MoQ) is a transport system designed to provide efficient media transport. However, some use cases, such as live streaming, online meetings, and gaming, require the client to receive their media before a specific time, referred to as the 'deadline.' Exceeding the deadline results in dropped data, which can increase latency and negatively affect user experience.</t>
      <t>To address this issue, a deliver-before-deadline transport service can be provided, which is the goal of the Deadline-aware Transport Protocol (DTP) proposed in <xref target="I-D.draft-shi-quic-dtp"/>. DTP leverages stream-level scheduling, active stream canceling, and redundancy coding to prioritize urgent data and prevent outdated data from blocking later data.</t>
      <t>This document proposes the behavior of deadline-aware actions on MoQ relay nodes, extending the basic MoQ relay to provide deliver-before-deadline transmission. The relay design utilizes scheduling, data canceling, and redundancy coding to decrease queuing time, prevent unnecessary re-transmission of overdue data, and ultimately reduce end-to-end latency. By providing better data delivery strategies, MoQ relays with deadline-aware actions can significantly enhance overall user experience in media transport.</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?>

</section>
    <section anchor="overview-of-deadline-aware-moq-architecture">
      <name>Overview of Deadline-aware MoQ Architecture</name>
      <figure anchor="arch">
        <name>The Architecture of Deadline-aware MoQ</name>
        <artwork><![CDATA[
                      +===========================+
                      :             /=======\     :
                      :    Deadline :Block 1:     :
                      :     -aware  :DDL:xxx:     :
                      :   Canceling \=======/     :
            /-------\ :                 ^         :
            |Block 1| :                 :         :
            |DDL:xxx| :    +---------+  :         :
+---------+ \-------/ :    |Deadline |  :         :
|Publisher|-----------:--->| -aware  |==:         :
+---------+ /-------\ :    |  Relay  |            :
            |Block 2| :    +---------+            :
            |DDL:yyy| :         |  /-----------\  :
            \-------/ :         |  | Block 2   |  :
                      :         |  | DDL:yyy   |  :
                      :         |  |-----------|  :
                      :         |  | Redundancy|  :
                      :         |  | Coding    |  :
                      :         v  \-----------/  :
                      :    +---------+            :
                      :    |Deadline |            :    +----------+
                      :    | -aware  |------------:--->|Subscriber|
                      :    |  Relay  |   /-------\:    +----------+
                      :    +---------+   |Block 2|:
                      :                  |DDL:yyy|:
                      :                  \-------/:
                      +===========================+
                      Deadline-aware MoQ Relay nodes
]]></artwork>
      </figure>
      <t><xref target="arch"/> illustrates the fundamental architecture of Deadline-aware MoQ. This architecture involves the extension of MoQ Publishers and Subscribers, which transport block-like data and add 'Deadline' as a component of Metadata within the header. Relay nodes within this system are equipped with deadline-aware actions, including deadline-aware scheduling, canceling, and redundancy coding. The relay may schedule the data blocks, cancel the overdue ones, and add redundancy code to avoid re-transmission. The relays receive block-like data from the publisher, transfer between relays, make deadline-aware actions, and transmit it to the subscriber.</t>
      <t>The main focus of this draft is the extension of MoQ relays or the 'Deadline-aware MoQ Relay.' The Deadline-aware MoQ Relay <bcp14>SHOULD</bcp14> send data in a block-like style to enable deadline-aware actions. A Block is a basic data unit in the MoQ system, like the Object in <xref target="MOQT"/>. A Block <bcp14>SHOULD</bcp14> contain, at a minimum, a Block ID field in the its header to distinguish it from others.</t>
      <t>Depending on the MoQ implementation, the relay implementation may map the block transmission to different mechanisms of <xref target="QUIC"/>, such as matching a Block to multiple QUIC datagrams or a single QUIC stream. Deadline-aware MoQ Relay <bcp14>SHOULD</bcp14> support various MoQ transport implementations. When the relay receives data without any deadline-related information from the endpoint, it <bcp14>SHOULD</bcp14> forward it without utilizing any deadline-aware actions.</t>
      <t>The Deadline-aware MoQ Relay <bcp14>SHOULD</bcp14> support various relay topologies, as discussed in <xref target="I-D.draft-shi-moq-design-space-analysis-of-moq"/>. Each relay topology may require a different MoQ architecture or implementation. Therefore, the deadline-aware actions should act as a plugin that relays can quickly implement regardless of the topology and architecture.</t>
    </section>
    <section anchor="deadline-aware-extension-of-moq">
      <name>Deadline-aware Extension of MoQ</name>
      <section anchor="object-model-block">
        <name>Object Model: Block</name>
        <t>In this draft, we utilize the Block as the fundamental unit for data transmission. A Block comprises two essential components: metadata and payload. The payload of a Block is a sequence of bytes that carries the basic unit in media transport, such as a video frame. Meanwhile, a Block's metadata encompasses deadline-related information necessary for enabling Deadline-aware Actions(see <xref target="deadline-aware-action"/>). It's worth noting that the metadata of a Block can remain unencrypted, whereas the payload of a Block <bcp14>SHOULD</bcp14> be encrypted.</t>
        <t>The Block serves as a model exclusively for data transmission within the MoQ framework. Its purpose is to support the design principles of data units within MoQ, like the Object or the Group in MOQT. Importantly, it is crucial that the Block model does not supersede or alter the original data transmission model and should adapt to different designs in MoQ.</t>
        <section anchor="metadata">
          <name>Metadata</name>
          <t>For Deadline-aware MoQ Relay, data block metadata is required to enable deadline-aware actions. Both the endpoint and the relay <bcp14>SHOULD</bcp14> attach the following metadata to each data block when using deadline-aware actions:</t>
          <ul spacing="normal">
            <li>block id: the identifier of each block</li>
            <li>size: the size of the payload in bytes</li>
            <li>priority: the block's relative priority in a single session</li>
            <li>deadline: the expected completion time of the block. The relay can drop overdue data.</li>
          </ul>
          <t>The relay <bcp14>SHOULD</bcp14> maintain track of the metadata of a block until the block misses its deadline.</t>
          <t>Additionally, if the endpoint does not offer metadata in the header of a data block, relays <bcp14>MAY</bcp14> implement other mechanisms to acquire and synchronize deadline-related metadata.</t>
          <t>e.x. The specific methodology for encapsulating metadata needs to wait until the MoQ specification is standardized.</t>
          <section anchor="proirity">
            <name>Proirity</name>
            <t>TODO: At present, we set the priority as a relative value within a session. However, the determination of object priority in MOQT remains a subject of ongoing discussion. We are contemplating deferring this aspect until the Working Group reaches a consensus on the matter.</t>
          </section>
          <section anchor="deadline">
            <name>Deadline</name>
            <t>Deadlines can be defined in two distinct manners: End-to-End Deadline and Hop-by-Hop Deadline.</t>
            <t>The End-to-End Deadline indicates the expected end-to-end delay of the application, beyond which a data block is considered obsolete. Conversely, the Hop-by-Hop Deadline represents the anticipated delay between two nodes within each hop. It defines the tolerance for delay between relay nodes but does not convey the end-to-end latency requirement.</t>
            <figure anchor="ddl">
              <name>A Prototype Design for the Deadline Field</name>
              <artwork><![CDATA[
    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                             Type (i)                        ...
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                   [Duration (i)/Timestamp (i)]              ...
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
            </figure>
            <t><xref target="ddl"/> demonstrates a potential implementation of the Deadline field. The Type field specifies the function of these two fields. The last bit of Type (0x1) indicates whether the Block uses Hop-by-Hop Deadline. The least significant bit of Type (0x1) indicates whether the Block utilizes the Hop-by-Hop Deadline. The second-to-last bit of Type (0x2) indicates whether the Block employs a time duration as the maximum delay tolerance or a Unix timestamp as the expiration time for the data. A Type value of 0x4 signifies that the Block has no Deadline requirement.</t>
            <t>The Deadline-aware MoQ Relay <bcp14>SHOULD</bcp14> implement stratergies to manage both End-to-End Deadline and Hop-by-Hop Deadline requirements.</t>
          </section>
        </section>
      </section>
      <section anchor="deadline-aware-action">
        <name>Deadline-aware Action</name>
        <section anchor="deadline-aware-scheduling-and-cancelling">
          <name>Deadline-aware Scheduling and Cancelling</name>
          <t>When implementing deadline-aware actions, the Deadline-aware MoQ Relay can utilize the block metadata for scheduling blocks at the block-level. The scheduler <bcp14>SHOULD</bcp14> minimize the total time of queuing and try to meet the deadline requirements of as many high-priority blocks as possible.</t>
          <t>If a block misses its deadline, Deadline-aware MoQ Relay <bcp14>MAY</bcp14> cancel it. In such cases, the endpoints <bcp14>SHOULD</bcp14> be able to accept partially received data and not request for data re-transmission when a block is dropped. Additionally, the relays <bcp14>MAY</bcp14> inform the endpoints and other relays about the cancellation of these blocks.</t>
        </section>
        <section anchor="deadline-aware-redundancy-coding">
          <name>Deadline-aware Redundancy Coding</name>
          <t>To improve reliability and decrease latency, Deadline-aware MoQ Relay <bcp14>MAY</bcp14> introduce redundancy data to blocks close to their deadline or transmitted over a network with a high loss rate. This redundancy can help to prevent the need for re-transmission. If the first relay adds redundancy coding to the data, other relay nodes in the network may benefit from it.</t>
          <t>When redundancy coding is enabled, at least two nodes <bcp14>SHOULD</bcp14> implement a pair of encoder and decoder that comply with the redundancy coding method. The endpoint <bcp14>MAY</bcp14> also implement a redundancy encoder and decoder to utilize the relay's redundancy coding function fully.</t>
          <t>The first node that encodes the data with redundancy coding <bcp14>MUST</bcp14> add redundancy-related information to the metadata of the data block.</t>
        </section>
      </section>
    </section>
    <section anchor="discussions">
      <name>Discussions</name>
      <section anchor="drop-notification">
        <name>Drop Notification</name>
        <t>In situations where a data block is dropped by a relay due to a missed deadline or other reasons, sending an explicit dropping message to other relays and both endpoints can be helpful in notifying them of the data loss. The dropping message may include information about the block, such as its ID and metadata. However, the effective method for notifying other nodes and the decision regarding whether to send drop notifications to other relays are still pending discussion. Broadcasting drop notifications could potentially lead to network flooding and requires further consideration.</t>
      </section>
      <section anchor="data-buffer">
        <name>Data Buffer</name>
        <t>Further discussion is required to determine if the relay should implement a buffer for data blocks during forwarding and how such a buffer should be implemented. This buffer may be used for re-transmission purposes and may benefit users with larger delay tolerance, among other potential uses.</t>
      </section>
      <section anchor="clock-synchronization">
        <name>Clock Synchronization</name>
        <t>To enable accurate deadline-aware actions, it is recommended that all endpoints and relays perform clock synchronization. Nevertheless, achieving high-precision clock synchronization over the Internet can be a formidable task, and it is also impractical to synchronize all devices in a single MoQ session. The challenge then becomes how to carry out deadline-aware actions in the presence of imprecise clock accuracy, which is a critical question that needs to be addressed.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Access to the metadata of the Deadline-aware MoQ Relay <bcp14>SHOULD</bcp14> be limited to selected relays. The relay <bcp14>SHOULD NOT</bcp14> access the content of the data block.</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>
        <name>Normative References</name>
        <reference anchor="MOQT">
          <front>
            <title>Media over QUIC Transport</title>
            <author fullname="Luke Curley" initials="L." surname="Curley">
              <organization>Twitch</organization>
            </author>
            <author fullname="Kirill Pugin" initials="K." surname="Pugin">
              <organization>Meta</organization>
            </author>
            <author fullname="Suhas Nandakumar" initials="S." surname="Nandakumar">
              <organization>Cisco</organization>
            </author>
            <author fullname="Victor Vasiliev" initials="V." surname="Vasiliev">
              <organization>Google</organization>
            </author>
            <date day="5" month="July" year="2023"/>
            <abstract>
              <t>   This document defines the core behavior for Media over QUIC Transport
   (MOQT), a media transport protocol over QUIC.  MOQT allows a producer
   of media to publish data and have it consumed via subscription by a
   multiplicity of endpoints.  It supports intermediate content
   distribution networks and is designed for high scale and low latency
   distribution.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-moq-transport-00"/>
        </reference>
        <reference anchor="QUIC">
          <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-shi-quic-dtp">
          <front>
            <title>Deadline-aware Transport Protocol</title>
            <author fullname="Yong Cui" initials="Y." surname="Cui">
              <organization>Tsinghua University</organization>
            </author>
            <author fullname="Chuan Ma" initials="C." surname="Ma">
              <organization>Tsinghua University</organization>
            </author>
            <author fullname="Hang Shi" initials="H." surname="Shi">
              <organization>Huawei</organization>
            </author>
            <author fullname="Kai Zheng" initials="K." surname="Zheng">
              <organization>Huawei</organization>
            </author>
            <author fullname="Wei Wang" initials="W." surname="Wang">
              <organization>Huawei</organization>
            </author>
            <date day="28" month="July" year="2023"/>
            <abstract>
              <t>   This document defines Deadline-aware Transport Protocol (DTP) to
   provide block-based deliver-before-deadline transmission.  The
   intention of this memo is to describe a mechanism to fulfill
   unreliable transmission based on QUIC as well as how to enhance
   timeliness of data delivery.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-shi-quic-dtp-08"/>
        </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="I-D.draft-shi-moq-design-space-analysis-of-moq">
          <front>
            <title>Design Space Analysis of MoQ</title>
            <author fullname="Hang Shi" initials="H." surname="Shi">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Yong Cui" initials="Y." surname="Cui">
              <organization>Tsinghua University</organization>
            </author>
            <author fullname="Xiaobo Yu" initials="X." surname="Yu">
              <organization>Alibaba Group</organization>
            </author>
            <date day="11" month="September" year="2023"/>
            <abstract>
              <t>   This document investigates potential solution directions within the
   charter scope of MoQ WG.  MoQ aims to provide low-latency, efficient
   media delivery solution for use cases including live streaming,
   gaming and video conferencing.  To achieve low-latency media transfer
   efficiently, the network topology of relay nodes and the computation
   done at the relay nodes should be considered carefully.  This
   document provides the analysis of those factors which can help the
   design of the MoQ protocols.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-shi-moq-design-space-analysis-of-moq-02"/>
        </reference>
      </references>
    </references>
    <?line 227?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>We sincerely thank Wei Cao for his advice and revisions to this draft.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA7Vb63LbRpb+j6folX84Xou05Xh3EtY4iSzJY1XZliPL5XJN
ZquaQJPsEYBm0IAkrqV9lnmWebL9zjnduPDiy0yFKcck0Jdz/c6l26PRKKlt
nZuJ2nvtflWVyfVKzVylfLNcuqpWbqYyo7Pclmakr3VlVGEyq1Vd6dLTiL1E
T6eVudpYIU7bS1Jdm7mrVhPl6yxJMpeWusCWWaVn9ajQo8L9PuKJI0wctfs9
Pkh8My2s99aV9WqJKacnFy+Uuqd07h12tGVmlgb/K+u9fbV3evgcf2HvvdPz
ixd7SdkUU1NNkgwETNSn48OLk7skdaU3pW/8BEw0JgHl3ydgTGO9w+UytyAX
+3mly0ydG52PLmwBLq5ddTmvXLMkTlkGZ1emUr++Pz3aSy7NCu+zSaLUqOWc
fzBfyZUpG0Nv57ZeNFMs8e7i8Hx04W05XzT6URAF5NCXwF6S6KZeOLAwwlxb
guaPY3XUWPyaNXkucvzoynl46Kr5RMVV1fvSgkRv6xVe+boypgazj9U7vCzn
v2OUOs/wKsWIiXpu7N/xiH67pqxJX0cLW2o8MIW2+USljV1hr1/qsMHYZM04
LZOOuqOxeq0HxB3RXvLwjyXO28KVl67KHz958sMvc3o4Tl2RDET3ymo3lJ29
sWV8/McSmK9uUqO9rn5xTZ07d7lG3ssxlh5q9iU2Cg+ZtpeNvja2x/PCLjDk
x18W/EIWLF1VwISvYG8Y+frs1wv4zeh4LDZmTT1jQ2s9mEaRFU/U+YujHx8/
fpwktpz1FhmNRkpPIQGdYvDFwnpxXeWXJrUza7yqF0ZNzUJfWXgfMKOFAh+w
ICdZksgEPqYGjw1Pi8auaofvKRzRGwWfHtVuhL9UDuct0xW7o9dXpoMeSNrX
HsLrY1KAi7G6cEqnC2toBkjel82Ybgv9uKxJQfgauIFD9v1lBUZsbf+3I5ks
QBdeXcODldFVbk0HclieMIU5rAEX+WpAjbpe2BzQaUtbyJpM+lhkW9gsy02S
3FOngTAiIkkEZVxEGfUdpPpAQfo9+FV+5WtTgBBv56XJSIrLyl3ZDEKczWxq
gY3rmD1WL901BFPtK+8KoxpIPIXYwYVv0oXSXpG+AssgF6Baso4KOAF+YyCp
Yx5eVub3xgZ1pjnvCDIqkxrL0je2GupdR9NJWVq0wsxUlZCvxZzuR9mO76sT
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
drqY9RWbZBBbPIsbJ/8Pd3e0QRk2AAA=

-->

</rfc>
