<?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.43 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-araut-oauth-transaction-tokens-for-agents-03" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.35.0 -->
  <front>
    <title>Transaction Tokens For Agents</title>
    <seriesInfo name="Internet-Draft" value="draft-araut-oauth-transaction-tokens-for-agents-03"/>
    <author fullname="ASHAY RAUT">
      <organization/>
      <address>
        <email>asharaut@amazon.com</email>
      </address>
    </author>
    <date year="2026" month="October" day="31"/>
    <keyword>transaction tokens</keyword>
    <keyword>agentic AI</keyword>
    <keyword>multi-agent authorization</keyword>
    <keyword>zero trust</keyword>
    <abstract>
      <?line 51?>

<t>This document specifies an extension to OAuth Transaction Tokens
<eref target="https://drafts.oauth.net/oauth-transaction-tokens/draft-ietf-oauth-transaction-tokens.html">OAUTH-TXN-TOKENS</eref> to support agent context propagation within
Transaction Tokens for agent-based workloads. The extension defines
the <tt>agentic_ctx</tt> claim, a structured JWT claim that carries
chain-level metadata required for multi-agent flow integrity.</t>
      <t>The extension addresses two deployment patterns: single-agent flows
where one agent acts on behalf of a user within a transaction, and
multi-agent flows where multiple agents collaborate across a call
chain.  In multi-agent scenarios, the Transaction Token is replaced
at each agent transition by the Transaction Token Service, updating
the <tt>agentic_ctx</tt> claim while preserving the immutable identity
context (<tt>sub</tt> and <tt>act</tt> claims) established at transaction
initiation.</t>
      <t>By propagating agent chain context to every service in the call path,
this extension enables Resource Servers to implement authorization
policies that distinguish agentic execution paths from direct human
calls, and provides the transaction lineage required for fine-grained
audit trails at the point of data access.  Security and compliance
teams gain visibility into the downstream operational footprint of an
agentic workflow — the full set of services and data stores reached
under a single transaction — enabling post-incident reconstruction
and bounded assessment of agentic reach.</t>
      <t>This specification leverages the existing <tt>act</tt> claim as defined in
<eref target="https://datatracker.ietf.org/doc/html/rfc8693">RFC8693</eref> and the 
<tt>sub</tt> claim as defined in <eref target="https://drafts.oauth.net/oauth-transaction-tokens/draft-ietf-oauth-transaction-tokens.html">OAUTH-TXN-TOKENS</eref>.  It
does not define new token types or grant types; it operates entirely
within the existing Transaction Token issuance and replacement
mechanisms defined by the base specification.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://ashayraut.github.io/oauth-transactiontokens-for-agents/draft-oauth-transaction-tokens-for-agents.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-araut-oauth-transaction-tokens-for-agents/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/ashayraut/oauth-transactiontokens-for-agents"/>.</t>
    </note>
  </front>
  <middle>
    <?line 85?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>AI agents operate autonomously across multi-step workflows, making
tool calls and accessing data stores without direct human oversight
at each step.  This creates three specific gaps that existing
authorization infrastructure does not address.  First, authorization
services at the data layer have no mechanism to distinguish a request
that originated from a direct human API call from one that traveled
through an autonomous agent chain several hops deep.  Second, audit
logs capture individual operations but lose the execution context
that explains why those operations occurred and on whose behalf.
Third, security and compliance teams have no way to bound or
reconstruct the downstream operational footprint — the agentic reach
— of a given agentic workflow after the fact.</t>
      <t>Transaction Tokens (Txn-Tokens) are short-lived, signed JSON Web
Tokens <xref target="RFC7519"/> that convey identity and authorization context.
However, the current Txn-Token format lacks sufficient context for
services within the call chain to implement fine-grained access
control policies for agent-based workflows.  Specifically, it does
not carry the agent chain-level context needed to distinguish agentic
execution paths from direct calls, limiting both authorization
granularity and audit traceability in multi-agent deployments.</t>
      <t>This document defines the <tt>agentic_ctx</tt> claim, a structured extension
within a Transaction Token that carries chain-level metadata for
multi-agent flow integrity.  It also specifies how the existing <tt>act</tt>
claim (defined in <xref target="RFC8693"/>) and <tt>sub</tt> claim (defined in
<eref target="https://drafts.oauth.net/oauth-transaction-tokens/draft-ietf-oauth-transaction-tokens.html">OAUTH-TXN-TOKENS</eref>) are used in agent-based transaction flows.</t>
      <t>The extension introduces a two-layer model for agent transaction
context:</t>
      <ul spacing="normal">
        <li>
          <t>Identity Layer: The <tt>sub</tt> claim (representing the subject of the
transaction) and the <tt>act</tt> claim (representing the agent that
obtained the original access token) are immutable throughout the
transaction lifetime.  These claims are populated per the rules
defined in <eref target="https://drafts.oauth.net/oauth-transaction-tokens/draft-ietf-oauth-transaction-tokens.html">OAUTH-TXN-TOKENS</eref> and <eref target="https://datatracker.ietf.org/doc/html/rfc8693">RFC8693</eref> respectively.</t>
        </li>
        <li>
          <t>Context Layer: The <tt>agentic_ctx</tt> claim carries chain-level
metadata required for multi-agent flow integrity: the originating
and proximate agent identities, hop tracking, and an optional
minimum assurance level.  Resource Servers requiring richer context
(such as operational posture or provenance) SHOULD query the Agent
Attribute Store directly using the agent identifiers carried in
the token, rather than relying on token-embedded attributes.</t>
        </li>
      </ul>
      <t>By propagating this context to every service in the call path, the
extension enables three capabilities:</t>
      <ul spacing="normal">
        <li>
          <t>Audit closer to the data: Internal data stores and microservices
can log fine-grained audit trails that reflect whether a specific
operation originated from a direct human call or from an autonomous
agentic execution path.  The <tt>originator.id</tt>, <tt>proximate_agent.id</tt>,
and <tt>hop_count</tt> fields carried in every Txn-Token provide the
execution context needed for meaningful audit entries at the point
of data access, not just at the API gateway.</t>
        </li>
        <li>
          <t>Agentic reach visibility: By preserving transaction lineage across
the full call chain, the <tt>txn</tt> claim combined with the TTS audit
log (Section 3.8) enables post-incident reconstruction of the
complete execution path and the set of resources accessed under a
single transaction.  This gives security and compliance teams a
bounded, auditable view of the operational footprint of any agentic
workflow.</t>
        </li>
        <li>
          <t>Context-aware authorization: Resource Servers can enforce policies
that evaluate the nature of the calling chain, not just the
identity of the immediate caller.  Policies that permit a direct
human call but restrict or audit an equivalent call from an
autonomous agent chain are expressible using <tt>originator.id</tt>,
<tt>proximate_agent.id</tt>, and <tt>min_assurance_level</tt> without changes to
the underlying resource implementation.</t>
        </li>
      </ul>
      <t>To support richer context population, the TTS SHOULD have access to
an Agent Attribute Store or equivalent mechanism that enables it to
distinguish agent callers from non-agent workload callers and to
source agent metadata within the trust domain.  When the TTS
identifies a caller as an agent, it applies agent-specific token
issuance rules as defined in this specification.  When the caller is
not identified as an agent, the TTS follows the base specification
rules without modification.  Deployments without an Agent Attribute
Store MAY still populate <tt>agentic_ctx</tt> using information derivable
from the token exchange flow itself (e.g., <tt>proximate_agent.id</tt> from
<tt>client_id</tt>, <tt>hop_count</tt> from replacement count).</t>
      <t>This extension leverages the existing Txn-Token infrastructure to
enable secure propagation of AI agent context throughout the
service graph.</t>
      <section anchor="conventions-and-terminology">
        <name>Conventions and Terminology</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="RFC8174">RFC2119</xref> when, and only when, they appear in all capitals, as shown here.</t>
      </section>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>Agentic-AI: AI Agentic applications are software applications that utilize
Large Language Models (LLM)s and plans, reasons,and takes actions independently
to achieve complex, multi-step goals with minimal human oversight.</t>
      <t>Workload:
An independent computational unit that can autonomously receive and process
invocations, and can generate invocations of other workloads.
Examples of workloads include containerized microservices,
monolithic services and infrastructure services such as managed databases.</t>
      <t>Trust Domain:
A collection of systems, applications, or workloads that share a
common security policy. In practice this may include a virtually or
physically separated network, which contains two or more workloads.
The workloads within a Trust Domain may be invoked only through published
interfaces.</t>
      <t>Call Chain:
A sequence of synchronous invocations that results from the invocation of an external endpoint.</t>
      <t>External Endpoint:
A published interface to a Trust Domain that results in the invocation
of a workload within the Trust Domain. This is the first service in the
call chain where request starts.</t>
      <t>Transaction Token (Txn-Token):
A signed JWT with a short lifetime, providing immutable information about the user or workload,
certain parameters of the call, and specific contextual attributes of the call.
The Txn-Token is used to authorize subsequent calls in the call chain.</t>
      <t>Transaction Token Service (Txn-Token Service):
A special service within the Trust Domain that issues Txn-Tokens to requesting
workloads. Each Trust Domain using Txn-Tokens MUST have exactly one logical
Txn-Token Service.</t>
      <t>Agent Attribute Store:
A logical role — not a defined protocol interface — that MAY be realized as
an agent registry, service catalog, policy engine, or any equivalent
mechanism accessible within the trust domain.  It serves two functions: an
identity catalog (recording which workloads are agents and their assigned
assurance levels) and an attribute store (recording additional attributes
such as operational posture, attestation status, and provenance metadata).
The TTS MAY use the Agent Attribute Store to determine whether a requesting
workload is an agent and to source the assurance level used in
<tt>min_assurance_level</tt> calculation.  Resource Servers MAY query the Agent
Attribute Store using the agent identifier from <tt>proximate_agent.id</tt> or
<tt>originator.id</tt> to obtain richer context for fine-grained authorization
decisions.  The presence of an Agent Attribute Store is RECOMMENDED but
not required.</t>
      <t>Note on terminology: In IETF and IANA practice, the term "registry"
conventionally refers to a namespace or schema catalog of permitted
identifiers and values (e.g., an IANA registry of claim names), not a
runtime instance store.  This specification uses "Agent Attribute Store"
to avoid that collision and to describe the runtime, instance-level nature
of this component.  Deployments that use a system commonly referred to as
an "agent registry" or "agent catalog" MAY treat it as fulfilling this role
provided it supports the attribute query functions described in
Section 3.6.2.</t>
      <t>Proximate Agent:
The agent whose request caused the current Transaction Token to be
issued or most recently replaced.  In a multi-agent chain, this is
the agent at the current hop — the one closest to the resource
being accessed at the time of the token exchange.  Represented in
the <tt>proximate_agent</tt> field of <tt>agentic_ctx</tt>.</t>
      <t>Originating Agent:
The agent that initiated the transaction chain by causing the
initial Transaction Token to be issued.  This agent's identity is
preserved immutably throughout all replacement flows.  Represented
in the <tt>originator</tt> field of <tt>agentic_ctx</tt>.</t>
      <t>Inference Layer:
The component of an agent system that runs the AI model (e.g., an
LLM), processes inputs, generates plans, and produces tool calls or
outputs.  The inference layer operates on data presented to it and
has no inherent awareness of the security context of the surrounding
system.</t>
      <t>Infrastructure Layer:
The component of an agent system that executes tool calls, manages
network I/O, enforces security policies, and interacts with external
services including the Transaction Token Service.  The infrastructure
layer is responsible for token acquisition and exchange and operates
independently of the inference layer's outputs.</t>
    </section>
    <section anchor="protocol-overview">
      <name>Protocol overview</name>
      <section anchor="transaction-flow">
        <name>Transaction Flow</name>
        <t>This section describes the process by which an agent application
   obtains a Transaction Token, either acting autonomously or on behalf
   of a principal. The external endpoint requests a Txn-Token following
   the procedures defined in <eref target="https://drafts.oauth.net/oauth-transaction-tokens/draft-ietf-oauth-transaction-tokens.html">OAUTH-TXN-TOKENS</eref>, augmented with additional
   context for agent identity and, when applicable, principal identity.</t>
      </section>
      <section anchor="agent-application-transaction-flows">
        <name>Agent Application Transaction Flows</name>
        <t>The Transaction Token creation process varies depending on the
   presence of a principal.</t>
        <section anchor="subject-initiated-flow">
          <name>Subject-Initiated Flow</name>
          <t>When a human subject initiates the workflow, the following steps
occur:</t>
          <ol spacing="normal" type="1"><li>
              <t>The subject invokes the agent application to perform a task.</t>
            </li>
            <li>
              <t>The agent application calls an external endpoint.  The external
endpoint returns an OAuth challenge.</t>
            </li>
            <li>
              <t>The agent application authenticates using an OAuth 2.0
Authorization Code flow <xref target="RFC6749"/> access token.  The access token
contains <tt>sub</tt> and <tt>client_id</tt> claims as per <xref target="RFC9068"/>.  If the
access token represents a delegated flow (human delegating to
agent), it MAY contain an <tt>act</tt> claim per <xref target="RFC8693"/>.</t>
            </li>
            <li>
              <t>The external endpoint submits the received access token along with
its subject token to the Txn-Token Service.  Subject token
requirements are specified in <eref target="https://drafts.oauth.net/oauth-transaction-tokens/draft-ietf-oauth-transaction-tokens.html">OAUTH-TXN-TOKENS</eref>.</t>
            </li>
            <li>
              <t>The Txn-Token Service validates the access token.</t>
            </li>
            <li>
              <t>The Txn-Token Service populates the Txn-Token's <tt>sub</tt> claim
following the rules specified in <eref target="https://drafts.oauth.net/oauth-transaction-tokens/draft-ietf-oauth-transaction-tokens.html">OAUTH-TXN-TOKENS</eref>.  The <tt>sub</tt>
claim is determined based on the <tt>subject_token</tt> provided in the
request.</t>
            </li>
            <li>
              <t>If the access token contains an <tt>act</tt> claim, the Txn-Token Service
copies the <tt>act</tt> claim value to the Txn-Token's <tt>act</tt> field.  The
value is copied as-is without modification.</t>
            </li>
            <li>
              <t>If the TTS has access to an Agent Attribute Store or equivalent mechanism,
it performs a lookup using the <tt>client_id</tt> from the access token.
If the <tt>client_id</tt> resolves to a registered agent, the TTS
populates the <tt>agentic_ctx</tt> claim. This is the case when agent is within trust domain and
user start request using agent within trust domain. If no Agent Attribute Store is
available, the TTS MAY still populate <tt>agentic_ctx</tt> using
information derivable from the token exchange (e.g., <tt>client_id</tt>
as <tt>proximate_agent.id</tt>).</t>
            </li>
            <li>
              <t>The Txn-Token Service issues the Txn-Token to the requesting
workload.</t>
            </li>
          </ol>
          <artwork type="ascii-art"><![CDATA[
+--------+     +-------+     +----------+     +-----+     +----------+
| Human  |     |  3P   |     | External |     | TTS |     |  Agent   |
| Subject|     | Agent |     | Endpoint |     |     |     |Attr Store|
+---+----+     +---+---+     +----+-----+     +--+--+     +----+-----+
    |              |               |              |              |
    | 1. Invoke    |               |              |              |
    |  task        |               |              |              |
    |------------->|               |              |              |
    |              |               |              |              |
    |              | 2. Call with   |              |              |
    |              |  access_token |              |              |
    |              |  (sub, act)   |              |              |
    |              |-------------->|              |              |
    |              |               |              |              |
    |              |               | 4. Request   |              |
    |              |               |  Txn-Token   |              |
    |              |               |  (access_token + subject_token)
    |              |               |------------->|              |
    |              |               |              |              |
    |              |               |              | 8. Lookup    |
    |              |               |              |  client_id   |
    |              |               |              |............->|
    |              |               |              |              |
    |              |               |              |  agent=true  |
    |              |               |              |<.............|
    |              |               |              |              |
    |              |               |              | 9. Issue     |
    |              |               |              |  Txn-Token:  |
    |              |               |              |  sub=user    |
    |              |               |              |  act={agent} |
    |              |               |              |  agentic_ctx |
    |              |               |              |              |
    |              |               |<-------------|              |
    |              |               |              |              |

Legend:
- `-->` Solid: Primary request/response flow
- `...>` Dotted: Registry lookup (optional, per §3.6)
]]></artwork>
          <t>Note: Steps 3 (OAuth 2.0 Authorization Code Grant), 5 (access token
validation), 6 (sub claim population), and 7 (act claim copy) are
internal operations not shown in the diagram.  Diagram step 2 shows
the agent calling the external endpoint with an access token already
in hand; the Authorization Code flow that produces that token (text
step 3) is omitted for clarity.</t>
        </section>
        <section anchor="autonomous-flow">
          <name>Autonomous Flow</name>
          <t>When the agent application operates autonomously, the following
steps occur:</t>
          <ol spacing="normal" type="1"><li>
              <t>The agent application initiates a task based on an event or
scheduled assignment.</t>
            </li>
            <li>
              <t>The agent application calls an external endpoint.  The OAuth
challenge flow starts.</t>
            </li>
            <li>
              <t>The agent application authenticates using an OAuth 2.0 Client
Credentials Grant <xref target="RFC6749"/>.</t>
            </li>
            <li>
              <t>The agent application uses the access token to call the external
endpoint.</t>
            </li>
            <li>
              <t>The external endpoint submits the received access token along with
its subject token to the Txn-Token Service.  Subject token
requirements are specified in <eref target="https://drafts.oauth.net/oauth-transaction-tokens/draft-ietf-oauth-transaction-tokens.html">OAUTH-TXN-TOKENS</eref>.</t>
            </li>
            <li>
              <t>The Txn-Token Service validates the access token.</t>
            </li>
            <li>
              <t>The Txn-Token Service populates the Txn-Token's <tt>sub</tt> claim
following the rules specified in <eref target="https://drafts.oauth.net/oauth-transaction-tokens/draft-ietf-oauth-transaction-tokens.html">OAUTH-TXN-TOKENS</eref>.  For
autonomous agents, the <tt>sub</tt> claim is determined based on the
<tt>subject_token</tt> provided in the request, which typically
represents the agent's own identity.</t>
            </li>
            <li>
              <t>If the access token contains an <tt>act</tt> claim, the Txn-Token Service
copies it to the Txn-Token.  For Client Credentials Grant flows,
the access token typically does not contain an <tt>act</tt> claim, and
therefore the Txn-Token MUST NOT contain an <tt>act</tt> claim.</t>
            </li>
            <li>
              <t>If the TTS has access to an Agent Attribute Store, it performs a lookup
and populates <tt>agentic_ctx</tt> if the caller is identified as an
agent.  If no Agent Attribute Store is available, the TTS MAY still
populate <tt>agentic_ctx</tt> using information derivable from the token
exchange.</t>
            </li>
            <li>
              <t>The Txn-Token Service issues the Txn-Token to the requesting
workload.</t>
            </li>
          </ol>
          <artwork type="ascii-art"><![CDATA[
+-------+     +----------+     +-----+     +----------+
|  1P   |     | External |     | TTS |     |  Agent   |
| Agent |     | Endpoint |     |     |     |Attr Store|
+---+---+     +----+-----+     +--+--+     +----+-----+
    |               |              |              |
    | 1. Event/     |              |              |
    |  schedule     |              |              |
    |  triggers     |              |              |
    |  task         |              |              |
    |               |              |              |
    | 3. Client     |              |              |
    |  Creds Grant  |              |              |
    |  (get         |              |              |
    |  access_tok)  |              |              |
    |-------------->|              |              |
    |<--------------|              |              |
    |               |              |              |
    | 4. Call with  |              |              |
    |  access_token |              |              |
    |  (no act)     |              |              |
    |-------------->|              |              |
    |               |              |              |
    |               | 5. Request   |              |
    |               |  Txn-Token   |              |
    |               |  (access_token + subject_token)
    |               |------------->|              |
    |               |              |              |
    |               |              | 9. Lookup    |
    |               |              |  client_id   |
    |               |              |............->|
    |               |              |              |
    |               |              |  agent=true  |
    |               |              |<.............|
    |               |              |              |
    |               |              | 10. Issue    |
    |               |              |  Txn-Token:  |
    |               |              |  sub=agent   |
    |               |              |  (no act)    |
    |               |              |  agentic_ctx |
    |               |              |              |
    |               |<-------------|              |
    |               |              |              |

Note: In autonomous flows, `act` is absent (no human delegation).
The `originator.id` in `agentic_ctx` is set from `client_id`.
Steps 2 (OAuth challenge), 6 (token validation), 7 (sub population),
and 8 (act copy) are internal operations not shown in the diagram.
Step 3 shows the OAuth AS interaction simplified to the External Endpoint.
]]></artwork>
        </section>
      </section>
      <section anchor="replacement-tokens">
        <name>Replacement tokens</name>
        <t>Txn-Token Service provides capability to get a replacement Txn-Token as defined in the <eref target="https://drafts.oauth.net/oauth-transaction-tokens/draft-ietf-oauth-transaction-tokens.html#name-creating-replacement-txn-to">OAUTH-TXN-TOKENS.replacement flow</eref>. This specification
extends the replacement flow with agent-specific behavior.</t>
        <t>When a workload identified as an agent receives a Transaction Token
and intends to invoke a downstream workload, it SHOULD request a
replacement Txn-Token from the TTS before making the downstream call.
Failure to do so results in stale <tt>agentic_ctx</tt> metadata that does
not reflect the actual execution path; deployments enforcing chain
integrity policies based on <tt>hop_count</tt> or <tt>min_assurance_level</tt>
MUST treat such tokens as non-compliant (see Section 3.3
below).</t>
        <t>If a deployment enforces chain integrity policies based on
<tt>hop_count</tt> or <tt>min_assurance_level</tt>, then agents MUST request
replacement before downstream invocation.  Failure to replace results
in stale chain metadata that does not reflect the actual execution
path.</t>
        <section anchor="replacement-when-caller-is-identified-as-an-agent">
          <name>Replacement When Caller is Identified as an Agent</name>
          <t>When the workload requesting a replacement Txn-Token is identified as
an agent (per Section 3.6), the following rules apply in addition to
the base specification replacement rules:</t>
          <ul spacing="normal">
            <li>
              <t>The <tt>sub</tt>, <tt>txn</tt>, and <tt>aud</tt> claims MUST NOT be modified (per base
specification).</t>
            </li>
            <li>
              <t>The <tt>act</tt> claim, if present, MUST NOT be modified.  The <tt>act</tt>
claim is immutable throughout the entire transaction lifetime.</t>
            </li>
            <li>
              <t>The <tt>scope</tt> claim can only be attenuated (per base specification).</t>
            </li>
            <li>
              <t>The <tt>req_wl</tt> claim MUST be updated by appending the current
requesting workload's identifier, using the comma (,) character as
separator per the base specification.</t>
            </li>
            <li>
              <t>The <tt>agentic_ctx</tt> claim MUST be updated as follows:  </t>
              <ul spacing="normal">
                <li>
                  <t>The <tt>proximate_agent.id</tt> field MUST be set to the identifier of
the new requesting agent.</t>
                </li>
                <li>
                  <t>If <tt>proximate_agent.session_id</tt> is present, it MUST be updated
alongside <tt>proximate_agent.id</tt> to reflect the session identifier
of the new requesting agent.</t>
                </li>
                <li>
                  <t>The <tt>originator.session_id</tt> field, if present, MUST NOT be
modified.</t>
                </li>
                <li>
                  <t>The <tt>chain_metadata.hop_count</tt> MUST be incremented by one.</t>
                </li>
                <li>
                  <t>If <tt>chain_metadata.min_assurance_level</tt> is present, it MUST be
recalculated.  The value MUST be the minimum of the existing
<tt>min_assurance_level</tt> and the new agent's assurance level as
recorded in the Agent Attribute Store (monotonic attenuation).</t>
                </li>
              </ul>
            </li>
          </ul>
        </section>
        <section anchor="replacement-when-caller-is-not-identified-as-an-agent">
          <name>Replacement When Caller is Not Identified as an Agent</name>
          <t>When the workload requesting a replacement Txn-Token is NOT identified
as an agent, the TTS MUST follow the base specification
<xref target="OAUTH-TXN-TOKENS"/> replacement rules without modification.  The
<tt>agentic_ctx</tt> claim, if present in the incoming Txn-Token, MUST be
carried forward without modification.  The <tt>act</tt> claim, if present,
MUST NOT be modified. This means, even if agents are anywhere in the call chain, 
the internal workloads receiving a Txn-Token now gets 
claims in Txn-Token that inform if one or more agents were involved in the call chain
and they can do additional authorization checks.</t>
        </section>
        <section anchor="token-state-transitions">
          <name>Token State Transitions</name>
          <artwork type="ascii-art"><![CDATA[
       INITIAL ISSUANCE                 REPLACEMENT (hop 2)
       ================                 ===================

+------------------+                    +------------------+
| sub: user        |  --- immutable --> | sub: user        |
| act: {3P}        |  --- immutable --> | act: {3P}        |
| txn: abc-123     |  --- immutable --> | txn: abc-123     |
| aud: trust-dom   |  --- immutable --> | aud: trust-dom   |
| scope: billing   |  --- attenuate -> | scope: billing   |
| req_wl: apigw    |  --- append ----> | req_wl: apigw,1P |
+------------------+                    +------------------+
| agentic_ctx:     |                    | agentic_ctx:     |
|  proximate: 3P   |  --- update ----> |  proximate: 1P   |
|  originator: 3P  |  --- immutable -> |  originator: 3P  |
|  hop_count: 1    |  --- increment -> |  hop_count: 2    |
|  min_assur: (opt)|  --- attenuate -> |  min_assur: (opt)|
+------------------+                    +------------------+
]]></artwork>
        </section>
      </section>
      <section anchor="txn-token-format">
        <name>Txn-Token Format</name>
        <t>No changes to the JWT header from the base specification: <tt>typ</tt> MUST
be <tt>txntoken+jwt</tt>, with a signing key identifier such as <tt>kid</tt>.</t>
        <t>The Txn-Token body augments the base claim set with the <tt>act</tt> field
(when present in the input access token) and the <tt>agentic_ctx</tt> claim
for agent context.  Existing claims like <tt>txn</tt>, <tt>sub</tt>, <tt>aud</tt>, <tt>iss</tt>,
<tt>iat</tt>, <tt>exp</tt>, <tt>scope</tt>, <tt>tctx</tt>, and <tt>req_wl</tt> retain identical
semantics, population rules, and immutability guarantees as defined
in <xref target="OAUTH-TXN-TOKENS"/>.</t>
        <t>In this example, the agent is a 3rd-party agent not part of the trust
domain.  It hits the API Gateway in the trust domain, and the API
Gateway requests a Txn-Token from the Txn-Token Service using the
access token received from the 3P agent and its own subject token (to
authenticate with the Txn-Token Service).  The requesting workload is
the API Gateway.  The agent is identified by the <tt>act</tt> claim copied
from the access token issued to the 3P agent to act on behalf of the
user.  The example shows all defined fields, including optional ones
(<tt>session_id</tt>, <tt>min_assurance_level</tt>, and <tt>attr_store_ref</tt>).</t>
        <sourcecode type="json"><![CDATA[
{
  "iat": 1697059200,
  "aud": "trust-domain.example",
  "exp": 1697059500,
  "txn": "c2dc3992-2d65-483a-93b5-2dd9f02c276e",
  "sub": "user:alice@example.com",
  "scope": "trade.stocks",
  "req_wl": "apigateway.trust-domain.example",
  "act": {
    "sub": "agent-identity-1"
  },
  "tctx": {
    "action": "BUY",
    "ticker": "MSFT",
    "quantity": "100"
  },
  "agentic_ctx": {
    "proximate_agent": {
      "id": "agent-identity-1",
      "session_id": "sess-3p-f4a2b8c1e990"
    },
    "originator": {
      "id": "agent-identity-1",
      "session_id": "sess-3p-f4a2b8c1e990"
    },
    "chain_metadata": {
      "hop_count": 1,
      "min_assurance_level": "low"
    },
    "attr_store_ref": "https://registry.trust-domain.example/agents"
  }
}
]]></sourcecode>
      </section>
      <section anchor="agentic-context">
        <name>Agentic Context</name>
        <t>The Txn-Token MAY contain an <tt>agentic_ctx</tt> claim.  Txn-Tokens are
increasingly used in environments where transactions are executed by
or with the assistance of autonomous or semi-autonomous agents (for
example, Large Language Model (LLM)-based agents, workflow
orchestrators, and policy-driven automation components).  In such
deployments, relying exclusively on subject identity and generic
transaction parameters is insufficient to make robust authorization
decisions.  Additional information about the agent chain is required.</t>
        <t>The <tt>agentic_ctx</tt> claim provides a container for agent-specific
context within the Transaction Token.  This specification defines a
minimal set of normative fields required for multi-agent flow
integrity.  Resource Servers requiring richer context beyond what is
carried in the token — such as operational posture, attestation
status, or provenance metadata — SHOULD query the Agent Attribute Store
directly using the agent identifiers carried in <tt>proximate_agent.id</tt>
or <tt>originator.id</tt>.  Embedding mutable deployment attributes in an
immutable token is avoided by design: the agent identity already
provides an unambiguous lookup key, and attribute store-sourced data
is always current rather than frozen at token issuance time.</t>
        <t>The depth of context available within <tt>agentic_ctx</tt> differs between
external and internal agents.  For external agents entering the trust
domain, the TTS populates the normative fields based on information
available from the token exchange (e.g., <tt>act.sub</tt> or <tt>client_id</tt>)
and assigns context commensurate with the trust domain's policy for
unverified external actors.  For internal agents within the trust
domain, the TTS MAY additionally source the agent's assurance level
from the Agent Attribute Store for use in <tt>min_assurance_level</tt> calculation.
This asymmetry reflects the reality that the trust domain does not
own or control external agents and therefore cannot verify their
operational posture to the same degree.</t>
        <section anchor="normative-fields">
          <name>Normative Fields</name>
          <t>The following fields within <tt>agentic_ctx</tt> are defined by this
specification:</t>
          <dl>
            <dt>proximate_agent:</dt>
            <dd>
              <t>REQUIRED.  A JSON object identifying the agent whose request caused
the current token to be issued or most recently replaced.  The
object contains the following sub-fields:
</t>
              <dl>
                <dt>id:</dt>
                <dd>
                  <t>REQUIRED.  A string identifying the proximate agent.  At initial
issuance, the TTS sets this field to the agent identifier derived
from the access token (via <tt>act.sub</tt>, Agent Attribute Store lookup, or
<tt>client_id</tt> — in that priority order).  At each replacement where
the requesting workload is identified as an agent, the TTS updates
this field to that agent's identifier.  When the requesting
workload is not identified as an agent, this field MUST NOT be
modified.  Resource Servers SHOULD use this field when evaluating
chain integrity policies and when querying the Agent Attribute Store for
richer context about the current agent.</t>
                </dd>
                <dt>session_id:</dt>
                <dd>
                  <t>OPTIONAL.  A string identifying the session of the proximate
agent as known to that agent's own runtime or infrastructure
(e.g., a session identifier assigned by the agent's runtime
framework, harness, or SDK).  This field is self-asserted by the
agent's infrastructure layer and is therefore informational only.
Resource Servers and the TTS MUST NOT use this field as an
authorization criterion.  Its purpose is operational correlation:
a workload that observes unexpected behavior may share the <tt>txn</tt>
claim and this value with the proximate agent's owning team,
enabling that team to locate the corresponding session in their
own runtime logs for debugging or revocation.  This field MUST be
updated alongside <tt>proximate_agent.id</tt> during replacement flows
so that it always reflects the session of the current proximate
agent.</t>
                </dd>
              </dl>
            </dd>
            <dt>originator:</dt>
            <dd>
              <t>REQUIRED.  A JSON object identifying the agent that initiated the
transaction chain.  The object contains the following sub-fields:
</t>
              <dl>
                <dt>id:</dt>
                <dd>
                  <t>REQUIRED.  A string identifying the originating agent.  This
value is set when the initial Txn-Token is issued and MUST NOT be
modified during replacement flows.  For single-agent flows,
<tt>originator.id</tt> and <tt>proximate_agent.id</tt> have the same value.
The <tt>originator.id</tt> field exists to support authorization policy
evaluation in scenarios where the <tt>act</tt> claim is absent (e.g.,
autonomous agent flows using Client Credentials Grant where no
delegation occurs).  In flows where <tt>act</tt> is present, the
<tt>originator.id</tt> value will typically match <tt>act.sub</tt>.  This field
ensures that the chain origin is always available within
<tt>agentic_ctx</tt> regardless of whether the transaction involves
human delegation.  Resource Servers SHOULD use this field for
authorization policies that depend on the identity of the chain
originator, particularly in deployments where the <tt>act</tt> claim may
be absent.  Resource Servers MAY also use <tt>originator.id</tt> to
query the Agent Attribute Store for context about the chain origin.</t>
                </dd>
                <dt>session_id:</dt>
                <dd>
                  <t>OPTIONAL.  A string identifying the session of the originating
agent as known to that agent's own runtime or infrastructure.
This value is set at initial token issuance and MUST NOT be
modified during replacement flows, mirroring the immutability of
<tt>originator.id</tt>.  The trust model and acceptable sources are
identical to <tt>proximate_agent.session_id</tt>: the value is
self-asserted and informational only.  Resource Servers and the
TTS MUST NOT use this field as an authorization criterion.  Its
purpose is to allow a workload or the TTS to cross-reference the
originating agent's runtime logs independently of the proximate
agent when investigating a transaction chain.</t>
                </dd>
              </dl>
            </dd>
            <dt>chain_metadata:</dt>
            <dd>
              <t>REQUIRED.  A JSON object containing chain-level integrity
metadata.  The following sub-fields are defined:
</t>
              <dl>
                <dt>hop_count:</dt>
                <dd>
                  <t>REQUIRED.  An integer representing the number of agent
transitions in the current chain.  Set to 1 at initial
issuance.  Incremented by 1 at each replacement where the
caller is identified as an agent.  Resource Servers SHOULD
evaluate this value against deployment-defined maximum hop
limits when making authorization decisions.</t>
                </dd>
                <dt>min_assurance_level:</dt>
                <dd>
                  <t>OPTIONAL.  A string representing the minimum assurance level
across all agents in the chain.  When present, the TTS MUST
set this to the minimum of the existing value and the new
agent's assurance level during each replacement flow (monotonic
attenuation).  This field is only meaningful in deployments
that define an ordered set of assurance levels and maintain an
Agent Attribute Store from which agent assurance levels can be
determined.  This specification does not define a fixed
enumeration of assurance level values.  Deployments MUST
define their own ordered set and comparison function.  Non-
normative examples include: "unverified", "low", "medium",
"high".</t>
                </dd>
              </dl>
            </dd>
            <dt>attr_store_ref:</dt>
            <dd>
              <t>OPTIONAL.  A URI identifying the Agent Attribute Store endpoint for this
trust domain.  The TTS MAY include this field to assist Resource
Servers in locating the Agent Attribute Store without out-of-band
configuration.  Resource Servers MAY use this URI to query for
richer agent context (posture, provenance, attestation status)
using <tt>proximate_agent.id</tt> or <tt>originator.id</tt> as the lookup key.
This field is informational and does not affect token validity.
Resource Servers MUST authenticate the Agent Attribute Store response
independently of this field's presence.</t>
            </dd>
          </dl>
        </section>
        <section anchor="agent-attribute-store-queries-for-richer-context">
          <name>Agent Attribute Store Queries for Richer Context</name>
          <t>Resource Servers that require richer agent context beyond the
normative fields — such as operational posture, hardware attestation
status, software provenance, or behavioral configuration — SHOULD
query the Agent Attribute Store directly using the agent identifier from
<tt>proximate_agent.id</tt> or <tt>originator.id</tt>.</t>
          <t>This approach is preferred over embedding deployment-specific
attributes in the token for two reasons.  First, posture and
provenance data are mutable: a token carries a snapshot of state at
issuance time, whereas an attribute store query returns current state.
Authorization rules based on attribute store-sourced data remain stable
across deployment changes, while rules based on token-embedded fields
must be updated whenever infrastructure changes.  Second, embedding
verbose posture fields increases token size without benefit, since the
agent identity already provides an unambiguous lookup key.</t>
          <t>The Agent Attribute Store interface, query protocol, and response format are
out of scope for this specification.  Deployments MUST ensure that
Agent Attribute Store endpoints are authenticated and that store contents
are protected with integrity controls appropriate to their security
requirements (see Security Considerations).</t>
        </section>
        <section anchor="example-agenticctx">
          <name>Example agentic_ctx</name>
          <t>The following is a non-normative example showing <tt>agentic_ctx</tt> in a
multi-agent flow with all normative fields populated:</t>
          <sourcecode type="json"><![CDATA[
{
  "agentic_ctx": {
    "proximate_agent": {
      "id": "spiffe://prod.acme.com/billing-agent",
      "session_id": "sess-a3f7c9d2b1e4"
    },
    "originator": {
      "id": "3p-assistant-ext-99",
      "session_id": "sess-7b2e1a9f4c03"
    },
    "chain_metadata": {
      "hop_count": 2,
      "min_assurance_level": "low"
    },
    "attr_store_ref": "https://registry.trust-domain.example/agents"
  }
}
]]></sourcecode>
          <t>Note: <tt>proximate_agent.session_id</tt> and <tt>originator.session_id</tt> are
informational only; their values are supplied by the respective
agent's infrastructure layer and MUST NOT be used as authorization
criteria.  Resource Servers requiring posture or provenance data
SHOULD query the Agent Attribute Store at <tt>attr_store_ref</tt> using
<tt>proximate_agent.id</tt> or <tt>originator.id</tt> as the lookup key.</t>
        </section>
        <section anchor="implementation-guidance">
          <name>Implementation Guidance</name>
          <t>The following guidance applies to implementations using <tt>agentic_ctx</tt>:</t>
          <ul spacing="normal">
            <li>
              <t>Resource Servers receiving a Txn-Token with <tt>agentic_ctx</tt> SHOULD
evaluate the normative fields (<tt>proximate_agent.id</tt>, <tt>originator.id</tt>,
<tt>chain_metadata</tt>) for chain integrity decisions.</t>
            </li>
            <li>
              <t>Resource Servers requiring richer context SHOULD query the Agent
Registry using <tt>proximate_agent.id</tt> or <tt>originator.id</tt>.  If
<tt>attr_store_ref</tt> is present, it MAY be used to locate the registry
endpoint; the response MUST be authenticated independently.</t>
            </li>
            <li>
              <t>Resource Servers MUST NOT use <tt>proximate_agent.session_id</tt> or
<tt>originator.session_id</tt> as authorization criteria.</t>
            </li>
            <li>
              <t>If a Resource Server does not recognize a field within <tt>agentic_ctx</tt>,
it MUST ignore that field and MUST NOT reject the token solely on
that basis.</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="agent-identification">
        <name>Agent Identification</name>
        <t>The Transaction Token Service needs to determine whether a requesting
workload is an agent in order to apply the appropriate token issuance
and replacement rules defined in this specification.</t>
        <section anchor="identification-mechanisms">
          <name>Identification Mechanisms</name>
          <t>The TTS SHOULD have access to an Agent Attribute Store or equivalent
mechanism to identify agent callers.  When an Agent Attribute Store is
available, the TTS uses it to determine whether agent-specific token
issuance rules apply and to source metadata for <tt>agentic_ctx</tt>
population.</t>
          <t>When the TTS receives a Txn-Token request or replacement request and
has access to an Agent Attribute Store, it SHOULD perform the following
determination:</t>
          <ol spacing="normal" type="1"><li>
              <t>Extract the <tt>client_id</tt> from the presented access token.</t>
            </li>
            <li>
              <t>Query the Agent Attribute Store to determine if the <tt>client_id</tt>
corresponds to a registered agent.</t>
            </li>
            <li>
              <t>If the <tt>client_id</tt> resolves to a registered agent:  </t>
              <ul spacing="normal">
                <li>
                  <t>The TTS MUST apply the agent-specific token issuance rules
defined in this specification.</t>
                </li>
                <li>
                  <t>The TTS MUST populate the <tt>agentic_ctx</tt> claim with at minimum
the normative fields defined in Section 3.5.1.</t>
                </li>
                <li>
                  <t>If the access token contains an <tt>act</tt> claim, the TTS MUST copy
it to the Txn-Token without modification.</t>
                </li>
              </ul>
            </li>
            <li>
              <t>If the <tt>client_id</tt> does NOT resolve to a registered agent:  </t>
              <ul spacing="normal">
                <li>
                  <t>The TTS MUST follow the base specification <xref target="OAUTH-TXN-TOKENS"/>
rules without modification.</t>
                </li>
                <li>
                  <t>The TTS MUST NOT populate an <tt>agentic_ctx</tt> claim.</t>
                </li>
              </ul>
            </li>
          </ol>
          <t>In deployments without an Agent Attribute Store, the TTS MAY use alternative
mechanisms to identify agents, such as:</t>
          <ul spacing="normal">
            <li>
              <t>The presence of an <tt>act</tt> claim in the access token (indicating
delegation to an agent).</t>
            </li>
            <li>
              <t>Convention-based <tt>client_id</tt> patterns.</t>
            </li>
            <li>
              <t>Out-of-band configuration or policy rules.</t>
            </li>
          </ul>
          <t>The specific mechanism for agent identification is deployment-defined.
This specification defines the behavior once the determination is
made, not the mechanism itself.</t>
        </section>
        <section anchor="agent-attribute-store-contents">
          <name>Agent Attribute Store Contents</name>
          <t>When an Agent Attribute Store is used, it SHOULD contain, at minimum, the
following information for each registered agent:</t>
          <ul spacing="normal">
            <li>
              <t><tt>client_id</tt>: The OAuth 2.0 client identifier for the agent.</t>
            </li>
            <li>
              <t><tt>agent_name</tt>: A human-readable name for the agent.</t>
            </li>
          </ul>
          <t>If the deployment uses <tt>min_assurance_level</tt>, the Agent Attribute Store MUST
also contain:</t>
          <ul spacing="normal">
            <li>
              <t><tt>assurance_level</tt>: The assurance level assigned to this agent,
used for <tt>min_assurance_level</tt> calculation during replacement flows.</t>
            </li>
          </ul>
          <t>Deployments that require Resource Servers to perform posture-based
authorization SHOULD additionally store the following attributes in
the Agent Attribute Store, making them queryable by agent identifier:</t>
          <ul spacing="normal">
            <li>
              <t>Operational posture: Hardware attestation status (e.g., TEE type),
runtime integrity measurements, security tier classification.</t>
            </li>
            <li>
              <t>Provenance: Software version identifiers, manifest references,
source code references.</t>
            </li>
            <li>
              <t>Attestation metadata: Certificates, endorsements, or other
cryptographic evidence supporting the above attributes.</t>
            </li>
          </ul>
          <t>These richer attributes are populated and maintained by the trust
domain's deployment pipelines and MUST NOT be sourced from agent
self-assertion.  The Agent Attribute Store SHOULD support authenticated
query interfaces so that Resource Servers can retrieve and verify
these attributes at authorization time using <tt>proximate_agent.id</tt>
or <tt>originator.id</tt> as the lookup key.</t>
          <t>The implementation of the Agent Attribute Store is out of scope for this
specification.  Deployments MAY use existing service registries,
dedicated agent catalogs, or policy engines to fulfill this role.</t>
        </section>
      </section>
      <section anchor="token-exchange-isolation">
        <name>Token Exchange Isolation</name>
        <t>Agent systems typically consist of two distinct functional layers:</t>
        <ul spacing="normal">
          <li>
            <t>The <em>inference layer</em>: The component that runs the LLM or AI
model, processes natural language, generates plans, and produces
tool calls or outputs.</t>
          </li>
          <li>
            <t>The <em>infrastructure layer</em>: The component that executes tool
calls, manages network I/O, enforces security policies, and
interacts with external services including the Transaction Token
Service.</t>
          </li>
        </ul>
        <t>The token exchange mechanism defined by this specification —
including Txn-Token acquisition and replacement requests — MUST be
implemented in the infrastructure layer and MUST NOT be callable or
bypassable by the inference layer.  This requirement exists because
an LLM can be adversarially influenced (e.g., through prompt
injection or jailbreak attacks) to issue instructions that attempt
to subvert authorization controls.  Placing the token exchange
logic in the infrastructure layer ensures these controls remain
effective regardless of LLM output.</t>
        <t>Specifically:</t>
        <ul spacing="normal">
          <li>
            <t>Token exchange logic MUST NOT be exposed as a tool, function, or
capability that the LLM can invoke directly.</t>
          </li>
          <li>
            <t>The LLM's output MUST NOT be used as direct input to Txn-Token
exchange requests without validation and approval by the
infrastructure layer.</t>
          </li>
          <li>
            <t>Access tokens, Txn-Tokens, and other credential material MUST
NOT appear in the LLM's context window, prompt, or generated
output.</t>
          </li>
          <li>
            <t>The infrastructure layer MUST submit Txn-Token requests for all
calls to protected resources, regardless of whether the LLM's
output attempts to indicate otherwise.</t>
          </li>
        </ul>
        <t>The following non-normative architectural patterns satisfy this
requirement:</t>
        <ul spacing="normal">
          <li>
            <t><em>Agent Harness or Framework SDK</em>: A runtime wrapper around the
LLM that intercepts tool calls and performs token exchange
transparently before executing calls to downstream services.
The LLM sees only tool results, never credential material.</t>
          </li>
          <li>
            <t><em>Agent Gateway or Proxy</em>: A network-layer component that
intercepts outbound calls from the agent process and performs
token exchange before forwarding.  The agent process never
handles tokens directly.</t>
          </li>
          <li>
            <t><em>Sidecar Container</em>: A co-deployed process responsible for token
exchange that communicates with the agent container over a local
interface, keeping credential material out of the agent's
address space.</t>
          </li>
        </ul>
        <t>The specific pattern is deployment-defined.  What is normatively
REQUIRED is that the token exchange function cannot be skipped or
manipulated by output from the inference layer.  Deployments SHOULD
document and enforce the trust boundary between the inference layer
and the infrastructure layer as part of their security model.</t>
      </section>
      <section anchor="tts-audit-logging">
        <name>TTS Audit Logging</name>
        <t>The Transaction Token Service is the only party that observes every
token exchange in a transaction chain.  At initial issuance and at
each replacement, the TTS receives the requesting workload's
credentials and, when present, the <tt>proximate_agent.session_id</tt>
value supplied by the agent's infrastructure layer.  This positions
the TTS as the authoritative audit ledger for the full agent chain,
complementing the token itself which carries only the proximate and
originating agents.</t>
        <t>The TTS SHOULD maintain a persistent audit log.  Without a
persistent log, offline reconstruction of the full agent call chain
for a given transaction is not possible, limiting incident response
to the information visible in individual tokens.  For each token
issuance or replacement request, the log entry SHOULD capture at
minimum:</t>
        <ul spacing="normal">
          <li>
            <t>The transaction identifier (<tt>txn</tt> claim value).</t>
          </li>
          <li>
            <t>A timestamp of the exchange request.</t>
          </li>
          <li>
            <t>The resolved agent identifier for the requesting workload (from
Agent Attribute Store lookup or <tt>client_id</tt>).</t>
          </li>
          <li>
            <t>The <tt>proximate_agent.session_id</tt> value as presented in the
request, if provided.</t>
          </li>
          <li>
            <t>The <tt>originator.session_id</tt> value, if present in the token
(relevant at initial issuance when the originating agent provides it).</t>
          </li>
          <li>
            <t>Whether the request was an initial issuance or a replacement.</t>
          </li>
          <li>
            <t>The resulting <tt>hop_count</tt> in the issued token.</t>
          </li>
        </ul>
        <t>This log enables offline reconstruction of the complete agent call
chain for a given <tt>txn</tt>, including all intermediate hops that are
not individually visible in any single token.  A workload that
shares the <tt>txn</tt> value with the TTS operator can obtain the full
chain history, while a workload that also shares a
<tt>proximate_agent.session_id</tt> or <tt>originator.session_id</tt> value allows
the relevant agent's owning team to locate the corresponding session
in their own runtime logs.</t>
        <t>The TTS audit log is a security-sensitive resource.  Access to it
MUST be restricted to authorized parties.  The TTS SHOULD protect
the log with tamper-evident storage to preserve its integrity as a
forensic record.</t>
      </section>
    </section>
    <section anchor="multi-agent-flows">
      <name>Multi-Agent Flows</name>
      <t>In complex agentic workflows, a transaction often originates from a
3rd-party (3P) agent and propagates through one or more 1st-party
(1P) agents within the local trust domain.  To maintain Zero Trust
integrity, this specification uses the <tt>agentic_ctx</tt> claim to track
the chain of agents involved in the transaction.  This ensures that
downstream Resource Servers can evaluate the chain integrity and
overall assurance level, rather than relying solely on the identity
of the immediate caller.</t>
      <section anchor="external-vs-internal-agents">
        <name>External vs. Internal Agents</name>
        <t>The <tt>agentic_ctx</tt> differentiates between two categories of agents
through the normative <tt>proximate_agent</tt> and <tt>originator</tt> fields:</t>
        <dl>
          <dt>External Agents (3P):</dt>
          <dd>
            <t>Agents that are not owned or controlled by the trust domain.  They
enter the trust domain through an external endpoint.  Because their
hardware and software are outside local control, the TTS has
limited ability to verify their operational posture.  Their
identity is typically captured via the <tt>act</tt> claim (from the access
token) and reflected in the <tt>originator.id</tt> field.  The Agent
Registry may have limited or no entries for external agents; their
assurance level is typically "unverified" or "low".</t>
          </dd>
          <dt>Internal Agents (1P):</dt>
          <dd>
            <t>Agents that operate within the trust domain and are owned or
controlled by the trust domain operator.  The TTS has full ability
to verify their assurance level through the Agent Attribute Store.  Their
identity is reflected in the <tt>proximate_agent.id</tt> field during
replacement flows.  Resource Servers MAY query the Agent Attribute Store
using <tt>proximate_agent.id</tt> to obtain posture and provenance
attributes for these agents.</t>
          </dd>
        </dl>
        <t>This distinction is not a protocol-level differentiation — both
external and internal agents are identified through the same
mechanisms (Section 3.6).  The distinction affects the <em>depth</em> of
context the Agent Attribute Store can provide for each agent type.</t>
        <artwork type="ascii-art"><![CDATA[
+================================================================+
|                      TRUST DOMAIN                               |
|                                                                |
|  +------------------+         +---------------------------+    |
|  | TTS              |         | Agent Attribute Store            |    |
|  |                  |<------->| - client_id               |    |
|  |                  |         | - agent_name              |    |
|  |                  |         | - assurance_level (opt)   |    |
|  +--------+---------+         | - posture attrs (query)   |    |
|           |                   +---------------------------+    |
|           |                                                    |
|           | Issues Txn-Token                                   |
|           |                                                    |
|  +--------v-----------------------------------------+          |
|  | agentic_ctx                                      |          |
|  |                                                  |          |
|  | For EXTERNAL (3P) agent:   For INTERNAL (1P) agent:        |
|  | +----------------------+   +------------------------+      |
|  | | proximate_agent:     |   | proximate_agent:       |      |
|  | |   id: 3P-id          |   |   id: 1P-id            |      |
|  | | originator:          |   | originator:            |      |
|  | |   id: 3P-id          |   |   id: 3P-id            |      |
|  | | chain_metadata:      |   | chain_metadata:        |      |
|  | |   hop_count: 1       |   |   hop_count: 2         |      |
|  | |                      |   |   min_assurance: "low" |      |
|  | | (RS queries store |   |                        |      |
|  | |  for posture — may   |   | (RS queries store   |      |
|  | |  be unverified)      |   |  for verified posture) |      |
|  | +----------------------+   +------------------------+      |
|  +----------------------------------------------------------+  |
|                                                                |
+================================================================+
]]></artwork>
        <t>Note: Neither token variant embeds posture data.  Resource Servers
query the Agent Attribute Store using <tt>proximate_agent.id</tt> or <tt>originator.id</tt>
to retrieve posture attributes appropriate to the agent's trust level.</t>
      </section>
      <section anchor="monotonic-attenuation-of-trust">
        <name>Monotonic Attenuation of Trust</name>
        <t>A chain's security posture is only as strong as its weakest link.
When <tt>min_assurance_level</tt> is used, the TTS MUST calculate it during
every token replacement flow.  If a "high" assurance internal agent
is triggered by a "low" assurance 3P originator, the transaction's
overall assurance level remains "low".  This prevents Identity
Laundering, where unverified external agents bypass security
guardrails by proxying requests through internal services.</t>
        <t>The Transaction Token Service (TTS) determines the
<tt>min_assurance_level</tt> by comparing the existing value with the
assurance level of the new requesting agent (as recorded in the
Agent Attribute Store) and selecting the minimum.</t>
        <section anchor="delegation-via-replacement-flow">
          <name>Delegation via Replacement Flow</name>
          <t>When an internal agent (the "Delegatee") requires a Transaction Token
to continue a chain initiated by another actor (the "Delegator"), it
SHOULD follow the replacement flow procedures defined in
<xref target="OAUTH-TXN-TOKENS"/> with the following modifications:</t>
          <ul spacing="normal">
            <li>
              <t>Subject Immutability: The <tt>txn</tt>, <tt>sub</tt>, and <tt>aud</tt> claims MUST be
copied from the subject_token to the new Transaction Token without
modification.</t>
            </li>
            <li>
              <t>Actor Immutability: The <tt>act</tt> claim, if present, MUST be copied
without modification.  The <tt>act</tt> claim represents the original
agent delegation and MUST NOT change throughout the transaction
lifetime.</t>
            </li>
            <li>
              <t>Current Actor Update: The <tt>proximate_agent.id</tt> field MUST be set
to the Delegatee's identifier.</t>
            </li>
            <li>
              <t>Chain Metadata Update: The TTS MUST increment <tt>hop_count</tt> and,
if <tt>min_assurance_level</tt> is present, recalculate it.</t>
            </li>
            <li>
              <t>Workload Tracking: The TTS MUST append the Delegatee's workload
identifier to the <tt>req_wl</tt> claim.</t>
            </li>
            <li>
              <t>Originator Preservation: The <tt>originator</tt> object MUST NOT be
modified.</t>
            </li>
          </ul>
          <t>If a deployment enforces chain integrity policies, internal agents
MUST request replacement before downstream invocation to ensure
accurate chain metadata.</t>
        </section>
        <section anchor="multi-agent-example">
          <name>Multi-Agent Example</name>
          <t>The following example illustrates a multi-agent flow where a
3rd-party agent ("3p-assistant-ext-99") initiates a transaction on
behalf of a user, and the request is subsequently handled by an
internal 1st-party agent ("1p-billing-svc-v2") within the trust
domain.</t>
          <t>Flow description:</t>
          <ol spacing="normal" type="1"><li>
              <t>The 3P agent ("3p-assistant-ext-99") obtains an access token via
OAuth 2.0 Authorization Code flow on behalf of the user.  The
access token contains an <tt>act</tt> claim identifying the agent:
<tt>{"sub": "3p-assistant-ext-99"}</tt>.  The 3P agent calls the trust
domain's API Gateway with this access token.</t>
            </li>
            <li>
              <t>The API Gateway submits the access token and its own subject token
to the TTS, requesting a Txn-Token.</t>
            </li>
            <li>
              <t>The TTS queries the Agent Attribute Store to identify the caller.
The lookup resolves to a registered 3P agent.</t>
            </li>
            <li>
              <t>The TTS validates the access token and issues the initial Txn-Token with:
              </t>
              <ul spacing="normal">
                <li>
                  <t><tt>sub</tt> populated from the <tt>subject_token</tt> (the user)</t>
                </li>
                <li>
                  <t><tt>act</tt> copied from the access token: <tt>{"sub": "3p-assistant-ext-99"}</tt></t>
                </li>
                <li>
                  <t><tt>agentic_ctx.proximate_agent.id</tt> set to "3p-assistant-ext-99"</t>
                </li>
                <li>
                  <t><tt>agentic_ctx.proximate_agent.session_id</tt> set to the 3P agent's session
identifier if provided by the agent's infrastructure layer (OPTIONAL)</t>
                </li>
                <li>
                  <t><tt>agentic_ctx.originator.id</tt> set to "3p-assistant-ext-99"</t>
                </li>
                <li>
                  <t><tt>agentic_ctx.originator.session_id</tt> set to the 3P agent's session
identifier if provided; this value MUST NOT be modified in subsequent
replacements (OPTIONAL)</t>
                </li>
                <li>
                  <t><tt>agentic_ctx.chain_metadata.hop_count</tt> set to 1</t>
                </li>
                <li>
                  <t><tt>req_wl</tt> set to the API Gateway's identifier</t>
                </li>
              </ul>
            </li>
            <li>
              <t>The TTS returns the Txn-Token to the API Gateway.</t>
            </li>
            <li>
              <t>The API Gateway forwards the Txn-Token to an internal agent
("1p-billing-svc-v2").</t>
            </li>
            <li>
              <t>The internal agent needs to call a downstream Resource Server.  It
requests a replacement Txn-Token from the TTS, presenting the
existing Txn-Token as the <tt>subject_token</tt>.</t>
            </li>
            <li>
              <t>The TTS queries the Agent Attribute Store to identify the requesting
workload.  The lookup resolves to the registered internal agent
"1p-billing-svc-v2".</t>
            </li>
            <li>
              <t>The TTS issues a replacement Txn-Token with:
              </t>
              <ul spacing="normal">
                <li>
                  <t><tt>sub</tt>, <tt>txn</tt>, <tt>aud</tt> unchanged</t>
                </li>
                <li>
                  <t><tt>act</tt> unchanged: <tt>{"sub": "3p-assistant-ext-99"}</tt></t>
                </li>
                <li>
                  <t><tt>agentic_ctx.proximate_agent.id</tt> updated to "1p-billing-svc-v2"</t>
                </li>
                <li>
                  <t><tt>agentic_ctx.proximate_agent.session_id</tt> updated to the 1P agent's
session identifier if provided (OPTIONAL; replaces the 3P agent's value)</t>
                </li>
                <li>
                  <t><tt>agentic_ctx.originator.id</tt> unchanged: "3p-assistant-ext-99"</t>
                </li>
                <li>
                  <t><tt>agentic_ctx.originator.session_id</tt> unchanged (MUST NOT be modified)</t>
                </li>
                <li>
                  <t><tt>agentic_ctx.chain_metadata.hop_count</tt> incremented to 2</t>
                </li>
                <li>
                  <t><tt>req_wl</tt> appended with the internal agent's identifier</t>
                </li>
              </ul>
            </li>
            <li>
              <t>The TTS returns the replacement Txn-Token to the internal agent.</t>
            </li>
            <li>
              <t>The internal agent calls the downstream Resource Server with the
replacement Txn-Token.</t>
            </li>
            <li>
              <t>The Resource Server validates the Txn-Token, evaluating the claims
(<tt>sub</tt>, <tt>act</tt>, <tt>hop_count</tt>, <tt>originator.id</tt>, <tt>proximate_agent.id</tt>)
against its authorization policy.</t>
            </li>
            <li>
              <t>Optionally, the Resource Server queries the Agent Attribute Store
for posture details about the proximate agent, using
<tt>proximate_agent.id</tt> as the lookup key.</t>
            </li>
          </ol>
          <artwork type="ascii-art"><![CDATA[
+-------+    +---------+    +-------+    +-----+    +----------+    +----------+
|  3P   |    |   API   |    |  1P   |    | TTS |    |  Agent   |    | Resource |
| Agent |    | Gateway |    | Agent |    |     |    |Attr Store|    |  Server  |
+---+---+    +----+----+    +---+---+    +--+--+    +----+-----+    +----+-----+
    |              |             |           |            |               |
    | 1. access_token            |           |            |               |
    |  (sub=user,  |             |           |            |               |
    |   act={3P})  |             |           |            |               |
    |------------->|             |           |            |               |
    |              |             |           |            |               |
    |              | 2. Request Txn-Token    |            |               |
    |              |  (access_token +        |            |               |
    |              |   subject_token)        |            |               |
    |              |----------------------->|            |               |
    |              |             |           |            |               |
    |              |             |           | 3. Lookup  |               |
    |              |             |           |  client_id |               |
    |              |             |           |...........>|               |
    |              |             |           |  agent=3P  |               |
    |              |             |           |<...........|               |
    |              |             |           |            |               |
    |              |             |           | 4. Issue Txn-Token (hop 1) |
    |              |             |           |  sub=user                  |
    |              |             |           |  act={3P}                  |
    |              |             |           |  agentic_ctx:              |
    |              |             |           |    proximate_agent.id=3P   |
    |              |             |           |    originator.id=3P        |
    |              |             |           |    hop_count=1             |
    |              |             |           |            |               |
    |              | 5. Txn-Token|           |            |               |
    |              |<-----------|-----------|             |               |
    |              |             |           |            |               |
    |              | 6. Forward  |           |            |               |
    |              |  Txn-Token  |           |            |               |
    |              |------------>|           |            |               |
    |              |             |           |            |               |
    |              |             | 7. Request Replacement  |               |
    |              |             |  (Txn-Token as          |               |
    |              |             |   subject_token)        |               |
    |              |             |---------->|            |               |
    |              |             |           |            |               |
    |              |             |           | 8. Lookup  |               |
    |              |             |           |  client_id |               |
    |              |             |           |...........>|               |
    |              |             |           |  agent=1P  |               |
    |              |             |           |<...........|               |
    |              |             |           |            |               |
    |              |             |           | 9. Issue Replacement       |
    |              |             |           |  (hop 2)                   |
    |              |             |           |  sub=user (unchanged)      |
    |              |             |           |  act={3P} (unchanged)      |
    |              |             |           |  agentic_ctx:              |
    |              |             |           |    proximate_agent.id=1P   |
    |              |             |           |    originator.id=3P        |
    |              |             |           |    hop_count=2             |
    |              |             |           |            |               |
    |              |             | 10. Replacement        |               |
    |              |             |  Txn-Token |           |               |
    |              |             |<----------|           |               |
    |              |             |           |            |               |
    |              |             | 11. Call with Txn-Token |               |
    |              |             |---------------------------------------->|
    |              |             |           |            |               |
    |              |             |           |            |  12. Validate |
    |              |             |           |            |  Txn-Token:   |
    |              |             |           |            |  - sub=user   |
    |              |             |           |            |  - act={3P}   |
    |              |             |           |            |  - hop=2      |
    |              |             |           |            |  - orig.id=3P |
    |              |             |           |            |  - prox.id=1P |
    |              |             |           |            |               |
    |              |             |           |            | 13. Query     |
    |              |             |           |            |  attr. store  |
    |              |             |           |            |  for posture  |
    |              |             |           |            |  prox.id=1P   |
    |              |             |           |            |<..............|
    |              |             |           |            |               |

Legend:
- `-->` Solid: Primary request/response flow
- `...>` Dotted: Agent Attribute Store lookup (optional, per §3.6)
]]></artwork>
          <ul spacing="normal">
            <li>
              <t>The following is the Txn-Token at the final hop (after step 9),
showing all normative fields and the optional <tt>session_id</tt> fields:</t>
            </li>
          </ul>
          <sourcecode type="json"><![CDATA[
{
  "iat": 1712850000,
  "aud": "trust-domain.example",
  "exp": 1712850300,
  "txn": "abc-123-xyz",
  "sub": "user_8821@example.com",
  "iss": "https://txn-svc.trust-domain.example",
  "scope": "billing.process",
  "req_wl": "apigateway.trust-domain.example,1p-billing-svc-v2.trust-domain.example",
  "act": {
    "sub": "3p-assistant-ext-99"
  },
  "agentic_ctx": {
    "proximate_agent": {
      "id": "1p-billing-svc-v2",
      "session_id": "sess-1p-d7e3a2c6f104"
    },
    "originator": {
      "id": "3p-assistant-ext-99",
      "session_id": "sess-3p-f4a2b8c1e990"
    },
    "chain_metadata": {
      "hop_count": 2
    }
  }
}
]]></sourcecode>
          <t>Note: The <tt>act</tt> claim value <tt>{"sub": "3p-assistant-ext-99"}</tt> is
identical to what was set at hop 1.  It represents the original
agent delegation and is never modified during replacement flows.
The <tt>originator.id</tt> field within <tt>agentic_ctx</tt> mirrors this value
for convenience in authorization policy evaluation.</t>
          <t>The following is a non-normative example of the same token in a
deployment that uses <tt>min_assurance_level</tt> and includes a
<tt>attr_store_ref</tt> for Resource Servers that need posture context:</t>
          <sourcecode type="json"><![CDATA[
{
  "iat": 1712850000,
  "aud": "trust-domain.example",
  "exp": 1712850300,
  "txn": "abc-123-xyz",
  "sub": "user_8821@example.com",
  "iss": "https://txn-svc.trust-domain.example",
  "scope": "billing.process",
  "req_wl": "apigateway.trust-domain.example,1p-billing-svc-v2.trust-domain.example",
  "act": {
    "sub": "3p-assistant-ext-99"
  },
  "agentic_ctx": {
    "proximate_agent": {
      "id": "1p-billing-svc-v2",
      "session_id": "sess-1p-d7e3a2c6f104"
    },
    "originator": {
      "id": "3p-assistant-ext-99",
      "session_id": "sess-3p-f4a2b8c1e990"
    },
    "chain_metadata": {
      "hop_count": 2,
      "min_assurance_level": "low"
    },
    "attr_store_ref": "https://registry.trust-domain.example/agents"
  }
}
]]></sourcecode>
          <t>The Resource Server evaluates <tt>min_assurance_level</tt> from the token
directly.  For posture details about "1p-billing-svc-v2", it queries
the Agent Attribute Store at <tt>attr_store_ref</tt> using <tt>proximate_agent.id</tt> as
the lookup key.</t>
        </section>
        <section anchor="loop-prevention">
          <name>Loop Prevention</name>
          <t>To prevent infinite recursion in autonomous agentic loops, the TTS
MUST track the <tt>hop_count</tt> within <tt>chain_metadata</tt> and enforce a
maximum depth.  If the <tt>hop_count</tt> exceeds a deployment-defined
threshold, the replacement request MUST be rejected.</t>
          <t>Implementations MAY include additional chain tracking fields within
<tt>agentic_ctx</tt> (such as a path of agent identifiers) but such fields
are not defined by this specification.</t>
        </section>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>All the security considerations mentioned in <xref target="OAUTH-TXN-TOKENS"/>
apply.</t>
      <section anchor="token-replay-protection">
        <name>Token Replay Protection</name>
        <t>Implementations MUST enforce strict token lifetime validation.  The
short-lived nature of Transaction Tokens helps mitigate replay
attacks, but implementations SHOULD also consider:</t>
        <ul spacing="normal">
          <li>
            <t>Implementing token tracking mechanisms within trust domains</t>
          </li>
          <li>
            <t>Validating token usage context</t>
          </li>
        </ul>
      </section>
      <section anchor="actor-identity-security">
        <name>Actor Identity Security</name>
        <ul spacing="normal">
          <li>
            <t>Implementations MUST validate <tt>act</tt> claims in tokens.</t>
          </li>
          <li>
            <t>The Txn-Token Service MUST verify the authenticity of actor context
before token issuance.</t>
          </li>
          <li>
            <t>During replacement flow, the Txn-Token Service MUST NOT modify the
<tt>act</tt> field in the incoming Txn-Token.  The immutability of <tt>act</tt>
ensures that the original agent delegation is always visible and
cannot be overwritten, preventing identity laundering attacks.</t>
          </li>
        </ul>
      </section>
      <section anchor="subject-context-protection">
        <name>Subject Context Protection</name>
        <ul spacing="normal">
          <li>
            <t>Systems MUST prevent unauthorized modifications to the <tt>sub</tt> claim
during token propagation.  Txn-Tokens are cryptographically signed
to ensure integrity.</t>
          </li>
          <li>
            <t>During replacement flow, the Txn-Token Service MUST NOT modify the
<tt>sub</tt> claim in the incoming Txn-Token.</t>
          </li>
          <li>
            <t>The Txn-Token Service MUST follow the subject population rules
defined in <xref target="OAUTH-TXN-TOKENS"/> to ensure proper subject
representation.</t>
          </li>
        </ul>
      </section>
      <section anchor="transaction-chain-integrity">
        <name>Transaction Chain Integrity</name>
        <ul spacing="normal">
          <li>
            <t>Services MUST verify the cryptographic signature of every
Txn-Token before processing its claims.</t>
          </li>
          <li>
            <t>Services MUST validate tokens at trust domain boundaries.</t>
          </li>
          <li>
            <t>Service-to-service communication carrying Txn-Tokens SHOULD use
mutually authenticated, encrypted channels (e.g., mTLS) to
prevent tampering in transit.</t>
          </li>
        </ul>
      </section>
      <section anchor="ai-agent-specific-controls">
        <name>AI Agent Specific Controls</name>
        <ul spacing="normal">
          <li>
            <t>Implementations MUST enforce the <tt>scope</tt> attenuation rules
defined in Section 3.3.1, ensuring agent operations cannot
exceed the scopes granted at initial token issuance.</t>
          </li>
          <li>
            <t>Systems SHOULD implement behavioral monitoring for AI agent
activities by logging <tt>act</tt>, <tt>sub</tt>, and <tt>agentic_ctx</tt> claims in
audit logs.</t>
          </li>
          <li>
            <t>Systems SHOULD maintain audit trails of AI agent activities,
including the <tt>txn</tt> claim and <tt>hop_count</tt>, to support incident
response.</t>
          </li>
        </ul>
      </section>
      <section anchor="token-transformation-security">
        <name>Token Transformation Security</name>
        <ul spacing="normal">
          <li>
            <t>The Txn-Token Service MUST validate all claims during access token
to Txn-Token conversion.</t>
          </li>
          <li>
            <t>Implementations MUST verify signatures and formats of all tokens.</t>
          </li>
          <li>
            <t>Systems MUST use authenticated, encrypted channels for token
exchange requests to prevent interception or manipulation.</t>
          </li>
          <li>
            <t>The Txn-Token Service MUST ensure that the <tt>act</tt> field accurately
represents the actor identity from the access token.</t>
          </li>
        </ul>
      </section>
      <section anchor="replacement-token-considerations">
        <name>Replacement Token Considerations</name>
        <ul spacing="normal">
          <li>
            <t>Systems MUST verify the authenticity and validity of original
tokens before replacement.</t>
          </li>
          <li>
            <t>Systems MUST implement controls to prevent unauthorized replacement
requests.</t>
          </li>
          <li>
            <t>The immutability of <tt>act</tt>, <tt>sub</tt>, and <tt>originator.id</tt> during
replacement ensures consistent identity context throughout the
transaction lifecycle.</t>
          </li>
        </ul>
      </section>
      <section anchor="infrastructure-security">
        <name>Infrastructure Security</name>
        <ul spacing="normal">
          <li>
            <t>All component communications MUST use mutually authenticated,
encrypted channels (e.g., TLS with certificate validation).</t>
          </li>
          <li>
            <t>The TTS MUST authenticate the requesting workload before issuing
or replacing a Txn-Token, using the access token presented in
the exchange request.</t>
          </li>
          <li>
            <t>Implementations SHOULD rotate cryptographic signing keys for
Txn-Tokens on a regular schedule to limit the exposure window
of a compromised key.</t>
          </li>
          <li>
            <t>Deployments SHOULD document and enforce trust domain boundaries
to ensure Txn-Tokens are only accepted within their intended
scope.</t>
          </li>
        </ul>
      </section>
      <section anchor="prevention-of-identity-laundering">
        <name>Prevention of Identity Laundering</name>
        <ul spacing="normal">
          <li>
            <t>When <tt>min_assurance_level</tt> is used, implementations MUST enforce
Monotonic Attenuation.</t>
          </li>
          <li>
            <t>The TTS MUST NOT allow a replacement token to have a higher
<tt>min_assurance_level</tt> than the incoming subject token, even if the
current actor has a higher assurance level.</t>
          </li>
          <li>
            <t>This prevents a low-trust 3rd-party originator from "laundering"
its identity through a high-trust internal agent to bypass security
guardrails at the Resource Server.</t>
          </li>
          <li>
            <t>The immutability of the <tt>act</tt> claim and <tt>originator.id</tt> field provides
an additional safeguard: the original delegating agent identity is
always preserved and visible to downstream Resource Servers
regardless of how many replacement hops occur.</t>
          </li>
        </ul>
      </section>
      <section anchor="integrity-of-the-agent-attribute-store">
        <name>Integrity of the Agent Attribute Store</name>
        <ul spacing="normal">
          <li>
            <t>When an Agent Attribute Store is used, the security of the agent
identification mechanism (Section 3.6) relies on the integrity of
the Agent Attribute Store.</t>
          </li>
          <li>
            <t>If an attacker can add entries to the Agent Attribute Store, they can
cause the TTS to treat arbitrary workloads as agents, triggering
agent-specific token issuance rules inappropriately.</t>
          </li>
          <li>
            <t>If an attacker can modify entries, they can alter the assurance
level assigned to an agent, undermining the monotonic attenuation
guarantee.  They can also corrupt the posture or provenance
attributes returned to Resource Servers on attribute store queries.</t>
          </li>
          <li>
            <t>Access to the Agent Attribute Store MUST be restricted to authorized
deployment pipelines and protected with strong integrity controls.</t>
          </li>
          <li>
            <t>The Agent Attribute Store SHOULD support audit logging of all
modifications.</t>
          </li>
          <li>
            <t>Implementations SHOULD use cryptographic signatures or content-
addressable storage to detect unauthorized modifications.</t>
          </li>
          <li>
            <t>Resource Servers querying the Agent Attribute Store MUST authenticate
the attribute store response.  The presence of <tt>attr_store_ref</tt> in the
token does not substitute for independent verification of the
attribute store endpoint's identity.</t>
          </li>
        </ul>
      </section>
      <section anchor="agent-identification-mechanism-security">
        <name>Agent Identification Mechanism Security</name>
        <ul spacing="normal">
          <li>
            <t>When the TTS relies on <tt>client_id</tt> lookup in the Agent Attribute Store to
determine whether a caller is an agent, a compromised <tt>client_id</tt>
could lead to incorrect agent classification.</t>
          </li>
          <li>
            <t>Mitigations include:
            </t>
            <ul spacing="normal">
              <li>
                <t>Binding <tt>client_id</tt> to transport-layer identity (e.g., mTLS
certificate or SPIFFE SVID).</t>
              </li>
              <li>
                <t>Requiring additional verification before accepting agent
classification.</t>
              </li>
              <li>
                <t>Implementing rate limiting and anomaly detection on attribute
store lookups.</t>
              </li>
            </ul>
          </li>
        </ul>
      </section>
      <section anchor="loop-detection-and-recursion-limits">
        <name>Loop Detection and Recursion Limits</name>
        <ul spacing="normal">
          <li>
            <t>The <tt>hop_count</tt> within <tt>chain_metadata</tt> is REQUIRED to prevent
resource exhaustion in autonomous agentic workflows.</t>
          </li>
          <li>
            <t>The TTS SHOULD enforce a maximum <tt>hop_count</tt> to prevent resource
exhaustion attacks.  If the count exceeds a defined threshold, the
replacement request MUST be rejected.</t>
          </li>
        </ul>
      </section>
      <section anchor="data-leakage-in-context-propagation">
        <name>Data Leakage in Context Propagation</name>
        <ul spacing="normal">
          <li>
            <t>When a Txn-Token egresses the trust domain (e.g., a 1st-party
agent calling an external 3rd-party service), the TTS MUST strip
the <tt>attr_store_ref</tt> field and any other internal identifiers from
the token to prevent infrastructure leakage.</t>
          </li>
          <li>
            <t>Only the normative fields and the minimum necessary context should
be egressed from the trust domain.</t>
          </li>
        </ul>
      </section>
      <section anchor="stale-chain-metadata">
        <name>Stale Chain Metadata</name>
        <ul spacing="normal">
          <li>
            <t>If agents propagate incoming Txn-Tokens without requesting
replacement, the <tt>agentic_ctx</tt> will contain stale metadata that
does not reflect the actual execution path.</t>
          </li>
          <li>
            <t>Deployments that rely on <tt>hop_count</tt> or <tt>min_assurance_level</tt> for
authorization decisions MUST enforce mandatory replacement for
agents (see Section 3.3).</t>
          </li>
          <li>
            <t>Resource Servers SHOULD be aware that in deployments without
mandatory replacement, <tt>hop_count</tt> represents a lower bound on
the actual number of agent transitions.</t>
          </li>
        </ul>
      </section>
      <section anchor="agent-session-identifiers">
        <name>Agent Session Identifiers</name>
        <t>The <tt>proximate_agent.session_id</tt> and <tt>originator.session_id</tt> fields
are self-asserted by the respective agent's infrastructure layer and
carry no cryptographic verification.  Both fields MUST NOT influence
authorization decisions.  Their security scope is intentionally
narrow: they exist to enable cross-system operational correlation
between workload audit logs and agent runtime logs during incident
response.</t>
        <t>Because these fields cannot be verified by the TTS or Resource
Servers, a malicious agent could report a fabricated or another
session's identifier.  The consequence is limited to misleading
audit trails rather than enabling unauthorized access, since the
fields MUST NOT be used for access control.</t>
        <t>Workload operators relying on these fields for incident response
SHOULD treat them as advisory hints, corroborated by the immutable
<tt>txn</tt> claim and other verified claims in the token.  The <tt>txn</tt>
claim and <tt>hop_count</tt> together uniquely identify each token in the
chain and provide the authoritative correlation handle for
security-sensitive analysis.</t>
      </section>
      <section anchor="token-exchange-isolation-1">
        <name>Token Exchange Isolation</name>
        <ul spacing="normal">
          <li>
            <t>Placing token exchange logic within reach of the LLM's inference
context (e.g., as a callable tool, a prompt variable, or an
accessible environment secret) creates an attack surface where
adversarial inputs — such as prompt injection attacks — can
manipulate, bypass, or exfiltrate credential material.</t>
          </li>
          <li>
            <t>Deployments MUST enforce the isolation requirement defined in
Section 3.7.  Failure to do so undermines the authorization
guarantees provided by the Txn-Token mechanism.</t>
          </li>
          <li>
            <t>A Txn-Token does not carry in-band evidence that token exchange
isolation was enforced; this remains a deployment-level guarantee.
Deployments SHOULD use out-of-band attestation mechanisms (e.g.,
hardware attestation of the agent infrastructure, signed deployment
manifests) to provide Resource Servers with assurance that the
isolation policy defined in Section 3.7 was in effect.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="references">
      <name>References</name>
      <section anchor="normative-references">
        <name>Normative References</name>
        <t><eref target="https://datatracker.ietf.org/doc/html/rfc2119">RFC2119</eref>
    Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, <eref target="https://www.rfc-editor.org/rfc/rfc2119">https://www.rfc-editor.org/rfc/rfc2119</eref>.</t>
        <t><eref target="https://datatracker.ietf.org/doc/html/rfc8174">RFC8174</eref>
     Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, https://www.rfc-editor.org/rfc/rfc8174</t>
        <t><xref target="RFC6749"/>
    Hardt, D., Ed., "The OAuth 2.0 Authorization Framework", RFC 6749, DOI 10.17487/RFC6749, October 2012, <eref target="https://www.rfc-editor.org/rfc/rfc6749">https://www.rfc-editor.org/rfc/rfc6749</eref>.</t>
        <t><eref target="https://tools.ietf.org/html/rfc7519">RFC7519</eref>
    Jones, M., Bradley, J., and N. Sakimura, "JSON Web Token (JWT)", RFC 7519, DOI 10.17487/RFC7519, May 2015, <eref target="https://www.rfc-editor.org/rfc/rfc7519">https://www.rfc-editor.org/rfc/rfc7519</eref>.</t>
        <t><eref target="https://tools.ietf.org/html/rfc8693">RFC8693</eref>
    Jones, M., Nadalin, A., Campbell, B., Ed., Bradley, J., and C. Mortimore, "OAuth 2.0 Token Exchange", RFC 8693, DOI 10.17487/RFC8693, January 2020, <eref target="https://www.rfc-editor.org/rfc/rfc8693">https://www.rfc-editor.org/rfc/rfc8693</eref>.</t>
        <t><eref target="https://tools.ietf.org/html/rfc9068">RFC9068</eref>
    Bertocci, V., "JSON Web Token (JWT) Profile for OAuth 2.0 Access Tokens", RFC 9068, DOI 10.17487/RFC9068, October 2021, <eref target="https://www.rfc-editor.org/rfc/rfc9068">https://www.rfc-editor.org/rfc/rfc9068</eref>.</t>
        <t><eref target="https://datatracker.ietf.org/doc/draft-tulshibagwale-oauth-transaction-tokens">OAUTH-TXN-TOKENS</eref>
     Atul Tulshibagwale, George Fletcher, Pieter Kasselman, "OAuth Transaction Tokens", <eref target="https://drafts.oauth.net/oauth-transaction-tokens/draft-ietf-oauth-transaction-tokens.html">https://drafts.oauth.net/oauth-transaction-tokens/draft-ietf-oauth-transaction-tokens.html</eref></t>
      </section>
    </section>
  </middle>
  <back>
    <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="RFC6749">
        <front>
          <title>The OAuth 2.0 Authorization Framework</title>
          <author fullname="D. Hardt" initials="D." role="editor" surname="Hardt"/>
          <date month="October" year="2012"/>
          <abstract>
            <t>The OAuth 2.0 authorization framework enables a third-party application to obtain limited access to an HTTP service, either on behalf of a resource owner by orchestrating an approval interaction between the resource owner and the HTTP service, or by allowing the third-party application to obtain access on its own behalf. This specification replaces and obsoletes the OAuth 1.0 protocol described in RFC 5849. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6749"/>
        <seriesInfo name="DOI" value="10.17487/RFC6749"/>
      </reference>
      <reference anchor="RFC7519">
        <front>
          <title>JSON Web Token (JWT)</title>
          <author fullname="M. Jones" initials="M." surname="Jones"/>
          <author fullname="J. Bradley" initials="J." surname="Bradley"/>
          <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
          <date month="May" year="2015"/>
          <abstract>
            <t>JSON Web Token (JWT) is a compact, URL-safe means of representing claims to be transferred between two parties. The claims in a JWT are encoded as a JSON object that is used as the payload of a JSON Web Signature (JWS) structure or as the plaintext of a JSON Web Encryption (JWE) structure, enabling the claims to be digitally signed or integrity protected with a Message Authentication Code (MAC) and/or encrypted.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7519"/>
        <seriesInfo name="DOI" value="10.17487/RFC7519"/>
      </reference>
      <reference anchor="RFC8693">
        <front>
          <title>OAuth 2.0 Token Exchange</title>
          <author fullname="M. Jones" initials="M." surname="Jones"/>
          <author fullname="A. Nadalin" initials="A." surname="Nadalin"/>
          <author fullname="B. Campbell" initials="B." role="editor" surname="Campbell"/>
          <author fullname="J. Bradley" initials="J." surname="Bradley"/>
          <author fullname="C. Mortimore" initials="C." surname="Mortimore"/>
          <date month="January" year="2020"/>
          <abstract>
            <t>This specification defines a protocol for an HTTP- and JSON-based Security Token Service (STS) by defining how to request and obtain security tokens from OAuth 2.0 authorization servers, including security tokens employing impersonation and delegation.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8693"/>
        <seriesInfo name="DOI" value="10.17487/RFC8693"/>
      </reference>
      <reference anchor="RFC9068">
        <front>
          <title>JSON Web Token (JWT) Profile for OAuth 2.0 Access Tokens</title>
          <author fullname="V. Bertocci" initials="V." surname="Bertocci"/>
          <date month="October" year="2021"/>
          <abstract>
            <t>This specification defines a profile for issuing OAuth 2.0 access tokens in JSON Web Token (JWT) format. Authorization servers and resource servers from different vendors can leverage this profile to issue and consume access tokens in an interoperable manner.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9068"/>
        <seriesInfo name="DOI" value="10.17487/RFC9068"/>
      </reference>
      <reference anchor="OAUTH-TXN-TOKENS" target="https://drafts.oauth.net/oauth-transaction-tokens/draft-ietf-oauth-transaction-tokens.html">
        <front>
          <title>OAuth Transaction Tokens</title>
          <author initials="A." surname="Tulshibagwale" fullname="Atul Tulshibagwale">
            <organization>SGNL</organization>
          </author>
          <author initials="G." surname="Fletcher" fullname="George Fletcher">
            <organization/>
          </author>
          <author initials="P." surname="Kasselman" fullname="Pieter Kasselman">
            <organization/>
          </author>
          <date>n.d.</date>
        </front>
      </reference>
    </references>
    <?line 1646?>

<section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>name: Dr. Chunchi (Peter) Liu 
email: Liuchunchi(Peter) &lt;liuchunchi=40huawei.com@dmarc.ietf.org&gt;</t>
    </section>
    <section anchor="contributors">
      <name>Contributors</name>
      <t>name: Atul Tulshibagwale
org: SGNL
email: atul@sgnl.ai</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+196XLbVprofzzFKeVHpJikLdmJbaWTasVLom5vYymTmduV
ikESlBCDAAcAJas73TUPMe8w7zGPMk9yv/UswAG1OZ2+c0dVnTZJ4Czf+c63
L+PxOGnztsj2zdZxnZZNOmvzqjTH1fusbMzzqjYHJ1nZNlvJLG2zk6q+2Dd5
uaiSZF7NynQJL87rdNGO0zpdt+MK/nM6bt1I45ZGGi+qepzSSON795NmPV3m
TQO/txcrGOLw2fFzYz4xadFUsJK8nGerDP5Ttlsjs5XN87aq87TAD4cH38D/
wbq2Dt8eP99KyvVymtX7yRyWt5/MqrKB6dbNvmnrdZac7Zv7CYxbZ+m+OXj7
7AA+nFf1+5O6Wq/2zQ/fmh/gU16emG/xm+R9dgE/z/cTMzbeLgzvAr+lTeQz
c3CIn5bros15Ywa3Dsv8c4pv4I9/zuoKl9G0yVlWrmF5nxhjZ8YPvPtwCfD1
Ms2LfXP8zVP8kNazU/4AL+ft6XoKEEqb0/QCIX63B/EewLfgxQKg07Tw4mnb
rpr9u3ftABMec5JXVxjqLp/1FU55ctoui60kYaAgPGEVxizWRcFYc3D03cG/
mrcH3x/TDxnvGZeFq/p9ukz/XJWTWbVMkrKqlwDUMwCgMW+fP9nb3X0s/3y0
+/CB/POLhw/024efuwe+eHxf/vn43heP8J+vYc7vxsf/8mp8/PqPz14d7dMC
9Ba8PoAVm/5d2OKn0vokAzgqGAkezYQAMimzyHEIaARyedYuBsFHMKNpLNTo
b2wEZO26MMfrojnNp+nJeVpk8oCB+3Cyb46+ffWi88q3GfySmedF1s5Os7rz
6xtYTlabP6ZNkxXLtEwSvNoW2MlkMkmS8RiQftrAcmdtkhyf5o2Bq79eIso3
q2yWL/KsMWlpsg8tbIJvixkCY/KnLvh/3P71gLmDS2nWq1VVt3xzDVCIFlZq
VnW1Sk/orppzuAJ5mUQIIECD3xtP0yabE+0oqnTeTMzxaeZteZ4t8jJrkha+
fSc04qdZ++GdmRVpvhyZ1AAI17N2XcMwf/jhmL837WkKa0rrGoCYzE7TvBwX
2VlWmGXWpkDTUlNn/7bO8SVci09vFkV1DrQYqHKdtxcTPBt/Rel8XmdwsI1p
zytY36qoLujQVmkLp14CiWyA6hSZN1yTnAOWZKYqMwEXgKOBj2aanabFwlQL
2Mi6AaRhmMEnD/Swy3KedNfYGB6Uvl8VMnIDJ1EU6bSqgTTBNHXVABYBKIqC
4TAx5rAMNtzMsjKt86oZGQRz77gMoGYN+0xn2TwBsGbp7FS2QYvM6dHpxcDb
R1l9ls+ykVmvAPAAmqHDhP3ksI0VgBdfAcqND+bL5bpNp/BDjowLjiRRXNt+
BwzvHQIHhpu1MkyzY4Amwxt5cwrHm7Y+KOEmwnIJPeFkv7lw+ArTCSYjlCw+
A6ID3tQXpuFtAGbQshCgeOSnI9gOAMghCAATVtuYt1lTrWt4AwGQ1Q0OlS/h
oJZ9rraqinyG953wdp43uJ41bMDyxexDNlsTVHFSuEF1tYQH62zWmtM1Ehlc
UUOogps6A2g1tFKf3xZwmWDEEPnxho1Patg1nu8apAJ8Jy8agh2MsKrgOiCO
0sVJZzPAf0CjI1gRXhGaEjjKqsjTcpYlbZYuG3OCUDzLm3yaF/gQDFHRaPPq
vIQ7Cw+ZapXVBIC0gJVU7aqWiWA7unEkDXQl//vf/4PeR14Hp0HPyaE0tARa
XQMiTYb4CkgK21mDtFMjkaArGcACx6OzwqNfVQ0QvnJGOAZvo8BDdAVPBwef
VjgUoBNe/YaOENcpi6TpJkLGhXrPmAgi2anhOT6M7AOfrY+wMKbQuTlAKfmT
sFePgMPGkE+8z+oJEucJMJ+7wCzuIi2+Wy9m+PgOwQDnSPhaRMY2f18ugaSm
BYEW9l5WrazDlNk5y30kpjUocwLyITHBj18aQD/GC/gNoVtnxUUiZDEAYYxQ
NWtEQQKFkCw8qmSZwa0u82bpoCH0CvlPeGLCm5f5fA6SAIiKh2VbV3PBheTg
UAmtrBKvclVWy2rdFBdKcZm+Nm22sggMd3OZvif6V1UFERDGW75QuCMfg3HH
1boN7ripkJDkJ6etpcM4BcCZEG8GaNgSotWZ2xTcxJUQFgVdElAfVDzq1LJR
Yw9MWB0M/zyvm3bUIVru8jGZoNUX6QVcuNP0DA66MhbuSPwCskYkCOh0QguD
QU/yEhY/Z8KWhts+eHPIBJd+RC5KbwHeAUuHWw4brtYnpygtucMIyHlDt7Aw
p9UKUYBgdoS3fI67ApKXFNUJQDBdEQhAU8qBgq7hDUujGjOF4yiqJhM0VIIs
rCIREAPW5SUyZ0QwfNoboZoByUS6i+eOEhI9wELABKlHDetp4nTVMF1V0J6n
FwhUoksAv8SjWVcjs0pPAxqW4LckjZyArFqaHhWGqw/nS3QYrh6SvL50t338
oRzzv3dQRzQNYE07LmBE3F5+gvfvD0evX5kfsmkiL/1JFIwfRXaryrPswvJ8
vigB1grYJ8l31TmeLksvBF/YnV2CYckbEHP2HmjzerFATutJrPC7Q2WPzhDC
MfYEnNtnl3J3SSKp4VJbPh4TcIkIIN4ptSmKixGSO7xwCV44FFgv3KEYX3DV
5ZZZhnyoe5/4nJJNYoIICEW+zIl+TitQJcIrjYR4XaS1g7hIA7MstXw8EB6d
ANxMumqMCO/masK7laASKwP3Kbwv15uoXI/HuUGcR5ZE9hBPyTqFJ/rMOWEG
uu2zT2XNzGx9Prvtc/C/K5flK7ZueIk+0vnSDiNfV5nJhbUhEUd9Zszke1nN
s8LhcCBACx6CGvsZwFKv5wt8b5+UtwAqwIRRnC9bFefhx58RGYHGwEdUnL3B
nQzji0f9QWRVgAs4QDVt+TLiT8JJCrmZLGkwiJwmIfwC2Wt/EXBBFlmbLzNi
qzCvqBU0xqparQviUyshg/UahH0c4jcTswhoN5YaAbJwEdAyUaCyC4f6RCiN
f6YRbS1yCxEM11Ww9/1jI+EEDTWsxHzIlyRg0WvCCmDKEbJxokooTrHKg8LR
inkcrQL0vOUaxd9mXRP3pAXCkfbUMl4noladozHH8nMYZrtZo67bBCwUdQUU
EmBbqGiBDgHj75ij715//+KpAalGaDhZeHGUg7atcxAeYE6U7YQeg7C4bkKM
5i0CTaobAS/RE8RPVOTwzEcG1nFKuAdbRtkYh1BT6jhbTrM56Sk6Z9PXc0lh
vbqCS3ekr9+ylAkSE3MGOBemCQfEM2YoKNVGdT5AiH0UpLMaIejLuXh4yxyl
ZuHBuN0Z7A0Esg6v9VVTYgR1tiiQmJyfZgST1Aq9RBf0zC4TL2mrqAjTb74M
SbgY1cCZOJh3OnQFl2z+bmTeWbT9iV6kbxWl3wHe/jQDiQ1oG5xyMfePWY7B
CS6ixSuJ6gmcKgrQ/cpAzC5PQDcWMMHUdDt9FZ6AEmjxI5Lzf143rT6Iojag
SQbiJVODA1889BT6fUNY5Ww1ETMDK0OKv6S4O6mK5bV37YfSUpRqOaWTRgGA
rUnHRyKewxiIENtHGU9xf/Jox6LiJu3d4zQkS2dt1jlKy3TEqFALhWgESLAg
MSPgIH1LgqpfKDE3l0jvNITYEkTzII50loNWzCvdZBW5sIIeDKMyZUC1x+k5
8qlArNvvEz28YBkapWeZFVr5nFCHOUuLNRJeXA3gNhG7haUKeNpyghZ7BMJW
XJfHgeVm8xyHwheBERnzJjB1wVZBGrUXEsfw7iQqXHAagMkoMdSC2rh0INmw
SJKRrV6YEqUcUAARKKCboT6bI8CZ9HavLw4QvcF8fYGr/GQ5yk/EUd5ZRR01
XTLzVIrwhDVMoBWnnB6htoZjZ0kP+Y/KGmQA1ssgTIaUQCvhJKgi0167nAZg
5oHK08bpmOX2IFGtkp42IUcmOkQJQgd/rbZ6+ztdnyqRDfJDVgrwFCpy2YF2
sGQr9A+nWan7SiznU2M1Xjdyf9B4pCalK7hLmRzr2Jo3iPEl1vRD8ljH7NX2
zHL+/DJdzjqYXck8XICewKIqyPgeNx4lPL3iBAjS/pRPnbJkH+mfXcJn9/Lg
X4FH5siFRejsiGGMwta1RN6SGs4aDjWhM7NCA2A+Y6fIXm2TFQuznU1OJnGO
RWeevJsVqCn/xIzN5104umdfM/T9jiqATlYYMH46HtcxPQEaMVYyGc0CdxLQ
FDW+OekllORVhgGRYYX22OSTT5AwniHU0P6CqHqMJKesgJtcsDr0PrtApAZm
vPXy+6Nj9Ibj/5tXr+nfb5/90/eHb589xX8ffXfw4oX9hz7Bl9L9y7355PXL
l89ePeWX4VvT+QrOeItpy9brN8eHr18dvNiyCGv16JQgY6YZSc01ELGWsXOe
NTPAGUbyb568MbsPSBFAT+6PrBLsPnzwI8pH7EQCQRHETv4I8LrAO5WlNSmO
xJxXwI/Ii9Cg0ea8NOhimqAVNACbCAXjg8N9PBOVEeiGzsTWRYafatEyP/J/
IeoD/LfI/5wlL9D1C7oGkB4UGV6i6tmY7RcvXu7weQGWlbAikD8aeHlE1CZ9
T9yZh/PCGoqLBAAFgkoOiCf8/sPIt8aeVLA/FjBIR0CbYGhahd3+ICRuPzko
/eFpxHWrzHld5q1aJMrQDAzMLMvPMlVkyEiUl2eVgIAPA98CyLEV2fsVMb0i
gdb5RZNnH1LcDf1ov4a3ZsV6ntF9QCkZWH7WkadHyRLWVSAdnoUOk87ls7+p
0gNggSNhxwqSOrIfEBF/SkQcwEPexswKWs0FAHmJ2/POm8JK3JIJYBiPANBJ
AKCwOic0kSxyMUEX5Qo943iZ6TIs0wu72RTEpbpdo/0MLZ+r04uGrWkwziqt
Sc4H1RqnHKFTEXYj8GGnLcrLSGE96CIdcEv0DFBut7SEKR/U+0yuklqeV2vx
NyZ0RRdAGBFaT/BWPTkVWDVo8kYeRZAqZ/BuiXKKf/Si1zSAscJ5SY6yT7Ac
SCSWVClATJLtYbJn+t0z+Q7ntAszdmFISzpbC2YVdu3mTMggbPm+x9L9QSYs
BedM6xfoMejolIlnUmXftTgBgM+lNRsQexY/Z0zeIRiK9fiHY77EKRuXrdFm
JGoTsUbnOvaYZDoVbsEOdw83R8ksqxFNDGLREoM4Gl/w5VtrBQ/hQegkcNq2
/zyjlcfsGjbTIfxFPieDGOOFGGhNz/wcBYt41T3w6FcMJlxkWtgDGDgzPniU
nWDlzmqPK5SjQYOMF53xDJXAYASWQrx3iXeSgJp9SMnMgQ4b4Bt4R5PecifC
TbqyK+5CXjJ1BWeIngnySlnJDk66rYAAeajNTg3YE0pPU0SwtCCSmDaJynLw
5QkIIvXFyIIH8DyFyUZCf+BWgVaQEeFCpcvJ0M6TqG47RK9hIfeQ74BEiyzW
JfOsfVRWrLIks6OhcwZyCMKTqZajSEQt2e0o2mqOAjLfhqRj5Wp21CRm8ZKt
Lf4M6XyeCx9z2JtssHeN8DmMrCAsxP9fe+EGbAWzcv+O4D4IzHgSa3GaxbUU
9GXgZVuie9jZciIYiFfIHiPrHUb0DrKihXBQo3gSV9wAs2aiYMXsgrjurjGv
u/JhAx7T7qhsDSyro3fiNtiK3dUBu/EZHX/NHG45CtqNmKPYTs4cZlApBBh6
Yigq2aT4qL0WLuSrqs3IpuhkPrTecTwpgv3w4NWBZdCsG+GzZkuv1lYys2I3
ceY6W0gMTEpRcs0KryvsroH9LlN7B2DhbBNokZd69lCcFu0ScJVEcYEN0jp0
TnyXDUk0wQ6bJ1JQyUrkDIAIgLQIHLoLarUJozXWGNi1FYXbFomWZ1U+Vw9l
UeQcEsaIqNK4uAVKZkc6q/ip2JySEJcgK+xyBeQRMCPUDllEblDWYZnKsKSk
kKyFjRBV2wrJ2haF8aoOT2DdImxGb3BLmnSDxrhFzrYcWgiS2EQsjnN8RowS
zM0dHeEbYQlZoIIkzjj3xWQP8OiNNeETRPeJJogVgTzfyv9nKTNG34Hb9/2h
CkSKPkpfKMM1ZOwjud9GqHF8Wxp4HKy9keSTxN1XMXrqnOhWULc4Mi0yYjet
WrHViJNMM6Kgah2UUQjJhP2HajeRF/FhMaTI9NkhDmITxiECRR8A+dq5R/qg
ZB7OcW0CRN8Yy/LW9IKALORKwuCKISizSDDXO0LzfNo48x4AUUy/uB0Rs6w0
TGYNkF58C4E6vz04JMIyPWK4AQSHJaA90Tb2SxEA7PURgicBjXxjWKhdl4zC
oKayW9NSjwR1zJGqZ2gIK0G5A56mOlmjuqcwOXaUetE7QMlhr/iS0N/cLpId
qTaQCY0zaA5zSIAxBcTDktMUw23gXRSJESlRYy7RtCfIZLUj5Qr6PaAtmpKR
Q/KeGU6+UnctYLFdPNjjSLTAJhGNyhzefT1S23HT0dzIOceqJfADCnIlKV3V
FRdowbqccs9B+dbB1dtUwsClsNQGtsRCGLJKvnbpDDiZhKXiYqz1iywgciRJ
YDawBuvwAAHn9YDRmGTeqMSJ1gK02ZOFyV/9c8DzBA3AzFyEICqVZFQUjMM7
yXKeE2mc2uw8200sEgKOIGc5acaxq771ASBhY4vF6YOohx6SVVq4GOtAg1Ri
TNN50TNo7hS3rF38fI2uu9/M442ek5Ml3yPWAq0wy34eJzwFvmNyyozI/qWg
BswZOdDYByd0sCIHuEPpHXUjZx1DYQrHIyeTnPdZSi45Rjt127LjJBDcvKPC
ZXxijjhoYnxoiTyjGZmwUzFgaWSFcgLGNXUSsZBmT5PiBpuE4tH2k2SXccIN
gSaOxhNsPcREygV3CBVqDBpJm/ewyj0eoP+whjlGLBYmwENycTpUhHtO9lrJ
eIALXID+dYLq4v2huRBniGfQ7pnZ2RH2JvfIFx/EkD0BjsA28T9JqsuPQeCI
rNH/ShGMLqYXgO5s5TZepKEgkT9JjsyPKJlYX6Q/pLEBLg1pt0V2wr5qXNg2
n658SwSzsm7pHXKMoGwnS8L9+rEzugAKDQHYPRi6/JQ6JtKeGC/n4SJBjkTF
FK4befraxqJLq4JDG5g7HAk/8h/Et0XXYFmXDMUSjPVbRCknyecMld7SUeHI
5/YuBZiRJF8MvaX+miYEyKeNHxuFYHDX0UYS/aaQMC6Ai9CcUAg9Eaqdzw1H
llUiuQkG/ESjvDNOf7CETZgKgOvhRNA/RCt7l0LMHcWRiW/fKrdRhQ7VSTns
YSECnR4iwZJ3iIPw06SBrdjXN84H/HZJ8sguHQ0aKK/ZLQyr2QO+1xHfHiWh
eOOLqnq/XnnGBJ+YWBtwiH1GiUnwMGooBVmbKjKgoEKYUbxx4MQkjhMgaSTA
K7TnztDVyYyTOaqLlfUsXiTPwuBkWSWjrlXxhByz8td/kyAMUvCQyYJI3lma
F8yx9Syu5iQlkMf8pGbIT6q+UQdbWkATteggCXk8RAzEuBpis1UorYVL4jnQ
yAWj/e1vf4PJZjkosHWb3BnL3x1KM7wT/dT5ov9j8ov5jliJ+YV+g//ef2Pc
J+s+0C8QvvZRPhf4Jwwj5Fx/45/sMMpR7Kvuv3isfKK/0KbuhCu9E667s5E7
sR8TN7r963y85OdfZIhddDqh2HPzIUgYutUqxv7f1zdcxYZnbjYECHfkyCJR
+6bLYPLFnOKGQ2wDuxmhwrNzw1WMN8L37wbP7mcQyt4KlbzxKhxtufEQ28ER
3TEBc9+50iCb4ft3A2jnI7DvF8xib74KywhuOsTE+wPQ/FawYA78FVZxuOEQ
v/N3MvnNNgIM9xBZ6y2GcJdm/8ZDwCX5iqSdm68CCNpXf6Fj+eutDpVFnr/f
NftdcNt/jcuevMhgY/P9ZGzeAT15Z44q0Mf2zZsaJLD6QuWnu2IGZFUeHwbE
hKefVuhFwuhXcRCJoL2tmQIj0o//6z/vT77YQZmLPV/7IKJkq8bcN9vWdBCz
G3yLWauggX+ulFP0W1EaMZ9lZL4grqXauI3o3GEz6UN8tbXhz6sLylThGJIy
TD5EXxaHZInZfJ6nJ3W6RMcR/4tsOmaPnvKdHBqz20YVf7aflV1dv87S+QVa
6EEenn/JFvQB0wkH8lrzOGVmcugGpVHQqu7voMZQsV+PDHMzTjMTC9eBi9r1
TFtx+5M1qvs2z459i2aVfEtn3+qP5YxlbMpy+m1KAfloLKfyHuimnIOCPhev
O5oubmX3ItQidVZNWwxNGwpzYzOXeUK8Csd+ArofPooxb4Suzs7ljEH9GcgL
2tPUQWmhoBQfj3yrnTOk/K95KTAvDRqKNpqXHv4PNC8958vUjdGXyiN+5uCw
1Yli9DcbnpQxaPRfe7HiAEFGDmtstfQF/TxIWZ31/9FHtlblbQ+DGR5yWyNX
lYsGqN8lvIq6IZesHzcAj9Qig76ibEHRNsFKNdJ54H22bFzb+DWKWrhsZp9F
4NBWk7vQOXbvdWPxrd2bTekbzEUbbUW++evqMfUdWxGnZIl/HzjMvdsbgHwL
0IAJ6Po2H7N7MyPP7aw6H8GMc3W7zTPk03ev8Y7l5td5B1Ds5AQjka7zjmcQ
uonMfcV3QFQQKnKNeZDgKKm56jvbJ1l73f04q8LOFd+5iZkmVEZ62sjA2jY+
FH/nQWAMuzYMrm782i4rtXX9inAzmx+62jufX9eAFSjf13jn+iaqm9ikPs5N
fXyp1ekmZqab2JU+EuW51HJ0E1PRx1kbcl9rDbrqPJdafwbMPanlkld7x7/I
14L1JoPOzeB2fZPN5TYaNpkcBqWXpN4VC5IojU1R4CZIhOEMVSmR4t2I6Lzs
CocN5WdzWLVzy00SNtbsqbHGqtNsfGFKEZhkHrJJxjfGUIm3R2KMUTOMuZYZ
htZh7rP1hX7h9Rwc2WA4ipvHBGAWaUUG7KXtTNgU9cknGCxpAyilVG4/gcJV
+7O1GKgyFLLqNIjBdK9202Ozvio46UZv/pq64ScYsT3mgKnyZOxNPW4/4JM7
k0i0NhelmKtVIVyuGLbCXGEMiTvLAcVs7JTLLIjm/aqxIhqDl2ikI62hkrAp
DOFxtbdsbhFqRJIeqi7xNImfjlU0UDifstbGpeMY49zonGX0HFSdteRRYD6E
n8nVtGnRVXJscjZXm9TqU1pNg7VNymsKCyV86Vd7khBQWwwgsRVdXBUsq7b7
ycOg8kbzMRJSRTlGndJQGD8MRceWYy2lAFSkyTBLQ0PN7yfTDM4bDS2HC4qf
siVZbZQqx0BvWGFylRWSKllqHg4tV6vY+QcpJ+Ydk0ulQ53fnZa8peeV2PPi
9fbPyVx2TgnVJmGbqk89CNufWMX6sIvsnN7irK72WjgNdZCYdBV1l2i1jeZ1
LylgpxuFKMn6q1VBhcU0jBND3PDBfn59sAR6m4vO2LilEVcUkYIN6dqF41lL
xzST+B5YLa0QpyEbrz/TzsQN7NtT8oUGcY+iQ068d4IgqqHyU1LkMl6Cytsc
8KXM1V4qOf90SrkZWbmmgEG7m+GtwHn+dF7oOLQBGINK83JRTMwIL21gtmRG
eJFclJ0m2PGpd/L1yAtgwmSV1GyPdhCTkfVROQeCMWfoYu0kKaAVrcBpId+v
O9VdMyazcE2GfQrGHcur0bIGlF2gI6A8IUzYS9yqKGTasNUNi5X6V+CEzf48
DZCb3ixYHRa2QNFYcOgWVTBMM1y4zEJ27wbr/ERXTFTC3XcZ3luvDCPx6xvX
25Wz/LUSZAaxWyaxOB6MSMTqJyVWE4+Q6o7zcsbWeEaxqswCGHYGiCbrxWEp
6wImLbl89v5xfJ8uAEGjJcEEUrYWKg8RTxHUykAIVjUUd5MMGa95FVXtGaHj
tsltzMYHQRnLJcjNlSt6Cc0GOfuj0208XUe7k2jBE4Ih37CB+xopeNin00M1
UTAeM1oc0qGiy0gHuhJkG48sImgdLWC952k93zDbIDlP4uSc5E6srwUKDXoE
8RVNxcWs3PKCc9l7edsjk/CqRb532bwsVPLZuPMoAcAgtDcmEY4FI3oWY87y
orB7WAGmp2kdA1nNOa/iDCNA5/3lJILMF8Q9QFD0M4DDyqqn2ex9IxgpukaL
tvJjW+4dFhkaqEUfPHx1eHx48MIcHh19f/DqyTPT/Xv77M2LgyfPXj57dWy2
Md9ub0ff/arz13u3+wD8Jcmdce/vTu9NE5jFffN4g30/NIBDFFz4yePW4/HX
JvYcvAyItG/+cv/NXy95uf8cvAxiyj4oxrPx7t79TS/3n8OZ1/N9jp8dz0FZ
GJ659xzuGUWJfTOV/E/7spUkDG+59xi8y/IDLGiVn5x7q2axwZCNzXQeG+2+
Mb/c9qA8ErGv4Or/xZ5DJ4hlrfs26BVXzazYrtp/jN0m+K7jmPxyH9T0bu8x
fNcyQxjQP2NliPKu99ieXbPlSPsUsbITP6X+Y7eDtNoeHOV5Tr4wNPR4Nc6I
uGAVjtMsnWu6e5w97INIfrFiaQB0NRLQSbe78/N5C5K61vHIT7CEIZVj8sQx
rUjw7j1ZezolNabV/EKTwbyaXCwponxnSwl6WQDJNgWy97jLCvNWw7Kxthxt
j0ElLrtMK1Eb80wrXAkFL/L3mSokqp6gTgL/lzfNu1HyLk8RBO+yDyt6hIR8
1GFwIlFiVGSvM3LQMmxmlEy5TPGfzcgzZjG3lSxMRlE2CZ2sU/T1ZEF1tCQa
BUBppEb6WlDZoZFf5ACNIffr+Rgk+VYqEpJiip9tAjT1Z/LrYJxq/AeWmPyW
S0wq7P1MgJGFOjyY6IPx5ERrKOkZxVyqcyfTSmJP7KtwVV05CVwi2vbC0JNt
LLHnBd149Sl7xVdExogoS5p57m1f08sUrJ4aLe0J/AQXzlRJogkhkrCtF9Nu
iqphtWGnGQQKcjKbgEcnLIZLFBfUNMglSkderq4GzqH40STb7zwNYjRkM2FF
HKTgn6juwk+gzlDGBMoPPzcgPf4FBIAtuAdbQCO/ePzw3ueP9+7dw7iHLbgq
8OWW5V+IS7LcLXoAro1763N5C64bvjXbm8/uP368N96bf/H5+MGj++n48f3p
5/Bx/nhxb2+29/ALGQVOG19AmOynBZzi72US7JMlj+DF5LUAuZvATkBC4p/4
euJvyOzkYIeXDMcBz/6FhB6dma2UGn0y3sWmWH/lvQAdcI+zdQDf+Ob7f6Xh
8JEcSzzjly+Pnh/rt/+2Tmkw/H733j03okfJ3MAdzdP+gAczj65wpL87FMDn
8NP4/mq8eJDuTR/NdrPHj+9xi6+/ysIcm/w1ZwlVSn8my2oRcez4EdTFiUDn
CccN8XjL6/ym1TeiR3+XRXQ6heSvlsdq3Typ3dplbr28zkiOll95iUNH0YpO
RWovbFH4rDzL66qUwpOkrXjWpkaKo1LuP1KepKodicNwR6mbgrnJzseDtVuy
JUj/3WAus401+C3jiBX44/p+UqZeQ8A0VRmmBw0EO6MBnLX6AtVlGs9r7koB
Uy61C4QUNWh2uPIHyguJZ6ce2SLZ2QcgYw0VOkeCaJOd/RYTVPohnyW+Mc4r
BoY0uvR6SAB5XabA4utqSjWUB4vzHDhdK16LzK9Vm2tRcrK0DNnBrNsnddX/
vL4TthK2ZsMHJcA6nox4MRzt35AmWipRKiTbzoFaxXpjrffE775w5fLrwLAu
KjiRc65QlniFsl2+HhZruWrJqkRLVgV1252RHceK13Dv2nCSaxZwj1r28JJ1
nJ4oQFL9dhxUlQvPneFVmSOKkHgmZbXoUIEilh8AN0Ck3u8tD1Fd4rsdDpVm
XabLaX6yxossgfIgikt1/bCO2JjPkCtDJjhrAUyvsXV0/BL1IK78Ga9s6wkq
XBCb7duI3rBHoDZYvknO3kbvKdaGF2CeL6ia1DRrz7OM/YBkYrGlR+gD0RWJ
snSPnIj3Cj7r4fnCqjN8hXG2PZy3zi3vQidu4ZdllmL3HIp3RTxw/uwdMtNw
jLkr0o/2dOy/WgfSpy81f9po7TokvusS7hYLkm7jMySnAo4OkHoV7HrAQF7k
DEZYatMruxa3jDpJNW4JRVqBJa7weC8t0MaVhdPmAgDRUuoHGcXV95uy1/tU
SzH5OcnqOEtQsq+YwGCzni5KiNohYbKztESdhuBItCCvk1gXCJG4G2ARgMcn
dZaJ4eyVRZjnhDCM6s73JWgURXBkyEGjMiCAoU6dJB2asp/so3WNaxUjx+EO
S5XP5BYXIbmKFeHSeGO9yzb63laF2lh765gDtGVaV3Y12Drg/Zi3zy6bfE49
WbsbwMLvGI3bWXunMQg+qlVPCpHnlMg4/G0ywhXAIfYBybH1yvZRuK91zsR1
re2zPHUXeDSA3kxDR5I/An9+oj4yGy2/uarzirzS6D2od3g/1G3BN6KT2OZ5
puIa5qXly9ni1diBQoCkbafWF8LEr5XeCVg2wdyby6fbmTb4lSLygbBkriBp
xyADjvQpcIsZdPOnpbxCnF0RaZAsqUMnFEicsKZ3w3OvOQVFUVkLem9CZXXn
idHEYrb6Btkw0Zj3JdKu7hHhd1rckGh6UCSLh9BqZxHPoa0fqsYGHVfGtHcA
SBvXUj5N65K6hsBsR0//uKNiI58JRWgVizG2yKxbO6y/F8SrsD4Zl/Iivt14
1NfjqWRtwN5EPE4PQdRaZH1ViFoddLHZA8Z0fR2AKHDlKzZSARNd1yskinko
UM4qOPFCSK+M43CfexhOpdLrusw+YEslhIDEG1HtaK55TVYdtAgqznKbTtpE
3ojf0rL4Dq3jQyfsydKlaq+2iynzP4w4AVQpqpn28KDVY4okSZYWE0phazyK
j03UDBH58zybrk9OyPRTw+X3wliOOxfaXmbrl9/s2J6vWejv1giUURrBdayR
x8JlwPE7F0cvZPQCwQX1bPM3YJP9AovEJLs1FsWe9muyPq9NlmV+eBCyXVvU
hizfSrNtrccgYodZOeLdMD0ePCSRIvuNrhUlu+GcZASMoQEVirYCFG1Ab3o3
XMEFcJDvvgmakAeXmiVhvR3CJRjjbbNrtYN0jKxesCpRTkc0wq4y3IGb9b/B
DC6eoqxkEBf0yomparLwu3nbkFkb7eBIaBcYSiswJ9MmhAF8QXKw0klwUy29
aKh+nxWXmW/y6Mapc10tTJcRiKo1bKmeF1KuUqs3sxDuLoi4pRVRu0HAV2f8
jjtHjtx10KYSe1qmqtuViN3hQvUsSEfkv8hR46g5HM2PdoxjC5B1GQcDsQhv
hkpJU89J3Ey/9rMMcYnVgbOm+7KId3YfURTpNOS7pTDirrRlcUKlLGUtuvaB
G5KmkVnmdV1Z3T7wgdnYrr7l5diqjVwmVjszr9jAYluCWcnK+uEQFJviwNgC
o7tW/hZIStKNoyvyDEs7Cs/LZJ7N0o6M4sk86C+iSB9PuqlqK19hCji2dBtT
EWoqWOkW02NOTpRkgSJacTUu8xLzAqKBuoaUPUwjHDdJQkP/Zu4uLNmGLEtJ
bqsv4ApsFBpjRIxx+9o5M3Hnvo/wclFIstr0+piW6+WUIg5516qUeVE2GsUj
8o3KGUccubjrXZ+O5kucJYi6o4fjaqV3iMPJt1bgGKDUIbvNfHE2PUFJyG8W
PFbrxjL9QFF5AEIZgPoTN4wBEvUeIrGzqxPwI6ajTXSvdwgDrUIVHbmfO7pF
xUykR3LqtTHzmbW9lPamtwwLMTkMxCEqqFzEYUdx6sYdCgHsnShXDbVRhjqK
H2vYVdsolNhrIRnyPmsrSLWlM3VbRWMFHKC4BLotKLivJ4BIvFcyyABnQzOL
lEIWLtMZDUPWLA9whQEG/BYaKa+rhZ1+yJz0s17axqC9hUuPgU45fu84ZUzS
nAxbFB0gtOcjSJgNNl2WMvkw2quqHMsIzpKcaU8n6WyETmhrucX+YOh/hP/D
JorrpfOGnuYnp1uA/aE3kohfgPLfvz3s8fn4CdhCHVRFWzSKTi+TY88UrK2Y
QgMS+wotgcAxlEbkJSukm5ehUZvwv3G1GE+leAEQ7kV+sq439uqw7A93DYuR
TgUsL4opJ4jXMdvWTeT8QbEuJxShKA0j4w09+voO633Oj0ISUHjrQoaPqGMR
N10sXPgJJa9RVQoT2zqy/yA6ZRi8WieJFM8+M9bFfarax0xt2fHh/gkgrM3u
3zKArSe7t05pMUV+wvhxiMMPeVHP2XKpo+8UlBDuNBfx+Nk2dP45w6LVPEMG
Hg/FPF9gcplUfgVfoHRTvBrqaBPFdAXPI21nXVB6fmDdeZNZJ6HHUK2/N/QS
Og8U3ezzShvpoQqPPbpG1pOBl81zjHKbYEw9Yx/jPkpgXARFOn+npinTVXNa
EQdoKEQ4bZPAwzdiCUMkiE47IoatFvtWIYcGmiRhuSmOIXfVmTY4JGFA8vs0
tOxEOLjnR5UoRqoOU2TdoTuNtBkBkyWSQi/rBMUTbG7ZtWfK2CSjAU7NR+60
Enh8inK2AlxwW0I2MnUvNNgWTCnhFKZZ5HBKgF0ibcd9ueZyX654WwdqpmgP
rZEci3bXYg+wK7FGV5P0IKLUC44Ttoyj12e1y0fF/EAEId76y3IjibD3iNtc
BCTMEaRHiXigkCLXu2XDKxlQnSNAXH5yq1Y1tSRmeSyvbQ+LJKgbpWmG3N7i
CbaZmGsasKZrSFNGP+i46+ajaElMYOyxfYq4I6YSJjqXGHDRiaGQIFmQQnuk
Ud3UqIuEMXU3C/VqVuhd3797F0u6TdLZksLg7koYOK9pY2BWen/xcPZ4vjfd
zR5cPfbr/mqsoUbtGBtZP368cZaH071sN328eDC7d/8msV97v2XsF+fMb0we
I4vpQLIWB3p1zQVfCjpLlyyqe7amnsnWw4O3GNMxz4SKbPLH+NkwFEiWNp0A
J7EmpJvDepTahWE3FDlytXAb1Fu7AaRS1/sW4hjd38OgG7f5dp3PcXXdO3wi
39sW1JjsHbyqpuDgKnNqagQ0sewfuuAhJXB6ddiRvUsBtuMty6PNzcPL8W6H
rYodv6mvYcd3MBCzFT9QllulBue15Giq80Xr7p5/Nx+Q2z1qe03P96V3k8Ao
fOVLexmIpWmWYMhoAgF5ABCB7W3jdWY1ZPBCN3FDXcrzUl57Z3I/H3xWnZQo
NKTqHY/ElGjfAVpyflJWwoLVWujf+Dr7WRNORSSpCo6aTNQQAOJS3vhdcjQ1
UVICOZR1sG1pmWVcM+EmjR9zUbpJ5aTccZK6A9bum5ITFmC6CYmbG8QLgQh2
ZV5qFweJ5kF1WHCeHFnXbQvhtRNFkiKqule3NaOILa5VMdzPMYlUu6Manlx1
MALjsCwGF7SzcruflR822bTBkkg1AvRKXAbKxMtHxZX4JTQsudOgI3Ireyej
pTGkL9oVSw3KGWhbosDlmuj2NXAKK8Z9aDErnf05sWYbrk9bpyrn3oTU3k3s
KoB43mvSwQYNdcgPtOrg+q/X7vARZMBb54B3RyLnbsJzD8xcg5cjMoutqNgO
BCyzCNuqAdSLZepxNG92Vz7i88muTnz90py6Sqzuo6byfknOoQYwD6JnQRSY
6SUdynXOZGNCdSQlS0OShlOpY7Pg4uy5DKQQUK5X4OqU0YdvnB8USk1KC4qk
JLnSUrSmT9LQFMNGHFe1o9OyNvDFl5HYO2DL+cz6JT2XOtMImgfUMxj9ie1A
K4kG/tmt0E5Uo4QDT7525saOIQiFVg6rJciLBm0vkCPf3V5z9ijzJuL2kHDW
eLg94YQGDlWi9ZuAiiHNX6bzjFvcklfBriRv0be40XD3RJXm5DLOQhKVT2Ll
lo28i8whCp7G6yU4IFjEQ9G7FZ8FIZH7rio2FbHmXwIrmjgihUB+ppEIP2Hx
KHj/gMMKxmgOIZ8tft99K5F77JmDiFMOF/wZgA25BMipLyCRHXXH4H31i0ZI
6B1RIG2xOmJDs+RRXBoUPRyekyS9ZsJqeu0bZl07P1HV+LokoUQq5x/GgLda
UNidfmB+TAbhN/IqWi1ZYaAzm170zKcM2Nd9q++++S5i9RWjvUY+Hj97htEx
2Q4B1/WCVl1nmaVojpJcIdvOtEWMAzIE5+QoLCzjjVVh982RmpURjmFsJfdN
zRcZhUmLr5yjowT8M6yf736iwQ+8XViXtnmS1UJP0GYJGklVN7pepBAo0ZFQ
UV+s2uqkTlenQJoyNAZSt2sOkbLG6Wl15jV0FpLWOJu8Oz8yqal1KXDoOYuC
ny3waWBlXeWrrOD8oY41QY21JG2x59sLh3CFOuIXTxDRj/yySptY660ts7Fx
hD20R49incHQ2Rl7XTnSHzG2yQIodKPLCIGG1dhIYk/U/nBMwSmB/UFcwoPE
OGpwTTYaXIVDWy+zNOBVtRgb9oKAPFfjqige1DRcUqWY/WXlCTOnSluHG9s3
nHrjaqWQZ5rocggykeiCvCHuNNx4sWozNKo2nDN+DlIzrRHEcvWbwlUne5Qn
LnzW6dD7GdNX19s47Pr84sVL3MTBIUUKYGCP3/CZmrHTJJyceEnrZ1J+/e7P
XnNgb3k9c1p8jUGzZbq/Qb9lc51+y+zQi7Zc1hO/tOWyemvzmaZldTKXnIjR
SU3pyDH//e//kbi5vKKTnbbMEb2PHX0aT2xvh0v7u5K1EgFJzKSqk+nFCsiK
shYZwkcgDSHwbP8aXzrNKCUG69khHnEMAnBApB9pnRMKw2jFGkebK8OR6m6I
NctVC5D4WTQYwJefQU2fgnzyHglMOnvf7JCQTJVrMUIG90XWRA6tA3aAQ1Cc
6xRm7VIidWvAHt4AKG06W3BuCVxl4AebAOgCQpH2WWcJ+9GSjJzRqJ2FsZ50
t+gCAL4cKQoAUOS2htjDq/CPKfuAUWdsV6ZLMLIXX7Nm/IqmGqyqRyHVNtX/
6u4gPGD7dket2PyKFPwA4FoUJRuhLtiipOpDrogsBweivQm+89IcYsDldR14
OgxcWZe0zRSGeDg2jJYAYoziRfNfYSNPcAtYYyet9SR5my67F+SC85FgHVFu
pWVEHexBfRbrqC54QMDiVi19Uw37+dPC0SoSHa3LrRYOSxnXQzHBtGi3HkVx
KZ/KbIihcZ43SoeccBn60dJ6dprj7ETEVaMzDfzaLCRrzrvWjJafMTP6jlNZ
EE7PNcEFc1o+Qz1CpcTzGkEOm4Yb7eIuEQElJQAmxAjRxmcLxDG09UXnKhqJ
7lulNcddSK1Qqd+JgYkKWK98qFJwiSHhK9BgIRcK3KK5pYQoKITklY6g0sTf
vpZVge2DRPvhgrYtHGfMyBCyK8theL9wfFOCCa/X5cnR6Nrw3AcFM8+AJMjm
pWQb7D6oh6KD0IYoyhKGK9RL3nQu/mdHIO7OUo5AoVx42tKsGrNIms3tgGL3
zylLF4Wo3tWn08Wc23UpXZZcOQQbssIJ9xSQkZLDobAwYjf6+yxb0ZFGrrVI
cnZEvhSgXNW4QsAPy4StrUHwe8CggEZiSpR3xrTiItE4VE6uStsIe7A0VzNe
UUB/nwPeY+RvglqMagBYupGvrT3vPjP1pU9xYM2r2ZoT2AEfRJJxyoMhRMJ2
bpLOHRtYi9cNCACNX3vI8+izyKfy6fGROQChpDUvKsppusxJIa2P6ZJxraMw
0QsRExSGEJzovo/mBrkk1TDGHe5WN4bTWdis7ZwdVpEKrMnMSztJMeDkvBeR
uskzlXDcaddTvMk9rCITsG8OU050uaLniJTSCpkmmBfZ/MQz4oASUfhFL0YJ
FXim7YdyDNuzJDxUQ4+Y8J0GCXIgBvdC0NVi5zlqXFAq0ibUPwg1eZEV0qAf
1ACaeA/AT8BVFwtUacnl5sQ1vcn+nlzZReKa5oQKlwQpMey9AyASKRpx4DMb
0GZkSXDxelql1rOsneVMwchxO89B219rDoWteZBqFW3n24n7W0ainp5gXQS4
iWrsS1ccGdYmYutziliwFWek26bcRr8lOxtjD0htbtp0uXKRz6GkNdGhxZw+
71mCLPbEkp+3KcpuMMZYdO9OtQU750bnrYRmN55bqNfhXkqJch8yN+yAw5dG
jNU4tcxou86K7CwtgxQZe4w2ua+H8S4OLBc7+A+e/KX+tXMOyOuNW9VhuVj/
TDAkCW0eXoFfVSq0+Bj7yIg4MDKh4tVccm344reZd3U4rcP4V0eq6DnFEm8Y
cVuMjkYCAOtSxanOqKK9uxhALbwLk5YXkrsoa0b8DLJ5E0rWZWrGGN1JzEWC
woGoGD+B8fBTIipKB2QHAAl44EJDDbs5w2Q/lqnSfjRLGECwGZk4b4dJsUOd
ftLwVVKDE00N7iUFe+TUUkwOcVOWOwZsRrZwllmNYOLpP4CVicZb1FjkKSfl
AZ03otqipIaJeBRE2aHdom0kSq34OICmZPWYDZ4cF5ieZKycZMSqqa6fM/ki
7iNZxoXOpGwz+kvMS4q6Y/rxnKCJvjHGzw8a5GfrVKHuFpDBagGcwt7ITMTi
NHG1Erfvv9nxyg1iwEJ6IiVm2Grg1/XdbVp+L9ne1feCUi0kdfbC9CvH4v5P
VoN6SyZau/1RzGZjO37GHLfIfep09p7ALvmGtgZyt+CwBxCVE/x808TTa6I2
2SDUqRuYRDweHqV0nNClMgqqDmnNLxu4wnRKYmYToTz5UmkHx1pwPIttyHIG
GHiohXIIK5pYOS6uRkQiGJ6klWLPsV8qrLxiiUUhluhRh57v7uXvRQBK8jPa
Qu0KeVGEVpT9IZ+VCJKAAfDmmi1i1yk6xvsgwUPCpFqbwuvV0dF1DzS1/Yat
ZUw4WF9T5wxsxIbg4/9AuKLCAIy/si4n9J5ySXWSh1AKcD1t/Go8sTwA3gRP
bwOk88DkzCLN3GANF0Z453De7tR7sTrrjhgsqQKBw/VodrrvvAgi37AGBEUJ
6cbgTMqKJC7NouiUJPrSAbPrQAw25WcN4agUu0qO/Q6e7EbwRNop90pA6bGT
joKHJngkCTkbUMkyRo+AYzAPy8d8mgza8EC7e/QvSlSoGzru/kENN4NgHyoL
cv0qB9FMo8vKw23OFoJdi6zgJV54obF02s79JCJvk/kKDdoAxFniqRKpjdmX
zFafMmlay7RqTzcWTOPWVy750z8FLNLgR3hs+81d5LT9hXEeE3OWz6jK22eY
g61Gy2FnF3ICEWRdDIFU47hYZZNef9RIbfhr/VGr1Njf8VuUVp6+fnlw+Cr+
hP37ZWiMq//REBvrd0d+DJ+iIbixazi096840LsPy0j9RWobua9/MeOgZeHV
h/D+NTYujOPmQ4RxElwKPRjCAu5OCC87hL2OABZAbbrl4RCRud3f1Q5m4xCX
/nWHOOTewn4rzesOcdNV2O2ebdj3EBLroXpy1BWn7g1x/dX3hkBbybN/OX72
9tXBC09Ex/YB+NPhK/1p1//JH2Hg7HHDg2hxJxjhF9PhFa7JwcBPdid2BKom
ZO6/Gft38Rf5H/60G/7UH8HvYdAZIfrTDdZw/7I1dCo6+CNEf4qtodt2wVtD
t9XCwAiRPx0hCMuSRKHeCNtvj0hOQMmOw6R+cfPExw4WsKDQCyZIyLZReNQl
9MeODID+TisV7gQ7wLFtfVCZZKczwm0xehM1vOTvzkfipB9BJvCStV5lOauX
kpNdUy9CSu5s7ElJ5ZCu1HhpEvG1kmIS6gkmkUs+09KApV6Oo7UDsZROHJJ1
3Ze2GdWBKxCBuiobDZIDvnOfBoEnPKPWjUgRCesKLXINGVrOs/Q92hiLvHw/
4QjTeCijDS9VxY8jtLWVF0adinROnhbbwiEU0yeSH8NVETwlIpRrsUyxtHCX
Rndyc90L998E5aA61oxPmyHTgwRKNKJ3qXekxm5RrTZbBJXnRbou51R1WLKi
TbROL0vhHLjiclOxfce8TvMCfyKOcMGxn+KcVzHd7tp5jS9xc20D6HdcygJJ
60n8xKYXWt5CXDSd6iVqHk26ENrQns5sp023d1o8L5i18CZD3a5TvUXCnZ+6
cHDU7/1uamjPc/HOIW6YbRxqS97Osq0dDQeK931tOeg3L9Hsao1UWh8Qcavk
iA6quRyOXtVbOxhQrcmPXiJAr4oLeaznZDtzGRGxbmvWLO1CJfzcAImfO5KK
94deSSwOTQtb1MRbZ3L5FW5C4hzAQQd2JTd4zH18kzgaicTrdHs8IEhFVrax
9yYGe3FXFBj0ai3fXAGgxnegkPOekcHLKQgiy2xwQNC906MQbLTyO3c+kZIG
vLvvqXbA/jXaU4qVBOexyBnW5uVpCANfanKWP48lq67llO/AQYcxWU8WwzTa
gtxrswgIzFP/oP6MY7QQA+J1ppW+YN0dqBvEWW7Ivyd7DbuU8kSvLWU2b9is
L82lOm62d1rtq1M7zutdee02waOujSTxm/+aqzb/xe2xLRybEnEx97DTr5Ax
3w8hJQa6kVBaQyAvijW1yiBS1S8bQGzGd0EIwYvm2+9YKtZ0XRtl4hoIpdQI
z/VpUjigV2E9bfATBTdxwI4QxMSC0Lo17Fp2V2MtL9CczcZne7CSgYr0ACGk
5NjcYFbnK5fSh+CxbY+GtseGN04l9bOKgFkgjrjsk7D4yBOM1Sd4dhspGddI
iQjIFRLS4kVmqWTZu79oR6DY8v+qZQrtNiVYzIIIhrCR+H6XLWEPeRPJZiRb
tfcsh/81nhVctjPYH8sjUnDtR2HrUWua4IxGpQ2qvgyLxH7yGLmCxENjGAbi
zh9Mh1QYcfKeTishnNnQ9ticwqEW3aK5CMR9SbIjRunlRlh2+C7gh++Y9SOO
7OibjAgdLuqvZP9SNLBDOevJJMZOpL9xdJSrjOH7mL1eyQpaUgrYX8wql0fI
vViIq0QUmW2tW7YTW1jHzXLdfQ24zW++pS+NV9ww2lc8Lz1SqLmbjk00l2x4
uKWyLHpX31JO6W3Gu82BrJAkn7uboEWX6Na6JrO9EeD+fNEnEhKyGXm9J1tT
LEuMwsPIDycSixwI47Y2AAVRpWbYY0xVTL0YnGaw17HrFIgUKqwAyaGfosd4
6QpN7EbDqh/dhoyFDRRUDJoMEjV+x5K1PmwjoIU1PnZrFKI2BJkeWRtZbYBU
gHXJcu88IGD2249HrbSyFt7s/p6uS6+80RCEu/aCy2WMtEPwaZa9nl8q2Jou
oeDgtiuQKw9WtyVZdiizHSM716Qlflt2gNNel6aw7K7VtNreTe1Ql917cfIS
xzsb0uiPCJi7uxslCk7UGSYHzvzQIbeBFLIrQk/35VA28FqMuzYjLIiQTkxT
bNuerjPq4upg26++E9X4uPe1lsdF6SpWyB4XDbLT65Um3rJtqruBS4kRTeYb
lufYURbDhm018U6/iZHUWcIXoxprLLGx65r1rcMd31vkt85j/c9oGtYezvwf
5Ezu4673G6Kifs8gsT9Z6KGtmX+TX5TJycfgN/vfXxC2DFb9SY5BWl3fCdZ+
J9iK/9ud3mP9z4mb3Nm3Bz/9MvwYLo6/hVvGQqdYbm4zltmGa/AV64S3XRfq
UO1X2Ct957ZjBU6Fr2+9rsGHbjsW0KO3okEHjtwbrWs7ONU73i/XHys07u3c
YqwBT8/XvzXoh8cCevuCidpHWJcLkbjtWBP39/Xt10V0/CvpaX+rsX7nLewf
6hyxcg+l17qrtQ1s2uzu3GBdSuZM7+8GsBcy91HGcuLefue1G8C+z+e/Yn57
g7ECIYiHufG6rHT11W744K+PX6g4K/7ccqzfefTPp4vDC96wrqFPN9kjqPnP
Wa3/CPfRY2S3HGuQX/xj8Y6Hjon7XscbLmw7MEPcbmVXYuNXHOz/Cdb96P8f
1r37P5l1P1bWHVyoG66LmP7ejun/3UIM2Lb2GA2wurkY8DHG+rXFgN1/LDFg
L3zw742raO/qo+YN8d4R/MFFXnGs38Vlit/8aqNh7wla9MlKF9/vVQcb0Ccj
CuZvScDCD2h3/GexMd52LAu9/duva+yrNbcey1Nrbj0W3HS947ceCymQ0J5b
j4WUUcjhPw5+oYWYKxPffiyKJp1obPEtx/INzrcdy4P8LcfypR4UfD7qOSYv
MmCZ8/1kbN4BEXpnjqoCY9/f1MBQqeMNaQp3XVMVDE6Eh1E2fGeeVi2289hc
yAATXMgdMMIyFua//hNTsChgeWz6LUhCP60Ugllg3BveMrOdLjDls2mzlXm8
M0q0M0m04YiG/egCzDvfRWWTVMNeJHmKTTd2H+7uPfr8Hvxh1NlWuqZ+HrGu
GdT7Yyv7sHJv3Ze32g8lvpVOZ+PdvfvjDxd/5ofFC4mU7KdHj/Z2fy9DYfsS
fiJvGr9tBwyE7sVo1w4ZEist4ivijZxIDSH+lf1ktJYVdqkkf3lssFHPn7lh
TqCgrlvLBs9qIp1Jbtjmpe9i3dRtBZ6eP8zup3uzLxa7937Fti7w/OJBujd9
NNvNHj++d6POLvxO0uu30o0E5fiNy/zXWGs56PV6jlmzWEBD+teSOZFCEQZj
S6OBpbnUtrpCu+2kE+ToRYvGej1IC9zGC1NJpHvwWVbmGUfHR32NXrvsXvW1
Da2MJBqOmnhL2R5sY+QFWVKu8XCpZclEpa6CVAuj2/CDmsxFm8phvIjlMJJa
+r/053/pz29Gf37LzlKxyAYtqTF09WxwFIdz2sJ6nP4YDxaInR8m7EgQwnDh
7+FuTkMRBkkvwgBjpF9UQHbfcI4NN5ypNOUGQwwxfpMKDq2lNDeRu6qsltgT
T0u5wKirxuYfcVQ3lTrh0C8vVkbJbKd/UlDSLk20mzGluk9snwp/oOzDjOLb
0kgVPywNkoHsVUhOVKwziiue8zOVOMB49k4rKr9Bq6vXLqHmrcTpqzTHG0tC
/rGtvTZTLDt4aouX+BXOdwwcKvdzkB6JWnFkY3lgKsY31FcvSQ6osHTm0s1m
wQNmycfNIZaRNhnU62Ti1aMmC80FVrlsuVZBBF7clZAPkUsSCRPTbA6v9qsE
e8Mp1e24yLHyDZWRzjhrrpP00pjTrFjBsnPqYy5HepFI+d8RwbDbSkxL7Utz
Ado+Z/AcBiXyOI5Kz9Mry6Cx815NjgZfF/ODe3ndYKWkmTZtxYYRnIejxTT0
nMLZfbhp2JQvWXHnUS5FpwXEnPaheWf8ui0A4iq548SIcbQUXZwxmlsRdq2h
CZ7GBadRR+8JZsbYOZK8bPle3oH059UylMC8g7hQCdXMvUwlXCy9i4P4xY4C
IbCfXYTyVAE8u7G1ybTfsa3EiRmH53AALQaiCXkjUUwPqLA5hVpSmpFfc72k
IW+A/wCwI6nFzp17hGyuS68GV5A/ZhNzKO6dzhjXKfIqH4gWs5I7YiscUz2R
oDcB946g/hc4is2KcZk3H/NQ3ZI3HOolWOol6Wnqg+t35fomeW2LIkl6bp8I
KlS3eSh80yoOrvlYQEw4w+tQ4cNnqIXduxcpbASBgLYEikuWGt/eLLdKJEtC
LlBf+B5PIvPofZcyvIjlfu0fqeaaZ8HL47Yaa+sBV1iXq87W9UVwGJYArrlT
NVw0ruAXtHrAmvi0UYA3Er4S28RLCfbl8YsjrKyObytyc5U4Lq/JqU2UwoYk
71AkFa1hTpcGK6APUz2/iu07ktLfUS1rzaCOoYSrlXN/sjtiXHBZsLaaVSPX
n4gJCQuMdzhJY+BUuS2ZKwoZoYd6vQWQlsH4Ha+XFbxf0QoW1CLBxZQj0p3l
WIIPeXjB1XJtlKufJNorFkddX3AIrQ7YxBbkarDSYy3nNQN+6iq8JXB+YtC7
wK8xSuvwA2+pWj73BtFCqnzD2NbmywZ0w1xJ1YDZbeJZegWoyCvvWkihn8gj
tM0NQuo3iaOTYXbK19heWja38Rq5iFxR+Kw1IOTUi+vSSxKvee0SyX05Wgp+
S/sCWwxat7ABSF6XZ6/OmjSblOzH4iKgfZqVhWzfMrhojhQfou984xV0pcku
gIakDer/gqcq3NxPChY6J2SyWxs1GN7dM9tDwYNmwF69cRgGDH0L1ah8EV6+
jjkoXshMxRFpteJkeOmKzWW4/Ixm2rPHelAGnl3MCrk5h2H6VnBnUHh3ZeMD
Ou9h6AA9Z+FpiKQDRWfH4cx1Q/KkclfI12Uee6N3Um9cFVY5VSSeAjxbILmT
vyih8P3EQb8mMMHudKC0cfe+Cy0EwYwSgXtMG2cDfZcubMCysfAGZzvCXQQx
YnaazddUy5ZLC8oSQHHHE+LOELQ1TN3F84ErlWMvDNKmP4vVbDfxmu1xRh8K
cR3Jj2uEzJCKZHMvqzevibxgfgm+T+yNMcwp9bhiq4q46hmJVDW+tK5IV7Hy
WTdOGq1+0sck6r1BAmCYRGVrHnDvV4MFSLhVQXxdVJk0EECDPFrMNEFGvtBb
OJPqAUwRqR2qzNGtQCJr9quOYE+C8zGfmMv+djSDCeuW0x/IJEWFchXituAn
zSpjdfJyYPfdSiUwjFesRMh/N3NviM45VuGx96jhW+tck7RR+oaOJl1ktIL9
UAFT1cvKXF7NSBqFlTGtGswtz1Q1C1ty9Cr8ENn1u56cArossdC0jzFUorpC
7qfEVEsNbGr95fD98k6Nge3E7zBBpxu2pnQNnYI6jlg8l2vs2wwtXaPSt3g1
Tm1VXYoqmnFlbDgZW+RUE0xj79PisUJryTqwFJOle0gliDOqajvNgTvVF5aG
N2SnIkvoSCv8CC2nbze3u4XtefWSiouhTYhSKftwS+XepwxmvZM4db/NozYn
BUaCNw4L12gNG0uGPBVCrxGK+1LoVCcks1Bdr1eSsyUGWrTVDlUR5Xw8XkjP
i1KV7lFx+osZdxL0LtqQ5npZSW9WhQZ6A7oeQsThpZqUwzvb5kqJRnwNvcaA
ooGQ8sKSM6mTvmFjE2NG/BtQpRutp4z4RaDmzi3UZ8wrQI5FlWabDCuTaFt5
Khem2LEB4L6Io1eze5JW7+m32+2Z4V1TA74qtsU85rIDocRRUXsAiSKj1FBY
GBewmvkNDAPck2VooehPHX8Z7h7v+qyH8mWnrbhSKb+vr/gJxNIzlJPN6Njv
PM9FJvxm86OOyNRr5L0GVlRk6Zw7WFE5/VmrSav9/qEv2RBMeCY2es2+/ibn
Ivz+drj0etmsyNpMpRIs0/KMHeJw8mVjOKajN4fPnz8zR/98+HRH20O/pbpW
xAIdwwzOUERiFtksr9QZOjviQQOzNJW1sb1MqHp0CRIjSIF8G7icjEMQGbnx
glvEhkkunqf2JRzqrXXovMAZGquqX8VXA8dqGyI5vUyMA3wDsw+nwHfaYY+R
Lf4fiIlCMawjyKgjyF+WpwrqfKyB2ynVgmsdR/Rm4DJia1LoJ+rqfBtcRVgj
DUtEvcjS9yl3K/IsxGq/9QQOT70HasxtM9vTjiogmJh6HQuU+9KVYkRwJe6c
PCo2wZ1ODUBkIiulaP1QADYiEGZdSO88K5Z6HiqjHWGsbzM0boR1SBgi3A9c
uwsNxj5J2TlTZsgbURxRZRqOBUgCuysUZF6ll6DkPlvq2xSYRljCK1EphGsB
2j4REdO1608YlpbotZMKjXXneVFohSLsmFxktgiV0X5vlvxLPXU1z2CjIelY
h3EjaXva0yKl5TS3XvAvwWBfa1Fyw5iUOUhuTd/qCnL1HLWBULjWEaTWfZNl
vsl1J85q5eZiX09qTyCN/TxhpQkK18VmDjL/fXMW6WCAnNwqr7LmAYFhuV5O
sYWcOlfFKs1ygeONR1Kq4tBhtrSh2FQAo6s49WP0yF/rNV52pXpQZpCWnxur
9qC7iuz32McgFJV8loLNIeCW6h2yOrXtnZoMnLrW93caDbc+zrmbS6n1EJIS
FlGd77NUTrVc2CBB8tisrppmzN2Hg6YRxKylR7F27bCWIWfAZkpDR+G3wlGT
rzUyexZmrxdGY2mH8+rZop8Cb2om5MKbEkHOETESLEFnOZAIHIBjJOKaRTqt
pXcz9krispOJnHVYKdBIE+KSqxJxfzttRQHQAvkG5RgkH4FV3m+rQhDFTQcS
LZvDRthSiV0iSfektfkqNXRidUKEegCWLSGobSMa276FVVAHQhY+u93R5A6z
gthiP3nUCOegueNFBVEANUM87Gpa1amH52J8KLKk61FgpmLPyfNqKyvRypL4
YhJ1RcBzJyxYrsscQI7dgrUUkGvNpkI3R2doKwjse6BWatdJz0NYKa5HRC/S
eikF/L5o8mZySWfuz7zOwbF+vSJK1bReMSdw41nboJHFYGZ+Kgg0IkunbDnB
5i6ptKbl0snU8I4wlv1N5HrEh7PyLAf1jwg67Av01h1soMklCVVCAn2Eemxy
eUPWv2xTZu7ry52kNYxFpna9mEXSoofE4OA6XY7EpEUrzD4s8qLlWo1DTVWD
jutd92Cu0A5aTHv1XI3x+NRDjLqCe7euxeSEHezVYKB163xqGdgJml7VNSe+
WWuPFFz1frKMnol5Xo6nZPaljlozdeL0Wtm6nWE0rOxZi6NpTeQgzomtIs6s
gaNEjM9IOoHhjqsFLwTNIk3bMVqpawDHcK2GvCd961eHf40k/MBbm6LAAt0w
O9LamO5hT2YgK4WzwKqLKwSJhNNG/b8PCWDwFbfWpt5jbzO5Tw1d2VdW8vR+
+NPb50/2dncf/7it8YEor1EEEBD4PGsXk6o+uTuvZndP22Vxt17M8HGuMvRN
nc5LLNFyBDd0648ZWdCEpiLAYTkwPNl5DrUT81sPY1/g2TVbI/PNkzdm98EI
nzY4/Mg8fX2I2XC7Dx88enhX1jgyL7E/s9l9/PjhyPxOF3x+fj6BZY2zOTqf
abnwUVf6NYACN/kIhrrGJvFx3iSsMp+msEbc48Fymp+sxRD6PXZynqWw0bMG
NMtz+cC7pn0YhMkPCJPOJnH4/ib525fphdm7twtbvHyH+Aatkvb4xcMHj3+k
j98B9oIQ+RTW/GyOC0fGMlSL1Har3uLF4TD9xfG3r2dthRImLHDvSmeAr+kZ
PPzcRzQk4o2DvkIeH2LI/6Eq0S76EtaPmFZkFyPzhwm7Kl9NzFH6HhSmGo5m
6w9Hr1+ZH7KpsKXtP/xwvCObweH6m+FvBdKfX2kj+IpFpi8e3790I/hQbyOv
QB8CcWdkDuDDk3S5mmZFwchFB9Xb6JOJeQmCWb4kc/aWO8OQA8tucc4IXtG3
f0jLNaqVe/f27l1px/ia7vjxvS8eXbpjfEgoAwj/1WyWj8w/TwbOB60Di1wa
ZnuoybIcK6KyKxy3vyv+1iHk3u6VdoWv0a564VSXU4d5nS7acbsumlOgCSfn
oOOOK+SdY8+9PWb3vlCPA3jaHPtvjMy3GQyYmedF1s5OkX6+ydFyaP6IWlMB
LMMedD/6c8vbJC2nmdAKJmXW3h1aiywc9zK43gme4tdJkozHYzPF3owJxm6+
L6tzbLRM3DTBhkr75imI/k9OMbs8N9tvcOk75kW+Ngky6GIf/z3jn/XX3xX2
q68e3Dtdp+dZjkkMv58vgaRbIH+Nc1KoFNrxQGyXCftATODpfXP07asXOmkK
z/y+OSmLSZon/xfbZiu3Li8BAA==

-->

</rfc>
