<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.32 (Ruby 3.3.0) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-gondwana-dkim2-debug-header-02" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="DKIM2 Debug Header">A Diagnostic Header Field for DKIM2 Implementations</title>

    <author initials="B." surname="Gondwana" fullname="Bron Gondwana">
      <organization>Fastmail Pty Ltd</organization>
      <address>
        <postal>
          <street>Level 2, 114 William Street</street>
          <code>3000</code>
          <country>Australia</country>
        </postal>
        <phone>+61 457 416 436</phone>
        <email>brong@fastmailteam.com</email>
      </address>
    </author>

    <date year="2026" month="October" day="28"/>

    
    
    <keyword>Internet-Draft</keyword>

    <abstract>


<?line 37?>

<t>Implementations of DomainKeys Identified Mail Signatures v2 (DKIM2)
benefit from seeing extra debug information during the early deployment
phase.</t>

<t>This document is intended to help testers, and unlikely to be published.</t>



    </abstract>



  </front>

  <middle>


<?line 45?>

<section anchor="introduction"><name>Introduction</name>

<t>DKIM2 (<xref target="DKIM2"></xref>) software generates Message-Instance and
DKIM2-Signature header fields.  Validators also create
Authentication-Results headers that may include dkim2 status.</t>

<t>During interoperability testing it is useful to have debug
information in a consistent place, so testers can examine the
headers and see what disagreement or misunderstanding may have
caused failures.</t>

<t>Several testing implementations already create a header field called
X-DKIM2-Info.  This document describes how to create it.</t>

<t>Nothing in this document is normative, and <xref target="DKIM2"></xref> does not
depend on it.</t>

</section>
<section anchor="terminology-and-conventions"><name>Terminology and conventions</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
<xref target="RFC2119"></xref>.  These words take their normative meanings only when they
are presented in ALL UPPERCASE.</t>

<t>Basic email terminology is taken from <xref target="RFC5598"></xref>. The terms Signer,
Verifier, Originator, Message-Instance, Recipe and Chain of Custody
are used as defined in <xref target="DKIM2"></xref>.</t>

<t>Syntax descriptions use Augmented BNF (ABNF) <xref target="RFC5234"></xref>. The token
"CRLF" is imported from <xref target="RFC5234"></xref>, and "tag-list" from the
"Tag=Value Lists" section of <xref target="DKIM2"></xref>.</t>

<t>An "emitter" is any piece of software which adds an X-DKIM2-Info
header field to a message. An "action" is the single step in DKIM2
processing which one such field records.</t>

</section>
<section anchor="why-x"><name>The "X-" name</name>

<t><xref target="DKIM2"></xref> excludes from its header hash every header field whose name
begins with "x-", so this field can be added at any point, by any
system, without changing any Message-Instance header hash or
invalidating any DKIM2-Signature.</t>

</section>
<section anchor="no-protocol-meaning"><name>No protocol meaning</name>

<t>An X-DKIM2-Info header field is not a verification result.  If the
software is generating an Authentication-Results (<xref target="AUTHRES"></xref>) data
then the verification result goes there.</t>

<t>The field is not signed, nor covered by any hash.  It only records what
the emitter says it did.  Software MUST NOT make any decision about a
message on the basis of an X-DKIM2-Info header field.</t>

</section>
<section anchor="field"><name>The X-DKIM2-Info header field</name>

<section anchor="syntax"><name>Syntax</name>

<t>The value is a Tag=Value list, using exactly the syntax that
<xref target="DKIM2"></xref> defines for the Message-Instance and DKIM2-Signature header
fields:</t>

<figure><artwork><![CDATA[
info-field = "X-DKIM2-Info:" tag-list CRLF
]]></artwork></figure>

<t>A tag value may contain "=", ",", "(", ")" and space. It MUST NOT
contain ";", which separates tags. There is no quoting mechanism; an
emitter MUST replace or remove ";" in any value it substitutes.</t>

<t>Five tags are always present, in the order "draft", "repo", "date",
"sw", "action", followed by any supplementary tags in alphabetical
order. Tag names and values are case-sensitive, and tag names are
lower case. Unknown tags MUST be ignored. A message may carry any
number of X-DKIM2-Info fields, from any number of emitters.</t>

</section>
<section anchor="provenance"><name>Provenance tags</name>

<t>These identify the software which emitted the field. They are the
same in every field an emitter produces.</t>

<dl>
  <dt>draft:</dt>
  <dd>
    <t>The <xref target="DKIM2"></xref> revision the emitter implements, without the "draft-"
prefix, for example "ietf-dkim-dkim2-spec-08".</t>
  </dd>
  <dt>repo:</dt>
  <dd>
    <t>Where the emitter's source code lives, as host and path with no
scheme, for example "git.example.com/dkim2". For DKIM2 code
embedded in larger software, this names the fork carrying it.</t>
  </dd>
  <dt>date:</dt>
  <dd>
    <t>The date the emitter's DKIM2 behaviour last changed, as YYYY-MM-DD.
A version stamp for the code, not the date of the draft. Bump it on
any change to what is emitted.</t>
  </dd>
  <dt>sw:</dt>
  <dd>
    <t>The program within "repo" which emitted the field, for example
"inbound-filter".</t>
  </dd>
</dl>

</section>
<section anchor="action-tag"><name>The action tag</name>

<dl>
  <dt>action:</dt>
  <dd>
    <t>What the emitter did at the point it added this field. One action
per field; several actions mean several fields.</t>
  </dd>
</dl>

<t>An action value is a short verb, optionally followed by "=" and a
result, optionally followed by space-separated qualifiers:</t>

<figure><artwork><![CDATA[
action-value = verb [ "=" result ] *( SP qualifier )
]]></artwork></figure>

<t>The vocabulary is in <xref target="actions"/>.</t>

</section>
<section anchor="supplementary"><name>Supplementary tags</name>

<dl>
  <dt>hc:</dt>
  <dd>
    <t>The number of header fields in the header hash of the
Message-Instance this field describes. Fields, not names: two "To"
fields both hashed count two.</t>
  </dd>
  <dt>hn:</dt>
  <dd>
    <t>The names of those fields, lower case, in the order they were
hashed (which <xref target="DKIM2"></xref> defines as ascending octet order),
comma-separated with no whitespace. A name appears once per field,
so the list may contain duplicates; its length equals "hc", and it
is empty when "hc" is 0.</t>
  </dd>
  <dt>snapf:</dt>
  <dd>
    <t>"Snapshot fetched": the identifier of the stored earlier copy of
the message the emitter diffed against to compute a Recipe.</t>
  </dd>
  <dt>snaps:</dt>
  <dd>
    <t>"Snapshot stored": the identifier under which the emitter stored
the message in its current state, for a later Recipe.</t>
  </dd>
</dl>

<t>Snapshot identifiers are meaningful only to the emitter which wrote
them; examples might be a database record id, or a path on disk.</t>

</section>
</section>
<section anchor="actions"><name>Actions</name>

<t>The actions any emitter may record, with their supplementary tags.
An emitter MAY record other actions in the same form; a reader should
not expect them from other software.</t>

<section anchor="verify"><name><spanx style="verb">verify=&lt;result&gt;</spanx></name>

<t>The emitter verified the message on receipt. The result is one of
the four <xref target="DKIM2"></xref> output states in lower case, or "none" if there were
no DKIM2 header fields, as reported in Authentication-Results
(<xref target="AUTHRES"></xref>), optionally followed by a free-text explanation in
parentheses:</t>

<figure><artwork><![CDATA[
action=verify=pass (i=1..2 verified)
action=verify=fail (Message-Instance m=2 header hash
  mismatch (sha256))
action=verify=none (no DKIM2 header fields found)
]]></artwork></figure>

<t>The authoritative result is in Authentication-Results (<xref target="AUTHRES"></xref>).
No supplementary tags.</t>

</section>
<section anchor="mi"><name><spanx style="verb">mi-m=&lt;N&gt;</spanx></name>

<t>The emitter added a Message-Instance with "m=" N. Accompanied by
"hc" and "hn"; where a snapshot store is used, also "snaps" and, for
N above 1, "snapf".</t>

<t>An emitter which found the topmost Message-Instance still matched,
and added nothing, records no action.</t>

</section>
<section anchor="sign"><name><spanx style="verb">sign d=&lt;domain&gt; a=&lt;algorithm&gt;</spanx></name>

<t>The emitter added a DKIM2-Signature with that Signing Domain and
algorithm. No supplementary tags.</t>

</section>
<section anchor="not-signed"><name><spanx style="verb">not-signed=&lt;reason&gt;</spanx></name>

<t>The emitter was asked to sign and declined. The reason is a short
token chosen by the emitter, for example "broken-mi-chain" when the
Message-Instance chain would not undo to "m=1". No supplementary
tags.</t>

</section>
</section>
<section anchor="emitter"><name>Emitter behaviour</name>

<t>One field per action. An emitter MUST NOT combine actions into one
field, and MUST NOT modify or remove any X-DKIM2-Info field already
present.</t>

<t>The field goes at the top of the header block when the action is
taken. Where the action added a header field, the emitter MUST add
that field first and the X-DKIM2-Info after it, so the X-DKIM2-Info
sits immediately above the field it describes.</t>

<t>The value is folded. Folding MUST happen only after a ";", after a
"," inside a list, or at a space inside a value. Whitespace next to
";" is not part of any value under <xref target="DKIM2"></xref>; in addition, a consumer
MUST ignore whitespace next to ",". An emitter MUST NOT fold inside
a token.</t>

<t>The field is excluded from the <xref target="DKIM2"></xref> header hash by the "x-" rule
(<xref target="why-x"/>). An emitter MUST NOT include it in anything it signs or
hashes.</t>

</section>
<section anchor="reading"><name>Reading the field</name>

<t>The field is for a person reading a message which did not verify.</t>

<t><list style="symbols">
  <t>Which software touched this, and to which draft? Compare "draft",
"repo", "sw" and "date" across the fields.</t>
  <t>Why does the header hash of "m=2" not match? Compare the "hn" of
the "mi-m=2" field with the names the Verifier hashed.</t>
  <t>Why did the Recipe not undo? Take "snapf" from the failing "mi-m="
field to the emitter's operator.</t>
  <t>Why was this not signed? Look for "not-signed", else for a "verify"
that is not "pass".</t>
</list></t>

</section>
<section anchor="examples"><name>Examples</name>

<t>Line breaks and indentation follow <xref target="RFC5322"></xref> folding. Domains,
repositories and program names are examples.</t>

<t>An inbound filter verified a message and, finding no
Message-Instance, added "m=1":</t>

<figure><artwork><![CDATA[
X-DKIM2-Info: draft=ietf-dkim-dkim2-spec-08;
  repo=git.example.net/dkim2; date=2026-10-28;
  sw=inbound-filter; action=mi-m=1; hc=8;
  hn=content-type,date,from,message-id,mime-version,subject,
  to,to;
  snaps=a5/a5440deb07cdcf63cd16bfaa29d9a87c0b97a300e1c2d3f4;
Message-Instance: m=1; ...
X-DKIM2-Info: draft=ietf-dkim-dkim2-spec-08;
  repo=git.example.net/dkim2; date=2026-10-28;
  sw=inbound-filter; action=verify=none (no DKIM2 header
  fields found);
Authentication-Results: mx.example.net; dkim2=none
]]></artwork></figure>

<t>The same message after a mailing list recorded its changes as "m=2":</t>

<figure><artwork><![CDATA[
X-DKIM2-Info: draft=ietf-dkim-dkim2-spec-08;
  repo=git.example.org/listmanager; date=2026-10-28;
  sw=listmanager; action=mi-m=2; hc=18;
  hn=archived-at,content-type,date,feedback-id,from,list-archive,
  list-help,list-id,list-owner,list-post,list-subscribe,
  list-unsubscribe,message-id,message-id-hash,mime-version,
  precedence,subject,to;
  snapf=a5440deb07cdcf63cd16bfaa29d9a87c0b97a300;
Message-Instance: m=2; ...
]]></artwork></figure>

<t>An outbound filter then verified the chain and signed:</t>

<figure><artwork><![CDATA[
X-DKIM2-Info: draft=ietf-dkim-dkim2-spec-08;
  repo=git.example.net/dkim2; date=2026-10-28;
  sw=outbound-filter; action=sign d=list.example.org a=rsa-sha256;
DKIM2-Signature: i=2; d=list.example.org; ...
]]></artwork></figure>

<t>A Signer which declined because the Message-Instance chain would not
undo:</t>

<figure><artwork><![CDATA[
X-DKIM2-Info: draft=ietf-dkim-dkim2-spec-08;
  repo=git.example.net/dkim2; date=2026-10-28;
  sw=outbound-filter; action=not-signed=broken-mi-chain;
]]></artwork></figure>

<t>Two implementations on different drafts:</t>

<figure><artwork><![CDATA[
X-DKIM2-Info: draft=ietf-dkim-dkim2-spec-08;
  repo=git.example.net/dkim2; date=2026-10-28;
  sw=inbound-filter; action=verify=fail (Message-Instance m=1
  header hash mismatch (sha256));
...
X-DKIM2-Info: draft=ietf-dkim-dkim2-spec-07;
  repo=git.example.com/mta; date=2026-10-18;
  sw=delivery-proxy; action=mi-m=1; hc=8;
  hn=content-type,date,feedback-id,from,message-id,mime-version,
  subject,to;
]]></artwork></figure>

</section>
<section anchor="iana-considerations"><name>IANA considerations</name>

<t>None.</t>

</section>
<section anchor="security-considerations"><name>Security considerations</name>

<t>The field is not signed or hashed. Anyone handling the message can
add, alter or remove one undetected. Software MUST NOT act on it.</t>

<t>The field discloses the software, draft revision and source
repository of each system, something of an emitter's storage layout,
and the names of header fields present at hashing time. An operator
MAY strip X-DKIM2-Info at its outbound boundary; verification is
unaffected.</t>

<t><xref target="RFC5322"></xref> permits ";" in a header field name, so a name copied into
"hn" verbatim could be read as further tags. An emitter SHOULD omit
from "hn" any name containing a character outside %x21-3A / %x3C-7E,
and SHOULD cap the length of "hn".</t>

</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">



<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="RFC5234">
  <front>
    <title>Augmented BNF for Syntax Specifications: ABNF</title>
    <author fullname="D. Crocker" initials="D." role="editor" surname="Crocker"/>
    <author fullname="P. Overell" initials="P." surname="Overell"/>
    <date month="January" year="2008"/>
    <abstract>
      <t>Internet technical specifications often need to define a formal syntax. Over the years, a modified version of Backus-Naur Form (BNF), called Augmented BNF (ABNF), has been popular among many Internet specifications. The current specification documents ABNF. It balances compactness and simplicity with reasonable representational power. The differences between standard BNF and ABNF involve naming rules, repetition, alternatives, order-independence, and value ranges. This specification also supplies additional rule definitions and encoding for a core lexical analyzer of the type common to several Internet specifications. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="68"/>
  <seriesInfo name="RFC" value="5234"/>
  <seriesInfo name="DOI" value="10.17487/RFC5234"/>
</reference>

<reference anchor="RFC5322">
  <front>
    <title>Internet Message Format</title>
    <author fullname="P. Resnick" initials="P." role="editor" surname="Resnick"/>
    <date month="October" year="2008"/>
    <abstract>
      <t>This document specifies the Internet Message Format (IMF), a syntax for text messages that are sent between computer users, within the framework of "electronic mail" messages. This specification is a revision of Request For Comments (RFC) 2822, which itself superseded Request For Comments (RFC) 822, "Standard for the Format of ARPA Internet Text Messages", updating it to reflect current practice and incorporating incremental changes that were specified in other RFCs. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="5322"/>
  <seriesInfo name="DOI" value="10.17487/RFC5322"/>
</reference>


<reference anchor="DKIM2">
   <front>
      <title>DomainKeys Identified Mail Signatures v2 (DKIM2)</title>
      <author fullname="Richard Clayton" initials="R." surname="Clayton">
         <organization>Yahoo</organization>
      </author>
      <author fullname="Wei Chuang" initials="W." surname="Chuang">
         <organization>Google</organization>
      </author>
      <author fullname="Bron Gondwana" initials="B." surname="Gondwana">
         <organization>Fastmail Pty Ltd</organization>
      </author>
      <date day="27" month="October" year="2026"/>
      <abstract>
	 <t>   DomainKeys Identified Mail v2 (DKIM2) permits a person, role, or
   organization that owns a signing domain to document that it has
   handled an email message by associating their domain with the
   message.  This is achieved by providing a hash value that has been
   calculated on the current contents of the message and then applying a
   cryptographic signature that covers the hash values and other details
   about the transmission of the message.  Verification is performed by
   querying an entry within the signing domain&#x27;s DNS space to retrieve
   an appropriate public key.  As a message is transferred from author
   to recipient, systems that alter the body or header fields will
   provide details of their changes and calculate new hash values.
   Further signatures will be added to provide a &quot;chain&quot; that receivers
   can validate.  This permits verifiers to identify the nature of
   changes made by intermediaries and apply a reputation to the systems
   that made changes.  DKIM2 also allows recipients to detect when
   messages have been unexpectedly &quot;replayed&quot; and will ensure that
   Delivery Status Notifications are only sent to entities that were
   involved in the transmission of a message.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-dkim-dkim2-spec-08"/>
   
</reference>




    </references>

    <references title='Informative References' anchor="sec-informative-references">



<reference anchor="RFC5598">
  <front>
    <title>Internet Mail Architecture</title>
    <author fullname="D. Crocker" initials="D." surname="Crocker"/>
    <date month="July" year="2009"/>
    <abstract>
      <t>Over its thirty-five-year history, Internet Mail has changed significantly in scale and complexity, as it has become a global infrastructure service. These changes have been evolutionary, rather than revolutionary, reflecting a strong desire to preserve both its installed base and its usefulness. To collaborate productively on this large and complex system, all participants need to work from a common view of it and use a common language to describe its components and the interactions among them. But the many differences in perspective currently make it difficult to know exactly what another participant means. To serve as the necessary common frame of reference, this document describes the enhanced Internet Mail architecture, reflecting the current service. This memo provides information for the Internet community.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="5598"/>
  <seriesInfo name="DOI" value="10.17487/RFC5598"/>
</reference>


<reference anchor="AUTHRES">
   <front>
      <title>Reporting DKIM2 Verification Results in Authentication-Results</title>
      <author fullname="Bron Gondwana" initials="B." surname="Gondwana">
         <organization>Fastmail Pty Ltd</organization>
      </author>
      <date day="5" month="September" year="2026"/>
      <abstract>
	 <t>   DomainKeys Identified Mail Signatures v2 (DKIM2) produces a
   verification result for an email message.  This document defines how
   that result is reported in the Authentication-Results header field,
   registering the &quot;dkim2&quot; authentication method, the result values it
   can take, and two properties which identify the signing domain and
   the point in the chain at which verification failed.  Diagnostic
   detail about each hop is carried in a human-readable comment.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-gondwana-dkim2-authres-00"/>
   
</reference>




    </references>

</references>


<?line 342?>

<section anchor="changes-from-earlier-versions"><name>Changes from Earlier Versions</name>

<t>draft-gondwana-dkim2-debug-header-02</t>

<t>Reference the generic Tag=Value list syntax of
draft-ietf-dkim-dkim2-spec-08, which makes the final ";" optional,
in place of the "x-tag" rule it no longer defines. Permit folding at
a space inside a value, as the examples already did. "verify=none"
means no DKIM2 header fields, as in <xref target="AUTHRES"></xref>. Corrected the
header hash order to ascending octet order. Examples updated to
current draft revisions.</t>

<t>draft-gondwana-dkim2-debug-header-01</t>

<t>Use the <xref target="DKIM2"></xref> tag-list syntax, with every tag followed by ";",
rather than defining a third tag-list variant. Renamed the <spanx style="verb">mi-m&lt;N&gt;</spanx>
action to <spanx style="verb">mi-m=&lt;N&gt;</spanx> so every action with a value uses "=".</t>

<t>draft-gondwana-dkim2-debug-header-00</t>

<t>Initial version.</t>

</section>


  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA81abW/bSJL+3r+iQeOwzp6osZW3iTzaOSd2boJ1nFyczO4g
GNy2yJbENd+OTVoWjPz3e6qqm5Rke3bvcDjMYBBTZLO7ul6eeqqacRyrNmtz
O9Wn+iwzy7JybZbon6xJbaPfZjZP9aJq9Nmf372f6HdFndvClq1ps6p0yszn
jb2Z+qdndt4t/asqrZLSFJg3bcyijZdVma5NaeL0OismcUpD4xUPjY8mynXz
InMOk37e1Hjp3fnnt6rsirltpio1rZ2qm6lKcLGsms1UZ+WiUl1NT9xUZXUz
1W3TuXZydPQK013bzbpqUsxTtrYpbRufkRTKtaZM/9PkVYk1NtapOpvqr22V
jLSrmraxC4erTUEXvyplunZVQQAdK43/stJN9eux/ne/F74pm3zdVOXu/apZ
TvVb49rCZLn+2G70RZvyE4d1bDvVF/bG5noy0sfHz/RfsjzPTKGv+CGPS6oU
Mz89OjryP7uypb2fYp+NwWi+Xa94M9G/vjjWz56/1M+OX+hnT19E/NDS4lM9
h3TLf1t4YVprinFSFUqVVVPAkjfQLo3+9PbN5Pj4Vf/j+eTps+HH08lEfrCx
odr4bJzZdsEW9WZ1tU2UIuPsT/z8+avv5cfpl88/fTq/kgn23IIU3sAsKo5j
bea0z6RVas/tdLXQZxW2Uv7Zbpx+l+JJtshsqt+Trq+yZWnaDvPom4k+ZHGf
qLkt7SJr9aKpCu2szcqltrdYQLMv6l5oGDLtGnrcrqy2psk3GFLn1YYkUPXK
ODtW6vMqcxpO3tFdjesMrlamEKKt9MrmtYZrwvngUPA53ZV5dm0xFZ7Ora67
eZ65lU3HstciS9PcKnVAHttUaZeQIEpJYB1+5b+/PoGXLtq1aaxeYjsNeb9+
b50zSxu/K8m7E0vLyXtxrwktkaYXFM9urPXP8B8ET9U4bXJX6aSxmEydQv+k
zIT1EH+yrstb5992UIhpdWE22GuSd6nVbDU4NBZx2MmZ6I000VQ15JtneQbP
J03wA1ZU5+yiy1lN5saK+tW2+rNSG7h76TIoEMqtc5NYitCgUp2YEsYzRVZa
spIKApKmYVu9JkHTDHpBNLGBAGEAmK6kYQQCJA7thEQArkAm4By8h9wGO7lC
bCLGBsn3PNDkUFi68XqDuNsKhnh5blP111jM8A57g853PSa1LmmyOQy4qtak
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
DcBIi4UwAAA=

-->

</rfc>

