<?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.29 (Ruby 3.4.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-mpsb-agntcy-messaging-00" category="info" submissionType="independent" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.30.2 -->
  <front>
    <title abbrev="agncty-messaging-eco">An Overview of Messaging Systems and Their Applicability to Agentic AI</title>
    <seriesInfo name="Internet-Draft" value="draft-mpsb-agntcy-messaging-00"/>
    <author fullname="Luca Muscariello">
      <organization>Cisco</organization>
      <address>
        <email>lumuscar@cisco.com</email>
      </address>
    </author>
    <author fullname="Michele Papalini">
      <organization>Cisco</organization>
      <address>
        <email>micpapal@cisco.com</email>
      </address>
    </author>
    <author fullname="Mauro Sardara">
      <organization>Cisco</organization>
      <address>
        <email>msardara@cisco.com</email>
      </address>
    </author>
    <author fullname="Sam Betts">
      <organization>Cisco</organization>
      <address>
        <email>sambetts@cisco.com</email>
      </address>
    </author>
    <date year="2025" month="October" day="16"/>
    <area>Applications</area>
    <workgroup>Independent Submission</workgroup>
    <keyword>AI</keyword>
    <keyword>Agentic AI</keyword>
    <keyword>Communications</keyword>
    <keyword>Realtime</keyword>
    <abstract>
      <?line 74?>

<t>Agentic AI systems require messaging infrastructure that supports real-time
collaboration, high-volume streaming, and dynamic group coordination across
distributed networks. Traditional protocols like AMQP, MQTT, and NATS address
some requirements but fall short on security, particularly regarding <xref target="AMQP"/> <xref target="MQTT"/> <xref target="NATS"/>
post-compromise protection and quantum-safe encryption essential for autonomous
agents handling sensitive data.</t>
      <t>This document analyzes six messaging protocols—AMQP, MQTT, NATS, AMQP over
WebSockets, Kafka, and AGNTCY SLIM—across dimensions critical for GenAI agent
systems: streaming performance, delivery guarantees, security models, and
operational complexity. We examine how each protocol's design decisions impact
agentic AI deployments, from lightweight edge computing scenarios to large-scale
multi-organizational collaborations.</t>
      <t>AGNTCY SLIM emerges as a purpose-built solution, integrating Message Layer
Security (MLS) <xref target="RFC9420"/> with gRPC <xref target="gRPC"/> over HTTP/2 <xref target="RFC7540"/> to
provide quantum-safe end-to-end encryption, efficient streaming, and OAuth-based
authentication <xref target="RFC6749"/>. Unlike transport-layer security approaches, SLIM's
MLS implementation ensures secure communication even through untrusted
intermediaries while supporting dynamic
group membership changes essential for collaborative AI agents.</t>
    </abstract>
  </front>
  <middle>
    <?line 98?>

<section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>When designing a multi-agent system for generative AI, the messaging layer
becomes a critical piece of infrastructure. GenAI agents—built with frameworks
like LangGraph, AutoGen, or LlamaIndex—often need to collaborate in real time,
exchange high volumes of streaming data (e.g., token-by-token outputs), and
coordinate complex tasks such as voting or consensus. Moreover, security
requirements extend well beyond basic TLS; in scenarios where agents share
sensitive models or partial computations, post-compromise security and robust
end-to-end encryption are essential.</t>
      <t>In practice, you’ll want a protocol that efficiently handles one-to-many or
many-to-many communication, supports dynamic membership (with agents joining or
leaving on the fly), and scales to accommodate a “forest” of agents spread
across global networks. Some protocols excel at ultra-low-latency,
high-throughput streaming—critical for continuous token streams or aggregated
embeddings—while others emphasize strong consistency and durability.
Additionally, advanced cryptographic features such as automatic key rotation and
forward secrecy are vital when compromised credentials must not enable an
attacker to decrypt future communications.</t>
      <t>Below, we compare six popular messaging protocols—AMQP, MQTT, NATS, AMQP over
WebSockets, Kafka, and the emerging AGNTCY SLIM (Secure Low-Latency Interactive
Messaging)—across
dimensions that matter for GenAI agent systems: streaming performance, delivery
guarantees, flexible pub/sub patterns, agent coordination, security (including
end-to-end encryption and zero-trust support), and real-world adoption.</t>
    </section>
    <section anchor="protocol-analysis-for-agentic-ai-systems">
      <name>Protocol Analysis for Agentic AI Systems</name>
      <t>The following sections provide detailed analysis of each messaging protocol in
the context of agentic AI requirements.</t>
      <section anchor="traditional-enterprise-messaging-amqp">
        <name>Traditional Enterprise Messaging: AMQP</name>
        <t>The Advanced Message Queuing Protocol (AMQP), most commonly implemented through
RabbitMQ, represents the gold standard for enterprise messaging systems. AMQP's
strength lies in its sophisticated message routing capabilities through
exchanges, queues, and routing keys, enabling complex message flow patterns
essential for enterprise applications.</t>
        <t>For agentic AI systems, AMQP offers several advantages. Its support for both
at-least-once and exactly-once delivery semantics (particularly in AMQP 1.0)
ensures reliable message delivery between AI agents, which is crucial when
agents are coordinating critical tasks or sharing expensive computational
results. The protocol's durable queue support means that agent messages can
persist across system restarts, preventing loss of important coordination data.</t>
        <t>However, AMQP's enterprise focus comes with trade-offs. The protocol carries
higher overhead due to its rich feature set, which may impact performance in
high-frequency agent communication scenarios. Streaming capabilities require
extensions like RabbitMQ Streams, adding complexity to deployments focused on
real-time agent collaboration.</t>
        <t>Authentication in AMQP relies on traditional enterprise mechanisms like SASL,
LDAP, and Kerberos, which integrate well with existing corporate identity
systems but may not align with modern cloud-native authentication patterns
preferred in AI infrastructure.</t>
      </section>
      <section anchor="iot-optimized-messaging-mqtt">
        <name>IoT-Optimized Messaging: MQTT</name>
        <t>Message Queuing Telemetry Transport (MQTT) emerged from the IoT world with a
focus on lightweight, efficient communication over constrained networks. Its
topic-based publish-subscribe model maps naturally to many agent communication
patterns, where agents subscribe to topics representing different types of
events or data streams.</t>
        <t>MQTT's three Quality of Service levels (QoS 0, 1, and 2) provide flexibility in
balancing performance versus reliability. For agentic AI systems, QoS 0
(at-most-once) works well for frequent status updates or non-critical
notifications, while QoS 2 (exactly-once) ensures critical agent coordination
messages are delivered reliably.</t>
        <t>The protocol's very low overhead makes it attractive for scenarios involving
large numbers of lightweight AI agents or edge computing deployments where
bandwidth is constrained. However, MQTT's IoT heritage shows in its limitations
for agentic AI use cases. Native streaming support requires broker extensions,
and message-level security typically relies entirely on transport-layer TLS
rather than end-to-end encryption.</t>
        <t>MQTT's authentication mechanisms, while sufficient for IoT devices, may not
provide the sophisticated identity and access management features required for
complex multi-agent AI systems involving different trust domains.</t>
      </section>
      <section anchor="cloud-native-messaging-nats">
        <name>Cloud-Native Messaging: NATS</name>
        <t>NATS represents a modern approach to messaging designed for cloud-native
architectures. Its lightweight design and support for multiple communication
patterns—publish-subscribe, request-reply, and queue groups—make it particularly
well-suited for microservices-based AI agent deployments.</t>
        <t>The protocol's core at-most-once delivery semantics align well with scenarios
where AI agents can tolerate occasional message loss in favor of high
performance. For use cases requiring stronger guarantees, NATS JetStream
provides at-least-once delivery and streaming capabilities, though this requires
additional infrastructure complexity.</t>
        <t>NATS's optional broker architecture offers interesting deployment flexibility
for agentic AI systems. While most deployments use a broker for efficiency, the
protocol can support peer-to-peer communication, potentially enabling direct
agent-to-agent communication in specialized scenarios.</t>
        <t>Authentication in NATS includes modern options like JWT tokens and NKey
cryptographic authentication, aligning better with cloud-native security
practices. However, like MQTT, NATS relies primarily on transport-layer security
rather than providing built-in end-to-end message encryption.</t>
      </section>
      <section anchor="browser-integration-amqp-over-websockets">
        <name>Browser Integration: AMQP over WebSockets</name>
        <t>AMQP over WebSockets addresses a specific deployment challenge: enabling
browser-based AI agents or user interfaces to participate in AMQP-based agent
coordination systems. This approach tunnels standard AMQP protocols through
WebSocket connections, allowing web applications to overcome firewall
restrictions and network topology limitations.</t>
        <t>For agentic AI systems that include web-based components—such as user-facing AI
assistants that need to coordinate with backend AI agents—this protocol variant
provides a bridge between browser environments and enterprise messaging
infrastructure. The WebSocket Secure (WSS) transport ensures encrypted
communication from browser to broker.</t>
        <t>However, the additional protocol layers (AMQP within WebSockets) introduce
higher overhead compared to native AMQP or other lightweight protocols. This
makes AMQP over WebSockets primarily suitable for scenarios where browser
integration is essential rather than for high-performance agent-to-agent
communication.</t>
      </section>
      <section anchor="high-throughput-streaming-apache-kafka">
        <name>High-Throughput Streaming: Apache Kafka</name>
        <t>Apache Kafka represents a fundamentally different approach to messaging, based
on distributed commit logs rather than traditional message queues. This
architecture provides exceptional throughput and built-in streaming capabilities
that align well with certain agentic AI use cases.</t>
        <t>Kafka's partition-based topic model enables massive horizontal scaling, making
it suitable for AI systems that need to process large volumes of training data,
model updates, or inference results across distributed agent networks. The
platform's native streaming capabilities through Kafka Streams and KSQL provide
powerful tools for real-time processing of agent-generated data.</t>
        <t>The protocol's built-in persistence across distributed clusters ensures that
agent communication history is preserved and can be replayed, which is valuable
for AI systems that need to audit agent decisions or retrain models based on
historical interactions. Consumer groups enable multiple agents to process
different partitions of the same topic concurrently, supporting parallel AI
workloads.</t>
        <t>However, Kafka's strengths come with complexity costs. The requirement for a
distributed cluster infrastructure may be overkill for simpler agent
coordination tasks. While Kafka provides exactly-once semantics through
transactions, the default at-least-once delivery may require additional
deduplication logic in agent implementations.</t>
        <t>Kafka's security model, while comprehensive, relies primarily on transport-layer
encryption and broker-based access controls rather than end-to-end message
encryption, which may not meet the security requirements of AI systems handling
sensitive model data or proprietary algorithms.</t>
      </section>
      <section anchor="next-generation-agent-messaging-slim">
        <name>Next-Generation Agent Messaging: SLIM</name>
        <t>AGNTCY SLIM (Secure Low-Latency Interactive Messaging) represents a
purpose-built protocol for modern agentic AI systems, designed to address the
specific security, performance, and coordination requirements that existing
protocols cannot fully satisfy.</t>
        <t>SLIM's foundation on gRPC over HTTP/2 and HTTP/3 provides several immediate
advantages for AI agent communication. The binary protocol buffer wire format
minimizes serialization overhead while supporting both binary and text data
types essential for AI workloads. HTTP/2's multiplexing capabilities allow a
single connection to carry multiple concurrent agent conversations, reducing
connection overhead in systems with many interacting agents.</t>
        <t>The protocol's quality of service model explicitly addresses the diverse
communication patterns found in agentic AI systems. Fire-and-forget messaging
supports high-frequency status updates and non-critical notifications, while
reliable exactly-once delivery ensures critical coordination messages and
expensive computational results are never lost. This extends consistently across
request-reply patterns and streaming communications.</t>
        <t>Perhaps most significantly, SLIM's integration of Message Layer Security (MLS)
provides quantum-safe, end-to-end encryption specifically designed for group
communications. Unlike transport-layer security approaches used by other
protocols, MLS ensures that messages remain secure even when transmitted through
potentially compromised intermediaries—a critical requirement for AI systems
operating across multiple trust domains.</t>
        <t>The protocol's authentication model demonstrates particular innovation in
addressing agentic AI security requirements. By transporting MLS credentials and
cryptographic proofs within OAuth bearer tokens over HTTP/2, SLIM achieves
several important properties:</t>
        <ul spacing="normal">
          <li>
            <t><strong>Interoperability</strong>: Leverages standard HTTP/2 and OAuth libraries, reducing
implementation complexity and improving compatibility with existing
infrastructure</t>
          </li>
          <li>
            <t><strong>Scalability</strong>: Single persistent HTTP/2 connections efficiently carry many
MLS-secured messages between agents</t>
          </li>
          <li>
            <t><strong>Immediate revocation</strong>: Malicious or compromised agents can be immediately
ejected by revoking their OAuth tokens without requiring complex ratchet
tree rebalancing operations</t>
          </li>
        </ul>
        <t>SLIM's topic organization based on organizational hierarchies, namespaces, and
agent types provides a natural mapping to real-world AI system deployments where
different agent types operate within different security domains and
organizational boundaries.</t>
        <t>The protocol's support for both broker-based and peer-to-peer operation offers
deployment flexibility. While broker-based operation provides efficiency for
multi-party group communications typical in agent coordination scenarios,
peer-to-peer capabilities enable direct agent-to-agent communication when
appropriate.</t>
      </section>
      <section anchor="security-considerations-for-agentic-ai">
        <name>Security Considerations for Agentic AI</name>
        <t>Security requirements for agentic AI systems extend well beyond the capabilities
provided by traditional messaging protocols. The autonomous nature of AI agents,
combined with their access to sensitive data and computational resources,
creates unique threat models that messaging infrastructure must address.</t>
        <t><strong>Post-Compromise Security</strong>: In traditional systems, credential compromise
typically requires immediate revocation and re-authentication. However, AI
agents may operate for extended periods with limited human oversight. SLIM's
MLS implementation provides forward secrecy, ensuring that compromise of
current credentials cannot decrypt past communications, and post-compromise
security, guaranteeing that future communications remain secure even after
credential compromise.</t>
        <t><strong>Quantum-Safe Cryptography</strong>: As quantum computing advances threaten current
cryptographic standards, AI systems—which may operate for years with the same
cryptographic keys—need protection against future quantum attacks. SLIM's
quantum-safe MLS implementation provides this protection, while traditional
protocols rely on classical cryptographic assumptions that may become
vulnerable.</t>
        <t><strong>Multi-Domain Operations</strong>: Agentic AI systems often span multiple
organizational and security domains, with agents from different organizations
collaborating on shared tasks. Traditional protocols typically assume trust in
messaging infrastructure, but SLIM's end-to-end encryption ensures secure
communication even when messages transit through potentially untrusted
intermediaries.</t>
        <t><strong>Dynamic Group Membership</strong>: AI agent groups frequently change as agents join
collaborations, complete tasks, or become unavailable. MLS's efficient group
key management handles these membership changes while maintaining security
properties, unlike approaches that require complete cryptographic context
regeneration.</t>
      </section>
      <section anchor="performance-implications">
        <name>Performance Implications</name>
        <t>The performance characteristics of messaging protocols significantly impact the
behavior and capabilities of agentic AI systems, particularly as the number of
agents and frequency of interactions scale.</t>
        <t><strong>Latency Sensitivity</strong>: Many AI agent interactions are latency-sensitive,
particularly in real-time decision-making scenarios or when agents are
coordinating time-critical tasks. SLIM's HTTP/2 foundation provides header
compression and multiplexing that reduce per-message overhead, while the binary
protocol buffer encoding minimizes serialization costs.</t>
        <t><strong>Throughput Requirements</strong>: Large-scale agentic AI systems may involve
thousands of agents generating substantial message volumes. While protocols
like Kafka excel at raw throughput, they may introduce latency through their
log-based architecture. SLIM balances throughput and latency through efficient
connection reuse and optional reliability levels.</t>
        <t><strong>Connection Efficiency</strong>: Traditional protocols often require separate
connections for each communication pattern or security context. SLIM's
connection multiplexing allows a single HTTP/2 connection to handle diverse
communication patterns between agents, reducing resource consumption and
connection establishment overhead.</t>
        <t><strong>Streaming Performance</strong>: AI agents frequently exchange streaming data—such as
token-by-token language model outputs or real-time sensor data. SLIM's native
gRPC streaming support over HTTP/2 provides efficient bidirectional streaming
without the overhead of connection-per-stream approaches.</t>
      </section>
      <section anchor="deployment-and-operational-considerations">
        <name>Deployment and Operational Considerations</name>
        <t>The operational characteristics of messaging protocols significantly impact the
total cost of ownership and operational complexity of agentic AI systems.</t>
        <t><strong>Infrastructure Requirements</strong>: Traditional enterprise protocols like AMQP
require dedicated message broker infrastructure with high availability and
clustering capabilities. Kafka requires even more complex distributed
infrastructure. SLIM's optional broker architecture allows deployments to scale
infrastructure complexity with system requirements.</t>
        <t><strong>Monitoring and Observability</strong>: Debugging distributed agentic AI systems
requires comprehensive visibility into agent communications. SLIM's foundation
on standard HTTP/2 infrastructure enables use of existing observability tools
and practices, while proprietary protocols may require specialized monitoring
solutions.</t>
        <t><strong>Integration with Cloud Services</strong>: Modern AI deployments increasingly rely on
cloud services for scalability and managed operations. SLIM's HTTP/2 foundation
integrates naturally with cloud load balancers, API gateways, and observability
services, while specialized messaging protocols may require additional
integration layers.</t>
        <t><strong>Compliance and Auditing</strong>: AI systems in regulated industries require
comprehensive audit trails and compliance capabilities. SLIM's structured topic
hierarchy and optional message persistence support regulatory requirements,
while the end-to-end encryption provides compliance with data protection
regulations.</t>
      </section>
    </section>
    <section anchor="rpc-in-agentic-protocols-and-relationship-to-messaging">
      <name>RPC in Agentic Protocols and Relationship to Messaging</name>
      <t>Most agent-facing interfaces in use today — notably A2A and the Model Context
Protocol (MCP) — are Remote Procedure Call (RPC) oriented. They expose
synchronous request/response semantics for tool invocation, resource listing,
and capability execution. This section clarifies how RPC relates to asynchronous
messaging and how the two paradigms interoperate in agentic systems.</t>
      <section anchor="rpc-vs-messaging-synchronous-vs-asynchronous">
        <name>RPC vs. Messaging: Synchronous vs. Asynchronous</name>
        <ul spacing="normal">
          <li>
            <t><strong>RPC (A2A, MCP)</strong>: Caller issues a request and blocks/awaits a timely
response. Semantics emphasize tightly scoped operations (for example, “call tool
X with parameters Y”) with bounded latency and explicit error contracts.</t>
          </li>
          <li>
            <t><strong>Messaging (AMQP, MQTT, NATS, Kafka, SLIM)</strong>: Decoupled producers/consumers
communicate via topics/subjects/queues. Delivery can be one-to-one, one-to-many,
or many-to-many with loose coupling, buffering, and retries. Producers are not
inherently blocked by consumers.</t>
          </li>
        </ul>
        <t>In practice, agentic applications need both: synchronous tool invocations for
interactivity and asynchronous channels for streaming output, progress,
coordination, and fan-out/fan-in patterns.</t>
      </section>
      <section anchor="when-asynchronous-feels-synchronous-interactive-real-time">
        <name>When Asynchronous Feels Synchronous (Interactive Real-Time)</name>
        <t>Asynchronous transports can provide an interactive, “RPC-like” experience when:
- A request message includes a correlation ID and reply-to destination.
- The callee publishes a response on the indicated reply destination within a short SLA.
- Client libraries surface responses as futures/promises and manage timeouts/retries.</t>
        <t>This underpins instant messaging UX and maps well to agent UIs where a user
triggers an action and expects prompt, possibly streaming, results.</t>
      </section>
      <section anchor="bridging-patterns-rpc-over-messaging-and-streaming-rpc">
        <name>Bridging Patterns: RPC over Messaging and Streaming RPC</name>
        <ul spacing="normal">
          <li>
            <t><strong>Request/Reply over Pub/Sub</strong>: Implement RPC by publishing a command event
and awaiting a correlated reply event (applies to AMQP, NATS, MQTT, and SLIM
topics).</t>
          </li>
          <li>
            <t><strong>Streaming RPC</strong>: Use bidirectional streams (for example, gRPC over SLIM
HTTP/2/3) to deliver token streams, partial results, or progress updates while
retaining an RPC caller experience.</t>
          </li>
          <li>
            <t><strong>Sagas and CQRS</strong>: For multi-step workflows across agents, coordinate via
asynchronous orchestration with idempotency keys, correlation/causation IDs, and
compensations.</t>
          </li>
          <li>
            <t><strong>Backpressure and Flow Control</strong>: Prefer streaming transports (HTTP/2/3,
gRPC) or messaging systems with flow control when returning large/continuous
results.</t>
          </li>
        </ul>
      </section>
      <section anchor="a2a-and-mcp-in-context">
        <name>A2A and MCP in Context</name>
        <ul spacing="normal">
          <li>
            <t><strong>A2A Agent Cards</strong>: Describe capabilities/endpoints commonly invoked via
RPC-style calls (tool execution, configuration). They benefit from messaging for
discovery, eventing, and long-running workflows.</t>
          </li>
          <li>
            <t><strong>MCP</strong>: Standardizes RPC-like interactions (resources, tools, prompts). For
multi-party sessions, combine MCP RPC with a messaging layer for broadcast,
presence, and coordination.</t>
          </li>
        </ul>
      </section>
      <section anchor="slim-rpc-srpc">
        <name>SLIM RPC (SRPC)</name>
        <t>SLIM also supports a native RPC style via SRPC (Slim RPC), which layers
request/response semantics on top of SLIM's interactive, real-time messaging.
SRPC addresses practical RPC concerns in distributed agent systems:</t>
        <ul spacing="normal">
          <li>
            <t>Correlation and reply routing for synchronous calls over an async transport</t>
          </li>
          <li>
            <t>Idempotency keys and deduplication to make retries safe</t>
          </li>
          <li>
            <t>Lightweight synchronization/ordering guarantees for request/response and streaming</t>
          </li>
          <li>
            <t>Seamless fit for A2A/MCP-style tool calls while retaining SLIM's MLS security and multiplexing</t>
          </li>
        </ul>
        <t>See SRPC reference and examples: <eref target="https://github.com/agntcy/slim/blob/main/data-plane/python/integrations/slimrpc/README.md">SLIM RPC (SRPC) README</eref>.</t>
      </section>
      <section anchor="advantages-of-slim-for-a2a-apis">
        <name>Advantages of SLIM for A2A APIs</name>
        <t>SLIM augments existing A2A-style RPC with capabilities that are difficult to
achieve over plain request/response transports:</t>
        <ul spacing="normal">
          <li>
            <t><strong>Simultaneous fan-out RPC (scatter-gather)</strong>: Invoke a single RPC across many
agents (by topic/group/labels) concurrently and aggregate responses
(first-success, quorum, all-success) with correlation IDs.</t>
          </li>
          <li>
            <t><strong>Group addressing and dynamic membership</strong>: Target MLS-secured groups;
add/remove agents without reconfiguring endpoints.</t>
          </li>
          <li>
            <t><strong>Streaming responses</strong>: Return partial results or token streams from each
agent over a single multiplexed connection (gRPC over HTTP/2/3).</t>
          </li>
          <li>
            <t><strong>Idempotency and safe retries</strong>: SRPC supports idempotency keys and
deduplication, enabling robust retry without duplicating effects.</t>
          </li>
          <li>
            <t><strong>QoS, deadlines, and backpressure</strong>: Apply delivery guarantees, per-call
timeouts, and flow control to avoid overload while maintaining interactivity.</t>
          </li>
          <li>
            <t><strong>End-to-end security and multi-tenant isolation</strong>: MLS E2E encryption and
OAuth-based policy across both RPC and messaging channels.</t>
          </li>
          <li>
            <t><strong>Observability and tracing</strong>: Correlation/causation IDs and standardized
transport enable distributed tracing and per-agent metrics.</t>
          </li>
        </ul>
        <t>These capabilities let A2A-style tool calls scale beyond one-to-one
interactions, enabling broadcast queries, coordinated multi-agent actions, and
efficient collection of results in real time.</t>
      </section>
      <section anchor="security-implications">
        <name>Security Implications</name>
        <ul spacing="normal">
          <li>
            <t><strong>Identity and Authorization</strong>: Reuse OAuth tokens across RPC (gRPC) and
messaging (SLIM channels as topics) for consistent policy enforcement.</t>
          </li>
          <li>
            <t><strong>End-to-End Security</strong>: MLS-backed secure channels (SLIM) so both RPC and
messaging inherit end to end message encryption.
## Guidance: When to Choose What</t>
          </li>
          <li>
            <t>Use <strong>RPC (A2A/MCP)</strong> for low-latency, point operations with immediate
feedback and well-defined error contracts.</t>
          </li>
          <li>
            <t>Use <strong>Messaging</strong> for broadcast/fan-out, decoupling, retries, buffering, and
multi-party coordination.</t>
          </li>
          <li>
            <t>Use <strong>Streaming RPC or RPC over Messaging</strong> for interactive UX with
partial/continuous results or uncertain duration operations.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="comparison">
      <name>Comparison</name>
      <t>Table 1 provides a detailed comparison of three popular messaging protocols commonly considered for agent communication systems:</t>
      <table>
        <thead>
          <tr>
            <th align="left">Feature</th>
            <th align="left">AMQP (e.g. RabbitMQ)</th>
            <th align="left">MQTT</th>
            <th align="left">NATS</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">
              <strong>Protocol Type</strong></td>
            <td align="left">Message queueing (queues/exchanges)</td>
            <td align="left">Lightweight pub/sub for IoT</td>
            <td align="left">Lightweight messaging (pub/sub, req/reply, queue groups)</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Transport</strong></td>
            <td align="left">TCP (optionally TLS)</td>
            <td align="left">TCP (optionally TLS)</td>
            <td align="left">TCP (optionally TLS)</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Message Model</strong></td>
            <td align="left">Queues, exchanges, routing keys</td>
            <td align="left">Topic-based</td>
            <td align="left">Subjects (pub/sub), queue groups, request/reply</td>
          </tr>
          <tr>
            <td align="left">
              <strong>QoS / Delivery</strong></td>
            <td align="left">At-least-once, exactly-once (AMQP 1.0)</td>
            <td align="left">QoS 0 (at-most-once), 1, 2 (exactly-once)</td>
            <td align="left">At-most-once (core), at-least-once with JetStream</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Streaming</strong></td>
            <td align="left">Via extensions/plugins (e.g. RabbitMQ Streams)</td>
            <td align="left">Not native (requires broker extensions)</td>
            <td align="left">Native with JetStream</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Persistence</strong></td>
            <td align="left">Yes (durable queues)</td>
            <td align="left">Broker-dependent</td>
            <td align="left">Optional via JetStream</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Protocol Overhead</strong></td>
            <td align="left">Higher (rich feature set)</td>
            <td align="left">Very low</td>
            <td align="left">Very low</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Broker Required</strong></td>
            <td align="left">Yes</td>
            <td align="left">Yes</td>
            <td align="left">Optional (but common)</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Authentication</strong></td>
            <td align="left">User/password, SASL (e.g., LDAP, Kerberos)</td>
            <td align="left">Username/password or custom tokens</td>
            <td align="left">NKey, JWT, token, user/password</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Transport Security</strong></td>
            <td align="left">TLS</td>
            <td align="left">TLS</td>
            <td align="left">TLS</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Message Security</strong></td>
            <td align="left">Typically broker-level or plugin-based encryption</td>
            <td align="left">Usually none at message level; rely on TLS</td>
            <td align="left">None in core (TLS in transit), JetStream can encrypt at rest</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Binary or Text</strong></td>
            <td align="left">Binary framing</td>
            <td align="left">Binary framing</td>
            <td align="left">Text-based protocol (core), binary clients available</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Use Cases</strong></td>
            <td align="left">Enterprise messaging, financial transactions, RPC</td>
            <td align="left">IoT, mobile, sensor networks</td>
            <td align="left">Cloud-native microservices, real-time communications</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Real-World Usage</strong></td>
            <td align="left">Very widely used via RabbitMQ (top open-source broker) in enterprises of all sizes</td>
            <td align="left">Dominant in IoT ecosystems; supported by many device/broker vendors</td>
            <td align="left">Gaining traction in cloud-native (CNCF project), used by major tech companies</td>
          </tr>
        </tbody>
      </table>
      <t>Table 2 extends the comparison to include additional protocols relevant to modern agentic AI systems:</t>
      <table>
        <thead>
          <tr>
            <th align="left">Feature</th>
            <th align="left">AMQP over WebSockets</th>
            <th align="left">Kafka</th>
            <th align="left">SLIM</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">
              <strong>Protocol Type</strong></td>
            <td align="left">AMQP tunneled through WebSockets</td>
            <td align="left">Distributed commit log, high-throughput pub/sub</td>
            <td align="left">SLIM Spec</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Transport</strong></td>
            <td align="left">WebSockets over TLS</td>
            <td align="left">TCP (optionally TLS)</td>
            <td align="left">gRPC (over HTTP/2-HTTP/3)</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Message Model</strong></td>
            <td align="left">Same as AMQP (depends on the broker's AMQP model)</td>
            <td align="left">Topics with partitions, consumer groups, offset-based consumption</td>
            <td align="left">Topics based on organization, namespace, agent types etc.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>QoS / Delivery</strong></td>
            <td align="left">Same as AMQP</td>
            <td align="left">At-least-once default; exactly-once possible via transactions</td>
            <td align="left">Fire&amp;Forget unreliable (at-most-once), unreliable and reliable (exactly-once). This extends to request/reply and streaming as well.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Streaming</strong></td>
            <td align="left">Same as AMQP if broker supports streaming</td>
            <td align="left">Native log-based streaming (Kafka Streams, KSQL, etc.)</td>
            <td align="left">Native gRPC support via HTTP/2/3 client streaming, server streaming. Notice that Server Sent Events (SSE) with HTTP/1.1 cannot carry binary nor compressed data.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Persistence</strong></td>
            <td align="left">Same as AMQP</td>
            <td align="left">Built-in: messages persist on disk across clusters</td>
            <td align="left">Not supported</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Protocol Overhead</strong></td>
            <td align="left">Higher (AMQP + WebSockets handshake)</td>
            <td align="left">Moderate (custom binary protocol, but optimized for high throughput)</td>
            <td align="left">Low: Wire format uses protocol buffer. Supports also binary (byte type in protobuf)</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Broker Required</strong></td>
            <td align="left">Yes</td>
            <td align="left">Yes (distributed cluster)</td>
            <td align="left">Yes for efficient multi-party. P2P is also possible.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Authentication</strong></td>
            <td align="left">Same as AMQP (broker-based)</td>
            <td align="left">SASL/PLAIN, SASL/SCRAM, Kerberos, OAuth</td>
            <td align="left">Transports MLS credentials and proofs inside OAuth bearer tokens over HTTP/2. This gives you: Interoperability: Leverage standard HTTP/2 and OAuth libraries. Scalability: One persistent HTTP/2 connection carries many MLS messages. Immediate revocation: Eject bad actors by revoking their OAuth tokens—no need to rebalance the ratchet tree first.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Transport Security</strong></td>
            <td align="left">WSS (WebSocket Secure)</td>
            <td align="left">TLS</td>
            <td align="left">TLS</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Message Security</strong></td>
            <td align="left">Same as AMQP (depends on the broker's encryption at rest/in-transit)</td>
            <td align="left">TLS in-flight encryption, optional at-rest encryption (broker config)</td>
            <td align="left">MLS (Quantum safe, Secure end-to-end, even across insecure hops, post-compromise security)</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Binary or Text</strong></td>
            <td align="left">Binary AMQP frames over WebSockets</td>
            <td align="left">Binary protocol (common payloads: Avro, JSON, Protobuf)</td>
            <td align="left">Binary or Text</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Use Cases</strong></td>
            <td align="left">Browser-based apps needing AMQP behind firewalls</td>
            <td align="left">High-throughput data pipelines, streaming analytics, event sourcing</td>
            <td align="left">Group messaging, one-to-many, many-to-many, Cloud-native microservices, real-time communications, streaming</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Real-World Usage</strong></td>
            <td align="left">Less common, mainly for browser/firewall scenarios using RabbitMQ or similar</td>
            <td align="left">Extremely widespread across industries; de facto standard for large-scale event streaming</td>
            <td align="left">New Entrant, low</td>
          </tr>
        </tbody>
      </table>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC9420">
          <front>
            <title>The Messaging Layer Security (MLS) Protocol</title>
            <author fullname="R. Barnes" initials="R." surname="Barnes"/>
            <author fullname="B. Beurdouche" initials="B." surname="Beurdouche"/>
            <author fullname="R. Robert" initials="R." surname="Robert"/>
            <author fullname="J. Millican" initials="J." surname="Millican"/>
            <author fullname="E. Omara" initials="E." surname="Omara"/>
            <author fullname="K. Cohn-Gordon" initials="K." surname="Cohn-Gordon"/>
            <date month="July" year="2023"/>
            <abstract>
              <t>Messaging applications are increasingly making use of end-to-end security mechanisms to ensure that messages are only accessible to the communicating endpoints, and not to any servers involved in delivering messages. Establishing keys to provide such protections is challenging for group chat settings, in which more than two clients need to agree on a key but may not be online at the same time. In this document, we specify a key establishment protocol that provides efficient asynchronous group key establishment with forward secrecy (FS) and post-compromise security (PCS) for groups in size ranging from two to thousands.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9420"/>
          <seriesInfo name="DOI" value="10.17487/RFC9420"/>
        </reference>
        <reference anchor="RFC7540">
          <front>
            <title>Hypertext Transfer Protocol Version 2 (HTTP/2)</title>
            <author fullname="M. Belshe" initials="M." surname="Belshe"/>
            <author fullname="R. Peon" initials="R." surname="Peon"/>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>This specification describes an optimized expression of the semantics of the Hypertext Transfer Protocol (HTTP), referred to as HTTP version 2 (HTTP/2). HTTP/2 enables a more efficient use of network resources and a reduced perception of latency by introducing header field compression and allowing multiple concurrent exchanges on the same connection. It also introduces unsolicited push of representations from servers to clients.</t>
              <t>This specification is an alternative to, but does not obsolete, the HTTP/1.1 message syntax. HTTP's existing semantics remain unchanged.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7540"/>
          <seriesInfo name="DOI" value="10.17487/RFC7540"/>
        </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="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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="AMQP" target="https://www.oasis-open.org/standards#amqp">
          <front>
            <title>OASIS Advanced Message Queuing Protocol (AMQP) 1.0 Specification</title>
            <author initials="" surname="OASIS" fullname="OASIS">
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="MQTT" target="https://docs.oasis-open.org/mqtt/mqtt/v5.0/mqtt-v5.0.html">
          <front>
            <title>OASIS MQTT Version 5.0 Specification</title>
            <author initials="" surname="OASIS" fullname="OASIS">
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="NATS" target="https://docs.nats.io/">
          <front>
            <title>NATS Documentation</title>
            <author initials="S." surname="Communications" fullname="Synadia Communications">
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="Kafka" target="https://kafka.apache.org/documentation/">
          <front>
            <title>Apache Kafka Documentation</title>
            <author initials="A. S." surname="Foundation" fullname="Apache Software Foundation">
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="gRPC" target="https://grpc.io/docs/">
          <front>
            <title>gRPC Documentation</title>
            <author initials="" surname="CNCF" fullname="CNCF">
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="SLIM" target="https://spec.slim.agntcy.org">
          <front>
            <title>AGNTCY SLIM Specification</title>
            <author initials="" surname="AGNTCY" fullname="AGNTCY">
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA61923Ib15Ll+/6KPVLEGHQDhKXjntOH7ugeipJs9SElSqCP
29HRDwVgE6yjQhVcF1JwyxH+iHmZiOmI+Zb5FH9J58rMfSuCsnpmHA6JAuqy
L5krV152cjabmcePH5vH9rnrVm2568umts21vXBdV2zKemNfrJpu3/Vuyxf2
ZV+5E/votLZvbl17W7q7/PIFX9vZol7bqxtXtvZ0t6vKVbEsq7Lf276xpxtX
9+XKnr56ZIrlsnW39MBiU6/6/WzrHzRzq+aRWRW92zTt/sSW9XVjzLpZ1cWW
BrBui+t+tt11yxnd2a/SO7/6ynTDclt2HU2m3+8c7l67naM/6t7Uw3bp2hOz
pmefmFVTd67uhu7EXhdV5wwN5g+maF1x4keONenMXdO+37TNsDuxr+LT7CK8
ybx3e7pofWLsjObGf4aZ4l9nzXY71OGB9Mk7V1R9uXXGFEN/09CgzMxY+u96
qCqZ6PmwKuzF0K2KtnRV1fDXTbsp6vJnftCJPSu7lXzutkVZndhq2PIN/32F
b45XzfbeYy/K1Y2rnL0sdkVV1uXnPHZbrna4/FOPLYa2sYuiXRdt8VnP7OTa
TzxzUWztM9f33ec8rytoc+na5HkGotNu6Y5b2m9rTy/eXp7wPV6Y35wuXi3s
6fq2qFdurcLs7NvBDRDpy7bpm1VT2QluPbJPjr+yi51blde6l4/4aX4Lrf43
szJ+frq8r2g3rj+xN32/607m87u7u+Om6Mpu1pA4HdPU5l1PikNL0j0utj/t
6K6Lt1dXh0aLz+1fXAvJs3/7OSP6/fGQdnXjAW1/6nv545bewj/N8NPxTb+t
6CmvT68W+fjwiX3erIYtCf/vjmaxr4t1WdxTjoeGVxd9d1w2c7riz8X1+yJ/
9+muILmWbz5/DHrXornu70jz7ctmoE3AXQfH8R5PPy74Jl6jdfoijGzz7vIs
Hxg++fwBnb0+e3nw1Zt2t8LssRR40eL81cVoBb59fXX2I3/x+SIhNx18Y0fP
OO6qcnssOIsJE0rNZrZYdn1brHpjIszZTuG/dT8NJS1lQGUAeFvQHcOqH+iL
/qbobTfsdk3b4/KimjESkp5VxbJpecxTe1Nubma3DSGas3SzK7b0rClblzVJ
DkGSZVC2q4agt6z5Nlus2qbrzLqkW8rl0JNS164HgnfH9qolgcNlRWV3qtqd
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
6a8kzfn4YfuwNOFSLAw5X8GXfNssUIZf4JCBb9y0TDgCB5l2wsgPNNBFtB34
YDyXVmcntf5gyLdNueaF4Mja/RRx5nfJyF7ESNB9gJnRYoCYl11TxUpDwqIX
T1+MupCZpF0skW1aBl+8LCVurCh1GqfzXp6MIwv+Snin5ZAQxxceImCKtMGy
r016mFOLzqLZ0UdqiV07822XcIpW6/S6nOLYivQjglGC1JKa1Lqx6KiblFEk
8hIsP44OSo1q5KXrrHlEuJlLyZO+NsSLV75S26tQ2llzVCuX5+dVH2J/i1Pu
Oa62TZQU8bas8lN3kNFQuCjGFPdwwvAd/PVCazwJn7R1oi+FVYlw6Pm/Yl8o
E78X8FiSmjMgEp8ZXod+wP4d/MojSywolaus+oS7oQCZoBQPHUqnlfp2KNcI
cp5IZIAuPrvhGMoPOIdH44OHFONdcwl38dTSXpKWATANUokfEY6rXDu3xmx4
2bm/xRodg2lyBwJP8s7gcer7gvjM1UIBTmKoRzFtHPPJCGtOMf2LMq8QgHzf
6dUhJFQQ/jnmaBTQEy8jxfah9mdW14OvYI15A+mkjMPNBC81KR+r65O0oje0
F1yF6+SEIIqNP9FNMrojK8046tmDg63FAgv9aF9q27KPcmaaG9CGDmJH9DH/
foeP0kHho/k48//Fn7L/PuZ/0Ru+/DIEqa/2OwJ+PDQ9VMxqJQHBeWj5h1en
zNS3kfQ9bvJvE/3UC7kby1w7saRdWI6sDCr04eIBXZEnM/G5BlrFKzQk/09+
zI/1M+MwPT/6rbYuTLoZph0M8bikJddH/CIXjpGGqRzlE5gmDA/2U96LhlHz
EE7lF5+mRySn+RmfSegriBGim5XNu1lxG617Haj4obG7zAQNZ9B6MzuMyVgQ
2rjo+ILW8dD+UhZJc6X5rho2CIvl0ufPL+O1r5veO36Th7s08ZVy1cFBXMbc
EQ/jR3rIJGtVyI94JvXk8XfrfLRvfBoKzua9x3r5fqOlA/zw76StwWTcHRBv
+ItvupX+yM+Sd/vc+zoM0/8ZBjJBjaFovZe9vCsL30qQ1853RdehOfuUm+75
JtPSes+33TvSi3HyINzAJyuI9KExnZjHj9y3ZYpmLtqmespByXjLSLsSIwdJ
JyaV/ZnpTH5pKLvU8n5puoWwGkuL6kvCyTCBge+oiZbYeBpKqoO+CZWt8v7X
uKispWnSBJ+Vta+zJJmOm7zig7hS6My1YkRpdLPkQCSN6YqEkIetH6GZODT8
wAe41LPGkL1TRdITlisOQXc21FDq+2DAzgr2MOhBLw50AZmSw13jPAoIUnZ4
GlbuI6ATHWGJ7LmpL6/xvQbo67O0uU7WhyqNhYwqtGVsnDn4gQ+efI9FFz13
7CussfB8iA3qE/R7wpEXUrKZ5g9lp9EbJCkwkSI3/HITDmR9tM+bbSkkvWZT
4PwvBuu+8a6NpHM4USTN0OaKFbek0U2Lp3yrHkKv1JVFIZ3+BL/8BlsEND6a
hkN42+Kv8OKc1IPtihqk+aO35k/DqUbp/BusOHqFaseZA+1SuOzaIXLAYZqH
TjYfMtnjNicftTLmowQfft9mf8z+fshk87uk2088Opi/9/nB1iL6u3OSoj9v
yz/G3w500CgnD+dJKm4ctsnsEk8Sn3gmp6ofNswLtFwotFnMRNC+83kjkZcv
9FuuUTvyproLaVdt4jANmcNgo9FJ1vWhsVAswAvPOHgQLDn6Nc2OZrl+dfyw
qc+mMrL8vmXCNzkD0PSQpmcTqKD7cfz4v76Uo8dDHU4JjxlC8pUEMP11GWkY
HfblM2opf8mP9BaS/jo+SBuyaZbXngCEeEZ8TOABsSI1fjnJ2qNMuTfKlFc4
IRCbJFLCa+QjLYrOaVqN25MkuY1j8BUcEeeg3UK+XeCmF9LjdLJYvNCIFj/2
yfETf6RGzkiqIaj90UaEmrX5ygNcZiQCz7Qjy0k8Q+D7K0sToPfe1Q09WYRl
RQT9HHLDb/ubVFNRtNrdFO+ZLXIpFmJ9E6URo+YEclKiCX10fTulpESYHYHm
jjzW2MAAWJx00hIX8JiYs08SIGWgr5os9zigQEoEhOd76Pqjz6JbkwPNUI70
u7Q3X28Tt/PYXj69RD8aHoVXs+OHOVqOQ+lhRrwLlG1+eX766rXQt/ni7N3p
xTTplyzxi4+xs3B36ESzP8Ncsnv4e2eYVWk3pAkdfrnGiR0fUY4HlD/nfDJt
TqyrO7Fv6k8fG/Zdt8WEYzZeio/tofPAJ/YFrDRhKvqp9LDwnz7hi0NXTWgK
5E/xSqmYHvGVA74cmT7+NKv9YbGwk3GrtaPPJbqfZ4bS2KNw0DlxYE9X9S30
yXUlv/Mr6RITSugKtFPo0i+9uGleklWWnjPRE3RW+h1o65ZYQjfVc3gCICRR
csFNs/vEb3g5+l3SzCvAv4anO8Bqno36mkzE+SEzvOdGIyf29LZtiLgv3pCq
XEZFt/kbD3LpZ1njxGK3k/IeTsxgVEt3UyL+rI0IO4XAlNVIyWC5cxrxTmwa
flUEso2axLVMd8VMfau/qCvw97TqKSt5mv5fsfN0HJ8g6ufSgggLOuUAerX3
UTisy9xPPDmzM3CqJZB56QFVIj5FrsmHHjWYlZB/+R02UVx8Cek3Fr25oa/5
L5lIfimdX7DUsLs7uD5IFUzVcf4Pu9U6CD54AAA=

-->

</rfc>
