<?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.30 (Ruby 3.4.7) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-schinazi-masque-proxy-07" category="info" submissionType="independent" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title>The MASQUE Proxy</title>
    <seriesInfo name="Internet-Draft" value="draft-schinazi-masque-proxy-07"/>
    <author initials="D." surname="Schinazi" fullname="David Schinazi">
      <organization>Google LLC</organization>
      <address>
        <postal>
          <street>1600 Amphitheatre Parkway</street>
          <city>Mountain View</city>
          <region>CA</region>
          <code>94043</code>
          <country>United States of America</country>
        </postal>
        <email>dschinazi.ietf@gmail.com</email>
      </address>
    </author>
    <date year="2025" month="December" day="28"/>
    <keyword>masque</keyword>
    <keyword>proxy</keyword>
    <keyword>kuzh</keyword>
    <abstract>
      <?line 35?>

<t>MASQUE (Multiplexed Application Substrate over QUIC Encryption) is a set of
protocols and extensions to HTTP that allow proxying all kinds of Internet
traffic over HTTP. This document defines the concept of a "MASQUE Proxy", an
Internet-accessible node that can relay client traffic in order to provide
privacy guarantees.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://davidschinazi.github.io/masque-drafts/draft-schinazi-masque-proxy.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-schinazi-masque-proxy/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/DavidSchinazi/masque-drafts"/>.</t>
    </note>
  </front>
  <middle>
    <?line 43?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>In the early days of HTTP, requests and responses weren't encrypted. In order
to add features such as caching, HTTP proxies were developed to parse HTTP
requests from clients and forward them on to other HTTP servers. As SSL/TLS
became more common, the CONNECT method was introduced <xref target="CONNECT"/> to
allow proxying SSL/TLS over HTTP. That gave HTTP the ability to create tunnels
that allow proxying any TCP-based protocol. While non-TCP-based protocols were
always prevalent on the Internet, the large-scale deployment of QUIC
<xref target="QUIC"/> meant that TCP no longer represented the majority of Internet
traffic. Simultaneously, the creation of HTTP/3 <xref target="H3"/> allowed running HTTP
over a non-TCP-based protocol. In particular, QUIC allows disabling loss
recovery <xref target="DGRAM"/> and that can then be used in HTTP
<xref target="HTTP-DGRAM"/>. This confluence of events created both the possibility
and the necessity for new proxying technologies in HTTP.</t>
      <t>This led to the creation of MASQUE (Multiplexed Application Substrate over QUIC
Encryption). MASQUE allows proxying both UDP (<xref target="CONNECT-UDP"/>) and IP
(<xref target="CONNECT-IP"/>) over HTTP. While MASQUE has uses beyond improving
user privacy, its focus and design are best suited for protecting sensitive
information.</t>
    </section>
    <section anchor="privacy-protections">
      <name>Privacy Protections</name>
      <t>There are currently multiple usage scenarios that can benefit from using a
MASQUE Proxy.</t>
      <section anchor="protection-from-web-servers">
        <name>Protection from Web Servers</name>
        <t>Connecting directly to Web servers allows them to access the public IP address
of the user. There are many privacy concerns relating to user IP addresses
<xref target="IP-PRIVACY"/>. Because of
these, many user agents would rather not establish a direct connection to Web
servers. They can do that by running their traffic through a MASQUE Proxy. The
Web server will only see the IP address of the MASQUE Proxy, not that of the
client.</t>
      </section>
      <section anchor="protection-from-network-providers">
        <name>Protection from Network Providers</name>
        <t>Some users may wish to obfuscate the destination of their network traffic from
their network provider. This prevents network providers from using data
harvested from this network traffic in ways the user did not intend.</t>
      </section>
      <section anchor="partitioning">
        <name>Partitioning</name>
        <t>While routing traffic through a MASQUE proxy reduces the network provider's
ability to observe traffic, that information is transfered to the proxy
operator. This can be suitable for some threat models, but for the majority of
users transferring trust from their network provider to their proxy (or VPN)
provider is not a meaningful security improvement.</t>
        <t>There is a technical solution that allows resolving this issue: it is possible
to nest MASQUE tunnels such that traffic flows through multiple MASQUE proxies.
This has the advantage of partitioning sensitive information to prevent
correlation <xref target="PARTITION"/>.</t>
        <t>Though the idea of nested tunnels dates back decades <xref target="TODO"/>, MASQUE now
allows running HTTP/3 end-to-end from a user agent to an origin via multiple
nested CONNECT-UDP tunnels. The proxy closest to the user can see the user's IP
address but not the origin, whereas the other proxy can see the origin without
knowing the user's IP address. If the two proxies are operated by non-colluding
entities, this allows hiding the user's IP address from the origin without the
proxies knowing the user's browsing history.</t>
      </section>
      <section anchor="obfuscation">
        <name>Obfuscation</name>
        <t>The fact that MASQUE is layered over HTTP makes it much more resilient to
detection. To network observers, the unencrypted bits in a QUIC connection used
for MASQUE are indistinguishable from those of a regular Web browsing
connection. Separately, if paired with a non-probeable HTTP authentication
scheme <xref target="CONCEALED-AUTH"/>, any Web server can also become a MASQUE
proxy while remaining indistinguishable from a regular Web server. This defeats
detection tools that operate solely on packet formats.</t>
        <t>However, it is still possible to perform statitiscal analyses on the encrypted
data. There exist commercially available products that are able to identify
visited websites based solely on the timing and size of encrypted packets.
While MASQUE increases the cost of such traffic analysis efforts, it doesn't
prevent them from being used at scale.</t>
        <t>MASQUE implementations can leverage the ability for HTTP/2, HTTP/3, TLS, or
QUIC to introduce padding inside the encryption. That enables many defensive
strategies such as ensuring that all packets are the same size, or introducing
variable amounts of cover traffic. From a theoretical perspective, sending data
at a constant bitrate is the only way to fully prevent statistical analysis,
but it likely introduces too much overhead to be deployable at scale. Finding
padding strategies that balance resistance against statistical analysis with
overheads remains an open research problem.</t>
      </section>
    </section>
    <section anchor="related-technologies">
      <name>Related Technologies</name>
      <t>This section discusses how MASQUE fits in with other contemporary
privacy-focused IETF protocols.</t>
      <section anchor="ohttp">
        <name>OHTTP</name>
        <t>Oblivious HTTP <xref target="OHTTP"/> uses a cryptographic primitive
<xref target="HPKE"/> that is more lightweight than TLS <xref target="TLS"/>, making it
a great fit for decorrelating HTTP requests. In traditional Web browsing, the
user agent will often make many requests to the same origin (e.g., to load
HTML, style sheets, images, scripts) and those requests are correlatable since
the origin can include identifying query parameters to join separate requests.
In such scenarios, MASQUE is a better fit since it operates at the granularity
of a connection. However, there are scenarios where a user agent might want to
make non-correlatable requests (e.g., to anonymously report telemetry); for
those, OHTTP provides better efficiency than using MASQUE with a separate
connection per request. While OHTTP and MASQUE are separate technologies that
serve different use cases, they can be colocated on the same HTTP server that
acts as both a MASQUE Proxy and an OHTTP Relay.</t>
      </section>
      <section anchor="doh">
        <name>DoH</name>
        <t>DNS over HTTPS <xref target="DoH"/> allows encrypting DNS traffic by sending it
through an encrypted HTTP connection. Colocating a DoH server with a MASQUE IP
proxy provides better performance than using DNS over port 53 inside the
encrypted tunnel.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Implementers of a MASQUE proxy need to review the Security Considerations of
the documents referenced by this one.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <displayreference target="H3" to="HTTP/3"/>
    <references anchor="sec-informative-references">
      <name>Informative References</name>
      <reference anchor="H3">
        <front>
          <title>HTTP/3</title>
          <author fullname="M. Bishop" initials="M." role="editor" surname="Bishop"/>
          <date month="June" year="2022"/>
          <abstract>
            <t>The QUIC transport protocol has several features that are desirable in a transport for HTTP, such as stream multiplexing, per-stream flow control, and low-latency connection establishment. This document describes a mapping of HTTP semantics over QUIC. This document also identifies HTTP/2 features that are subsumed by QUIC and describes how HTTP/2 extensions can be ported to HTTP/3.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9114"/>
        <seriesInfo name="DOI" value="10.17487/RFC9114"/>
      </reference>
      <reference anchor="TODO">
        <front>
          <title>find that 20 year old email about using nested CONNECT tunnels with SSL to improve privacy</title>
          <author>
            <organization/>
          </author>
          <date/>
        </front>
      </reference>
      <reference anchor="CONNECT">
        <front>
          <title>Upgrading to TLS Within HTTP/1.1</title>
          <author fullname="R. Khare" initials="R." surname="Khare"/>
          <author fullname="S. Lawrence" initials="S." surname="Lawrence"/>
          <date month="May" year="2000"/>
          <abstract>
            <t>This memo explains how to use the Upgrade mechanism in HTTP/1.1 to initiate Transport Layer Security (TLS) over an existing TCP connection. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="2817"/>
        <seriesInfo name="DOI" value="10.17487/RFC2817"/>
      </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="DGRAM">
        <front>
          <title>An Unreliable Datagram Extension to QUIC</title>
          <author fullname="T. Pauly" initials="T." surname="Pauly"/>
          <author fullname="E. Kinnear" initials="E." surname="Kinnear"/>
          <author fullname="D. Schinazi" initials="D." surname="Schinazi"/>
          <date month="March" year="2022"/>
          <abstract>
            <t>This document defines an extension to the QUIC transport protocol to add support for sending and receiving unreliable datagrams over a QUIC connection.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9221"/>
        <seriesInfo name="DOI" value="10.17487/RFC9221"/>
      </reference>
      <reference anchor="HTTP-DGRAM">
        <front>
          <title>HTTP Datagrams and the Capsule Protocol</title>
          <author fullname="D. Schinazi" initials="D." surname="Schinazi"/>
          <author fullname="L. Pardue" initials="L." surname="Pardue"/>
          <date month="August" year="2022"/>
          <abstract>
            <t>This document describes HTTP Datagrams, a convention for conveying multiplexed, potentially unreliable datagrams inside an HTTP connection.</t>
            <t>In HTTP/3, HTTP Datagrams can be sent unreliably using the QUIC DATAGRAM extension. When the QUIC DATAGRAM frame is unavailable or undesirable, HTTP Datagrams can be sent using the Capsule Protocol, which is a more general convention for conveying data in HTTP connections.</t>
            <t>HTTP Datagrams and the Capsule Protocol are intended for use by HTTP extensions, not applications.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9297"/>
        <seriesInfo name="DOI" value="10.17487/RFC9297"/>
      </reference>
      <reference anchor="CONNECT-UDP">
        <front>
          <title>Proxying UDP in HTTP</title>
          <author fullname="D. Schinazi" initials="D." surname="Schinazi"/>
          <date month="August" year="2022"/>
          <abstract>
            <t>This document describes how to proxy UDP in HTTP, similar to how the HTTP CONNECT method allows proxying TCP in HTTP. More specifically, this document defines a protocol that allows an HTTP client to create a tunnel for UDP communications through an HTTP server that acts as a proxy.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9298"/>
        <seriesInfo name="DOI" value="10.17487/RFC9298"/>
      </reference>
      <reference anchor="CONNECT-IP">
        <front>
          <title>Proxying IP in HTTP</title>
          <author fullname="T. Pauly" initials="T." role="editor" surname="Pauly"/>
          <author fullname="D. Schinazi" initials="D." surname="Schinazi"/>
          <author fullname="A. Chernyakhovsky" initials="A." surname="Chernyakhovsky"/>
          <author fullname="M. Kühlewind" initials="M." surname="Kühlewind"/>
          <author fullname="M. Westerlund" initials="M." surname="Westerlund"/>
          <date month="October" year="2023"/>
          <abstract>
            <t>This document describes how to proxy IP packets in HTTP. This protocol is similar to UDP proxying in HTTP but allows transmitting arbitrary IP packets. More specifically, this document defines a protocol that allows an HTTP client to create an IP tunnel through an HTTP server that acts as an IP proxy. This document updates RFC 9298.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9484"/>
        <seriesInfo name="DOI" value="10.17487/RFC9484"/>
      </reference>
      <reference anchor="IP-PRIVACY">
        <front>
          <title>IP Address Privacy Considerations</title>
          <author fullname="Matthew Finkel" initials="M." surname="Finkel">
            <organization>Apple Inc.</organization>
          </author>
          <author fullname="Bradford Lassey" initials="B." surname="Lassey">
            <organization>Google</organization>
          </author>
          <author fullname="Luigi Iannone" initials="L." surname="Iannone">
            <organization>Huawei Technologies France S.A.S.U</organization>
          </author>
          <author fullname="Brad Chen" initials="B." surname="Chen">
            <organization>Google</organization>
          </author>
          <date day="23" month="October" year="2022"/>
          <abstract>
            <t>   This document provides an overview of privacy considerations related
   to user IP addresses.  It includes an analysis of some current use
   cases for tracking of user IP addresses, mainly in the context of
   anti-abuse.  It discusses the privacy issues associated with such
   tracking and provides input on mechanisms to improve the privacy of
   this existing model.  It then captures requirements for proposed
   'replacement signals' for IP addresses from this analysis.  In
   addition, existing and under-development techniques are evaluated for
   fulfilling these requirements.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-irtf-pearg-ip-address-privacy-considerations-01"/>
      </reference>
      <reference anchor="PARTITION">
        <front>
          <title>Partitioning as an Architecture for Privacy</title>
          <author fullname="M. Kühlewind" initials="M." surname="Kühlewind"/>
          <author fullname="T. Pauly" initials="T." surname="Pauly"/>
          <author fullname="C. A. Wood" initials="C. A." surname="Wood"/>
          <date month="July" year="2024"/>
          <abstract>
            <t>This document describes the principle of privacy partitioning, which selectively spreads data and communication across multiple parties as a means to improve privacy by separating user identity from user data. This document describes emerging patterns in protocols to partition what data and metadata is revealed through protocol interactions, provides common terminology, and discusses how to analyze such models.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9614"/>
        <seriesInfo name="DOI" value="10.17487/RFC9614"/>
      </reference>
      <reference anchor="CONCEALED-AUTH">
        <front>
          <title>The Concealed HTTP Authentication Scheme</title>
          <author fullname="D. Schinazi" initials="D." surname="Schinazi"/>
          <author fullname="D. Oliver" initials="D." surname="Oliver"/>
          <author fullname="J. Hoyland" initials="J." surname="Hoyland"/>
          <date month="February" year="2025"/>
          <abstract>
            <t>Most HTTP authentication schemes are probeable in the sense that it is possible for an unauthenticated client to probe whether an origin serves resources that require authentication. It is possible for an origin to hide the fact that it requires authentication by not generating Unauthorized status codes; however, that only works with non-cryptographic authentication schemes: cryptographic signatures require a fresh nonce to be signed. Prior to this document, there was no existing way for the origin to share such a nonce without exposing the fact that it serves resources that require authentication. This document defines a new non-probeable cryptographic authentication scheme.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9729"/>
        <seriesInfo name="DOI" value="10.17487/RFC9729"/>
      </reference>
      <reference anchor="OHTTP">
        <front>
          <title>Oblivious HTTP</title>
          <author fullname="M. Thomson" initials="M." surname="Thomson"/>
          <author fullname="C. A. Wood" initials="C. A." surname="Wood"/>
          <date month="January" year="2024"/>
          <abstract>
            <t>This document describes Oblivious HTTP, a protocol for forwarding encrypted HTTP messages. Oblivious HTTP allows a client to make multiple requests to an origin server without that server being able to link those requests to the client or to identify the requests as having come from the same client, while placing only limited trust in the nodes used to forward the messages.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9458"/>
        <seriesInfo name="DOI" value="10.17487/RFC9458"/>
      </reference>
      <reference anchor="HPKE">
        <front>
          <title>Hybrid Public Key Encryption</title>
          <author fullname="R. Barnes" initials="R." surname="Barnes"/>
          <author fullname="K. Bhargavan" initials="K." surname="Bhargavan"/>
          <author fullname="B. Lipp" initials="B." surname="Lipp"/>
          <author fullname="C. Wood" initials="C." surname="Wood"/>
          <date month="February" year="2022"/>
          <abstract>
            <t>This document describes a scheme for hybrid public key encryption (HPKE). This scheme provides a variant of public key encryption of arbitrary-sized plaintexts for a recipient public key. It also includes three authenticated variants, including one that authenticates possession of a pre-shared key and two optional ones that authenticate possession of a key encapsulation mechanism (KEM) private key. HPKE works for any combination of an asymmetric KEM, key derivation function (KDF), and authenticated encryption with additional data (AEAD) encryption function. Some authenticated variants may not be supported by all KEMs. We provide instantiations of the scheme using widely used and efficient primitives, such as Elliptic Curve Diffie-Hellman (ECDH) key agreement, HMAC-based key derivation function (HKDF), and SHA2.</t>
            <t>This document is a product of the Crypto Forum Research Group (CFRG) in the IRTF.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9180"/>
        <seriesInfo name="DOI" value="10.17487/RFC9180"/>
      </reference>
      <reference anchor="TLS">
        <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="DoH">
        <front>
          <title>DNS Queries over HTTPS (DoH)</title>
          <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
          <author fullname="P. McManus" initials="P." surname="McManus"/>
          <date month="October" year="2018"/>
          <abstract>
            <t>This document defines a protocol for sending DNS queries and getting DNS responses over HTTPS. Each DNS query-response pair is mapped into an HTTP exchange.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8484"/>
        <seriesInfo name="DOI" value="10.17487/RFC8484"/>
      </reference>
    </references>
    <?line 171?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>MASQUE was originally inspired directly or indirectly by prior work from many
people. The author would like to thank <contact fullname="Nick Harper"/>,
<contact fullname="Christian Huitema"/>, <contact fullname="Marcus Ihlar"/>, <contact fullname="Eric Kinnear"/>,
<contact fullname="Mirja Kuehlewind"/>, <contact fullname="Brendan Moran"/>, <contact fullname="Lucas Pardue"/>,
<contact fullname="Tommy Pauly"/>, <contact fullname="Zaheduzzaman Sarker"/> and <contact fullname="Ben Schwartz"/> for their
input.</t>
      <t>In particular, the probing resistance component of MASQUE came from a
conversation with <contact fullname="Chris A. Wood"/> as we were preparing a draft for an
upcoming Thursday evening BoF.</t>
      <t>All of the MASQUE enthusiasts and other contributors to the MASQUE working
group are to thank for the successful standardization of <xref target="HTTP-DGRAM"/>,
<xref target="CONNECT-UDP"/>, and <xref target="CONNECT-IP"/>.</t>
      <t>The author would like to express immense gratitude to Christophe A., an
inspiration and true leader of VPNs.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA51Z23LcNhJ9x1egnAfHVTMj+ZLE1pZrV5HsSBVLVizZW7tv
GBIzg4gkuAA5Y9qlf9/T3QCHUux92AdbEi99PX26G5zP56pzXWWP9M3G6ovj
6z8+vtFXwX8eVOmLxtS4Uwaz6uax2LjGfHHz2sT/9Hbe0kPzw19U7Je1i9H5
phtaPO6a0rYW/zWdavp6acORKk1nj9T2SD9XBX5d+zDQgyuvbu2w86E8UlrP
tYjmX1k8/3bbf9morW16Sw8F2/ojvem6Nh4dHKxdt+mXi8LXB6dm68rrZORB
MpJNj3itgtbY7V8s6ens0iKJcf7+ewf/w/PFpqsrZfpu4wMbj38aLsUjfbrQ
2Q6+KFFk++7f8GF9pH/zfl1Z/e7dCV+LXbAWhj79+fBQH9ftBqZZg4v6yoTb
nRn4qcJ1COCF75vOuEZ/cnbH14NdIw9H+uRYHvMlNL96cfjiefobL1DoPzau
s7Cmo7Bov4ImG1xh+ClbG1ch7WN4nO1W/1jTVYq0oryF2nRuyxk5e37Er70+
0h/enrx6+vQF/1m62FYGus5ubq4OSP/N+9P38miC3ApQ0d3GdPrZoR6sCdpX
pajXZun7TvfRNWvdIHWw9uT95eWbkxvd9U1jq6h3CI2+vn6nO69djaxsLWDj
tqaQIDHo9MpU0So1n88hE9E1RadUAvqPF33VubaynyH+uG0rhKBDAPV1z492
VkNo0H98PD/Rb5oiDC3dfqJd1EZH2yF0Coo7X3gYZOCO/dzZhoohklnku3ho
qsrvBNXkEv7Ut3Cfg3/edDY0tlNQuVq5QpTSuwuUJXShFPsa9aRLi5ghY8AE
ktkUtiUTYMujaek+msEUlaXOTVFY1OcSKGsACLGnMA3QggTponIkOusGnFCP
0A/zKaautCpFVa97EwzE2riQiNauLCtE9wfyIfiyLyg+CrrZRKS0GpCHgd0k
h2ZQihqKnUQr2NgiVPBoZ4NtHnfaSpRtuYBIsUTBElOWeoU66PGGjn2x0SbC
B0LoeiZhpti6JAmB2trKt0gruWFCtPyQGrWvgq+T62IKML0zgfBoaw0I4D2P
3yUPyHVATuJCH0eC3MHNu2u1tAUqW9c+UDLq2jcz9jrjtLYgh1LvYKlL0YE9
X7/+PT3wGuXy7OXTX+7uoEw9AEhSch8KyNvabG2GlQWiXQUqIGOLYAmvqTjU
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
fTGGO3LoMYlgLoPXMO7T1SUK7b/83EHfiCAAAA==

-->

</rfc>
