<?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-03" 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="November" day="02"/>

    
    
    <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-09".</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 five <xref target="DKIM2"></xref> output states in lower case, 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-09;
  repo=git.example.net/dkim2; date=2026-11-02;
  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-09;
  repo=git.example.net/dkim2; date=2026-11-02;
  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-09;
  repo=git.example.org/listmanager; date=2026-11-02;
  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-09;
  repo=git.example.net/dkim2; date=2026-11-02;
  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-09;
  repo=git.example.net/dkim2; date=2026-11-02;
  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-09;
  repo=git.example.net/dkim2; date=2026-11-02;
  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-20;
  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="1" month="November" year="2026"/>
      <abstract>
	 <t>   DomainKeys Identified Mail v2 (DKIM2) permits the owner of a signing
   domain to document that they have 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-09"/>
   
</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="28" month="October" 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-01"/>
   
</reference>




    </references>

</references>


<?line 341?>

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

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

<t>Aligned with draft-ietf-dkim-dkim2-spec-09: "none" is now one of the
five <xref target="DKIM2"></xref> output states. Examples name spec-09.</t>

<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+iQeOwzq6oseW8TOTRzjmxcxNs4uTiZHYH
weC2RbYkrvl2bMqyEOS/71NV3aQo27O5w+Ewg0FMkc2u6uqqp56qZhzHqs3a
3E71mT7PzLKsXJsl+idrUtvoV5nNU72oGn3+l9dvJ/p1Uee2sGVr2qwqnTLz
eWNvpv7puZ2vl/5VlVZJaQrMmzZm0cbLqkw3pjRxep0VkzilofGKh8ZHJ8qt
50XmHCb9uK3x0uuLj69UuS7mtpmq1LR2qm6mKsHFsmq2U52Vi0qta3ripiqr
m6lum7VrJ0dHz48m6tpuN1WTYp6ytU1p2/ictFCuNWX6XyavSsjYWqfqbKo/
t1Uy0q5q2sYuHK62BV38qpRZt6sKCuhYafyXlW6qX4z1f/i18E1Z5IumKof3
q2Y51a+MawuT5fp9u9Vv2pSfOMix7VS/sTc215ORPj5+rP+a5XlmCn3FD3lc
UqWY+eTo6Mj/XJctrf0M62wMRvPtesWLif709Fg/fvJMPz5+qh+fPI34oSXh
Uz2Hdst/X3hlWmuKcVIVSpVVU2Anb2BdGv3h1cvJ8fHz7seTycnj/sfJZCI/
eLNh2vh8nNl2wTvqt9XVNlGKNmd/4idPnn8vP84+ffzpw8WVTLDnFmTwBtui
4jjWZk7rTFql9txOVwt9XmEp5V/s1unXKZ5ki8ym+i3Z+ipblqZdYx59M9GH
rO4jNbelXWStXjRVoZ21WbnU9hYCNPui7pTGRqbrhh63K6utafIthtR5tSUN
VL0yzo6V+rjKnIaTr+muxnUGVytTKNFWemXzWsM14XxwKPicXpd5dm0xFZ7O
ra7X8zxzK5uOZa1Flqa5VeqAPLap0nVCiiglgXX4mf/++gheumg3prF6ieU0
5P36rXXOLG38uiTvTiyJk/fizhJaIk0vKJ7dWOuf4T8Inqpx2uSu0kljMZk6
g/3JmAnbIf5g3TpvnX/bwSCm1YXZYq1Jvk6t5l2DQ0OIw0rOxW5kiaaqod88
yzN4PlmCH7Ch1s4u1jmbydxYMb/aNX9WagN3L10GA8K4dW4SSxEaTKoTU2Lz
TJGVlnZJBQXJ0thbvSFF0wx2QTTxBgHCADDrkoYRCJA6tBJSAbgCnYBz8B5y
G6zkCrGJGOs13/NAk8Ng6dbbDeruGhjq5blN1d9i2YbXWBtsPvSY1LqkyebY
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

-->

</rfc>

