Digital Credentials Catalogue¶
The Digital Credentials Catalogue is the registry of all available Digital Credentials recognized within the IT-Wallet ecosystem. It is published by the Trust Anchor and publicly available by all Entities through a specialized Federation endpoint. It acts as a single reference point for all actors involved in the process of issuing, verifying and using Digital Credentials.
The Digital Credential Catalogue aims to:
Facilitate Digital Credential discovery for Users.
Standardize the technical and functional description of Digital Credentials.
Enable interoperability between different Issuers and Relying Parties.
Simplify the integration process for Wallet Providers and Relying Parties.
Ensure trust in the ecosystem through certified information.
Provide transparency on the ecosystem of available Digital Credentials.
The main Entities involved in the Digital Credential Catalogue are:
Trust Anchor: It manages and maintains the Digital Credential Catalogue, guaranteeing its authenticity and integrity.
Supervisory Body: It interacts with the Trust Anchor and the Digital Credential Catalogue to monitor the registration phase ensuring security and privacy according to national/European regulations, keeping all the information reliable and updated.
Digital Credential Issuers: The entities authorized to issue Digital Credentials, registering them in the Catalogue.
Relying Parties: They use the Digital Credential Catalogue to gather all the information needed about the Digital Credentials they intend to request during the presentation phase.
Wallet Providers: They access the Digital Credential Catalogue to identify the available Digital Credentials and to retrieve all necessary information for integrating them into their Wallet Solutions.
Users: The citizens who indirectly use the Digital Credentials Catalogue through their Wallet Instances to discover and request Digital Credentials.
Authentic Sources: The Entities that hold the original data that is attested in the Digital Credentials. They provide support to Issuers in registering the Digital Credentials in the Catalogue.
The following table summarizes the main information that MUST be provided by the Digital Credential Catalogue:
Information related to |
Description |
---|---|
Digital Credential Metadata |
Essential identifying information and characteristics of the Digital Credential, including:
|
Digital Credential Issuers |
Details about the organization authorized to issue the Digital Credential, such as:
|
Authentic Sources |
Information about the authoritative data source, such as:
|
Technical Specification |
Technical details, including:
|
Terms of Use |
Conditions and limitations for Digital Credential usage, such as:
|
Claims and Taxonomy References |
Content and classification information:
|
The Trust Anchor MUST publish and keep up to date all the information at the Digital Credential Catalogue .well-known endpoint ensuring data reliability, authenticity and integrity. In particular, the Digital Credential Catalogue, claims and taxonomy MUST be available through the .well-known/credential-catalogue
endpoint.
Digital Credentials Categories¶
Digital Credentials recognized within the IT-Wallet ecosystem are hierarchically classified and standardized according to the following main domains and categories. Additional categories MAY be added as the IT-Wallet ecosystem grows.
Domain |
Category |
Description |
---|---|---|
IDENTITY |
|
Credentials that establish or verify the identity of a person, including physical and digital identity documents legally recognized by national laws. |
AUTHORIZATION |
|
Credentials that grant specific permissions, rights or authorizations to perform certain activities or access restricted areas. |
EDUCATION |
|
Credentials related to educational achievements, qualifications, and professional training recognition. |
HEALTH |
|
Credentials related to healthcare access, medical history, insurance coverage, and health-related documents. |
FINANCIAL |
|
Credentials that attest to financial status, income levels, taxation, or economic situation of individuals or families. |
MEMBERSHIP |
|
Credentials that confirm affiliation with organizations, participation in programs, or membership status. |
ATTESTATION |
|
Credentials that provide official statements, confirmations of status, or certifications issued by authorities. |
Digital Credentials Catalogue Structure¶
Digital Credentials Catalogue contents is secured in a JWS that contains the following JOSE header parameters:
JOSE header |
Description |
Reference |
---|---|---|
typ |
REQUIRED. It MUST be set to |
[RFC 7515 Section 4.1.9]. |
alg |
REQUIRED. A digital signature algorithm identifier such as per IANA "JSON Web Signature and Encryption Algorithms" registry. It MUST be one of the supported algorithms in Section Cryptographic Algorithms and MUST NOT be set to |
[RFC 7515 Section 4.1.1]. |
kid |
REQUIRED. Unique identifier of the public key. |
[RFC 7515 Section 4.1.4]. |
x5c |
OPTIONAL. Contains the X.509 public key Certificate or Certificate chain [RFC 5280] corresponding to the key used to digitally sign the JWS. When the header parameter kid value is present, it MUST refer to the same leaf's cryptographic public key used with the X.509 Certificate. |
[RFC 7515 Section 4.1.6.]. |
cty |
REQUIRED. It MUST be set to |
[RFC 7515 Section 4.1.6.]. |
The JWS payload contains the following parameters:
Field Name |
Description |
---|---|
catalog_version |
REQUIRED. Version of the Digital Credential Catalogue format. |
iss |
REQUIRED. Issuer identifier of the Digital Credential Catalogue. |
last_modified |
REQUIRED. Timestamp of the last modification to the Digital Credential Catalogue. |
taxonomy_uri |
REQUIRED. URI of the claims taxonomy reference document. |
taxonomy_uri#integrity |
OPTIONAL. Cryptographic digest of the taxonomy document for integrity verification. |
credentials |
REQUIRED. Array containing Digital Credential definitions. |
Each element of the credentials
array contains at least the following information:
Field Name |
Description |
---|---|
version |
REQUIRED. Version of the Digital Credential definition. |
credential_type |
REQUIRED. Unique identifier of the Digital Credential type. |
legal_type |
REQUIRED. Legal classification of the Credential (e.g., |
localization |
OPTIONAL. Localization settings, including:
|
name |
REQUIRED. Human-readable name of the Digital Credential. A suffix |
description |
REQUIRED. Human-readable Digital Credential description. A suffix |
restriction_policy |
OPTIONAL. Legal restrictions on Wallet Solutions and/or Credential Issuers allowed to request/issue the Digital Credential.
|
pricing_policy |
OPTIONAL. Information about Digital Credential pricing, including:
|
validity_info |
Information about Digital Credential validity, including at least:
|
authentication |
REQUIRED. Digital Credential authentication requirements
|
purposes |
REQUIRED. Array of usage purposes for which the Digital Credential can be used, defining specific usage contexts and required claims for each purpose, such as:
|
issuers |
REQUIRED. Array of relevant information about authorized Credential Issuers, including administrative and technical data such as Organization name, a reference to the API specification document and supported issuance mechanisms (for example the deferred flow support). |
authentic_sources |
REQUIRED. Array of relevant information about authorized Authentic Sources, including administrative and technical data related the provisioning of data to the Credential Issuers. |
formats |
REQUIRED. Array of supported technical formats of Digital Credentials. |
display_properties |
REQUIRED. Visual presentation properties of Digital Credentials, e.g.:
|
claims |
REQUIRED. Array of claims contained in the Digital Credential. |
The corresponding example of Digital Credentials Catalogue as decoded in JSON for both header and payload is the following:
{
"typ":"JOSE",
"alg":"ES256",
"kid":"e9bc097a-ce51-4036-9562-d2ade882db0d",
"cty":"application/json"
}
{
"catalog_version": "1.0",
"iss": "https://trust-registry.eid-wallet.example.it",
"last_modified": "2025-03-15T12:00:00Z",
"taxonomy_uri": "https://trust-registry.eid-wallet.example.it/.well-known/credential-taxonomy",
"taxonomy_uri#integrity": "sha256-LmXfh-9cLlJNXN-TsMk-PmKjZ5t0WRL5ca_xGgX3c1V",
"credentials": [
{
"version": "1.0",
"credential_type": "mDL",
"legal_type": "pub-eaa",
"localization": {
"default_locale": "it",
"available_locales": ["en", "it", "fr", "de"],
"base_uri": "https://trust-registry.eid-wallet.example.it/.well-known/l10n/mdl/",
"version": "1.0.0"
},
"name_l10n_id": "credential.mdl.name",
"description_l10n_id": "credential.mdl.description",
"restriction_policy": {
"allowed_wallet_ids": [
"https://wallet-provider.example.org/wallet_solution",
"https://wallet-provider2.example.org/wallet_solution"
],
"allowed_issuer_ids": [
"https://issuer.example.org"
]
},
"pricing_policy": {
"models": [
{
"pricing_type": "verification_based",
"price": 0.01,
"currency": "EUR"
}
],
"pricing_model_uri": "https://example.com/pricing"
},
"validity_info": {
"max_validity_days": 365,
"status_methods": ["status_list"],
"allowed_states": [
"valid",
"revoked",
"suspended"
]
},
"authentication": {
"user_auth_required": true,
"min_loa": "high",
"supported_schemes": ["it-wallet"]
},
"purposes": [
{
"id": "driving-authorization",
"description_l10n_id": "purpose.driving_authorization.description",
"category": "AUTHORIZATION",
"subcategory": "DRIVING_LICENSE",
"claims_required": ["family_name", "given_name", "issue_date", "expiry_date", "issuing_authority", "document_number", "portrait", "driving_privileges", "un_distinguishing_sign"],
"claim_recommended": ["birth_date", "un_distinguishing_sign", "issuing_country", "issuing_jurisdiction"]
},
{
"id": "person-identification",
"description_l10n_id": "purpose.person_identification.description",
"category": "IDENTITY",
"subcategory": "PERSON_IDENTIFICATION",
"claims_required": ["family_name", "given_name", "birth_date", "portrait", "document_number"],
"claim_recommended": ["expiry_date", "issuing_authority"]
}
],
"issuers": [
{
"id": "https://issuer.example.org",
"organization_name": "Digital Credential Issuer of Example",
"organization_code": "ci_example_it",
"organization_country": "IT",
"contacts": [
"mailto:informazioni@example.it",
"mailto:protocollo@pec.example.it"
],
"legal_type": "pub-eaa",
"homepage_uri": "https://issuer.example.org",
"logo_uri": "https://issuer.example.org/logo.svg",
"policy_uri": "https://issuer.example.org/privacy",
"tos_uri": "https://issuer.example.org/terms",
"service_documentation": "https://issuer.example.org/.well-known/service-doc",
"issuance_flows": {
"deferred_flow": true,
"max_deferred_issuance_time_minutes": 1440,
"notification_methods": ["push", "polling"]
}
}
],
"authentic_sources": [
{
"id": "https://authentic-sources.example.org",
"organization_name": "Authentic Source of Example",
"organization_code": "as_example_it",
"organization_country": "IT",
"contacts": [
"mailto:informazioni@example.it",
"mailto:protocollo@pec.example.it"
],
"homepage_uri": "https://authsource.example.com/",
"logo_uri": "https://authsource.example.com/img/logo.svg",
"source_type": "public",
"service_documentation": "https://authentic-sources.example.org/.well-known/service-doc",
"data_provision": {
"immediate_flow": false,
"deferred_flow": true,
"max_response_time_minutes": 60,
"notification_methods": ["push"]
}
}
],
"formats": [
{
"configuration_id": "dc_sd_jwt_mDL",
"format": "dc+sd-jwt",
"schema_uri": "https://trust-registry.eid-wallet.example.it/.well-known/schemas/sd-jwt/mDL",
"schema_uri#integrity": "sha256-c8b708728e4c5756e35c03aeac257ca878d1f717d7b61f621be4d36dbd9b9c16"
},
{
"configuration_id": "mso_mdoc_mDL",
"format": "mso_mdoc",
"schema_uri": "https://trust-registry.eid-wallet.example.it/.well-known/schemas/mdoc/mDL",
"schema_uri#integrity": "sha256-c8b708728e4c5756e35c03aeac257ca878d1f717d7b61f621be4d36dbd9b9c16"
}
],
"display_properties": {
"templates": [
{
"authentic_source_id": "https://authentic-sources.example.org",
"template_uri": "https://authsource.example.com/.well-known/templates/mDL.svg",
"template_uri#integrity": "sha256-8cLlJNXN-TsMk-PmKjZ5t0WRL5ca_xGgX3c1VLmXfh-9c",
"properties": {
"orientation": "landscape",
"color_scheme": "light",
"contrast": "high"
}
}
],
"background_color": "#008558",
"text_color": "#FFFFFF",
"logo_uri": "https://trust-registry.eid-wallet.example.it/.well-known/logos/mDL.svg"
},
"claims": [
{
"name": "family_name",
"taxonomy_ref": "IDENTITY.PERSONAL_DATA.family_name",
"display_name_l10n_id": "claims.family_name.name",
"namespaces": ["org.iso.18013.5.1"]
},
{
"name": "given_name",
"taxonomy_ref": "IDENTITY.PERSONAL_DATA.given_name",
"display_name_l10n_id": "claims.given_name.name",
"namespaces": ["org.iso.18013.5.1"]
},
{
"name": "birth_date",
"taxonomy_ref": "IDENTITY.PERSONAL_DATA.birthdate",
"display_name_l10n_id": "claims.birth_date.name",
"namespaces": ["org.iso.18013.5.1"]
},
{
"name": "issue_date",
"taxonomy_ref": "COMMON.VALIDITY.issuance_date",
"display_name_l10n_id": "claims.issue_date.name",
"namespaces": ["org.iso.18013.5.1"]
},
{
"name": "expiry_date",
"taxonomy_ref": "COMMON.VALIDITY.expiry_date",
"display_name_l10n_id": "claims.expiry_date.name",
"namespaces": ["org.iso.18013.5.1"]
},
{
"name": "issuing_authority",
"taxonomy_ref": "IDENTITY.DOCUMENTS.issuing_authority",
"display_name_l10n_id": "claims.issuing_authority.name",
"namespaces": ["org.iso.18013.5.1"]
},
{
"name": "document_number",
"taxonomy_ref": "IDENTITY.DOCUMENTS.document_number",
"display_name_l10n_id": "claims.document_number.name",
"namespaces": ["org.iso.18013.5.1"]
},
{
"name": "portrait",
"taxonomy_ref": "IDENTITY.BIOMETRIC.facial_image",
"display_name_l10n_id": "claims.portrait.name",
"namespaces": ["org.iso.18013.5.1"]
},
{
"name": "driving_privileges",
"taxonomy_ref": "AUTHORIZATION.DRIVING_LICENSE.categories",
"display_name_l10n_id": "claims.driving_privileges.name",
"namespaces": ["org.iso.18013.5.1"]
},
{
"name": "un_distinguishing_sign",
"taxonomy_ref": "AUTHORIZATION.DRIVING_LICENSE.country_code",
"display_name_l10n_id": "claims.un_distinguishing_sign.name",
"namespaces": ["org.iso.18013.5.1"]
},
{
"name": "administrative_number",
"taxonomy_ref": "IDENTITY.DOCUMENTS.administrative_number",
"display_name_l10n_id": "claims.administrative_number.name",
"namespaces": ["org.iso.18013.5.1"]
},
{
"name": "issuing_country",
"taxonomy_ref": "IDENTITY.DOCUMENTS.issuing_country",
"display_name_l10n_id": "claims.issuing_country.name",
"namespaces": ["org.iso.18013.5.1"]
},
{
"name": "issuing_jurisdiction",
"taxonomy_ref": "IDENTITY.DOCUMENTS.issuing_jurisdiction",
"display_name_l10n_id": "claims.issuing_jurisdiction.name",
"namespaces": ["org.iso.18013.5.1"]
}
]
}
]
}
Note
For a better and more efficient management of the localisation of the information contained in the Digital Credentials Catalogue, an Entity consulting it SHOULD:
Download the basic version of the Digital Credentials Catalogue (compact, without localisations) using the
.well-known/credential-catalogue
endpoint.Determine the User's preferred language.
Download only the necessary localisation bundles.
Dynamically merge localised content with the Digital Credentials Catalogue structure.
A non-normative example of a localisation bundle output is given below:
{ "driving_license.name": "Patente di Guida", "driving_license.description": "Patente di guida ufficiale valida in Italia e nell'UE", "purpose.driving_authorization.name": "Abilitazione alla guida", "purpose.driving_authorization.description": "Verifica di Abilitazione alla guida", "claims.given_name.name": "Nome", ... }
Localization bundles MUST be available at the URI specified in the localization_info.bundles_base_uri claim of the Digital Credentials Catalogue. Each locale bundle MUST be accessible following the naming pattern {locale_code}.json, where {locale_code} is replaced with the corresponding locale code from the available_locales array.
A non-normative example of the Italian localization URI for the mDL bundle would be https://trust-registry.eid-wallet.example.it/.well-known/l10n/mdl/it.json.
Entities SHOULD verify the integrity of downloaded localization bundles using the digest method and values specified in the localization_info.integrity claim. This ensures that the localization data has not been tampered with during transmission.
Claims Taxonomy¶
The Digital Credential Catalogue, MUST include also a reference URI to Claim Taxonomy providing, in a single resource, the semantic information of all registered and available claims within the IT-Wallet ecosystem. It MUST be Credential format neutral and has the aim of facilitating Digital Credentials integrations in the IT-Wallet technical solutions.
A non-normative example of the Claim Taxonomy is given below.
{
"version": "1.0",
"last_modified": "2025-04-10T12:00:00Z",
"id": "urn:taxonomy:claims",
"localization": {
"default_locale": "it",
"available_locales": ["en", "it", "fr", "de"],
"base_uri": "https://trust-registry.eid-wallet.example.it/.well-known/l10n/taxonomy/claims/",
"version": "1.0.0"
},
"name_l10n_id": "taxonomy.claims.name",
"description_l10n_id": "taxonomy.claims.description",
"domains": [
{
"id": "IDENTITY",
"name_l10n_id": "domain.identity.name",
"description_l10n_id": "domain.identity.description",
"categories": [
{
"id": "PERSONAL_DATA",
"name_l10n_id": "category.personal_data.name",
"description_l10n_id": "category.personal_data.description",
"claims": [
{
"id": "given_name",
"name_l10n_id": "claim.given_name.name",
"description_l10n_id": "claim.given_name.description",
"sensitivity": "RESTRICTED",
"type": "simple"
},
{
"id": "family_name",
"name_l10n_id": "claim.family_name.name",
"description_l10n_id": "claim.family_name.description",
"sensitivity": "RESTRICTED",
"type": "simple"
},
{
"id": "birthdate",
"name_l10n_id": "claim.birthdate.name",
"description_l10n_id": "claim.birthdate.description",
"sensitivity": "RESTRICTED",
"type": "simple"
},
{
"id": "place_of_birth",
"name_l10n_id": "claim.place_of_birth.name",
"description_l10n_id": "claim.place_of_birth.description",
"sensitivity": "RESTRICTED",
"type": "structured"
}
]
},
{
"id": "CONTACT_INFO",
"name_l10n_id": "category.contact_info.name",
"description_l10n_id": "category.contact_info.description",
"claims": [
{
"id": "email",
"name_l10n_id": "claim.email.name",
"description_l10n_id": "claim.email.description",
"sensitivity": "RESTRICTED",
"type": "simple"
},
{
"id": "phone_number",
"name_l10n_id": "claim.phone_number.name",
"description_l10n_id": "claim.phone_number.description",
"sensitivity": "RESTRICTED",
"type": "simple"
},
{
"id": "address",
"name_l10n_id": "claim.address.name",
"description_l10n_id": "claim.address.description",
"sensitivity": "RESTRICTED",
"type": "structured"
}
]
},
{
"id": "IDENTIFIERS",
"name_l10n_id": "category.identifiers.name",
"description_l10n_id": "category.identifiers.description",
"claims": [
{
"id": "tax_id",
"name_l10n_id": "claim.tax_id.name",
"description_l10n_id": "claim.tax_id.description",
"sensitivity": "RESTRICTED",
"type": "simple"
},
{
"id": "personal_administrative_number",
"name_l10n_id": "claim.personal_administrative_number.name",
"description_l10n_id": "claim.personal_administrative_number.description",
"sensitivity": "RESTRICTED",
"type": "simple"
}
]
},
{
"id": "BIOMETRIC",
"name_l10n_id": "category.biometric.name",
"description_l10n_id": "category.biometric.description",
"claims": [
{
"id": "portrait",
"name_l10n_id": "claim.portrait.name",
"description_l10n_id": "claim.portrait.description",
"sensitivity": "SENSITIVE",
"type": "simple"
}
]
},
{
"id": "DOCUMENTS",
"name_l10n_id": "category.documents.name",
"description_l10n_id": "category.documents.description",
"claims": [
{
"id": "document_type",
"name_l10n_id": "claim.document_type.name",
"description_l10n_id": "claim.document_type.description",
"sensitivity": "PUBLIC",
"type": "simple"
},
{
"id": "document_number",
"name_l10n_id": "claim.document_number.name",
"description_l10n_id": "claim.document_number.description",
"sensitivity": "RESTRICTED",
"type": "simple"
},
{
"id": "issuing_authority",
"name_l10n_id": "claim.issuing_authority.name",
"description_l10n_id": "claim.issuing_authority.description",
"sensitivity": "PUBLIC",
"type": "simple"
},
{
"id": "issuing_country",
"name_l10n_id": "claim.issuing_country.name",
"description_l10n_id": "claim.issuing_country.description",
"sensitivity": "PUBLIC",
"type": "simple"
},
{
"id": "issuing_jurisdiction",
"name_l10n_id": "claim.issuing_jurisdiction.name",
"description_l10n_id": "claim.issuing_jurisdiction.description",
"sensitivity": "PUBLIC",
"type": "simple"
}
]
}
]
},
{
"id": "AUTHORIZATION",
"name_l10n_id": "domain.authorization.name",
"description_l10n_id": "domain.authorization.description",
"categories": [
{
"id": "DRIVING_LICENSE",
"name_l10n_id": "category.driving_license.name",
"description_l10n_id": "category.driving_license.description",
"claims": [
{
"id": "driving_privileges",
"name_l10n_id": "claim.driving_privileges.name",
"description_l10n_id": "claim.driving_privileges.description",
"sensitivity": "PUBLIC",
"type": "structured"
},
{
"id": "vehicle_category_code",
"name_l10n_id": "claim.vehicle_category_code.name",
"description_l10n_id": "claim.vehicle_category_code.description",
"sensitivity": "PUBLIC",
"type": "simple"
}
]
}
]
},
{
"id": "FINANCIAL",
"name_l10n_id": "domain.financial.name",
"description_l10n_id": "domain.financial.description",
"categories": [
{
"id": "INCOME",
"name_l10n_id": "category.income.name",
"description_l10n_id": "category.income.description",
"claims": [
{
"id": "income_indicator",
"name_l10n_id": "claim.income_indicator.name",
"description_l10n_id": "claim.income_indicator.description",
"sensitivity": "RESTRICTED",
"type": "simple"
},
{
"id": "income_certificate_type",
"name_l10n_id": "claim.income_certificate_type.name",
"description_l10n_id": "claim.income_certificate_type.description",
"sensitivity": "RESTRICTED",
"type": "simple"
},
{
"id": "reference_period",
"name_l10n_id": "claim.reference_period.name",
"description_l10n_id": "claim.reference_period.description",
"sensitivity": "RESTRICTED",
"type": "simple"
}
]
}
]
},
{
"id": "COMMON",
"name_l10n_id": "domain.common.name",
"description_l10n_id": "domain.common.description",
"categories": [
{
"id": "VALIDITY",
"name_l10n_id": "category.validity.name",
"description_l10n_id": "category.validity.description",
"claims": [
{
"id": "issuance_date",
"name_l10n_id": "claim.issuance_date.name",
"description_l10n_id": "claim.issuance_date.description",
"sensitivity": "PUBLIC",
"type": "simple"
},
{
"id": "expiry_date",
"name_l10n_id": "claim.expiry_date.name",
"description_l10n_id": "claim.expiry_date.description",
"sensitivity": "PUBLIC",
"type": "simple"
},
{
"id": "validity_period",
"name_l10n_id": "claim.validity_period.name",
"description_l10n_id": "claim.validity_period.description",
"sensitivity": "PUBLIC",
"type": "simple"
}
]
}
]
}
]
}
Digital Credentials Catalogue Endpoint¶
The Digital Credentials Catalogue Endpoint MUST be a well-known HTTPS URI [RFC 8615] that provides public access to information related to the Credentials available in IT-Wallet.
Digital Credentials Catalogue Request¶
The Digital Credentials Catalogue Request MUST be an HTTP GET using the application/jose media type as in the following non-normative example.
GET /.well-known/credential-catalogue HTTP/1.1
Host: www.trust-registry.eid-wallet.example.it
Content-Type: application/jose
Note
As a future enhancement, the Trust Anchor MAY implement a dynamic endpoint that enables filtering credentials by type, while offering pagination capabilities, to support more efficient and flexible browsing of the Digital Credentials Catalogue.
Digital Credentials Catalogue Response¶
The Digital Credentials Catalogue Response MUST be a JWS that contains the parameters listed in the table of Digital Credentials Catalogue parameters.
A non-normative example of the response is provided below.
ewogICAidHlwIjoiSk9TRSIsCiAgICJhbGciOiJFUzI1NiIsCiAgICJraWQiOiJlOWJjMDk3YS1jZTUxLTQwMzYtOTU2Mi1kMmFkZTg4MmRiMGQiLAogICAiY3R5IjoiYXBwbGljYXRpb24vanNvbiIKfQ==.ew0KICAgImNhdGFsb2dfdmVyc2lvbiI6ICIxLjAiLA0KICAgImlzcyI6ICJodHRwczovL3RydXN0LXJlZ2lzdHJ5LmVpZC13YWxsZXQuZXhhbXBsZS5pdCIsDQogICAibGFzdF9tb2RpZmllZCI6ICIyMDI1LTAzLTE1VDEyOjAwOjAwWiIsDQogICAidGF4b25vbXlfdXJpIjogImh0dHBzOi8vdHJ1c3QtcmVnaXN0cnkuZWlkLXdhbGxldC5leGFtcGxlLml0Ly53ZWxsLWtub3duL2NyZWRlbnRpYWwtdGF4b25vbXkiLA0KICAgInRheG9ub215X3VyaSNpbnRlZ3JpdHkiOiAic2hhMjU2LUxtWGZoLTljTGxKTlhOLVRzTWstUG1Lalo1dDBXUkw1Y2FfeEdnWDNjMVYiLCAgIA0KICAgImNyZWRlbnRpYWxzIjogWw0KICAgICAgew0KICAgICAgICAgInZlcnNpb24iOiAiMS4wIiwNCiAgICAgICAgICJjcmVkZW50aWFsX3R5cGUiOiAibURMIiwNCiAgICAgICAgICJsZWdhbF90eXBlIjogInB1Yi1lYWEiLA0KICAgICAgICAgImxvY2FsaXphdGlvbiI6IHsNCiAgICAgICAgICAgICJkZWZhdWx0X2xvY2FsZSI6ICJpdCIsDQogICAgICAgICAgICAiYXZhaWxhYmxlX2xvY2FsZXMiOiBbImVuIiwgIml0IiwgImZyIiwgImRlIl0sDQogICAgICAgICAgICAiYmFzZV91cmkiOiAiaHR0cHM6Ly90cnVzdC1yZWdpc3RyeS5laWQtd2FsbGV0LmV4YW1wbGUuaXQvLndlbGwta25vd24vbDEwbi9tZGwvIiwNCiAgICAgICAgICAgICJ2ZXJzaW9uIjogIjEuMC4wIg0KICAgICAgICAgfSwNCiAgICAgICAgICJuYW1lX2wxMG5faWQiOiAiY3JlZGVudGlhbC5tZGwubmFtZSIsDQogICAgICAgICAiZGVzY3JpcHRpb25fbDEwbl9pZCI6ICJjcmVkZW50aWFsLm1kbC5kZXNjcmlwdGlvbiIsDQogICAgICAgICAicmVzdHJpY3Rpb25fcG9saWN5Ijogew0KICAgICAgICAgICAgImFsbG93ZWRfd2FsbGV0X2lkcyI6IFsNCiAgICAgICAgICAgICAgICJodHRwczovL3dhbGxldC1wcm92aWRlci5leGFtcGxlLm9yZy93YWxsZXRfc29sdXRpb24iLA0KICAgICAgICAgICAgICAgImh0dHBzOi8vd2FsbGV0LXByb3ZpZGVyMi5leGFtcGxlLm9yZy93YWxsZXRfc29sdXRpb24iDQogICAgICAgICAgICBdLA0KICAgICAgICAgICAgImFsbG93ZWRfaXNzdWVyX2lkcyI6IFsNCiAgICAgICAgICAgICAgICJodHRwczovL2lzc3Vlci5leGFtcGxlLm9yZyINCiAgICAgICAgICAgIF0NCiAgICAgICAgIH0sDQogICAgICAgICAicHJpY2luZ19wb2xpY3kiOiB7DQogICAgICAgICAgICAgIm1vZGVscyI6IFsNCiAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgInByaWNpbmdfdHlwZSI6ICJ2ZXJpZmljYXRpb25fYmFzZWQiLA0KICAgICAgICAgICAgICAgICAicHJpY2UiOiAwLjAxLA0KICAgICAgICAgICAgICAgICAiY3VycmVuY3kiOiAiRVVSIg0KICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgIF0sDQogICAgICAgICAgICAgInByaWNpbmdfbW9kZWxfdXJpIjogImh0dHBzOi8vZXhhbXBsZS5jb20vcHJpY2luZyINCiAgICAgICAgICAgfSwNCiAgICAgICAgICJ2YWxpZGl0eV9pbmZvIjogew0KICAgICAgICAgICAgIm1heF92YWxpZGl0eV9kYXlzIjogMzY1LA0KICAgICAgICAgICAgInN0YXR1c19tZXRob2RzIjogWyJzdGF0dXNfbGlzdCJdLA0KICAgICAgICAgICAgImFsbG93ZWRfc3RhdGVzIjogWw0KICAgICAgICAgICAgICAgInZhbGlkIiwNCiAgICAgICAgICAgICAgICJyZXZva2VkIiwNCiAgICAgICAgICAgICAgICJzdXNwZW5kZWQiDQogICAgICAgICAgICBdDQogICAgICAgICB9LCAgICAgICANCiAgICAgICAgICJhdXRoZW50aWNhdGlvbiI6IHsNCiAgICAgICAgICAgICJ1c2VyX2F1dGhfcmVxdWlyZWQiOiB0cnVlLA0KICAgICAgICAgICAgIm1pbl9sb2EiOiAiaGlnaCIsDQogICAgICAgICAgICAic3VwcG9ydGVkX3NjaGVtZXMiOiBbIml0LXdhbGxldCJdDQogICAgICAgICB9LA0KICAgICAgICAgInB1cnBvc2VzIjogWw0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgImlkIjogImRyaXZpbmctYXV0aG9yaXphdGlvbiIsDQogICAgICAgICAgICAgICAiZGVzY3JpcHRpb25fbDEwbl9pZCI6ICJwdXJwb3NlLmRyaXZpbmdfYXV0aG9yaXphdGlvbi5kZXNjcmlwdGlvbiIsDQogICAgICAgICAgICAgICAiY2F0ZWdvcnkiOiAiQVVUSE9SSVpBVElPTiIsDQogICAgICAgICAgICAgICAic3ViY2F0ZWdvcnkiOiAiRFJJVklOR19MSUNFTlNFIiwNCiAgICAgICAgICAgICAgICJjbGFpbXNfcmVxdWlyZWQiOiBbImZhbWlseV9uYW1lIiwgImdpdmVuX25hbWUiLCAiaXNzdWVfZGF0ZSIsICJleHBpcnlfZGF0ZSIsICJpc3N1aW5nX2F1dGhvcml0eSIsICJkb2N1bWVudF9udW1iZXIiLCAicG9ydHJhaXQiLCAiZHJpdmluZ19wcml2aWxlZ2VzIiwgInVuX2Rpc3Rpbmd1aXNoaW5nX3NpZ24iXSwNCiAgICAgICAgICAgICAgICJjbGFpbV9yZWNvbW1lbmRlZCI6IFsiYmlydGhfZGF0ZSIsICJ1bl9kaXN0aW5ndWlzaGluZ19zaWduIiwgImlzc3VpbmdfY291bnRyeSIsICJpc3N1aW5nX2p1cmlzZGljdGlvbiJdDQogICAgICAgICAgICANCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAiaWQiOiAicGVyc29uLWlkZW50aWZpY2F0aW9uIiwNCiAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbl9sMTBuX2lkIjogInB1cnBvc2UucGVyc29uX2lkZW50aWZpY2F0aW9uLmRlc2NyaXB0aW9uIiwNCiAgICAgICAgICAgICAgICJjYXRlZ29yeSI6ICJJREVOVElUWSIsDQogICAgICAgICAgICAgICAic3ViY2F0ZWdvcnkiOiAiUEVSU09OX0lERU5USUZJQ0FUSU9OIiwNCiAgICAgICAgICAgICAgICJjbGFpbXNfcmVxdWlyZWQiOiBbImZhbWlseV9uYW1lIiwgImdpdmVuX25hbWUiLCAiYmlydGhfZGF0ZSIsICJwb3J0cmFpdCIsICJkb2N1bWVudF9udW1iZXIiXSwNCiAgICAgICAgICAgICAgICJjbGFpbV9yZWNvbW1lbmRlZCI6IFsiZXhwaXJ5X2RhdGUiLCAiaXNzdWluZ19hdXRob3JpdHkiXQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgXSwNCiAgICAgICAgICJpc3N1ZXJzIjogWw0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgImlkIjogImh0dHBzOi8vaXNzdWVyLmV4YW1wbGUub3JnIiwNCiAgICAgICAgICAgICAgICJvcmdhbml6YXRpb25fbmFtZSI6ICJEaWdpdGFsIENyZWRlbnRpYWwgSXNzdWVyIG9mIEV4YW1wbGUiLA0KICAgICAgICAgICAgICAgIm9yZ2FuaXphdGlvbl9jb2RlIjogImNpX2V4YW1wbGVfaXQiLA0KICAgICAgICAgICAgICAgIm9yZ2FuaXphdGlvbl9jb3VudHJ5IjogIklUIiwNCiAgICAgICAgICAgICAgICJjb250YWN0cyI6IFsNCiAgICAgICAgICAgICAgICAgICJtYWlsdG86aW5mb3JtYXppb25pQGV4YW1wbGUuaXQiLA0KICAgICAgICAgICAgICAgICAgIm1haWx0bzpwcm90b2NvbGxvQHBlYy5leGFtcGxlLml0Ig0KICAgICAgICAgICAgICAgXSwNCiAgICAgICAgICAgICAgICJsZWdhbF90eXBlIjogInB1Yi1lYWEiLA0KICAgICAgICAgICAgICAgImhvbWVwYWdlX3VyaSI6ICJodHRwczovL2lzc3Vlci5leGFtcGxlLm9yZyIsDQogICAgICAgICAgICAgICAibG9nb191cmkiOiAiaHR0cHM6Ly9pc3N1ZXIuZXhhbXBsZS5vcmcvbG9nby5zdmciLA0KICAgICAgICAgICAgICAgInBvbGljeV91cmkiOiAiaHR0cHM6Ly9pc3N1ZXIuZXhhbXBsZS5vcmcvcHJpdmFjeSIsDQogICAgICAgICAgICAgICAidG9zX3VyaSI6ICJodHRwczovL2lzc3Vlci5leGFtcGxlLm9yZy90ZXJtcyIsDQogICAgICAgICAgICAgICAic2VydmljZV9kb2N1bWVudGF0aW9uIjogImh0dHBzOi8vaXNzdWVyLmV4YW1wbGUub3JnLy53ZWxsLWtub3duL3NlcnZpY2UtZG9jIiwNCiAgICAgICAgICAgICAgICJpc3N1YW5jZV9mbG93cyI6IHsNCiAgICAgICAgICAgICAgICAgICJkZWZlcnJlZF9mbG93IjogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICJtYXhfZGVmZXJyZWRfaXNzdWFuY2VfdGltZV9taW51dGVzIjogMTQ0MCwNCiAgICAgICAgICAgICAgICAgICJub3RpZmljYXRpb25fbWV0aG9kcyI6IFsicHVzaCIsICJwb2xsaW5nIl0NCiAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgIF0sDQogICAgICAgICAiYXV0aGVudGljX3NvdXJjZXMiOiBbDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAiaWQiOiAiaHR0cHM6Ly9hdXRoZW50aWMtc291cmNlcy5leGFtcGxlLm9yZyIsDQogICAgICAgICAgICAgICAib3JnYW5pemF0aW9uX25hbWUiOiAiQXV0aGVudGljIFNvdXJjZSBvZiBFeGFtcGxlIiwNCiAgICAgICAgICAgICAgICJvcmdhbml6YXRpb25fY29kZSI6ICJhc19leGFtcGxlX2l0IiwNCiAgICAgICAgICAgICAgICJvcmdhbml6YXRpb25fY291bnRyeSI6ICJJVCIsDQogICAgICAgICAgICAgICAiY29udGFjdHMiOiBbDQogICAgICAgICAgICAgICAgICAibWFpbHRvOmluZm9ybWF6aW9uaUBleGFtcGxlLml0IiwNCiAgICAgICAgICAgICAgICAgICJtYWlsdG86cHJvdG9jb2xsb0BwZWMuZXhhbXBsZS5pdCINCiAgICAgICAgICAgICAgIF0sDQogICAgICAgICAgICAgICAiaG9tZXBhZ2VfdXJpIjogImh0dHBzOi8vYXV0aHNvdXJjZS5leGFtcGxlLmNvbS8iLA0KICAgICAgICAgICAgICAgImxvZ29fdXJpIjogImh0dHBzOi8vYXV0aHNvdXJjZS5leGFtcGxlLmNvbS9pbWcvbG9nby5zdmciLA0KICAgICAgICAgICAgICAgInNvdXJjZV90eXBlIjogInB1YmxpYyIsDQogICAgICAgICAgICAgICAic2VydmljZV9kb2N1bWVudGF0aW9uIjogImh0dHBzOi8vYXV0aGVudGljLXNvdXJjZXMuZXhhbXBsZS5vcmcvLndlbGwta25vd24vc2VydmljZS1kb2MiLA0KICAgICAgICAgICAgICAgImRhdGFfcHJvdmlzaW9uIjogew0KICAgICAgICAgICAgICAgICAgImltbWVkaWF0ZV9mbG93IjogZmFsc2UsDQogICAgICAgICAgICAgICAgICAiZGVmZXJyZWRfZmxvdyI6IHRydWUsDQogICAgICAgICAgICAgICAgICAibWF4X3Jlc3BvbnNlX3RpbWVfbWludXRlcyI6IDYwLA0KICAgICAgICAgICAgICAgICAgIm5vdGlmaWNhdGlvbl9tZXRob2RzIjogWyJwdXNoIl0NCiAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgIF0sDQogICAgICAgICAiZm9ybWF0cyI6IFsNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICJjb25maWd1cmF0aW9uX2lkIjogImRjX3NkX2p3dF9tREwiLA0KICAgICAgICAgICAgICAgImZvcm1hdCI6ICJkYytzZC1qd3QiLA0KICAgICAgICAgICAgICAgInNjaGVtYV91cmkiOiAiaHR0cHM6Ly90cnVzdC1yZWdpc3RyeS5laWQtd2FsbGV0LmV4YW1wbGUuaXQvLndlbGwta25vd24vc2NoZW1hcy9zZC1qd3QvbURMIiwNCiAgICAgICAgICAgICAgICJzY2hlbWFfdXJpI2ludGVncml0eSI6ICJzaGEyNTYtYzhiNzA4NzI4ZTRjNTc1NmUzNWMwM2FlYWMyNTdjYTg3OGQxZjcxN2Q3YjYxZjYyMWJlNGQzNmRiZDliOWMxNiINCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAiY29uZmlndXJhdGlvbl9pZCI6ICJtc29fbWRvY19tREwiLA0KICAgICAgICAgICAgICAgImZvcm1hdCI6ICJtc29fbWRvYyIsDQogICAgICAgICAgICAgICAic2NoZW1hX3VyaSI6ICJodHRwczovL3RydXN0LXJlZ2lzdHJ5LmVpZC13YWxsZXQuZXhhbXBsZS5pdC8ud2VsbC1rbm93bi9zY2hlbWFzL21kb2MvbURMIiwNCiAgICAgICAgICAgICAgICJzY2hlbWFfdXJpI2ludGVncml0eSI6ICJzaGEyNTYtYzhiNzA4NzI4ZTRjNTc1NmUzNWMwM2FlYWMyNTdjYTg3OGQxZjcxN2Q3YjYxZjYyMWJlNGQzNmRiZDliOWMxNiINCiAgICAgICAgICAgIH0NCiAgICAgICAgIF0sDQogICAgICAgICAiZGlzcGxheV9wcm9wZXJ0aWVzIjogew0KICAgICAgICAgICAgInRlbXBsYXRlcyI6IFsNCiAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICJhdXRoZW50aWNfc291cmNlX2lkIjogImh0dHBzOi8vYXV0aGVudGljLXNvdXJjZXMuZXhhbXBsZS5vcmciLA0KICAgICAgICAgICAgICAgICAgInRlbXBsYXRlX3VyaSI6ICJodHRwczovL2F1dGhzb3VyY2UuZXhhbXBsZS5jb20vLndlbGwta25vd24vdGVtcGxhdGVzL21ETC5zdmciLA0KICAgICAgICAgICAgICAgICAgInRlbXBsYXRlX3VyaSNpbnRlZ3JpdHkiOiAic2hhMjU2LThjTGxKTlhOLVRzTWstUG1Lalo1dDBXUkw1Y2FfeEdnWDNjMVZMbVhmaC05YyIsDQogICAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHsNCiAgICAgICAgICAgICAgICAgICAgICJvcmllbnRhdGlvbiI6ICJsYW5kc2NhcGUiLA0KICAgICAgICAgICAgICAgICAgICAgImNvbG9yX3NjaGVtZSI6ICJsaWdodCIsDQogICAgICAgICAgICAgICAgICAgICAiY29udHJhc3QiOiAiaGlnaCINCiAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIF0sDQogICAgICAgICAgICAiYmFja2dyb3VuZF9jb2xvciI6ICIjMDA4NTU4IiwNCiAgICAgICAgICAgICJ0ZXh0X2NvbG9yIjogIiNGRkZGRkYiLA0KICAgICAgICAgICAgImxvZ29fdXJpIjogImh0dHBzOi8vdHJ1c3QtcmVnaXN0cnkuZWlkLXdhbGxldC5leGFtcGxlLml0Ly53ZWxsLWtub3duL2xvZ29zL21ETC5zdmciDQogICAgICAgICB9LA0KICAgICAgICAgImNsYWltcyI6IFsNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICJuYW1lIjogImZhbWlseV9uYW1lIiwNCiAgICAgICAgICAgICAgICJ0YXhvbm9teV9yZWYiOiAiSURFTlRJVFkuUEVSU09OQUxfREFUQS5mYW1pbHlfbmFtZSIsDQogICAgICAgICAgICAgICAiZGlzcGxheV9uYW1lX2wxMG5faWQiOiAiY2xhaW1zLmZhbWlseV9uYW1lLm5hbWUiLA0KICAgICAgICAgICAgICAgIm5hbWVzcGFjZXMiOiBbIm9yZy5pc28uMTgwMTMuNS4xIl0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAibmFtZSI6ICJnaXZlbl9uYW1lIiwNCiAgICAgICAgICAgICAgICJ0YXhvbm9teV9yZWYiOiAiSURFTlRJVFkuUEVSU09OQUxfREFUQS5naXZlbl9uYW1lIiwNCiAgICAgICAgICAgICAgICJkaXNwbGF5X25hbWVfbDEwbl9pZCI6ICJjbGFpbXMuZ2l2ZW5fbmFtZS5uYW1lIiwNCiAgICAgICAgICAgICAgICJuYW1lc3BhY2VzIjogWyJvcmcuaXNvLjE4MDEzLjUuMSJdDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIm5hbWUiOiAiYmlydGhfZGF0ZSIsDQogICAgICAgICAgICAgICAidGF4b25vbXlfcmVmIjogIklERU5USVRZLlBFUlNPTkFMX0RBVEEuYmlydGhkYXRlIiwNCiAgICAgICAgICAgICAgICJkaXNwbGF5X25hbWVfbDEwbl9pZCI6ICJjbGFpbXMuYmlydGhfZGF0ZS5uYW1lIiwNCiAgICAgICAgICAgICAgICJuYW1lc3BhY2VzIjogWyJvcmcuaXNvLjE4MDEzLjUuMSJdDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIm5hbWUiOiAiaXNzdWVfZGF0ZSIsDQogICAgICAgICAgICAgICAidGF4b25vbXlfcmVmIjogIkNPTU1PTi5WQUxJRElUWS5pc3N1YW5jZV9kYXRlIiwNCiAgICAgICAgICAgICAgICJkaXNwbGF5X25hbWVfbDEwbl9pZCI6ICJjbGFpbXMuaXNzdWVfZGF0ZS5uYW1lIiwNCiAgICAgICAgICAgICAgICJuYW1lc3BhY2VzIjogWyJvcmcuaXNvLjE4MDEzLjUuMSJdDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIm5hbWUiOiAiZXhwaXJ5X2RhdGUiLA0KICAgICAgICAgICAgICAgInRheG9ub215X3JlZiI6ICJDT01NT04uVkFMSURJVFkuZXhwaXJ5X2RhdGUiLA0KICAgICAgICAgICAgICAgImRpc3BsYXlfbmFtZV9sMTBuX2lkIjogImNsYWltcy5leHBpcnlfZGF0ZS5uYW1lIiwNCiAgICAgICAgICAgICAgICJuYW1lc3BhY2VzIjogWyJvcmcuaXNvLjE4MDEzLjUuMSJdDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIm5hbWUiOiAiaXNzdWluZ19hdXRob3JpdHkiLA0KICAgICAgICAgICAgICAgInRheG9ub215X3JlZiI6ICJJREVOVElUWS5ET0NVTUVOVFMuaXNzdWluZ19hdXRob3JpdHkiLA0KICAgICAgICAgICAgICAgImRpc3BsYXlfbmFtZV9sMTBuX2lkIjogImNsYWltcy5pc3N1aW5nX2F1dGhvcml0eS5uYW1lIiwNCiAgICAgICAgICAgICAgICJuYW1lc3BhY2VzIjogWyJvcmcuaXNvLjE4MDEzLjUuMSJdDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIm5hbWUiOiAiZG9jdW1lbnRfbnVtYmVyIiwNCiAgICAgICAgICAgICAgICJ0YXhvbm9teV9yZWYiOiAiSURFTlRJVFkuRE9DVU1FTlRTLmRvY3VtZW50X251bWJlciIsDQogICAgICAgICAgICAgICAiZGlzcGxheV9uYW1lX2wxMG5faWQiOiAiY2xhaW1zLmRvY3VtZW50X251bWJlci5uYW1lIiwNCiAgICAgICAgICAgICAgICJuYW1lc3BhY2VzIjogWyJvcmcuaXNvLjE4MDEzLjUuMSJdDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIm5hbWUiOiAicG9ydHJhaXQiLA0KICAgICAgICAgICAgICAgInRheG9ub215X3JlZiI6ICJJREVOVElUWS5CSU9NRVRSSUMuZmFjaWFsX2ltYWdlIiwNCiAgICAgICAgICAgICAgICJkaXNwbGF5X25hbWVfbDEwbl9pZCI6ICJjbGFpbXMucG9ydHJhaXQubmFtZSIsDQogICAgICAgICAgICAgICAibmFtZXNwYWNlcyI6IFsib3JnLmlzby4xODAxMy41LjEiXQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICJuYW1lIjogImRyaXZpbmdfcHJpdmlsZWdlcyIsDQogICAgICAgICAgICAgICAidGF4b25vbXlfcmVmIjogIkFVVEhPUklaQVRJT04uRFJJVklOR19MSUNFTlNFLmNhdGVnb3JpZXMiLA0KICAgICAgICAgICAgICAgImRpc3BsYXlfbmFtZV9sMTBuX2lkIjogImNsYWltcy5kcml2aW5nX3ByaXZpbGVnZXMubmFtZSIsDQogICAgICAgICAgICAgICAibmFtZXNwYWNlcyI6IFsib3JnLmlzby4xODAxMy41LjEiXQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICJuYW1lIjogInVuX2Rpc3Rpbmd1aXNoaW5nX3NpZ24iLA0KICAgICAgICAgICAgICAgInRheG9ub215X3JlZiI6ICJBVVRIT1JJWkFUSU9OLkRSSVZJTkdfTElDRU5TRS5jb3VudHJ5X2NvZGUiLA0KICAgICAgICAgICAgICAgImRpc3BsYXlfbmFtZV9sMTBuX2lkIjogImNsYWltcy51bl9kaXN0aW5ndWlzaGluZ19zaWduLm5hbWUiLA0KICAgICAgICAgICAgICAgIm5hbWVzcGFjZXMiOiBbIm9yZy5pc28uMTgwMTMuNS4xIl0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAibmFtZSI6ICJhZG1pbmlzdHJhdGl2ZV9udW1iZXIiLA0KICAgICAgICAgICAgICAgInRheG9ub215X3JlZiI6ICJJREVOVElUWS5ET0NVTUVOVFMuYWRtaW5pc3RyYXRpdmVfbnVtYmVyIiwNCiAgICAgICAgICAgICAgICJkaXNwbGF5X25hbWVfbDEwbl9pZCI6ICJjbGFpbXMuYWRtaW5pc3RyYXRpdmVfbnVtYmVyLm5hbWUiLA0KICAgICAgICAgICAgICAgIm5hbWVzcGFjZXMiOiBbIm9yZy5pc28uMTgwMTMuNS4xIl0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAibmFtZSI6ICJpc3N1aW5nX2NvdW50cnkiLA0KICAgICAgICAgICAgICAgInRheG9ub215X3JlZiI6ICJJREVOVElUWS5ET0NVTUVOVFMuaXNzdWluZ19jb3VudHJ5IiwNCiAgICAgICAgICAgICAgICJkaXNwbGF5X25hbWVfbDEwbl9pZCI6ICJjbGFpbXMuaXNzdWluZ19jb3VudHJ5Lm5hbWUiLA0KICAgICAgICAgICAgICAgIm5hbWVzcGFjZXMiOiBbIm9yZy5pc28uMTgwMTMuNS4xIl0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAibmFtZSI6ICJpc3N1aW5nX2p1cmlzZGljdGlvbiIsDQogICAgICAgICAgICAgICAidGF4b25vbXlfcmVmIjogIklERU5USVRZLkRPQ1VNRU5UUy5pc3N1aW5nX2p1cmlzZGljdGlvbiIsDQogICAgICAgICAgICAgICAiZGlzcGxheV9uYW1lX2wxMG5faWQiOiAiY2xhaW1zLmlzc3VpbmdfanVyaXNkaWN0aW9uLm5hbWUiLA0KICAgICAgICAgICAgICAgIm5hbWVzcGFjZXMiOiBbIm9yZy5pc28uMTgwMTMuNS4xIl0NCiAgICAgICAgICAgIH0NCiAgICAgICAgIF0NCiAgICAgIH0NCiAgIF0NCn0.kBvX6LppO1m35KdSg3_p_WP1i-cONPjFQuKBDtTIpOYkrEb7zarqtKEqWMJcw3GWhDnIIs8a2Jy4_ng0fokqug