<?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.39 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-liu-cadi-00" category="std" consensus="true" submissionType="IETF" xml:lang="en" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="CADI">Cryptographic Asset Discovery and Inventory</title>
    <seriesInfo name="Internet-Draft" value="draft-liu-cadi-00"/>
    <author initials="C. P." surname="Liu" fullname="Chunchi Peter Liu">
      <organization>Huawei</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>liuchunchi@huawei.com</email>
      </address>
    </author>
    <date year="2026" month="July" day="06"/>
    <keyword>CADI</keyword>
    <keyword>PQC</keyword>
    <abstract>
      <?line 65?>

<t>This document compiles existing Cryptographic Asset Discovery and Inventory (CADI) methods and analyze potential gaps.</t>
    </abstract>
  </front>
  <middle>
    <?line 69?>

<section anchor="intro">
      <name>Introduction</name>
      <t>Cryptographic Asset Discovery and Inventory (CADI) refers to a set of tools and guidelines that assist in identifying, collecting, normalizing, correlating, and continuously maintaining all cryptography-related assets, including configurations, dependencies, and usage contexts within a given organization, system, or product scope. It requires both technical tools and management approaches.</t>
      <t>Many Post-Quantum transition roadmaps have highlighted the importance of identifying legacy cryptographic assets inside of an organization as a crucial preparatory part. For example:</t>
      <ul spacing="normal">
        <li>
          <t>The G7 statement on "Advancing a Coordinated Roadmap for the Transition to Post-Quantum Cryptography in the Financial Sector" <xref target="G7"/> mentions there should exist six key PQ-migration activities:
          </t>
          <ul spacing="normal">
            <li>
              <t>Awareness and Preparation, <strong>Discovery and Inventory</strong>, Risk Assessment and Planning, Migration Execution, Migration Testing, Validation and Monitoring. The exact six stages are also published in NCCoE analysis on "Six Key Phases of the PQC Migration Journey" <xref target="NCCOEFAQ"/>.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>The United States Memorandum for the Heads of Executive Departments and Agencies on "Migrating to Post-Quantum Cryptography" <xref target="OMBM2302"/> requires:
          </t>
          <ul spacing="normal">
            <li>
              <t>All federal agencies to "<strong>Submit cryptographic system inventory By May 4, 2023 and annually thereafter</strong>". This important date is also mentioned in CISA directive "Strategy for Migrating to Automated Post-Quantum Cryptography Discovery and Inventory Tools"<xref target="CISAACDI"/>.</t>
            </li>
          </ul>
        </li>
      </ul>
      <t>Although the exact PQ-migration roadmap in each different nations varies, the fact that cryptographic asset discovery and inventory is a key prerequisite for Chief Information Security Officers to asses a migration budget and draft a migration plan does not change. In this draft, we analyze existing CADI methods and potential gaps.</t>
    </section>
    <section anchor="term">
      <name>Terminology</name>
      <ul spacing="normal">
        <li>
          <t>CADI (Cryptographic Asset Discovery and Inventory) -- A set of tools and guidelines designed to automate the identification, collection, normalization, correlation, and lifecycle management of an organization's cryptographic assets.</t>
        </li>
        <li>
          <t>Cryptographic Asset -- A digital or physical element within a device or service-such as an algorithm, module, configuration, credential, secret, or communication protocol-that protects the confidentiality and integrity of secure data transmission or storage.</t>
        </li>
        <li>
          <t>Cryptographic System -- An active software or hardware implementation of one or more cryptographic algorithms that provide one or more of the following services: (1) creation and exchange of encryption keys; (2) encrypted connections; or (3) creation and validation of digital signatures. (according to <xref target="OMBM2302"/>)</t>
        </li>
        <li>
          <t>Cryptographically Relevant Quantum Computers (CRQC) -- A fault-tolerant quantum system capable of solving the underlying hardness assumption problems of widely used public-key cryptography in polynomial time, such as RSA and ECC.</t>
        </li>
      </ul>
    </section>
    <section anchor="ps">
      <name>Problem Statement and Challenges</name>
      <t>Apart from the milestones and requirements discussed above, there are also a few challenges to identify cryptographic assets:</t>
      <ul spacing="normal">
        <li>
          <t>Legacy ICT systems were not engineered to treat cryptographic primitives as distinct, trackable assets. Instead, cryptographic implementations are deeply integrated, highly distributed, and hidden across heterogeneous layers of the technology stack.</t>
        </li>
        <li>
          <t>Taking inventory manually would take enormous amount of effort, yet there may still be statistical omissions that leave security exposures.</t>
        </li>
        <li>
          <t>Methods like Cryptographic Bill of Materials (CBOM) only take effect on new devices to self-announce its cryprographic assets, but it cannot help identify legacy devices and systems.</t>
        </li>
        <li>
          <t>Legacy devices and systems often behave like blackboxes, many does not allow installing additional programs or tools on them.</t>
        </li>
      </ul>
      <t>As a result, the ideal CADI tool should meet the following requirements:
*  <strong>Automated</strong> scanning and inventory taking
*  <strong>Agnostic</strong> to target object's system designs and architectures
*  <strong>Integrate</strong> the result to existing network management and operations systems for unified presentation</t>
      <t>The requirements for automation, architectural agnosticism, and network management integration suggest a protocol-driven approach, potentially placing this within the scope of the IETF. However, this remains open for discussion.</t>
    </section>
    <section anchor="discovery-and-identification">
      <name>Discovery and Identification</name>
      <t>There are many ways of doing discovering and identification. We catagorize them into two: active identification and passive identification.</t>
      <ul spacing="normal">
        <li>
          <t><strong>Active Identification</strong>: The case where devices and services modifies its development and/or management process, actively self-announcing their cryptographic assets. Methods falls into this category includes:
          </t>
          <ul spacing="normal">
            <li>
              <t>CBOM Declaration</t>
            </li>
            <li>
              <t>Static Code Scanning</t>
            </li>
            <li>
              <t>Binary / Image Scanning</t>
            </li>
            <li>
              <t>CI/CD Integration</t>
            </li>
          </ul>
        </li>
        <li>
          <t><strong>Passive Identification</strong>: The case where devices and services will stay as-is and cannot self-announce their cryptographic assets. These devices will require additional external tools to assist the identification. Methods falls into this category includes:
          </t>
          <ul spacing="normal">
            <li>
              <t>Simulated Handshakes</t>
            </li>
            <li>
              <t>Configuration Extraction</t>
            </li>
            <li>
              <t>Traffic Pattern Analysis</t>
            </li>
            <li>
              <t>Process Identification</t>
            </li>
          </ul>
        </li>
      </ul>
      <section anchor="active-identification">
        <name>Active Identification</name>
        <section anchor="cryptographic-bill-of-materials-cbom-and-auxiliary-methods">
          <name>Cryptographic Bill of Materials (CBOM) and Auxiliary Methods</name>
          <t>CBOM-based identification is to empower cryptographic asset owners or vendors to explicitly declare cryptographic usage within their products, components, or services. Usually CBOM declaration is achieved through static code scanning and/or CI/CD integration, so we keep them in the same section.</t>
          <t>Scanning Methods:
* <strong>Static Code Scanning</strong>:
    * SCA (Software Composition Analysis): Scan manifest files (like <tt>package.json</tt>, <tt>requirements.txt</tt>, or <tt>pom.xml</tt>) from the codebase to create CBOMS, usually for analyzing third-party libraries dependency.
    * SAST (Static Application Security Testing): Builds a Abstract Syntax Tree (AST) with parsed syntax and data flow of the target source code. It then uses AST to track call chain to end crypto library, track variables (data flow) from source to destination, do reference matching, etc.
        * SCA and SAST is used by IBM CBOMKit-Hyperion.
* <strong>Binary / Image Scanning</strong>:
    * Scan for algorithmic constants, signatures; Extract from OS trust stores and runtime configurations... The process details are omitted in this document due to complexity.
        * Binary / Image Scanning is used by IBM CBOMKit-Theia and CycloneDX Cdxgen.</t>
          <t>Tools and Modelling: 
* <strong>IBM CBOMkit</strong>, Static code level scanning (Hyperion) and Artifact level scanning (Theia) <xref target="IBMCBOM"/>: uses <tt>implements</tt> and <tt>uses</tt> relationship to create dependency diagram.
    * <tt>implements</tt>: Describes the list of protocols or algorithms this module implements.
    * <tt>uses</tt>: Describes what modules are used by this service.
    * For example, Application Nginx <tt>uses</tt> Library <tt>libssl.so</tt> that <tt>uses</tt> Protocol TLS v1.3/v1.2 that <tt>uses</tt> <tt>libcrypto.so</tt> that <tt>implements</tt> Algorithm MD5, SHA256, AES-128-GCM.
* <strong>CycloneDX Cdxgen</strong>, Artifact level scanning <xref target="CDXGEN"/>: uses <tt>dependsOn</tt> and <tt>provides</tt> relationship to create dependency diagram. 
    * <tt>dependsOn</tt>: Describes other modules or services this module depends on.
    * <tt>provides</tt>: Describes all capabilities this module provides.
    * For example, Application Nginx <tt>dependsOn</tt> Library <tt>libssl.so</tt> , which <tt>provides</tt> TLS 1.2.</t>
          <t>After scanning, the result will be recorded as a CBOM object.</t>
          <t>CBOM data specification: A standardized cryptographic asset object includes cryptographic algorithms, digital certificates, protocols, private keys, public keys, cryptographic keys, ciphertext information, digital signatures, digests (the output values of hash functions), initialization vectors (input parameters for encryption algorithms), seeds, salts, shared secrets, authentication tags, passwords, credentials, and tokens. For a detailed specification, see CycloneDX SBOM v1.6 https://cyclonedx.org/news/cyclonedx-v1.6-released/</t>
          <artwork><![CDATA[
"components": [
 {
  "name": "google.com",
  "type": "cryptographic-asset",
  "bom-ref": "crypto/certificate/google.com@sha256:1e15e0fbd3ce9...",
  "cryptoProperties": {
    "assetType": "certificate",
    "certificateProperties": {
      "subjectName": "CN = www.google.com",
      "issuerName": "C = US, O = Google Trust ... LLC, CN = GTS CA 1C3",
      "notValidBefore": "2016-11-21T08:00:00Z",
      "notValidAfter": "2017-11-22T07:59:59Z",
      "signatureAlgorithmRef": "crypto/algorithm/sha-512-rsa@1.2.840..",
      "subjectPublicKeyRef": "crypto/key/rsa-2048@1.2.840.113549.1.1.1",
      "certificateFormat": "X.509",
      "certificateExtension": "crt"
    }
  }
]]></artwork>
          <t><em>Figure 1: Example CBOM</em></t>
          <t>Gaps: Obviously, this does not help with identifying the mass legacy devices, components or services.</t>
        </section>
      </section>
      <section anchor="passive-identification">
        <name>Passive Identification</name>
        <section anchor="simulated-handshakes">
          <name>Simulated Handshakes</name>
          <t>Simulated handshake is a network-probing technique where a discovery tool acts as a client and intentionally initiates cryptographic protocol negotiations (e.g., TLS, SSH, IPsec) with enterprise network endpoints without completing the full data session. During the negotiation process, the discovery tool determines the specific cryptographic protocol versions, negotiation mechanisms, and ciphersuites supported by the endpoint. This is also known as <em>Active Probing</em>.</t>
          <t>Steps of simulated handshake include:
1. <strong>Port Scan:</strong> The tool scans for typical ports for specific secure communication protocols (443 for HTTPS, 22 for SSH, etc)
2. <strong>Probing:</strong> The tool generates a RFC-compliant connection initialization packet, including all currently standardized ciphersuites, and examine the response.
3. <strong>Response Extraction:</strong> The target object respond with supported ciphersuites, following its own internal priority rules.
4. <strong>Parsing:</strong> The tool intercepts this raw response and decodes it as cryptographic assets.</t>
          <t>This works for most secure protocols that includes negotiation:
* IPSEC
* TLS
* SSH</t>
          <t>Pros and Cons/Gaps: 
* Strengths:
    * This kind of method does not require complex engineering refactoring. Since it is agnostic to the design of the target, it works best for the case where the manager operates vast heteogenous devices from different vendors, versions and locations, hence telecommunications case.
    * This probing is one-time, thus it will not create unhandleable amount of probing packets. 
* The limitation of this method is that 
    * Some masking mechanism will stop the probing (firewalls, load balancers, port-concealing protocols like Single Packet Authorization that enforce a default drop for unexpected packets), leaving a hidden security posture inside of the system.
    * Network management cannot know local application components that rests internally in the device and are not exposed over a socket.</t>
          <t>Tools:
* Cisco Mercury project <xref target="MERCURY"/> provides an open source packet capture and analysis tool. It can read network packets, identify metadata of interest, and write out the metadata (including cryptographic-related) in JSON format.</t>
        </section>
        <section anchor="traffic-pattern-analysis">
          <name>Traffic Pattern Analysis</name>
          <t>Unlike simulated handshakes that actively query an endpoint, Traffic Pattern Analysis listens passively to live network traffic at strategic aggregation points. It infers cryptographic asset usage from protocol metadata, statistical characteristics, and behaviors without decrypting the underlying data payload.</t>
          <t>Methods of Traffic Pattern Analysis includes:
* Listen to unencrypted negotiations like <tt>clientHello</tt>/<tt>serverHello</tt>, Server Name Indication (SNI), response of an unencrypted server digital certificate request, etc.
* Listen to handshake fingerprints and compare them to existing patterns, as protocol implementations and behaviors are often rigid.
* Listen to packet length and arrival time, do statistical pattern recognition.</t>
          <t>Pros and Cons/Gaps: 
* Strengths:
    * Similar to Simulated Handshakes, this kind of method is not intrusive and is agnostic to the design of the target.
* The limitation of this method is that 
    * Negotiation information like <tt>clientHello</tt> <xref target="RFC9849"/> and SNI are tending to be encrypted.
    * Protocols tend to have constant size packets <xref target="RFC9347"/>.
    * Alternative routing: network requests/responses could exit through a different routing path.</t>
        </section>
        <section anchor="process-identification">
          <name>Process Identification</name>
          <t>Process Identification requires Endpoint Detection and Response (EDR) installed to have cryptographic visibility inside of a system.</t>
          <t>Methods of Process Identification includes:
* Kernel-Level System Call Auditing by deploying eBPF programs into the kernal space. These filters can capture kernel events to determine exactly which process (down to PID) have initiated an encrypted network communication.
* Shared Library and Binary Hooking, by monitoring process load table to see if cryptographic dynamic libraries are loaded into the memory space.
* Live Memory Scanning, by periodically scanning volatile memory for indication of creation of keys or signatures (as high-entropy memory segments), and then compare them with known patterns.</t>
          <t>Pros and Cons/Gaps: 
* Strengths:
    * Have deeper visibility for cryptographic assets within devices.
* The limitation of this method is that 
    * Requires loading new software (at least EDR/RDR) to legacy devices.
    * Potential blind spots due to lower pattern coverage.</t>
        </section>
        <section anchor="configuration-extraction">
          <name>Configuration Extraction</name>
          <t>The Configuration Extraction is a bit similar to the source code scanning. This section focuses more on the runtime configurations. In different use cases, the configuration extraction methods differs significantly. This section is to be extended.</t>
          <t>Methods of Configuration Extraction includes:
* In network device management, NETCONF and YANG provide a standardized, model-driven management interface that enables programmable configuration and state validation. The network managing platform can define a YANG model and extract configurations from a device.
* In cloud-native development, general <tt>.yaml</tt> configuration files, <tt>.env</tt> environment variables files, Kubernetes secret manifest, etc, can be extracted by administrative scripts or through management interfaces (e.g., AWS CloudControl, Kubernetes API).</t>
        </section>
      </section>
    </section>
    <section anchor="inventory">
      <name>Inventory</name>
      <t>TBD: After discovery, the result should best be presented in a unified network management platform for a comprehensive view. The Network Inventory (IVY) working group is working on this topic and cryptographic properties could become extensions to IVY records. The details of this section could invite more network management experts for input.</t>
    </section>
    <section anchor="potentially-related-working-groups">
      <name>Potentially Related Working Groups</name>
      <ul spacing="normal">
        <li>
          <t>IVY -- extend network management views with cryptographic attributes.</t>
        </li>
        <li>
          <t>SCITT -- extend SBOMs to adapt CBOMs.</t>
        </li>
        <li>
          <t>PQUIP -- as a migration guideline.</t>
        </li>
      </ul>
    </section>
    <section anchor="tools-compilation">
      <name>Tools Compilation</name>
      <t>Due to limited time, compiling existing CADI tools remain open and will be done in next version.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This document has no further security considerations.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC9849">
          <front>
            <title>TLS Encrypted Client Hello</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <author fullname="K. Oku" initials="K." surname="Oku"/>
            <author fullname="N. Sullivan" initials="N." surname="Sullivan"/>
            <author fullname="C. A. Wood" initials="C. A." surname="Wood"/>
            <date month="March" year="2026"/>
            <abstract>
              <t>This document describes a mechanism in Transport Layer Security (TLS) for encrypting a message under a server public key.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9849"/>
          <seriesInfo name="DOI" value="10.17487/RFC9849"/>
        </reference>
        <reference anchor="RFC9347">
          <front>
            <title>Aggregation and Fragmentation Mode for Encapsulating Security Payload (ESP) and Its Use for IP Traffic Flow Security (IP-TFS)</title>
            <author fullname="C. Hopps" initials="C." surname="Hopps"/>
            <date month="January" year="2023"/>
            <abstract>
              <t>This document describes a mechanism for aggregation and fragmentation of IP packets when they are being encapsulated in Encapsulating Security Payload (ESP). This new payload type can be used for various purposes, such as decreasing encapsulation overhead for small IP packets; however, the focus in this document is to enhance IP Traffic Flow Security (IP-TFS) by adding Traffic Flow Confidentiality (TFC) to encrypted IP-encapsulated traffic. TFC is provided by obscuring the size and frequency of IP traffic using a fixed-size, constant-send-rate IPsec tunnel. The solution allows for congestion control, as well as nonconstant send-rate usage.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9347"/>
          <seriesInfo name="DOI" value="10.17487/RFC9347"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="G7" target="https://home.treasury.gov/system/files/136/G7-CEG-Quantum-Roadmap.pdf">
          <front>
            <title>Advancing a Coordinated Roadmap for the Transition to Post-Quantum Cryptography in the Financial Sector</title>
            <author>
              <organization/>
            </author>
            <date year="2026" month="January"/>
          </front>
        </reference>
        <reference anchor="CISAACDI" target="https://www.cisa.gov/sites/default/files/2024-09/Strategy-for-Migrating-to-Automated-PQC-Discovery-and-Inventory-Tools.pdf">
          <front>
            <title>Strategy for Migrating to Automated Post-Quantum Cryptography Discovery and Inventory Tools</title>
            <author>
              <organization/>
            </author>
            <date year="2024" month="August"/>
          </front>
        </reference>
        <reference anchor="NCCOEFAQ" target="https://pages.nist.gov/nccoe-migration-post-quantum-cryptography/FAQ/index.html">
          <front>
            <title>Frequently Asked Questions about Post-Quantum Cryptography</title>
            <author>
              <organization/>
            </author>
            <date year="2026" month="June"/>
          </front>
        </reference>
        <reference anchor="OMBM2302" target="https://www.whitehouse.gov/wp-content/uploads/2022/11/M-23-02-M-Memo-on-Migrating-to-Post-Quantum-Cryptography.pdf">
          <front>
            <title>MEMORANDUM FOR THE HEADS OF EXECUTIVE DEPARTMENTS AND AGENCIES, Migrating to Post-Quantum Cryptography</title>
            <author>
              <organization/>
            </author>
            <date year="2022" month="November"/>
          </front>
        </reference>
        <reference anchor="NIST-SP-1800-38B" target="https://www.nccoe.nist.gov/sites/default/files/2023-12/pqc-migration-nist-sp-1800-38b-preliminary-draft.pdf">
          <front>
            <title>Migration to Post-Quantum Cryptography Quantum Readiness- Cryptographic Discovery</title>
            <author>
              <organization/>
            </author>
            <date year="2023" month="December"/>
          </front>
        </reference>
        <reference anchor="MERCURY" target="https://github.com/cisco/mercury/">
          <front>
            <title>Mercury - network metadata capture and analysis.</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="IBMCBOM" target="https://github.com/IBM/CBOM">
          <front>
            <title>CBOM</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="CDXGEN" target="https://github.com/cdxgen/cdxgen">
          <front>
            <title>CycloneDX Generator</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA71cWXPbVpZ+V5X+wy35YSQVQWqxY1tTU9U0tXasxSLdnZ55
GIHAJXlb2IILiGJU7t8+3zl3AUBTGSdVM9VJRAJ3Pct3VnYQBNtbugqz+L/D
JM/kiajKWm5vRWEl53m5OhG6ijGinqZKa5Vnk1WBQVdnk/PtLVWUPF5XRwcH
Hw+OtreSMJufCJltb21vVapKMHRUrooqn5dhsVCRGGotK3GqdJQ/yXIlsLG4
yp5kVmGz7a1wOi3lEyYNT6+2t+I8ysIUa8RlOKuCRNVBFMYqODjY3sqnOk9k
JfWJ2N6qizikj5iCv/QES5UypE/LvHycl3ldmMePS4wSIrBb0Ke7LyOeUFeL
vKS3AT1XGZYe9cVdX3xWNT0xZxkt6ixaKHGHzUv3Ki/nYaZ+CytQ6ERc1uFS
Knou01AlJwInj8y0vyz4XT/KU3of5XVWEZVHC5WFdIosL1Ms8yT5mPfno48f
3n70n4/fvj+hUSqbdcZdvOc/QliiD+OnMItUNhehGOV5GWP1SsbiPg/jNCwE
ZotqIcWkDDOt6NSiysVdrqvgSx1mVZ22+bYCMXj4OZbBsmEixjICx8yehuZH
B0c/BQeH9hhhOZfViVhUVaFPBoNFnsp+BY7oulz15/nTQK90JdPBTCVSDw6P
fxpcvA9GZxdu+8CetF/EM1pydDUeDkenV91rjquS5HTF97lWOGxFd8ZVhnWV
p3zl1y/1ihSKSZ4neu1qb4ODD5uvtlwu+5HSobmVghgOYjkL66SylzOzPw7c
YQMcNvCHDao88IcNIIqBP1aAYwX+WAEfy9HjZjS6PTsffunS47yUv9YYnqyg
aI+4/JdaauKuFuE0r6vXifE9J3/afN0inEvdz5Su+MJZFOUySM1t8iwoaINf
LQ+j1gYDHHagslg+9xdVmtDit9efro+OD466d7g+u769H96cfr0W57f3YnJ5
Ji7PhqdjcXsuzn45G32dXP3tTJye3Q3vJ9dnN5OxwGAxvDi7GV2djXtdMfjR
+x4Fh69ILrF3uQBbF3mtJd95WQRRnlWg86AuEsgp8/hocHg4uA6OjoODo+A6
uJZpHoAgHUa3jxO0j+PZejWeBOO74PDDwUFw/OHTGmkcmX9fWd3DewmwzKTW
wRoIewlbo8JxcHj0OhWY1Q3nXxF1WmNQ/Bq1ZIKmBLpwl5oGRSkTlQJLINUM
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

-->

</rfc>
