<?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-mukhtar-kinetic-identity-00" category="info" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="Kinetic Identity">Kinetic Identity Documents and Service Manifests</title>
    <seriesInfo name="Internet-Draft" value="draft-mukhtar-kinetic-identity-00"/>
    <author initials="S." surname="Mukhtar" fullname="Saif Mukhtar">
      <organization/>
      <address>
        <email>saifmukhtar20@gmail.com</email>
        <uri>https://saifmukhtar.dev</uri>
      </address>
    </author>
    <date year="2026" month="June" day="24"/>
    <area>Internet</area>
    <keyword>identity</keyword>
    <keyword>service discovery</keyword>
    <keyword>decentralized naming</keyword>
    <keyword>manifests</keyword>
    <abstract>
      <?line 54?>

<t>This document specifies Kinetic Identity Documents (KIDs) and Capability
Manifests, a higher-layer identity and service-discovery model for the Kinetic
Network Protocol.  A Kinetic name is a transferable human-readable alias.  A
KID is a persistent cryptographic identity.  A Capability Manifest, signed by
the KID, describes the services currently offered by that identity.  This
separation prevents applications from confusing a name with an identity and
allows names to resolve to websites, APIs, messaging endpoints, storage
systems, agents, and future services without changing the underlying naming
protocol.</t>
    </abstract>
  </front>
  <middle>
    <?line 66?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Traditional name resolution usually asks one question: what network location
corresponds to this name?  Modern networked entities often need a richer answer.
An identity may expose a website, an API, a storage endpoint, a messaging
endpoint, an application service, or a future service type that does not map
cleanly to one host address.</t>
      <t>Kinetic separates these concerns into layers:</t>
      <ol spacing="normal" type="1"><li>
          <t>Human-readable name.</t>
        </li>
        <li>
          <t>Persistent cryptographic identity.</t>
        </li>
        <li>
          <t>Signed capability manifest.</t>
        </li>
        <li>
          <t>Application-specific content or compute.</t>
        </li>
      </ol>
      <t>The Kinetic Network Protocol <xref target="I-D.mukhtar-kinetic-network"/> defines how a
human-readable name is claimed, maintained, and resolved to an owner key.  This
document defines how that owner key is used as a persistent identity anchor and
how applications discover services associated with that identity.</t>
      <t>This document is an individual contribution and is intended to start discussion
on a Kinetic identity and service-discovery profile.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</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 BCP 14
<xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals, as
shown here.</t>
      <t>The following terms are used throughout this document:</t>
      <dl>
        <dt>Kinetic name:</dt>
        <dd>
          <t>A human-readable alias controlled through the Kinetic Network Protocol.</t>
        </dd>
        <dt>KID:</dt>
        <dd>
          <t>A Kinetic Identity Document identifier and the associated signed document.</t>
        </dd>
        <dt>Subject:</dt>
        <dd>
          <t>The entity represented by a KID.</t>
        </dd>
        <dt>Capability Manifest:</dt>
        <dd>
          <t>A signed document that lists services currently offered by a KID subject.</t>
        </dd>
        <dt>Service:</dt>
        <dd>
          <t>An application-level endpoint, protocol, content root, or capability exposed
by the subject.</t>
        </dd>
        <dt>Controller key:</dt>
        <dd>
          <t>A public key authorized to sign KID updates or manifests.</t>
        </dd>
      </dl>
    </section>
    <section anchor="design-goals">
      <name>Design Goals</name>
      <t>The Kinetic identity layer has the following goals:</t>
      <ul spacing="normal">
        <li>
          <t>Separate human-readable names from persistent identities.</t>
        </li>
        <li>
          <t>Allow name ownership to change without silently transferring identity trust.</t>
        </li>
        <li>
          <t>Allow one identity to advertise multiple services.</t>
        </li>
        <li>
          <t>Allow service types to evolve without changing the base naming protocol.</t>
        </li>
        <li>
          <t>Permit light clients to verify identity and manifest data locally.</t>
        </li>
        <li>
          <t>Avoid requiring clients to trust gateways or DHT nodes.</t>
        </li>
      </ul>
    </section>
    <section anchor="name-and-identity-separation">
      <name>Name and Identity Separation</name>
      <t>A Kinetic name is transferable.  A KID is persistent and non-transferable.</t>
      <t>If "example.kin" points to Alice's KID today and Bob's KID tomorrow, clients
MUST treat that as an identity change.  Applications MUST NOT assume continuity
of identity from continuity of name alone.</t>
      <t>This distinction is intended to prevent semantic attacks where a user sends
encrypted messages, authorization decisions, payments, or other sensitive
actions to a name after that name has changed owners.</t>
    </section>
    <section anchor="kid-identifier-syntax">
      <name>KID Identifier Syntax</name>
      <t>A KID identifier has the following URI form:</t>
      <artwork><![CDATA[
did:kin:<method-specific-id>
]]></artwork>
      <t>The <tt>did:kin</tt> prefix follows the DID URI style defined by <xref target="DID-CORE"/>, but
this document does not register a DID method.  Formal DID method registration
is out of scope for this version.</t>
      <t>The <tt>method-specific-id</tt> MUST be derived from the subject's primary public key
or a collision-resistant digest of the initial KID document.  The exact
derivation is a profile parameter and MUST be specified before production
interoperability.</t>
      <t>KID identifiers MUST be valid URIs <xref target="RFC3986"/>.</t>
    </section>
    <section anchor="kid-document">
      <name>KID Document</name>
      <t>A KID document is a canonical JSON document <xref target="RFC8259"/> signed by one or more
authorized controller keys.</t>
      <t>An example KID document is shown below:</t>
      <sourcecode type="json"><![CDATA[
{
  "type": "kinetic.kid.v1",
  "kid": "did:kin:kid1abc9f7",
  "created_at": 1750000000,
  "controller_keys": [
    {
      "id": "did:kin:kid1abc9f7#primary",
      "type": "Ed25519",
      "public_key": "base64url..."
    }
  ],
  "manifest": {
    "hash": "sha256:base64url...",
    "locations": [
      "kinetic-dht:base64url...",
      "https://gateway.example/kinetic/manifests/base64url..."
    ]
  },
  "revocation_keys": [
    "ed25519:base64url..."
  ],
  "signature": "base64url..."
}
]]></sourcecode>
      <t>The signature covers the canonicalized KID document with the <tt>signature</tt> member
omitted.  JSON encodings used for signatures MUST be canonicalized with JCS
<xref target="RFC8785"/>.</t>
      <section anchor="required-members">
        <name>Required Members</name>
        <t>A KID document MUST contain:</t>
        <ul spacing="normal">
          <li>
            <t><tt>type</tt>, with value <tt>kinetic.kid.v1</tt>;</t>
          </li>
          <li>
            <t><tt>kid</tt>, containing the KID identifier;</t>
          </li>
          <li>
            <t><tt>controller_keys</tt>, containing at least one supported public key;</t>
          </li>
          <li>
            <t><tt>manifest</tt>, containing either a manifest hash, one or more manifest
locations, or both; and</t>
          </li>
          <li>
            <t><tt>signature</tt>, containing a signature by an authorized controller key.</t>
          </li>
        </ul>
      </section>
      <section anchor="controller-keys">
        <name>Controller Keys</name>
        <t>Implementations conforming to this document MUST support Ed25519 <xref target="RFC8032"/>.</t>
        <t>A KID document MAY contain multiple controller keys.  Applications SHOULD allow
key rotation, but MUST verify that any updated KID document is authorized by a
valid previous controller key or by a valid recovery mechanism defined by the
active profile.</t>
        <t>This draft does not fully specify recovery or rotation semantics.  Production
profiles MUST define them before relying on KID continuity for sensitive use
cases.</t>
      </section>
    </section>
    <section anchor="capability-manifest">
      <name>Capability Manifest</name>
      <t>A Capability Manifest describes services currently offered by a KID subject.
The manifest is mutable and signed by a controller key authorized by the KID
document.</t>
      <t>An example manifest is shown below:</t>
      <sourcecode type="json"><![CDATA[
{
  "type": "kinetic.manifest.v1",
  "kid": "did:kin:kid1abc9f7",
  "version": 7,
  "valid_from": 1750000000,
  "services": [
    {
      "id": "web",
      "type": "website",
      "protocol": "https",
      "endpoint": "https://www.example.net/"
    },
    {
      "id": "api",
      "type": "api",
      "protocol": "grpc",
      "endpoint": "api.example.net:443"
    },
    {
      "id": "messages",
      "type": "messaging",
      "protocol": "wss",
      "endpoint": "wss://relay.example.net/"
    }
  ],
  "signature": "base64url..."
}
]]></sourcecode>
      <t>The signature covers the canonicalized manifest with the <tt>signature</tt> member
omitted.</t>
      <section anchor="required-members-1">
        <name>Required Members</name>
        <t>A Capability Manifest MUST contain:</t>
        <ul spacing="normal">
          <li>
            <t><tt>type</tt>, with value <tt>kinetic.manifest.v1</tt>;</t>
          </li>
          <li>
            <t><tt>kid</tt>, matching the KID document subject;</t>
          </li>
          <li>
            <t><tt>version</tt>, a monotonically increasing integer;</t>
          </li>
          <li>
            <t><tt>services</tt>, an array of service entries; and</t>
          </li>
          <li>
            <t><tt>signature</tt>, a signature by an authorized KID controller key.</t>
          </li>
        </ul>
      </section>
      <section anchor="service-entries">
        <name>Service Entries</name>
        <t>Each service entry MUST contain:</t>
        <ul spacing="normal">
          <li>
            <t><tt>id</tt>, unique within the manifest;</t>
          </li>
          <li>
            <t><tt>type</tt>, identifying the service class;</t>
          </li>
          <li>
            <t><tt>protocol</tt>, identifying the application or transport protocol; and</t>
          </li>
          <li>
            <t><tt>endpoint</tt>, containing the protocol-specific endpoint or content reference.</t>
          </li>
        </ul>
        <t>Service entries MAY include additional protocol-specific fields.  Unknown fields
MUST be ignored unless the service type explicitly requires rejection.</t>
      </section>
    </section>
    <section anchor="resolution-flow">
      <name>Resolution Flow</name>
      <t>A client resolving a Kinetic name to a service performs the following steps:</t>
      <ol spacing="normal" type="1"><li>
          <t>Resolve the Kinetic name using the Kinetic Network Protocol.</t>
        </li>
        <li>
          <t>Obtain the owner key or KID binding from the selected lease record.</t>
        </li>
        <li>
          <t>Fetch the KID document from the DHT, gateway, or another advertised
location.</t>
        </li>
        <li>
          <t>Verify the KID document signature.</t>
        </li>
        <li>
          <t>Fetch the Capability Manifest referenced by the KID document.</t>
        </li>
        <li>
          <t>Verify the manifest hash, if present.</t>
        </li>
        <li>
          <t>Verify the manifest signature under an authorized KID controller key.</t>
        </li>
        <li>
          <t>Select a service entry matching the desired service type and protocol.</t>
        </li>
      </ol>
      <t>All fetched data is untrusted until locally verified.  A gateway or DHT node
MUST NOT be treated as authoritative.</t>
    </section>
    <section anchor="name-to-kid-binding">
      <name>Name-to-KID Binding</name>
      <t>The selected Kinetic lease record MUST bind the name to a KID identifier or to
the public key from which the KID identifier can be derived.</t>
      <t>For the initial profile, the lease record SHOULD include:</t>
      <sourcecode type="json"><![CDATA[
{
  "kid": "did:kin:kid1abc9f7",
  "kid_document_hash": "sha256:base64url..."
}
]]></sourcecode>
      <t>The KID document hash helps clients detect gateway omission or downgrade
attacks.  If the hash is present, clients MUST reject any fetched KID document
whose canonical digest does not match the lease record.</t>
    </section>
    <section anchor="updates-and-versioning">
      <name>Updates and Versioning</name>
      <t>KID documents and manifests use different mutability rules.</t>
      <t>A KID document is intended to be stable.  Updates SHOULD be rare and limited to
key rotation, recovery, manifest pointer updates, and revocation metadata.</t>
      <t>A Capability Manifest is expected to change as services are added, removed, or
moved.  Manifest versions MUST be monotonically increasing for a given KID.
Clients SHOULD prefer the highest valid version unless an application profile
defines stricter freshness requirements.</t>
      <t>Clients SHOULD cache verified KID documents and manifests, but MUST respect
application-specific freshness and revocation requirements.</t>
    </section>
    <section anchor="service-type-extensibility">
      <name>Service Type Extensibility</name>
      <t>This document defines the manifest container but does not define a complete
service-type registry.</t>
      <t>Common service type values might include:</t>
      <ul spacing="normal">
        <li>
          <t><tt>website</tt>;</t>
        </li>
        <li>
          <t><tt>api</tt>;</t>
        </li>
        <li>
          <t><tt>messaging</tt>;</t>
        </li>
        <li>
          <t><tt>storage</tt>;</t>
        </li>
        <li>
          <t><tt>agent</tt>;</t>
        </li>
        <li>
          <t><tt>payment</tt>; and</t>
        </li>
        <li>
          <t><tt>profile</tt>.</t>
        </li>
      </ul>
      <t>A future version of this document might request an IANA registry for Kinetic
service types and protocol identifiers.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
      <t>A future version might request registries for KID document versions, manifest
versions, controller key suites, service types, and service protocol
identifiers.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Applications MUST NOT treat a human-readable Kinetic name as a stable identity.
Names can be transferred or reclaimed.  Identity continuity depends on the KID,
not on the name.</t>
      <t>KID and manifest verification depends on canonicalization.  Inconsistent JSON
canonicalization can create signature bypasses or interoperability failures.
Implementations MUST sign and verify the exact canonical form defined by the
active profile.</t>
      <t>Controller key compromise allows an attacker to publish malicious manifests,
redirect services, or rotate identity metadata.  Sensitive applications need
key isolation, recovery procedures, revocation checking, and user-visible
identity-change warnings.</t>
      <t>Manifest endpoints can point to malicious services.  Kinetic verification only
proves that a controller key advertised the endpoint.  It does not prove that
the endpoint is safe, lawful, available, or operated by a trustworthy party.</t>
      <t>Gateways and DHT nodes can omit or replay older documents.  Clients SHOULD use
hash bindings from lease records, manifest versions, multiple retrieval paths,
and freshness checks to reduce downgrade and censorship risks.</t>
      <t>Service identifiers can create confusion if different applications interpret
the same service type differently.  Future profiles should define precise
semantics for service types used in security-sensitive contexts.</t>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>Capability Manifests can reveal relationships between names, identities, and
services.  Publishing a manifest may expose operational infrastructure, user
aliases, contact endpoints, or organizational structure.</t>
      <t>Clients querying gateways for KID documents or manifests can reveal which
identities or services they are interested in.  Privacy-sensitive clients
should consider multiple gateways, caching, batching, and privacy-preserving
transports.</t>
    </section>
    <section anchor="operational-considerations">
      <name>Operational Considerations</name>
      <t>KID documents should be small, stable, and easy to cache.  Large or frequently
changing service metadata should live in Capability Manifests or
application-specific documents rather than in the KID document itself.</t>
      <t>Operators should publish manifests at multiple locations when possible.  A KID
document can include both content hashes and transport locations, allowing
clients to verify content regardless of retrieval path.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC8032">
          <front>
            <title>Edwards-Curve Digital Signature Algorithm (EdDSA)</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <author fullname="I. Liusvaara" initials="I." surname="Liusvaara"/>
            <date month="January" year="2017"/>
            <abstract>
              <t>This document describes elliptic curve signature scheme Edwards-curve Digital Signature Algorithm (EdDSA). The algorithm is instantiated with recommended parameters for the edwards25519 and edwards448 curves. An example implementation and test vectors are provided.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8032"/>
          <seriesInfo name="DOI" value="10.17487/RFC8032"/>
        </reference>
        <reference anchor="RFC8785">
          <front>
            <title>JSON Canonicalization Scheme (JCS)</title>
            <author fullname="A. Rundgren" initials="A." surname="Rundgren"/>
            <author fullname="B. Jordan" initials="B." surname="Jordan"/>
            <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
            <date month="June" year="2020"/>
            <abstract>
              <t>Cryptographic operations like hashing and signing need the data to be expressed in an invariant format so that the operations are reliably repeatable. One way to address this is to create a canonical representation of the data. Canonicalization also permits data to be exchanged in its original form on the "wire" while cryptographic operations performed on the canonicalized counterpart of the data in the producer and consumer endpoints generate consistent results.</t>
              <t>This document describes the JSON Canonicalization Scheme (JCS). This specification defines how to create a canonical representation of JSON data by building on the strict serialization methods for JSON primitives defined by ECMAScript, constraining JSON data to the Internet JSON (I-JSON) subset, and by using deterministic property sorting.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8785"/>
          <seriesInfo name="DOI" value="10.17487/RFC8785"/>
        </reference>
        <reference anchor="RFC3986">
          <front>
            <title>Uniform Resource Identifier (URI): Generic Syntax</title>
            <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee"/>
            <author fullname="R. Fielding" initials="R." surname="Fielding"/>
            <author fullname="L. Masinter" initials="L." surname="Masinter"/>
            <date month="January" year="2005"/>
            <abstract>
              <t>A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource. This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with guidelines and security considerations for the use of URIs on the Internet. The URI syntax defines a grammar that is a superset of all valid URIs, allowing an implementation to parse the common components of a URI reference without knowing the scheme-specific requirements of every possible identifier. This specification does not define a generative grammar for URIs; that task is performed by the individual specifications of each URI scheme. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="66"/>
          <seriesInfo name="RFC" value="3986"/>
          <seriesInfo name="DOI" value="10.17487/RFC3986"/>
        </reference>
        <reference anchor="RFC8259">
          <front>
            <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
            <author fullname="T. Bray" initials="T." role="editor" surname="Bray"/>
            <date month="December" year="2017"/>
            <abstract>
              <t>JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. It was derived from the ECMAScript Programming Language Standard. JSON defines a small set of formatting rules for the portable representation of structured data.</t>
              <t>This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="90"/>
          <seriesInfo name="RFC" value="8259"/>
          <seriesInfo name="DOI" value="10.17487/RFC8259"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.mukhtar-kinetic-network">
          <front>
            <title>The Kinetic Network Protocol</title>
            <author initials="S." surname="Mukhtar" fullname="Saif Mukhtar">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
        </reference>
        <reference anchor="DID-CORE" target="https://www.w3.org/TR/did-core/">
          <front>
            <title>Decentralized Identifiers (DIDs) v1.0</title>
            <author>
              <organization>W3C</organization>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="KineticDocs" target="https://saifmukhtar.github.io/kinetic/">
          <front>
            <title>Kinetic Protocol Official Documentation</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
      </references>
    </references>
    <?line 411?>

<section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>The identity model in this document is informed by decentralized identifier
systems, signed service manifests, self-authenticating records, and the need to
avoid conflating transferable names with persistent cryptographic identities.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA61bbXPbRpL+jl8xxXy4vRRJS/JbrFzdnSLZG21sy2fZe7V1
tWUNgSGJNQgwM4Borkv57ft098xgQFJyUnWpigIC89LTr093TyaTSdaWbWVO
1eiXsjZtmavLwtR4t1UXTd6t8OyUrgt1bextmRv1Rtfl3LjWjTI9m1lze2Dq
KCuavNYrWrawet5OVt3nZavt5LOMnJR+5OToCIN1i5EnRyfPJkfPJidPshwv
Fo3dnqqynjdZubanqrWda0+Ojl4cnWTaGo2lL+vWWKw3yj6b7aaxxWmm1ESF
tfmH82QXpcubW2PlbWFyjLG6Kv9pCgVKy3rBH1bhdJlrcepPumpqw5ubbF3S
+m2TY+utwfmVco1trZm75M12lb7IdNcuG8uE4V+FA9G366l6IxwZ8VvPq2td
zocfzEqXFb44fPE8PDn67wW9nebNSgZ1tsSQZduu3emjR8nQaWFuQUPd2JVu
y1tDZLx/dX5yfPzCP/5w/PxJeDx6fBIen//w1D8+fvHDs/D25CmmZSSSZL3L
ycV0V7r4C3F8PmXqgn59WBoVFOWtDFDvbAN+NpWco+cV/TPx/72PZw/yTVRq
RDpFLy4uLybnV+9fDim6GGiBKO+8NNapP2GC+3d1ezw9epi0xi6w0P8+Ppdh
2H9h2kQYm81munk8xbBHH94/KspikjfWPKLRnhewMjckKzApMEddzedlXuoq
WiSY39T37JiKf1G2y242LZtHXjLYeAKTpz9KzxzOnrdZ9mFZOlX4tZVbm5zY
4NQDHuFPvzCDyDGc67WelRUZXPQNY6XVslwsjZ1UemtstEme4W1yEm1SrZrC
VAp6pdpeS7JdLZkqdRaJItEr0K1hnLp2c2P1rDJq2cGEJ/APBf+EbLWjeRkI
luFrCLh0LR01t9t12yysXi+xYqCRt+lPFT3eWLlyUUNTZtuMyby8GMOTuNyW
M3CLXvmTOZV31mK1aquaOUjjSRih23QX4nvmzFpbFqhaw5uKv12vqzLnl07N
bbNSeVPPOwcvhQPwyTcQLZg5YGymq6rZOB4AehpljWuqW0OPGzNzZWsgmbN3
l/iLEU4vaEFTF+umrElorm2sXpjMbcGfFUlxYfgDSW3etZ1NjkgUNB2YuNQ1
L0QM6OrC2GpLP71XXQfhidatyqKoTJZ9p+C9bVN0OZ0SOmh1UdIj1JwPyLR3
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
se7qlk1XFSEwYpkcks5itdZXWdO4wf2QkkKjuNFJX4Tl7P6Lj+DvqJ+Z73vZ
A6hLzkztdnCWSl48FHxy8JztxtAdS/Kl4+QOiVzLStT7nZi4pORRiMnNS9E1
KSaU9dxqBKIuJ3aM2fAyvudkfLAhp5RccyVdtQus+s+wRJydACcEOcvVlHhR
YzfKDa/ipOfmtCjrD6ia5DKfXASz/oaZ4bywrLmWzlxOheCvVnjJ5p79vRIH
2sYM8Nj3zHzGOvaoQNbkHMRSkSOLpSCR7VXCyl35Dk/rqSCoD6dUjX2UlI1g
eHxNh4EmDvOaLqbTueeMF0hls3j7Jmhh8MNh6YoODX08qFcA5geBaE8g6F7K
9YpalfV+oaJskQ7PcWo5M+w3bNzHlLCbbnsux0YXX+WDa3bs1cNdm/5GaM4b
S7mL+mGxRkauyuO0vhKX9M+0Lydl+9eN+jLbQtuCkwMAx6H38perZ4iRJNKz
nGpolSkWgsIlye2jH9+237v6yBkdRWxx4cP/R6Z3av3tcN8bicLsMwhi84Sq
FDSJDgmZR6ccLgfyVWskgppvSpF7rGTk4EK/3D/j6vK3bu7zbbR/AQzC6NTT
NAAA

-->

</rfc>
