From b97d077be5574c04d8fb9ca89118cd7a75bd06f7 Mon Sep 17 00:00:00 2001 From: Marcus Date: Thu, 4 Apr 2024 16:10:02 +0200 Subject: [PATCH 01/16] Update readme.md added clarification on the documented links --- api/readme.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/api/readme.md b/api/readme.md index f6c7bce..6ab6a56 100644 --- a/api/readme.md +++ b/api/readme.md @@ -10,4 +10,7 @@ npx @redocly/cli build-docs toip-tswg-trustregistryprotocol-v2.yaml --output ../ NOTE: the `--output` switch is required as SpecUp only takes content from the `./docs` folder (and below). -That produces the [Redoc Rendered OpenAPI Spec](redoc-static.html) \ No newline at end of file +That produces the [Redoc Rendered OpenAPI Spec](redoc-static.html) (NOTE: this is a local link) + +A reference to Redoc can be found [here](https://github.com/Redocly/redoc). + From dd7d1bb654de49117dbb42f937859593afcb581d Mon Sep 17 00:00:00 2001 From: Antti Kettunen Date: Fri, 5 Apr 2024 12:06:53 +0300 Subject: [PATCH 02/16] Restructuring & new intro - Restructured the content according to ToIP spec format. - Wrote new introduction chapter (scope) - Consolidated repeating chapters to one (in scope + introduction) - Moved inline terms to own terms chapter --- spec/foreword.md | 53 ++++------------- spec/introduction.md | 67 ++++++++++++++++++--- spec/scope.md | 107 ---------------------------------- spec/terms_and_definitions.md | 42 +++++++------ specs.json | 4 +- 5 files changed, 96 insertions(+), 177 deletions(-) delete mode 100644 spec/scope.md diff --git a/spec/foreword.md b/spec/foreword.md index db103ed..d139ac8 100644 --- a/spec/foreword.md +++ b/spec/foreword.md @@ -7,33 +7,19 @@ [//]: # (\newpage) +## Scope +The usefulness of an ecosystem is largely dependant on its ability to assert trust for and between its members. This is true for traditional ecosystems, but even more so with digital ecosystems. With the growing trend on decentralisation of digital services, we are also seeing increased need to transitively assert trust across ecosystems. -## Foreword - -ToIP (Trust Over IP Foundation) create a _____ - -::: todo -Preamble along the lines of an ISO Foreword. -::: - -List significant changes (non-normative): - -* Shift away from a pure Issuer/Holder/Verifier approach to support non-credential use cases. -* Addition of namespacing concep to begin normalization of trust registries naming conventions. -* Enrichment of registry-of-registry concept to allow for registries that focus primarily on providing a list of registries. +The term [[ref:trust]] is loaded with varied meanings that may conflict. In the context of trust registries we want to be clear what we mean, when we apply the term “trust”. A trust registry does not create trust by itself. The decision for one entity to “trust” another is each party's own decision. The purpose of the trust registry is to provide access to a system of record that contains answers to questions that help drive those trust decisions. -### On Trust, Trustworthy, and Trustworthiness +A trust registry may provide information that helps the [[ref:consuming party]] in deciding that an entity is [[ref:trustworthy]]. +The ToIP Trust Registry Protocol helps ecosystems create the foundation of trust within its governed domain, by providing a common protocol for querying information that helps the consuming party in deciding that an entity is [[ref: trustworthy]]. -The term [[ref:trust]] is loaded with varied meanings that often conflict. In the context of [[ref:trust registries]] we need to establish the scope of what we are talking about when we apply the term "trust" to trust registires. There are baseline definitions that follow this limiting scope. +In addition to providing information on its own ecosystem, the Trust Registry Protocol (TRP) enables creation of a registry of registries. This is done by allowing an ecosystem to assert trust to other trust registries, and thus ecosystems. This can be achieved by allowing a governance entity to assert that consuming parties that rely on the trust registry, may also utilize information from another trust registry for additional assertions. This effectively creates transitive trust across ecosystems to achieve wider reach. -A trust registry does not create trust. The decision for one entity to "trust" another is their decision. A trust registry may provide information that helps the *consuming party* in deciding that an entity is [[ref: trustworthy]]. - -::: todo - define term "*consuming party*" - OR find better term and capture definition. - - -### Copyright Notice +The Trust Registry Protocol serves to provide a simple interface to enable querying of systems of record that provide the information that drives a trust registry. There are a plethora of systems that contain answers that are required to make trust decisions. The protocol is intended to make the communication with any particular system-of-record consistent and simple. +## Foreword This specification is subject to the **OWF Contributor License Agreement 1.0 - Copyright** available at [https://www.openwebfoundation.org/the-agreements/the-owf-1-0-agreements-granted-claims/owf-contributor-license-agreement-1-0-copyright](https://www.openwebfoundation.org/the-agreements/the-owf-1-0-agreements-granted-claims/owf-contributor-license-agreement-1-0-copyright). @@ -41,28 +27,11 @@ If source code is included in the specification, that code is subject to the Apa These terms are inherited from the Technical Stack Working Group at the Trust over IP Foundation. [Working Group Charter](https://trustoverip.org/wp-content/uploads/TSWG-2-Charter-Revision.pdf) - -### Terms of Use - -These materials are made available under and are subject to the [OWF CLA 1.0 - Copyright & Patent license](https://www.openwebfoundation.org/the-agreements/the-owf-1-0-agreements-granted-claims/owf-contributor-license-agreement-1-0-copyright-and-patent). Any source code is made available under the [Apache 2.0 license](https://www.apache.org/licenses/LICENSE-2.0.txt). - THESE MATERIALS ARE PROVIDED “AS IS.” The Trust Over IP Foundation, established as the Joint Development Foundation Projects, LLC, Trust Over IP Foundation Series ("ToIP"), and its members and contributors (each of ToIP, its members and contributors, a "ToIP Party") expressly disclaim any warranties (express, implied, or otherwise), including implied warranties of merchantability, non-infringement, fitness for a particular purpose, or title, related to the materials. The entire risk as to implementing or otherwise using the materials is assumed by the implementer and user. IN NO EVENT WILL ANY ToIP PARTY BE LIABLE TO ANY OTHER PARTY FOR LOST PROFITS OR ANY FORM OF INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER FROM ANY CAUSES OF ACTION OF ANY KIND WITH RESPECT TO THESE MATERIALS, ANY DELIVERABLE OR THE ToIP GOVERNING AGREEMENT, WHETHER BASED ON BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE), OR OTHERWISE, AND WHETHER OR NOT THE OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -### Introduction - -*This section is non-normative* - -A [[ref: trust registry]] is a resource that helps to bind governance (business, legal, and social mandates) for an ecosystem. A trust registry helps get the main answers that parties inside and outside of the ecosystem need to tie the governance into their own systems - both technically (it is a protocol) and on a governance (the information provided is created via a governed process). - -It is crucially important to understand that a trust registry does not create trust, nor the conditions for trust, by itself. Trust and belief in the data provided by a trust registry is an outcome of governance. - -We need answers to a simple question: - -> Does `Entity X` have `Authorization Y`, in the context of `Ecosystem Governance Framework Z`? + +### Conventions +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 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. -[[def: trustworthiness]] -~ An attribute of a person or organization that provides confidence to others of the qualifications, capabilities, and reliability of that entity to perform specific tasks and fulfill assigned responsibilities. Trustworthiness is also a characteristic of information technology products and systems (see Section 2.6.2 on trustworthiness of information systems). The attribute of trustworthiness, whether applied to people, processes, or technologies, can be measured, at least in relative terms if not quantitatively.48 The determination of trustworthiness plays a key role in establishing trust relationships among persons and organizations. The trust relationships are key factors in risk decisions made by senior leaders/executives. NOTE: Current state-of-the-practice for measuring trustworthiness can reliably differentiate between widely different levels of trustworthiness and is capable of producing a trustworthiness scale that is hierarchical between similar instances of measuring activities (e.g., the results from ISO/IEC 15408 [Common Criteria] evaluations). -- source: [NIST Special Publication 800-39](https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-39.pdf) p.24 diff --git a/spec/introduction.md b/spec/introduction.md index eded113..6f628e4 100644 --- a/spec/introduction.md +++ b/spec/introduction.md @@ -1,14 +1,67 @@ [//]: # (Pandoc Formatting Macros) -[//]: # (::: introtitle) +[//]: # (\mainmatter) -[//]: # (Introduction) - -[//]: # (:::) +[//]: # (\doctitle) ## Introduction +*This section is non-normative* + +A [[ref: trust registry]] is a resource that helps to bind governance (business, legal, and social mandates) for an ecosystem. A trust registry helps get the main answers that parties inside and outside of the ecosystem need to tie the governance into their own systems - both technically and on a governance (the information provided is created via a governed process). + +It is crucially important to understand that a trust registry does not create trust, nor the conditions for trust, by itself. Trust and belief in the data provided by a trust registry is an outcome of governance. + +We need answers to a simple question: + +> Does `Entity X` have `Authorization Y`, in the context of `Ecosystem Governance Framework Z`? + +The Trust Registry Protocol (TRP) serves to provide a simple interface to enable querying of systems of record that provide the information that drives a trust registry. There are a plethora of systems that contain answers that are required to make trust decisions. The protocol is intended to make the communication with any particular system-of-record consistent and simple. + +It is intentionally simple to allow rapid integration into external systems. + +The TRP does not: + * create a trust registry - it allows (read-only) access to a system-of-record that has the data needed to generate answers that a trust registry provides. + * create new information - the Create, Update, and Delete of CRUD are not supported. Systems-of-record perform the full CRUD operations. The protocol provides a simple and consistent way of retrieving information from a system. + * create nor implement governance - the system-of-record that supports the TRP may have technical ways of doing this, supported by manual operations. Regardless, the TRP has no opinion on how governance is implemented - just that the information retrieved complies with the stated EGF. + * make decisions - the TRP serves up data that are inputs to trust decisions. + * assign Roles or Rights, though a consuming system may take information that is received via the TRP and assign these. + +It is most crucial to understand that a Trust Registry does NOT create authority. The authority of a trust registry is an outcome of governance. + +The purpose of this [[xref: TOIP, ToIP specification]] is to define a standard interoperable protocol for querying a global web of [[xref: TOIP, peer]] [[xref: TOIP, trust registries]], each of which can answer queries about whether a particular [[xref: TOIP, entity]] holds an [[ref:authorization]], in a particular [[xref: TOIP, digital trust ecosystem]] (defined under an [[xref: TOIP, EGF]]), as well as which peer trust registries acknowledge each other. + +### Trust Registry Protocol features +A core role within the ToIP stack is a [[xref: TOIP, trust registry]]. This is a network service that enables the [[xref:TOIP, governing authority]] for an [[xref: TOIP, EGF]] to share information about their ecosystem. In particular, which [[xref: TOIP, governed parties]] hold which [[ref: authorizations]] under the EGF. + +A trust registry protocol thus should provide the following features: + +1. interface to query if a particular [[xref: TOIP, entity]] holds specific [[ref:authorization]] under a defined [[xref: TOIP, EGF]]? + - e.g. "Does entity X hold the authorization of `canada.driver.license.issue` under Canadian Driver's license scheme?" +2. interface to query what other trust registries are recognized by this trust registry? + +### Read-only query Protocol +The primary question (Does `Entity X` have `Authorization Y`, in the context of `Ecosystem Governance Framework Z`) we need an answer to when working in an ecosystem is in itself a simple query. Furthermore, it is read-only query and it doesn't modify any information in a system of record. It just makes data available. + +In the web service world the TRP is purely a GET protocol. + +Just as important it is to understand what the Trust Registry Protocol does NOT do. The TRP does NOT: +* affect the operations and governance of the systems that support querying using the TRP. +* create, update, or delete data in a system. In web services this means the TRP does to PUT, POST, DELETE, and other non-GET operations. + +As with all layers of the [[xref: TOIP, ToIP stack]], the purpose of a [[xref: TOIP, ToIP specification]] is to enable the technical interoperability necessary to support transitive trust within and between different [[xref: TOIP, trust communities]] implementing the [[xref: TOIP, ToIP stack]]. In this case, the desired interoperability outcome is a common query protocol that works between any number of decentralized peer trust registries operated by independent governing authorities** representing multiple legal and business jurisdictions. + +### Registry of Registries +A Registry of Registries (RoR), is a form of [[xref: TOIP, trust registry]] that primarily serves information about other [[xref: TOIP, trust registries]]. + +1. What other [[xref: TOIP, governing authorities]] are known to the RoR. +2. Which [[xref: TOIP, trust registry]] are known to be authoritative for particular actions. Examples: + - Which trust registry is known to issue university diplomas for a particular jurisdiction? + - Which trust registry is known to manage a list of professionals (e.g. CPAs, lawyers, engineers) that have particular signing rights (authorizations)? +3. Which [[xref: TOIP, trust registry]] are known to operate under a given [[xref: TOIP, EGF]]. + +The results on a [[xref: TOIP, trust decision]] based on input from a trust registry may range from: +* immediate decision that the entity meets or cannot meet the full requirement of the [[ref:trust relationship]]; or +* further input is required before trust decision can be made. -::: todo -create introduction -::: +These decisions relate to a determination that a relationship is (or is not) sufficiently [[ref: trustworthy]] to establish a [[ref: trust relationship]]. To reach that determination, each party may have its own way of determining the [[ref: trustworthiness]] of their counterparty for the [[ref: trust relationship]] that they require. diff --git a/spec/scope.md b/spec/scope.md deleted file mode 100644 index c90d8f0..0000000 --- a/spec/scope.md +++ /dev/null @@ -1,107 +0,0 @@ - -[//]: # (Pandoc Formatting Macros) - -[//]: # (\mainmatter) - -[//]: # (\doctitle) - -## Scope - -The Trust Registry Protocol (TRP) serves to provide a simple interface to enable querying of systems of record that provide the information that drives a trust registry. There are a plethora of systems that contain answers that are required to make trust decisions. The protocol is intended to make the communication with any particular system-of-record consistent and simple. - -It is intentionally simple to allow rapid integration into external systems. - -The TRP does not: - * create a trust registry - it allows (read-only) access to a system-of-record that has the data needed to generate answers that a trust registry provides. - * create new information - the Create, Update, and Delete of CRUD are not supported. Systems-of-record perform the full CRUD operations. The protocol provides a simple and consistent way of retrieving information from a system. - * create nor implement governance - the system-of-record that supports the TRP may have technical ways of doing this, supported by manual operations. Regardless, the TRP has no opinion on how governance is implemented - just that the information retrieved complies with the stated EGF. - * make decisions - the TRP serves up data that are inputs to trust decisions. - * assign Roles or Rights, though a consuming system may take information that is received via the TRP and assign these. - -It is most crucial to understand that a Trust Registry does NOT create authority. As Jacques Latour says "the authority of a trust registry is an outcome of governance". - -### Purpose - -The purpose of this [[xref: TOIP, ToIP specification]] is to define a standard interoperable protocol for querying a global web of [[xref: TOIP, peer]] [[xref: TOIP, trust registries]], each of which can answer queries about whether a particular [[xref: TOIP, entity]] holds an [[ref:authorization]], in a particular [[xref: TOIP, digital trust ecosystem]] (defined under an [[xref: TOIP, EGF]]), as well as which peer trust registries acknowledge each other. - -The Trust Registry Protocol enables an interested party to ask the following question: - -> Does `Entity X` have `Authorization Y`, in the context of `Ecosystem Governance Framework Z`? - - - - -### Motivations - -A core role within the ToIP stack is a [[xref: TOIP, trust registry]]. This is a network service that enables the [[xref:TOIP, governing authority]] for an [[xref: TOIP, EGF]] to share information about their ecosystem. In particular, which [[xref: TOIP, governed parties]] hold which [[ref: authorizations]] under the EGF. For example: - -1. Does a particular [[xref: TOIP, entity]] hold a particular [[ref:authorization]] under an EGF? - - e.g. "Does entity X hold the authorization of `canada.driver.license.issue` under an EGF? - notionaly equating to the authority to "issue" a "driver license in Canada"; -2. What other trust registries are recognized by this trust registry? - -The Trust Registry Protocol is focused on answering those questions. - - -### Querying Consistently Requires a (Read-Only) Protocol - -One primary question we need an answer to when working in an ecosystem is (as stated throughout this specification): - -> Does `Entity X` have `Authorization Y`, in the context of `Ecosystem Governance Framework Z`? - - -This is a query - a simple one. Further, it is read-only. It doesn't modify any information in a system of record. It just makes data available. - -In the web service world the TRP is purely a GET protocol. - -Just as important, is to understand what the Trust Registry Protocol does NOT do. The TRP does NOT: - -* affect the operations and governance of the systems that support querying using the TRP. -* create, update, or delete data in a system. In web services this means the TRP does to PUT, POST, DELETE, and other non-GET operations. - -### Querying a Trust Registry - -As with all layers of the [[xref: TOIP, ToIP stack]], the purpose of a [[xref: TOIP, ToIP specification]] is to enable the technical interoperability necessary to support transitive trust within and between different [[xref: TOIP, trust communities]] implementing the [[xref: TOIP, ToIP stack]]. In this case, the desired interoperability outcome is a common query protocol that works between any number of decentralized peer trust registries operated by independent governing authorities** representing multiple legal and business jurisdictions. - -### Registry of Registry (MetaRegistry) - -A Registry of Registries (RoR), is a form of [[xref: TOIP, trust registry]] that primarily serves information about other [[xref: TOIP, trust registries]]. - -1. What other [[xref: TOIP, governing authorities]] are known to the RoR. -2. Which [[xref: TOIP, trust registry]] are known to be authoritative for particular actions. Examples: - - Which trust registry is known to issue university diplomas for a particular jurisdiction? - - Which trust registry is known to manage a list of professionals (e.g. CPAs, lawyers, engineers) that have particular signing rights (authorizations)? -3. Which [[xref: TOIP, trust registry]] are known to operate under a given [[xref: TOIP, EGF]]. - - -### On Trust, Trustworthy, and Trustworthiness - -The term [[ref:trust]] is loaded with varied meanings that often conflict. In the context of [[ref:trust registries]] we need to establish the scope of what we are talking about when we apply the term "trust" to trust registires. There are baseline definitions that follow this limiting scope. - -A trust registry does not create trust. The decision for one entity to "trust" another is their decision. A trust registry may provide information that helps the *consuming party* in deciding that an entity is [[ref: trustworthy]]. - -::: todo - define term "*consuming party*" - OR find better term and capture definition. -::: - -The results on a [[xref: TOIP, trust decision]] based on input from a trust registry may range from: -* immediate decision that the entity meets or cannot meet the full requirement of the [[ref:trust relationship]]; or -* further input is required before trust decision can be made. - -These decisions relate to a determination that a relationship is (or is not) sufficiently [[ref: trustworthy]] to establish a [[ref: trust relationship]]. To reach that determination, each party may have its own way of determining the [[ref: trustworthiness]] of their counterparty for the [[ref: trust relationship]] that they require. - -The following terms are presented to help create a general understanding and may be only indirectly related to trust registry efforts: - -[[def: trust]] -~ A belief that an entity will behave in a predictable manner in specified circumstances. The entity may be a person, process, object or any combination of such components. The entity can be of any size from a single hardware component or software module, to a piece of equipment identified by make and model, to a site or location, to an organization, to a nation-state. Trust, while inherently a subjective determination, can be based on objective evidence and subjective elements. The objective grounds for trust can include for example, the results of information technology product testing and evaluation. Subjective belief, level of comfort, and experience may supplement (or even replace) objective evidence, or substitute for such evidence when it is unavailable. Trust is usually relative to a specific circumstance or situation (e.g., the amount of money involved in a transaction, the sensitivity or criticality of information, or whether safety is an issue with human lives at stake). Trust is generally not transitive (e.g., you trust a friend but not necessarily a friend of a friend). Finally, trust is generally earned, based on experience or measurement. -- source: [NIST Special Publication 800-39](https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-39.pdf) p.24 - -[[def: trust relationship]] -~ An agreed upon relationship between two or more system elements that is governed by criteria for secure interaction, behavior, and outcomes relative to the protection of assets. -- source: [NIST SP 800-160v1r1](https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-160v1r1.pdf) - -[[def: trustworthy]] -~ Worthy of the confidence to others of the qualifications, capabilities, and reliability of that entity to perform specific tasks and fulfill assigned responsibilities. (note: based on the definition of [[ref: trustworthiness]]. note: from source "This refers to trust relationships between system elements implemented by hardware, firmware, and software" but the definition largely works. - -[[def: trustworthiness]] -~ An attribute of a person or organization that provides confidence to others of the qualifications, capabilities, and reliability of that entity to perform specific tasks and fulfill assigned responsibilities. Trustworthiness is also a characteristic of information technology products and systems (see Section 2.6.2 on trustworthiness of information systems). The attribute of trustworthiness, whether applied to people, processes, or technologies, can be measured, at least in relative terms if not quantitatively.48 The determination of trustworthiness plays a key role in establishing trust relationships among persons and organizations. The trust relationships are key factors in risk decisions made by senior leaders/executives. NOTE: Current state-of-the-practice for measuring trustworthiness can reliably differentiate between widely different levels of trustworthiness and is capable of producing a trustworthiness scale that is hierarchical between similar instances of measuring activities (e.g., the results from ISO/IEC 15408 [Common Criteria] evaluations). -- source: [NIST Special Publication 800-39](https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-39.pdf) p.24 diff --git a/spec/terms_and_definitions.md b/spec/terms_and_definitions.md index a1f5ed2..cd02125 100644 --- a/spec/terms_and_definitions.md +++ b/spec/terms_and_definitions.md @@ -8,34 +8,30 @@ [//]: # (: file format defined by ISO 32000-2) ## Terms & Definitions - -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 [[spec-inform:RFC2119]] when, and only when, they appear in all capitals, as shown here. +The following terms are used to describe concepts in this specification. [[def: authorization, authorizations]]: -~ Access privileges granted to an entity; conveys an “official” sanction to perform a cryptographic function or other sensitive activity. -* source: [NIST](https://csrc.nist.gov/glossary/term/permission) NIST SP 800-57 Part 2 Rev.1 under Authorization +~ Access privileges granted to an entity; conveys an “official” sanction to perform a cryptographic function or other sensitive activity. (Source: [NIST](https://csrc.nist.gov/glossary/term/permission) NIST SP 800-57 Part 2 Rev.1 under Authorization) + ::: issue https://github.com/trustoverip/tswg-trust-registry-protocol/issues/6 - May need a `governed authorization` term to help link tech+governance. ::: - [[def: authorized trust registry, authorized trust registries]] ~ The primary trust registry plus all secondary trust registries are collectively referred to as the authorized trust registries. - [[def: authorization namespace]]: ~ A well-known string that is used in an EGF to indicate a discrete authorization. Examples (non-exhaustive): "canada:driver-license", "eu:trusted-list.authorized-timestamp", "global:tsm" +[[def: consuming party, consuming parties]]: +~ A party that consumes the services and information provided by a [[xref: TOIP, trust registry]] in order to make a trust decision. [[def: registered entity, registered entities]]: ~ An [[xref: TOIP, entity]] that is listed in the system (i.e. the [[xref: TOIP, trust registry]]) that is being queried. - [[def: permission]]: -~ Authorization to perform some action on a system. - -* Source: [NIST](https://csrc.nist.gov/glossary/term/permission) +~ Authorization to perform some action on a system. (Source: [NIST](https://csrc.nist.gov/glossary/term/permission)) [[def: primary trust registry]]: ~ The single [[xref: TOIP, trust registry]] that is considered the primary source for information of a particular type in an ecosystem. @@ -44,23 +40,31 @@ https://github.com/trustoverip/tswg-trust-registry-protocol/issues/6 ~ A trust registry that has copies of information based on the ecosystem's [[def:primary trust registry]]. [[def: service endpoint]]: -~ A network address, such as an HTTP URL, at which services operate on behalf of a DID subject. - -~ Source: [[spec-norm:DID-CORE]] +~ A network address, such as an HTTP URL, at which services operate on behalf of a DID subject. (Source: [[spec-norm:DID-CORE]]) [[def: service property]]: -* in context of: [TRP-1] ...MUST publish, in the [[xref: TOIP, DID document]] associated with the **DID** identifying its **EGF**, a [[ref: service property]] specifying the [[ref: service endpoint]] - +~ in context of: [TRP-1] ...MUST publish, in the [[xref: TOIP, DID document]] associated with the **DID** identifying its **EGF**, a [[ref: service property]] specifying the [[ref: service endpoint]] [[def: trust registry, trust registries]]: -~ A registry that serves as an authoritative source for trust graphs or other governed information describing one or more trust communities. A trust registry is typically authorized by a governance framework. -* See also: [[xref: TOIP, trust list]] +~ A registry that serves as an authoritative source for trust graphs or other governed information describing one or more trust communities. A trust registry is typically authorized by a governance framework. (See also: [[xref: TOIP, trust list]]) + +[[def: trust]] +~ A belief that an entity will behave in a predictable manner in specified circumstances. The entity may be a person, process, object or any combination of such components. The entity can be of any size from a single hardware component or software module, to a piece of equipment identified by make and model, to a site or location, to an organization, to a nation-state. Trust, while inherently a subjective determination, can be based on objective evidence and subjective elements. The objective grounds for trust can include for example, the results of information technology product testing and evaluation. Subjective belief, level of comfort, and experience may supplement (or even replace) objective evidence, or substitute for such evidence when it is unavailable. Trust is usually relative to a specific circumstance or situation (e.g., the amount of money involved in a transaction, the sensitivity or criticality of information, or whether safety is an issue with human lives at stake). Trust is generally not transitive (e.g., you trust a friend but not necessarily a friend of a friend). Finally, trust is generally earned, based on experience or measurement. (source: [NIST Special Publication 800-39](https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-39.pdf) p.24) + +[[def: trust relationship]] +~ An agreed upon relationship between two or more system elements that is governed by criteria for secure interaction, behavior, and outcomes relative to the protection of assets. (source: [NIST SP 800-160v1r1](https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-160v1r1.pdf)) + +[[def: trustworthy]] +~ Worthy of the confidence to others of the qualifications, capabilities, and reliability of that entity to perform specific tasks and fulfill assigned responsibilities. (note: based on the definition of [[ref: trustworthiness]]. note: from source "This refers to trust relationships between system elements implemented by hardware, firmware, and software" but the definition largely works. + +[[def: trustworthiness]] +~ An attribute of a person or organization that provides confidence to others of the qualifications, capabilities, and reliability of that entity to perform specific tasks and fulfill assigned responsibilities. Trustworthiness is also a characteristic of information technology products and systems (see Section 2.6.2 on trustworthiness of information systems). The attribute of trustworthiness, whether applied to people, processes, or technologies, can be measured, at least in relative terms if not quantitatively.48 The determination of trustworthiness plays a key role in establishing trust relationships among persons and organizations. The trust relationships are key factors in risk decisions made by senior leaders/executives. NOTE: Current state-of-the-practice for measuring trustworthiness can reliably differentiate between widely different levels of trustworthiness and is capable of producing a trustworthiness scale that is hierarchical between similar instances of measuring activities (e.g., the results from ISO/IEC 15408 [Common Criteria] evaluations). (source: [NIST Special Publication 800-39](https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-39.pdf) p.24) [[def: trusted party]]: -~ A party that is trusted by an entity to faithfully perform certain services for that entity. An entity may choose to act as a trusted party for itself. -- source: [NIST SP 800-56B Rev. 2](https://doi.org/10.6028/NIST.SP.800-56Br2) under Trusted party +~ A party that is trusted by an entity to faithfully perform certain services for that entity. An entity may choose to act as a trusted party for itself.(source: [NIST SP 800-56B Rev. 2](https://doi.org/10.6028/NIST.SP.800-56Br2) under Trusted party) [[def: VID Type, VID Types]]: ~ A specific kind of [[xref: TOIP, VID]]. + diff --git a/specs.json b/specs.json index 8ee5e21..0670f85 100644 --- a/specs.json +++ b/specs.json @@ -10,10 +10,10 @@ "revision_history.md", "toc.md", "foreword.md", - "scope.md", - "normative_references.md", "terms_and_definitions.md", + "introduction.md", "requirements.md", + "normative_references.md", "clauses.md", "annex.md", "biblio.md" From da5e79454f4a8148df66b1d4556fe95d9b6a8ef0 Mon Sep 17 00:00:00 2001 From: Marcus Date: Sat, 6 Apr 2024 00:20:19 +0200 Subject: [PATCH 03/16] Update Contributing.md Added tutorial for EasyCLA --- Contributing.md | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/Contributing.md b/Contributing.md index a89e477..777092c 100644 --- a/Contributing.md +++ b/Contributing.md @@ -1 +1,25 @@ -# Need content \ No newline at end of file +# Contribution guide + + +## Pre-requisite of EasyCLA before Submitting Pull Requests (PR) + +In order to be able to successfully submit a pull request from your fork you need to sign with EasyCLA from Linux Foundation. +The video tutorial can be found [here, assuming you have submitted a PR without prior signing](https://youtu.be/WV9AD9QvSCY?si=RmA4Y-Ttk9weLJlE&t=1428), which would leave you stuck as in this screenshot. + + +![easycla](https://github.com/Larissa-Health/tswg-trust-registry-protocol/assets/7843228/8c711fab-32cf-42b8-8f64-ee5e9b3ab01a) + + +**Click** on the link `Please click here to be authorized` and follow the process. +You will have to login with your Linux Foundation ID (Account) or create a new one. +If you signed up with ToIP under your corporation then please select this option. +Don't worry, there won't be any changes to your membership payment status, meaning it will be still free of charge to use if you are a contributing member at ToIP. + +The process is generally quite straight forward and if you know the DocuSign-procedure, then you can fast forward the video to minute `30:36` to see the relevant action to perform if you signed EasyCLA under a corporation. + +After signing with Docusign, you will have to [connect your GitHub account with EasyCLA](https://openprofile.dev/edit/connected-accounts) (This link will get you into profile settings). + +However, the system **will not** auto generate an accepted contributing user so you will have to create one through the dashboard by adding approval criteria (screenshot below). +After you have created an identification criterium (e.g. GitHub username or email address) for yourself your PR in GitHub will automatically be submitted. + +![easycla2](https://github.com/Larissa-Health/tswg-trust-registry-protocol/assets/7843228/639ab437-d3a7-4209-8133-acc25dfeddaf) From 35733efc8eed845f057b52d08dcd066d8484ac55 Mon Sep 17 00:00:00 2001 From: Darrell O'Donnell Date: Thu, 25 Apr 2024 06:50:55 -0700 Subject: [PATCH 04/16] cleaned readme per #43 Signed-off-by: Darrell O'Donnell --- README.md | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index de694ed..0953a05 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,11 @@ # specification-template -A template for `ToIP` specifications [specification-template](https://w3c-ccg.github.io/did-spec/#specific-did-method-schemes). +This specification is basked on the [Trust Over IP Specification Template](https://github.com/trustoverip/specification-template). -The spec is written in W3C's [respec](https://dev.w3.org/2008/video/mediaann/ReSpec.js/documentation.html) format using DIF's [Spec-Up Tool](https://github.com/decentralized-identity/spec-up). -To browse the spec, see the [rendering on GitHub pages](https://trustoverip.github.io/tswg-did-method-webs-specification/index.html). To contribute to the spec, submit PRs that modify the .md files that are used to generate the .html files in this folder. +The spec is written using [SpecUp](https://github.com/decentralized-identity/spec-up) which is maintained by the Decentralized Identity Foundation. + + +To browse the spec, see the [rendering on GitHub pages](https://trustoverip.github.io/tswg-trust-registry-protocol/). To contribute to the spec, submit PRs that modify the .md files (in the `./spec` folder) that are used to generate the .html files in this folder. Before submitting a PR, please see the [Editing The Spec](./EditingTheSpec.md) document for guidance on generating the specification locally for review. @@ -15,8 +17,3 @@ To run Spec-up in live edit mode (will re-render upon save), in project folder r ``` npm run edit ``` - - - - -``` From 33f212effc052e26a450433b5eeb6171360859fd Mon Sep 17 00:00:00 2001 From: Darrell O'Donnell Date: Thu, 2 May 2024 08:12:04 -0700 Subject: [PATCH 05/16] updated Bridge diagram with TRAIN, TE, and OIDF Signed-off-by: Darrell O'Donnell --- diagrams/protocol-bridging.plantuml | 30 ++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/diagrams/protocol-bridging.plantuml b/diagrams/protocol-bridging.plantuml index 1532883..42ad087 100644 --- a/diagrams/protocol-bridging.plantuml +++ b/diagrams/protocol-bridging.plantuml @@ -8,20 +8,40 @@ title Native and Bridged Support for TRP - Implementer Review Draft Person(Integrator, "Integrator", "Ecosystem Developer") -System(Bridge, "TR Protocol Bridge") +System(Bridge, "Bridge") +System(teBridge, "Trust Establishment Bridge") + +System(oidcBridge, "OIDF Bridge") +System(oidfData,"Federation","OIDF") + +Rel(Integrator, oidcBridge,"TRP") +Rel(oidcBridge,oidfData,"OIDF") + + System(TRAIN, "TRAIN") +Rel(Bridge, TRAIN,"bridges") + + + System(EUTrustedList, "EU Trusted List") System(NativeSupport, "SystemX"," w Native TRP Support") -System(OpenDataBridge, "OpenData Bridge") +System(teFile, "Trust Establisment FILE") + +Rel(teBridge, teFile,"processes") + Rel(Integrator, Bridge, "TRP") -Rel(Bridge, TRAIN,"bridges") +Rel(Integrator, teBridge, "TRP") + + Rel(Bridge, EUTrustedList, "bridges") -Rel(Integrator, OpenDataBridge,"TRP") -Rel(OpenDataBridge,NativeSupport,"ODPS") + +' System(OpenDataBridge, "OpenData Bridge") +' Rel(Integrator, OpenDataBridge,"TRP") +' Rel(OpenDataBridge,NativeSupport,"ODPS") Rel(Integrator, NativeSupport,"TRP") From 0ced10066b57d4892fb4aa577e920b0ed34ced7a Mon Sep 17 00:00:00 2001 From: Darrell O'Donnell Date: Thu, 16 May 2024 18:58:28 -0700 Subject: [PATCH 06/16] update TE to CTE name (DIF) Signed-off-by: Darrell O'Donnell --- diagrams/protocol-bridging.plantuml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/diagrams/protocol-bridging.plantuml b/diagrams/protocol-bridging.plantuml index 42ad087..6a02e73 100644 --- a/diagrams/protocol-bridging.plantuml +++ b/diagrams/protocol-bridging.plantuml @@ -8,8 +8,8 @@ title Native and Bridged Support for TRP - Implementer Review Draft Person(Integrator, "Integrator", "Ecosystem Developer") -System(Bridge, "Bridge") -System(teBridge, "Trust Establishment Bridge") +System(Bridge, "Generic Bridge") +System(teBridge, "DIF \n Credential Trust Establishment \nBridge","[CTE]") System(oidcBridge, "OIDF Bridge") System(oidfData,"Federation","OIDF") @@ -18,7 +18,7 @@ Rel(Integrator, oidcBridge,"TRP") Rel(oidcBridge,oidfData,"OIDF") -System(TRAIN, "TRAIN") +System(TRAIN, "TRAIN") Rel(Bridge, TRAIN,"bridges") @@ -28,7 +28,7 @@ System(NativeSupport, "SystemX"," w Native TRP Support") -System(teFile, "Trust Establisment FILE") +System(teFile, "CTE file") Rel(teBridge, teFile,"processes") From aa217ca755d8e9471337a1d0d96ee72bb2881da5 Mon Sep 17 00:00:00 2001 From: Darrell O'Donnell Date: Sat, 18 May 2024 10:21:23 -0700 Subject: [PATCH 07/16] Update package.json update to 0.10.8 SpecUp --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 400478d..7db6822 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "spec-up", - "version": "0.10.6", + "version": "0.10.8", "description": "Technical specification drafting tool that generates rich specification documents from markdown.", "main": "./index", "repository": { @@ -49,7 +49,7 @@ "merge-stream": "2.0.0", "pkg-dir": "4.2.0", "prismjs": ">=1.24.0", - "spec-up": "github:brianorwhatever/spec-up#fix-refs", + "spec-up": ">=0.10.8", "yargs": "16.2.0" }, "overrides": { From aaa2ce8c287d4db76527909b539bd4bba1e56178 Mon Sep 17 00:00:00 2001 From: Andres Olave Date: Tue, 4 Jun 2024 12:21:25 +1000 Subject: [PATCH 08/16] Cleanup TRP formatting --- spec/requirements.md | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/spec/requirements.md b/spec/requirements.md index 46c667c..c68ec1d 100644 --- a/spec/requirements.md +++ b/spec/requirements.md @@ -133,7 +133,7 @@ The authoritative technical specifications for the API calls in the ToIP Trust R - `Terminated` + http code 200 - authorization was terminated (e.g. voluntary termination by the **registered entity**) - `Revoked` + http code 200 - authorization was revoked (e.g. involuntary termination by the **governing authority**) - [TRP-3-2] **Entity Authorizations**: Given only the `entityDID` the system SHOULD return the array of Authorization objects for the entity identified by `entityDID`. - - ii. [TRP-3-2] **Recognized Registry:** Given the entityDID the system SHOULD return the list of [[def:trust registries]] that the entity has indicated it is registered in. + - [TRP-3-2] **Recognized Registry:** Given the entityDID the system SHOULD return the list of [[def:trust registries]] that the entity has indicated it is registered in. - [TRP-3-2-1] The system MUST NOT return more than one trust registry in the array designated as a [[def: primary registry]]. @@ -141,23 +141,23 @@ The authoritative technical specifications for the API calls in the ToIP Trust R Align VID and/or DID terminology. ::: -[TRP-4] MUST return responses using the data model specified in the OpenAPI Specification . +* [TRP-4] MUST return responses using the data model specified in the OpenAPI Specification . -[TRP-5] For queries returning a **status value** other than `Not Found`, the response MUST return the following values: +* [TRP-5] For queries returning a **status value** other than `Not Found`, the response MUST return the following values: - [TRP-5-1] The system must return the parameter values exactly as supplied in the query (so responses can be stateless). - [TRP-5-2] The system must return the **status value** for the entity (per TRP-3-1). - [TRP-5-3] The system must return exactly two **datetime values** conforming to the following requirements: - - [TRP-5-3-1]The value labels MUST be: - - i. `AuthorizationStartDate` - - ii. `AuthorizationEndDate` - - [TRP-5-3-2] The datetime values MUST be formatted to comply with [[spec-norm:RFC3339]] in the UTC/Z time zone with no offset. - - [TRP-5-3-3] The `AuthorizationStartDate` MUST be the date that the **registered entity** authorization began. - - [TRP-5-3-4] The `AuthorizationEndDate` MUST be either: - - [TRP-5-3-4-1] `Null` for an entry whose **status value** is `Current` at the time of the query. - - [TRP-5-3-4-2] A specific datetime value if the **registered entity** **status value** is `Expired`, `Terminated` or `Revoked.` - - [TRP-5-3-5] If a **registered entity** has multiple entries in the system (representing an authorization history), the value that is active at the time indicated must be returned: - - [TRP-5-3-5-1] when no `queryTime` value is provided the value that is active at time of the query MUST be returned. - - [TRP-5-3-5-2] when a `queryTime` parameter is provided the entry that is active at that time (i.e. indicted by `queryTime`) MUST be returned. + - [TRP-5-3-1]The value labels MUST be: + - i. `AuthorizationStartDate` + - ii. `AuthorizationEndDate` + - [TRP-5-3-2] The datetime values MUST be formatted to comply with [[spec-norm:RFC3339]] in the UTC/Z time zone with no offset. + - [TRP-5-3-3] The `AuthorizationStartDate` MUST be the date that the **registered entity** authorization began. + - [TRP-5-3-4] The `AuthorizationEndDate` MUST be either: + - [TRP-5-3-4-1] `Null` for an entry whose **status value** is `Current` at the time of the query. + - [TRP-5-3-4-2] A specific datetime value if the **registered entity** **status value** is `Expired`, `Terminated` or `Revoked.` + - [TRP-5-3-5] If a **registered entity** has multiple entries in the system (representing an authorization history), the value that is active at the time indicated must be returned: + - [TRP-5-3-5-1] when no `queryTime` value is provided the value that is active at time of the query MUST be returned. + - [TRP-5-3-5-2] when a `queryTime` parameter is provided the entry that is active at that time (i.e. indicted by `queryTime`) MUST be returned. ### Anti-Requirements From 6fa34d2bf825e418dd1f9a5c8385faca716dcaca Mon Sep 17 00:00:00 2001 From: Andres Olave Date: Tue, 4 Jun 2024 12:38:10 +1000 Subject: [PATCH 09/16] Update requirements.md --- spec/requirements.md | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/spec/requirements.md b/spec/requirements.md index c68ec1d..6473a15 100644 --- a/spec/requirements.md +++ b/spec/requirements.md @@ -122,10 +122,8 @@ The authoritative technical specifications for the API calls in the ToIP Trust R * [TRP-2] The system SHOULD support queries that are at a point in time in the past. * [TRP-2-1] The parameter for the point in time must be named `queryTime`. * [TRP-2-2] The datetime value provided MUST be formatted per [[spec-norm:RFC3339]] using the UTC (i.e. Z for Zulu) zero offset (e.g. "2018-03-20T09:12:28Z". - * [TRP-2-3] If the system does not support non-current data, and the the `queryTime` parameter is present, the system MUST NOT return entity data and must se http error code 405 (Method not allowed). - + * [TRP-2-3] If the system does not support non-current data, and the the `queryTime` parameter is present, the system MUST NOT return entity data and must use http error code 405 (Method not allowed). * [TRP-3] MUST return responses to queries for the **status value** of a **registry entry** that satisfies one or more of the following sets of query parameters: - - [TRP-3-1] **Entity Authorization**: Given the `entityDID`, and `authorization` return the status of that registered entity, MUST return exactly one of the following **status values** for a **registry entry** satisfying the query parameters: - `Not Found` + http code 404 - entry not found. - `Current` + http code 200 - authorization for the registered entity is current as of the time of query, or as of the time requested. @@ -133,16 +131,15 @@ The authoritative technical specifications for the API calls in the ToIP Trust R - `Terminated` + http code 200 - authorization was terminated (e.g. voluntary termination by the **registered entity**) - `Revoked` + http code 200 - authorization was revoked (e.g. involuntary termination by the **governing authority**) - [TRP-3-2] **Entity Authorizations**: Given only the `entityDID` the system SHOULD return the array of Authorization objects for the entity identified by `entityDID`. - - [TRP-3-2] **Recognized Registry:** Given the entityDID the system SHOULD return the list of [[def:trust registries]] that the entity has indicated it is registered in. - - [TRP-3-2-1] The system MUST NOT return more than one trust registry in the array designated as a [[def: primary registry]]. + - [TRP-3-3] **Recognized Registry:** Given the `entityDID` the system SHOULD return the list of [[def:trust registries]] that the entity has indicated it is registered in. + - [TRP-3-3-1] The system MUST NOT return more than one trust registry in the array designated as a [[def: primary registry]]. ::: TODO: Align VID and/or DID terminology. ::: -* [TRP-4] MUST return responses using the data model specified in the OpenAPI Specification . - +* [TRP-4] MUST return responses using the data model specified in the OpenAPI Specification. * [TRP-5] For queries returning a **status value** other than `Not Found`, the response MUST return the following values: - [TRP-5-1] The system must return the parameter values exactly as supplied in the query (so responses can be stateless). - [TRP-5-2] The system must return the **status value** for the entity (per TRP-3-1). @@ -154,7 +151,7 @@ The authoritative technical specifications for the API calls in the ToIP Trust R - [TRP-5-3-3] The `AuthorizationStartDate` MUST be the date that the **registered entity** authorization began. - [TRP-5-3-4] The `AuthorizationEndDate` MUST be either: - [TRP-5-3-4-1] `Null` for an entry whose **status value** is `Current` at the time of the query. - - [TRP-5-3-4-2] A specific datetime value if the **registered entity** **status value** is `Expired`, `Terminated` or `Revoked.` + - [TRP-5-3-4-2] A specific datetime value if the **registered entity** **status value** is `Expired`, `Terminated` or `Revoked`. - [TRP-5-3-5] If a **registered entity** has multiple entries in the system (representing an authorization history), the value that is active at the time indicated must be returned: - [TRP-5-3-5-1] when no `queryTime` value is provided the value that is active at time of the query MUST be returned. - [TRP-5-3-5-2] when a `queryTime` parameter is provided the entry that is active at that time (i.e. indicted by `queryTime`) MUST be returned. From be0ea861208f10334942f48d95a1eb2eca4df40b Mon Sep 17 00:00:00 2001 From: Darrell O'Donnell Date: Thu, 20 Jun 2024 11:52:33 -0700 Subject: [PATCH 10/16] +OIDF profiles; TRP->TRQP Signed-off-by: Darrell O'Donnell --- diagrams/protocol-bridging.plantuml | 18 +++++++++--------- docs/images/puml/protocol-bridging.png | Bin 32180 -> 50540 bytes 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/diagrams/protocol-bridging.plantuml b/diagrams/protocol-bridging.plantuml index 6a02e73..8065329 100644 --- a/diagrams/protocol-bridging.plantuml +++ b/diagrams/protocol-bridging.plantuml @@ -12,11 +12,11 @@ System(Bridge, "Generic Bridge") System(teBridge, "DIF \n Credential Trust Establishment \nBridge","[CTE]") System(oidcBridge, "OIDF Bridge") -System(oidfData,"Federation","OIDF") - -Rel(Integrator, oidcBridge,"TRP") -Rel(oidcBridge,oidfData,"OIDF") - +System(oidfData,"Federation","OIDF\nProfile 1") +System(oidfDataN,"Federation","OIDF\nProfile N") +Rel(Integrator, oidcBridge,"TRQP") +Rel(oidcBridge,oidfData,"OIDF\nProfile 1") +Rel(oidcBridge,oidfDataN,"OIDF\nProfile N") System(TRAIN, "TRAIN") Rel(Bridge, TRAIN,"bridges") @@ -24,7 +24,7 @@ Rel(Bridge, TRAIN,"bridges") System(EUTrustedList, "EU Trusted List") -System(NativeSupport, "SystemX"," w Native TRP Support") +System(NativeSupport, "SystemX"," w Native TRQP Support") @@ -32,8 +32,8 @@ System(teFile, "CTE file") Rel(teBridge, teFile,"processes") -Rel(Integrator, Bridge, "TRP") -Rel(Integrator, teBridge, "TRP") +Rel(Integrator, Bridge, "TRQP") +Rel(Integrator, teBridge, "TRQP") Rel(Bridge, EUTrustedList, "bridges") @@ -43,7 +43,7 @@ Rel(Bridge, EUTrustedList, "bridges") ' Rel(Integrator, OpenDataBridge,"TRP") ' Rel(OpenDataBridge,NativeSupport,"ODPS") -Rel(Integrator, NativeSupport,"TRP") +Rel(Integrator, NativeSupport,"TRQP") diff --git a/docs/images/puml/protocol-bridging.png b/docs/images/puml/protocol-bridging.png index 4340ce0df7958fc4cc0f9895bb48beb568ad9402..9095fec5729a22560ee84abfd90ee21397d1ac00 100644 GIT binary patch literal 50540 zcmcG$by!th_cpo#0cn*+8tHC98fm1vk?z{kr3grO2olm=n{Gu!x}*i9ySvZidEcYY z@4L<)-*vuo_y^p3tu@CSd5^K~X^4`76b330Dg*+-kdc0=0)Zef_LJMl*;OJp%W)6i&nc15;8$-=Z$zOYrTSB3ZF8r*lj<&}3&^LCrEG7R@;!70oZy$42kSX9PKG8zIgXO@87EHJR-cEjmT?MlpDfw@I=(nu zgjxkZMpqie$EG69j>E0J#ViqgpihZS-Wc$^c(3s`V2Rm(%l*;h9Pu*C3(*h0M{v#< zdVc0jyVzAR&ddEaI?FFv9%#BQ|LR&rddq3p&PPzL$te6Gx(gz2U-pIlxnY^!2mLRQ zU+rGVLjJ}^ei2+dL`a|aNIqrDg|$as{}wDTW3^r%vs?{UEC`lkdw(``qRCc3Vm+N) zP4Z1BX1aVR;4NqNvuGss4@N~C0(I@B$bFE3$GBatU!G}YD?|;Ed~8&3mwM;4rHs92 zoCSxEt@i&H*H_3F&O{+NtZ2?x~9)-Bp*?1G?bvY)gw)oFB75K78 zzmXan=-BnF<5JrURdMt9mM9zNGd-z~J~^iSIvy-n>gpbxrXZJ$b^L~Jqk72ktpJDj zQvNIY8omO-!qZE_AtZm@Dx+_OFJZ{^-}~=gE9vgCg``fEma+xI4RJb%Vcqxq<+wRAcO_JY& zF67I%{9{XHD^%K7T+O7tmpz5KH^aVf=ZGrx2cmm%1@^wXbPl{ z^(_`+4!Ec~($&2lZjT9n@_-_zobZpfR+F&~`&8mPZeKrLv1%H~V)+eUS*3)*;e)T9 zn88H(?t6Q>kM4up>C`SyWg{;N6%nqN`obas3O`M75T1wGIxKv}BGY@ffjo43{`gu7 zK{~Gx_R;9Q9xdiKoB3Rpf?@Vh{NwC=+;1%rCc}N=tLp}eJC4ZT+QuDQ0{Ab5oy`YO z``Kp#w#oO&3iw-ONGNjx8{X&@e}el+=;|mW&R43|rTKLorE|*H|8v{>N&jmN#RKM= zfc#@gIVRU<_}|pN@;jwOglsjC%zfb_+n(Z$KPg`b75P9_ZR*%O+4B0O_q;%vAdM{@*|S zm{L(om6#&3tku|d!+wV@isIoEx1%g175$9qQOcsu#_0S&cIWQV8OZoX^<@;8O3R66g9#Apk})EC6jhBcr)1rq8Zs%6CLfoeK2rtj0$ zaNFG@y+rQq7D_`h 3Bnz=6`{|y!>IWyv**-J+zAx% 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 literal 32180 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 z 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

*Z-Sn2FEq1rqI#r z*?ogU2Lw)-9$N)6o`?t$k zYrnkWU>^nIe78Psp3NiLIlp-^nDA(R@-sz?x zGc!ERO%2Wb+aLWZI(@Ix=+2GAT&wik4W)kE;~{I`!14+PdP%kjkRfOxqq>t5 z0ByhG=k_YJ-aV71hpEhL5jZcFk~M665RM#R_@msG*Wvn76C#ZXVHb*t={Np<79DgN zeeh%mkujgwHl)z?w{|3_DX_LdcJea7Bf5dmfOZOHNJl|f9ACBPyfkfks zR*L{}GUYG5S0`%;EC=e(hNa1$mPGTZjDcSWZYWtFZ_YUS(w;Syv(@g?V5t1dsz>QT zRQIToNb@m)p3CWm@B4Fgkw2a!B<4;=MLdt->Z4%)$*ER5GrcV^hNnLNCqIbl<8=T}$v05z& z(kX-OUh-~SAF8bTYM_Hx1v46*%%7*tvVguw@l!)7s&RxwnHsNNjIHpM?zXy1(MW`Z zH?e$qZ#&+^)T<~pjA={*sDX*_87*yLU0n@}{$YI{tfQec`1_{K<>o=vvd7n#zTrLA z{AEi)4!Ofy$;u*Xi8->b4bSg2f$2v5&aheaWkT(4P)b-Y3RW5D&Fd^L{ARw)PfFRPjNC9bsPNk(& zYSAIx-6^F=H%dvfNa;pOYDp|$0l#7IXFu<=kMH>Yk^^t=duFbgE6($rOLJKSbK8o} z&^i`jz#Soaex@9z%}W#+qpeZMsmlfwUJ34J4Cpy{)@c{OLBCahr1tc_u$nJQ7A z^vFx9E=c$S_0NnSenzE3yk}{Ac0||=Hwp6R)3ek<37ls*Pr~1{Ep5E`qz08?e8oI^ z8#>Z9;<7;iXb^MBWC9m^1ShI3jlH%O=ALWp&^2DK4vSvDmo_G|d+_W`;&pXi@~h7lA?_7$b?)~IoUvc_#LVg{V3n#@J~TRWZpT$j!#9Uzl$ z=Jkx{uuRnH(dw!}d*h?4k{GIRF>JJE6qku(>0)~m6lxMcgg0wk z2QJ>-2l_zr(}jBCL-DhHIl!o)w~8!btYisEWT$K`6i9dP-u3Z{B>A6Ln_HP{4TR-*NoU44c@vQw! z=b;a&m2c(0nT=n+l&ddLeN6Y^r*lNhwi7{<#r)-)yDO3dyl}>Qch_%ljy(J2rWt$6 zk$^2oOHU6+o;&ktt3jvOHW%n)&xRmWXgnDQ7c!e8Z9Rq}*}*d&Tt^&v+_tH1FIj?On7U;B|oE2aL|pVC&hqBYt-Kfj}~ z(H=_y0+e|FudxXD8!Imb3T+kk1BP6^ZU3Hy-1Qk$p4Fp9wO(Vnv9#O`Y7`Ki>-7`nsCIw%sY=wBC^g>UelUHyD>IjiaaIj9z*Z)Ogy5{qT*`TnD(a|1IGo5={5^kPwMK*?k>e&JPoWy1O zAW+bRQZNS@g8s&+o9RDCjB02j1Yd@khvqO+DZs(T0Q$|fYjA-U{>C-&s4@3~O`6?q zSOPZq74k;*dBGs-frr`)(wl75MF*F4A`25*`XdB!)05J;^g0tqD=NnVW|5cf)*0&Y zvEPm!CZE`AYi!gdkWvNAOQ>ogyso)<1v2}@o-5dk!p5w3sUc~LEsw1~&-6w%H7fg@ zatm9A4YP(YNMe{gc-ga50@F&$2AMMe24Ds@IUkYbZ^ZqbL^L}mTX_2Qs4}Joxd;n7 zf*#0Y@{X{wTkJ>v(i!!V+UV2V+}NCSKhK2=eNr**{PvaoNqeJvR>cCvuDp={4z=Sm z%EuC6n>v!f@`D0@yHE>GNRv@}O`q>#V!we9FaFI>p>&Td=DR)>@DW@XJdZa2ebq`B zRgE#-%gOg3hdu5)IEdfOh`Bsp^9sEhWIS;r)HYe)^6#lag4F-cojbP!&P5UjP!X4^ zf8wUoA3VC+Lmj4n%Llj;$$CiBS z)#VkT_XUc#*t#cj3=bANW{m~IX(aQ%$;ipjRTxUciC-(yo3bV~& zUcaK@OuC?299pY;`zJ8JZxL!4@5<=3AD+ZPN*(|{1YUoPuYz0@SEj{v z7D-ah65EK$g1)nT>xkArqKROcvJ-rby&#P8v#d9{E#~W2ZouIq3eh!U!Erx1dbyGrm$KJdWt%@^4t1}|R^SoS@e)qH&co`D z4g}QF*UC!P$EoR$y|sPsTwZRr75G>7?JqR{`Lo%^<;#&;Z9Wnl7zi^61dqSo-roLN zS2x_BcKLSFab;_3dSXJxlOzeyP{IH^-;*T|0MKrd-uqo;!wpGRHR!`W7%T>Kci9+7 z-uBh)nVV~_ao*4G#!iCcOX8_+KUaHJ$!;Co!FwxP`#jV)y0J|ph z{P~!H3=d%CCE6{y7*RIl-ufQ;BFpCkVjCJ7UKOj18U%9h?CgLxG|xRrh7OO8`fjrCqjb3>m zxa(jE3Vr}5#Kp%;W0gMymGx{U9B-7Qe_){AZb`+Hgzq5>%jNm`D4-r#Ax#5^hm`>V zojW&pKYDtKs;lEq8GlRm0CuAmC>u~3G+bR>5rzvuAex`Aq@?tFwssfDGn~KmukGyU z=<5T+F$+1YcFk0q0~_Sz5x46V^}|lL3BXlG5d|J}@It2x!`J-faYr zI(7B*fbt+ZDryY1tQ+ughdxf&KOR2hN`NLqE_Li=4L?d)=V2DaI!*#WfT-Xf_vdpSX8EfzQ)7^%WJHsub+ID z-{iOoW-KUz7z1ld21YVCG~{C3OZl1?(0*W$DG3P)0a!$11}0{h!eX!!KSIF5S%3kk zz(z-nEiFr!)`oU=caPpb!p;U@&Z}4BiCOy^VO@a2xb^TdJZjLITO_HX!p6#qjV9+2 zFduMXVAt^b`T2eP_^~G0rl_b0%>TB#5z1fB4+2~!ibe!rjaw*tpxuqJk&%QaN!??1 z_D*qbSzFuBpnuSwEI>Bo(v?(HE)a-7aJ*4xd#0!F%facrz(&t4T!O(Qu%6=cKET7p z1zQM!Mmp&IPJqe3zPfa=m)`}2oPDDlw#Ob-cv)eOdgth)WxksoxVt%$ZH~m{09;v_oRbsJvFAf>Hw`m0Gc`5h zJz3(7_5#pU!R54e<3+w2E60;3xg6uDy{nSv+K)i*BVZ*!bZ((!7Bnagz|&J#3q8((Nubs7hmyUfaQ0OKV{mvb zCzs1sTr@dTX&k`(r?e#8%*qN#zLY$ZiC9&@V$PQ~b>^s1*c3*SYkOy8WFTsvGD)E0 zsbp}dDk%Z~Nkv8V`4yUwC?{vsC7w_M#wr#E2S-b5E8y!Iog37q=NA{-8X7)4KbMmL zjMl1~z5O!d!2N{mMA=-m4;~)DK|$(J7d}1=XXczj1y9X3DLOj3r3MG4`qDMI@N#i* z);!Pl3tJt3{P?lipU7?^L{E?6jK(Pi`f9nj)TXCXmjl!BDs@+Ujk z#cNWzGC)0sg@x6r0n0BfDe=Sj#7;#`Eg6YWePIF^G+Z=g20+U87Ij1kmB6?R+pH}u zaqs|T*+rzx0Ne@!fdG0aFqVMwIQlBwM*gQyiK&$Jf(RqkhTGr&%+?i?u?OqVI zKWgr>U!2tS2o@d^^Fi<3K!2IoH`qZ@!x8Xj;IK;*o7f?4yD_|SdXk4Mr-#+}ff7X% zckD8_^uf-1E#Hh6c_fh64F(1VG2M-}SlB6zjY8$YAtCX~@1*)Jfp0irh( zAwW4g9snnSAfZPOi092>JqM8VrlSbXqoqx8pKH;_+G=-zM>nE`i;Af7sY5lwfJVjQ zcSLmbIO+?2R?nq^+&eA;CL&v$#E@gM9Q0vXCNd9cY4olYaVcD(L=)37^Udca4$!TZ z00=AVr`A@Q3(87-8lSBpiCAA|>V!OuO*}s+&KU#g0@%|h+Xn|BASEQ3p6COq0J-C1 z?7I-c$5iVxD32hOE5fFBmX3~bfgNnyXA-*=pFUYU7m6ivzEa>-*<2^+9|^Mu$NcE= zLPHvrFK36a=|MXDk0zHvOGDI|NvdZ$+5%c4bZllbJ~LA+A8GY00aq(%n81Cdgpe4A z(;qBP9$C({sflaE)|N%@`TR~IyC%J^zm7faR(bqB-p^-i1FGQg_w|@0*39JyN{nPd zJkfZoRkB2J;OMd1i1#G@BXD#Yr!C2|ThWCmf~+3U1MB?HVm~(Fim|X@t;UR8NM&bw zroYtE!iGX1?UbgwIJ2+1RB0d43EE3=6P;a`G&hSpe0WEy-g<`7>v1=#H;JvI0$3Rt zc8MPp`+}CE11TUK0YbNH7I~19hsxXY2xw?(et8vT!j%26c%6lp_ns6How$;Qz+n5O zI!+BxiQ(lFsX>!cTUta}V}N+i`P-1S+FeRYoK*ZO4inp#^`&JnEKE%LX6eDuP;3f{ zWS2i9u^`IJQ_#LP2F+e7QS`$oH+n65uZZuFk^*cVZ6UU_lufM*Bu|M+NgdA$ZdHdb zbEVmTj}jj4bdzxu4&tCDFmQP%TNW^HDCg)FkMM z;+60SIC{tQ@GLu#5KsCusUAYmaSSS2|0Ga~c~ip=f%tIOCljs;fuXI1^phoIn+7Pc zG);f0k<`@x^CdHiEjI(E@0&)2D=j63wytjx36};wt8W~IaLeBUUcYmE?7Y$vChS=g zTIY-F2AbcnnK#E^!DvX%d+yu|0YVYe)Dt5wua?3>+2r=ls^5TiA%d-qPC4flgiGk? z!iHCa%N7_xUc!FV-a#g;BNHy6DBClhvo~AIE+7B`&H!rv$TN^(Isry})dY`$buh(RdT4kO?ftx?Dq{t)T`bCy-ZBQ-c9- zV*;TCTA+~3KDSt1&^J(*Ha6A+Zc8P$=`Ab2dkT z?KGNu8YZaQ%YkY35ffji-yc|dns2qTz8jye>4-l4^0^Jx1!Wj2tV}h{p@e{Vp zw{ju^T&oVvG$|y`wQsd6czAf2A@o4j-3U}E26wbWr=~PmpMkIjQY%t&@?fG2O@f4M z4Ek(!V(4DLt-J^5Wi7b;EqvSC+t-=%L0%9y4l#G3OQ7SfK~Q4o8v&)YSL8iOaz!U6 z;5gDjK;K580V?cM5N*I}bE`oo#ugVpcaN}cp#fPji08KqIEudoinH%3C{ezA&QoK} zX?YJXd27-r0hAr*5mFu=!ZhFR!+iIEKD!k=4;7?zcd5`o56tbgHEGY-#5)^u7(lFc zdU~47sh@{F-PzZN(~cLykqXKT&{+&9O1gliYv#xAS+tE1Ose;soScFeLCZje1+quQ zU?u;Y%j$25iHSmjg3E@=nv@CIfcQ)~JUqn4!^=n4dIXY@VsB~NAh7HUc7uB})mYgz zU&L7vpjC?VE)49f#!_yWS^KMc~`+B6-Vow+n%r-QThNn`^rO2*KTE({4IrzTGo>w#`JH6Zi$d0_8+ zx#%%q9egl7opzvYcG(45c~IDF8$ChI%yN0LJbjySCPP5gDJP`?a#`(^i-?XqAe{HD zV*tBq=o6@<>gt$lMNwL_K{6>Em(<|8N9AVpttXONSxG4+?UfeDte>7y2Fa@H>+k*g z1qxvqbinuml`rT?dS2^wd+Jpc^&0H`e2ic`An(g(VqnMFg?BES-y@gx^t=RBfF;-% z&!we1f!!qo8+61)MKhub9!1fLh0W&crzB;A7JsbNK=I~`@(i%Up8z%i#uf?UJvgW$ z#S%bj>5TtmWo<10JU*S64YZvp>FKx1a8TXfr=nU7#b4L(MXntj*u8y==F$p62u=B; z-+O!No;7&+@K>6eShKIx)q#)^?Up28SO7JrNo*QDk3g=ipMv(ez1`3)*p~-S7tZtasS%K`gKG#_^gE!Lo;;8?@5wp`=c)&d zmrxsG-t%%jq@rRv4f65xHqnMEb7fLL#E^zd7ga@l{FsYQtPZXn{9UDN;RlC=@Bb~< z68cN5rQCt;rX5QMgytI?F1J1qMLQJat{_~`hHv4w&!n-Hr@*u-Ln_9Qq*hz_3^XY* z+5c6huDza8q!$sngyl*D(HbS~Gu68qN){1XYA*lYzYFq z#2hpV0yjRL)5eQcLGB17{9yWKfa4bu7LMEK>r>Fb&li3u`S(M&;&xjhadBWm+D&ys zDti7LF_6>)3yRt=`vQ^Tuy0NP=u=`13g|9?Bb1Z?87L{8CH=wrWCbkKHcUI*hw{Tfhv%vj|^>wVLpfu#+>HG;%#1xhQ zx{CF;t06wlqzQCM03u`o71yfIYlr+eAS;x{cp)cCj_&N+yA_Zr;x=X+N(e3k-@fe* zz;_BV2}{wv>F;H2_&fW8{=UT2)QTYt!l0e<001^g5f>LyWH=q9w6swj)h!ZO*v_q0 zRdIw8&L}+_n+vTNu|hUd5GL@XHz)&ggJ^-9?x?;S!(fjHd9@(J5C22@=XE@+D(2Yi zprJ_w|1N}pbHc$T!)IR$ok+1W`hg|3p6IkOF?i~sZpA$u&~F+Vbi9Ajn@ ztY~a-ATIcn@AF_a#)e%dWbUG;y7VH?(Y#%m*l;XSZ;DiNLWoby`>dy6gedV_U9_!& zYQv)US<736UjKC#2nFt}q2ox~IKBFZx|h6yu|GxO8F{u!tQwYW&!$H=vA&44P?~on z`vQc0@**&>eg2X9U(z(1 zvVR2cb85$*gr=)W_5+z;Y*$#lSJvJ7!N;gM+f_m`NuzG+jPmMGQLYICJE}nOA=vaf z&*#QvRCnKNtPDaRR1+c)m3d+?or={OpVuR~MT@hBbeAJ6zqWdh$sxD7G!b;7Xo0d> zmUUiFkJIGhX zSLaq*Xtk{Z?4JBpQrH~q%##jl4!hgrlPGZ zmJb_$!MO|AgeHB%x6xi;94`l9Y15?(r6Ys}r291g{k)9gF5p{2UZsm4r+Xt@qt)+n z%$p}Uwrk^tqPmM?y4Kpdo_d5TXaqTAmsJcxC`8!}gHdV7m+9ki|B&dd#LZ+gi&`>Jks{C?xO0 z;AubU+%vnH!QmrpZzf_gMhHF6@aW`Cd#lq?RB78OV(F7hUvS@Wym|lr%dDqe zt>*hltKBMt=6x&A$uc-G@l*Lbvg#xJamnd)kSoN=j4<8=+MfFE)XkgX{V!3o;S9s+?COzsb{93ABZu>D?1!uK?z0%V zo`zhFChE*9J5idr6}ns4?BSNrx)8C9J<)4}h>y)&x)}=Y_~*#;?Gu_s7V%G2+L+IO z$t1h>j>pfVBs%yV)F*cHQocpXldS!4Fhf2}TT-gv5*uZI#^9>;uU9GXF13F>-Z2%L z+P2RB*T1REv@qpX4!#e0*@bY(poCbn=x8g&GxS8?hx&At1LZ@_6^Pt&=x zABjh`f2)uhLhAQ@}IFqoUMovOD#yYYgDIcz!+}mPD{c>X|6|2k3 z9{T_5)4ld)iBlFIV4F+2v!}}L&F1#&_TJepU$?yHW;=eim68(W^}u?^aHBAGH^A@{ ziqjLjU!quK9KYeF0m_+YSsIv!bHQygoNeVCMSW_>qx>q}gsR*N+BLb24<)>7EWg@Zh8Si$p6ov# zFR$3|iCb$Gn$%~kVw#lj2>dvnWq&hJK2bna7W4GPBcxfhvyjE(0Q%;Vh|fpYRM)U_ z`(6_A>A}N_%S{0yim6jyg`ov$IvVS?55}0vhRyZl;VaExDFa3E@fym6?Vu&gak8l* ze^gzMFT-{`Xy^58=bx^>IX?daee-kX06o$cCox@7>DHF_6p;_1^{l4S8`#K)*ME-` zQ#P#$(~^nEYtCT^{x#%7oEvTK_RUqWYuZ2|-4yKYhpXcsI)?gz(8I?!7WF?jvs-1^ zld3H)-6YT|5c;ofibHgs9`(_@;Vs-Txye~n$0&oDqse}ln-!VZq{%hS=`VslRcNs} z_(M4mp`z+YO`(D_8LIf#*5ZAP6#RU8z2d4D$^&z7p}eB$95I*WzzgDa%z ztJJUiQ8*C!D$Bn5v0b`py{LyD7l#*0O%(&P)5wVme=({yz2GXczjB&Q#^n7)Mk#<0 z7b9X?sN)}1jAaAn;FUxQ*8DYpUZkM&U-KVX9*U!RgLs!ia9u$={+-OD+5XZ^KL2Pn zHeuOsIHFLyaZ-O3%bzY`sDT5K+Wy2VUZQEn?=ar`;fJz%t(0e#?~^uRx=hgF^lWI$ z0=qaCrItTM<}31X6AOQYgT<}w6D<%9Ter5CtE2M}K^PIly=#$uKDIGBJU}C~eRP2o z6y{E<>Y>BDK0G{=E(2T4Qg{VxV0_M#|Bjr^njfirbzrP{Gjkx_i+9mlt`TdP@U7lBi4iY?{D)de?JOAkPS%t1ae-55w;Sa3&?2V z9#P2KJ;umRS}&R-uu2o#q`u%lsQ5YX7HWQ_d2%>hw$h>^PfnWk366O+dQC3f71G_D%PL zH)C)#mnja2!|h>*bsfEPS#=A4$^RNBl&*}_=kGZ#U0HE2EHb~=SaQ28k)y4(K~K33 zh8h+gX2tR6sYn$6BzMc_zR|id)o;E&jy6|oM!S>5F|C19Itmwrp*CSN^mcPUVh^PA zh~Ope7?~XKM>M`~4W{e3|I+nH7UiW&HA~JCnr)K^=U;*! zY(t1xW2BINBkyHhZBWkepvj(d>S!;dMI1tW@@{}58M+mKKPS9U7=UV7v)zC-U|7$n zI-e&ddpoBX8RSEwzuW@&VfnAE(K^mvyDLoRO&4y#T3waGEPeMV-dBVFwMy5>J%Kg3 zuXKb9AL(sN%~ZeLo*-^$LFmz%AP@B3C5SW0PlkC7bi(Y zH-_<$V|;w-rMgr6(RZdMr36e#U%yu6hG9aAuB7{M_|{&0nV>3sE#MhZWWe?HZM~%OahLCf4aZ$H4?HJu9JTfBe zv8l%%a~Meqd+DMS%~kP4vdcD6P-tG@>WrE31u=(_7ajxuN7GL_5n4SxU<*leP-g}lSvLK$`!aUZH;OB&^FmKYR9k^vL|!vk%0@i zulxi})?LRKmkyisgLiklc8Q1VoUg%~!G`JlgF9a&Fpn>Hl?4oCJ5=c>VqqKhNSWE+ zN2@=!Y zXLZJ{DHLvIQwz8DR67|T zjZagGrq?S&N;(kSGf)}P0H!>1ibH9`hq&>gl|ot+aPyHn*@*Br2VaV>DXsHgF0FLy zdC;T~LoJe~h1O;}n3A>9QgYD}fc1 z`C|rVr0AJ;r0z&+jwk;;5h@5OO`pl=-q0gb2ys>X<+TPpJ-N0zr?^{H30Opgt5uo> z6-r{ze0(j<>jp=BgyPu@B8){wZ#T5Uk7)J0`;REK2?+zauXM!5hP2W!#8>uyV7yb6 z4Cx*L3B+feq_t5dns3j8@H%@Q$0riJIYxX}75`9^uJi<_7k)UtxXE*BFZu-fcI+|i1dnlHsv2<#YNFIojTq0yu2`J(viL{Zj+E}|59iksuX0+kkgG|Fg|kX zDL2}B7!>)6nVq_{Z!IJ%2!4U=VK+7sV&kV!5NQFLvUY`3ltEFCjW3(uf-+Alz?===i>eVW-f2M_f z5u;amG8SFcebv^nO8A>v!>U&6_Ypee8hU6UW}Wd&dqzz*I(u~Vt5ftkd)8pbd^m*} ztil(T`%cU-xpq8=+cy=hEb?|R*%-MzX3kHB!m_nauKRH^={h-3bno~5V`eq{LnpO%dSma;Sz$%@LJrZ}8`$rspC;6(hjy*hSw3lsd_ru6O;@)y z%!7&iW_e*6S2?Mz1RU<@GK=+Srtga26~)Le$`MY?V*{6vDK^gbxtW&l_BHrUMrT()Y!cd_POiZQ8 z2%ve#(Mb(<`c7M?nz-g1lU0lgJ@xkwaK8#`w6=2^#_@?+Mi6ixf2fC<{NrLmkC5WHXR4LYChqQTO_r;w7fh&b6+}LCW*z^oL?)fFZWhPBz6|t%4P1OQdtfZ)sTlN?VC9%Wlu85BJL21)tj;c(-;H+L?HVxa~KS%{irGzy1kHmSYdoo~ug# zv|8~sgWK!Z?}?(%-#ccr(hb=VBNRjcIrHB+>{%%Cws`livPgpznsa$wgyEqnh|J(t ztahka=&ndqzM4|4u0L@q&#IN(rF7jbxnlbo8zLRuFd83poRMlto*3GN*5k6hDca!9 zVNCVKrcP+ATz)*#DSs*Ce`2pH26A1)t+nRzek*iq4}Oq#QNoq2_=V~^dctEIj=l8g zhiAxDKFCXsv6D$4PIVf;x$F)o@7wOtcx;C+|6t_Xrh7n1b-LE+w*KB*U~$N5zN8&d z)Uu%UVKs}OTg$9xjKjJV8a4J6caJbVo<;MSd2N;{`^a_)@!T^- z9|19d;cBnUMUwV4hv_Wg@5LyRo4$R8QMg5c>d5zmc4WEt2gcB9s!+PN`H1q|;mJ|3 z3YRP4X(=~Rer=q1dB^;T;gt4SZsh-LjVxS*q�z81|Na@X=SlnUCK_^bc=u<$1A@5V(u?fBgTSJ=3M8r3SUi0-fsaiR5l8syVvqD(w8dGTXiPj_h zXzeKksZq&XzjjXy`l*dh&|!F<_d$C7DZaWXvjoN{OefO+&}qNrxT(%hGW+JX8jrU- z9LXBp>0{Iw(;ffFsjW z;(^35YG*3%pcF9{4jWbNepBAvoKXt#EWa9jr|(Z<`5RS2vVZL}INV^oO!a>!c3NGu z4IxDoZ{IYrl8Wd#hqG8*UH;KYRD>sppP!~ro}15R-_9gTML3+)env3`jmwrZS+^9t0)6~N?+}be& z+&-NIBADg*aAR(0o4_#Haz*!{>TMK!C+w2+;(80a_9QQ<0edC|BLLMUIIEpmu0vI> zod|-uOFnsWe`LX!oL?yuMnh?~h>= zrP(hs0paqK$WPtv6I2=qBqcM9x3G02q$|inMmB)X3r|Xv6=5SyCk`uI=&M-4`m$+P z_7IYB*IM4fhR{?{BqH@RP&a`L3wm83 z5R=g=E3)Ex9>>u_{?po(td@%B{yXc|)jp1!E!MZ}NyW{y(3&m+dha(=wii2<;DE%X zWbAMjh~)j;YXD}MnV%Mt|1z-iLj`?I-zoO+l~)VJ{krUv_~M$DKUc6}Q9I~Gr4MgK z9@B3f&H?cn?%VNoD}(XTN!yrjzqsr{*YSKJ(c4t8`x^Nzx|PD300TK+Q;Nd1*k}C> z>t#5^4LtlX7i^_E?brt5*G-Ryy8(;W;)SQr&$dD4?Yq_F?b7ZgelymcI^p+wMm1na5BQ49mf6Xi7*0vdeRg1#=)WdhPA^adM)hchW)I$il z83_BAY<0*g!+!q836_ul)&jTG+g7O3lh;3;Ogv3Hg%$$am*1+gMVqt1S^KsI3qg1YytSBT>Zvo%-0; zxJX;$#^qHitGj)b=hH{|lJk66@)NwCPp@P`&Y)tGy7yij95zSQdxr1SEQL<&t@)dM zO&Th2!+0AsI(VYyfyc zBGV;NUfk1m7Ql6k3pDg2(`F`Y0-pzoE_p4cnROXKV+sYg2Qob2Uf=zXQ`ISw!_DZP zLA5wE=I_ZNm6UZy5@mT5<0v5<nz!H`c)v_)Yw(5x#s%m zK7=D_Eiul)OXI~hx*d6SaVYovm%Xy1$SsT-8ur_vfC19~|NNPAgSEEu5k0EBnHBv1 P=_m@aDl(s?jQsx}bJe1e From fc4818f2ff72090eed4272d6a4f5d6126bd3f600 Mon Sep 17 00:00:00 2001 From: Darrell O'Donnell Date: Mon, 24 Jun 2024 11:13:50 -0700 Subject: [PATCH 11/16] TRP->TRQP; fix .yaml links Signed-off-by: Darrell O'Donnell --- diagrams/protocol-bridging.plantuml | 4 +- docs/images/puml/protocol-bridging.png | Bin 50540 -> 50777 bytes spec/annex.md | 14 +++---- spec/foreword.md | 4 +- spec/introduction.md | 22 +++++----- spec/requirements.md | 54 ++++++++++++------------- spec/revision_history.md | 4 ++ spec/terms_and_definitions.md | 2 +- spec/title.md | 2 +- 9 files changed, 55 insertions(+), 51 deletions(-) diff --git a/diagrams/protocol-bridging.plantuml b/diagrams/protocol-bridging.plantuml index 8065329..09c5e8a 100644 --- a/diagrams/protocol-bridging.plantuml +++ b/diagrams/protocol-bridging.plantuml @@ -4,7 +4,7 @@ ' !include C4_Context.puml -title Native and Bridged Support for TRP - Implementer Review Draft +title Native and Bridged Support for TRQP - Implementer Review Draft Person(Integrator, "Integrator", "Ecosystem Developer") @@ -40,7 +40,7 @@ Rel(Bridge, EUTrustedList, "bridges") ' System(OpenDataBridge, "OpenData Bridge") -' Rel(Integrator, OpenDataBridge,"TRP") +' Rel(Integrator, OpenDataBridge,"TRQP") ' Rel(OpenDataBridge,NativeSupport,"ODPS") Rel(Integrator, NativeSupport,"TRQP") diff --git a/docs/images/puml/protocol-bridging.png b/docs/images/puml/protocol-bridging.png index 9095fec5729a22560ee84abfd90ee21397d1ac00..3812df07345071588e2192b7fa1fe42739ef62ae 100644 GIT binary patch delta 42073 zcmZ5{1yol}_cbBXqDUj4gtQAM#4Hu^S|4d*^o~Z~C&s?^mEnvuh zB*B{Tp&!|Ny%`a(_SWeqaSgxnLGywCC)V4@*LbxRW;r{<8^7=hUj&p;P&>|XS{gp6 z`hn@5h0;5B8T(;>RE*yu;1FN36$wF0sN@fopA@27{5R%NF8sl3qCxcdm8h-0(Lcus z>`B*F+lU#IpWfM(y?$Xs0R{EgF2R2G**dPieZ4yX^HPD+isYdPpd#WIXU@B&wnKIn zM+|;|gG;LxkRFUefwRf#Rku_S_kk2nDXR>_n>HxJ=jGmbAw-y4J|6F!fvxf5iMxe* zXd`0Ob}rR%S<8`L2Cj=>6Jn#$qo@SA2X%pBsvP{muS$%9SALd1G=o|MAwNGZ!IEqicy_9#6kIoyq*^LG2uNqW;lT2a7LZzA95|q$^fLWgF7)+nGEEnX zpDhv3?Tj}Wzw-lDlyvCmfZ{y#;rn>Q&YUmUcF6>fOFUu|(j-g5Tl5|aFut(1S`2i2 z!Xo0q_c4R<@twwxQM|?VyNTp_DYjnAM|N$@&S{I4kr)c%n8Tm6ijv^tiK?0T#aXqh3t9c*&P~seNuNpstll-lyF%4R|YJCxk)85a~0?{+iDo%HVmkl+1VImvPH3 z{RHK;4<2T5YMg4&*S)Q-lU{U==5#3j&wvE2Q3{XBmq;$HXMD;>&kf4WvAf?CBp?ws zNn(FVCtD8TJy70>M9F|V$hF1hRgv*Eripp0&Ot|bW@IaN_#FM4(fZqcDeXgXE1JP5 z1!8_P$2`mz38oxNijY`;UT`kjMlMHTxiqEGabeamgG~N|XiK$`mt3P?9?3{o{fT&) ztr3=vnwKPn+x;Dnl#Vh(gSjUntaVi#)zpG9f7zQeWRO~bVC?1Hi0=~_p-<_N#_9F@ z=>et`+{()t_2+qEA)CTw;d??g3L;qEkR)D?+kH>_o>P>iP8t3E{Sj$4X+m1ipP2oFR{WUo3<{8*EtuVE1( zbjY<KNI?rpe6K)&P;iB*~pZ9s3siSj6jxUjW+H*shIz^vR)v#Aa zl054X`tQG-wR`f3JR=P@zLrT}%|%Slio#5&vZtWZd{~X}FAvNIfiKSKZ_tj&>My=0 zb}=r=EhntTtbBrVg-q4Gb=*X}URRqDIOG9=PADF|9v;(t?rSZY~JU@jOMTeA~` zHh{gd(~PDk4p)uF90l)yq{o1Gi~|?XyEciB@Rr3Z9S)<~s`7WyQVzm%`^dZpmc&F6 z#akTEs2AQE%?H7+6xQE|m`E~afB#CO(uscgS=NU6*(qkgxkYw-AN-Crj4ggcS)Z(3o$ezQo&SpvaE2Qb%NAII@)m{->oBaPwMHhtlp zK{rD**{5#{vqKF%5y8`(zli29R+Jjt`KmN`wpDl`d>V|I$ zLT$mLEqtrsWlkmhd`42J3HycdG=tvshF+wv@CV6hJ*qEKoJf|&Ud3;j^)jPTURj|{ zm{LJs0)^lcdm_uSthfW0SPIGX_J6;%*&8cd8e?EC-{c@8qVfuV>`vvyaL)479Pa7d z2Al%Ix2-%K+O#*KX4voH&MCvP;;Y~!5`Or;WNEey2vV2x{XzM4tCXh-Q3-9m$NsvO zDHVPNJ^8^gOYA@i`T7C1 zl{D`6c4U)0+*thygx>0yWOZ7r9{|U}b{_4?ZGbPF`PiM$n?Bx`_k2!|m)AzRphm$J z8}j<5n1VR*I~Sd-Z@6t$a(B485=YdWUtk-~0{+@O-_ZV>ZesM4$Hr5iiJqg%Ng;)K zaFY~NGh`{=3BrfH(pR2-B|zlW_zDS!+Z#U4LS@(Z$FDmcJ&PI+3j!h=_^`g`F%CaB zB)$#Ez<-F}V8_#2iS>=p?S)^dK|1U-MM8u&^|QS&F_(EB^RzzN-}EZ)%OgT8f1--; z>#de?#)GiXjS(NBRzu8$Sl6x71dJCJNo(s0nA0Ld}U6_R3EngHtTfL8P;G|t0$REP(KcxjW|<0b&^*X#| zgaD)9h)6%$gk*0AHzPjL(pI~O!|OFv+14NMyC>d=!Fe*-C@H`6G?9^OZhr`MYQWd2 zdDjUNq|0}IKz`<;fXb%gqTq`=Om^MX1BrgRo=!?-=prhFFua=zFPGzcvoIVtb8} zdYjg6n^W)nVRf*hq&4Z3Bfc#z6>qrvKY|Yn&ma8jCuTyyihuoJ7#T+-2empA5D?Tl zY+$FNc^P@%p|`^KDLki^P5K%dT2fMiuaJ{2+s1}T_ZRcagF6HoRMQxQi`hNTcXw+r{;R?;yZt{xlJPuF#owW*N0(Pu1qB7f z#KgWhDx+gXnqt{G7%bTIjO^^}?sNNvXzvZ24wogG2bf)Br0$eDzuit5|BgG@v4J$> z){se^y_jC(iaQ~O93ML*Om7V5UR_=Bym_Oftb9O);YarbFV$f6cf5B*-(@D*jp<5H zblW;xf#G+7^B-70jYwUg_4MIfIdr31qUO7sz3ItG)Vd|_(T%OGUK43JzN@T3f=|Q5 zA-9;ED$AN&GwvE@XOE`}m~@+eR^WUcur1VWNy#SouFllBkAQo0 zdWxqYDJj{X!Z$rNMMuYOw62O*J>oDB928{O4imWJ)iovH>&=EBIs-8|tF91|%;P=J zvxb0x05N=r-kvtxBKqKIu87i7Znu^4-I8xW?ETUwVV{$ z$oB}`UC1@Bn~L8tz5M8baDqaEgpj{lGcm3?w?g=mBa zm;0&5TCx*F6BrYs@`RBo_}8Na3dX9Gsh`_(O^HJ-H#;`N63nqDBZ_i^O267oq`mhoUD%{4>8TFAg}W8`}8G^!iZoA@$C^FB@dH4OF<)H zZ9Z$-EAtC5PBAJ=XaT7S?f*b_5HB4fSC09yAo(3htIm#!y_pS-vFc6Wlqmhq=cEL& z-LM=JI)}#@AIkj!%>?m%dSMt`IpS*mRHWblx?O_`D`RZ|i3;bC8wM$E+tUtw-GTj^vw2u~2q~X=_6kUtQ0FM{FH9vv`|D^c zTkq&-v|mZf?PW;FqXQZPUmgyqBK5dL$il1oCFZ<6jIZ*=`uE?fVQk`B3Tqrgb#jtt zuiA67TOMw-B=+M8LR79C1u2-EZ-lE{H3&ph9!-;Z9wpAdhqoiDwp*W%@r+O&wiOli zVMaul$)W5|;xfqgZIq#TuA`8=6L)+kymt8j4~0$YbE)HJBJ>DE`kha1kZgqybRHCh zA({Iy;l};;Vy&pS`6r|G?DrLY-11z98p}!HcDK`Q30c{k&wK7`JljMttD4!j0<`kq zMfI{a%JXJi){>*6qqkLv24`lHA|u=V%;>x`q@E}k5k4#S5&HI&grv`C*5hmz2?=S@ z`+?>wKE>|ezYW`ePnbHquz<3%#}pHp1rQwS-Fq2pN)blhqQ|1W9c3st;YLwbQYtk` zoS5wlFApIT=r`Ak?OKOx^(-eg8H%Qu#eCCzeJDl8Y|{Vi)V}a!OSHv!*7Is-`?~~U zrJp(;3DTsGhK9z^%u+YbnYokwcC7i2T_lB#{RKqcQ_9J9>=fFuDU6v#ES$W?OXk=_dAJL1Cd2N5A7As_GXy(3Og8J>b- z_+bYj`N`$Qg*s%G?9F#hZaM}?w6Lfs)%{R{o3R3$WI8MOOYJ9$Iq1%#V8MUu?hLw% z#Stn}DbcLym%IuZoUbaSXX7S&O=wncN$2o8ZDDFkgPzghn_RB9%G7C;w%fo_((oT! zs*#~V=^?Jmn&uP6g>cOnTx{$%Tw~Te6T0;Dbd{+B8E9J}@{Ps67va`KRs0C+rYblwjWS-~gDTSEC9BO8J&(BUyFwH;3^EtsD8UK47YTLWjw#EZI z`|8(H+^ic9-qP=!;+8w^&X{HU_S1+OXiZA_o}sE?R%WkHT>PR4E!1gB=*x}DP4!HG zlxdiU5V>c{;%{aeoc7XGlFi~mZWy+fLItXa_*rOP(ayfr8WVSmT^J^+0%Vzr(%LmF~YIg^8qG2sO53Fk;^taf4$0iTv1zlUfi&oG37(}xZO(fVZ*Pr zy*(zJ$4ndII|OX#>kmNbQfm-Q5JTo!?IMF_B;7`8h{hPq)h3e}%wO_fEI<9o`oapQ zHnS~V#J{jI^l8}^sOYCrwT?R)^gB(V@#NUp*glbAIE0+&ZI7rT(U{2SD8n@Pgz~aNwm)R3ABQi7Gi_h_tfj_>&k);p&XJ6A${A_(>l@~ zo(F-tr3}>tp;_t_R?Xq3fGgO|F^8ZUq3#^cQtagQNn6+a(aAQHs^EINi2$l1xxxvToqnEEQ&aRBW=xy9@f8IN94l$-ha7HRp_&SO{}Z6r6q_^(WH;#vbG67IToQ+!qdJN(Ihs)cVwxKqs0=vWs-~d(jSVj_1e}NuwHTHU!qWDPmBN3r#H`P zlA__*tbAJ}bh*btGkN?_CF3a{v8-Gbw`QD>w`%`ng^4;|nf;pV!YzAvVqz~YWNe#Q zURD;)7vch5R~|`kEpbw5pwLHjqKm4AFu;J+HieX=T&WXV-026(iGx69jQiH6~ z{$!qUH`m>Ao`>KeahQ>w8|vnKRRQU3SiJkK+mjWDh={swJM8p3?95|RM(AfhrwfxLrpHtPhDVJgBq9!S*NWi`Mf zJG~*axZ!>+T9KchKN0zh%zYoeS4KkOgGF5R)#b?+KBLA@w1H=6SQuqQ(vlTf|BAUJ zY|iMQc<8}Fu@E`ua@E=~y-_1#8sXO2p+K}`oa)x>i(M|<2HH#zL zn0r}TS#4DQHa{1_GsjHzI8}GNc}YPb@?CN!HFBSz_PkbEQ}e2yXAebEh;jCGXWCcG zFJfH4RP3_Nc(Jx6 z1E0E~jRVSu&bM24eVp?+m2&?IvH!6xOU~t|HnyzvfnA=5V-Css&X9^7ku%5jUY&SDAV{`8!aVlk)!YZm{YAsK7t$tFI z@ph^KBQ@rh$lvXs9*Rs2>vn})X6 za_4C$v~f!ztsw{Tyu4`%10Bz2!3u_``g-n#WJhzwpL;c`s;Z%TKLd%<78mtz_#STp zHVAte6BDy}=iL93(2Q;kmTJPpCJ!GiX_U>!iHko_H$pMmIXFEnwWM%GzuWg&Xh}sy z#V)`*!`_0ZCM!#{);LojP)IS|0kMUOC1h4l`b6$kQ4v&BNz`(&O1!X1LE<_OQYqm0 zJri=KHN~T3xA8cFcbG#m0wIzZAHIyr+8zfm=Qv8&^M4kD??VtI+jg8Qfo?2LOHs;< zdhwdWo($Soyp@X)`*^;;z|?Ym*hy^jY$I=t_Q5m?oD^aLk{AE!_N0N8)y>bRa=hn% zytA}~1x5%Jk@|iEtxE0@t_Z~-v214lq=o<24Ur7!{E^h?B9Y@ncxDStM@ZAbFbx|) z8kUqA)ay2S-q!_R=TG6(I0hKtytW%xYgdrv>ZIMwUkFbgtQ`I-y&=3_MQ;7_*%%(q zaP1QReCf4t_{X*Bx#GmL!$dMT^oI#ZaAC=0ybI6yC@F9VQ+^sNQ-_0_e9hBWu1>txNP9b2g0QFn!G>X9zFqpogc#Hr9Y^As{OCk1RNJ46tm~+f zsv#}1XtpFPjipjpSUoL%>ar3gs}t>5tq(hJ@6mqh5`>EqBvWFuu|FLj5vEp zG-_Fxe_72+Rkh$RH%xiU;WYd%rJ=E!YUU;cmi{|~EHU(xPzBs$#6ASLUm-4LP>jj? z;ITcfO}%A7?Z{!QI~6djz8lwEFaGjYc7WPKyvTIMY%1`B(!|GhPmZzb^KCM|hVy#-S<|Q*JU{uq zB9d9T{^=;^d_yDWatD4HRuB;A>%Ug6D~PSvdBQ1OnVU0M^&G*JnvIpj;=e6F_$_JQ;C#vmYrRt2#7U+~7 zcsUmeK)8bKpb?U4&$9N#Cl)^uZ;OkM_XHbA|Cv0Y+1PX-RKr>IiT}7e;W8$~DP}tj z#~<^G?p0OkjBd-GROb<7k6?E0ApdFNhvLloVjIJ+O8(=C$+^k)V)10!yjj=hiAFc} z@@gh>^T{@Dfn5nJ#3HPMh*;3BuKN6CnW~|%<7>Cyfr&9@582S+UjGZiapA`DmVvNG zQ;`zQVw=#>FuoQ=$gflK-nH1_d^8w)70gPm8!l__gy*ilZH^$yYxxV>mJjh)46R(_w*7+@&Rc~-O4Ihz&_poyRpw*92p7_%w=;bEBaao!azOTYGY z)u|(ChmF7?kFL%;sqwi<5y_uy^eq{l-7zACttU)%<80LhSL~RKBp?a&O9*d`#{4v_ z$U9EGa{+$5i32GuJ3_Kjn|3=M?5gkZ#>xK;yNg-On~C;~5^i5vXmAJO*lAbRnmK^2 zWGN0gyf9@bc6u0*+c0;^kr|8Jg##k?^M1>(+@Lw3gKsE=fE{4wKag=}-%4@vm~)tX zDf2Gq|6J)yVDa~TE2d+Cr!PPnllIkzX{(7niH@qVwZASZVTz7XGKc8E zQM>T}8F;2%AIm;>Ox$FFe%1-i%fFAyOQ^E7=Y?9n`~9d7QZ@WL4s!NDr2t)7@5yp% zMU8Y81i+{SfIb8raq`qFR6F*2x$v@Z=_vj_DLmm5+ZIAglEH%5)nl_{w7+B{pJg1p zfh0mJxibU*zmK^V4tbJ&x((Nd0R0CJ0}Qla$PDoReNpzP%(YzzQub*I(m#;-Hd6RK zi`SE@3xV`Aax1piJ>|X&Phby!M3OMw@c)mA-3oz;nC|39p&58^@xN%8B-XGBAMW z|9)}keDNTPYG3vKbwBj) z2lNgyJoqO=L4~INKhfRVlA3o4RjcLlG;(I?5FslGk9mTOYfNQQ^37$CUo_7NJN>_? zeD@(i%sl(Z%t_J^%OG4V{FD3u94_ewpQxnjTrB3_%U&mlsj%&0Z9_p1x?>`WE&p;d z3!BAE>KI}4&}NRNt}b122G?Kipb@MvF8Q_)Yp!5sy{FL0&iGFxUpw`=t}n4)lXtfc z7NQSHBx?VSWu3*CIIL8T8||D3>z_%+RT&emDd0hwmGu(bh^x4NBQ};$WhD2qh1X7h z7uF{74_&HT#Pq)^Up6?+C)oHu39W8{*TT$F!NRM~jb;3Q^6)-ij?gJs!Kw^RGH3o> zFVmQXIJcTd;GNLF(;Kmm<4tCi5pV?9v z>?W|wT!r0p1OVYL9JI#_c>lyA6RuB~fFM$jSQ?7A>-+X5LZo7FYLKx{SlarZ@b*Vp zjL8-mSA9AauW;y897|N)k)Fg$W$a@SmfjhmCiv%J29610F(NBGZkJi=Z@=axUp}}O zOaD%7X_<<~8tRl+`EwrIGi3bQ4NOIU>{M;s-!2Su2r)RF=0kCQF^@Rblq|c_hZ$~k ztrw_|=(|15iKp}0G<7uTMoQ2o5_RS0hjaURbuT`5$r1%F9>j0eb@LezM@1-373{X0 z#&>`T`jGK^G&jo5mZWzVO@uof6{NW4+(vky1W%8QO%Bc`D!*s%VmeL8#ox%&jpL+1 z{%;(i?YIQvvecbqKK9_9HfcPikqWIX_J+ji1~qcC_ezWLW*Xu8w9>hz&vz`5=v!#k zpZC(`S(DFxX#aV1VFb|Rv=N*;r(JoMC(oOo#g)gOM| zXDK6!Ev4IUAN_^3Odq+pI%#4V#Lvu;eB-_zNl%8iY(0Im{i&o^yD6&t<`3pDUfi(JaN{j&LO)Wu3lkCqKj>P7aj;$75V{)x*m##QDhP5nX;oTc8z#}h)O`3MUC zRJI@&>(M^iX%@rGg=c@Q&r|PT9EKW{rC#A)B7L*dF|FQ1a;Md=FySGRd?Kg(4?siW z%~i%r*Bdu+de903xo@xJ#!xPc5SmsIX7=MpLuMoG0kc8le*=~ zTRTr`e|NkLw03G)$|NKp7~#JIAp12PSc48r-x_2{tom4p5q#U8i(hmnM}&Ene+7N_ za0yGi)V6Uexbja47l=~-`PK=Y>o;2CM!Ag1jUx1a^5|rL?Uo@sEyL5m@{%ol(%~%s zEEo4#cm2T7+)4#SKzSQhs|;gm7Q{>Xmjx&o%_{(OOY{LJE1TOejzE&L$0gX}CP zd3?4gRZ0Mi#<0DcE1P0e!1r%CS1eYa>2jQqJ0w0mBAkBC0j07%4=QKjtt+dte?Kjc zaMQTDAqEzKiCx>6iX9QrsH(5R-GF8*m#Nk|q&KZ_s`E6=gLX$wKmc|zuDee=CRQ2t0+LUOrk$h5_@RJI5g&W1cRLr`Pz}|d*U@t{_ z0nOZ9#@@QchAmce#_}C^6OB0`1_FIW)f`!S_H)3(d-+3V^BL!jSk0AyT8E!Rmgik} zLZZ&WV>x+4xE{N*(Up^C>0 zkrll%@MiVle=m7ES_m4OgwOCFrJ+F?jot?I1##^Gc@GJ9;}(*6XZpOW#VlluY*SbK>C{sTSq^8nSXn@f+a zyGWIB_jr}SJI=0bsxF8GaIy4b5CK6)jKRXjAt|6ZiwBLgxu2e7NqN)PT}{;48+{sL zaizmC*`V!Y{L{2o)cAf>++uZ*X*}TFxFRC{P#ZV96y(copUoc1{q4;^Szt1gaI&-( z<7^|xP-M0_ZkkU#Wn4m3KlnDllSh$mOVe%iCKn3K*L6JCpt;Ls8tb4;-C5tYvfi`9 z%PX9>)RJoG`3Q@7#Q)j9K*8<&)FwUVlx8I}5^@Oi&Imv-epz(OdBZ5S6Lxo7jj z2!JrqI=HWwMM_pzIx$Yi*xpF(hNIT8U6#$1gZ}5a&I7z5r0cZ|W(`(igJI}h!h83( zFM5p*@)c=hc7b?yz)NwgGTu-Zvs^W~=nPvMTpYHXKmUf@OO$8K@h$m|G~X7qYVV`_ z|CVkMw!n}}tXntsKw=$7lMM&2+(D;j+&5!w%-p|Q7T;u{|8SGbzheJ@EZ3)XkvfA8 zas%;>hv)rwe=W!dW3>QxkPR&xWP&g|@BRXvikHLZmsu6dkw+XWTHo``EOVpAlWPQDQocY|6eFOytOtyvi&?KBoO{mm{2a?UB**prGcpZHA-CH9#5_$A#o{W0S-0`s?-IVap^N zr^I|Q+Q_Rb$lX&IHnO|#+e?3j{{=tBAj8KCxkhr@gAnLduD6H0k$3Gf(;SgxkOY6P z=iKF#f*p#&J7O*M(JYZYkM@%bXX9ms2(hlMoEl zK3cA9%eYE!hs`p=tz0vvQ2CpWd27(|_COU`e)^(9V67~kLSIH&M3yUs%z8NNCeQdZ z>)OiZ)t2JfbYU=Y-acEn@rJILQek!3P3&H=o`4*_vPn|I8>`9{Dpoh8ab<3^zs&z4 zLD{+NGdL5Nu<(PyAS}`-Uh3PzSv<)~tO@$8FalJ%RXn>my8_}VC3rVq|8==l)tE6h z?W5z2i>=e|SM1AADWY*K@DjNRQBjdQR*L7!r;KB$nyrrkg5}H3W+^6MJIHd%qcvq8 zKCX{2;^W38Njea2$r^T7CIN zx~Kr#qNN>U;P}*&&_w5l)X>Rc6~VUkVW%VCYyGL~%jHH|Pd&Xqb7v|;wU#eWaPU?o z?;yIxB(vdN3_ABC0bb0!$*_M=oqS+621-w);WFO%x2Jn<^RaX@c&UA!I(HEb^}6FUb6OlSS3kLfZ)FzaO)S0n4`=T8siK^pH8UGRQNVrqELs9W@$8^H<{x;4&g-4{<6Qo+1>Pv zOsdx39U+-*onL(sq^ss5~Y{KOxRLG=}=!g(ALC0t8KB4$PBkk-(%BL zW9WW=gjMk2YST^6iLi({>EFiOM5#}b$8D5i|EHVvLX_t)J*lBMpm)g)XnVtekLh}` zXa$)y@L^>@Y=bKa$F@Oq81IVeNJX28q&ZSqnsd9+blUpuk~r0#hYeN3x|qI@fJC+M znMwH9_h@+mwnFQsj<5TeiH))HE9#PS*rR(cRX)@Uqo9jd$n=XI!HQ+e2+V|WbT35} zGsdfZkwT$eoaCXIym0%?C&m-lD zh>1Pi-NC_ILSo_tFXI41FZ9n~P{U(lauo6&k@5d-PRor<)L9k?@P2PNb24Ukr!Dc% zhHj^XiOJe(U*hb{3>`iFMPtFoxze))YJBm~9!1=7{vC1|w!GR?GyaaKrFT;&7wx%P zI;E2X!?~-R0&sZu+g!|~XlQ77zz1Y8UfkRa@$<{!(^r$ZC|6ymZ(%BuGHF~v90vXN zWAH-^PXpEp$D!8-r$;Y&{TH3Bby`hWSDURW^nYB|&NX{_wj=6If+U4A$ZTm5prh*n zmX+&^Bli@p$Ap9uj=ypf2*5k|K5gQpn&(Hw#tz@wp6`F)M}!MR1}!ZCVpUaD3Y3!a z`SWKI5)yFNz}T3viOKlXRF6p<0V*mgI8t`cM;)G-*RLVewRLsTF;L85UQY1a%z&?7_xJY+@+`3681DCC^l%Oj51)~c80hO? zUiDqUuYLdiJ(7%3LD>}Nx zqu-d0v<2DOzA$FxZ-Ie)e0tP8*6S;4_C7Z;cNLpVIJi2=c-CHC}4a&p$BrKJ@Y zzv72s1bqAU?d#V+iZXGZKi?m5G&{|k-l>=B!RrV-z0JV8xU z^X&BWkkGiJwN=p2kP?h22K63O4@i1zZ02{td5vQ-N|2~n_aeZqG9Sh4T@{;`(^yZD)0X{Z3io*wFE_4ReN7SE>GSXFIplGI#>5%a1qp#zns-&~v&1i(47LxdNIJOZd7 zX*7Ui*7cs@;*QSG!`9T{y1Sw7+uK|Bd<7JA^opeM13Ef7Q@QG-6(mU{@Mz%yQ?}Qy zUxV@Xc)r)bGK>L$L))F=r=~VJ*&KDxw==W0KHcAM1qdw!2u*uHL_`$BsEPOZ@xa_% z|C%~RUS3{Lbr?AIx3I7XbbS(v=eRRf1zuRW?M@1}3I`wxRZ#QsX=f`?QBv*`#`wI= zRIfAzxOtMA&hU#%HkrF4myT$ve7fcy1D0lH3rBFwE&zaWuN{iXo;};%+{|yhMemf< z&`1C)lbZiVJg3HbwkKBu4jGHo!OpJD^U?47Et*wHb@fS5FE&J5N=iau70eGGJ_HuA zh*T&QWAbW}NyPbCNtUO;B1ft?*oD!f-70s!J~Q!}%Jqobpf6EV3-j0jo4Bf#u< zNQg#7M`sR8;d9UL7#J8RHSETw)j*ALk-&<(@ArNOG&b@gBm09gC9_N*vIJ<6or6O* z3wwBBBu_C?ii;SUsr@))6PtKq4xe+M;74hI;aOM|uAi7{YEG9p$ZKeD+pkJ<@Y>8Z ze%cxv{2U)F?4J!d62QGw%fey{5&02HGB&D#JUlqet#C&1d*lz`4M5_JS0QXFmqum8 z=cM+FTuQ!R^u>!8b8~atZp>v9qX_?MMUCO0j3x0 z^ZL!za=1>@KUTD@+T1jkOm71gS4##S zo(7?v_?trY3K}WPPdVM?M!i`#;HUV}4f?#t^yi7!ev8yFPRmAjP5F_xe$R z_)M>WAscvto0^*3=SJ6gW8B$)13sOMYy-}`^i)uHp*s?L+W{CX6k9Io&5NK8*|D|0 zM5oo?gdZiI{_N^nTkei@&o?Rz%a)4OskIe4H$x39^aqx)h}_!RH?L;fRMDA{?z4yd zT_~w?o)R~S@VEQ<1d{PM-UkmIk3moOM<(J!+{`xN*THWM3=Bj9vK%Z60eryYb915G znyM<)4(Ujsm8hg*#6fx2=tK($4h{|oc;cziM!uEX)HFLi%|l5kTBL#=pvI`z1BgLS z!@7QZ5@X1}+r*M*LY6M1B)78O#7Ut&b1HuBnHto?-QSRA%JSH`% z#*YNN^zqIwFE<~n`Iq}kYcz6(VT4#}nINPEXAW3uGNAPP~n=mzX z?)tjvfdOY`#+sVl#i7xu9go{jpGS1MW~oBmFqi-^3xi6xv9{3e?_2hJMNL6TNfiCf zkVd%=u5d3ubn7mJ&hQ}|^Mjt=bC9aQsat`y_)qbH(0^|YN zG*RlyQ2v>cntHemSSa+Xyl8>?Y8?^r{~S%PTC85t`6kpOY-n_BECM!&(=yatwY##S z484Ef8q2B-9Op^N$-n`B5pz>th4i`oYvPe)CoxFZi+GE&y=_#$xaMRHInw@RR$?=0BW|nd4#{7M!r4=m8 z{;M&Dcu=j8(DByqta0HY@3q^Kyo$=|;$k_Fvs$5q$iN^8#rdcOw7?E^^eb2 zL2l8BMw>tL$bnTGR=OGaVTsQk*C0z=e`06}BE zSYBP7nx4+w`YZu>Mkre${i*8B8!j$wAh+a@9)=|(NZu9UztZ}{3Ks`qfay!W1oI3J z4?p+prz{6a3Wu-_V{xe0 zP^iEG)Q{xkWcP=)3Eo{@FGQR?VauIpmB!QETHK0?0$83m(|pCt)0G%-I=cG z>g+ts6NH38cUM)#&fOS?0=Qi&_SI~)6|oN5!$=eW_JE=J`4-UNhy~(lH#&#I5TB;i z)lK&I7iVUA!{F-okB)l#`c@Qws6Cg%L_tw&a%I=CK#Bw%tQYFwz`&oC6?(6{1L<~2)Rmw6)OigK0-o&7Sz6E^s0fU2FCjo%~%PN3|PESt{ z=!bwm^8y1714!G}iC;ZE88MvqJqTPRz=^1m5>6`GTMACjaZotqke;TMl??)A!NP() zAOCRaes??l`{?HWzAY9OmO~9AeQgxGwX2&Oi0lDJ=kgHHy5^(#ps{c_AqqkS+58Za zS5;lx*dWBi^UG0r2^^*qtsrrm!N(v4te?|CgnOU?q9#sI)RDl0^>O%Xk(-+2r7*G5(GeJ4pp%7larH!Z!|!jyNryD)z{Vz$o87R zJqLOmPEJ>MzS?RUl!Lt2D@R_u50H`3L)e{mwSYnc6{`6$a}bbuy1KgjxYBfB4+Icr z<$V6AIiS2JV9krajC^}wu{BmyD{m^TQmobethclCVF3CIj_3q~8A}iFICA{SV zWRhX!eg2TbwS#G%GXc@$ys0m#R%!Z#D@HOKFp;-`%rgkO+upVW@4DATKv@HsVQp&q z=Ll{92vxnW;Ozqg@4;s*jYWJ^6PSoy2{^#>Tz#*h5nRM&WgTs8X=rHyAOT4ThG~TB zg&T)MmIp4aG{1)tx)KE?zyt(CZ&Jv5x!Xa4G#$bSWnOYA^Z83mHz~ zH+wzvkVZTSYFtKhfoYw%K_uVKI$J2ADjwFS2RR1*S7D~_Dc zlHxbL=Z=Hr(V&9oFx?mMnbOt0#1}OF&ZiCPs4!-beg*0LS{Lb|^moVNX^!KY(>1ysDnSmAxBYUeE; zuA;M{)5Kq2yMtx`G&9{F=YbPH=zX;@E*{=1&FUaIq__9+@%43absY*IOGU;3D@^nB zFu%#|EW!Zr@4idq12!qbbj!ZYy*)tnRyHYq$bPJ-29VhV-9p@FrJdaJG;Ur}KXY}+$f zNy1A0{H9%5FQa z>Wp@yjqb?Lw~;^B*%b0M(WcvZI>TpQyA8+xS*E+BPevZbkQyiiCjGcL0x%?YqF`gt zdrrQv-p^}g`wE4I>i%orO^I%RL9g@p>}+qQ&K~THC=Ln7mm9n6(e^Qz-Hcz(1j@|H zF~Zz`^CcUrxnFGd{sF#t@0v-n_uh{t>6I7(@+BJW#Zot;teF+LsXiO^>hCC6 z%{|UybSFfT2gCD%&=;y3#B(({AkNv)z_0tH6iNV#mHQBkKYp_5_GsT3TAbErkCO z3E0@@7<#KfWC}AfI3+1WzJI3$YMkY@d#ACK;QWo6a(WRa3&r{~uj%9ah!W zwGSJBC@CTxB2v=bAfO-(BH#uDBsLAw%@UnvKlWN{&N1g4;~ryMo-A?o{n8N{$c?Y5#}rA3oFxm_vcJlsy3biw zgp2I#?#{5q6L}nqCoeB=X=yo7NV&j~0RvEK`QCU`-gFJAUxz6{OUNT`o$R;nxO{el zyV1`6TpxYk?7 zHL`excYg4PjB0s&j@x9(59Ba|B@yly4mdba=<+f={P&s0Q)=onn_qIk)*w>L%R%@k zisZ>7erjGrWO!@grplN-0|D6msyz0BFY(tIB&@rBzC2!i9C$$%8ury6gZ>GV6at%! zuLy8q!16r%8@pxKVfP2Yvl77#eV3-DB@%Dl z@~CPmuoi&>c~etUs<~==;Df81n{o;Y$A^c{W=qP-472{gHmyDm!4%l9m(ud`AY}6A ziomDi7V?ecyGZ!a(NX^g*B_9}A?ojx@^T&lfp`)LSJw+bDf0F8J)rqy0(Ld6uSPyL z28OMzZH=ADDyK7TV3nDgL91%->fsR%zRvno@+8|fB^npWqM6^h2q z>viPBk{!%jTwDY(E#QiHS8m2j5n$Q#8C_PIw0b7@`bA_>%RQseaB>?A~xk8Ra z-N<(yAiwXaD^}y{WCdJ&6)GBdpcBUZSorcd2IDd^oMG?d=L@z2|N=V#IHfp4Qg8-81j8-_M<>Hcc zZU!!Ab2Bg+x+ySpVQ@#4^$MWyfX9p=6k&djqi+p?+=~ zQss!rA!}5IkvF~Q1@buqgSDgMii#&Ni?}Wz0x5?+!Wms96x5RX7Ac_3bqK+>Daw}5 zVG_v;V9I(K+_CEKQs7vam}8TZygWSn#J@la+TWiS*U%s-J2L7`TH@?R$uw0{wdKuR z8MRwwYV~k9KD=q=k7~J6$QkHF(laR`{6LJ@%L|3a{OPP7FSv*O>lG>zvR!@Lcs`Qp z<7H+sxw&TV-$RMt{o+zzBVFj`WT2vX6K;XPHL|X}raRn$KiB6Pz8vCInher{z%p=} zc4&)o{o{u^UHMNze%arwvhDOjUzd7t=;~#|83)QyqdkWVzcQNRh!aJu_4H{d;>$3k?sC z+U@CMdI^NF;NqyAR^`xm`bg2z`ubKfxl0lw8uAUET{ty50hbxsKavf?${7aACWj$8 z{}nssIh!MLK_o%KANMvQSeLX2vM3o;BndCn$K;g+lwP_x zR&_)~L|=R_xDs6HNpzz+XrAK6XlMk2_)~gA5QLP1fd?zD2uz@|^y}BS70b=v_-#2j zInQk1fH6({Auj$E8Nba-C!xUJyDtAsizpO0NmaHh4?Y`$J6;gU2L6Y?@CEqz{%FybfX5)r0|I3k zI&R9Ge^7Ce0rE}mFi=%}dBthE$ZDx5J%q3*Q<;ms+Zh((kqB02!r2i&)u^@6Jir{4 z9KHGNolGYA7F&BWn&+{u=k|yY$b;C8=kQ(G=r-Ol&HVt@&%GYFu@|iqg9&)gS9}ST zI_r58?<*9f)ektcoqU4JM_y&KS_r(6k>?bL%%@^_ZI8(`+q^B!#MO7?CTtczmv%3< z7Cee_ziM^$dZuku`d`G`APQ((9Q6)EB>OKHbncl6F) zd&%%k!Fjp%^QKnjA6q|%CK9x#NZf5!RhOEKNF(+We)n=2qoG+QC7hl`Be=HjV!R1W zGOKnT>+S}kf3)yIVH!gOBIfO(I7h!P4oz|B&th@nNDmr5n4m8_g*(3_Jj8O8d&1kt zWcbprn5)Y`Gt}3}JeoFMndk=6VUJ&`&E`U69O-P>vhvuAmI)oOpV(;#>@DT8e(A-= z#GHXg*a0KC&)k;iJ;3oyvep!fAc121a>j#V4ASyK-M;aOG4KTXtd{Qen_ zax_FikN5qC5tm!VbMMXy`UYxrYHnGcm zP&=FoU`npdG z8|oFLB`;6`^5?-^K1qbzL5WZ0=vIF|=PM4HHQ(3ugHLnOH3(-_R;4Qn>FM13$`E2X z4=CSzdOhzb6EC=@D;!3kvmOa2)-IXfSMBN%qpKTG4kD8rWGba7@nHvBD-~vkHaygS zVpMT>emoP(qs^c2f51_@wC{)@uhi`9|)@JFNBmM>$iGfC~)qW6_9w=X^Rv@UI za1}6!6PE#7dX4@O&RWUp{lW1MxQ{T?Eo2Oh2~e*>-4fp%iOu!NH)$@@4E!Q@=y05% zi8w5}aKX>+^d(`Rub0+nr7n;4S&Iz!$%)D}-n`B=LdzLT)*2jB&210TNF`21W8SfH?ak1TkOiUlEZ<1Db7;oQ3#^V~(%Zmn$424v4R$gVtMhUqT_><65 zT{%oe{3qYv#70P~Q9}77F7#p~brW5$ zTop!D1fw*D269J=;2X0EJzy!rXtYeXXuedLT|9O{eP#4w|*37jYz;_e@49%UaNz8C+pUVr=t? zAqT1`#KUvxtv8AxQ?=#bvg|dwmM<*obtdjtc_sm;y;e zIt`n?JVg$0vLq11Q6>gGpe7jBen_qA_BiKl?R-w@Ax@RuN7MPfr1DAbz4kspKgoXAjfk|v( z&Py|Q7Dig3g(p~9gfAUn zlQp;bS@X!&PYTnGR!QEyoao~w+NV>S1746QLcw%k;_f&mmf~n#5Yi?NzDBGrl;0h$ zCUak=dS78Ad3s>H`?Xc6^*+!Cx!34R*Vr!$TZUWpz+KU+QeQ?X!7=6 zp~^6Q8kH@$87}?BynJP+m%O@!20uD_i1?ga_9sOaX$q{A;++hzbZrR-&2&=(hW(Fd zOPZe0Qbw##M6g5*;-WyTCAMJuMJwIkg(JY*q0s!6HB4SFQZqTjGIioGtc=o7K~H@Bb}; z)V~1S|D5#oSz=%y+mk{}x8BThHd61tsdehQ>AYF-NhhSVmwmKgsoDwFjLB?m8&B=D zY*^hAg9B`>0y_@Ed-pS@vh%9PuuYH5hg^)cr=1AHgC>kIOpJK$ z_ZRp=Yw8Z;N@dN(jqqre_XNTpo(f{>Eqo}IH*tu!pUz8%wA>a{>s5gNT{%5sL#e>4 z@UMkQ-^OG-i75tkXA`#V$y~_eTY4?RXWj`8$;lpl4q)ep(wiq=7OqbTu!ed04?Fz$ zxh2x3Utg-oFFeISILIXYTPB-km??COaayrx=3ABWCUwEP9smZUEqQ1#g(rrAt_VTN z#7N_8&4Ar2J)ubuJO>ByG^n?uoP|5#wip7%`Ehk7?byBkj6Z@j0*9Cl9Acy_;&uLN zvVstFV?tP<^^B(smqkM*f#KP83w2`8-fG4+Z;yHs7WW=NP3T;aS(K7yrc%?y?Ku0- z3rj5x?q}SYR2+Kt&1!vh&8YBnZ3v@qn#MdbNdyVJ7gI|Of#F>2NaYd#c~^tTS6d2> zvr(*-_pM0Qi5=e})5?P~`+izTgT#9ViY4gbC}X&ktlj(@I#OC5+P5-{lnh`hF}!wLe9DOV_E#Emof8SRnLGFYmx%!p!^p-|jHV&l&0Y&WxAL&-)E>D! z%{g}a8^Np;71|LQ+#QQ{Lx#1M{KLU5(UyVzEMj26J$(ian~Wj(d@8{vr0t{HlgM&M z9c3@Et;9T)B?~$Cr<|q?OO3-WV#o)?lJ7NH84HPtp2QVlcV*|zvI?=-F)H3o#z{V_ z703g-c`2)mTqdpGCw@-~KJEHX=c(|2(jUuXL=U~RYpvLX0!G!n?n(iO+V z^x1S7f6>9dLSpDiDoB!J73#lfFM@A%ndmxje|KMDKYYi%Ar^*O!Q|4I;Xu^Nr12^>C9au1i~ZVx$y-Ua2GtXhb~@LJh5+m z{X2wY(Hrb%kbc;pxkB^6%5m_s(0cSS#^g;MDZSL?#9HjNl(exlB`obCqWe7N75d=R z2RW+l0&AdBxu}sY9x>kqU+PRob zZ>c~J5^{bOH!f$_Dh@c~C+cw9ANHHjC6@aenfsR46X_uv_LoCMN(xqdM6-8-3T=Ye=i%&X zSgcXv>Wan0?wuu>+%K!=hI!3|@?Enlt_~O^+x97bEij<1Zz@l;IB;ID z0^Ao`lZ|1O3;bDWn|eJR;)}DP{fGr;csTF(t9Nmgg2JGN0sxnAi5$_NCy@hHw29tY z=Ib7&&a@ku(r!L7*-3U!Z4%`1uB?R&*C{B5! zrrx~zn7VC9uR!pvn1865l#zS<;0+blY`#qDzQub}FxTZ+h0lP(d--R{1O)HuJx%>d z-l|9XXURZNE$V%xCGCn>R8Xqi_mjQ_J@Ui~C8SH*uvu}i53_)$Ri`HV?+{ic}i zu_(BPU=m2pxFI{I3yV%g1UJmb%;+OFnq@nyNsMr05LTZDZWI-heWqI+{h5APZhzpE zuwY4yQ8H7oVBu~XsN%LE%7=2e!@#OED2-w3cl@;~<6u>`rX{l9dkZ%e(jj_VF%l_y zaahM(^5W6pURuf)f0iRd-yk*lLn>QM+Hu>wReb>W#tM%#2m*@>8|C^qC{v9d-UVkr zXizDHgc2>uWPSAlq3Po8x+6teD1;{F%FOK$Q*$xyPt6TEA5uR4So!%{MD+6ViMr3R z(~rNL3g7HK*41h^m6vqQ=40TR!vRK0IuoT_!A^C?!B-rTo%v9$rHD>ClD7QzN~ZAEQIWXhC&3d`82ZO|aQFO|@1Rmc>y~@^_N)(SpX&I? zggA6ej|6_BUW3?JMfu#rXR>nx;^2bp!QJ131?@9g(-uE3&&^9c{5uY=q@w+1_Go!x zQ2I=s5jw`2mSX$sLX=}A%Ph-`$f^;>7$VLgZUVhbzYGcl3AqK`)guB zT!C7?(@Fa5)Qe=ADBxT&d1JnNSJ0BSGetUcRR|_TS^(=k|2Bk)S!$9@c$wI>S1`jk zz3g9O#{QQ*P3MkGZ)G))7^j(1hprT^rf74@qmBC?Q_|9!qL1bS~l!Jna%q?+En z_83crs&(jU$3ERY=o_%Wc{TkFACTuwX^inl6YEsS^PA(Dro!OOshb?prTJSf1 zXcOT!xLqr~O>eh!pmC)(ICx!Jw_qIY~`{1M4DGS);i|Y(CSp&fEt8Rt3D{l zS?h@V1O?rHmYSR>G&H0CH8qw>(#gib0!)GF z^zGQF8`rMzqg`dCxmU|rI>fAE>5n<$cF{jE&g4q@rFOybB+7_4sF$@s$T`Nar2)q86qm9X7%cJ*6&gn4Jr$H^T^^3tkEkU zKhsd(u+g6@hk;4T`P7<_#D4KsXNp0K6%6aBStU@9Ekp0l&x%B*LDyv`?6EW}hl~aq z5_jS-6KZeWSSOQXQ(5fPntRao$ed%LwWy@2X6l)bWE}}E#5Is8HU9a`n6iw{Kk_73 zW3C9qW0$aT<>x#tiCH=xW<_}%G1?LB{|hZ^B&pbF2DQ6Q)H{aVF?`1An=Y$vFWlM< z6W$e-$k_)8wym5*Kyhcraj2(37u~k#Cayb%SBZR#U@7nw{nerZieZ$qNjCvmU)}Ff z$W(%LZOjS5n_zhsl`N?y_7wj^H&MdEO=R6i>-tfgr_UcuX1x#?;_Y|qm4HkF$dqERJ&Q?Vs zQG)lr7x>g?MX9sTR@*bA7F{|5c~~lg=}d-w4#0y!~U!B8sm0o*RU^SksxvDE$&@I#MrR%l;zCk&!vth z8>rtQh+hP)?3oH861i}O&YMh?!9UY=E@-V5Zpx->bYf)J&6FoRUuHU9hJku_bKbAr zN~NY~#N+#(SW2#EA%@TiBy=Hx;17E3KAU%B^lP?Gq7Rem_KPYRsYr;lVJ93b>{DLOG0#vMKe*x)Z)fEFS;6_WMpVs&saP z+ZbI;ad}Z!jI6Jz>qy;Y(w?{aNa3c^mhYvRw&9Ra7^kzmUs=$hMJ*BavB_Ig=}TzK z_7e|A3souX^T#n|pV@accWLVl!<{ucyKL@X(n&3{FW-B(W}3R;HJUsFd*So?Hez+3 z26M^244d?eu=OO<^%qvNHyR!Fg*zNNQ6dRubyg-OwIS^_LHVH)?OH!Bbg#mmS|+sY zv6E>~W}6fICE>tx1+A}kByul0C!pcspm=2t6nej^C@k!;*Uec-z3Z#y5Vu)bWRS4l z^1!^Mz4^S=ER``riR{m5-wxS#PS)Bt9==?7a3b$rAY9jDJIxz9j9;NBQSIF;A)JZx zIe&>;v9Wq_;m#s_9r3WZMng$8=IpzR@%dU%k=qR8t|_UrLteG4>zGXeWOy`Q;Gn)f zh zuXFQ*;iI{E1r9pr6V84G#ohuV>DS$N$OOBnfUewzT7OX`ICkU}B!^l9l^N?QtkLBz zG#7B~Q0LD@`sU>fO@%YwH-T{ygFVrfVHL{X9WL(5H#TmVrX9Sa`8b@Vr7FKgT=$6n zY{H*;bwERgp&gVR6?*fVwfOOOz1n79(MQw~Y00U5fIF5~#mfIbYYE{*kEegCl0 z>=N?gjTgr=C5qcAq0oishR!Ln=*@!7H@vpCT`w&P@rmV6LqdP%ap5@Xf&+IjlI%W+ znp60hhZ!M!gW_wHOVBHmbn+}Pp9tBzfICi#d<=nOP~(%U5kD|1UDHHLHeoMGFb7?|w9K*tJlyrRVq8xh zVq&5SON)FZNjbpw>j0maV-e@Il3Ge zD$Ot)A-*Gh?Y{DP3$@ZQS^`+1so>i*gwh!eZmv5Mi4G%DV!Eua`*jvbYxCTqgcG>g z46l*pm`DWSAaj8mdu6O2@mMt8^)dP9zqJnZd2X9tXDYnHpek6`)FaNliFOix-`Q|N#`Bs62jquRCtGnw} z-_LTX3k}`=6)x}45i2_y;kAvLfZ%9N(dt%$8G*A^MeCz(@-lwa2-xXl#r=O4vhjn| z*}#a9-Vb2*LuP)E2X?_+DUzJuNVfmpxE!TP`%K5I&tIS+P}!U&_Kv(-{CIyTpl{qh zXdUFq(~b5H>^T<>9C;GVr?V8srnJ%BghNUAk>{It9cv#gn?3r)I&!aQZtSlE1MCnz z?6m;aatpKbaCHA8HD=z}PVU5&lv}M?m2o}mTQ6Nhb(CS9ecdYR*<|RmH-=j z#kX0G7Q4?tbz!H+NtMmF%#K*K>n`8AE$fo1d+XTH0DixYte(+qls0z7pU>g1{pUvV zMeA7@{~FIrV6$0Imno_STVfMb1A8mqa=mVirFkmK$~O)Au2u; z2-#z9%z8msQiwiP*6oIQ#c*+-_Gz|*T4}*ZPV1AbF_SmiwgVP^&&G6r8GKT?t+Fp4 zCr56f^5A+a9Vu>&ZV~pQ_OJf+ zL}cB|4O5y)BBBJEnm=M4)5WLm|AA*gK#6(d-BlMA4NJ1mEPW~x55*yJ zAjbH8z5(goJ-J+tZxNOfURaXsc=^wTO%a`f@Hu)v;@$2pA;k&m^bP~7Ygj_3MG_O@ z0H0qG39YHm$>*!i8i~kbQ-)vGRGPbuaqZ!By|oGQa7y`1Jcb_a={;W4q!SH?&Gbi#V(;uw$4;}{7YUb>)R;b2$$V1ffy7b54cjS-FZ=MzHKPZi! z8rV#-`hFZ|I*lrBdmPxgxy(6v&-WVI(V~u}>uYJe?R3&E_M)Q#_1Sd2K&s$>s-sj+)!_+2vRs|Sp?y@J@rO5Yao2YXIdtYFXmPv@Sxsrvtv@;t zsgf8B{77~hL9P1H{8(FolAmPiqq0tk@c$N+ZNHMkpH+s68t5ef#7F1BaJq;b?{gY2 zf$a{W6^~Y583)DHhu7y-=riw1?{13*y0otT@-<&grY^*p<_M+f3NnpW<}~FHwp~B3 zpUL$_ovE#Nc-yKSGc|lmQ`hR-ChG;+PsG9)gX^o~h0QlfIvl_{=}IxU18XQ#&aPDP ztIJrS8v2i{>^k95!f^m*2L8Nu6<68ly97o`EwpP*FhUkb|27MX$4|8M99K6_tw^Iu zCVUD&ikoyZ_gUx4`x8c8cC%p{+ zfB;Fq#CV+~7~8L%LubmG6H)$B2==iO72^fnt-^U;ORl(WUIism6N+y}@F%*3vLStA z2wBhTGhG^#`QOTdUo=*-mvqe?3rN~mw?u8IQgtE4KKKfq*D6)tKCkFa+WR!zm=E?wY%6Av;cG)d( z@FH(Vm`f)FYTzZD8tCcDAKIT250~}TV|tYS5Na)l`M>(IvVVTFV%`+|{J<(2rQz=I z2@<=P$+Bwb@?IBz(PeawOqT>*5&0=Qha>uw2iI}?0Ozw9%!Xc`Qw>2friR|}od;L! zL;yZRy8@3BIp;*%3oo+6mNl^(t?ZOY{d;$O`Km12%VE3hPkKDW}Zz^8N7YqZen*aCbXRkKWTemu__w8m8|3xQB}K z%S}|v9#ZQr1OWC?Di>FKyxMszPj&gNA?8=Y=Q6z>Do;lS%L>=}p8y-=@(w}A-Hi^v zn6B-wBJrxyKUF1udKgD=HTx8ajW&XcxD%4?+;@q8kSIW!{uDAbYWR|MpC0wDR8Pc1 z>&d*ZIGSa#+k8EF>lz8gquTws(L0{R(PxNjZzbyPN}lF#SAN`0MA}^VUy`NNgnFG( z3CoJlmx?=mgVXKGoY6Wan9h12=?W@5W?ucBd1e2zNykpOJ57ecu%4X<;RSlgyE)Xw z{a%v?^Mo(I;nL_KevYu#f%pKzg5dJ-SM#@C%F0<|2deH4HdmgmExb~)G#rOQx`Kx#EJOXzd0sFX!R(AwHyYSDB6PL+5;S$$=TgVY0eznx4tpORN$V6ipuDz4lcjWpTg+YM5V1KMf2=FGO_ z9=iE<_tTa|#|+1qD*`*#&o6KTw>yjZyie64qf&SwT8jNcOo`!!LiIYuI;em%bT9s` zMRd)x>u+|XPy5ZI4_zS~kTWqIa$4^W_CGqdE{CaP@6u5d>k@Y$|Ea9o@7?YN3Qc`t zHXe*fI6qRZpwbh0UZiMgeZfV>m*~+a8)9)f#^gl!@%h{_1x|MZT5UJH-5fD@bi7EA zCa<=VOax}W*htCuoL;!ngOYA9^1fPyswa$WkVSc8zrW%Hie@GbDiU1O0o}($?nZ`F zbZ9@^E8J|VpGX>?xnGOKa)G&b90MiaAtxud3D_MbCR_M-DCKA)0N>v~sK|@2$xNmK zMz-Jg&y<+hNP+?9aW{sg2*-|3OiWBgWm!}E?PmnfhMeV1X-}VM&TN=@&noiE!IAqi z0&1DXWGvH;wLoZN(SLs2k?Rd~{<#u9N*JlHvh7{oSGP5Kk*HhEwLlp0^$nTt{LVyy6rg(a;>@Y6Zk(AllCdCvfFYOa{+wvICkr&W^QaiLReL%rORM)naa=3_h< zQxtAEIvC8tZZ!~wNK=1aS%MgU0MPy2Ohk7I%da+4W%l1TB>yIfEu&9(_4oQ04-F4{ z`}&e%n)!-cf<_Fa#O%DR%?v~42)`*2x@jMD3xb5Yx;j5Ubb)oh%*;%{(XhA6lSfN& z`c?*`oQ}px`XsclQYHd_z)A5S^Fa}eM$ux#b_U|7*;^SEga@5Rc&y%HwE z4gcO#nb-IEB_s<9mn!5+vMcs$4Je-S*<9@j;9kP#-|GtE-ot48)>u5U90*T1YDMs1 z@F@6vp?gsOq2PS%D6BX|QAYI!_$(5kFT=KeoMh1+b<~St>Vq9WFMRXK-n=a9v+bW+NVqb$W#MKRfhJ(X&|*On#cCxY>U5V5j2|xkraFB2wDL z#RU+2$(PzdtFDdpkscH3OR=M?ng_ovW)L zxxEkQh5|U{{mO=(&_53@bVf18u+C?oYgt-f9-y&qk4ltuoZVCa40G7UgU zoS*+t{fnl3v;Toe(+<_&`xPSkLqJYXU;Ca5Xz_q79USufbA6ITf_DicP=rrJL}r$# zP%Q3bSvZUcsXl6?{Cj*pphF&~QBR+;x+e>&0Ku!C7!s$YJ&Za#3Gr0Favf8H3W8GD zetKpmC^2H->>S5}`@+fTw671B{1x9nTN03rK~Fp=HT{kgkOSzJAuF}i+kLr@b4-vv zC=T1WxR8;Vq#e&kwTSL!Bf|Xf;R6;HmYpY?7fy7#_}_yk0=110B_*rhZ-EvEDfNKO zm4>m{o9AKJTNYiP@3#mUZ~vLh(Hk`xywE%i|0pHTwZ>iPNk>UUjGpyTrDYGq|*?GB3a zZDWLiges&OwSuPR0ct^+nmz}g2unmhkg<@ZC%WZ6Qva3wX0`lsN9wH`O~xXKx^9#? zt+Vb08~mP~R=0fr+z=dWz~<%TQZw zqaC}I_Cn2(7dJEcf?*cNjKE~|oabjUmBLW?ybkvE_WC@(DP-Tp;pO9dP58ub07w}J z6bPCHjg5&Jw3fu`bK{;3$-_UPY!lODf6^Ah#Hj7v`w#VUf+LLP_zLlnpT%7 z9YQN4H(`A!)$jOjxso_%2VTlDy)|6vo*R1Vj|=L;x{+)~2zE#0rXa%^K*Pjuxa9Vf zpjr%Q<(QI=o@Unv@Ay<#C$f4ies~87v}y#FXZ8C9fGw^k+xfY<=@_^#`@x3ox!q!s(vwJYRG$A1Ys7oxgyYD|e=>&Urh=HEo zFC>JAy`tC22b3iMNMS(P>k(`+4_w_eux$3O7J=tog?V!I-=5^}a-@Y?_0n0F!b;FW zmhc`uTKitZ?|yy=xS6Z;pXmupVc|Y<51D)1(}9iMPW&ac*FFKiI*NGo35NRS7&c@ZHQZ2spdiHP#xfV-d}7D6J#^6p>%l!lewMFHJ^RuSe=m}s{{ zBAgR)QT`}~2>Ne7pwQE5aHgM`w5VF`&+JzWX4<(?AD-CS&zmrFzaKoTSY!86ADj(= zU+W`wbb3cL2pLot)FYlMXCY0^&6^q0ra|=|C2+*aUk!nI9SrNC;oQeg&+r>RZQYuP4RA(m% z2CN1?pE?1tgr%>emj`*Aj{>q;7X7)JP}CxD{ng|HUYhWjIXR61$}b%5!}0#X;6E6JLr-JM*n}j)5bhnAsYh|b8~w;3j?>| zn}~aLK|x4}^3&(HETSdYAdE2MGtyjXzn8gSc4P_mOP!Cuy=;`wsBC^&(_}0QKU&eEAX+ z9SsJZ9~2Y>$kYAGfBo36`QU_7VK`GY6-h|RndzxM=|P|>&wL>H)*dK6;Pydb zg71Nzzy9XfBZ?P~7l?*4v*~8iHPHsbLxaf+>(HZvRddVw*(f!?%ieJxug|wn&8~>2 zSpGE_4<6vInRG=ncXV_(ZcjCk`UnN6RV9J~8m@ zXCTu01q4CgMHi}<)-RYjqp-bv ze0aFI`!T2pgu?1Wr?)(W*iMdfs?S=YC@Bj*qeo1p-UkiSpZa~Zy8!ZEOf2xZu3B-o z$&WdUk%-#eQFn~_wE?b4kK01J*1pUow3*Hwfy;*7^TL$`f|y{+;|}jps?mvi*#sTF zo^m$^FYi&@;Si3!wV}xP@6&o|K5~6^F@FD++%M2OI4dh_bqSZ(8eq-kNo;Hg+tS1& zHRc6=+rR*xEgK-29)t29-@>LTlG)*rxgp z9&^T|3XaSCPH)-|3l@ZM6>7Oez`BbOh(IY@;qQyN&SoV245^*f9L%RFRAKbt+-RL| zIXRBOky`^cH*%K4K2>*40-9Og+?M>8d^r%Xz6-<-i6=^tlFsC@Nb2{X2a%rZPR?#xDB$G~L+zPQAS9AV^%GS%b??L9;hW89kXAv zsW}8XMzZXEK&-kcFw~NB_Wt38$9`#m^RZq(NxWUE2?g|p@9LY$@LY(+v!M# z3si`j1sy(%ir9X#L$a#B!n%7B1@}_#Sqeqg=O2Nrk8itA&QFgouch5z$dI;iq{Ngj zhq=1=X=5;bmh08l)u;KF66}V9Mww!DpnMLkgb`KR?b$QHL+zXR5dd)di%dd%{6184 z44@n`5mi@5?uc%NM{zQxm%+o&UZ$x=JS~22hA5#3{^mZ0s#9QRcRl~eYS!Z3?>G5@ zWY5b=A?KEtI~jDI6<>JEuAgxXyH-%1nUABX>b}poHErdzyhf2ztZcDXt63&er`bDg zR>rbl`b?YJoaZ@ovsZgw=o=xJNr_tQXz6Yfp_55Ky|oEUrI7Ibyj$*Ti7z)&?i>bW zvGJ8jEqE8l^jjuQnJttHxE|g+hi_O#T?woD;POJYOr>s>S(myzUN{8bEJA`>pW#Z zi0DI`Ur%*=ZN%;DCy=xaRUi8g{g-Gv%dDZxJ33_f{#Bz*LCN<6de#dz5)FNt55K+K zi1?2kHAV=1HdRS?qZ!XAm?(cXPLld@Of&paIG6Vw;a-f?0q--bvHiw@0Q<0P8ja+j ze`E`c{lm8jBuk7PwD!a0G#w-8-c2*%g3wJbH0~2`$-LMDBB}58IXzJ2l;?)a%jeHt zeJKX%5vLA>&Vmltudw-7gTJ)aBGw+KJL8IRa3|eFslnOXx7UW#y9r_wJf5^gpicPOgG{Hzqs%n1 z<4F*n^D!cjeh3S%%?4Rof8-Mgz{!7w3jJHEhiD83YFk7P`5*6{4pmXwyHDwY&AY@Qn^Ibmf=B?-$n7PB0LypXRr-cqp_4K47QBUK*OL4Qt5$xt;U zB)#-2G6^thxC0XFMSrWOyl2bPP)PgApa%?b$MFqwNx+rE*NORv?(YK7=z+Y5KXP%F zIVK)*s|@%FR6aFns^$6oyBOy-|EeWL%>rKbKhD$Z6=2Cr){)tAv0li;ddOW5N%nGP z?P+GwLp-448kjJBej~1z#q6M(>+#cW1E&9D#{X-=S(;jBdeBGqhy3pwv=&nR+E*`U zZG#t&z>QmnUV~dmyJ${EOre95@{F>Ra}_ON26yHnznAT(4C`C5q0e*v zoa+BA+5hz&xcgx5j^3!lZtb@^s~u+jL)eY@vQV>ULZZQkWiBn$j#;t|j-B?NSy2Hc zF9@d! z#)+qG-$*NGc=J5)Kf)!oLR^3R!IE#&EUIzOZ?)&~TxqR?QRpr!_{69H0`llBN^Lfw+{s2Xh}@AY#GC{JQro z4Z?#IO4rvlM;b&_*Gz;%n?L@Vv4)lO+GF{7$K&XFgR1D}5yH;_Iv7kP+DX0DBj@cS zKMQ@M!$+0sXJ<5zJIEE2tzE5UXHKY}i?mjk8|Jh6M!GSVMrt+L1pZ6yeg@>>O#9v= zInmK{AWx<T$i!BF6FUR&kw{M7~XTj6cque3%|} ze7qu*198V=&ex0R)rb@lSz|8Bjk(GZ5L;tzKe|#}$gJ+|C zi-m9Cs(0|nJ>nc7ORq1}sw1}fPxyAZFkhU%>g7h`ZSIET=VlKm1{5SV5=4si1LOhb9P>18vNq5xjMBaIrv=&3D1^R znqL-$p1m|~FFS6?dA0u`r48ap`=WJ6SOn|Y-3`UA*QMnP8m5QeBDM;inO>8Pvhmkn zCe|+LBV=#f;ajwrt68bJiGzh-o77f6rcMe2pW?c4J`ZVFPFL~E;kEMnoz18cs`X%T z5o6yb>wSS^4=eeK=${JtL_K+=CnZ8|?BH%$;s9Lmf&`2y_4HR}j4TH2k?TPq%tbbB31_d!v)D3;4a{s^Ht~4CVHf+E3+OkB7vS%4X*;1yI zB_&~q2u-r@jUg(sK1E0x#nd1%+4sm=7?VWAD9Oma?>kw>`rXs3w>pmZ$M^mD{Bk%B zp69;q`#!Jpx~}saQ%6(-cKl+Xb#yw%(HcJR@7K#&{5F6@H=?Q^%~e%$tu<9h)-g^5 z=NQl)Ji^{Jeoy_2V)1N8^m(c@?qbYv)`3pWoSfH>d6lIVDN)gp&IX=2(vmMqVGzI{ zUvK0S_>=0uQwc`MwyU1wMW7vW2yFzE)RJaq^vUJRn4~W70HD^uKJxt;-%Y0Y<`#v#{T} z<-rqQ#g{!eh}@UoZ=`2(06@En#EKwS7h$OYU%OiHwkBPXIeVB}y^;GO9R1|C3*Pr} zh_Ekhotvu_C}{XIikTLg!wL^1cl{HZWqs2~{~zbF^NVSwapGd#Pu9-fo~>E|O#QFK z_kd?9J>gY8^uPEWsa@LOfF*prKmYt6)Te>I_LOurcqN=1kq_Gb{^#p$=ZL{vFhJQ? ztb5o0_S;b5!=e6eg*EV3)K6|_9LP3E5UsXiz(8jmF17&u(Wp8g_4> zVOX3Ei{c}=YQDmw%qRCBUP!+>kx;yX1n8ddwcCLI_uU3^iUGXVyQ#`}rRP=`NRj5s ztKeTzlmuQq#4A>R8?F*J8hHPiLfrbPRI}CWt>!dBt(Y*v!8lFqifJE?H)AG5f7SNc zli?DboGZHB=A9~RYVx0U!BiAPBsbjs{8ub;^z8IPGrfyd(vRs8TIVLCMD+nC`L=V8 z()V=wjR_b+3!jb!4sjV?8Db(7S9bAA`Z@b-);4fTYbD(Vts8Bz1p`v|gjE;rVZ1mZzF^{P7o%4ac#y z8kRejNPpSV+w;g{mqIV6k(wF0uy zh(YK@6<>?dz!JX!QWdidU^yd=Fxe*6`)H;G_aYmECqA0WCR^8=V_%!~TJ~bO@mCd% z#NXS`?f>~=Q^Y1U?nW;qDv;9atnWQF5BYvm(v%bh;(-iTAHZu^yiSEXZ~@uaie{k- z&vv6sB$7OD-IlR+rR2PN5XN40uDePFd=|*ZN~;1uiB&Om5{?BDZCMdX_yx8SAuQ1= zJN31ncb%ngH+&h?!E~}*Y>{^Udl#5C>HQSnD_O~np6z}EdPe!o^! z*M@}8@c<($qQg6=Mk3>^^Z77*T%%Z-pRI$f8q%sZCAw}L` z<^Ncem|zJCBrwb1w@Q`hq&m=2Ipq^mdurH_7e2Fi8&&E$KTQhtdS>F>o(%y4dk%lY z^6iYZP+hxy&XsKVo&&n6UvD5-z)n>7WloPY4QG|?#u)n%sHsBsXwWd%optw`)-Hx$NV2}O)&=%7~iQf`{ zl1o7?5e50WPL(peiG3hJ&VM_&KA-Lp>S(xQ0jJO^T@$1@D^qVbq~Mzl zC;Q6T{1Ml?%kJHOuB6n2(2kl7ywAMU^)eqvOYzY5OhPP{zSPvUf?n|8fI8&uP}!gF zc7gQH#rLt?{pQRmlxbL%{oRVvvU^H4)#kxx6N|V)GMehIwMqo#swQqdx+l&_o$J%) zq)Jb8E5!D{-1E^s!aL@fg})QJTTe8rkOgfMeFPC!*V&7{A()H(xI=+HVuJ@Q#CZtX zxfzsRFD!S6boFbW z-Rdk(PWu2kO&W+yYrB>G0yrAJpI)%vSEq@DAlF#WC+V$TVy!m9@Ke`~YSg}g@J%SWA} z$c{et>B`1{Azg)oZ=d@Z$0c$h)Ogi9&1EWKV`fSg&QiiY(Kr&Dd-=$xBX>e7T2Jgi z2^k9?$31;%(HfXI#I@InH7nd1zqtJO#=aua3w~#Oz_l7_#=jLgzLdK-tRL8`fJ273 z$HGVUn^=BmL%Nr+O}NGuYG^mMOUX6{Tj|l*U79ztglSb{g$i6#8_Q4(!-^uHEx|&v zzJ%Ny6UOfc8t%Ub4IMy=Vr7(ezoGaeN(f3YX3{?!cI9` z<;D{+6$4GB<-n!)4U1dvtDf^xiTx?YR8=uH?lk)zEO@*it4rF z2@Sj*WmNw+BdB9@8I*Kig1JHME=_rd`WxN$J&4lHx2l)V%AFp}V_nK}*4vdtw% z7Tg>441>8pBNQ0{D3g+*sF0sZ`Y2$au7X)q>pbiN^E4+^&ayT}hbAUUu2bUEJkhV{ zcWtg2dkVgt?`bn_WX*m%%A!`?Q2E?vXcC?*2J*KvFj|`&Ibkw8ItiCa5%poKx*JZg7MQz+}%;*8l}UGT5kPQIG7IFo^hVRsYfOtR=#D+=t>=9%bBC z52oT-osh@efTE5-GtM_$NX6Yj6 z-^V-eLM3N0AqNIE-G+ zACF;A!k2niTXKS+(x4-%!f$ z_i|kg!&-mwzXX?v1sc@Ggohrb+$ncYc0@iw-`n};z_}P> zJTkf-+cX3L(LhLQ#$T1;>pqvLfi*|GRh8@dOa*${3~e{8^bMLlm-kKGCb`8cjOBmT zHwD!qHqVP~q2#aMCQ-#0?tp_#?--qiXMpVSBti9hno9%xRg3_;Hikvl$C_AvmRJb; zv=>(qh9|);>$>EMe$t|iy&VfUAUd_HABfbla+?}Q`MY3P2mCTtt!7#!s`t}rT0bLJ zMstkM$h(2g;ktZybFu`jh^=>Hdyb8r*Ijs zdpk-}j~^;HHEhoAHRa6Ah;@oGI2>&9P`nVOZjhCvT_0_VS{%?BEIBfqc9X;(fIxBr zNgM~Ao51m5S6Spo=gUI*k+%J3OHO9k#rrH##l|f@gWhdk|M}wf6-$aFzi~I6m+ecC|{<}kUMMpkz>;t z)3c4$^C^D~lU?$cT`#kh1BNtt_$APf5h5HVSUU+()ZW=sU@4RPTm%PFErDgs3-Af^ z3q1=eSJ?{_$<|^;Cj)}427Y)I`e0#@>)BYCdvDO?z~jd4H-un&GWbN@G>I(8!?Y&%rk_F{Q{;3`d(jsFlxLVj8gw^d`;%)!+45iBVur~1 z^zOV2UysR|bXIt<6zc-r6VY#pZEC-%q%dCf|sNV$Nx*L(h%9y2tNtQeGL z6z;6&BHVtn??{0HIsy9es@6bT&K+#jzp!S~WUs|gh++yj_;R3TeX9CY5Om9PSNY=5 z;^6A5DJnyfB=G62*TaJ#mGoNME5z0lmHzvI)RDGe>yB)bzaOODLN~*KK8gw4uI_X#J)YSxB1hx%51^Ig>z|+ICjcZ?_xJ>+&ZIp?Q*n+1I=eOlzX*$;I6chXAx z>Hpskq5sR{a~X$C(_s6Ah=mGzv}ODwVFFH3TJ*agzP#NX+o&U<;yt0>QdM(tm1U9j zvaSrW;UA<0XCci&XPGkh(KUoC;rW-`M@GZPu-wf(sUO~6bJrCCTC5*S2T2Pa!C duzzK1hu4a-dX;>i#$Vt|>)ZwPmuD;k{s-#~%QFA~ delta 41873 zcmZ5|Wmr~E_w@}3NUJmwg3{fBG}1_SE8Qs#2Sq>{q(MTu>!w=~kuK?yknV2Y;fbHm z|K$^xoO5Po$J%SptZ_07X)6RNN(X^4T9*c^hSVjr+SHmg^jTlWPILq*v`Rnt{g(hI zj#NA4E2$OM*Cwb#p6gbSV^dONnz#d@MA6>X5mz~d0)c`{ZCa@~QLi`adjl7a!-PD> z@e{U{=V2?QoPylPOV%?-=Ld@}mO&3Ol|~40pOR7Yp9gr^0>G;Qza5x8cTr ziP>+{{lUZ>=`za;(T~1|2#^z&9%R&9J5IwkKB6*B zM&XZ9oiKU3(y#2#4NLVt>VJjJw0WTl`MoxR!nw9dP`>Pvea?~#ZHu`2Etqf0YPB|M zu@a=1A0)^2;dJm=lP#ajYAUgc?7L9(RN0{aJI<_UQ7GykjS4vgYTKX^)LvNsL;OzH zug|oy6e0)7k{T4;rQSPkD&y{2Ly0j%>0zAnNdqd@>HR_Rzp*U6$)=*OTg)hF^Kl|} zDaEx;#~QJ(%COP3#ecP`AeKJ(jnYt0$F64;lhSIail583MAa~#;Yoe?*&%i2XrN4~ zvuj|A@`>aphwp^ess|j<_k29w3;A!DtAq+f3y&{|2T}ZVD~-Mvyo96D|LD7Yxd6kF zNn0qTL5n|pB#QA+lFnrSwh~eHCQutuDQ=2k&zud@IN4ior>C-!7o~~_*Gqk25r2hW z#&}52Lv8FAzTr^lyMf3pl3RdzuATfL&s2uZ}Q4npF5 zC2F0T-`3DNCVlE)2jRwz$m^)i&6L7vwKDKhsor#MMn)D z3=Yq@XZNIp=}5H~7+=s(zC>H>`~3@INN`P0?hPIGU_$#_w zDU&*f!~4^Q3b9z#pbgZS7nZD=B>ksb(NrrZPP%(dTVh>1UJaRHt}I{PvG5+5P9nos zYI@nYC*l|?>6uKh=3(C`MZ# zroJGKF{I(roiCvttXfK{9-yWZZSo;aJvPnQLMr+qJg6fuy!HwjVY#k`YYG&EJO^{}%7pT}Zh9^hfIXQ@+ikuly@tifY9 z&XKcgTf(Ok&`!ne%o3K+X?`#5ugg~S$%Y5&frB??Vrh_iEJJ%CKZGwPG%iwp|9$JQ z@ar3KUh=m~RYT{v0l6(%P1qv4Sn}|BTRXJ1FeV27F#^9pOZH*rdt8zl3Sm@!mX5>9 zNDWObrrc_Nf%*2wYJL&-j0#{##3Gt7Ne&TBgs64rXdg-=IwTi7znjw3_<*-+nlO{s z9I<}-s^XB-=G0s6jIYSDL=P4}KF;5g3$l3ecG&)-W{yP0=r#^YbHvN*>h9hXKeI+_ zB6(ZO$C6U^HuqdC?Sq;l=B(CdpBW(OqYvg}1&NVRiG0Ef!%Ptn;lCm#=05P#cqjBG z4pq8G!eELiV*+6V1!K(?p*$H=g#XNAoz2hoXkCjMf@xzB1&1YD7uO_JWEgt{!t%e(JZ)v{JIw?y1Hj1qsyl4H; zm-`b!13j)U^C#W#XRuM(4(u-W_YyQN=Lr(U)^y0;lY4<+v+7qW$!1g( zcR!v68M3K<^mX`)pY3s%)^JT~M+Igf>Y6Zoq%nxQ+3_&}k)?BtVmM-(l5`8ANV0bU z2DhKgt_h4D;rv*w_CXXyX4QQTJOqu4hK+R`tS@m=#y{8SKZ zJ;EuDmpL=Mzu=1NaQIm%JeHXYFS1UcM0BBU!-EiPsg3FwjgB}(^2SGS{R(*D4yLRR zGR8SAC_4ha$RRxQB^$HhJ;%Sbc;MFs`@W?MjRRd|FI}gLY5BIe-^{JgM17BRo0FGCiB&;==VdC@RxS7Pg4@os;DAL0t zY6vE~3Q~p480)|0HDTGITB9{RktiAYatQS)UtwWbjBZa?mv70+owYXc<-==XKg}Mf z@-H6My<7|QV+&svnX&zt(a4I#o7h|Swg z;S#m|6eqA%*3!{^nvQ*Mh)w3*eK%)4E0^xURLQoZ5MWnO z8=5hZ_EJAFtXH-EK1nTl#@RB$k=*_Qk~BTf`>r3T4;+L(*=G>eS4cf_$k^(+K~{6! zgSmF4<3E|Aq($B``C}Cm#~2=bywBc{xPQ<5_u74k`g$n(M-`3EJw=!DvaBrK-8DMX z5wj`6^8KZ;pGKNsXe9Vh-_G=#r)*7_{(%IPZnmIERiK=k#2b;+Ew%vp&HX%s_QS+ObeFF2}hu`^msxVwO$4(IW-lv&mRz5~n zG;iCozD52{V1PL^a6=1&`N3pfimE~G23x79dg`m!x0bhLH0xz0la?`N)iN=qTrwls z*Vj{AUOYuI$)j6!#0G)Cjexb)(xbJ7)nHXbTUn*c1?JYis{{azOoZO`GLfm6$PWOmh9*yLWO4EVK2_w0%73wx0$Y zs%vX+&j%noQ`5KG)#C&N1P9cZG(tjOeY0lP8>phGsa8iCq74%BN4mgM&}{ z$ta5Z4-TA!j1dKH&X%fhJ_H2p6R!l{gmY*dU2!Tr*!LzE@=iR-pPMsiiFz%+D1;M> z#nnS~cD)NJ+J1!(2r*`p^1FOgS?Nz@WXSQqxw+Zc*!b~7k}^QO+IE^pxq#ju3i~cA z_v#f^IalJ=V6i_;JY`M~oP{8^C>%FJG1~tfoV0e`lXp zv(y=>dU4uv+Wg_ey=2^rMxRU9(%#r7vsljwn6yNY=e%|WAtB?f&wS1_;uvIk1^v6w z?d2A&va&M!^Cs;CR>PY<-ub4p#ZWE*+o`IP6IUMop0_S8VZp&3$D^8)g+gvSGwLHm zPi04om3fO6*5>JqB?g3-?!7*=w6#r5PA0*}H?_9DOx^VkQn@)UgZ3q)#2W?_7ccI~ zA|{(Yyr2Ab8>${RsB?I&l&NiCU@#zX*c;9}C!P1jzUAD^(UG0n)62`yZT79&)=G-~ z&9*%>JvJs8Y~OrLfYtfq2euV!^WfgM0E_^%zI5T+g&>NZ_4P0C_DQ(;yvJ&)@XdZ? zy7xg>^p3*D=bhhsYE)03n)iS9=wYtCn!mlK;6v@PvV-h=PiNiAT5m2IcN#(!s3x6c z;!GXf3kqiQ7JxSg_Y7|i2;)08=0PN@AIGF$eMo-0?}W9Hik@21a@hYORzgmy=wp0> zqzP}Hq>hzfbubtmCkFySlY?u@vRROqmRS%LG{k26b>3>og3G_X=Me#cB(u<~Ma|X= zbqmOX?y;PrhNfmhOw7pj={(fOJuYze+uzR4?%OP`-5(|Pb-O1&CMVDHgs%(YPI}YO zZ6+&C9hi){aWepBr79luY=_- zQGK~Wc=)HCL;i7EnExOX#yf5n=wc+jxT;X}6=$Bd3(Wm$zmtrNtiU7lXxzXn{1H@8 zQomg@y+%uYvnqVMzO{u{_$DZ*txbd^cO|#6F~xVdi_wy_TGd~NIfIGes++NFux-|D zzVEZ2_^JzPP@Y(4++ENX?`I~NYZtFjT>VC+@ZLip<0-C^29B(IWJRr6q9cLD6)q;n z+@I+>BJ1@eFE{4J)_M{;S-wRgw6y?m!dTJlzV=h*>a?lvgH~7Rx91d$+ti<_<>I3X z?rYnKlRkIw3v_mN*2XG!;#uXQV(!O*&csP_aa~S+C!`f87eLYqo{Q2ei)!~4yz7Mh9 z45G^B4+ay(1H0LVxWLn$*_7DWmq@p}x7Wh1;j1Up_Ic^CbZS&=!!DC*I}Mwq-QBXT zjNuk`cK!YRX6;;YqC0EK~gj&!{ZM0x$@ROG*HG z$?(60KO&pX#tN!Kes&jIMGHZjx2Mo;0-k7zMwwyjoa|-TkZ@HwBNsn~II(4e4TFo` zmxZY*9Y*E^7X3_BNk-e0o>Ij%kABO$Y{0UlSr@o@F@GMhr^V8Pjtyb2pu>}XamGbO zJz(4(rEx8g`TQTdHza~;={DyP6!*p1$F+(`9sXhTa>jXJXaGm}N=b3-NBHBCDz~W1 ziwl(MhTgPBb5wzUn|_AUy!d$YWvkgNh+E!SmzX%$OIc@2#=(liAt?%dxEWRoD!roc zb=Bx-7V*$@=lI;v9H zKCgS)xzHX2=7C#beRgtk5?g0C%g?xd9i2qAxU>`ygNaW}%K8oaic5}5nNrTicM(re z6%7k3=N-k(UeMNW<`_|Y63AQ2k}Tq_)6n#^+{!EZXVJqIC~vn>NdK|Wkl8DF`Kn>6 z84Loa$yegnfNA9!V0qanqu&{2vc_oRFx2qsy=ld)`?Ee0%aO4E6NE+Y;?`acNDir% z^pA<>+y07cS0J(U`IPQ+G$h5t!*evkGB!3Q>-F`f`?Ee)Ej_A4Lg^%u_spja%d8CT zHjxZ%0tD+96PyoRT)xD=uV#{uAtNAzDEWusJ!iZ#4*sKi`d_l7A}cR&A3gf;FlQ}k zN4gV*U){7lDJdydf;M$4Pr>wIvM-5{``#1At_ZE+_Q2;718N{@CW>U(+1anJud5IP zilgIo6m1vZkb?Z!ith#_5+!Ii&ind!+`oOhadb4fgGKYcn~0vC-jPW~kS0_dSexKL z8!PC^s?P`5mj8?8uxj7butIIFD?nJZEgLs1EG-|dl4NQJwv(ky4k(XG(b4PQiV^6d zJ>BLLt5DA4w!#{Qazwk#xXT}uLlVUGuj$r@V9SkU!ai9bi8vC{Zr-bs(lZmZPO6 z2GXyVY3~TlB-?sITF#hi3K7HAZ-1QrG{F~7p8N(R3O;OrWZX>D1R`H!3TuC_9S4KV zI+#0@rorittZQ$EOu5@v$!;o9@3k*M#Z^*-Q^Y&1x4tB~h+B&>E`Oxmkg#{6H~~^Z zZ$6pNBtMGgxSca6D1?*FoFS6`pcVlb_=-_1#FD_TOX)@dO0ZyKQVx~8zC%2U+Zz}+T&<#Y3- z%Yfi%c~En4=~yvzwM4NMZ1kyhw$Tkkq3X@i<%NE|P0LUGzyxiR3y;Qfku1X6E2tM30 z)9t&VeLEvdWI4d@t#e^LcwY8wwm48N6Bo1$*;c4h7J`_1eE#h?`O)7h)8&8u{4t?O zzsU2B!Ta|+)St)!5wsr=zhxg+DG&P?GzcLOeK13K*U-Sf(ClXA_IV@EN}$<(B5% ze9plB0Zrq@*CE<(iBojz7xxITxiI`HzS^x`UyQe!;lw`Bt+o4uLHtmVhu7uE1mUUQ zF%Hbn41ta3WM>w%I@h(W*V}Hbmt^z_gPO-`qMV0-2}&C-|4K&=gN+HpU@>8j6+k~L zV_ETL9HS;Bt$OaGl8Jyl?p}bVmYCVY)@_7xn+$CjY|^98aT6!qDe2^w*oVrco<9%2 zpbnq+;rJmV^&!H3_G7W`bsB%5S}Lv8th1Z!wD*NE5m^wxL|lE(cv06WiNE~Z!{q;Y z_s=n3NhxD`8Qh`7Mzd@4^_^P6U3cr(Yq^P4)Vesg%O0BXzI`L1LMI^;4ZQ8lXCI?} zqTfz4+sN5mR4cMxOl}&$HKib*C(i0x!*2(e%uMs!0&jCmBL()CoB9?j(yFH$gf^C$ z(${W1?1Ei*da1zdKfW_VfSGh|arKz#7ay+Fb+#NtzJmA^g)ta59_#Q&ti}#0>U>5{ z!LEEGda3XSZ=7Y;wYc=WviVjhUOFIUx=~>zUX|ZN-O8Y24);8^k!SHam~I{NP?r!FB!|%j|#wYV#T0ccW2_9mo%TLZQs<7 z3pM9AYBn2#8(v z8xizejAst^r?oWB8Bmg2$18I6!LS4l>J3eOHaiU-?rV2!v9sFgoz6m!sRokDRv6ZvxE zl%ni>2reF3tGbZ5>@23P*2P@rId`C__=v`JI$BaV&hR|6Hh$#eB%xK48;z6kPbs2D8 z^%RF!PrVEw3sRUr3PI&1keTRC4HovA4Mm%QPkFFq{WbgHFq30>(1_t%^rV~2X=r;Y zsHm>)(6C1)FMC~VP)lzY^O>SsYxB1-19DPTV6g}PO6`bqD}qz$7jJ(3&xb~fz2=X7 zM@$>J$k&y#P85&95CFu5>bPhP}lX|qnD+RvsqG98L(yvCO>d9(A4*|D~{MNLPg z0Q#Q?Gqgcc^VYiU%L!oykBd{3#YN;a{TR~z^?wFgB%$Z48aau z>$gRx1^-!br1$;P8%aZ2Qp3N~dC%R`wyE{TtSlmaEGzNv=W?vZz%-z%OcIn$4uj~w z^9cFHq(be>hh?@ohiMtmeIEeWn}30ya<*BY0a+jGs#cUne%RkHNmz|l^kQ5&MFbFT z`{%r6c=8X}NJS@e=MrM(&{aF5{_kh@G5927r{G9j7|?&FF9Od7Q!c;v-+|&Zc=vnw z2x6za2>vcn1x|(QeEx?N!~GsPOb+%h2myn?K+x_(aNn$tM37Dm+&d4yz;i z7YxT1YM)I+aQ&TM0hG*btCt$vvP;fVBE|mK2-anWU-c@Sz$QyU~>FxergMX&>$g$Mh7`knNeUSJl#{XUIQ{) z%J=_zAN}9iz$68K5MxA22!Z9;ma+QG3wkfa*8!Nq!|`d-(2*onON{&6%zq(qX_PZ3 z11j==FeJc|pdhY4ZySp-fJFvmEhw)jw9~oZ;U5 z5;=Yl`V6U)gH@W=*7dLDR!X&>3bqTa)BUy<_~%o`W67qU<+Q_wH)z%|6E**uN85UA zteN=g;Ae2XFa}N^^xuh@m1y%f{`?dwOd z?C50;>wQVHB5U3r_SZWZ+JVM9v;6-&i_O*J0G2|B_OF-#e+3yXA_M*mtAvpHI7kIj zko`V^@CL=wn>#eKzB$y8oKL%sT7e(O4DWxJM13li)j{_gY50HtQKEu@DcJBCF65gUs^!99um5WU)l%)os^rnJ$)|n8#ERPX+Rcm}UV8CdJ@?tGRnv|BesR*0KpQ)5 zcWXVyjF>XlbpsdkpDbkO?$fDwx*)H7oVK)jbGF`aU4Wd>=(#kEkzRvlQV-XJqy)$jE zc8I6jmbZot-rfRY;yW)Wu=O+P@Xy-~U#wSlfBL`c8XW)PJWkm1x17nX>5tf%>wRCy z*TN2pyR_o_E zx!3#>NCh7F#aEea;!H)^4Z$u!ShxcNIFA$~j->PBxjr66p!CQ8%Kgl|Ic{O$ewcO? zoy+3gl5EDYt%v*=d&*4~j9U5lpHWRZxwu20n0k2sfCBvzxlRthD3*F_MK#)TYcBgFI8Y0q&P6_)^0k+POL&Cm$;y?D>~hh@$)@sCro#OLlZ?{?Em;o@4Q#rajc zmdkDY;4kq0b>vrZE>zP$ zUB!E2;CPkXw+eR!8(0c12Cj7~ejm2PBlQi7Kbi=)>JUrRd=DI#BsC8xcohH5Qp4DK zmHC#mftl_*sL!A90bDnqzP!n>aGLpLsH9)PU$(u^6!7B>eYT6|M*3Zh{|86FfSKJW zC#ny!qPgVi%sVSgHlf#*EIe21mG*U0&-)(HbiRqOmzO#n#OHVy&1D@w5LeLJ?2al| z4=SfNdZT?l{H6f?Z*ZyhZIBS8YNm>5y*rMkz1i#1p|ta|EpYf^J-L^Ydph$?D}=ny zbBpm-=&dldug{aiU1wgeK+?yt7V&Jy>`xX!7pF)tB zYKAtTIeXiJbA8pJ+cRmr%hesu+K4f#01a)YxixVkA^A_O&Kp+Z_zo_tWCG6qf0?W5Q6t--I*E z(~k7s=~O{y*x>EReubO#%B}1|#Omu%F9!3r{@e>(dd97v#PJ<;WwvHWide!SETb9o z*XCG^F{*mH?iHd$eCbCO}D?AxV^NJI?eUgc|%i3Lq{7wOj z(O3G`NESkcf3Y%G5B`Ht*w?Nr3rfG7-5aiTL!-BYoF@UjHud2xKLee|;)~!*1?*-X zX>y(oFKEQj#p}2Ks7>O_4V?7i=5u@;O3l?@(DAPN9fO_K{TIvrFXJ6$LNeYTYv1sF zWhSbAHndfE!Bg||ah7ThHS_PTt%XHlUEckF^FZ&#TN$6$1Q!KsL*!?~P+m zQQB?!+`&Y`W(V&B=D%j_e8h$EHKv)A8gy45W7ZkCA<2*Do2UH9q_MgGlji1Xef&wf zrNl%JI*$lvvpafuzhg`c&89eiF^gBMs+xF7B~qUt`=fLM#^ zT^>lOH9~Lv@Wz3yzNV{tUmK`7SnNpX21v9?)|&@deGO+ z-2Chn;UbCtSPrMMVgpy*C$EU~7n&Nh%vpJ2j`3-4W)SC2=L#{@!>i25FP)m*T?Dxu zD4B~@;YXVJoSHg^`B@+TvgjWr+IP+ZJy8z#t80>1Z^fs#M#Xuj=!V=holJeKL6}1T z;(M?SG5*{hbzH1vHv!09Ibj*kcpB^UJd2KjU6XDv_Bb9OG<4;XT9rM1a@M2YtVWA} z|AkYa3IMjv_z4$=LC<LTc!wB`$S07iJ@)Uh~gax(F1v>{)S&GRE z_Nt&FZn*)5%r~imKFh_7ZZyNcELSY)wc^u~8$B;rxbOKvGn){i{^W-|A(Ca+2QY|EHabDK3MM)LZ{ zNJbyCOdrRF$q3QveXEyyag0=eym-JwQ>r~K2v3ZSShrt+^keuPSK889@#(Y2ZiV?di8F1 zD&xDqWk5+nz&*|u&18)VESzZt#gkhQ)F3W zoeeOq3A|^`{Aq9e!h-)A6OtvJgpeuP+*Zz2vKb)}`tzA;{=m zldbUpBZOD41}9`kI7029bC{1xmcsfc28q?-N1edgF)+vLZ(!ddh%0*Wf^haOCK8@|z2&0sxZb@C)A_VG z=hoa||K#SZo*KuuF8M}QPQfnBQY;W}tUly}oNCopZIfqC?R`fg6?ob|oGum3YV4lB zej~J)HeWeGG(y(q_&4(8OU$lUp3Vc#4?tNO&cqgP8+ke#$Mh<__@56Xw6wGoj52*- z|0lC0KYjZ2IW@J+YuLb3K$4E*AH@37+&nu!Ki|`{Ih-R`mu$-S-odKY#xG zrIeI4mv}Rh2%L%bzpv56q@|^iy>Na0;)P+IgQ)ZeGi`-hn#E*{hbV@imIwQ z!)WwVsR_a(7pKF}D_X|~Az_X4Iy<#5qUWz*T5N!1v^@txf|*Lw(3BKiQ&Z}6H}3w& zr}~G>i0jH8g^LY&`q{xW_~U|od5KO}(v3o8KHYziQ^Ey(tb7lVjK1ErkxO4PGK{{y zM{ac6-PwdTmkwPjoH~az)pfzf^7B9Ynbq^=oGSw6+pK*Y(eC}8?S!0W!uH>s=^|EF z&LJM-ooOCMLYt4<+ncMr0EXkNCPChX!4=>j zeI!ruupn2~!-H=dM=FAJffH8l4vg%_uB5BG39YXaKX@=WH1rj`Wov8e>grljQsNyL z{E&iz;?bjTdC6>jeSPHQw9 zpI2U9UV`@ciBG_J98fTAj+HEVzCvpIbVqL_rOrfN>+6%Hn+px9BzEL51p*6NLYDOD zR#O&S$$NVaI5?5f4JWX+VGv|6NlISc@u4Ahe*T8m`6dd7h_JAkYHPxDtHMF_$l%}w z)xLLUXYRDLd3Pc%Bv=m!Ll{wXON-FKBXjfB%uFhwff=KON*x`YGfdT-y1I#xkr+j8 zTyUsmZEv5Rn%ZX$GkProhhVUVg5qKqXJ-sd%&m=$#lzmHpFe+s*$9n(ASNPGDo|VT zIt@QbN5&xdeJpOYaOXh*7e8UoBRaArRaMnMQ_pTE}M4 zzgJzFSzY~hd#ZYFZZ14L+&gXZ5k5XX0l|;FWC3u}=?m(gccJ#s$O!y(J4%!9eI^2s z{=aoA;qdM4ZJ>WB%I?7dk`~~V75CHdU*D&u8ft432G|%;P*A9-sP-->%jNHUNx7!g z0#2t02?^nwFOAePv$8CQ&eS-+j*n{+<9wo}p;-iTe|I-`e?nFRy-E`q2Z!>5ovm_C zIqelMq@%T=tS?`_co%wnN=R7!{W}BG`rh3cE=-FH6s#Z|3XK9aVq#+NG^z=>d1Q5HYwarZo3=HR(Z5|eg zj!t@?@X^WcJOwFfZ(cGbN%)Vj7I#4!um+{Otso}kFZQQZRa`=fjz>pFgP#l^Y)Fh%(QbNlp5bw@X+Ndn7t-+zrYzRJM>_ycJDLuWJu@c>LHF!Yp^CwUI z6xGqsz*q0mHFf~VQOHP1-$2I3_*Yepi9pZi<#h@4V?ymV>uYP})z#`nquzlk;NW-v z=;-@qkcbB`lM;uIkI%xw0??IobaZ&9Iq^9y|6J)yIalNCoSweCIzRL-e80B7zJGe! z30?t#1XE%f9UTQ|1k{Q8`ugA%O1O)QOL1}WGH35+Bvc4{Ypyv(QJsJ!Jg^`AZqY!5 z2aAB*C;{`LYTVBXY)OKjccN_BO^`bai!oiMaFObj4HZNZlqhIvX~_`BAS9GFQ2vaIq%TtJh zFn+eeI4CdATuu%n9o4Vv&edUGoUegs2AnJYIW}a|02uA#?R}=!A~_T)HCb6% zQZllbPoK^(Ve+&nxA*^fpRj@CzFg!ms5PE}bB z+b5(PTOs740fQfAw6+RUQHjMk@Z&+po8u$zlETG;a)5tJ5U8Jge0=@{a4`$T3~EzBH?5yka>_-cU%!53)F>XD^bhVRB`|t_XEmfX z%;}yUMvy!GO99^xR|i(D9G#ppk=lZBX(t9sOIi3Cp7Zkq1uMg|XV8aAARU!8GJ0}- zbb87Pe(34HWZ_+hg@nAR=OQ4}udJ-Bv7MG&2g&fQN}k|RG0>1!zV6YcOyRMWef5g0 zDqCVq#>S>NG*r&kmN~(0p$IwgZs$~Zh$Objud9W&KHb%fPdEi?jsi?co3l+&!Y zyrKfYamErVK9rUIzDQkDQxzTG&eqn{7z8Pn)xef{U$TVun@$VoXzH zR8-YBK+cHe9Cx8GIGQ`j$vuMmr8(f5QF zz9BEDmzopnoRQStv*N0ad9N5fF^j(_j>44 zqLX$%3H_1zv{osY9&Xl`92<)#^p*%in-Y{HLEo$Ak87eNc%rhipXp2t533Xtu>Aq? zmgu?0R&F&~SZzH{vRZ+o(g0+12Yktknp3r7%}q_{=;&uoxw0}c!Em@U1PQ0J8}zya zWas1{-@CV05coPb)aH48eLX{*>=ZN^b@$+@&3Z&(cb=4j)}=8yYmbd^%wx4 zsyIktGFXkxmcQNF z2B2$?WsE7QuC5Lcvb9?~d{_)nd%%`}KzU_xvC?@}K`)XR6;xsnu35gGKZoz5p$#2s zJ3d+YRiMfcXGQ9h3uChbXiwx13bl9;cK8y6<^1FU5s~y}lw!3zz^<#St1~q=L{RrZ zdr@bI6L!}{PFmXA8`j#T*4Da#TMOx^m`k9Sc~;;aqAd&b)z#J9rI92G;M&4sM`%`7 z){rU^8zRV#%VIh!pg5S6RF3~n&MVn9>p*F{T9+c`H!u8$*+j)jHA5Qm;xx6#?v zwGNix&A{dd;`hS7*hG$a7zHgYEj2Z~bactzdkgKLwOLmEN(2=2RZCEPV`I#p zLl0Qk-4vHrK|MZm2$HV?o4%8iUtVCg7ZemY0yeJtweC3p8bCZs75#$&Q85z8AKd^M zq^UU$mMMfIk5c97NN-&nWfpC-Utpv+C=&~Kp4SNzFqswzb2hV$%}tQ_Vq#)@-z((H z<+K6g_eOyRd-_vf;7|zl=Dpun0YSaCmKYV)2AY*SHv2=;%#5bG3CzJ8B~joTNXDm6 zK@gFEG7s8uZ-zt|0CqrDK>K&r&qYK5UcrA@Fmc(2@0kTz+yf~W+j0Vc5{9C`0?ZItt|(( z$GlRJ69UZ^Qp%}@7Q3s_A4d)}sUN~eaL3S3${fX?x3*Q2O$`k@7p+3@i2*7i0Az)DP*Bsk%3`#AV8^qw`igixnU#|s)NLrcm@su57c ztZi(TF%a6H=#~@~E~OPc|y8jTgyM%WtPovN{YY==h@qh6%J z-U%e4?~GqPn0gChzOkX<48mk981$U0vcx5}H8-bCM{T?FdkZx;H@>32JR0Zhu-o3`xzqMk- zyuGggH#<{%f+Hg%1MrQSn%Wx$28Ot=!uW`3mB&&qn*f@91D z)U9d^_@z$}=?9sN*0XbSRW98RmSu#Dx%eAK$#0p@IM^=XedZ5vLq`nzKOfc)_{ubd z?RUi6jQ_kU9wzW@WC-X8B{Xbuk5)vkRMysBUtV@u8>AFM(&7OhtUo$FwwuRufrH24#= z^;{%a>8MPAk(VoJjc199ih>OY@3hwfO>Ekp6OxIVS5xa}@y0nW0E z2H}yCS!kfEb#nu9)RjZOKXMM>s46{eW%cUXGZ@NXi2_ z_5od@5&iP=vQms2U?W1tO(O8vhd_Uln@cmbI#kk*r($5R1FU(prVO42ePV_;7s)H2 zCI&pha@|B|3$sr}63Bn<^YYf-m3DlhhoAJ_+)e>hHTha3iNO87fxb)|Tq#RWpU)PC zF#h$tE*xBFGB!3oS2NPPtKOyhjlfint>c)zgcbx!9DopjvUYj8o3PY^#wADm#ioye ziAk@vK;2!{@cYm{h~)j^Uz?PQ>%`+Z1*W)aUJHkmv+KW}es zJv}$qZ|+y{goUNQtE&L2to$?p>qbsS#*>zk3QA8;kBn5bwq{J{1#Nlk!|pMrH-H}A z0U$#n6)4ugTXuFV=?Hk}To`oWV1Z!sCqJLAp5l1`@B&cYfD0TGpth!?=SBcB1{fZ= zuO@^<_Yh19@0SyCNfyc7WcHIsr=~!0qJ>ViQHgLt5&;wi8+7qY70O0Hz2zqcnte1( zOwi$GpM(y?pvnyvyIsMbagalv_pY9^Rfu+(AKGE?_BEx^T&a&s zBBm~>E)irri4)pMbGaw7x-VKuNXVe|tun7dQe z)_~5a4vQsKnw3oGCMyqL>|*f|rZlAMr0v&vk@S_H9gHT3dVpj7+UaL={H*W1dmJ^t zRAB}ym+7>Z%3Y6gHpBDMKdfJ9cTx>o`(Vc^FOt;+XRB`FXeuq@P7TRy7sVPDwe(G$JuEHJzNEUOE<+Kc-3xQKqa)$!E4-X26tWlNFAwFRUFYWt^t~Zzx=HKJ zWk)uD{yaACl+~oLhU_mw9WqFFuBU|ny zuEBJLb~~>*#l>6~RA>vx(TMAlUF`A%m_*?pGcq#nc4P4qF~QC_NX`BIeQy*tXK)pR zscT@s&B5VgXy_7W*vBrbu^l z&aY~kZ7>Hxs`5&MI$9G%_5{hq`On;lJ16YvfaD-0%B>u1;S;M-huU;j(8!Fp~9#I>7&Ye_@*Fys;tS(#A&w*Hp zfeE*TQ2=BD055IZez};K*v`_2c!1VnAO$PP%VXwwL2oNz)tNvSsx!fWSXX4R0!y^` z?TEoPtmHR8>Vmm3z)X0|Psu=ikLb+{)i4-^fb)Cc*#R*V)7o4d#HbVPo07# z6AeI=I}Z*M(G!#S8=&wT)b)Wg1}-@$2usLXio?9e)!Lw!iYO^6OG6i|03UGHataET zls>LSL`HI&kFr275g6v?=9>MSl0bJes@zXYi;8Ys06(7}B@QQ3w>kn(L^TSwIbF36 zpgUMQ$K=%1>#r6T7C#b3 z0S9@>18eJ4jP=7V53}ch?hNW%YMCV&aM(VnkY0Zp3x1qtv`7c~J;&Bq)*w1U$OiU$@-)(;vMSL(F7#u7G%-x>E zr`UD-@hqUla>h`zWPH9ltxq_ZsAqepKRdmpWwNHoB*vMAS~X=GMjDf)2Jj!qra@Yd zU82Sl{)F`R``#0qeJI3RI0c_sRx<9DK-tcZ<#eO@IuMLy0sx-_1kc<{pRhSbQ3MK9 z-OOv#Te0tPsY2;}uf8!|3E`81g&{qZzq||s+>V4k{sipNDcekb0;DD{N8H_Cz+YyG z*xHtY^6KgS$|;VLxE^ShwNatgs1~gX}@LVZ4<;rO!kxi4$dj;x7E%w9lXAShu2$$|)n=L+twWr8az zDx#THtR_lZ4yan^-(O2>N2^4!bCeKgJjf;4>uMWPdC|&N5_%sK-a(3r z^IKcJ*+||WVblizv&Z4(8?)HC5C@CqCOCXCSw&0>n)Td4_zAUuE&q6B&R$gfqKA~2 zxVW;?8sr>YAHZF}pTGAV9)4@KzQ4D3g2VMPH{spLwCvg`4+URvNlKF7WrK~J-tGsb zpfX!7EbL(x8d_RfP#M1iCAL?N_kgZy5&0L0#^L@!PWw=wv;h;4gl+!*t*)ZN@K_(l zsEGKr+b~FFp=uV|tIyZQxenGqQ^aS#ig$@@^{aNGsY$Ojgv1>)6@azBe&~Mx^t1)I zGf`7}-3)SNkSyLL(mzF2WV?xcO-Dl!3)gkj*@c!l5OTqmP!APhaz7y57;W`q_SL%V z1LJBh^x0n8_5Glos)iv50IyQx*LQh2vfwh6?eSw<8yj%=3NI=JJNsEC?}AMdJ#je7 z;jyTyc0D)t|GX0P5)p-xw20w_+Cz%o&*F1)4{ac7#$&fEW7cVGuF&l-)UAd1*0=l# z(pu8Am~kmxo@-&qZ21h*LK_%62wkUx%V+@T>XjsjpPZb$K(yZG z4i5eg1Z3p`{>Is2s$!FQGgJgr_CZxXU$cr6)K7(lQx1aJ%=~W9YfQeHS@|UJtO-2I z_w)ZN2!#GZf&YI%;P-mkm%IO87|;&aWK`_=`{lvq^vq%IM+a?LmsMQGeI*W>s};P4 zJ%v9CB-vhd$yjX&sZESo*Afw@sdWZGx{u6aFe@lM6><@po_5m{XgyG4Bdgs# zp_v591)*;bm&U8IH2iwH-H{V`sPDqY>SmKXhc?o}KRrBXE8sesdA487t(BD;x)&s$ zCHeN{%=E?t@<{t`&QGz`Qe!k~Mh`r0%WvKcip&itC0#Uh^stfRrzD zI+F}TJH{IOu4mjEhRqP&mz?S<{~jF7318`?3|CsiMYF*w9>9>14M3+L$Xvg#$M+0OAm#|JpTC^I{lK(fJ#{?(XKp*a?^q6>w#q_irL&7~*kl%j&3iUGc zo_Laxh2x@XNctW-`c`*Et;z3-nMG3%Q(n@IL3IH8#x=ML!ku1~ri8;*dCO75}AmV!CKeqzQ_ z8$=4vQ)4?bEZ~1zzrR>1yZ9B^i2E7@iA>+B{&cnYOv@IBBo^25WBYba->B)%u0aKQ z%0Z)nds&F)hxEh}Q&GSLVx3W)@>Tuz{*adF2Xrd+BmZXPR;e`2n%?mtqg*U5kN$TE zUKS!L!*OSbiSCXPv&z8urAnW@Vu>(Rl~tOjjK5Yc!XEs3|0cncxFDCp!T9~TH3zfHhUPsU8Id!P-N>`{eTtznmnnor z#NwEpd&R;+NnN?6$+M-Va#XdWSgk{Idq22??K`=$d`3nGbCYX4RyDMR5tOdF>zjuYAmxpR3#d>*>7=fVFG+G%q6W}9^0Rc=?6LCfFrK25Tit#C?D#cZ=0+0l&VN3=f3 zI{fCQK0VM+Qr}}$=T~&{#fRjvU)vbfr3!v=Xc8dayNUc#;?vM)4Wr9fkf#` zfkY{RM1uxcOfNcx;OHL zJG)$8C8jQb_^o(dlq6x3ll_)-D*{F?t8_=(yxNC~}*>DWl9XPnjbg&Qlvc3pTGY zbreWaMCh%Ru43Ms(8Ifjn{Fx9HIRSIyL@3Y@NOnjGK920AM>N%;6byAY{6C1T=NG+ z{`i-61@63E+ZnB9rPD|Ht?tmZqj_oc-c3Tzu@~pxweiQtILv(%MgjM1Q14*G8 z@6+Y?dUGxqxe2e9*5qnv2OlOrmOse=TapV92f_Ye3u= zN5F~6%VLkyZW@zplQ~4t%A<*ZESwgd%!*<#fodf{6>#LDm8?g&QpHo8T#7g&%59LZJs%@&R+6MUMKsvmO`dWeQGakDx%~*kzy0;^yxGfw07%D8+r`_yDBe z+r{P6{zIYn{t?V(4u3Q7nfZp_PqWU+{k8pJyTF+|9lgUdq*#}#FVhP#?m7(R2*@xA<~##Z;wcbH@LXT9!6Cid)# zhC3d9<;j2aa?NWsgu`_7<)%l+a#+2_3Z1}$$JYYs9@vY1mY3STR=Jo*FS&0tY3N3i zaDXNOVy7bWS@yj?2>R{IOcW@~>JvOV48sZp5hLABfG_tvbU)fyR8{~43#2=lYyJZX zlOR;=c~5sT7m%qT9Op)PEZXHa-}BG3U_AZrV1yKmq5LmhLzF7!DIUBS0#&+5xcRrO!o|3nKY zm&effrVe47c!-kfCF`@s`usEZxAAW3S*;Po#tq0ujund_nFpl zvE?y-b`CYJG#h&s-38tGHdUr2MIrcX!PO|5_f&r6Y}y2QAp4W~k}5CrEk5No9p&)p zjeI07(ecKPY4cQTWfi#pgGP<6}JUZO& zg}+NNJ?%U)ZoJtNPt^8_v3%$8p$r2s%`j7A=l3tMI{Fv3O#O~u>_g1whGuts<*rxE81pW{vp9!A3AU?n{)cT6L4fn}u)*7v+cFp)S_+8S(*@^k&`6I_(1=_cA zj&4DRP9ZWwU(ndApyGHeayAQ3*A~#B@nt_RD@=%QGh>K%H)M18h)6VF@a?bZ0m;$B z>7AAPJ%E{i?|T%P)TH?u)kE&ggx-ZUyc1L1!X2qed&}*)gX`AlG>@n08RZq_#x3=V zoVU)X&N&&wugL0-qNcxkwEE5mr`F;k*#gf9vvXg%CxKUHES4B%3-YPlZb z;7X6{v1Hi%IdmG0uclRlk9JG!WO3Q9D($!R-M#BJ%`8 zWg0{A{&r#!*AYQ$lelTI|5xVFKY^K)Mf;!PGA7?#dqJ&CftiN}TeRK+;fUkl#A|gM z^WogIYeK%U*Z(RlBPIFvf5Uz9D(zb4=wLSr7_d5gk_2zzuJ{&v%)~QdOQnPenCuv2 zr9W5Yt6lCV7M~G62x_v0qn^Eb@}tpgbhMwTT%&!o$~kM#b&&Zb!UVOhecTduDmnoa zrafjpjx9+60fjEvnBK*EGCVr4W{4~JM&k^4qs|Okekt;eWgtEU%l-u5OSg_YuuNg zm~(sE@wUD|TK1ZCn0)AUvAs~}O`w)FHhv*P8&%n?YO$bOCTpslAif)?@pXrN6c5sf*N2B&^^fQtOf!l^K<^FWF=g^Q3I`${d% zpiO>t@U;pB02tzev|*||+?b@iY8if-B++8{t+^z}vo1;$*fkeODKhR!o%N+b1g0c> zQ^e$+Yl8H7a+~@R+m)8dersG=fu>oIxFH`bz4KEM6V3scrFDu%yBxyVX zLV?upO^^Ve?7PVxGyRuTl7Lix3EEF;jdNYNa-Lh%_OI;%O$FBqrn(Y44@P)_I7Im* z2+v3eu@KB=xVX^yyL`2q0<6gf;qQ(-(n)b&%^{HO`moE1J~wkGeqWKB4$@T9!_7J> z%j!L1l+E(t@tXoSL)h>lGyp|iM_`?uU+nCAYm!VZzJJXcj|DC^sm(6i=*s`^6uJRTH?CMHvJ$cB}WT)_f^r6;m80c zN|MdsuWN>}w~qRx5!z&KXHq(1uTgtmHiy#?jykdgv!-R$X4J3uI2eNzM|lgPst(u1 z(ksgvwRc2IdYK*B;oCEqzVHfF`=BF%!Z!Kt;9%sLB=_-~Uv~{kLcIalAu%Pax?3aI zrZ2JcyaMCbxs)0fNpZ1eu=q^X(?6o&)kGv83T2WIn+yrDow&u`)2dUc?z!hQrayn< z1tiQFB|~+_=}V-)6`euJS5>n5mdu+g$aiATMU=k!uIJt47I(Lk__}Iq`SPmL!;f^& zgx&35o4u4pXML2^t9ah7u4u;L`%8H>!+7f`&2950tDs*1S;Ya=uCARHEd7@&Tlhty z`c#3OfuTkRmgM32n~B}*G(v*=nEjFhmaq5sW*}2SxAwpg7bjOs8D$DL@1nwj_epn7uaopRKgvgZ!OPXFC%S)R|@F zzmr#3Zflff?)KPNUZof$11C9`IPuOmY1wh_!&+A*%`qk)YKr@zx%*2BMgh!FvD8#u z=z9+l`4Dvkhk?wxm~q_IU9R2YPpwTLwuf-9AC?=BulpcXMaQ-z5h#JmiozM%CRvt9 zNbdQ}y5u_Xb0bxRs#CgmbHZVpxC-}rIge;Ui#==ZZ0FC8HT7Nnlq6!}*%=A$iJPRI z$%3(sG;x91?ny=B7~C69009TmR>#FIn`S3z8goUgw9=K{*`I?d5o8n2C>dg!w2Ct{ zqem|oHTgd-^N99BW96Q`h=}8%8_^YW3ND+_#LsN%2j@w&=4azI*Az}|?NV4b_Lt;m zJM3(25Z13(Deempl+8BI8IQS45*t)X=LAk12o$PWSa2)W{Il7E?+7SMY5McO zVxDX0C-H0x+AW!lzCut_?%EueeM8)#5WJM!Bb^AAp8wi9yp6bel3`kCFDJdiM`C_+ zYHMl3f1O$_w=_h%j4SAL7O`heW$zWJ9CUQa(7buqLzIybGJH#vaGDs2~)V9JSXmsv^#siSwQ_!#;-^F!}Yhm zyZ)aljFo(FbHWLD^z?QZ3{8@>YG&JEit|WL!E; z69mfKTS-hyqR3A9M|ltNgV*)9od@YqysVH|g7=6Dul*{p;RRlP& zC&=hh1hhXB6}v#!p+D>H^%7403g-m<)crjQ$*D2&+p^JPKhtcUFqZU-SSJdv!Fim+&2HH`6%{%!x$T@fdp~` z-&J=8mQ}2Y7HdkYuF_&~snfux>)EbUiVjx3uH1)cov@O;^lv|FCtSMVFGsQ8Ttl|* zIA*W2U`&ZE`}kHuqOa^~V-KC?^JzzP8+*6J?nR zS@3?Lf~-U2yaho={xCb@h_iaN^}Y`c9{#C4A~qP7F%QWdqu8uE46I&|Bx)g)T$|12alrtQ80!^*lvLp-= zy^(2gI!;50Bf5-d7wvvoRO}MLiF{bQK{qbV;E2c=W|43W;sZ_u5^P{enz(b_jDi=< zZN5Sc$a6HKEE1X-H>!W^!8_(YGdSo<5#dClLFNCc>h1B|*(333-rxm;XJtZi6D)t7 zFwtSsw})%oaUY_}p}ag2o^(TuH+Xi;WaPyW0kVlL7w5SYr}eQ3ByK;tGn;?@9{)a5 zFWL`Fd*;I{jW_$eW&u&uTSl^C8;G9vZI{N|zzGKB3*&{GL6qS=N6xO9vN@3>pjLx9nVM8#~SK^87$m zE&N#8vTE3(lzi#C{-?yluGUFPvZu!E8s1^s53WU)^E^*Ea6xKTnEH4lbf zDVjUW>+3q$cB4V~b}_-z2EA=C52kN%`QN*@EbKTE|1ViWR4fR|+iuqOs<8x^E;q7# zk8#qbT$QB}NN&U89dQY-`8bDwp7* zb|*yIqCV5l%c_6Dzwh$xq8Etn8)n>E{*9~l!Oi$Nt-4CrPhylH;0dUv654QhFfq5M z+`5G7yoI1GXrf^!Q7`ky(lffS@HxyX0iUv-+qo_``#9b%IHc^}=naWmVQxxtRwJQz zyTZKNr_7ohEwKHXP=g~OrG>imX#(@r5rr2ob_;cxn%C?WH2neX1&cn zFX#BnR-f)NvtYSU1Y!BD<6hfWWrZ;{9I1;mf!xGd#~4+kat|)geoV3*?`%F{W7aVO zB~w*O7Nf0P{SAEY!^azU=B-nZ%hVX}-nddHNlf&4!xHTEM>h9(?!;LaJY=Zz6{z1D zhN{IjX2T9gu2=Fm=PdJ8^4F6*ddbduI)%ED1c&&Lt85o{>aLD8AGs9u5K+MuzcTp# zf?u3(p-y4H-)8X_TQ{pBLza3H`O5qB=vO)aW`4L=qxPpS4L_c`s+~S|<2BdqyhyYp zNib&1($G9re9wW;Rm@6vvB{6}$Ll~SO+OXtztLHD*pf93UvQrL$yW3b?449AtrL`Z zck}ebxe0C@l z-=AVhT4O&TSG|0i&o$4H<%#j8i}Uhp66)}xeVy0%|3Z&v6-=%MLy|@%X-d8s)e|tk}i0ACw$iqfjJM!6Su0aeBz-_gBFv=ubIBk?mT) zuup*?WM=oDg+hOhRfvKveGDl$)%wiTFuLyJp{A$%PwDY$?HE0W`Ulz)Kau7!o2XCL z9buwwEe)SM#AgeQmJL?rC*;}jpO+*4z#NViIrv@z+)9+T2@RPZ`7>5rq;;p^Z<9pD z9c!w;V{B7Hy4dsKtB||i18=9&Q8n11XXQt$CshJd>4Wq^Ah}Zq$SP|ScFF05)Z>qKMb;vlgRV` z`M-}8nNx@HNvOi%g;#SQv5v%1r~xjGwlL70VqsJ3d0h!ne@8VbmBneXcNQIv;EzYzUEi`8ZHfUr;8XPnuKj?0hD8^yw{zY+AEiYlOrwn)Y;?;4_M;uV+ z#rRvsn=TvO_}s=Y#j`)#dYJq=%x=&!pty-q;>){CNlRs;6`Wde<;!RHsNqwdbUt0M zrlJtRLRH{2QYM6+9YD|uX_LUmCxmw!Yb1ZI(Oh3$)$y@)`ER5QTc4($N=@K#7|u*t zCx5wha2bGgS!!e9xYp3e{h?-0j+-ni_ta>)L<#nDF_PL=3|$cIyddScgCarOXQ45L zJlD$racp%MAfcMc3dC;B0-?858yOIOv|x^r_$ zqYZ}+tvki2N39)KrF~8O%wb8TDu!&mPnJ&U(m^0_j2iq~%^a|6LzXk3DLg%Ig%AMp zvn`Y-;A@X6YueWv=(x-8_B43dS{{D;T+dZ?z)m1LJ)GqE)(X&@Kd{JyF zQlm?psKsY%Y>9|)s$M2iiNTQ=cQ*4qmAXW4@g8GgqvV$T+()I$d$&PWby>Qp#n5Lw z_jD;975PFg<+#M{8ZHVYqWWtT-?B&AA@y94fUkKjpp-`}H@U#jkdCSsF+v4v?ysiY zRTjY$qAbVnFPJPrtj~-yU-=fZg^)d}!Lcebc$=*OW<2nG7pUn}IGB&A9Y3!_R&qT# znl(30QF&yJs%_~#cyB^*RHsz%CKCR008_9Ib2+H`4n8k&%d4`l_MNbgT)M4oefeCt zKhCa1_m@tH-0hlJH*2S*SaF}wR@pPQa&nOF8e1d+H1GVR=o;$fozCIBhP}oUc;hj% zvC};tBi#cPe@5=Ij{jOFV2?EQk?N71f8(a4K{$(`sBH({g@t!fd2bWmIWs_EcNW}nP1g+mKdwwa$|%YNlo;RW)Pmd?Jv1p zeDwek<2mu{s}@o?s$>6|bOi&j8s|s-E&dSwoB4M40D5I$@%gU>;N&a7kp_uj3H5#=aG@w9HYWJ1?(^ zt%S(+x12HxjX8MN&+#ARt*abpkKF&>2YQfdnN*pV$qAfe=N)T~yQUCo2vJXNaofWa#1Brn__2XPy5w{qNxEh08K%U;kx!BDf(K5uHXc3G|48(y zOSp*1M+eVFBr2e1PrczJ`6qjCh1$*#@;y5tXx1}*!k3+)d1HcwEtrR?*| zmqXKL`JFytiv$4euI34+D3}hYK@v3g0>A!AYpcx^%h54rie-xl4gBLIGfgZD&?GML z9STm##9?)9LA!>|ud6sQAw3#c|%_7tY#DX^o zOWa&l^Ju*5=|WX4n?vts?ayAaJ+GKEK+I}2=6;xR6JSRtJK#*DM)Y`%O~Ew+c-4|1 zeX#QgY-lzo^d$(dh}Muj2!_pMLR=@iQe&KoILS~u|@ z4W+o(W^OPyh6CQGt44=(Q}-rW=(spIz)PDgdITTb>S=o4N7X{4T$$YM=%OO6|>kLoH(&y<3`a|cQX(fj|#}E&RAWQuAo+w>>T^HNqOCqnJ z)UF0&hxBS$o2mSj+MZ)#mZG>gu8B9?**bc{+ekH4`rI5u=-@!L3E@~tI4(cOuMf`X zUB0y?_qY!8V|zx`teV&KWbN#oRYI46o2UH+OFTug*JhT89JYz%ei&0cnABlxWHg{4 zd2)K%(^GJV&VNU;hqvpmP4>e|0KW-v)a-}xZzdmvhi9jEwx}f@`X6RHb=>*6y>ifG z&aN>k?J8)Fc%cCw^^?4vDBfCDqx$R?S+|QoRVQBswJ6Fp2z0gyP<$!I&h}R$MRb_h zA+wRFu7{lAvAZ>Nny4@`o0${d1nlf1fIt=BEIhBmK9^m&*z?$9%=%yPl>WB!L~RIk z8Gf2;O*LBAO8PVyd^J(PvvS2B{jpFH(?R9uvZ>g5M|ltZfrrlDt_8=4lSX8d5qeWB z@7;C;-37}Ib~d3WCpeObQ7bgywq~AjAapTmCy&_tA9pCBLSg2*qhBlt|H!{ZQALG_ zlG2JjpWJs10}p9ALeaF zVIJ-pLe5Bg0V!i=aZKILj8TspVbKERYJD!yN>o`Q)oW^}_u0xg-qN>{`l#AVHS-yS z7V@a+7I8?b>SJa&JCc8O9!I(a%(fr4t-shw^mY2U`GTAU!w#!WJ&`TJax}4Tl4blE z$=zhe3%{!024j+~UREDHh|#7Po;FNrj;UWe6-JOCc{;=J@6N^fM>XL%gseWiJGv>% z3auPnjPW4Nt>;O&R+3`COt(Xz@~1HMcIYAN6;rR*P`(SF}DcSdlep9Dl;d z3Zfka2T^fwc^#a`^iK8rOf+Z1VHZVv$pQm&u_3(D@fq3K z479ZU3Z9>ZJgN(=Hb3)zrz%tH#G7Q{1sqz?7-}Ddu3J3&p&;XjJ0f^~LN$>NlDwQ6 zNT@kn$du30*;z6&()@JDBP1lA3?4$|9a}&ut*sT{>r7l9D+0XJ zp?`h_bonaU+S;x%S`*y6XFdJxrQ`$jKM5gID3~Ynu~O_q8{l@Nrw2R&b_vR4MgWvap1N(S*H7%*09S(ZA)5${QS3{R2!L0fh9`9L2x? z(H9I~!KNUga0mp%uOxn_e*}U9*v?>bjQubj7(oPhMmu(!gMTOaQ6H4^4v&wiC@HhB zHNCni3ud`4D3L5qO{U_6p=u`?h{;U zlY8uz2*h%30^U_>kD^~cjN`3}O3HIPzp!d7d#3&pM%((~M&@vxolG(UEb+2S#YZ*e zsXdWYtgNim)YM&FUG^Vu0gkM{pWiCucg#r^BMeJIQNSdXl7g@(9yEf988>e!<9iIj zmSdsfO5!BKPW71?6~#&34l7m@grQ%PE(SKXxrs?Cwhy&?G5LePjqMW{tPve8E{R%P zT8eb}4)DRX9zw7~X1BufTDv2Btd>{sX?sLMeLT8lO!qgtl`sasD{o6MU|~?f=iXnI z0kQb~_#sv)Z;jRF1E$P4uQPm6?}v2+0xK34Zph7Ls(!%^`tyB#eeLhhq5O4Z!PNBh zStYyiQ&Q7N7Rv1cffzLA;1SH#f~}bbdC8wI!8i**4yF))_VSM`0|ElT_?`50FA`GH zz2jrRq|3&}6GH_DbmtxP?p-pO>M5830GM>(FT@;qnHkGj({yhgltR?}SG$&{GvPTW zX0JLx)pgW-cUWhhtfRG|rf9nQZ6|OysRJf37;H6%|C{UKZ_r}D%IKAIt4wY0MbQ{K zDk^x5TR*DR7hrqT)E~oWKDYP6mMUdNj(aGpe%_>|w0jUp^1@w>WwXi!If-Q{9`ObA zt*M02!^?FY7+JUD(&jEkDo?q`vz_7?R9+_1 zDV3?SKBMOQEd+?LfC%$a5?^c$oaAjVW2XPo<)GIOs07fb8v$2M<#$)xjDxArc_rGB z5l-_4s>{X-BO4FL^V^W^MzPa-B6*=g0e|EmLw_@x zL0U>`6{(Vwg9D$OTt*UK&d?G8Vk>vNGPQmkv4#m^SQJb$%a%8N`t&JKZ&Dnz>RT_P zuqRn^mEOF;qoAFuEAZ16!a_e08oqQ$$l!HU2yg!n zNGRati2ZQ%pkR1%&<>8)tL!JYZt+#$yyg-f7QAq~9AO(0a2wh4gc^Ps%7FsjgeC&# z470d->IM8uSP*jk`4a?NxE1nWA5tUBkWsELkJk{YF*s+eKYZM3#KqyF1B(>|wbtzCMfg_*psK`T)kI zuPa*R+adGqtlF~YU3`TWfoifrVjp=Sa~GHAw6qyjRq;<=XzDvUj?T=agwg!IWf>!S zrRS9902A3A05G(7$$mg5$GFkVR!v_SPNR_8)7jo0aDxW}@`ytvtgWrdMRk%uOl)7j zav6=sY*8ZG6HCxT%6lCkmParCg*%Z)Kwx8gTbPSWl;|PSIABm*TnJEzLvL?QviR#> z5z-9oJynL|1uBDOnewim>@I-GBlh?4B~(?%+cC5gRUVlj$h}TA0>rvzRAohI)p?i* z#3%BBX#h?(SV8qIdWqdhEM}^0liEM7=R>%|KR4> z;u?Hkm0g66(29L|2X+_M170$OB}X$y{Y0z!t)?chhX3}pfF3YI1QP?Jf6dlSZ@Qn%#ej!S9xh2`Mz_`$|JOMv~dVqCbsR+rkroMF3Ads5-{7Bke#zp{-f z8z}CLZtYlKX0&N=&6>6*Z*vHczddi|%(fJ>*wu=Ks7TYTi}EWRaP|7nVuTaR!L$r8 z4+xOf0h4C-jwq!#z)WXnR<49VHw8R$EbRG`z`(3`+x-OZ8}BDNKY`2@)sHoyy>w*W z2k{OIpF)`Vj7xvFfm}DmwI4gPeEqlNy`PN#Qe#ivJTOYfwy_32oW@Dowsuzk`Z63>#nUOp zrIGZ=C8B|WJ6O!pmw%uM_+)<$d+V^6 zROokAwc=r05PP~J8ojeU<`~w)lPh zlli8%Qt)E)i!6xq3o`EQcuJWMhuIJQZQh=|=GRx38z{Hvbpg8+j59p24S*7#d7N?Y zTcV?*SC*CaOFs-UFf|Q)9yd|%;ReP`^tM~!$}esUxADmIvO&hyr{f!gP>Nd3DcT@c z#`yC~tmj&{0|^H=bJ6Q|jzQq#jh#rIMw+4)cc??Cbo%8y#X2pnvsRSXZu_-eur?Yw zmiwR?2z_VX?Ys*;>j096OggROtKYEi;9J`{I;H>XkmDyPZ-Yeqml7KYIMI?b^VZ9r?u8&CpdBVm+Kq+O-;Wyw099u(RW?gw^TC3RWC2W_Zz(A{fI6z>#~AhX>*GDq<~gWp_s!MSL6{dL^cIut>e3n7 zWT;rd?PDPg$=a=2%9w9jVa+9q(&Xeu=sqM$ws^8XT9N=t(3@U!>uH%YlS-p}hMp2` zprWo8zi8b)gin%WXgE=*$LKNwK-DSWtn$pkuZ#M?JA!#Ea zA+`I8)Vk7 zV_a5|e0)t#69*@zuRtrsa#WxUo%$8jYDPda@bz`Xc)6NdxJ0keh8LR(AK&#(VC8m& zw@vP-_}ysr$%b0}FHVE-#;K-6b%-GT_vKW$dxeGf3=S^LDOw=HF2>;EG(%S4AttAmvY_=_ww%|It>4_7-s zhv_t3Nl%wD*XzSkBkx!8(oJNSha2f^C<20*`L{eye~PWAA{~6qVt-binPr|(C~jI@ zV!6hg$fkxa$Qn3?(IT;AZS=2jR$__xB>?}D_59wW7a~t*s-!`;h;;jUmeUB=g&=$@ zOHzp6m`bgIU#ipVak{wzX-);}>k0`*@}ros$9`)L$|~#Uu!7jdem2&H51{Ww+g$6n zqlc;~Wk|7sn6cKPHvB~ch1OhgC2bYnD)9&hjknW&tmOVNTiEE2>2<5cBQ?WfaUag15y^_j+w^P&c&A|)t{My?lr-+6#USX z#&OOPZ5t?u|LNDz<|GE!C6^6$p}_EOZtOAkKpk5MF;shTv`BaoYe7C*tuEC43u#~5 zI>j9&G2ye$C~M*Hk%<#+rNBy^@(-4a2R}WQChjck2Q%X)&|hsb7U6e@ufyRbdE`*o zMICc_sD;m>sk6esbI~BjY(Z-AOSmhe7F3yinrNW47xu{{dwGn23)o8j&KJ;2eb8|b zG$0W0FrKvUT8bG#YQhqXD$_gs`IMb(EHjwXK!I@kAe01 z15Uq0|1^{~5UJXX*Z&_wYt)%M=r*=b$mFJ);o77;A}laC42fSEFoX@kHTP- zcvw)3ip<$kx#@PifyzL*lq=TEWrEDW9e z{<_QM{=+)ggO@`nE?UF9;!;Kt0M;5R$OaiMSdLQ3jby$HQ*9HZ9+(XBQc90Iq|2gB zgodA1uv+RmNdNI8hJ-|$UZEG4pDRzbKPzk!OhgSB{wC2Gj~PZ1*O}5%tn@TP(Y^qE zKrWZt>wgSJUiEaU%eEs>AaImF&A%Wb`^+KOoG1g7jAc~)jA-!9u=~yz{bp7l<`t=v zH-jsC&Sd!Eck6!!Z0Tgs)}Rp z3u!*v?Dd-S&NOk5nlqJ{;Dz1No-92gxr*sO$o_UV^FsiPSl@Qa9O>em)c6~JP7@Rq zSXh`XGOdlp#sMGZq@oe2_1A_q*I6N^y01(Zy}$NiS;ivA&-CByf~Jkpu6?yJ^_wa~ zXuskf>F?ve8iN+rxU7IfKKB%BVNe~b$Ult!6j|gS6KSq$6=CAR`JbHVQ_o;V8R%nJ z1PaNy-kQeq*1p$pBphAGT=+1RNXlUQ*fE^#6Wz7*S1VZ4EyyxLeR&fep5@@@HJaPb zuhq}_xH;qa<Tf{*-(1{<>Ac4X75yY5YC>x3$) zl78OH<`0@B5!KWupe3(gr@^U#$m_bVl+PsuiQrbP=R^Zu%-9p+*%#!Ix5>RUAh`-L zbLJ=65`C}3{?fQ%EputC9IK8|4Ahig1dx&ZzakBh50mt|L*;KzUdfU)w*TsHX=g8p-J*Sz(M9N2;6Ny49NZY{k z;_yF6H%{KiPt%<0vpOvmn(GC_BffUJ{smFa;;XU{u&zRsOt3KcWYHtD^*)Jl}>NfK>ZAJoJOtQ|XdU?|eS zBao?s-eGJq66vc(Da0evlwBz{0slvHe>fx_u2G;GUUfmj+UMX33IsE>bW?Y$=ef>1 zF49CeQcp+{)Yv~^F}>u5hj)`<-?4n89F-pQl+ndYFWN^{7dcM7gUPj z2aYoQCo7*eMKC7yY!+=N8bNoHG9QAYsZmUii`4ydG`Qt-Ybuq7=04w9>oU#g)KfzK zE;H<=_MG({ug7zY($auu{1wwB>6*?6lp zj6wD#A*LG3SR;%ip@{7BJCon@6Gi8 zd`$0IHD8K-fp?m2GFbR|kN))0m@q7V2BI4&T(^-2Ug^6F-%vqJ zC&+Bj9nuXuBX{4lNbvFOXBZgsY?dMs#`-o5b2JP8Yy5eYhJ*5W5zAADugUPA<8=9! zwqQBulzzwAFQ$KbQ`KxyE!d;I}w%>yEO3NB0 z&YW6n4Db-ri^wW{-h(8*khX9rhPBKN5MTkWuV+@9DM{yOBX-g+(;8P2}Y&f zm_G&&(pF85gDD-L%gXZgXX-Uk2yLaTA7|NWUws^BBh-VC`o0AvhwR|D;@I9SR0@l& zaMLcYXdG%_;!Ub%M?RBY0I{^$PxL5Uv}AG>YtbJ5rc+gK^>UcwqW(75?wNc> zv5FbN(!p7+m}Dd@SVl|;ufD0C?Ky9QPRL#ppW94M%)Qr~Lmq(AD3=|T_v~JmU5d#^ zQSr@w96=OE12re&gCzGELDQZM)q#LTYC0J|r!exf2{{8G4>^>zn?SeNt843QlYfzO zEzI6_Oh(sh#29Y?M~wDpPb)nu&?jL7bh9>f@-xqwrt&H4`{x$_W&bg4hsFDd9U+h)X!^yM}nS>-LpdzCBQ9(>- z=uq-S_?^wPrx(DHKQP#tHh!cPlkTF0im##SwZW2`DJS!l-szQ`(Hb@P2+t7R<~%CM zUyoWnP#w7WN{9v0AdOFPHv!h$J5vU_u%OM809Q{%%npL)n@=QhctMfeT%!FygNKvc zVp}FT4k2ITduH6IV}*s9Xfjg%D_-6Y!1w6fuX>cA$%<&$>`X@cr_nGMNqyTf-Cr>CLx>{a;fYiv5KmDW%@jC0y4Gckt0 zR?t56VJPS}D)tLd=hgb{A~E;npQYL;i22>TCLbI4uIPcP-(GWH7tl6#SSG=|;Q7a(&)(G;Mg_X}Iu6Epp z_I*m9J7aR5`q-kC?3g{>yZGGsUbFU*CcH>8d}HIh#>JViD`_86fw5mH6(h7pZ@ASc zcLM~A)|o!^xeYY?^m#5}hEPqbgW?4-7@}f(B=H}k*eMfS%MKofNi?M2&)E@pU^pB- z+QK$6IX&I8Lv6RhF;Dm;)bXi%EQbw!p^%hDo{=yOZ_+}%=l;`zt!1>PiJQL?He(80uu0({KFRU_@lkR+r84o*COFMco)`R=V2 zNXS5dF@PI(jPo9z0C{WwwTnBJf8|X#!92sNAe|R`13*;V;eOawKB<0n2+x1h-BkR& z*j<>;m=I_qny=S%pnP)MVTzp&|0dwI6VuT@k1Ovlk1o{sevo=--yvn`hZ}e+jfcDB zHY)=;`|1XZVN11w%XZyQ&TjdW6jQ7D65L*OuPQg6`&ywE?b)3J0y1zoumWckq4zsa zQE?k;;IS_o?Ua+>^tY_n6c4;RDp(kyk-L(6cEOrA7YGnWa(U|;i4*vArm4d{4ULYn zm+|HS|6U^T5XyL@r>A+Hari6 zmXj}k@kzWmn`QqwN?mtz_eR2m3Czo@x6<5k+kieG?lC)E5pit-F=ydGnJ7qt54|d1 zcgebkLs})A8K-dQoIWcW|r@bBVO*oc*uUn($Jdwe%Qlps21MRFTYyhWP>(vOG65rxCXBOkB1 zTT21(9{abR=}c4&cD<4rAcmE#Wrga>*PAIv^y;6cgQDPXSTC9Z>-BTRMnBVtt3i6J* zA&Q;N<%i7t4L!HnYeqGkg?2>FD#y>oE!7z{;qgPtIC{P(XZc(uPj=8&KDCpf-u}t( zkc0VYx>r@_j3J6wuN>M!9eFexRL^m>BOCqvX1K4+@GF9gZOX9}lirNemz=CHUeTBS z*0iB5QTufn@YgBOiOThM&6N+QxrO>-phzj`!&#lVTnXiXym1x(hcflx`8~9U9srqCXdh`Wf6Rr)*)uiWg+tVMp2B#GAt$6;gf51>Za7AE_x^2F2< zXr~qL`bvrz1q$t)&0XA}Ds0Iyi3?~=7C!H;7d575!afpKGa3#jbU9f|T>{Dz5bV3Z zvZ$loJty3%3=>;{KHAW-=JmZR?EIgLLDLoTkUwm9##Wz$@+(JYuRz{1dh+4iw4e`J zrHv6IEHYwr9k@@+(6n$-it*@k`580U=I;@d5XDG6S8sC{-rFbg0&(H%if`6qXRm2} zKU!T*K0&DCTxio* zs?~Fz?w^T?TPE4{* z1tCOQ*RSe>y-WqpMCh=7!4o_CzKRCtuL8Dr+r|dL_*wsqe-X)QD$5%@LvK$vkTd++ zBgdypGJIMmOu9e=<$p&iAZ4wvmUi4&mqiI(ywHL6kwC{lyx-&m6?DE~yq}el1NRR; zUgr-eP?I7KI-gpxb|G!5MgedQW69sp*al@^kpI;&LSt_~9R}E%T?5k0numHlZ*DG? zWOa-_WAOY*dnWD2eZRiZJ8Cx9*!dQH!2Bs>%O)M1<)7zM@DtcZz0s$y+UjV*T*}3o zRFcVPkyY7wlconryFW(^_PRHeNtVK*vaagBX3(#J@0T0Ft^$<)*43bGmz&_e0+bri zbpuplIrrk2M>W(Ui(R&EPRC>}EC3>FKFO4o-t)uqI>HgL7o)^-gGk-~r;f-$ASvR9;&R zn%IifM(j>coH4~fD_P&=n7M&m|LcfE-&`Z0LKzcACNEl^r%%EZ@jqHvNs zHol*4*5J>-aYHf3;z@m^+^)Z@ia%4H{;W4m%;C2>#rPLu(25nbW1Bj=HSPod zrds~HZ$kf%%fI6bTA{k^ZPt}TkvSO{&MRs8JpGt0laW%MaU%6sjsj-{dRYDPBEd6u zQ%jBMDz=@2n8XFhPsYBV;_ZUf+^?P=w7+;f_viG@IA!DUpXF2XgrpnTRsi(;p1KfA w@ZGI725Tnpdl!K}!gK)#3qBHJ8DrmseDNDmd~wF-{{vq77frMawd{ib2Wm3KHUIzs diff --git a/spec/annex.md b/spec/annex.md index e78e3c9..0b27ae8 100644 --- a/spec/annex.md +++ b/spec/annex.md @@ -33,24 +33,24 @@ The OpenAPI Specification (v3.1.0) is the first "concrete" API specification. It is provided as an Open API Specification v3 YAML file. -[OAS (.yaml) for TRP v2](../api/toip-tswg-trustregistryprotocol-v2.yaml). +[OAS (.yaml) for TRQP v2](https://github.com/trustoverip/tswg-trust-registry-protocol/blob/main/api/toip-tswg-trustregistryprotocol-v2.yaml). There are several renderings of the OAS specification: * Inline - this rendering is managed in this repository [Redoc Rendering (static HTML) of specification](./api/redoc-static.html) -* SwaggerHub - this rendering is manually updated from time to time and may be out of date: [SwaggerHub](https://app.swaggerhub.com/apis/CULedger/CULedger.Identity/0.3.1-oas3.1) +* SwaggerHub - this rendering is manually updated from time to time and may be out of date: [SwaggerHub](https://app.swaggerhub.com/apis-docs/continuumloop/trust-over_ip_trust_registry_protocol_res_tful_api_v_2/2.0.0) ## Annex C - Uses and Data Model Reference ### Use of the Trust Registry Protocol. -The TRP is intended to be used in at least two key ways: +The TRQP is intended to be used in at least two key ways: -* Native Support - systems may directly implement access using the TRP. -* Bridged - systems may create access "bridges" that provide TRP access to their systems. +* Native Support - systems may directly implement access using the TRQP. +* Bridged - systems may create access "bridges" that provide TRQP access to their systems. -![C4 Systems Model - showing native TRP support on one system, bridged support to two other systems (e.g. TRAIN and EU Trusted List ARF)](./images/puml/protocol-bridging.png). +![C4 Systems Model - showing native TRQP support on one system, bridged support to two other systems (e.g. TRAIN and EU Trusted List ARF)](./images/puml/protocol-bridging.png). ### Object Model @@ -63,5 +63,5 @@ We provide a high-level object model (NOTE: source of truth is the Swagger as th We will need to provide guides and other thought pieces that explain many aspects of trust registries. A notional (short bullet) list of items could include: * "why do I need a trust registry?" - blog article or position paper to explain why trust registries help. -* "I have the data, but how do I use the TRP?" - paper about how adding TRP to a bridge or native integration. +* "I have the data, but how do I use the TRQP?" - paper about how adding TRQP to a bridge or native integration. * "where do I learn about the governance changes that I have?" \ No newline at end of file diff --git a/spec/foreword.md b/spec/foreword.md index d139ac8..b084859 100644 --- a/spec/foreword.md +++ b/spec/foreword.md @@ -15,9 +15,9 @@ The term [[ref:trust]] is loaded with varied meanings that may conflict. In the A trust registry may provide information that helps the [[ref:consuming party]] in deciding that an entity is [[ref:trustworthy]]. The ToIP Trust Registry Protocol helps ecosystems create the foundation of trust within its governed domain, by providing a common protocol for querying information that helps the consuming party in deciding that an entity is [[ref: trustworthy]]. -In addition to providing information on its own ecosystem, the Trust Registry Protocol (TRP) enables creation of a registry of registries. This is done by allowing an ecosystem to assert trust to other trust registries, and thus ecosystems. This can be achieved by allowing a governance entity to assert that consuming parties that rely on the trust registry, may also utilize information from another trust registry for additional assertions. This effectively creates transitive trust across ecosystems to achieve wider reach. +In addition to providing information on its own ecosystem, the Trust Registry Query Protocol (TRQP) enables creation of a registry of registries. This is done by allowing an ecosystem to assert trust to other trust registries, and thus ecosystems. This can be achieved by allowing a governance entity to assert that consuming parties that rely on the trust registry, may also utilize information from another trust registry for additional assertions. This effectively creates transitive trust across ecosystems to achieve wider reach. -The Trust Registry Protocol serves to provide a simple interface to enable querying of systems of record that provide the information that drives a trust registry. There are a plethora of systems that contain answers that are required to make trust decisions. The protocol is intended to make the communication with any particular system-of-record consistent and simple. +The Trust Registry Query Protocol serves to provide a simple interface to enable querying of systems of record that provide the information that drives a trust registry. There are a plethora of systems that contain answers that are required to make trust decisions. The protocol is intended to make the communication with any particular system-of-record consistent and simple. ## Foreword This specification is subject to the **OWF Contributor License Agreement 1.0 - Copyright** available at diff --git a/spec/introduction.md b/spec/introduction.md index 6f628e4..0bb9db6 100644 --- a/spec/introduction.md +++ b/spec/introduction.md @@ -16,25 +16,25 @@ We need answers to a simple question: > Does `Entity X` have `Authorization Y`, in the context of `Ecosystem Governance Framework Z`? -The Trust Registry Protocol (TRP) serves to provide a simple interface to enable querying of systems of record that provide the information that drives a trust registry. There are a plethora of systems that contain answers that are required to make trust decisions. The protocol is intended to make the communication with any particular system-of-record consistent and simple. +The Trust Registry Quert Protocol (TRQP) serves to provide a simple interface to enable querying of systems of record that provide the information that drives a trust registry. There are a plethora of systems that contain answers that are required to make trust decisions. The protocol is intended to make the communication with any particular system-of-record consistent and simple. It is intentionally simple to allow rapid integration into external systems. -The TRP does not: +The TRQP does not: * create a trust registry - it allows (read-only) access to a system-of-record that has the data needed to generate answers that a trust registry provides. * create new information - the Create, Update, and Delete of CRUD are not supported. Systems-of-record perform the full CRUD operations. The protocol provides a simple and consistent way of retrieving information from a system. - * create nor implement governance - the system-of-record that supports the TRP may have technical ways of doing this, supported by manual operations. Regardless, the TRP has no opinion on how governance is implemented - just that the information retrieved complies with the stated EGF. - * make decisions - the TRP serves up data that are inputs to trust decisions. - * assign Roles or Rights, though a consuming system may take information that is received via the TRP and assign these. + * create nor implement governance - the system-of-record that supports the TRQP may have technical ways of doing this, supported by manual operations. Regardless, the TRQP has no opinion on how governance is implemented - just that the information retrieved complies with the stated EGF. + * make decisions - the TRWP serves up data that are inputs to trust decisions. + * assign Roles or Rights, though a consuming system may take information that is received via the TRQP and assign these. It is most crucial to understand that a Trust Registry does NOT create authority. The authority of a trust registry is an outcome of governance. The purpose of this [[xref: TOIP, ToIP specification]] is to define a standard interoperable protocol for querying a global web of [[xref: TOIP, peer]] [[xref: TOIP, trust registries]], each of which can answer queries about whether a particular [[xref: TOIP, entity]] holds an [[ref:authorization]], in a particular [[xref: TOIP, digital trust ecosystem]] (defined under an [[xref: TOIP, EGF]]), as well as which peer trust registries acknowledge each other. -### Trust Registry Protocol features +### Trust Registry Query Protocol features A core role within the ToIP stack is a [[xref: TOIP, trust registry]]. This is a network service that enables the [[xref:TOIP, governing authority]] for an [[xref: TOIP, EGF]] to share information about their ecosystem. In particular, which [[xref: TOIP, governed parties]] hold which [[ref: authorizations]] under the EGF. -A trust registry protocol thus should provide the following features: +A trust registry query protocol thus should provide the following features: 1. interface to query if a particular [[xref: TOIP, entity]] holds specific [[ref:authorization]] under a defined [[xref: TOIP, EGF]]? - e.g. "Does entity X hold the authorization of `canada.driver.license.issue` under Canadian Driver's license scheme?" @@ -43,11 +43,11 @@ A trust registry protocol thus should provide the following features: ### Read-only query Protocol The primary question (Does `Entity X` have `Authorization Y`, in the context of `Ecosystem Governance Framework Z`) we need an answer to when working in an ecosystem is in itself a simple query. Furthermore, it is read-only query and it doesn't modify any information in a system of record. It just makes data available. -In the web service world the TRP is purely a GET protocol. +In the web service world the TRQP is purely a GET protocol. -Just as important it is to understand what the Trust Registry Protocol does NOT do. The TRP does NOT: -* affect the operations and governance of the systems that support querying using the TRP. -* create, update, or delete data in a system. In web services this means the TRP does to PUT, POST, DELETE, and other non-GET operations. +Just as important it is to understand what the TRQP does NOT do. The TRQP does NOT: +* affect the operations and governance of the systems that support querying using the TRQP. +* create, update, or delete data in a system. In web services this means the TRQP does to PUT, POST, DELETE, and other non-GET operations. As with all layers of the [[xref: TOIP, ToIP stack]], the purpose of a [[xref: TOIP, ToIP specification]] is to enable the technical interoperability necessary to support transitive trust within and between different [[xref: TOIP, trust communities]] implementing the [[xref: TOIP, ToIP stack]]. In this case, the desired interoperability outcome is a common query protocol that works between any number of decentralized peer trust registries operated by independent governing authorities** representing multiple legal and business jurisdictions. diff --git a/spec/requirements.md b/spec/requirements.md index 46c667c..b0c459b 100644 --- a/spec/requirements.md +++ b/spec/requirements.md @@ -112,56 +112,56 @@ Trust Over IP hosts a [Service Profile]() with the following pointer: By implementing service profiles, it enables easier interoperability and discovery of service capabilities for the trust registry being implemented. -### Trust Registry Protocol [TRP-*] +### Trust Registry Protocol [TRQP-*] The authoritative technical specifications for the API calls in the ToIP Trust Registry Protocol V1 are specified in Appendix A (OpenAPI YAML file). This section contains a textual description of the **requirements**. **Trust registries** implementing this protocol: -* [TRP-1] MUST maintain the service implementing this protocol at the HTTPS URI specified in the _[Trust Registry Service Property](#trust-registry-service-property)_ section. -* [TRP-2] The system SHOULD support queries that are at a point in time in the past. - * [TRP-2-1] The parameter for the point in time must be named `queryTime`. - * [TRP-2-2] The datetime value provided MUST be formatted per [[spec-norm:RFC3339]] using the UTC (i.e. Z for Zulu) zero offset (e.g. "2018-03-20T09:12:28Z". - * [TRP-2-3] If the system does not support non-current data, and the the `queryTime` parameter is present, the system MUST NOT return entity data and must se http error code 405 (Method not allowed). +* [TRQP-1] MUST maintain the service implementing this protocol at the HTTPS URI specified in the _[Trust Registry Service Property](#trust-registry-service-property)_ section. +* [TRQP-2] The system SHOULD support queries that are at a point in time in the past. + * [TRQP-2-1] The parameter for the point in time must be named `queryTime`. + * [TRQP-2-2] The datetime value provided MUST be formatted per [[spec-norm:RFC3339]] using the UTC (i.e. Z for Zulu) zero offset (e.g. "2018-03-20T09:12:28Z". + * [TRQP-2-3] If the system does not support non-current data, and the the `queryTime` parameter is present, the system MUST NOT return entity data and must se http error code 405 (Method not allowed). -* [TRP-3] MUST return responses to queries for the **status value** of a **registry entry** that satisfies one or more of the following sets of query parameters: +* [TRQP-3] MUST return responses to queries for the **status value** of a **registry entry** that satisfies one or more of the following sets of query parameters: - - [TRP-3-1] **Entity Authorization**: Given the `entityDID`, and `authorization` return the status of that registered entity, MUST return exactly one of the following **status values** for a **registry entry** satisfying the query parameters: + - [TRQP-3-1] **Entity Authorization**: Given the `entityDID`, and `authorization` return the status of that registered entity, MUST return exactly one of the following **status values** for a **registry entry** satisfying the query parameters: - `Not Found` + http code 404 - entry not found. - `Current` + http code 200 - authorization for the registered entity is current as of the time of query, or as of the time requested. - `Expired` + http code 200 - authorization has expired (e.g. not renewed after the previous valid registration period) - `Terminated` + http code 200 - authorization was terminated (e.g. voluntary termination by the **registered entity**) - `Revoked` + http code 200 - authorization was revoked (e.g. involuntary termination by the **governing authority**) - - [TRP-3-2] **Entity Authorizations**: Given only the `entityDID` the system SHOULD return the array of Authorization objects for the entity identified by `entityDID`. - - ii. [TRP-3-2] **Recognized Registry:** Given the entityDID the system SHOULD return the list of [[def:trust registries]] that the entity has indicated it is registered in. - - [TRP-3-2-1] The system MUST NOT return more than one trust registry in the array designated as a [[def: primary registry]]. + - [TRQP-3-2] **Entity Authorizations**: Given only the `entityDID` the system SHOULD return the array of Authorization objects for the entity identified by `entityDID`. + - ii. [TRQP-3-2] **Recognized Registry:** Given the entityDID the system SHOULD return the list of [[def:trust registries]] that the entity has indicated it is registered in. + - [TRQP-3-2-1] The system MUST NOT return more than one trust registry in the array designated as a [[def: primary registry]]. ::: TODO: Align VID and/or DID terminology. ::: -[TRP-4] MUST return responses using the data model specified in the OpenAPI Specification . +[TRQP-4] MUST return responses using the data model specified in the OpenAPI Specification . -[TRP-5] For queries returning a **status value** other than `Not Found`, the response MUST return the following values: - - [TRP-5-1] The system must return the parameter values exactly as supplied in the query (so responses can be stateless). - - [TRP-5-2] The system must return the **status value** for the entity (per TRP-3-1). - - [TRP-5-3] The system must return exactly two **datetime values** conforming to the following requirements: - - [TRP-5-3-1]The value labels MUST be: +[TRQP-5] For queries returning a **status value** other than `Not Found`, the response MUST return the following values: + - [TRQP-5-1] The system must return the parameter values exactly as supplied in the query (so responses can be stateless). + - [TRQP-5-2] The system must return the **status value** for the entity (per TRP-3-1). + - [TRQP-5-3] The system must return exactly two **datetime values** conforming to the following requirements: + - [TRQP-5-3-1]The value labels MUST be: - i. `AuthorizationStartDate` - ii. `AuthorizationEndDate` - - [TRP-5-3-2] The datetime values MUST be formatted to comply with [[spec-norm:RFC3339]] in the UTC/Z time zone with no offset. - - [TRP-5-3-3] The `AuthorizationStartDate` MUST be the date that the **registered entity** authorization began. - - [TRP-5-3-4] The `AuthorizationEndDate` MUST be either: - - [TRP-5-3-4-1] `Null` for an entry whose **status value** is `Current` at the time of the query. - - [TRP-5-3-4-2] A specific datetime value if the **registered entity** **status value** is `Expired`, `Terminated` or `Revoked.` - - [TRP-5-3-5] If a **registered entity** has multiple entries in the system (representing an authorization history), the value that is active at the time indicated must be returned: - - [TRP-5-3-5-1] when no `queryTime` value is provided the value that is active at time of the query MUST be returned. - - [TRP-5-3-5-2] when a `queryTime` parameter is provided the entry that is active at that time (i.e. indicted by `queryTime`) MUST be returned. + - [TRQP-5-3-2] The datetime values MUST be formatted to comply with [[spec-norm:RFC3339]] in the UTC/Z time zone with no offset. + - [TRQP-5-3-3] The `AuthorizationStartDate` MUST be the date that the **registered entity** authorization began. + - [TRQP-5-3-4] The `AuthorizationEndDate` MUST be either: + - [TRQP-5-3-4-1] `Null` for an entry whose **status value** is `Current` at the time of the query. + - [TRQP-5-3-4-2] A specific datetime value if the **registered entity** **status value** is `Expired`, `Terminated` or `Revoked.` + - [TRQP-5-3-5] If a **registered entity** has multiple entries in the system (representing an authorization history), the value that is active at the time indicated must be returned: + - [TRQP-5-3-5-1] when no `queryTime` value is provided the value that is active at time of the query MUST be returned. + - [TRQP-5-3-5-2] when a `queryTime` parameter is provided the entry that is active at that time (i.e. indicted by `queryTime`) MUST be returned. ### Anti-Requirements -The following are considered anti-requirements in that they have been considered in the current design of the TRP: +The following are considered anti-requirements in that they have been considered in the current design of the TRQP: * [AR-1] SHALL NOT support query operations for the history of a [[ref: registered entity]]. @@ -169,6 +169,6 @@ The following are considered anti-requirements in that they have been considered * [AR-3]]SHALL NOT support automated rules processing in the protocol. A rules engine can certainly use the protocol. -* [AR-4] Anything other than read-only operations. The TRP is a read-only (RETRIEVE in the CRUD sense) protocol. +* [AR-4] Anything other than read-only operations. The TRQP is a read-only (RETRIEVE in the CRUD sense) protocol. diff --git a/spec/revision_history.md b/spec/revision_history.md index a845266..1786737 100644 --- a/spec/revision_history.md +++ b/spec/revision_history.md @@ -4,3 +4,7 @@ [[This section applies after the specification has been released for a Public Review, including Implementers Public Review]]. ::: +* 2024-06-24 + - changed specification name to add "Query" to the title + - updated beidge diagram to reflect profile need for OIDF + - fixed Swagger links \ No newline at end of file diff --git a/spec/terms_and_definitions.md b/spec/terms_and_definitions.md index cd02125..9d8a956 100644 --- a/spec/terms_and_definitions.md +++ b/spec/terms_and_definitions.md @@ -43,7 +43,7 @@ https://github.com/trustoverip/tswg-trust-registry-protocol/issues/6 ~ A network address, such as an HTTP URL, at which services operate on behalf of a DID subject. (Source: [[spec-norm:DID-CORE]]) [[def: service property]]: -~ in context of: [TRP-1] ...MUST publish, in the [[xref: TOIP, DID document]] associated with the **DID** identifying its **EGF**, a [[ref: service property]] specifying the [[ref: service endpoint]] +~ in context of: [TRQP-1] ...MUST publish, in the [[xref: TOIP, DID document]] associated with the **DID** identifying its **EGF**, a [[ref: service property]] specifying the [[ref: service endpoint]] [[def: trust registry, trust registries]]: ~ A registry that serves as an authoritative source for trust graphs or other governed information describing one or more trust communities. A trust registry is typically authorized by a governance framework. (See also: [[xref: TOIP, trust list]]) diff --git a/spec/title.md b/spec/title.md index 50a6e8b..700de4e 100644 --- a/spec/title.md +++ b/spec/title.md @@ -1,4 +1,4 @@ -ToIP Trust Registry Protocol version 2.0 Specification +ToIP Trust Registry QueryProtocol version 2.0 Specification ================== **Specification Status**: v2.0 Implementers Draft From 652ba2c6042842556e4518908e898e5bc9c62702 Mon Sep 17 00:00:00 2001 From: Darrell O'Donnell Date: Mon, 24 Jun 2024 11:23:50 -0700 Subject: [PATCH 12/16] TRP -> TRQP Signed-off-by: Darrell O'Donnell --- diagrams/highlevel.plantuml | 2 +- spec/annex.md | 2 +- spec/foreword.md | 2 +- spec/requirements.md | 4 ++-- specs.json | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/diagrams/highlevel.plantuml b/diagrams/highlevel.plantuml index 6c6290b..7e134e3 100644 --- a/diagrams/highlevel.plantuml +++ b/diagrams/highlevel.plantuml @@ -2,7 +2,7 @@ -title Trust Over IP Trust Registry Protocol v2 Data Model - Implementer Review Draft +title Trust Over IP Trust Registry Query Protocol v2 Data Model - Implementer Review Draft package EGF { diff --git a/spec/annex.md b/spec/annex.md index 0b27ae8..31e543d 100644 --- a/spec/annex.md +++ b/spec/annex.md @@ -43,7 +43,7 @@ There are several renderings of the OAS specification: ## Annex C - Uses and Data Model Reference -### Use of the Trust Registry Protocol. +### Use of the Trust Registry Query Protocol. The TRQP is intended to be used in at least two key ways: diff --git a/spec/foreword.md b/spec/foreword.md index b084859..08dda49 100644 --- a/spec/foreword.md +++ b/spec/foreword.md @@ -13,7 +13,7 @@ The usefulness of an ecosystem is largely dependant on its ability to assert tru The term [[ref:trust]] is loaded with varied meanings that may conflict. In the context of trust registries we want to be clear what we mean, when we apply the term “trust”. A trust registry does not create trust by itself. The decision for one entity to “trust” another is each party's own decision. The purpose of the trust registry is to provide access to a system of record that contains answers to questions that help drive those trust decisions. A trust registry may provide information that helps the [[ref:consuming party]] in deciding that an entity is [[ref:trustworthy]]. -The ToIP Trust Registry Protocol helps ecosystems create the foundation of trust within its governed domain, by providing a common protocol for querying information that helps the consuming party in deciding that an entity is [[ref: trustworthy]]. +The ToIP Trust Registry Query Protocol helps ecosystems create the foundation of trust within its governed domain, by providing a common protocol for querying information that helps the consuming party in deciding that an entity is [[ref: trustworthy]]. In addition to providing information on its own ecosystem, the Trust Registry Query Protocol (TRQP) enables creation of a registry of registries. This is done by allowing an ecosystem to assert trust to other trust registries, and thus ecosystems. This can be achieved by allowing a governance entity to assert that consuming parties that rely on the trust registry, may also utilize information from another trust registry for additional assertions. This effectively creates transitive trust across ecosystems to achieve wider reach. diff --git a/spec/requirements.md b/spec/requirements.md index b0c459b..2e3e520 100644 --- a/spec/requirements.md +++ b/spec/requirements.md @@ -112,9 +112,9 @@ Trust Over IP hosts a [Service Profile]() with the following pointer: By implementing service profiles, it enables easier interoperability and discovery of service capabilities for the trust registry being implemented. -### Trust Registry Protocol [TRQP-*] +### Trust Registry Query Protocol [TRQP-*] -The authoritative technical specifications for the API calls in the ToIP Trust Registry Protocol V1 are specified in Appendix A (OpenAPI YAML file). This section contains a textual description of the **requirements**. +The authoritative technical specifications for the API calls in the ToIP Trust Registry Query Protocol are specified in Appendix A (OpenAPI YAML file). This section contains a textual description of the **requirements**. **Trust registries** implementing this protocol: diff --git a/specs.json b/specs.json index 0670f85..aa8e554 100644 --- a/specs.json +++ b/specs.json @@ -1,7 +1,7 @@ { "specs": [ { - "title": "ToIP Trust Registry Protocol v2 TF DRAFT", + "title": "ToIP Trust Query Registry Protocol v2 TF DRAFT", "spec_directory": "./spec", "output_path": "./docs", "markdown_paths": [ From 9e9bb719a4e3444122f4a322efd47425a8757590 Mon Sep 17 00:00:00 2001 From: Darrell O'Donnell Date: Mon, 24 Jun 2024 11:46:43 -0700 Subject: [PATCH 13/16] changes per @sloops77 Signed-off-by: Darrell O'Donnell --- spec/requirements.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/spec/requirements.md b/spec/requirements.md index 2e3e520..955fe3e 100644 --- a/spec/requirements.md +++ b/spec/requirements.md @@ -133,8 +133,8 @@ The authoritative technical specifications for the API calls in the ToIP Trust R - `Terminated` + http code 200 - authorization was terminated (e.g. voluntary termination by the **registered entity**) - `Revoked` + http code 200 - authorization was revoked (e.g. involuntary termination by the **governing authority**) - [TRQP-3-2] **Entity Authorizations**: Given only the `entityDID` the system SHOULD return the array of Authorization objects for the entity identified by `entityDID`. - - ii. [TRQP-3-2] **Recognized Registry:** Given the entityDID the system SHOULD return the list of [[def:trust registries]] that the entity has indicated it is registered in. - - [TRQP-3-2-1] The system MUST NOT return more than one trust registry in the array designated as a [[def: primary registry]]. + - [TRQP-3-3] **Recognized Registry:** Given the entityDID the system SHOULD return the list of [[def:trust registries]] that the entity has indicated it is registered in. + - [TRQP-3-3-1] The system MUST NOT return more than one trust registry in the array designated as a [[def: primary registry]]. ::: TODO: @@ -154,7 +154,7 @@ The authoritative technical specifications for the API calls in the ToIP Trust R - [TRQP-5-3-3] The `AuthorizationStartDate` MUST be the date that the **registered entity** authorization began. - [TRQP-5-3-4] The `AuthorizationEndDate` MUST be either: - [TRQP-5-3-4-1] `Null` for an entry whose **status value** is `Current` at the time of the query. - - [TRQP-5-3-4-2] A specific datetime value if the **registered entity** **status value** is `Expired`, `Terminated` or `Revoked.` + - [TRQP-5-3-4-2] A specific datetime value if the **registered entity** **status value** is `Expired`, `Terminated` or `Revoked`. - [TRQP-5-3-5] If a **registered entity** has multiple entries in the system (representing an authorization history), the value that is active at the time indicated must be returned: - [TRQP-5-3-5-1] when no `queryTime` value is provided the value that is active at time of the query MUST be returned. - [TRQP-5-3-5-2] when a `queryTime` parameter is provided the entry that is active at that time (i.e. indicted by `queryTime`) MUST be returned. From cd3671df98a0ae5968b61ff2e6ce09c54aa9d988 Mon Sep 17 00:00:00 2001 From: Andor Kesselman Date: Mon, 29 Jul 2024 15:03:59 -0700 Subject: [PATCH 14/16] fixed spelling --- spec/introduction.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/introduction.md b/spec/introduction.md index 0bb9db6..c54bf44 100644 --- a/spec/introduction.md +++ b/spec/introduction.md @@ -16,7 +16,7 @@ We need answers to a simple question: > Does `Entity X` have `Authorization Y`, in the context of `Ecosystem Governance Framework Z`? -The Trust Registry Quert Protocol (TRQP) serves to provide a simple interface to enable querying of systems of record that provide the information that drives a trust registry. There are a plethora of systems that contain answers that are required to make trust decisions. The protocol is intended to make the communication with any particular system-of-record consistent and simple. +The Trust Registry Query Protocol (TRQP) serves to provide a simple interface to enable querying of systems of record that provide the information that drives a trust registry. There are a plethora of systems that contain answers that are required to make trust decisions. The protocol is intended to make the communication with any particular system-of-record consistent and simple. It is intentionally simple to allow rapid integration into external systems. From 9fad865008da4aff58627f369069e8b859cc1eef Mon Sep 17 00:00:00 2001 From: Andor Kesselman Date: Mon, 9 Sep 2024 09:55:52 -0700 Subject: [PATCH 15/16] typo: examples --- api/toip-tswg-trustregistryprotocol-v2.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/api/toip-tswg-trustregistryprotocol-v2.yaml b/api/toip-tswg-trustregistryprotocol-v2.yaml index eee70fc..17c06fd 100644 --- a/api/toip-tswg-trustregistryprotocol-v2.yaml +++ b/api/toip-tswg-trustregistryprotocol-v2.yaml @@ -596,7 +596,7 @@ components: governanceFrameworkVID: type: string format: uri - exampls: + examples: - "did:example:456" primaryTrustRegistryVID: type: string @@ -992,4 +992,4 @@ components: the problem. It may or may not yield further information if dereferenced. security: - - bearerAuth: [] \ No newline at end of file + - bearerAuth: [] From f69a6b977b556bb0768964998b4df6a72cc6cade Mon Sep 17 00:00:00 2001 From: Darrell O'Donnell Date: Fri, 25 Oct 2024 08:01:06 -0700 Subject: [PATCH 16/16] added x509 to bridging pattern diagram Signed-off-by: Darrell O'Donnell --- diagrams/protocol-bridging.plantuml | 11 ++++++++++- docs/images/puml/protocol-bridging.png | Bin 50777 -> 66122 bytes 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/diagrams/protocol-bridging.plantuml b/diagrams/protocol-bridging.plantuml index 09c5e8a..39320ba 100644 --- a/diagrams/protocol-bridging.plantuml +++ b/diagrams/protocol-bridging.plantuml @@ -1,5 +1,5 @@ @startuml -!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Context.puml +!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Container.puml ' uncomment the following line and comment the first to use locally ' !include C4_Context.puml @@ -21,6 +21,15 @@ Rel(oidcBridge,oidfDataN,"OIDF\nProfile N") System(TRAIN, "TRAIN") Rel(Bridge, TRAIN,"bridges") +System_Boundary(x509system,"x509"){ + System(x509,"x509 Ecosystem") + System(x509CA,"x509 CA") + System(x509bridge, "x509 Bridge") + Rel(Integrator,x509bridge,"TRQP") + Rel(x509bridge,x509,"bridges") + Rel(x509CA, x509,"anchors") +} + System(EUTrustedList, "EU Trusted List") diff --git a/docs/images/puml/protocol-bridging.png b/docs/images/puml/protocol-bridging.png index 3812df07345071588e2192b7fa1fe42739ef62ae..5dee6ba5f7a495cde68d72b16f2c6e0ddd713879 100644 GIT binary patch literal 66122 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 literal 50777 zcmce-1yt2v*DksNkrqW70VSjbN$FM^>F#c%JETOqyGyz|1!-Z^9Rkwb4QKKH-dEr6 zjC=1Gcbsn=hr^AV-*3f?XFhYTxdJ~*eLzFTM}|NkXrdxQvJeOy2?PQwg9r=0Vcm-! z0Uy+M!pe4fR@Tnu28MQ!4+fS7Had0&`Y&~zUmDxlS=(~Z(_5SCSlZcJn7`4pvTzve zBZfebDNN**?f(5e1O|-bl)S59VKw^>~5T;kmTOag+}2PSpoht#x-} zY6CCpf>sRdY}{UOpntGsYf+O_e1@9mO)SXEllVAjC1?Et*A};v37Yak?P`g<bb9-{tM^RMC`_LgztXO8_xq9bT$UptRI&s^&33x>d{5CEV=VQdh&f!caz^7 z#s3%bLgN8Uu)w-mkx3jwFs$c3rbc3b)C=Ezep1g-zWuJzmo5U5>R!*90yN8fb@a4G zOGM{2buj~Pk==0{I@{@(EiK`oEM zVas8FJ=0y(TkN_@lic0W%^vKcSAnIZ6b=h)=K7DSzoWTjBla&`#pxW33-g!-9^r_! z!NaQam;NI67l(6A_{uQOjx&6NKa7&F8ofO*{_6ymCHcl;2QHJ${)0{V+gDbk!F|>% z&>sWV4r}kn!A&)SzsFVXULJ&zYx0t-@R|?~G zh#>OW<)}VX!I{3V_a}=y@$xDr6Pz+JRKGuSGgAp`f{WhCBR?r`J=V^|a^`D>YchBe zohbdNK1f)Jl_%s)sX@rilvLW}C2o4$jvKYuA1t#-0eN}_T( z?nS|{kgud-xgw^l^3JKaApg35Hivvu0NBY-!p?adtg^`g8&2D<_leKj`C zT=r352GcDox=#$R`0wSRLsBv?<1ZEbU*4xsb|d;*<8$84`4ICsJz_%4I6fr32z&f7 zLBA{aGloqH?$c8DxWsg^(uh{=r@VBpEG?FU9G)=>x^sWZqx+$6k`}KN{AGW;`?Md0wI#zd z;n$ETl|d?};^!!K^%vX<$1n9NOfh=j6(+*tHH%?<&LI9B%5|u)8-yOw2}pnV$7AtUbByXej+JR{VVcyj%s)YQhu^HR_`}#B5JZsRffLE@U}G- zBx5tWg5N%Dp~DosxD&7M$NZj2^4n)b8D=ybWCR+Mawz=HY`Dk|58V==?iXPcfQpGh zWvUD!W+eSP6GLj3C+OD=a%0brq$TC7&iyk3l9~sH$|lK5`tpZ@71+a=6%?d=*S<+Q zF{rLq)7u~>#Z#Y)y&_fkVK`vyAJ)^d@1*5{O4sq@UPyHfa<5jaB1a&#X(?%eXfVrC ztrNXBX)gFhhQ8E2A_zH&rTS3rQ*ExUs#zre5&L@ebd{<<`-?zx4n=59Vjp(|az5sn zAoXvVIh6cx5glTo0iR)N@TTC8+c4y2lId$FTUG

#&S*iq(2K*VW{U{AL@0_AyO% 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 QorC{G9zPSz6;O5gUpI}s`Tzg`