{"schema_version":"1.6","registry_hash":"d8bde21a82bbfc41e0b88124fe7b4ff7b69cd8ff7fd7a50b09ac89924c2c250c","capabilities":[{"id":"x402","title":"x402 HTTP-native payments","state":"SANDBOX","evidence":"Rail desplegado; NO liquidable hoy (revisión 2026-08-19, sondas en vivo + validador ejecutado). `/health protocols.x402.healthy` NO prueba nada (HEAD a x402.org que acepta hasta 404) y `demo.protocolBridges.x402:\"active\"` es un LITERAL hardcodeado en `health.ts`, no una medición. Habilitado sólo en `demo-store` y `prestashop-demo`, pero su config sembrada es `{adapterKey, mode:\"mock\"}` y `validateX402Config` la RECHAZA (`walletAddress: Required; network: Required`), así que el constructor del 402 y el settle devuelven `x402_not_configured`; `agenticmcpstore` → `x402.enabled=false`. El esquema de comerciante admite SÓLO mainnet (`base|ethereum|solana|polygon|arbitrum`; `base-sepolia` rechazado) con `facilitatorUrl` por defecto `x402.org` — el de TESTNET. La sonda de plataforma `/api/x402` anuncia base-sepolia con `payTo` = dirección NULA (`X402_WALLET_ADDRESS` sin poner) y responde 200 «Payment acknowledged» a cualquier cabecera sin verificar. Cero liquidaciones reales conocidas, en ninguna red.","last_verified_at":"2026-08-19","health_key":"protocols.x402.healthy","public_claim_max":"El rail x402 está desplegado y ningún comercio tiene hoy una configuración liquidable: el constructor del 402 y el settle devuelven `x402_not_configured`. NO se puede afirmar que aceptemos pagos x402, ni volumen, liquidaciones ni comerciantes usándolo.","public_claim_max_en":"The x402 rail is deployed and no merchant has a settleable configuration today: the 402 builder and the settle route both return `x402_not_configured`. That we accept x402 payments — and any volume, settlement or merchant using it — cannot be claimed.","banned_claims":["(miles|cientos|millones|thousands|hundreds|millions) de (pagos|transacciones|liquidaciones) x402","x402 (payments|transactions) (processed|settled)","(pagos|transacciones) x402 (procesad|liquidad)","comerciantes (ya )?(usan|utilizan|aceptan) x402","merchants (already )?(use|accept) x402"]},{"id":"acp","title":"Agentic Commerce Protocol","state":"SANDBOX","evidence":"/health demo.protocolBridges.acp = unconfigured","last_verified_at":"2026-08-31","health_key":"demo.protocolBridges.acp","public_claim_max":"Puente ACP desplegado y configurable por comercio. No hay ninguno configurado en producción: `/api/v1/health` responde demo.protocolBridges.acp = unconfigured. No se puede afirmar liquidación por este rail.","public_claim_max_en":"ACP bridge deployed and configurable per merchant. None is configured in production: `/api/v1/health` reports demo.protocolBridges.acp = unconfigured. Settlement over this rail cannot be claimed."},{"id":"ap2","title":"Agent Payments Protocol (AP2)","state":"SANDBOX","evidence":"Sondeado 2026-08-31 en `trusteed.xyz` y en `api.trusteed.xyz`: `/health demo.protocolBridges.ap2` respondía el literal `\"active\"` —hardcodeado en `health.ts`, no una medición— sin ningún calificador que lo atase al entorno de DEMO de Google, que es contra lo que habla el puente. `\"active\"` es además la palabra que la `state_vocabulary` firmada declara sinónimo exacto de LIVE, sobre un rail que este registro tiene en SANDBOX. CORREGIDO el mismo día: el campo se DERIVA ahora de esta entrada (`bridgeStateOf`), así que responde `\"sandbox\"` y no puede volver a divergir sin cambiar el estado de aquí. Cero mandatos de carrito reales, cero liquidaciones.","last_verified_at":"2026-08-31","health_key":"demo.protocolBridges.ap2","public_claim_max":"El puente habla con el entorno de DEMO de Google, no con un flujo de mandatos de producción. `/api/v1/health` responde demo.protocolBridges.ap2 = active (demo). No se puede afirmar un mandato de carrito real ni liquidación.","public_claim_max_en":"The bridge talks to Google's own DEMO environment, not a production cart-mandate flow. `/api/v1/health` reports demo.protocolBridges.ap2 = active (demo). A real cart mandate or settlement cannot be claimed."},{"id":"mcap","title":"Mastercard Agent Pay","state":"DORMANT","evidence":"Sondas 2026-09-03: `railway variables --service api` → `MCAP_ENABLED=true`, y `GET /api/v1/health` → `protocols.mcap = {available: false, mode: \"pass-through-stripe\"}`. La bandera NO es la que deja `available` en negativo — con ella puesta el bloque se publica y el adaptador entrante se registra (`server.ts`); `available` copia `stripeConnected` (`routes/health.ts`). Cero liquidaciones conocidas por este rail.","last_verified_at":"2026-09-03","governed_by_flag":"MCAP_ENABLED","flag_observation":{"value":"true","observed_at":"2026-09-03","source":"`railway variables --service api` (entorno de producción)"},"health_key":"protocols.mcap.available","public_claim_max":"Sin liquidación: `MCAP_ENABLED` está puesta en producción, así que el adaptador de pago entrante se registra y `/health` publica el bloque `protocols.mcap` — pero `protocols.mcap.available` sigue en negativo, porque ese campo refleja la conexión con Stripe, no la bandera. La superficie de credenciales está registrada sin bandera (`/api/v1/mcap/keys`, `/consent`, `/verifiable-intent`). No se puede afirmar ninguna liquidación por este rail.","public_claim_max_en":"No settlement: `MCAP_ENABLED` is set in production, so the inbound payment adapter is registered and `/health` publishes the `protocols.mcap` block — yet `protocols.mcap.available` stays negative, because that field reflects the Stripe connection, not the flag. The credential surface is registered without a flag (`/api/v1/mcap/keys`, `/consent`, `/verifiable-intent`). No settlement over this rail can be claimed."},{"id":"kyapay","title":"KYApay","state":"DORMANT","evidence":"/health kyapay.enabled = false","last_verified_at":"2026-08-31","health_key":"protocols.kyapay.enabled","public_claim_max":"Implementado y apagado: `/api/v1/health` responde protocols.kyapay.enabled = false. Nada de este rail está sirviendo hoy.","public_claim_max_en":"Implemented and switched off: `/api/v1/health` reports protocols.kyapay.enabled = false. Nothing on this rail is serving today."},{"id":"ixopay","title":"IXOPAY payment trust","state":"DORMANT","evidence":"/health payment_trust.ixopay = unconfigured","last_verified_at":"2026-08-31","health_key":"payment_trust.ixopay.enabled","public_claim_max":"Opt-in por comercio vía `MerchantPspConfig` y sin configurar en producción (`/api/v1/health` → payment_trust.ixopay = unconfigured). El enrutado y la bóveda son consultivos: por esta capa no se ejecuta ninguna liquidación real.","public_claim_max_en":"Opt-in per merchant via `MerchantPspConfig` and unconfigured in production (`/api/v1/health` → payment_trust.ixopay = unconfigured). Routing and vault are advisory-only: no real settlement executes through this layer."},{"id":"mpp","title":"TrustReceipt ↔ MPP binding","state":"CODE_COMPLETE","evidence":"specs/056-trustreceipt-mpp-binding/","last_verified_at":null,"governed_by_flag":"SPEC056_MPP_BINDING_PROD_READY","flag_observation":{"value":null,"observed_at":"2026-09-03","source":"`railway variables --service api` (entorno de producción)"},"public_claim_max":"Vinculación implementada y dormida tras `SPEC056_MPP_BINDING_PROD_READY`: sin la bandera, las cinco rutas responden 503. No se ha emitido ningún recibo vinculado a MPP en producción.","public_claim_max_en":"Binding implemented and dormant behind `SPEC056_MPP_BINDING_PROD_READY`: without the flag its five routes answer 503. No MPP-bound receipt has been issued in production."},{"id":"trust_receipt_v11","title":"TrustReceipt v1.1 (eIDAS-hardened receipts)","state":"CODE_COMPLETE","evidence":"specs/049-trust-receipt-eidas-hardening/","last_verified_at":null,"governed_by_flag":"TRUST_RECEIPT_EIDAS_HARDENING_ENABLED","flag_observation":{"value":"false","observed_at":"2026-09-03","source":"`railway variables --service api` (entorno de producción)"},"health_key":"qtsp.enabled","public_claim_max":"Las transacciones agénticas pueden generar un recibo firmado … diseñado para alineación eIDAS/ESIGN. La emisión v1.1 está tras `TRUST_RECEIPT_EIDAS_HARDENING_ENABLED` (off por defecto): el corpus que existe hoy es v1.0.","public_claim_max_en":"Agentic transactions can generate a signed receipt … designed for eIDAS/ESIGN alignment. v1.1 issuance sits behind `TRUST_RECEIPT_EIDAS_HARDENING_ENABLED` (off by default): the corpus that exists today is v1.0.","banned_claims":["every agentic transaction","cada transacci[oó]n ag[eé]ntica genera","compatible with eIDAS","compatible con eIDAS"]},{"id":"eidas_qtsp","title":"eIDAS QTSP timestamping","state":"CODE_COMPLETE","evidence":"specs/032-eidas-qtsp-merchant-verification/, /health qtsp.enabled = false","last_verified_at":"2026-08-31","health_key":"qtsp.enabled","public_claim_max":"Diseñado para emitir QES vía un QTSP acreditado (InfoCert) — integración code-complete, pendiente de credenciales de producción","public_claim_max_en":"Designed to issue QES via an accredited QTSP (InfoCert) — the integration is code-complete, pending production credentials","banned_claims":["operations now require .*qualified electronic signature","merchants? receives? a qualified electronic signature","las operaciones (críticas )?(ahora )?requieren .*firma electrónica cualificada"]},{"id":"agent_identity","title":"Verificación de identidad de agente por firma HTTP","state":"CODE_COMPLETE","evidence":"Lectura del código + `railway variables --service api` (2026-09-03): `AGENT_IDENTITY_VERIFICATION_MODE=block_spoofed`. Con ese modo, `evaluateAgentIdentityEnforcement` (`services/agent-identity/agent-identity-enforcement.service.ts`) rechaza SÓLO `verificationStatus:\"spoofed\"` y SÓLO fuera de Discovery; `unverified` y `skipped` pasan. Las tres rutas que lo aplican devuelven 403 `agent_signature_spoofed` (`routes/mcp/customer.routes.ts`, `routes/mcp/checkout.routes.ts`, `routes/mcp/legacy-dispatch.ts`). NO se ha sondeado con una petición firmada real ni hay conteo de rechazos: la clasificación se leyó en el código, no se midió en producción. Un fallo de red al resolver el JWKS ya NO se clasifica como falsificación (`jwks_fetch_failed:*` → `unverified` vía `isJwksUnreachableError`, más el `autoSelectFamily` del dispatcher pineado, ambos en `main` desde el 2026-08-29, commit e74f5ea4f); antes de esa fecha sí, y un agente legítimo con el servidor de claves caído recibía 403.","last_verified_at":"2026-09-03","governed_by_flag":"AGENT_IDENTITY_VERIFICATION_MODE","flag_observation":{"value":"block_spoofed","observed_at":"2026-09-03","source":"`railway variables --service api` (entorno de producción)","also_cites":["off","require_verified_checkout","require_verified_authenticated"]},"public_claim_max":"Verificador RFC 9421 implementado y desplegado en modo `block_spoofed` (el valor por defecto del código es `off`): una petición que trae una firma HTTP que no verifica se rechaza con 403 en los buckets Customer y Checkout; una sin firma pasa, y Discovery no se filtra nunca. Como no hay activo ningún modo `require_verified_checkout` ni `require_verified_authenticated`, no firmar sale gratis y la identidad del agente sigue sin ser una señal en la que se pueda confiar. NO se puede afirmar que los agentes que nos llegan estén identificados, ni cuántos rechazos ha habido: no se mide.","title_en":"Agent HTTP signature identity verification","public_claim_max_en":"RFC 9421 verifier implemented and deployed in mode `block_spoofed` (the code default is `off`): a request carrying an HTTP signature that fails verification is rejected with 403 on the Customer and Checkout buckets; an unsigned request passes, and Discovery is never filtered. With neither `require_verified_checkout` nor `require_verified_authenticated` active, not signing costs nothing and agent identity remains a signal that cannot be relied on. That the agents reaching us are identified cannot be claimed, nor can any rejection count: it is not measured."},{"id":"sanctions","title":"Cribado de sanciones","state":"PLANNED","evidence":"Sin proveedor OFAC/UE/RU en el camino de producción (auditoría P1-04, 2026-07-10). `railway variables --service api` (2026-09-03): `SANCTIONS_SCREENING_MODE=log-only`, que NO criba — registra el intento y pasa (`services/extension/sanctions-screening.service.ts`); `OPENSANCTIONS_BASE_URL` no está puesta y el proveedor real sólo se instancia con `enforce` (`routes/developer-portal/signup.routes.ts`).","last_verified_at":"2026-09-03","governed_by_flag":"SANCTIONS_SCREENING_MODE","flag_observation":{"value":"log-only","observed_at":"2026-09-03","source":"`railway variables --service api` (entorno de producción)"},"public_claim_max":"Sin proveedor OFAC/UE/RU integrado en producción: hoy no se ejecuta ningún cribado de sanciones. Un comercio no debe contar con este control para su cumplimiento.","title_en":"Sanctions screening","public_claim_max_en":"No OFAC/EU/UK provider integrated in production: no sanctions screening runs today. A merchant should not rely on this control for their compliance."},{"id":"extension_api","title":"Extension API (developer platform)","state":"LIVE","evidence":"/health extension.enabled = true (eco de config: Postgres+Redis+KMS resueltos) · hasDeveloperOrgs = false → cero consumidores (2026-08-11)","last_verified_at":"2026-08-11","health_key":"extension.enabled","public_claim_max":"Extension API desplegada y disponible. NO se puede afirmar que haya desarrolladores o integraciones de terceros usándola.","public_claim_max_en":"The Extension API is deployed and available. Developers or third-party integrations using it cannot be claimed.","banned_claims":["(cientos|miles|decenas|hundreds|thousands|dozens) de desarrolladores","(nuestra|our) (comunidad|community) de desarrolladores","developers? (are )?(already )?building on","desarrolladores (ya )?(construyen|integran)"]},{"id":"nlweb","title":"NLWeb natural-language discovery","state":"CODE_COMPLETE","evidence":"/health nlweb.enabled = true, pero es ECO DE CONFIG, no una prueba: `POST /demo-store/ask` devuelve HTTP 200 con `code: VECTOR_DB_UNAVAILABLE` y el mensaje del proveedor `429 You have no credits remaining` (sonda 2026-09-01) — el pipeline de embeddings no funciona. `nlweb_ask` NO responde: `tools/call` devuelve `-32602 Tool nlweb_ask not found` en `demo-store` y en `agenticmcpstore`, en `trusteed.xyz` y en `api.trusteed.xyz` (sondas 2026-09-01). Aparecía en `tools/list` del endpoint legacy, pero ese listado es el catálogo degradado de `handleUnifiedToolsList`, que publica el registro de plataforma y no lo que la tienda sirve. Tampoco está en el bucket Discovery del split (16 tools). Sin medición de si algún agente la ha llamado.","last_verified_at":"2026-09-01","health_key":"nlweb.enabled","public_claim_max":"NLWeb está desplegado (ruta y pgvector presentes). NO se puede afirmar que indexe, que responda consultas, ni que la tool `nlweb_ask` esté disponible para agentes: medido el 2026-09-01, la ruta devuelve VECTOR_DB_UNAVAILABLE y la tool no responde en ninguna superficie MCP.","public_claim_max_en":"NLWeb is deployed (route and pgvector present). It cannot be claimed that it indexes, answers queries, or that the `nlweb_ask` tool is available to agents: measured 2026-09-01, the route returns VECTOR_DB_UNAVAILABLE and the tool answers on no MCP surface.","banned_claims":["`?nlweb_ask`? (está |esta )?(expuesta|disponible|servida)","`?nlweb_ask`? is (exposed|available|served)","los agentes (ya )?(la )?(usan|utilizan) (nlweb_ask|`nlweb_ask`)","agents (already )?(use|query) (nlweb_ask|`nlweb_ask`)"]},{"id":"three_bucket_tools","title":"MCP three-bucket tool registry","state":"LIVE","evidence":"Resondeado 2026-09-01 contra `trusteed.xyz` (ápice). Las rutas del split (`/{slug}/mcp/{discovery,customer,checkout}`) responden 200 para `agenticmcpstore` (no-demo): 16 + 8 + 21 = 45 tools, y las 45 llegan con `annotations`. El MCP legacy `/{slug}/mcp` responde 200 para todas y devuelve **12** tools en `agenticmcpstore` (no 48: el catálogo degradado que publicaba el registro de plataforma se corrigió el 2026-09-01), con `Deprecation: true` y una cabecera `Sunset` a 57 días de la sonda. `nlweb_ask` y `ucp_get_catalog` NO son invocables donde su bandera por tienda no está puesta: `tools/call` devuelve `-32602 not found`; listarlas no las sirve. Población: 9 tiendas (`/api/v1/stores/directory` → `total_all_types`, host `api.trusteed.xyz`), de las que 1 es `production`. Ojo: los dos hosts tienen bases distintas, así que un conteo sin host no es reproducible.","last_verified_at":"2026-09-01","governed_by_flag":"MCP_THREE_BUCKET_ENABLED","flag_observation":{"value":"true","observed_at":"2026-09-03","source":"`railway variables --service api` (entorno de producción)"},"public_claim_max":"MCP disponible en producción para todas las tiendas. El split en tres buckets está en canary: NO se puede afirmar que esté activo para todos los comerciantes.","public_claim_max_en":"MCP is available in production for every store. The three-bucket split is in canary: that it is active for every merchant cannot be claimed.","banned_claims":["tres buckets? (activos?|disponibles?) (en|para) (todas|todos)","three[- ]bucket.{0,20}(all|every) (stores?|merchants?)","(todas|todos) (las tiendas|los comerciantes).{0,30}tres buckets"]},{"id":"ucp","title":"UCP — Universal Commerce Protocol","state":"LIVE","evidence":"Resondeado 2026-08-31. `GET https://api.trusteed.xyz/.well-known/ucp-capabilities.json?store=agenticmcpstore` → 200 con `schema: trusteed:ucp-capabilities/1.2` y `protocols.ucp.enabled=true` en esa tienda, que NO es la de demostración. La ruta de descubrimiento `/.well-known/ucp` responde 200 en el dominio canónico; `ucp-capabilities.json` sólo existe en la API, así que el ápice devuelve 404 en ESA ruta. Con `?store=`, cada host resuelve contra su propia base: el ápice devuelve `store_not_found` para `agenticmcpstore` y 200 para `demo-store`. Las dos tiendas que esta evidencia citaba antes, `j01pdw-th` y `uvszh1-m5`, no existen en la tabla `stores` de producción.","last_verified_at":"2026-08-31","public_claim_max":"Publicamos capacidades UCP por tienda, con contenido derivado de la configuración real de cada una. NO se puede afirmar transacciones UCP.","public_claim_max_en":"We publish per-store UCP capabilities, with content derived from each store's real configuration. UCP transactions cannot be claimed.","banned_claims":["(transacciones|compras|pedidos) (completad[oa]s )?(v[ií]a|por|mediante) UCP","(orders?|transactions?) (completed )?(via|through) UCP"]},{"id":"llmstxt","title":"llms.txt — descubrimiento para agentes","state":"LIVE","evidence":"GET https://trusteed.xyz/llms.txt → 200 (sondas 2026-07-29 y 2026-08-11). Sirve de verdad y sin tienda de por medio. Sirve el dashboard, NO la API: `api.trusteed.xyz/llms.txt` da 404, que es correcto y conviene no confundir.","last_verified_at":"2026-08-11","public_claim_max":"Publicamos llms.txt para descubrimiento por agentes. NO se puede afirmar tráfico de agentes sobre él.","title_en":"llms.txt — agent discovery","public_claim_max_en":"We publish llms.txt for agent discovery. Agent traffic against it cannot be claimed.","banned_claims":["(miles|cientos|thousands|hundreds) de agentes.{0,30}llms\\.txt","agentes (ya )?(descubren|consultan).{0,20}llms\\.txt"]},{"id":"a2a","title":"A2A — agent-to-agent (agent card)","state":"LIVE","evidence":"GET /.well-known/agent-card.json → 200 (sondas 2026-07-29 y 2026-08-11). Sirve de verdad y sin tienda de por medio. `/.well-known/agent.json` da 404: la ruta buena es `agent-card.json`.","last_verified_at":"2026-08-11","public_claim_max":"Publicamos agent card A2A. NO se puede afirmar que ningún agente la haya consumido.","public_claim_max_en":"We publish an A2A agent card. That any agent has consumed it cannot be claimed.","banned_claims":["agentes (ya )?(consumen|descubren) (nuestra|la) agent card","agents (already )?(consume|discover) (our|the) agent card"]},{"id":"fido","title":"FIDO2 / WebAuthn","state":"LIVE","evidence":"POST /api/v1/auth/webauthn/register/options → 401 (sondas 2026-07-29 y 2026-08-11): RUTA REGISTRADA y exigiendo auth. No hay evidencia de registros reales. Registrada en `register-routes.ts:355`.","last_verified_at":"2026-08-11","public_claim_max":"Soportamos FIDO2/WebAuthn — endpoint desplegado. NO se puede afirmar adopción ni usuarios con passkey.","public_claim_max_en":"We support FIDO2/WebAuthn — the endpoint is deployed. Adoption or passkey users cannot be claimed.","banned_claims":["(nuestros|our) (usuarios|users).{0,20}(passkeys?|llaves de acceso)","(miles|cientos|thousands|hundreds) de (passkeys?|usuarios registrados)"]},{"id":"agui","title":"AG-UI — checkout en tiempo real (SSE)","state":"LIVE","evidence":"POST /{slug}/ag-ui → 403 en `demo-store` y en `agenticmcpstore` (no-demo): RUTA REGISTRADA, rechaza por origen/auth y no por inexistencia (sondas 2026-07-29 y 2026-08-11). Sin evidencia de sesiones reales.","last_verified_at":"2026-08-11","public_claim_max":"AG-UI desplegado para checkout en tiempo real. NO se puede afirmar que haya sesiones de agentes reales.","title_en":"AG-UI — real-time checkout (SSE)","public_claim_max_en":"AG-UI is deployed for real-time checkout. Real agent sessions cannot be claimed.","banned_claims":["(miles|cientos|thousands|hundreds) de (sesiones|sessions) (de agente|AG-UI)","agentes (ya )?complet(an|aron) checkouts? (en vivo|en tiempo real)"]},{"id":"scp","title":"SCP — Shopper Context Protocol","state":"LIVE","evidence":"GET /api/v1/scp-provider/{slug}/magic-link/preview → 400 (validación), NO 404, en `demo-store` y en `agenticmcpstore` (no-demo): RUTAS REGISTRADAS en producción; prueba despliegue, no uso (sondas 2026-07-29 y 2026-08-11). Corrige la nota interna que lo daba por bloqueado por el boot guard de STRIPE_WEBHOOK_SECRET — eso describía el estado de despliegue de entonces, no el de hoy. Flag `SCP_ENABLED` es opt-OUT (`!== \"false\"`), es decir ON por defecto.","last_verified_at":"2026-08-11","governed_by_flag":"SCP_ENABLED","flag_observation":{"value":null,"observed_at":"2026-09-03","source":"`railway variables --service api` (entorno de producción)"},"public_claim_max":"SCP desplegado y habilitado por defecto. NO se puede afirmar que ningún comerciante lo esté usando.","title_en":"SCP — Shopper Context Protocol","public_claim_max_en":"SCP is deployed and enabled by default. That any merchant is using it cannot be claimed.","banned_claims":["comerciantes (ya )?(usan|utilizan) SCP","merchants (already )?use SCP"]},{"id":"webmcp","title":"WebMCP — bridge de navegador (W3C CG)","state":"CODE_COMPLETE","evidence":"ACTUALIZADO 2026-08-30: `GET https://trusteed.xyz/webmcp-bridge.js` responde hoy **302** a `https://webmcp-bridge-cdn.darknightcssc.workers.dev/webmcp-bridge.iife.min.js`, que sirve 24.223 bytes `application/javascript` con el IIFE `WebMCPBridge` — la redirección la implementa `apps/dashboard/src/lib/webmcp-bridge-cdn.ts` y una etiqueta `<script src>` la sigue sin problema, así que el método de instalación que publican `mcp.json` y `agent-policy.json` FUNCIONA. Esta misma evidencia afirmó lo contrario hasta hoy y era ella la desactualizada; una auditoría externa la leyó, la dio por vigente y dedujo que los manifiestos instruían instalar un script roto. Histórico, que explica por qué el texto decía eso — CORREGIDO 2026-08-09: la evidencia de entonces decía «el bundle SÍ se sirve (GET https://trusteed.xyz/webmcp-bridge.js → 200)». Ese 200 no probaba nada: por aquella fecha esa URL devolvía el catch-all HTML de Next.js (`content-type: text/html`, 226 KB, cero apariciones de `modelContext`) — se comprobó el código de estado y no el contenido. La URL de origen sigue siendo el Worker `https://webmcp-bridge-cdn.darknightcssc.workers.dev` (la que usan los E2E); `cdn.trusteed.xyz` NO resuelve, el dominio propio nunca se configuró. VERIFICADO 2026-08-09 tras subida manual a R2 (16 objetos): los 4 bundles (genérico + shopify/woocommerce/prestashop) responden 200 `application/javascript`, contienen el IIFE `WebMCPBridge` y su **sha256 coincide con el build local del commit**; la copia pinneada `?v=0.2.0` también. El bundle vivo ya trae la resolución `document.modelContext` → `navigator.modelContext` (Chrome 150 deprecó `navigator`). PENDIENTE: el workflow `cdn-deploy.yml` sigue SIN poder subir — sus ejecuciones desde 2026-05-16 fallan por falta del secreto `CLOUDFLARE_API_TOKEN`, así que cada release exige subida manual hasta que se configure. Y sigue sin verificarse el modo NATIVO: los E2E de spec-053 inyectan un `modelContext` mockeado y no hay ejecución contra Chrome real en CI.","last_verified_at":"2026-08-30","public_claim_max":"Los cuatro bundles del puente se sirven y su sha256 cuadra con el build. El modo NATIVO no está verificado: los E2E inyectan un `navigator.modelContext` simulado y no hay ninguna ejecución contra un Chrome con soporte real. No se puede afirmar que funcione en un navegador nativo.","title_en":"WebMCP — browser bridge (W3C CG)","public_claim_max_en":"All four bridge bundles are served and their sha256 matches the build. NATIVE mode is unverified: the E2E suite injects a mocked `navigator.modelContext` and there is no run against a browser with real support. Working in a natively-supporting browser cannot be claimed."},{"id":"vic","title":"VIC — Visa Intelligent Commerce","state":"DORMANT","evidence":"Adaptador completo en `services/protocol/adapters/vic/` (cliente API, X-Pay token, cron de reconciliación) pero SIN rutas en `register-routes.ts`, y el cron sólo arranca con `VIC_RECONCILIATION_ENABLED=true` (`server.ts:2230`). External-blocked: sin acceso al pilot de Visa.","last_verified_at":null,"governed_by_flag":"VIC_RECONCILIATION_ENABLED","flag_observation":{"value":null,"observed_at":"2026-09-03","source":"`railway variables --service api` (entorno de producción)"},"public_claim_max":"Adaptador completo y sin ninguna ruta registrada: no hay superficie por la que llamarlo. Bloqueado por acceso externo al pilot de Visa, no por trabajo pendiente nuestro.","public_claim_max_en":"Adapter complete with no route registered: there is no surface to call it through. Blocked on external access to Visa's pilot, not on work of ours."},{"id":"paypal","title":"PayPal","state":"DORMANT","evidence":"`health.ts:365` sólo añade el bloque `paypal` si `PAYPAL_ENABLED=true` con client id y secret. El /health de producción del 2026-07-29 NO lo incluye ⇒ no configurado. Faltan credenciales de producción.","last_verified_at":"2026-07-29","governed_by_flag":"PAYPAL_ENABLED","flag_observation":{"value":null,"observed_at":"2026-09-03","source":"`railway variables --service api` (entorno de producción)"},"public_claim_max":"Implementado y sin configurar: `/api/v1/health` de producción no publica el bloque `paypal`, lo que prueba que faltan las credenciales. No se puede afirmar liquidación por PayPal.","public_claim_max_en":"Implemented and unconfigured: production `/api/v1/health` does not publish the `paypal` block, which proves the credentials are missing. Settlement over PayPal cannot be claimed."},{"id":"a2ui","title":"A2-UI","state":"PLANNED","evidence":"Sin implementación en el árbol: buscar `a2ui` sólo devuelve ficheros de AG-UI, que es otra cosa. `/.well-known/a2ui-catalog.json` publica ahora `status: not_implemented` y `components: []` (antes cuatro nombres inexistentes bajo `coming_soon`), y apunta a `/.well-known/trust-components.json` — el vocabulario de componentes de confianza, agnóstico del transporte y derivado del registro de widgets que sí se sirve.","last_verified_at":null,"public_claim_max":"Sin implementación en el árbol de código. No hay nada desplegado ni tras bandera: es un plan, no una capacidad.","public_claim_max_en":"No implementation in the source tree. Nothing is deployed, not even behind a flag: this is a plan, not a capability."},{"id":"mcp_apps","title":"MCP Apps — widgets de confianza (SEP-1865)","state":"CODE_COMPLETE","evidence":"`packages/mcp-apps-widgets` sirve 5 recursos `ui://` (catálogo, detalle de producto, carrito, recibo y perfil de comerciante), registrados tanto por `packages/chatgpt-app` como por `packages/mcp-server`. 10 tools de cada servidor los declaran vía `_meta.ui.resourceUri` + `openai/outputTemplate`, tomados del SSOT `WIDGET_URIS`. Gates: paridad del MIME contra la constante del SDK y anti-drift de URIs contra las fuentes de ambos consumidores. SIN sonda de producción que confirme renderizado por un cliente real.","last_verified_at":null,"public_claim_max":"Servimos widgets MCP Apps que llevan la evidencia de confianza del comercio. NO se puede afirmar que ningún cliente los haya renderizado.","title_en":"MCP Apps — trust widgets (SEP-1865)","public_claim_max_en":"We serve MCP Apps widgets carrying the merchant's trust evidence. That any client has rendered them cannot be claimed.","banned_claims":["(miles|cientos|thousands|hundreds) de (widgets?|renders?|renderizados)","(los )?agentes (ya )?(ven|renderizan|render) (nuestros )?widgets"]},{"id":"receipt_signature_jws","title":"Capa 1 — firma JWS EdDSA (Ed25519) del receipt","state":"LIVE","evidence":"receipt-issuer-internals.ts:32 (ALGORITHM=EdDSA); corpus vivo v1.0. Sonda de producción 2026-08-18 `GET /api/v1/health` → `trust_receipts {issuing:true, lastIssuedAt 2026-08-13 12:37 UTC, issued24h:0}` (sin formato ISO a propósito: el guard de `public-capability-manifest.test.ts` prohíbe relojes dentro de lo firmado y no distingue una constante de una fecha viva). El emisor firma y emite; el volumen es otro hecho: `TRUST_RECEIPT_MCP_STANDALONE_ENABLED` está OFF por defecto (`packages/mcp-server/src/trust-receipt-enqueue.ts`), así que un checkout servido por ese camino NO encola recibo.","last_verified_at":"2026-08-18","health_key":"trust_receipts.issuing","public_claim_max":"Emitimos Trust Receipts firmados (JWS EdDSA) en producción. NO se puede afirmar que todo checkout genere uno, ni volumen de recibos emitidos.","title_en":"Layer 1 — receipt JWS EdDSA (Ed25519) signature","public_claim_max_en":"We issue signed Trust Receipts (JWS EdDSA) in production. That every checkout generates one, or receipt issuance volume, cannot be claimed.","banned_claims":["(cada|every|todo|all) (checkout|compra|purchase|transacci[oó]n|transaction)s? (genera|emite|produce|generates|issues|produces|gets) (un |a )?(trust )?receipt","(miles|cientos|millones|thousands|hundreds|millions) de (recibos|receipts)","(recibos|receipts) (emitidos|issued) (para|for) (cada|every|todos)"]},{"id":"receipt_hash_chain","title":"Capa 2 — encadenado hash de receipts + checkpoints firmados","state":"CODE_COMPLETE","evidence":"`railway variables --service api` (2026-09-03): `TRUST_RECEIPT_CHAIN_ENABLED=true` y `TRUST_RECEIPT_CHAIN_GENESIS_AT` con génesis 2026-08-06 (00:00 UTC) — las dos condiciones que `services/trust/receipt-persistence.service.ts` exige para encadenar. El default del lector sigue siendo OFF (`receipt-chain-flag.ts`), pero en producción no está en el default. NO se ha contado cuántos recibos tienen enlace: la cadena se declara armada, no medida. La génesis se elige UNA vez y no se deshace.","last_verified_at":"2026-09-03","governed_by_flag":"TRUST_RECEIPT_CHAIN_ENABLED","flag_observation":{"value":"true","observed_at":"2026-09-03","source":"`railway variables --service api` (entorno de producción)"},"public_claim_max":"Encadenado y checkpoints implementados y ARMADOS en producción: `TRUST_RECEIPT_CHAIN_ENABLED` está puesta y hay génesis declarada (2026-08-06). Los recibos anteriores a esa génesis no están encadenados, y no se ha contado cuántos posteriores lo están: no se puede ofrecer inmutabilidad de secuencia sobre el corpus, ni afirmar una cadena continua.","title_en":"Layer 2 — hash-chained receipts + signed checkpoints","public_claim_max_en":"Chaining and checkpoints implemented and ARMED in production: `TRUST_RECEIPT_CHAIN_ENABLED` is set and a genesis is declared (2026-08-06). Receipts issued before that genesis are not chained, and how many later ones are has not been counted: sequence immutability over the corpus cannot be offered, nor can an unbroken chain be claimed."},{"id":"qtsa_timestamp","title":"Capa 3 — sellado de tiempo RFC 3161 contra QTSA","state":"DORMANT","evidence":"qtsa-timestamp.factory.ts:70-85 devuelve `undefined` sin Redis o sin QTSP provisionado; /health de producción responde `qtsp.enabled=false` (verificado 2026-07-29). Validación de EU Trusted List y allowlist de root certs implementadas.","last_verified_at":"2026-07-29","health_key":"qtsp.enabled","public_claim_max":"Sellado RFC 3161 implementado, con validación de EU Trusted List, y sin proveedor provisionado: `/api/v1/health` responde qtsp.enabled = false. Ningún recibo lleva hoy un sello de tiempo cualificado.","title_en":"Layer 3 — RFC 3161 timestamping against a QTSA","public_claim_max_en":"RFC 3161 timestamping implemented, with EU Trusted List validation, and no provisioned provider: `/api/v1/health` reports qtsp.enabled = false. No receipt carries a qualified timestamp today."},{"id":"qualified_seal","title":"Capa 4 — sello cualificado (QES verificado contra cadena de confianza)","state":"PLANNED","evidence":"qes-signing.service.ts persiste siempre SIGNED_UNVERIFIED (:264); NINGUNA ruta de código produce VERIFIED (TODO en :295) y con la flag ON el paso estructural tampoco promueve (:313). Gate real: T056, credenciales sandbox de InfoCert (ADR-083).","last_verified_at":null,"governed_by_flag":"QES_CADES_VERIFY_ENABLED","flag_observation":{"value":null,"observed_at":"2026-09-03","source":"`railway variables --service api` (entorno de producción)","also_cites":["on"]},"public_claim_max":"No disponible. Ninguna ruta de código produce hoy un sello VERIFIED: la firma se persiste siempre como SIGNED_UNVERIFIED, incluso con la bandera encendida. Bloqueado por credenciales de sandbox del QTSP.","title_en":"Layer 4 — qualified seal (QES verified against trust chain)","public_claim_max_en":"Not available. No code path produces a VERIFIED seal today: the signature is always persisted as SIGNED_UNVERIFIED, even with the flag on. Blocked on QTSP sandbox credentials."},{"id":"payment_request_api","title":"W3C Payment Request API — hoja de pago del navegador","state":"CODE_COMPLETE","evidence":"Sonda 2026-08-30. `POST /api/v1/checkout/{sessionId}/browser-pay` → 400 (ruta REGISTRADA, `browser-payment.routes.ts:230`, montada en `register-routes.ts:972`). La URL que los manifiestos publicaban, `/api/v1/browser-pay`, → 404: nunca existió. Base de datos de producción: 8 tiendas, **0 con `stripeSecretKey`**, y el cobro de `browser-payment.service.ts:109` exige esa clave; `acp_orders` tiene 1.606 filas y las 1.606 llevan `stripe_payment_intent_id` con prefijo `pi_demo_` (seeder). Cero cobros reales, cero pedidos agénticos (`platform_orders`: 18 `seed` + 4 `webhook`).","last_verified_at":"2026-08-30","governed_by_flag":"BROWSER_PAYMENT_REQUIRE_SETTLEMENT","flag_observation":{"value":"true","observed_at":"2026-09-03","source":"`railway variables --service api` (entorno de producción)"},"public_claim_max":"El camino de pago confirmado por humano está implementado y su ruta desplegada. NO se puede afirmar que se cobre por él: ninguna tienda tiene procesador configurado, y ningún pago real ha pasado por esta ruta.","title_en":"W3C Payment Request API — browser payment sheet","public_claim_max_en":"The human-confirmed payment path is implemented and its route deployed. That anything is charged through it cannot be claimed: no merchant has a configured processor, and no real payment has gone through this route.","banned_claims":["(aceptamos|procesamos) pagos (con|v[ií]a) (apple pay|google pay|payment request)","we (accept|process) (apple pay|google pay|payment request api) payments","(comerciantes|merchants) (ya )?(cobran|charge|settle).{0,30}(payment request|browser.?pay)"]},{"id":"merchant_verification_dc","title":"Verificación de comerciante por Digital Credentials API","state":"CODE_COMPLETE","evidence":"Sonda 2026-08-30. `POST /api/v1/verification/credentials/verify` → 401 (ruta REGISTRADA con auth; prefijo en `register-routes.ts:1016`). Base de datos de producción: `verified_credential_records` **0 filas**. Ningún comerciante ha presentado nunca una credencial, así que el `trustBoost` de +0,05/+0,10 que se publica no se ha aplicado jamás.","last_verified_at":"2026-08-30","governed_by_flag":"EUDI_WALLET_ACCEPTANCE_ENABLED","flag_observation":{"value":null,"observed_at":"2026-09-03","source":"`railway variables --service api` (entorno de producción)"},"public_claim_max":"Aceptamos verificación de identidad de comerciante por Digital Credentials API — endpoint desplegado. NO se puede afirmar que ningún comerciante se haya verificado por esa vía ni que el bonus de confianza se haya concedido.","title_en":"Merchant verification via Digital Credentials API","public_claim_max_en":"We accept merchant identity verification via the Digital Credentials API — the endpoint is deployed. That any merchant has verified this way, or that the trust bonus has ever been granted, cannot be claimed.","banned_claims":["(comerciantes|merchants) verificad[oa]s (por|con|via|through) (digital credentials|mdl|eudi)","(verified|verificados) merchants.{0,20}(mDL|AAMVA|VICAL)"]},{"id":"agent_operator_kya","title":"KYA — verificación del operador del agente","state":"CODE_COMPLETE","evidence":"Sonda 2026-08-30 contra la base de datos de producción: `agent_kya_identities` tiene 5 filas y las 5 son del seeder (`seed-shopify-demo-data.ts`, creadas en el mismo segundo, nombres `skyfire-anthropic`/`skyfire-openai`/…). `kya_api_client` **0 filas**, `kya_usage_event` **0 filas**: ningún consumidor real de la API de KYA. El bonus de +0,10 al trust score que se publica no se ha concedido a ningún operador real.","last_verified_at":"2026-08-30","governed_by_flag":"AGENT_IDENTITY_VERIFICATION_MODE","flag_observation":{"value":"block_spoofed","observed_at":"2026-09-03","source":"`railway variables --service api` (entorno de producción)"},"public_claim_max":"La verificación de identidad del operador del agente está implementada y su ruta desplegada. NO se puede afirmar que haya operadores verificados: las únicas identidades en producción son datos de demostración sembrados.","title_en":"KYA — agent operator verification","public_claim_max_en":"Agent operator identity verification is implemented and its route deployed. That there are verified operators cannot be claimed: the only identities in production are seeded demo data.","banned_claims":["(operadores|operators) (ya )?(verificados|verified).{0,30}(kya|agent operator)","(verified )?agent operators (receive|already|use)"]}],"state_vocabulary":{"LIVE":{"meaning":"Deployed and serving in production today.","synonyms":["live","production","active","available","operational"]},"SANDBOX":{"meaning":"Deployed, but only in a test/simulated environment — no real settlement or production data flows through it.","synonyms":["sandbox","pilot","in pilot","beta"],"subclaims":{"experimental":"Published below the SANDBOX ceiling: the code is deployed in a test environment, but that environment is not a stable one of ours — typically a third party's demo environment, or a specification still in flux. Asserts less than 'sandbox'."}},"CODE_COMPLETE":{"meaning":"Implemented, but not confirmed as production use — a route is registered or a config value is echoed back, which proves deployment, not that anything consumes it.","synonyms":["code complete","code_complete","in_development"]},"DORMANT":{"meaning":"Implemented and switched off — the flag or config that would enable it defaults to off.","synonyms":["dormant","coming-soon","built"]},"PLANNED":{"meaning":"No implementation exists yet.","synonyms":["planned","not_implemented","previsto","planificado"]}},"scope":{"covers":"Protocol and payment rails, receipt evidence layers, and the agent-facing identity surfaces that publish a state in a public manifest.","coversEs":"Rails de protocolo y de pago, capas de evidencia del recibo, y las superficies de identidad orientadas a agentes que publican un estado en algún manifiesto público.","excludes":["Store platform connectors (Shopify, WooCommerce, PrestaShop, Magento, Odoo) — see /.well-known/agent-commerce.json → connectedPlatforms","Agent Readiness / Assurance and POST /api/v1/audits — see /llms.txt §5","The checkout enforcement rule engine — see /en/protocol-coverage","Trust Score v4.1 — see GET /api/v1/trust/methodology, which reports its own live rollout state"],"note":"This registry is authoritative for what it covers, and it does not cover everything the platform ships. Where a capability is listed here, this file wins over any other claim on the site. Where it is not listed, the pointer in `excludes` names the surface that is authoritative for it.","noteEs":"Este registro manda sobre lo que cubre, y no cubre todo lo que la plataforma publica. Si una capacidad está aquí, este fichero gana a cualquier otra afirmación del sitio. Si no está, el puntero de `excludes` nombra la superficie que sí manda sobre ella."},"signature":{"jws":"eyJhbGciOiJFZERTQSIsImtpZCI6ImYyNzdmZjczLWVkOGUtNGQ4NS05YjU0LTgwNDZlNTcyNjY3YyIsInR5cCI6InRydXN0ZWVkLWNhcGFiaWxpdGllcytqd3MifQ.eyJjYXBhYmlsaXRpZXMiOlt7ImJhbm5lZF9jbGFpbXMiOlsiKG1pbGVzfGNpZW50b3N8bWlsbG9uZXN8dGhvdXNhbmRzfGh1bmRyZWRzfG1pbGxpb25zKSBkZSAocGFnb3N8dHJhbnNhY2Npb25lc3xsaXF1aWRhY2lvbmVzKSB4NDAyIiwieDQwMiAocGF5bWVudHN8dHJhbnNhY3Rpb25zKSAocHJvY2Vzc2VkfHNldHRsZWQpIiwiKHBhZ29zfHRyYW5zYWNjaW9uZXMpIHg0MDIgKHByb2Nlc2FkfGxpcXVpZGFkKSIsImNvbWVyY2lhbnRlcyAoeWEgKT8odXNhbnx1dGlsaXphbnxhY2VwdGFuKSB4NDAyIiwibWVyY2hhbnRzIChhbHJlYWR5ICk_KHVzZXxhY2NlcHQpIHg0MDIiXSwiZXZpZGVuY2UiOiJSYWlsIGRlc3BsZWdhZG87IE5PIGxpcXVpZGFibGUgaG95IChyZXZpc2nDs24gMjAyNi0wOC0xOSwgc29uZGFzIGVuIHZpdm8gKyB2YWxpZGFkb3IgZWplY3V0YWRvKS4gYC9oZWFsdGggcHJvdG9jb2xzLng0MDIuaGVhbHRoeWAgTk8gcHJ1ZWJhIG5hZGEgKEhFQUQgYSB4NDAyLm9yZyBxdWUgYWNlcHRhIGhhc3RhIDQwNCkgeSBgZGVtby5wcm90b2NvbEJyaWRnZXMueDQwMjpcImFjdGl2ZVwiYCBlcyB1biBMSVRFUkFMIGhhcmRjb2RlYWRvIGVuIGBoZWFsdGgudHNgLCBubyB1bmEgbWVkaWNpw7NuLiBIYWJpbGl0YWRvIHPDs2xvIGVuIGBkZW1vLXN0b3JlYCB5IGBwcmVzdGFzaG9wLWRlbW9gLCBwZXJvIHN1IGNvbmZpZyBzZW1icmFkYSBlcyBge2FkYXB0ZXJLZXksIG1vZGU6XCJtb2NrXCJ9YCB5IGB2YWxpZGF0ZVg0MDJDb25maWdgIGxhIFJFQ0hBWkEgKGB3YWxsZXRBZGRyZXNzOiBSZXF1aXJlZDsgbmV0d29yazogUmVxdWlyZWRgKSwgYXPDrSBxdWUgZWwgY29uc3RydWN0b3IgZGVsIDQwMiB5IGVsIHNldHRsZSBkZXZ1ZWx2ZW4gYHg0MDJfbm90X2NvbmZpZ3VyZWRgOyBgYWdlbnRpY21jcHN0b3JlYCDihpIgYHg0MDIuZW5hYmxlZD1mYWxzZWAuIEVsIGVzcXVlbWEgZGUgY29tZXJjaWFudGUgYWRtaXRlIFPDk0xPIG1haW5uZXQgKGBiYXNlfGV0aGVyZXVtfHNvbGFuYXxwb2x5Z29ufGFyYml0cnVtYDsgYGJhc2Utc2Vwb2xpYWAgcmVjaGF6YWRvKSBjb24gYGZhY2lsaXRhdG9yVXJsYCBwb3IgZGVmZWN0byBgeDQwMi5vcmdgIOKAlCBlbCBkZSBURVNUTkVULiBMYSBzb25kYSBkZSBwbGF0YWZvcm1hIGAvYXBpL3g0MDJgIGFudW5jaWEgYmFzZS1zZXBvbGlhIGNvbiBgcGF5VG9gID0gZGlyZWNjacOzbiBOVUxBIChgWDQwMl9XQUxMRVRfQUREUkVTU2Agc2luIHBvbmVyKSB5IHJlc3BvbmRlIDIwMCDCq1BheW1lbnQgYWNrbm93bGVkZ2VkwrsgYSBjdWFscXVpZXIgY2FiZWNlcmEgc2luIHZlcmlmaWNhci4gQ2VybyBsaXF1aWRhY2lvbmVzIHJlYWxlcyBjb25vY2lkYXMsIGVuIG5pbmd1bmEgcmVkLiIsImhlYWx0aF9rZXkiOiJwcm90b2NvbHMueDQwMi5oZWFsdGh5IiwiaWQiOiJ4NDAyIiwibGFzdF92ZXJpZmllZF9hdCI6IjIwMjYtMDgtMTkiLCJwdWJsaWNfY2xhaW1fbWF4IjoiRWwgcmFpbCB4NDAyIGVzdMOhIGRlc3BsZWdhZG8geSBuaW5nw7puIGNvbWVyY2lvIHRpZW5lIGhveSB1bmEgY29uZmlndXJhY2nDs24gbGlxdWlkYWJsZTogZWwgY29uc3RydWN0b3IgZGVsIDQwMiB5IGVsIHNldHRsZSBkZXZ1ZWx2ZW4gYHg0MDJfbm90X2NvbmZpZ3VyZWRgLiBOTyBzZSBwdWVkZSBhZmlybWFyIHF1ZSBhY2VwdGVtb3MgcGFnb3MgeDQwMiwgbmkgdm9sdW1lbiwgbGlxdWlkYWNpb25lcyBuaSBjb21lcmNpYW50ZXMgdXPDoW5kb2xvLiIsInB1YmxpY19jbGFpbV9tYXhfZW4iOiJUaGUgeDQwMiByYWlsIGlzIGRlcGxveWVkIGFuZCBubyBtZXJjaGFudCBoYXMgYSBzZXR0bGVhYmxlIGNvbmZpZ3VyYXRpb24gdG9kYXk6IHRoZSA0MDIgYnVpbGRlciBhbmQgdGhlIHNldHRsZSByb3V0ZSBib3RoIHJldHVybiBgeDQwMl9ub3RfY29uZmlndXJlZGAuIFRoYXQgd2UgYWNjZXB0IHg0MDIgcGF5bWVudHMg4oCUIGFuZCBhbnkgdm9sdW1lLCBzZXR0bGVtZW50IG9yIG1lcmNoYW50IHVzaW5nIGl0IOKAlCBjYW5ub3QgYmUgY2xhaW1lZC4iLCJzdGF0ZSI6IlNBTkRCT1giLCJ0aXRsZSI6Ing0MDIgSFRUUC1uYXRpdmUgcGF5bWVudHMifSx7ImV2aWRlbmNlIjoiL2hlYWx0aCBkZW1vLnByb3RvY29sQnJpZGdlcy5hY3AgPSB1bmNvbmZpZ3VyZWQiLCJoZWFsdGhfa2V5IjoiZGVtby5wcm90b2NvbEJyaWRnZXMuYWNwIiwiaWQiOiJhY3AiLCJsYXN0X3ZlcmlmaWVkX2F0IjoiMjAyNi0wOC0zMSIsInB1YmxpY19jbGFpbV9tYXgiOiJQdWVudGUgQUNQIGRlc3BsZWdhZG8geSBjb25maWd1cmFibGUgcG9yIGNvbWVyY2lvLiBObyBoYXkgbmluZ3VubyBjb25maWd1cmFkbyBlbiBwcm9kdWNjacOzbjogYC9hcGkvdjEvaGVhbHRoYCByZXNwb25kZSBkZW1vLnByb3RvY29sQnJpZGdlcy5hY3AgPSB1bmNvbmZpZ3VyZWQuIE5vIHNlIHB1ZWRlIGFmaXJtYXIgbGlxdWlkYWNpw7NuIHBvciBlc3RlIHJhaWwuIiwicHVibGljX2NsYWltX21heF9lbiI6IkFDUCBicmlkZ2UgZGVwbG95ZWQgYW5kIGNvbmZpZ3VyYWJsZSBwZXIgbWVyY2hhbnQuIE5vbmUgaXMgY29uZmlndXJlZCBpbiBwcm9kdWN0aW9uOiBgL2FwaS92MS9oZWFsdGhgIHJlcG9ydHMgZGVtby5wcm90b2NvbEJyaWRnZXMuYWNwID0gdW5jb25maWd1cmVkLiBTZXR0bGVtZW50IG92ZXIgdGhpcyByYWlsIGNhbm5vdCBiZSBjbGFpbWVkLiIsInN0YXRlIjoiU0FOREJPWCIsInRpdGxlIjoiQWdlbnRpYyBDb21tZXJjZSBQcm90b2NvbCJ9LHsiZXZpZGVuY2UiOiJTb25kZWFkbyAyMDI2LTA4LTMxIGVuIGB0cnVzdGVlZC54eXpgIHkgZW4gYGFwaS50cnVzdGVlZC54eXpgOiBgL2hlYWx0aCBkZW1vLnByb3RvY29sQnJpZGdlcy5hcDJgIHJlc3BvbmTDrWEgZWwgbGl0ZXJhbCBgXCJhY3RpdmVcImAg4oCUaGFyZGNvZGVhZG8gZW4gYGhlYWx0aC50c2AsIG5vIHVuYSBtZWRpY2nDs27igJQgc2luIG5pbmfDum4gY2FsaWZpY2Fkb3IgcXVlIGxvIGF0YXNlIGFsIGVudG9ybm8gZGUgREVNTyBkZSBHb29nbGUsIHF1ZSBlcyBjb250cmEgbG8gcXVlIGhhYmxhIGVsIHB1ZW50ZS4gYFwiYWN0aXZlXCJgIGVzIGFkZW3DoXMgbGEgcGFsYWJyYSBxdWUgbGEgYHN0YXRlX3ZvY2FidWxhcnlgIGZpcm1hZGEgZGVjbGFyYSBzaW7Ds25pbW8gZXhhY3RvIGRlIExJVkUsIHNvYnJlIHVuIHJhaWwgcXVlIGVzdGUgcmVnaXN0cm8gdGllbmUgZW4gU0FOREJPWC4gQ09SUkVHSURPIGVsIG1pc21vIGTDrWE6IGVsIGNhbXBvIHNlIERFUklWQSBhaG9yYSBkZSBlc3RhIGVudHJhZGEgKGBicmlkZ2VTdGF0ZU9mYCksIGFzw60gcXVlIHJlc3BvbmRlIGBcInNhbmRib3hcImAgeSBubyBwdWVkZSB2b2x2ZXIgYSBkaXZlcmdpciBzaW4gY2FtYmlhciBlbCBlc3RhZG8gZGUgYXF1w60uIENlcm8gbWFuZGF0b3MgZGUgY2Fycml0byByZWFsZXMsIGNlcm8gbGlxdWlkYWNpb25lcy4iLCJoZWFsdGhfa2V5IjoiZGVtby5wcm90b2NvbEJyaWRnZXMuYXAyIiwiaWQiOiJhcDIiLCJsYXN0X3ZlcmlmaWVkX2F0IjoiMjAyNi0wOC0zMSIsInB1YmxpY19jbGFpbV9tYXgiOiJFbCBwdWVudGUgaGFibGEgY29uIGVsIGVudG9ybm8gZGUgREVNTyBkZSBHb29nbGUsIG5vIGNvbiB1biBmbHVqbyBkZSBtYW5kYXRvcyBkZSBwcm9kdWNjacOzbi4gYC9hcGkvdjEvaGVhbHRoYCByZXNwb25kZSBkZW1vLnByb3RvY29sQnJpZGdlcy5hcDIgPSBhY3RpdmUgKGRlbW8pLiBObyBzZSBwdWVkZSBhZmlybWFyIHVuIG1hbmRhdG8gZGUgY2Fycml0byByZWFsIG5pIGxpcXVpZGFjacOzbi4iLCJwdWJsaWNfY2xhaW1fbWF4X2VuIjoiVGhlIGJyaWRnZSB0YWxrcyB0byBHb29nbGUncyBvd24gREVNTyBlbnZpcm9ubWVudCwgbm90IGEgcHJvZHVjdGlvbiBjYXJ0LW1hbmRhdGUgZmxvdy4gYC9hcGkvdjEvaGVhbHRoYCByZXBvcnRzIGRlbW8ucHJvdG9jb2xCcmlkZ2VzLmFwMiA9IGFjdGl2ZSAoZGVtbykuIEEgcmVhbCBjYXJ0IG1hbmRhdGUgb3Igc2V0dGxlbWVudCBjYW5ub3QgYmUgY2xhaW1lZC4iLCJzdGF0ZSI6IlNBTkRCT1giLCJ0aXRsZSI6IkFnZW50IFBheW1lbnRzIFByb3RvY29sIChBUDIpIn0seyJldmlkZW5jZSI6IlNvbmRhcyAyMDI2LTA5LTAzOiBgcmFpbHdheSB2YXJpYWJsZXMgLS1zZXJ2aWNlIGFwaWAg4oaSIGBNQ0FQX0VOQUJMRUQ9dHJ1ZWAsIHkgYEdFVCAvYXBpL3YxL2hlYWx0aGAg4oaSIGBwcm90b2NvbHMubWNhcCA9IHthdmFpbGFibGU6IGZhbHNlLCBtb2RlOiBcInBhc3MtdGhyb3VnaC1zdHJpcGVcIn1gLiBMYSBiYW5kZXJhIE5PIGVzIGxhIHF1ZSBkZWphIGBhdmFpbGFibGVgIGVuIG5lZ2F0aXZvIOKAlCBjb24gZWxsYSBwdWVzdGEgZWwgYmxvcXVlIHNlIHB1YmxpY2EgeSBlbCBhZGFwdGFkb3IgZW50cmFudGUgc2UgcmVnaXN0cmEgKGBzZXJ2ZXIudHNgKTsgYGF2YWlsYWJsZWAgY29waWEgYHN0cmlwZUNvbm5lY3RlZGAgKGByb3V0ZXMvaGVhbHRoLnRzYCkuIENlcm8gbGlxdWlkYWNpb25lcyBjb25vY2lkYXMgcG9yIGVzdGUgcmFpbC4iLCJmbGFnX29ic2VydmF0aW9uIjp7Im9ic2VydmVkX2F0IjoiMjAyNi0wOS0wMyIsInNvdXJjZSI6ImByYWlsd2F5IHZhcmlhYmxlcyAtLXNlcnZpY2UgYXBpYCAoZW50b3JubyBkZSBwcm9kdWNjacOzbikiLCJ2YWx1ZSI6InRydWUifSwiZ292ZXJuZWRfYnlfZmxhZyI6Ik1DQVBfRU5BQkxFRCIsImhlYWx0aF9rZXkiOiJwcm90b2NvbHMubWNhcC5hdmFpbGFibGUiLCJpZCI6Im1jYXAiLCJsYXN0X3ZlcmlmaWVkX2F0IjoiMjAyNi0wOS0wMyIsInB1YmxpY19jbGFpbV9tYXgiOiJTaW4gbGlxdWlkYWNpw7NuOiBgTUNBUF9FTkFCTEVEYCBlc3TDoSBwdWVzdGEgZW4gcHJvZHVjY2nDs24sIGFzw60gcXVlIGVsIGFkYXB0YWRvciBkZSBwYWdvIGVudHJhbnRlIHNlIHJlZ2lzdHJhIHkgYC9oZWFsdGhgIHB1YmxpY2EgZWwgYmxvcXVlIGBwcm90b2NvbHMubWNhcGAg4oCUIHBlcm8gYHByb3RvY29scy5tY2FwLmF2YWlsYWJsZWAgc2lndWUgZW4gbmVnYXRpdm8sIHBvcnF1ZSBlc2UgY2FtcG8gcmVmbGVqYSBsYSBjb25leGnDs24gY29uIFN0cmlwZSwgbm8gbGEgYmFuZGVyYS4gTGEgc3VwZXJmaWNpZSBkZSBjcmVkZW5jaWFsZXMgZXN0w6EgcmVnaXN0cmFkYSBzaW4gYmFuZGVyYSAoYC9hcGkvdjEvbWNhcC9rZXlzYCwgYC9jb25zZW50YCwgYC92ZXJpZmlhYmxlLWludGVudGApLiBObyBzZSBwdWVkZSBhZmlybWFyIG5pbmd1bmEgbGlxdWlkYWNpw7NuIHBvciBlc3RlIHJhaWwuIiwicHVibGljX2NsYWltX21heF9lbiI6Ik5vIHNldHRsZW1lbnQ6IGBNQ0FQX0VOQUJMRURgIGlzIHNldCBpbiBwcm9kdWN0aW9uLCBzbyB0aGUgaW5ib3VuZCBwYXltZW50IGFkYXB0ZXIgaXMgcmVnaXN0ZXJlZCBhbmQgYC9oZWFsdGhgIHB1Ymxpc2hlcyB0aGUgYHByb3RvY29scy5tY2FwYCBibG9jayDigJQgeWV0IGBwcm90b2NvbHMubWNhcC5hdmFpbGFibGVgIHN0YXlzIG5lZ2F0aXZlLCBiZWNhdXNlIHRoYXQgZmllbGQgcmVmbGVjdHMgdGhlIFN0cmlwZSBjb25uZWN0aW9uLCBub3QgdGhlIGZsYWcuIFRoZSBjcmVkZW50aWFsIHN1cmZhY2UgaXMgcmVnaXN0ZXJlZCB3aXRob3V0IGEgZmxhZyAoYC9hcGkvdjEvbWNhcC9rZXlzYCwgYC9jb25zZW50YCwgYC92ZXJpZmlhYmxlLWludGVudGApLiBObyBzZXR0bGVtZW50IG92ZXIgdGhpcyByYWlsIGNhbiBiZSBjbGFpbWVkLiIsInN0YXRlIjoiRE9STUFOVCIsInRpdGxlIjoiTWFzdGVyY2FyZCBBZ2VudCBQYXkifSx7ImV2aWRlbmNlIjoiL2hlYWx0aCBreWFwYXkuZW5hYmxlZCA9IGZhbHNlIiwiaGVhbHRoX2tleSI6InByb3RvY29scy5reWFwYXkuZW5hYmxlZCIsImlkIjoia3lhcGF5IiwibGFzdF92ZXJpZmllZF9hdCI6IjIwMjYtMDgtMzEiLCJwdWJsaWNfY2xhaW1fbWF4IjoiSW1wbGVtZW50YWRvIHkgYXBhZ2FkbzogYC9hcGkvdjEvaGVhbHRoYCByZXNwb25kZSBwcm90b2NvbHMua3lhcGF5LmVuYWJsZWQgPSBmYWxzZS4gTmFkYSBkZSBlc3RlIHJhaWwgZXN0w6Egc2lydmllbmRvIGhveS4iLCJwdWJsaWNfY2xhaW1fbWF4X2VuIjoiSW1wbGVtZW50ZWQgYW5kIHN3aXRjaGVkIG9mZjogYC9hcGkvdjEvaGVhbHRoYCByZXBvcnRzIHByb3RvY29scy5reWFwYXkuZW5hYmxlZCA9IGZhbHNlLiBOb3RoaW5nIG9uIHRoaXMgcmFpbCBpcyBzZXJ2aW5nIHRvZGF5LiIsInN0YXRlIjoiRE9STUFOVCIsInRpdGxlIjoiS1lBcGF5In0seyJldmlkZW5jZSI6Ii9oZWFsdGggcGF5bWVudF90cnVzdC5peG9wYXkgPSB1bmNvbmZpZ3VyZWQiLCJoZWFsdGhfa2V5IjoicGF5bWVudF90cnVzdC5peG9wYXkuZW5hYmxlZCIsImlkIjoiaXhvcGF5IiwibGFzdF92ZXJpZmllZF9hdCI6IjIwMjYtMDgtMzEiLCJwdWJsaWNfY2xhaW1fbWF4IjoiT3B0LWluIHBvciBjb21lcmNpbyB2w61hIGBNZXJjaGFudFBzcENvbmZpZ2AgeSBzaW4gY29uZmlndXJhciBlbiBwcm9kdWNjacOzbiAoYC9hcGkvdjEvaGVhbHRoYCDihpIgcGF5bWVudF90cnVzdC5peG9wYXkgPSB1bmNvbmZpZ3VyZWQpLiBFbCBlbnJ1dGFkbyB5IGxhIGLDs3ZlZGEgc29uIGNvbnN1bHRpdm9zOiBwb3IgZXN0YSBjYXBhIG5vIHNlIGVqZWN1dGEgbmluZ3VuYSBsaXF1aWRhY2nDs24gcmVhbC4iLCJwdWJsaWNfY2xhaW1fbWF4X2VuIjoiT3B0LWluIHBlciBtZXJjaGFudCB2aWEgYE1lcmNoYW50UHNwQ29uZmlnYCBhbmQgdW5jb25maWd1cmVkIGluIHByb2R1Y3Rpb24gKGAvYXBpL3YxL2hlYWx0aGAg4oaSIHBheW1lbnRfdHJ1c3QuaXhvcGF5ID0gdW5jb25maWd1cmVkKS4gUm91dGluZyBhbmQgdmF1bHQgYXJlIGFkdmlzb3J5LW9ubHk6IG5vIHJlYWwgc2V0dGxlbWVudCBleGVjdXRlcyB0aHJvdWdoIHRoaXMgbGF5ZXIuIiwic3RhdGUiOiJET1JNQU5UIiwidGl0bGUiOiJJWE9QQVkgcGF5bWVudCB0cnVzdCJ9LHsiZXZpZGVuY2UiOiJzcGVjcy8wNTYtdHJ1c3RyZWNlaXB0LW1wcC1iaW5kaW5nLyIsImZsYWdfb2JzZXJ2YXRpb24iOnsib2JzZXJ2ZWRfYXQiOiIyMDI2LTA5LTAzIiwic291cmNlIjoiYHJhaWx3YXkgdmFyaWFibGVzIC0tc2VydmljZSBhcGlgIChlbnRvcm5vIGRlIHByb2R1Y2Npw7NuKSIsInZhbHVlIjpudWxsfSwiZ292ZXJuZWRfYnlfZmxhZyI6IlNQRUMwNTZfTVBQX0JJTkRJTkdfUFJPRF9SRUFEWSIsImlkIjoibXBwIiwibGFzdF92ZXJpZmllZF9hdCI6bnVsbCwicHVibGljX2NsYWltX21heCI6IlZpbmN1bGFjacOzbiBpbXBsZW1lbnRhZGEgeSBkb3JtaWRhIHRyYXMgYFNQRUMwNTZfTVBQX0JJTkRJTkdfUFJPRF9SRUFEWWA6IHNpbiBsYSBiYW5kZXJhLCBsYXMgY2luY28gcnV0YXMgcmVzcG9uZGVuIDUwMy4gTm8gc2UgaGEgZW1pdGlkbyBuaW5nw7puIHJlY2libyB2aW5jdWxhZG8gYSBNUFAgZW4gcHJvZHVjY2nDs24uIiwicHVibGljX2NsYWltX21heF9lbiI6IkJpbmRpbmcgaW1wbGVtZW50ZWQgYW5kIGRvcm1hbnQgYmVoaW5kIGBTUEVDMDU2X01QUF9CSU5ESU5HX1BST0RfUkVBRFlgOiB3aXRob3V0IHRoZSBmbGFnIGl0cyBmaXZlIHJvdXRlcyBhbnN3ZXIgNTAzLiBObyBNUFAtYm91bmQgcmVjZWlwdCBoYXMgYmVlbiBpc3N1ZWQgaW4gcHJvZHVjdGlvbi4iLCJzdGF0ZSI6IkNPREVfQ09NUExFVEUiLCJ0aXRsZSI6IlRydXN0UmVjZWlwdCDihpQgTVBQIGJpbmRpbmcifSx7ImJhbm5lZF9jbGFpbXMiOlsiZXZlcnkgYWdlbnRpYyB0cmFuc2FjdGlvbiIsImNhZGEgdHJhbnNhY2NpW2_Ds11uIGFnW2XDqV1udGljYSBnZW5lcmEiLCJjb21wYXRpYmxlIHdpdGggZUlEQVMiLCJjb21wYXRpYmxlIGNvbiBlSURBUyJdLCJldmlkZW5jZSI6InNwZWNzLzA0OS10cnVzdC1yZWNlaXB0LWVpZGFzLWhhcmRlbmluZy8iLCJmbGFnX29ic2VydmF0aW9uIjp7Im9ic2VydmVkX2F0IjoiMjAyNi0wOS0wMyIsInNvdXJjZSI6ImByYWlsd2F5IHZhcmlhYmxlcyAtLXNlcnZpY2UgYXBpYCAoZW50b3JubyBkZSBwcm9kdWNjacOzbikiLCJ2YWx1ZSI6ImZhbHNlIn0sImdvdmVybmVkX2J5X2ZsYWciOiJUUlVTVF9SRUNFSVBUX0VJREFTX0hBUkRFTklOR19FTkFCTEVEIiwiaGVhbHRoX2tleSI6InF0c3AuZW5hYmxlZCIsImlkIjoidHJ1c3RfcmVjZWlwdF92MTEiLCJsYXN0X3ZlcmlmaWVkX2F0IjpudWxsLCJwdWJsaWNfY2xhaW1fbWF4IjoiTGFzIHRyYW5zYWNjaW9uZXMgYWfDqW50aWNhcyBwdWVkZW4gZ2VuZXJhciB1biByZWNpYm8gZmlybWFkbyDigKYgZGlzZcOxYWRvIHBhcmEgYWxpbmVhY2nDs24gZUlEQVMvRVNJR04uIExhIGVtaXNpw7NuIHYxLjEgZXN0w6EgdHJhcyBgVFJVU1RfUkVDRUlQVF9FSURBU19IQVJERU5JTkdfRU5BQkxFRGAgKG9mZiBwb3IgZGVmZWN0byk6IGVsIGNvcnB1cyBxdWUgZXhpc3RlIGhveSBlcyB2MS4wLiIsInB1YmxpY19jbGFpbV9tYXhfZW4iOiJBZ2VudGljIHRyYW5zYWN0aW9ucyBjYW4gZ2VuZXJhdGUgYSBzaWduZWQgcmVjZWlwdCDigKYgZGVzaWduZWQgZm9yIGVJREFTL0VTSUdOIGFsaWdubWVudC4gdjEuMSBpc3N1YW5jZSBzaXRzIGJlaGluZCBgVFJVU1RfUkVDRUlQVF9FSURBU19IQVJERU5JTkdfRU5BQkxFRGAgKG9mZiBieSBkZWZhdWx0KTogdGhlIGNvcnB1cyB0aGF0IGV4aXN0cyB0b2RheSBpcyB2MS4wLiIsInN0YXRlIjoiQ09ERV9DT01QTEVURSIsInRpdGxlIjoiVHJ1c3RSZWNlaXB0IHYxLjEgKGVJREFTLWhhcmRlbmVkIHJlY2VpcHRzKSJ9LHsiYmFubmVkX2NsYWltcyI6WyJvcGVyYXRpb25zIG5vdyByZXF1aXJlIC4qcXVhbGlmaWVkIGVsZWN0cm9uaWMgc2lnbmF0dXJlIiwibWVyY2hhbnRzPyByZWNlaXZlcz8gYSBxdWFsaWZpZWQgZWxlY3Ryb25pYyBzaWduYXR1cmUiLCJsYXMgb3BlcmFjaW9uZXMgKGNyw610aWNhcyApPyhhaG9yYSApP3JlcXVpZXJlbiAuKmZpcm1hIGVsZWN0csOzbmljYSBjdWFsaWZpY2FkYSJdLCJldmlkZW5jZSI6InNwZWNzLzAzMi1laWRhcy1xdHNwLW1lcmNoYW50LXZlcmlmaWNhdGlvbi8sIC9oZWFsdGggcXRzcC5lbmFibGVkID0gZmFsc2UiLCJoZWFsdGhfa2V5IjoicXRzcC5lbmFibGVkIiwiaWQiOiJlaWRhc19xdHNwIiwibGFzdF92ZXJpZmllZF9hdCI6IjIwMjYtMDgtMzEiLCJwdWJsaWNfY2xhaW1fbWF4IjoiRGlzZcOxYWRvIHBhcmEgZW1pdGlyIFFFUyB2w61hIHVuIFFUU1AgYWNyZWRpdGFkbyAoSW5mb0NlcnQpIOKAlCBpbnRlZ3JhY2nDs24gY29kZS1jb21wbGV0ZSwgcGVuZGllbnRlIGRlIGNyZWRlbmNpYWxlcyBkZSBwcm9kdWNjacOzbiIsInB1YmxpY19jbGFpbV9tYXhfZW4iOiJEZXNpZ25lZCB0byBpc3N1ZSBRRVMgdmlhIGFuIGFjY3JlZGl0ZWQgUVRTUCAoSW5mb0NlcnQpIOKAlCB0aGUgaW50ZWdyYXRpb24gaXMgY29kZS1jb21wbGV0ZSwgcGVuZGluZyBwcm9kdWN0aW9uIGNyZWRlbnRpYWxzIiwic3RhdGUiOiJDT0RFX0NPTVBMRVRFIiwidGl0bGUiOiJlSURBUyBRVFNQIHRpbWVzdGFtcGluZyJ9LHsiZXZpZGVuY2UiOiJMZWN0dXJhIGRlbCBjw7NkaWdvICsgYHJhaWx3YXkgdmFyaWFibGVzIC0tc2VydmljZSBhcGlgICgyMDI2LTA5LTAzKTogYEFHRU5UX0lERU5USVRZX1ZFUklGSUNBVElPTl9NT0RFPWJsb2NrX3Nwb29mZWRgLiBDb24gZXNlIG1vZG8sIGBldmFsdWF0ZUFnZW50SWRlbnRpdHlFbmZvcmNlbWVudGAgKGBzZXJ2aWNlcy9hZ2VudC1pZGVudGl0eS9hZ2VudC1pZGVudGl0eS1lbmZvcmNlbWVudC5zZXJ2aWNlLnRzYCkgcmVjaGF6YSBTw5NMTyBgdmVyaWZpY2F0aW9uU3RhdHVzOlwic3Bvb2ZlZFwiYCB5IFPDk0xPIGZ1ZXJhIGRlIERpc2NvdmVyeTsgYHVudmVyaWZpZWRgIHkgYHNraXBwZWRgIHBhc2FuLiBMYXMgdHJlcyBydXRhcyBxdWUgbG8gYXBsaWNhbiBkZXZ1ZWx2ZW4gNDAzIGBhZ2VudF9zaWduYXR1cmVfc3Bvb2ZlZGAgKGByb3V0ZXMvbWNwL2N1c3RvbWVyLnJvdXRlcy50c2AsIGByb3V0ZXMvbWNwL2NoZWNrb3V0LnJvdXRlcy50c2AsIGByb3V0ZXMvbWNwL2xlZ2FjeS1kaXNwYXRjaC50c2ApLiBOTyBzZSBoYSBzb25kZWFkbyBjb24gdW5hIHBldGljacOzbiBmaXJtYWRhIHJlYWwgbmkgaGF5IGNvbnRlbyBkZSByZWNoYXpvczogbGEgY2xhc2lmaWNhY2nDs24gc2UgbGV5w7MgZW4gZWwgY8OzZGlnbywgbm8gc2UgbWlkacOzIGVuIHByb2R1Y2Npw7NuLiBVbiBmYWxsbyBkZSByZWQgYWwgcmVzb2x2ZXIgZWwgSldLUyB5YSBOTyBzZSBjbGFzaWZpY2EgY29tbyBmYWxzaWZpY2FjacOzbiAoYGp3a3NfZmV0Y2hfZmFpbGVkOipgIOKGkiBgdW52ZXJpZmllZGAgdsOtYSBgaXNKd2tzVW5yZWFjaGFibGVFcnJvcmAsIG3DoXMgZWwgYGF1dG9TZWxlY3RGYW1pbHlgIGRlbCBkaXNwYXRjaGVyIHBpbmVhZG8sIGFtYm9zIGVuIGBtYWluYCBkZXNkZSBlbCAyMDI2LTA4LTI5LCBjb21taXQgZTc0ZjVlYTRmKTsgYW50ZXMgZGUgZXNhIGZlY2hhIHPDrSwgeSB1biBhZ2VudGUgbGVnw610aW1vIGNvbiBlbCBzZXJ2aWRvciBkZSBjbGF2ZXMgY2HDrWRvIHJlY2liw61hIDQwMy4iLCJmbGFnX29ic2VydmF0aW9uIjp7ImFsc29fY2l0ZXMiOlsib2ZmIiwicmVxdWlyZV92ZXJpZmllZF9jaGVja291dCIsInJlcXVpcmVfdmVyaWZpZWRfYXV0aGVudGljYXRlZCJdLCJvYnNlcnZlZF9hdCI6IjIwMjYtMDktMDMiLCJzb3VyY2UiOiJgcmFpbHdheSB2YXJpYWJsZXMgLS1zZXJ2aWNlIGFwaWAgKGVudG9ybm8gZGUgcHJvZHVjY2nDs24pIiwidmFsdWUiOiJibG9ja19zcG9vZmVkIn0sImdvdmVybmVkX2J5X2ZsYWciOiJBR0VOVF9JREVOVElUWV9WRVJJRklDQVRJT05fTU9ERSIsImlkIjoiYWdlbnRfaWRlbnRpdHkiLCJsYXN0X3ZlcmlmaWVkX2F0IjoiMjAyNi0wOS0wMyIsInB1YmxpY19jbGFpbV9tYXgiOiJWZXJpZmljYWRvciBSRkMgOTQyMSBpbXBsZW1lbnRhZG8geSBkZXNwbGVnYWRvIGVuIG1vZG8gYGJsb2NrX3Nwb29mZWRgIChlbCB2YWxvciBwb3IgZGVmZWN0byBkZWwgY8OzZGlnbyBlcyBgb2ZmYCk6IHVuYSBwZXRpY2nDs24gcXVlIHRyYWUgdW5hIGZpcm1hIEhUVFAgcXVlIG5vIHZlcmlmaWNhIHNlIHJlY2hhemEgY29uIDQwMyBlbiBsb3MgYnVja2V0cyBDdXN0b21lciB5IENoZWNrb3V0OyB1bmEgc2luIGZpcm1hIHBhc2EsIHkgRGlzY292ZXJ5IG5vIHNlIGZpbHRyYSBudW5jYS4gQ29tbyBubyBoYXkgYWN0aXZvIG5pbmfDum4gbW9kbyBgcmVxdWlyZV92ZXJpZmllZF9jaGVja291dGAgbmkgYHJlcXVpcmVfdmVyaWZpZWRfYXV0aGVudGljYXRlZGAsIG5vIGZpcm1hciBzYWxlIGdyYXRpcyB5IGxhIGlkZW50aWRhZCBkZWwgYWdlbnRlIHNpZ3VlIHNpbiBzZXIgdW5hIHNlw7FhbCBlbiBsYSBxdWUgc2UgcHVlZGEgY29uZmlhci4gTk8gc2UgcHVlZGUgYWZpcm1hciBxdWUgbG9zIGFnZW50ZXMgcXVlIG5vcyBsbGVnYW4gZXN0w6luIGlkZW50aWZpY2Fkb3MsIG5pIGN1w6FudG9zIHJlY2hhem9zIGhhIGhhYmlkbzogbm8gc2UgbWlkZS4iLCJwdWJsaWNfY2xhaW1fbWF4X2VuIjoiUkZDIDk0MjEgdmVyaWZpZXIgaW1wbGVtZW50ZWQgYW5kIGRlcGxveWVkIGluIG1vZGUgYGJsb2NrX3Nwb29mZWRgICh0aGUgY29kZSBkZWZhdWx0IGlzIGBvZmZgKTogYSByZXF1ZXN0IGNhcnJ5aW5nIGFuIEhUVFAgc2lnbmF0dXJlIHRoYXQgZmFpbHMgdmVyaWZpY2F0aW9uIGlzIHJlamVjdGVkIHdpdGggNDAzIG9uIHRoZSBDdXN0b21lciBhbmQgQ2hlY2tvdXQgYnVja2V0czsgYW4gdW5zaWduZWQgcmVxdWVzdCBwYXNzZXMsIGFuZCBEaXNjb3ZlcnkgaXMgbmV2ZXIgZmlsdGVyZWQuIFdpdGggbmVpdGhlciBgcmVxdWlyZV92ZXJpZmllZF9jaGVja291dGAgbm9yIGByZXF1aXJlX3ZlcmlmaWVkX2F1dGhlbnRpY2F0ZWRgIGFjdGl2ZSwgbm90IHNpZ25pbmcgY29zdHMgbm90aGluZyBhbmQgYWdlbnQgaWRlbnRpdHkgcmVtYWlucyBhIHNpZ25hbCB0aGF0IGNhbm5vdCBiZSByZWxpZWQgb24uIFRoYXQgdGhlIGFnZW50cyByZWFjaGluZyB1cyBhcmUgaWRlbnRpZmllZCBjYW5ub3QgYmUgY2xhaW1lZCwgbm9yIGNhbiBhbnkgcmVqZWN0aW9uIGNvdW50OiBpdCBpcyBub3QgbWVhc3VyZWQuIiwic3RhdGUiOiJDT0RFX0NPTVBMRVRFIiwidGl0bGUiOiJWZXJpZmljYWNpw7NuIGRlIGlkZW50aWRhZCBkZSBhZ2VudGUgcG9yIGZpcm1hIEhUVFAiLCJ0aXRsZV9lbiI6IkFnZW50IEhUVFAgc2lnbmF0dXJlIGlkZW50aXR5IHZlcmlmaWNhdGlvbiJ9LHsiZXZpZGVuY2UiOiJTaW4gcHJvdmVlZG9yIE9GQUMvVUUvUlUgZW4gZWwgY2FtaW5vIGRlIHByb2R1Y2Npw7NuIChhdWRpdG9yw61hIFAxLTA0LCAyMDI2LTA3LTEwKS4gYHJhaWx3YXkgdmFyaWFibGVzIC0tc2VydmljZSBhcGlgICgyMDI2LTA5LTAzKTogYFNBTkNUSU9OU19TQ1JFRU5JTkdfTU9ERT1sb2ctb25seWAsIHF1ZSBOTyBjcmliYSDigJQgcmVnaXN0cmEgZWwgaW50ZW50byB5IHBhc2EgKGBzZXJ2aWNlcy9leHRlbnNpb24vc2FuY3Rpb25zLXNjcmVlbmluZy5zZXJ2aWNlLnRzYCk7IGBPUEVOU0FOQ1RJT05TX0JBU0VfVVJMYCBubyBlc3TDoSBwdWVzdGEgeSBlbCBwcm92ZWVkb3IgcmVhbCBzw7NsbyBzZSBpbnN0YW5jaWEgY29uIGBlbmZvcmNlYCAoYHJvdXRlcy9kZXZlbG9wZXItcG9ydGFsL3NpZ251cC5yb3V0ZXMudHNgKS4iLCJmbGFnX29ic2VydmF0aW9uIjp7Im9ic2VydmVkX2F0IjoiMjAyNi0wOS0wMyIsInNvdXJjZSI6ImByYWlsd2F5IHZhcmlhYmxlcyAtLXNlcnZpY2UgYXBpYCAoZW50b3JubyBkZSBwcm9kdWNjacOzbikiLCJ2YWx1ZSI6ImxvZy1vbmx5In0sImdvdmVybmVkX2J5X2ZsYWciOiJTQU5DVElPTlNfU0NSRUVOSU5HX01PREUiLCJpZCI6InNhbmN0aW9ucyIsImxhc3RfdmVyaWZpZWRfYXQiOiIyMDI2LTA5LTAzIiwicHVibGljX2NsYWltX21heCI6IlNpbiBwcm92ZWVkb3IgT0ZBQy9VRS9SVSBpbnRlZ3JhZG8gZW4gcHJvZHVjY2nDs246IGhveSBubyBzZSBlamVjdXRhIG5pbmfDum4gY3JpYmFkbyBkZSBzYW5jaW9uZXMuIFVuIGNvbWVyY2lvIG5vIGRlYmUgY29udGFyIGNvbiBlc3RlIGNvbnRyb2wgcGFyYSBzdSBjdW1wbGltaWVudG8uIiwicHVibGljX2NsYWltX21heF9lbiI6Ik5vIE9GQUMvRVUvVUsgcHJvdmlkZXIgaW50ZWdyYXRlZCBpbiBwcm9kdWN0aW9uOiBubyBzYW5jdGlvbnMgc2NyZWVuaW5nIHJ1bnMgdG9kYXkuIEEgbWVyY2hhbnQgc2hvdWxkIG5vdCByZWx5IG9uIHRoaXMgY29udHJvbCBmb3IgdGhlaXIgY29tcGxpYW5jZS4iLCJzdGF0ZSI6IlBMQU5ORUQiLCJ0aXRsZSI6IkNyaWJhZG8gZGUgc2FuY2lvbmVzIiwidGl0bGVfZW4iOiJTYW5jdGlvbnMgc2NyZWVuaW5nIn0seyJiYW5uZWRfY2xhaW1zIjpbIihjaWVudG9zfG1pbGVzfGRlY2VuYXN8aHVuZHJlZHN8dGhvdXNhbmRzfGRvemVucykgZGUgZGVzYXJyb2xsYWRvcmVzIiwiKG51ZXN0cmF8b3VyKSAoY29tdW5pZGFkfGNvbW11bml0eSkgZGUgZGVzYXJyb2xsYWRvcmVzIiwiZGV2ZWxvcGVycz8gKGFyZSApPyhhbHJlYWR5ICk_YnVpbGRpbmcgb24iLCJkZXNhcnJvbGxhZG9yZXMgKHlhICk_KGNvbnN0cnV5ZW58aW50ZWdyYW4pIl0sImV2aWRlbmNlIjoiL2hlYWx0aCBleHRlbnNpb24uZW5hYmxlZCA9IHRydWUgKGVjbyBkZSBjb25maWc6IFBvc3RncmVzK1JlZGlzK0tNUyByZXN1ZWx0b3MpIMK3IGhhc0RldmVsb3Blck9yZ3MgPSBmYWxzZSDihpIgY2VybyBjb25zdW1pZG9yZXMgKDIwMjYtMDgtMTEpIiwiaGVhbHRoX2tleSI6ImV4dGVuc2lvbi5lbmFibGVkIiwiaWQiOiJleHRlbnNpb25fYXBpIiwibGFzdF92ZXJpZmllZF9hdCI6IjIwMjYtMDgtMTEiLCJwdWJsaWNfY2xhaW1fbWF4IjoiRXh0ZW5zaW9uIEFQSSBkZXNwbGVnYWRhIHkgZGlzcG9uaWJsZS4gTk8gc2UgcHVlZGUgYWZpcm1hciBxdWUgaGF5YSBkZXNhcnJvbGxhZG9yZXMgbyBpbnRlZ3JhY2lvbmVzIGRlIHRlcmNlcm9zIHVzw6FuZG9sYS4iLCJwdWJsaWNfY2xhaW1fbWF4X2VuIjoiVGhlIEV4dGVuc2lvbiBBUEkgaXMgZGVwbG95ZWQgYW5kIGF2YWlsYWJsZS4gRGV2ZWxvcGVycyBvciB0aGlyZC1wYXJ0eSBpbnRlZ3JhdGlvbnMgdXNpbmcgaXQgY2Fubm90IGJlIGNsYWltZWQuIiwic3RhdGUiOiJMSVZFIiwidGl0bGUiOiJFeHRlbnNpb24gQVBJIChkZXZlbG9wZXIgcGxhdGZvcm0pIn0seyJiYW5uZWRfY2xhaW1zIjpbImA_bmx3ZWJfYXNrYD8gKGVzdMOhIHxlc3RhICk_KGV4cHVlc3RhfGRpc3BvbmlibGV8c2VydmlkYSkiLCJgP25sd2ViX2Fza2A_IGlzIChleHBvc2VkfGF2YWlsYWJsZXxzZXJ2ZWQpIiwibG9zIGFnZW50ZXMgKHlhICk_KGxhICk_KHVzYW58dXRpbGl6YW4pIChubHdlYl9hc2t8YG5sd2ViX2Fza2ApIiwiYWdlbnRzIChhbHJlYWR5ICk_KHVzZXxxdWVyeSkgKG5sd2ViX2Fza3xgbmx3ZWJfYXNrYCkiXSwiZXZpZGVuY2UiOiIvaGVhbHRoIG5sd2ViLmVuYWJsZWQgPSB0cnVlLCBwZXJvIGVzIEVDTyBERSBDT05GSUcsIG5vIHVuYSBwcnVlYmE6IGBQT1NUIC9kZW1vLXN0b3JlL2Fza2AgZGV2dWVsdmUgSFRUUCAyMDAgY29uIGBjb2RlOiBWRUNUT1JfREJfVU5BVkFJTEFCTEVgIHkgZWwgbWVuc2FqZSBkZWwgcHJvdmVlZG9yIGA0MjkgWW91IGhhdmUgbm8gY3JlZGl0cyByZW1haW5pbmdgIChzb25kYSAyMDI2LTA5LTAxKSDigJQgZWwgcGlwZWxpbmUgZGUgZW1iZWRkaW5ncyBubyBmdW5jaW9uYS4gYG5sd2ViX2Fza2AgTk8gcmVzcG9uZGU6IGB0b29scy9jYWxsYCBkZXZ1ZWx2ZSBgLTMyNjAyIFRvb2wgbmx3ZWJfYXNrIG5vdCBmb3VuZGAgZW4gYGRlbW8tc3RvcmVgIHkgZW4gYGFnZW50aWNtY3BzdG9yZWAsIGVuIGB0cnVzdGVlZC54eXpgIHkgZW4gYGFwaS50cnVzdGVlZC54eXpgIChzb25kYXMgMjAyNi0wOS0wMSkuIEFwYXJlY8OtYSBlbiBgdG9vbHMvbGlzdGAgZGVsIGVuZHBvaW50IGxlZ2FjeSwgcGVybyBlc2UgbGlzdGFkbyBlcyBlbCBjYXTDoWxvZ28gZGVncmFkYWRvIGRlIGBoYW5kbGVVbmlmaWVkVG9vbHNMaXN0YCwgcXVlIHB1YmxpY2EgZWwgcmVnaXN0cm8gZGUgcGxhdGFmb3JtYSB5IG5vIGxvIHF1ZSBsYSB0aWVuZGEgc2lydmUuIFRhbXBvY28gZXN0w6EgZW4gZWwgYnVja2V0IERpc2NvdmVyeSBkZWwgc3BsaXQgKDE2IHRvb2xzKS4gU2luIG1lZGljacOzbiBkZSBzaSBhbGfDum4gYWdlbnRlIGxhIGhhIGxsYW1hZG8uIiwiaGVhbHRoX2tleSI6Im5sd2ViLmVuYWJsZWQiLCJpZCI6Im5sd2ViIiwibGFzdF92ZXJpZmllZF9hdCI6IjIwMjYtMDktMDEiLCJwdWJsaWNfY2xhaW1fbWF4IjoiTkxXZWIgZXN0w6EgZGVzcGxlZ2FkbyAocnV0YSB5IHBndmVjdG9yIHByZXNlbnRlcykuIE5PIHNlIHB1ZWRlIGFmaXJtYXIgcXVlIGluZGV4ZSwgcXVlIHJlc3BvbmRhIGNvbnN1bHRhcywgbmkgcXVlIGxhIHRvb2wgYG5sd2ViX2Fza2AgZXN0w6kgZGlzcG9uaWJsZSBwYXJhIGFnZW50ZXM6IG1lZGlkbyBlbCAyMDI2LTA5LTAxLCBsYSBydXRhIGRldnVlbHZlIFZFQ1RPUl9EQl9VTkFWQUlMQUJMRSB5IGxhIHRvb2wgbm8gcmVzcG9uZGUgZW4gbmluZ3VuYSBzdXBlcmZpY2llIE1DUC4iLCJwdWJsaWNfY2xhaW1fbWF4X2VuIjoiTkxXZWIgaXMgZGVwbG95ZWQgKHJvdXRlIGFuZCBwZ3ZlY3RvciBwcmVzZW50KS4gSXQgY2Fubm90IGJlIGNsYWltZWQgdGhhdCBpdCBpbmRleGVzLCBhbnN3ZXJzIHF1ZXJpZXMsIG9yIHRoYXQgdGhlIGBubHdlYl9hc2tgIHRvb2wgaXMgYXZhaWxhYmxlIHRvIGFnZW50czogbWVhc3VyZWQgMjAyNi0wOS0wMSwgdGhlIHJvdXRlIHJldHVybnMgVkVDVE9SX0RCX1VOQVZBSUxBQkxFIGFuZCB0aGUgdG9vbCBhbnN3ZXJzIG9uIG5vIE1DUCBzdXJmYWNlLiIsInN0YXRlIjoiQ09ERV9DT01QTEVURSIsInRpdGxlIjoiTkxXZWIgbmF0dXJhbC1sYW5ndWFnZSBkaXNjb3ZlcnkifSx7ImJhbm5lZF9jbGFpbXMiOlsidHJlcyBidWNrZXRzPyAoYWN0aXZvcz98ZGlzcG9uaWJsZXM_KSAoZW58cGFyYSkgKHRvZGFzfHRvZG9zKSIsInRocmVlWy0gXWJ1Y2tldC57MCwyMH0oYWxsfGV2ZXJ5KSAoc3RvcmVzP3xtZXJjaGFudHM_KSIsIih0b2Rhc3x0b2RvcykgKGxhcyB0aWVuZGFzfGxvcyBjb21lcmNpYW50ZXMpLnswLDMwfXRyZXMgYnVja2V0cyJdLCJldmlkZW5jZSI6IlJlc29uZGVhZG8gMjAyNi0wOS0wMSBjb250cmEgYHRydXN0ZWVkLnh5emAgKMOhcGljZSkuIExhcyBydXRhcyBkZWwgc3BsaXQgKGAve3NsdWd9L21jcC97ZGlzY292ZXJ5LGN1c3RvbWVyLGNoZWNrb3V0fWApIHJlc3BvbmRlbiAyMDAgcGFyYSBgYWdlbnRpY21jcHN0b3JlYCAobm8tZGVtbyk6IDE2ICsgOCArIDIxID0gNDUgdG9vbHMsIHkgbGFzIDQ1IGxsZWdhbiBjb24gYGFubm90YXRpb25zYC4gRWwgTUNQIGxlZ2FjeSBgL3tzbHVnfS9tY3BgIHJlc3BvbmRlIDIwMCBwYXJhIHRvZGFzIHkgZGV2dWVsdmUgKioxMioqIHRvb2xzIGVuIGBhZ2VudGljbWNwc3RvcmVgIChubyA0ODogZWwgY2F0w6Fsb2dvIGRlZ3JhZGFkbyBxdWUgcHVibGljYWJhIGVsIHJlZ2lzdHJvIGRlIHBsYXRhZm9ybWEgc2UgY29ycmlnacOzIGVsIDIwMjYtMDktMDEpLCBjb24gYERlcHJlY2F0aW9uOiB0cnVlYCB5IHVuYSBjYWJlY2VyYSBgU3Vuc2V0YCBhIDU3IGTDrWFzIGRlIGxhIHNvbmRhLiBgbmx3ZWJfYXNrYCB5IGB1Y3BfZ2V0X2NhdGFsb2dgIE5PIHNvbiBpbnZvY2FibGVzIGRvbmRlIHN1IGJhbmRlcmEgcG9yIHRpZW5kYSBubyBlc3TDoSBwdWVzdGE6IGB0b29scy9jYWxsYCBkZXZ1ZWx2ZSBgLTMyNjAyIG5vdCBmb3VuZGA7IGxpc3RhcmxhcyBubyBsYXMgc2lydmUuIFBvYmxhY2nDs246IDkgdGllbmRhcyAoYC9hcGkvdjEvc3RvcmVzL2RpcmVjdG9yeWAg4oaSIGB0b3RhbF9hbGxfdHlwZXNgLCBob3N0IGBhcGkudHJ1c3RlZWQueHl6YCksIGRlIGxhcyBxdWUgMSBlcyBgcHJvZHVjdGlvbmAuIE9qbzogbG9zIGRvcyBob3N0cyB0aWVuZW4gYmFzZXMgZGlzdGludGFzLCBhc8OtIHF1ZSB1biBjb250ZW8gc2luIGhvc3Qgbm8gZXMgcmVwcm9kdWNpYmxlLiIsImZsYWdfb2JzZXJ2YXRpb24iOnsib2JzZXJ2ZWRfYXQiOiIyMDI2LTA5LTAzIiwic291cmNlIjoiYHJhaWx3YXkgdmFyaWFibGVzIC0tc2VydmljZSBhcGlgIChlbnRvcm5vIGRlIHByb2R1Y2Npw7NuKSIsInZhbHVlIjoidHJ1ZSJ9LCJnb3Zlcm5lZF9ieV9mbGFnIjoiTUNQX1RIUkVFX0JVQ0tFVF9FTkFCTEVEIiwiaWQiOiJ0aHJlZV9idWNrZXRfdG9vbHMiLCJsYXN0X3ZlcmlmaWVkX2F0IjoiMjAyNi0wOS0wMSIsInB1YmxpY19jbGFpbV9tYXgiOiJNQ1AgZGlzcG9uaWJsZSBlbiBwcm9kdWNjacOzbiBwYXJhIHRvZGFzIGxhcyB0aWVuZGFzLiBFbCBzcGxpdCBlbiB0cmVzIGJ1Y2tldHMgZXN0w6EgZW4gY2FuYXJ5OiBOTyBzZSBwdWVkZSBhZmlybWFyIHF1ZSBlc3TDqSBhY3Rpdm8gcGFyYSB0b2RvcyBsb3MgY29tZXJjaWFudGVzLiIsInB1YmxpY19jbGFpbV9tYXhfZW4iOiJNQ1AgaXMgYXZhaWxhYmxlIGluIHByb2R1Y3Rpb24gZm9yIGV2ZXJ5IHN0b3JlLiBUaGUgdGhyZWUtYnVja2V0IHNwbGl0IGlzIGluIGNhbmFyeTogdGhhdCBpdCBpcyBhY3RpdmUgZm9yIGV2ZXJ5IG1lcmNoYW50IGNhbm5vdCBiZSBjbGFpbWVkLiIsInN0YXRlIjoiTElWRSIsInRpdGxlIjoiTUNQIHRocmVlLWJ1Y2tldCB0b29sIHJlZ2lzdHJ5In0seyJiYW5uZWRfY2xhaW1zIjpbIih0cmFuc2FjY2lvbmVzfGNvbXByYXN8cGVkaWRvcykgKGNvbXBsZXRhZFtvYV1zICk_KHZbacOtXWF8cG9yfG1lZGlhbnRlKSBVQ1AiLCIob3JkZXJzP3x0cmFuc2FjdGlvbnM_KSAoY29tcGxldGVkICk_KHZpYXx0aHJvdWdoKSBVQ1AiXSwiZXZpZGVuY2UiOiJSZXNvbmRlYWRvIDIwMjYtMDgtMzEuIGBHRVQgaHR0cHM6Ly9hcGkudHJ1c3RlZWQueHl6Ly53ZWxsLWtub3duL3VjcC1jYXBhYmlsaXRpZXMuanNvbj9zdG9yZT1hZ2VudGljbWNwc3RvcmVgIOKGkiAyMDAgY29uIGBzY2hlbWE6IHRydXN0ZWVkOnVjcC1jYXBhYmlsaXRpZXMvMS4yYCB5IGBwcm90b2NvbHMudWNwLmVuYWJsZWQ9dHJ1ZWAgZW4gZXNhIHRpZW5kYSwgcXVlIE5PIGVzIGxhIGRlIGRlbW9zdHJhY2nDs24uIExhIHJ1dGEgZGUgZGVzY3VicmltaWVudG8gYC8ud2VsbC1rbm93bi91Y3BgIHJlc3BvbmRlIDIwMCBlbiBlbCBkb21pbmlvIGNhbsOzbmljbzsgYHVjcC1jYXBhYmlsaXRpZXMuanNvbmAgc8OzbG8gZXhpc3RlIGVuIGxhIEFQSSwgYXPDrSBxdWUgZWwgw6FwaWNlIGRldnVlbHZlIDQwNCBlbiBFU0EgcnV0YS4gQ29uIGA_c3RvcmU9YCwgY2FkYSBob3N0IHJlc3VlbHZlIGNvbnRyYSBzdSBwcm9waWEgYmFzZTogZWwgw6FwaWNlIGRldnVlbHZlIGBzdG9yZV9ub3RfZm91bmRgIHBhcmEgYGFnZW50aWNtY3BzdG9yZWAgeSAyMDAgcGFyYSBgZGVtby1zdG9yZWAuIExhcyBkb3MgdGllbmRhcyBxdWUgZXN0YSBldmlkZW5jaWEgY2l0YWJhIGFudGVzLCBgajAxcGR3LXRoYCB5IGB1dnN6aDEtbTVgLCBubyBleGlzdGVuIGVuIGxhIHRhYmxhIGBzdG9yZXNgIGRlIHByb2R1Y2Npw7NuLiIsImlkIjoidWNwIiwibGFzdF92ZXJpZmllZF9hdCI6IjIwMjYtMDgtMzEiLCJwdWJsaWNfY2xhaW1fbWF4IjoiUHVibGljYW1vcyBjYXBhY2lkYWRlcyBVQ1AgcG9yIHRpZW5kYSwgY29uIGNvbnRlbmlkbyBkZXJpdmFkbyBkZSBsYSBjb25maWd1cmFjacOzbiByZWFsIGRlIGNhZGEgdW5hLiBOTyBzZSBwdWVkZSBhZmlybWFyIHRyYW5zYWNjaW9uZXMgVUNQLiIsInB1YmxpY19jbGFpbV9tYXhfZW4iOiJXZSBwdWJsaXNoIHBlci1zdG9yZSBVQ1AgY2FwYWJpbGl0aWVzLCB3aXRoIGNvbnRlbnQgZGVyaXZlZCBmcm9tIGVhY2ggc3RvcmUncyByZWFsIGNvbmZpZ3VyYXRpb24uIFVDUCB0cmFuc2FjdGlvbnMgY2Fubm90IGJlIGNsYWltZWQuIiwic3RhdGUiOiJMSVZFIiwidGl0bGUiOiJVQ1Ag4oCUIFVuaXZlcnNhbCBDb21tZXJjZSBQcm90b2NvbCJ9LHsiYmFubmVkX2NsYWltcyI6WyIobWlsZXN8Y2llbnRvc3x0aG91c2FuZHN8aHVuZHJlZHMpIGRlIGFnZW50ZXMuezAsMzB9bGxtc1xcLnR4dCIsImFnZW50ZXMgKHlhICk_KGRlc2N1YnJlbnxjb25zdWx0YW4pLnswLDIwfWxsbXNcXC50eHQiXSwiZXZpZGVuY2UiOiJHRVQgaHR0cHM6Ly90cnVzdGVlZC54eXovbGxtcy50eHQg4oaSIDIwMCAoc29uZGFzIDIwMjYtMDctMjkgeSAyMDI2LTA4LTExKS4gU2lydmUgZGUgdmVyZGFkIHkgc2luIHRpZW5kYSBkZSBwb3IgbWVkaW8uIFNpcnZlIGVsIGRhc2hib2FyZCwgTk8gbGEgQVBJOiBgYXBpLnRydXN0ZWVkLnh5ei9sbG1zLnR4dGAgZGEgNDA0LCBxdWUgZXMgY29ycmVjdG8geSBjb252aWVuZSBubyBjb25mdW5kaXIuIiwiaWQiOiJsbG1zdHh0IiwibGFzdF92ZXJpZmllZF9hdCI6IjIwMjYtMDgtMTEiLCJwdWJsaWNfY2xhaW1fbWF4IjoiUHVibGljYW1vcyBsbG1zLnR4dCBwYXJhIGRlc2N1YnJpbWllbnRvIHBvciBhZ2VudGVzLiBOTyBzZSBwdWVkZSBhZmlybWFyIHRyw6FmaWNvIGRlIGFnZW50ZXMgc29icmUgw6lsLiIsInB1YmxpY19jbGFpbV9tYXhfZW4iOiJXZSBwdWJsaXNoIGxsbXMudHh0IGZvciBhZ2VudCBkaXNjb3ZlcnkuIEFnZW50IHRyYWZmaWMgYWdhaW5zdCBpdCBjYW5ub3QgYmUgY2xhaW1lZC4iLCJzdGF0ZSI6IkxJVkUiLCJ0aXRsZSI6ImxsbXMudHh0IOKAlCBkZXNjdWJyaW1pZW50byBwYXJhIGFnZW50ZXMiLCJ0aXRsZV9lbiI6ImxsbXMudHh0IOKAlCBhZ2VudCBkaXNjb3ZlcnkifSx7ImJhbm5lZF9jbGFpbXMiOlsiYWdlbnRlcyAoeWEgKT8oY29uc3VtZW58ZGVzY3VicmVuKSAobnVlc3RyYXxsYSkgYWdlbnQgY2FyZCIsImFnZW50cyAoYWxyZWFkeSApPyhjb25zdW1lfGRpc2NvdmVyKSAob3VyfHRoZSkgYWdlbnQgY2FyZCJdLCJldmlkZW5jZSI6IkdFVCAvLndlbGwta25vd24vYWdlbnQtY2FyZC5qc29uIOKGkiAyMDAgKHNvbmRhcyAyMDI2LTA3LTI5IHkgMjAyNi0wOC0xMSkuIFNpcnZlIGRlIHZlcmRhZCB5IHNpbiB0aWVuZGEgZGUgcG9yIG1lZGlvLiBgLy53ZWxsLWtub3duL2FnZW50Lmpzb25gIGRhIDQwNDogbGEgcnV0YSBidWVuYSBlcyBgYWdlbnQtY2FyZC5qc29uYC4iLCJpZCI6ImEyYSIsImxhc3RfdmVyaWZpZWRfYXQiOiIyMDI2LTA4LTExIiwicHVibGljX2NsYWltX21heCI6IlB1YmxpY2Ftb3MgYWdlbnQgY2FyZCBBMkEuIE5PIHNlIHB1ZWRlIGFmaXJtYXIgcXVlIG5pbmfDum4gYWdlbnRlIGxhIGhheWEgY29uc3VtaWRvLiIsInB1YmxpY19jbGFpbV9tYXhfZW4iOiJXZSBwdWJsaXNoIGFuIEEyQSBhZ2VudCBjYXJkLiBUaGF0IGFueSBhZ2VudCBoYXMgY29uc3VtZWQgaXQgY2Fubm90IGJlIGNsYWltZWQuIiwic3RhdGUiOiJMSVZFIiwidGl0bGUiOiJBMkEg4oCUIGFnZW50LXRvLWFnZW50IChhZ2VudCBjYXJkKSJ9LHsiYmFubmVkX2NsYWltcyI6WyIobnVlc3Ryb3N8b3VyKSAodXN1YXJpb3N8dXNlcnMpLnswLDIwfShwYXNza2V5cz98bGxhdmVzIGRlIGFjY2VzbykiLCIobWlsZXN8Y2llbnRvc3x0aG91c2FuZHN8aHVuZHJlZHMpIGRlIChwYXNza2V5cz98dXN1YXJpb3MgcmVnaXN0cmFkb3MpIl0sImV2aWRlbmNlIjoiUE9TVCAvYXBpL3YxL2F1dGgvd2ViYXV0aG4vcmVnaXN0ZXIvb3B0aW9ucyDihpIgNDAxIChzb25kYXMgMjAyNi0wNy0yOSB5IDIwMjYtMDgtMTEpOiBSVVRBIFJFR0lTVFJBREEgeSBleGlnaWVuZG8gYXV0aC4gTm8gaGF5IGV2aWRlbmNpYSBkZSByZWdpc3Ryb3MgcmVhbGVzLiBSZWdpc3RyYWRhIGVuIGByZWdpc3Rlci1yb3V0ZXMudHM6MzU1YC4iLCJpZCI6ImZpZG8iLCJsYXN0X3ZlcmlmaWVkX2F0IjoiMjAyNi0wOC0xMSIsInB1YmxpY19jbGFpbV9tYXgiOiJTb3BvcnRhbW9zIEZJRE8yL1dlYkF1dGhuIOKAlCBlbmRwb2ludCBkZXNwbGVnYWRvLiBOTyBzZSBwdWVkZSBhZmlybWFyIGFkb3BjacOzbiBuaSB1c3VhcmlvcyBjb24gcGFzc2tleS4iLCJwdWJsaWNfY2xhaW1fbWF4X2VuIjoiV2Ugc3VwcG9ydCBGSURPMi9XZWJBdXRobiDigJQgdGhlIGVuZHBvaW50IGlzIGRlcGxveWVkLiBBZG9wdGlvbiBvciBwYXNza2V5IHVzZXJzIGNhbm5vdCBiZSBjbGFpbWVkLiIsInN0YXRlIjoiTElWRSIsInRpdGxlIjoiRklETzIgLyBXZWJBdXRobiJ9LHsiYmFubmVkX2NsYWltcyI6WyIobWlsZXN8Y2llbnRvc3x0aG91c2FuZHN8aHVuZHJlZHMpIGRlIChzZXNpb25lc3xzZXNzaW9ucykgKGRlIGFnZW50ZXxBRy1VSSkiLCJhZ2VudGVzICh5YSApP2NvbXBsZXQoYW58YXJvbikgY2hlY2tvdXRzPyAoZW4gdml2b3xlbiB0aWVtcG8gcmVhbCkiXSwiZXZpZGVuY2UiOiJQT1NUIC97c2x1Z30vYWctdWkg4oaSIDQwMyBlbiBgZGVtby1zdG9yZWAgeSBlbiBgYWdlbnRpY21jcHN0b3JlYCAobm8tZGVtbyk6IFJVVEEgUkVHSVNUUkFEQSwgcmVjaGF6YSBwb3Igb3JpZ2VuL2F1dGggeSBubyBwb3IgaW5leGlzdGVuY2lhIChzb25kYXMgMjAyNi0wNy0yOSB5IDIwMjYtMDgtMTEpLiBTaW4gZXZpZGVuY2lhIGRlIHNlc2lvbmVzIHJlYWxlcy4iLCJpZCI6ImFndWkiLCJsYXN0X3ZlcmlmaWVkX2F0IjoiMjAyNi0wOC0xMSIsInB1YmxpY19jbGFpbV9tYXgiOiJBRy1VSSBkZXNwbGVnYWRvIHBhcmEgY2hlY2tvdXQgZW4gdGllbXBvIHJlYWwuIE5PIHNlIHB1ZWRlIGFmaXJtYXIgcXVlIGhheWEgc2VzaW9uZXMgZGUgYWdlbnRlcyByZWFsZXMuIiwicHVibGljX2NsYWltX21heF9lbiI6IkFHLVVJIGlzIGRlcGxveWVkIGZvciByZWFsLXRpbWUgY2hlY2tvdXQuIFJlYWwgYWdlbnQgc2Vzc2lvbnMgY2Fubm90IGJlIGNsYWltZWQuIiwic3RhdGUiOiJMSVZFIiwidGl0bGUiOiJBRy1VSSDigJQgY2hlY2tvdXQgZW4gdGllbXBvIHJlYWwgKFNTRSkiLCJ0aXRsZV9lbiI6IkFHLVVJIOKAlCByZWFsLXRpbWUgY2hlY2tvdXQgKFNTRSkifSx7ImJhbm5lZF9jbGFpbXMiOlsiY29tZXJjaWFudGVzICh5YSApPyh1c2FufHV0aWxpemFuKSBTQ1AiLCJtZXJjaGFudHMgKGFscmVhZHkgKT91c2UgU0NQIl0sImV2aWRlbmNlIjoiR0VUIC9hcGkvdjEvc2NwLXByb3ZpZGVyL3tzbHVnfS9tYWdpYy1saW5rL3ByZXZpZXcg4oaSIDQwMCAodmFsaWRhY2nDs24pLCBOTyA0MDQsIGVuIGBkZW1vLXN0b3JlYCB5IGVuIGBhZ2VudGljbWNwc3RvcmVgIChuby1kZW1vKTogUlVUQVMgUkVHSVNUUkFEQVMgZW4gcHJvZHVjY2nDs247IHBydWViYSBkZXNwbGllZ3VlLCBubyB1c28gKHNvbmRhcyAyMDI2LTA3LTI5IHkgMjAyNi0wOC0xMSkuIENvcnJpZ2UgbGEgbm90YSBpbnRlcm5hIHF1ZSBsbyBkYWJhIHBvciBibG9xdWVhZG8gcG9yIGVsIGJvb3QgZ3VhcmQgZGUgU1RSSVBFX1dFQkhPT0tfU0VDUkVUIOKAlCBlc28gZGVzY3JpYsOtYSBlbCBlc3RhZG8gZGUgZGVzcGxpZWd1ZSBkZSBlbnRvbmNlcywgbm8gZWwgZGUgaG95LiBGbGFnIGBTQ1BfRU5BQkxFRGAgZXMgb3B0LU9VVCAoYCE9PSBcImZhbHNlXCJgKSwgZXMgZGVjaXIgT04gcG9yIGRlZmVjdG8uIiwiZmxhZ19vYnNlcnZhdGlvbiI6eyJvYnNlcnZlZF9hdCI6IjIwMjYtMDktMDMiLCJzb3VyY2UiOiJgcmFpbHdheSB2YXJpYWJsZXMgLS1zZXJ2aWNlIGFwaWAgKGVudG9ybm8gZGUgcHJvZHVjY2nDs24pIiwidmFsdWUiOm51bGx9LCJnb3Zlcm5lZF9ieV9mbGFnIjoiU0NQX0VOQUJMRUQiLCJpZCI6InNjcCIsImxhc3RfdmVyaWZpZWRfYXQiOiIyMDI2LTA4LTExIiwicHVibGljX2NsYWltX21heCI6IlNDUCBkZXNwbGVnYWRvIHkgaGFiaWxpdGFkbyBwb3IgZGVmZWN0by4gTk8gc2UgcHVlZGUgYWZpcm1hciBxdWUgbmluZ8O6biBjb21lcmNpYW50ZSBsbyBlc3TDqSB1c2FuZG8uIiwicHVibGljX2NsYWltX21heF9lbiI6IlNDUCBpcyBkZXBsb3llZCBhbmQgZW5hYmxlZCBieSBkZWZhdWx0LiBUaGF0IGFueSBtZXJjaGFudCBpcyB1c2luZyBpdCBjYW5ub3QgYmUgY2xhaW1lZC4iLCJzdGF0ZSI6IkxJVkUiLCJ0aXRsZSI6IlNDUCDigJQgU2hvcHBlciBDb250ZXh0IFByb3RvY29sIiwidGl0bGVfZW4iOiJTQ1Ag4oCUIFNob3BwZXIgQ29udGV4dCBQcm90b2NvbCJ9LHsiZXZpZGVuY2UiOiJBQ1RVQUxJWkFETyAyMDI2LTA4LTMwOiBgR0VUIGh0dHBzOi8vdHJ1c3RlZWQueHl6L3dlYm1jcC1icmlkZ2UuanNgIHJlc3BvbmRlIGhveSAqKjMwMioqIGEgYGh0dHBzOi8vd2VibWNwLWJyaWRnZS1jZG4uZGFya25pZ2h0Y3NzYy53b3JrZXJzLmRldi93ZWJtY3AtYnJpZGdlLmlpZmUubWluLmpzYCwgcXVlIHNpcnZlIDI0LjIyMyBieXRlcyBgYXBwbGljYXRpb24vamF2YXNjcmlwdGAgY29uIGVsIElJRkUgYFdlYk1DUEJyaWRnZWAg4oCUIGxhIHJlZGlyZWNjacOzbiBsYSBpbXBsZW1lbnRhIGBhcHBzL2Rhc2hib2FyZC9zcmMvbGliL3dlYm1jcC1icmlkZ2UtY2RuLnRzYCB5IHVuYSBldGlxdWV0YSBgPHNjcmlwdCBzcmM-YCBsYSBzaWd1ZSBzaW4gcHJvYmxlbWEsIGFzw60gcXVlIGVsIG3DqXRvZG8gZGUgaW5zdGFsYWNpw7NuIHF1ZSBwdWJsaWNhbiBgbWNwLmpzb25gIHkgYGFnZW50LXBvbGljeS5qc29uYCBGVU5DSU9OQS4gRXN0YSBtaXNtYSBldmlkZW5jaWEgYWZpcm3DsyBsbyBjb250cmFyaW8gaGFzdGEgaG95IHkgZXJhIGVsbGEgbGEgZGVzYWN0dWFsaXphZGE7IHVuYSBhdWRpdG9yw61hIGV4dGVybmEgbGEgbGV5w7MsIGxhIGRpbyBwb3IgdmlnZW50ZSB5IGRlZHVqbyBxdWUgbG9zIG1hbmlmaWVzdG9zIGluc3RydcOtYW4gaW5zdGFsYXIgdW4gc2NyaXB0IHJvdG8uIEhpc3TDs3JpY28sIHF1ZSBleHBsaWNhIHBvciBxdcOpIGVsIHRleHRvIGRlY8OtYSBlc28g4oCUIENPUlJFR0lETyAyMDI2LTA4LTA5OiBsYSBldmlkZW5jaWEgZGUgZW50b25jZXMgZGVjw61hIMKrZWwgYnVuZGxlIFPDjSBzZSBzaXJ2ZSAoR0VUIGh0dHBzOi8vdHJ1c3RlZWQueHl6L3dlYm1jcC1icmlkZ2UuanMg4oaSIDIwMCnCuy4gRXNlIDIwMCBubyBwcm9iYWJhIG5hZGE6IHBvciBhcXVlbGxhIGZlY2hhIGVzYSBVUkwgZGV2b2x2w61hIGVsIGNhdGNoLWFsbCBIVE1MIGRlIE5leHQuanMgKGBjb250ZW50LXR5cGU6IHRleHQvaHRtbGAsIDIyNiBLQiwgY2VybyBhcGFyaWNpb25lcyBkZSBgbW9kZWxDb250ZXh0YCkg4oCUIHNlIGNvbXByb2LDsyBlbCBjw7NkaWdvIGRlIGVzdGFkbyB5IG5vIGVsIGNvbnRlbmlkby4gTGEgVVJMIGRlIG9yaWdlbiBzaWd1ZSBzaWVuZG8gZWwgV29ya2VyIGBodHRwczovL3dlYm1jcC1icmlkZ2UtY2RuLmRhcmtuaWdodGNzc2Mud29ya2Vycy5kZXZgIChsYSBxdWUgdXNhbiBsb3MgRTJFKTsgYGNkbi50cnVzdGVlZC54eXpgIE5PIHJlc3VlbHZlLCBlbCBkb21pbmlvIHByb3BpbyBudW5jYSBzZSBjb25maWd1csOzLiBWRVJJRklDQURPIDIwMjYtMDgtMDkgdHJhcyBzdWJpZGEgbWFudWFsIGEgUjIgKDE2IG9iamV0b3MpOiBsb3MgNCBidW5kbGVzIChnZW7DqXJpY28gKyBzaG9waWZ5L3dvb2NvbW1lcmNlL3ByZXN0YXNob3ApIHJlc3BvbmRlbiAyMDAgYGFwcGxpY2F0aW9uL2phdmFzY3JpcHRgLCBjb250aWVuZW4gZWwgSUlGRSBgV2ViTUNQQnJpZGdlYCB5IHN1ICoqc2hhMjU2IGNvaW5jaWRlIGNvbiBlbCBidWlsZCBsb2NhbCBkZWwgY29tbWl0Kio7IGxhIGNvcGlhIHBpbm5lYWRhIGA_dj0wLjIuMGAgdGFtYmnDqW4uIEVsIGJ1bmRsZSB2aXZvIHlhIHRyYWUgbGEgcmVzb2x1Y2nDs24gYGRvY3VtZW50Lm1vZGVsQ29udGV4dGAg4oaSIGBuYXZpZ2F0b3IubW9kZWxDb250ZXh0YCAoQ2hyb21lIDE1MCBkZXByZWPDsyBgbmF2aWdhdG9yYCkuIFBFTkRJRU5URTogZWwgd29ya2Zsb3cgYGNkbi1kZXBsb3kueW1sYCBzaWd1ZSBTSU4gcG9kZXIgc3ViaXIg4oCUIHN1cyBlamVjdWNpb25lcyBkZXNkZSAyMDI2LTA1LTE2IGZhbGxhbiBwb3IgZmFsdGEgZGVsIHNlY3JldG8gYENMT1VERkxBUkVfQVBJX1RPS0VOYCwgYXPDrSBxdWUgY2FkYSByZWxlYXNlIGV4aWdlIHN1YmlkYSBtYW51YWwgaGFzdGEgcXVlIHNlIGNvbmZpZ3VyZS4gWSBzaWd1ZSBzaW4gdmVyaWZpY2Fyc2UgZWwgbW9kbyBOQVRJVk86IGxvcyBFMkUgZGUgc3BlYy0wNTMgaW55ZWN0YW4gdW4gYG1vZGVsQ29udGV4dGAgbW9ja2VhZG8geSBubyBoYXkgZWplY3VjacOzbiBjb250cmEgQ2hyb21lIHJlYWwgZW4gQ0kuIiwiaWQiOiJ3ZWJtY3AiLCJsYXN0X3ZlcmlmaWVkX2F0IjoiMjAyNi0wOC0zMCIsInB1YmxpY19jbGFpbV9tYXgiOiJMb3MgY3VhdHJvIGJ1bmRsZXMgZGVsIHB1ZW50ZSBzZSBzaXJ2ZW4geSBzdSBzaGEyNTYgY3VhZHJhIGNvbiBlbCBidWlsZC4gRWwgbW9kbyBOQVRJVk8gbm8gZXN0w6EgdmVyaWZpY2FkbzogbG9zIEUyRSBpbnllY3RhbiB1biBgbmF2aWdhdG9yLm1vZGVsQ29udGV4dGAgc2ltdWxhZG8geSBubyBoYXkgbmluZ3VuYSBlamVjdWNpw7NuIGNvbnRyYSB1biBDaHJvbWUgY29uIHNvcG9ydGUgcmVhbC4gTm8gc2UgcHVlZGUgYWZpcm1hciBxdWUgZnVuY2lvbmUgZW4gdW4gbmF2ZWdhZG9yIG5hdGl2by4iLCJwdWJsaWNfY2xhaW1fbWF4X2VuIjoiQWxsIGZvdXIgYnJpZGdlIGJ1bmRsZXMgYXJlIHNlcnZlZCBhbmQgdGhlaXIgc2hhMjU2IG1hdGNoZXMgdGhlIGJ1aWxkLiBOQVRJVkUgbW9kZSBpcyB1bnZlcmlmaWVkOiB0aGUgRTJFIHN1aXRlIGluamVjdHMgYSBtb2NrZWQgYG5hdmlnYXRvci5tb2RlbENvbnRleHRgIGFuZCB0aGVyZSBpcyBubyBydW4gYWdhaW5zdCBhIGJyb3dzZXIgd2l0aCByZWFsIHN1cHBvcnQuIFdvcmtpbmcgaW4gYSBuYXRpdmVseS1zdXBwb3J0aW5nIGJyb3dzZXIgY2Fubm90IGJlIGNsYWltZWQuIiwic3RhdGUiOiJDT0RFX0NPTVBMRVRFIiwidGl0bGUiOiJXZWJNQ1Ag4oCUIGJyaWRnZSBkZSBuYXZlZ2Fkb3IgKFczQyBDRykiLCJ0aXRsZV9lbiI6IldlYk1DUCDigJQgYnJvd3NlciBicmlkZ2UgKFczQyBDRykifSx7ImV2aWRlbmNlIjoiQWRhcHRhZG9yIGNvbXBsZXRvIGVuIGBzZXJ2aWNlcy9wcm90b2NvbC9hZGFwdGVycy92aWMvYCAoY2xpZW50ZSBBUEksIFgtUGF5IHRva2VuLCBjcm9uIGRlIHJlY29uY2lsaWFjacOzbikgcGVybyBTSU4gcnV0YXMgZW4gYHJlZ2lzdGVyLXJvdXRlcy50c2AsIHkgZWwgY3JvbiBzw7NsbyBhcnJhbmNhIGNvbiBgVklDX1JFQ09OQ0lMSUFUSU9OX0VOQUJMRUQ9dHJ1ZWAgKGBzZXJ2ZXIudHM6MjIzMGApLiBFeHRlcm5hbC1ibG9ja2VkOiBzaW4gYWNjZXNvIGFsIHBpbG90IGRlIFZpc2EuIiwiZmxhZ19vYnNlcnZhdGlvbiI6eyJvYnNlcnZlZF9hdCI6IjIwMjYtMDktMDMiLCJzb3VyY2UiOiJgcmFpbHdheSB2YXJpYWJsZXMgLS1zZXJ2aWNlIGFwaWAgKGVudG9ybm8gZGUgcHJvZHVjY2nDs24pIiwidmFsdWUiOm51bGx9LCJnb3Zlcm5lZF9ieV9mbGFnIjoiVklDX1JFQ09OQ0lMSUFUSU9OX0VOQUJMRUQiLCJpZCI6InZpYyIsImxhc3RfdmVyaWZpZWRfYXQiOm51bGwsInB1YmxpY19jbGFpbV9tYXgiOiJBZGFwdGFkb3IgY29tcGxldG8geSBzaW4gbmluZ3VuYSBydXRhIHJlZ2lzdHJhZGE6IG5vIGhheSBzdXBlcmZpY2llIHBvciBsYSBxdWUgbGxhbWFybG8uIEJsb3F1ZWFkbyBwb3IgYWNjZXNvIGV4dGVybm8gYWwgcGlsb3QgZGUgVmlzYSwgbm8gcG9yIHRyYWJham8gcGVuZGllbnRlIG51ZXN0cm8uIiwicHVibGljX2NsYWltX21heF9lbiI6IkFkYXB0ZXIgY29tcGxldGUgd2l0aCBubyByb3V0ZSByZWdpc3RlcmVkOiB0aGVyZSBpcyBubyBzdXJmYWNlIHRvIGNhbGwgaXQgdGhyb3VnaC4gQmxvY2tlZCBvbiBleHRlcm5hbCBhY2Nlc3MgdG8gVmlzYSdzIHBpbG90LCBub3Qgb24gd29yayBvZiBvdXJzLiIsInN0YXRlIjoiRE9STUFOVCIsInRpdGxlIjoiVklDIOKAlCBWaXNhIEludGVsbGlnZW50IENvbW1lcmNlIn0seyJldmlkZW5jZSI6ImBoZWFsdGgudHM6MzY1YCBzw7NsbyBhw7FhZGUgZWwgYmxvcXVlIGBwYXlwYWxgIHNpIGBQQVlQQUxfRU5BQkxFRD10cnVlYCBjb24gY2xpZW50IGlkIHkgc2VjcmV0LiBFbCAvaGVhbHRoIGRlIHByb2R1Y2Npw7NuIGRlbCAyMDI2LTA3LTI5IE5PIGxvIGluY2x1eWUg4oeSIG5vIGNvbmZpZ3VyYWRvLiBGYWx0YW4gY3JlZGVuY2lhbGVzIGRlIHByb2R1Y2Npw7NuLiIsImZsYWdfb2JzZXJ2YXRpb24iOnsib2JzZXJ2ZWRfYXQiOiIyMDI2LTA5LTAzIiwic291cmNlIjoiYHJhaWx3YXkgdmFyaWFibGVzIC0tc2VydmljZSBhcGlgIChlbnRvcm5vIGRlIHByb2R1Y2Npw7NuKSIsInZhbHVlIjpudWxsfSwiZ292ZXJuZWRfYnlfZmxhZyI6IlBBWVBBTF9FTkFCTEVEIiwiaWQiOiJwYXlwYWwiLCJsYXN0X3ZlcmlmaWVkX2F0IjoiMjAyNi0wNy0yOSIsInB1YmxpY19jbGFpbV9tYXgiOiJJbXBsZW1lbnRhZG8geSBzaW4gY29uZmlndXJhcjogYC9hcGkvdjEvaGVhbHRoYCBkZSBwcm9kdWNjacOzbiBubyBwdWJsaWNhIGVsIGJsb3F1ZSBgcGF5cGFsYCwgbG8gcXVlIHBydWViYSBxdWUgZmFsdGFuIGxhcyBjcmVkZW5jaWFsZXMuIE5vIHNlIHB1ZWRlIGFmaXJtYXIgbGlxdWlkYWNpw7NuIHBvciBQYXlQYWwuIiwicHVibGljX2NsYWltX21heF9lbiI6IkltcGxlbWVudGVkIGFuZCB1bmNvbmZpZ3VyZWQ6IHByb2R1Y3Rpb24gYC9hcGkvdjEvaGVhbHRoYCBkb2VzIG5vdCBwdWJsaXNoIHRoZSBgcGF5cGFsYCBibG9jaywgd2hpY2ggcHJvdmVzIHRoZSBjcmVkZW50aWFscyBhcmUgbWlzc2luZy4gU2V0dGxlbWVudCBvdmVyIFBheVBhbCBjYW5ub3QgYmUgY2xhaW1lZC4iLCJzdGF0ZSI6IkRPUk1BTlQiLCJ0aXRsZSI6IlBheVBhbCJ9LHsiZXZpZGVuY2UiOiJTaW4gaW1wbGVtZW50YWNpw7NuIGVuIGVsIMOhcmJvbDogYnVzY2FyIGBhMnVpYCBzw7NsbyBkZXZ1ZWx2ZSBmaWNoZXJvcyBkZSBBRy1VSSwgcXVlIGVzIG90cmEgY29zYS4gYC8ud2VsbC1rbm93bi9hMnVpLWNhdGFsb2cuanNvbmAgcHVibGljYSBhaG9yYSBgc3RhdHVzOiBub3RfaW1wbGVtZW50ZWRgIHkgYGNvbXBvbmVudHM6IFtdYCAoYW50ZXMgY3VhdHJvIG5vbWJyZXMgaW5leGlzdGVudGVzIGJham8gYGNvbWluZ19zb29uYCksIHkgYXB1bnRhIGEgYC8ud2VsbC1rbm93bi90cnVzdC1jb21wb25lbnRzLmpzb25gIOKAlCBlbCB2b2NhYnVsYXJpbyBkZSBjb21wb25lbnRlcyBkZSBjb25maWFuemEsIGFnbsOzc3RpY28gZGVsIHRyYW5zcG9ydGUgeSBkZXJpdmFkbyBkZWwgcmVnaXN0cm8gZGUgd2lkZ2V0cyBxdWUgc8OtIHNlIHNpcnZlLiIsImlkIjoiYTJ1aSIsImxhc3RfdmVyaWZpZWRfYXQiOm51bGwsInB1YmxpY19jbGFpbV9tYXgiOiJTaW4gaW1wbGVtZW50YWNpw7NuIGVuIGVsIMOhcmJvbCBkZSBjw7NkaWdvLiBObyBoYXkgbmFkYSBkZXNwbGVnYWRvIG5pIHRyYXMgYmFuZGVyYTogZXMgdW4gcGxhbiwgbm8gdW5hIGNhcGFjaWRhZC4iLCJwdWJsaWNfY2xhaW1fbWF4X2VuIjoiTm8gaW1wbGVtZW50YXRpb24gaW4gdGhlIHNvdXJjZSB0cmVlLiBOb3RoaW5nIGlzIGRlcGxveWVkLCBub3QgZXZlbiBiZWhpbmQgYSBmbGFnOiB0aGlzIGlzIGEgcGxhbiwgbm90IGEgY2FwYWJpbGl0eS4iLCJzdGF0ZSI6IlBMQU5ORUQiLCJ0aXRsZSI6IkEyLVVJIn0seyJiYW5uZWRfY2xhaW1zIjpbIihtaWxlc3xjaWVudG9zfHRob3VzYW5kc3xodW5kcmVkcykgZGUgKHdpZGdldHM_fHJlbmRlcnM_fHJlbmRlcml6YWRvcykiLCIobG9zICk_YWdlbnRlcyAoeWEgKT8odmVufHJlbmRlcml6YW58cmVuZGVyKSAobnVlc3Ryb3MgKT93aWRnZXRzIl0sImV2aWRlbmNlIjoiYHBhY2thZ2VzL21jcC1hcHBzLXdpZGdldHNgIHNpcnZlIDUgcmVjdXJzb3MgYHVpOi8vYCAoY2F0w6Fsb2dvLCBkZXRhbGxlIGRlIHByb2R1Y3RvLCBjYXJyaXRvLCByZWNpYm8geSBwZXJmaWwgZGUgY29tZXJjaWFudGUpLCByZWdpc3RyYWRvcyB0YW50byBwb3IgYHBhY2thZ2VzL2NoYXRncHQtYXBwYCBjb21vIHBvciBgcGFja2FnZXMvbWNwLXNlcnZlcmAuIDEwIHRvb2xzIGRlIGNhZGEgc2Vydmlkb3IgbG9zIGRlY2xhcmFuIHbDrWEgYF9tZXRhLnVpLnJlc291cmNlVXJpYCArIGBvcGVuYWkvb3V0cHV0VGVtcGxhdGVgLCB0b21hZG9zIGRlbCBTU09UIGBXSURHRVRfVVJJU2AuIEdhdGVzOiBwYXJpZGFkIGRlbCBNSU1FIGNvbnRyYSBsYSBjb25zdGFudGUgZGVsIFNESyB5IGFudGktZHJpZnQgZGUgVVJJcyBjb250cmEgbGFzIGZ1ZW50ZXMgZGUgYW1ib3MgY29uc3VtaWRvcmVzLiBTSU4gc29uZGEgZGUgcHJvZHVjY2nDs24gcXVlIGNvbmZpcm1lIHJlbmRlcml6YWRvIHBvciB1biBjbGllbnRlIHJlYWwuIiwiaWQiOiJtY3BfYXBwcyIsImxhc3RfdmVyaWZpZWRfYXQiOm51bGwsInB1YmxpY19jbGFpbV9tYXgiOiJTZXJ2aW1vcyB3aWRnZXRzIE1DUCBBcHBzIHF1ZSBsbGV2YW4gbGEgZXZpZGVuY2lhIGRlIGNvbmZpYW56YSBkZWwgY29tZXJjaW8uIE5PIHNlIHB1ZWRlIGFmaXJtYXIgcXVlIG5pbmfDum4gY2xpZW50ZSBsb3MgaGF5YSByZW5kZXJpemFkby4iLCJwdWJsaWNfY2xhaW1fbWF4X2VuIjoiV2Ugc2VydmUgTUNQIEFwcHMgd2lkZ2V0cyBjYXJyeWluZyB0aGUgbWVyY2hhbnQncyB0cnVzdCBldmlkZW5jZS4gVGhhdCBhbnkgY2xpZW50IGhhcyByZW5kZXJlZCB0aGVtIGNhbm5vdCBiZSBjbGFpbWVkLiIsInN0YXRlIjoiQ09ERV9DT01QTEVURSIsInRpdGxlIjoiTUNQIEFwcHMg4oCUIHdpZGdldHMgZGUgY29uZmlhbnphIChTRVAtMTg2NSkiLCJ0aXRsZV9lbiI6Ik1DUCBBcHBzIOKAlCB0cnVzdCB3aWRnZXRzIChTRVAtMTg2NSkifSx7ImJhbm5lZF9jbGFpbXMiOlsiKGNhZGF8ZXZlcnl8dG9kb3xhbGwpIChjaGVja291dHxjb21wcmF8cHVyY2hhc2V8dHJhbnNhY2NpW2_Ds11ufHRyYW5zYWN0aW9uKXM_IChnZW5lcmF8ZW1pdGV8cHJvZHVjZXxnZW5lcmF0ZXN8aXNzdWVzfHByb2R1Y2VzfGdldHMpICh1biB8YSApPyh0cnVzdCApP3JlY2VpcHQiLCIobWlsZXN8Y2llbnRvc3xtaWxsb25lc3x0aG91c2FuZHN8aHVuZHJlZHN8bWlsbGlvbnMpIGRlIChyZWNpYm9zfHJlY2VpcHRzKSIsIihyZWNpYm9zfHJlY2VpcHRzKSAoZW1pdGlkb3N8aXNzdWVkKSAocGFyYXxmb3IpIChjYWRhfGV2ZXJ5fHRvZG9zKSJdLCJldmlkZW5jZSI6InJlY2VpcHQtaXNzdWVyLWludGVybmFscy50czozMiAoQUxHT1JJVEhNPUVkRFNBKTsgY29ycHVzIHZpdm8gdjEuMC4gU29uZGEgZGUgcHJvZHVjY2nDs24gMjAyNi0wOC0xOCBgR0VUIC9hcGkvdjEvaGVhbHRoYCDihpIgYHRydXN0X3JlY2VpcHRzIHtpc3N1aW5nOnRydWUsIGxhc3RJc3N1ZWRBdCAyMDI2LTA4LTEzIDEyOjM3IFVUQywgaXNzdWVkMjRoOjB9YCAoc2luIGZvcm1hdG8gSVNPIGEgcHJvcMOzc2l0bzogZWwgZ3VhcmQgZGUgYHB1YmxpYy1jYXBhYmlsaXR5LW1hbmlmZXN0LnRlc3QudHNgIHByb2jDrWJlIHJlbG9qZXMgZGVudHJvIGRlIGxvIGZpcm1hZG8geSBubyBkaXN0aW5ndWUgdW5hIGNvbnN0YW50ZSBkZSB1bmEgZmVjaGEgdml2YSkuIEVsIGVtaXNvciBmaXJtYSB5IGVtaXRlOyBlbCB2b2x1bWVuIGVzIG90cm8gaGVjaG86IGBUUlVTVF9SRUNFSVBUX01DUF9TVEFOREFMT05FX0VOQUJMRURgIGVzdMOhIE9GRiBwb3IgZGVmZWN0byAoYHBhY2thZ2VzL21jcC1zZXJ2ZXIvc3JjL3RydXN0LXJlY2VpcHQtZW5xdWV1ZS50c2ApLCBhc8OtIHF1ZSB1biBjaGVja291dCBzZXJ2aWRvIHBvciBlc2UgY2FtaW5vIE5PIGVuY29sYSByZWNpYm8uIiwiaGVhbHRoX2tleSI6InRydXN0X3JlY2VpcHRzLmlzc3VpbmciLCJpZCI6InJlY2VpcHRfc2lnbmF0dXJlX2p3cyIsImxhc3RfdmVyaWZpZWRfYXQiOiIyMDI2LTA4LTE4IiwicHVibGljX2NsYWltX21heCI6IkVtaXRpbW9zIFRydXN0IFJlY2VpcHRzIGZpcm1hZG9zIChKV1MgRWREU0EpIGVuIHByb2R1Y2Npw7NuLiBOTyBzZSBwdWVkZSBhZmlybWFyIHF1ZSB0b2RvIGNoZWNrb3V0IGdlbmVyZSB1bm8sIG5pIHZvbHVtZW4gZGUgcmVjaWJvcyBlbWl0aWRvcy4iLCJwdWJsaWNfY2xhaW1fbWF4X2VuIjoiV2UgaXNzdWUgc2lnbmVkIFRydXN0IFJlY2VpcHRzIChKV1MgRWREU0EpIGluIHByb2R1Y3Rpb24uIFRoYXQgZXZlcnkgY2hlY2tvdXQgZ2VuZXJhdGVzIG9uZSwgb3IgcmVjZWlwdCBpc3N1YW5jZSB2b2x1bWUsIGNhbm5vdCBiZSBjbGFpbWVkLiIsInN0YXRlIjoiTElWRSIsInRpdGxlIjoiQ2FwYSAxIOKAlCBmaXJtYSBKV1MgRWREU0EgKEVkMjU1MTkpIGRlbCByZWNlaXB0IiwidGl0bGVfZW4iOiJMYXllciAxIOKAlCByZWNlaXB0IEpXUyBFZERTQSAoRWQyNTUxOSkgc2lnbmF0dXJlIn0seyJldmlkZW5jZSI6ImByYWlsd2F5IHZhcmlhYmxlcyAtLXNlcnZpY2UgYXBpYCAoMjAyNi0wOS0wMyk6IGBUUlVTVF9SRUNFSVBUX0NIQUlOX0VOQUJMRUQ9dHJ1ZWAgeSBgVFJVU1RfUkVDRUlQVF9DSEFJTl9HRU5FU0lTX0FUYCBjb24gZ8OpbmVzaXMgMjAyNi0wOC0wNiAoMDA6MDAgVVRDKSDigJQgbGFzIGRvcyBjb25kaWNpb25lcyBxdWUgYHNlcnZpY2VzL3RydXN0L3JlY2VpcHQtcGVyc2lzdGVuY2Uuc2VydmljZS50c2AgZXhpZ2UgcGFyYSBlbmNhZGVuYXIuIEVsIGRlZmF1bHQgZGVsIGxlY3RvciBzaWd1ZSBzaWVuZG8gT0ZGIChgcmVjZWlwdC1jaGFpbi1mbGFnLnRzYCksIHBlcm8gZW4gcHJvZHVjY2nDs24gbm8gZXN0w6EgZW4gZWwgZGVmYXVsdC4gTk8gc2UgaGEgY29udGFkbyBjdcOhbnRvcyByZWNpYm9zIHRpZW5lbiBlbmxhY2U6IGxhIGNhZGVuYSBzZSBkZWNsYXJhIGFybWFkYSwgbm8gbWVkaWRhLiBMYSBnw6luZXNpcyBzZSBlbGlnZSBVTkEgdmV6IHkgbm8gc2UgZGVzaGFjZS4iLCJmbGFnX29ic2VydmF0aW9uIjp7Im9ic2VydmVkX2F0IjoiMjAyNi0wOS0wMyIsInNvdXJjZSI6ImByYWlsd2F5IHZhcmlhYmxlcyAtLXNlcnZpY2UgYXBpYCAoZW50b3JubyBkZSBwcm9kdWNjacOzbikiLCJ2YWx1ZSI6InRydWUifSwiZ292ZXJuZWRfYnlfZmxhZyI6IlRSVVNUX1JFQ0VJUFRfQ0hBSU5fRU5BQkxFRCIsImlkIjoicmVjZWlwdF9oYXNoX2NoYWluIiwibGFzdF92ZXJpZmllZF9hdCI6IjIwMjYtMDktMDMiLCJwdWJsaWNfY2xhaW1fbWF4IjoiRW5jYWRlbmFkbyB5IGNoZWNrcG9pbnRzIGltcGxlbWVudGFkb3MgeSBBUk1BRE9TIGVuIHByb2R1Y2Npw7NuOiBgVFJVU1RfUkVDRUlQVF9DSEFJTl9FTkFCTEVEYCBlc3TDoSBwdWVzdGEgeSBoYXkgZ8OpbmVzaXMgZGVjbGFyYWRhICgyMDI2LTA4LTA2KS4gTG9zIHJlY2lib3MgYW50ZXJpb3JlcyBhIGVzYSBnw6luZXNpcyBubyBlc3TDoW4gZW5jYWRlbmFkb3MsIHkgbm8gc2UgaGEgY29udGFkbyBjdcOhbnRvcyBwb3N0ZXJpb3JlcyBsbyBlc3TDoW46IG5vIHNlIHB1ZWRlIG9mcmVjZXIgaW5tdXRhYmlsaWRhZCBkZSBzZWN1ZW5jaWEgc29icmUgZWwgY29ycHVzLCBuaSBhZmlybWFyIHVuYSBjYWRlbmEgY29udGludWEuIiwicHVibGljX2NsYWltX21heF9lbiI6IkNoYWluaW5nIGFuZCBjaGVja3BvaW50cyBpbXBsZW1lbnRlZCBhbmQgQVJNRUQgaW4gcHJvZHVjdGlvbjogYFRSVVNUX1JFQ0VJUFRfQ0hBSU5fRU5BQkxFRGAgaXMgc2V0IGFuZCBhIGdlbmVzaXMgaXMgZGVjbGFyZWQgKDIwMjYtMDgtMDYpLiBSZWNlaXB0cyBpc3N1ZWQgYmVmb3JlIHRoYXQgZ2VuZXNpcyBhcmUgbm90IGNoYWluZWQsIGFuZCBob3cgbWFueSBsYXRlciBvbmVzIGFyZSBoYXMgbm90IGJlZW4gY291bnRlZDogc2VxdWVuY2UgaW1tdXRhYmlsaXR5IG92ZXIgdGhlIGNvcnB1cyBjYW5ub3QgYmUgb2ZmZXJlZCwgbm9yIGNhbiBhbiB1bmJyb2tlbiBjaGFpbiBiZSBjbGFpbWVkLiIsInN0YXRlIjoiQ09ERV9DT01QTEVURSIsInRpdGxlIjoiQ2FwYSAyIOKAlCBlbmNhZGVuYWRvIGhhc2ggZGUgcmVjZWlwdHMgKyBjaGVja3BvaW50cyBmaXJtYWRvcyIsInRpdGxlX2VuIjoiTGF5ZXIgMiDigJQgaGFzaC1jaGFpbmVkIHJlY2VpcHRzICsgc2lnbmVkIGNoZWNrcG9pbnRzIn0seyJldmlkZW5jZSI6InF0c2EtdGltZXN0YW1wLmZhY3RvcnkudHM6NzAtODUgZGV2dWVsdmUgYHVuZGVmaW5lZGAgc2luIFJlZGlzIG8gc2luIFFUU1AgcHJvdmlzaW9uYWRvOyAvaGVhbHRoIGRlIHByb2R1Y2Npw7NuIHJlc3BvbmRlIGBxdHNwLmVuYWJsZWQ9ZmFsc2VgICh2ZXJpZmljYWRvIDIwMjYtMDctMjkpLiBWYWxpZGFjacOzbiBkZSBFVSBUcnVzdGVkIExpc3QgeSBhbGxvd2xpc3QgZGUgcm9vdCBjZXJ0cyBpbXBsZW1lbnRhZGFzLiIsImhlYWx0aF9rZXkiOiJxdHNwLmVuYWJsZWQiLCJpZCI6InF0c2FfdGltZXN0YW1wIiwibGFzdF92ZXJpZmllZF9hdCI6IjIwMjYtMDctMjkiLCJwdWJsaWNfY2xhaW1fbWF4IjoiU2VsbGFkbyBSRkMgMzE2MSBpbXBsZW1lbnRhZG8sIGNvbiB2YWxpZGFjacOzbiBkZSBFVSBUcnVzdGVkIExpc3QsIHkgc2luIHByb3ZlZWRvciBwcm92aXNpb25hZG86IGAvYXBpL3YxL2hlYWx0aGAgcmVzcG9uZGUgcXRzcC5lbmFibGVkID0gZmFsc2UuIE5pbmfDum4gcmVjaWJvIGxsZXZhIGhveSB1biBzZWxsbyBkZSB0aWVtcG8gY3VhbGlmaWNhZG8uIiwicHVibGljX2NsYWltX21heF9lbiI6IlJGQyAzMTYxIHRpbWVzdGFtcGluZyBpbXBsZW1lbnRlZCwgd2l0aCBFVSBUcnVzdGVkIExpc3QgdmFsaWRhdGlvbiwgYW5kIG5vIHByb3Zpc2lvbmVkIHByb3ZpZGVyOiBgL2FwaS92MS9oZWFsdGhgIHJlcG9ydHMgcXRzcC5lbmFibGVkID0gZmFsc2UuIE5vIHJlY2VpcHQgY2FycmllcyBhIHF1YWxpZmllZCB0aW1lc3RhbXAgdG9kYXkuIiwic3RhdGUiOiJET1JNQU5UIiwidGl0bGUiOiJDYXBhIDMg4oCUIHNlbGxhZG8gZGUgdGllbXBvIFJGQyAzMTYxIGNvbnRyYSBRVFNBIiwidGl0bGVfZW4iOiJMYXllciAzIOKAlCBSRkMgMzE2MSB0aW1lc3RhbXBpbmcgYWdhaW5zdCBhIFFUU0EifSx7ImV2aWRlbmNlIjoicWVzLXNpZ25pbmcuc2VydmljZS50cyBwZXJzaXN0ZSBzaWVtcHJlIFNJR05FRF9VTlZFUklGSUVEICg6MjY0KTsgTklOR1VOQSBydXRhIGRlIGPDs2RpZ28gcHJvZHVjZSBWRVJJRklFRCAoVE9ETyBlbiA6Mjk1KSB5IGNvbiBsYSBmbGFnIE9OIGVsIHBhc28gZXN0cnVjdHVyYWwgdGFtcG9jbyBwcm9tdWV2ZSAoOjMxMykuIEdhdGUgcmVhbDogVDA1NiwgY3JlZGVuY2lhbGVzIHNhbmRib3ggZGUgSW5mb0NlcnQgKEFEUi0wODMpLiIsImZsYWdfb2JzZXJ2YXRpb24iOnsiYWxzb19jaXRlcyI6WyJvbiJdLCJvYnNlcnZlZF9hdCI6IjIwMjYtMDktMDMiLCJzb3VyY2UiOiJgcmFpbHdheSB2YXJpYWJsZXMgLS1zZXJ2aWNlIGFwaWAgKGVudG9ybm8gZGUgcHJvZHVjY2nDs24pIiwidmFsdWUiOm51bGx9LCJnb3Zlcm5lZF9ieV9mbGFnIjoiUUVTX0NBREVTX1ZFUklGWV9FTkFCTEVEIiwiaWQiOiJxdWFsaWZpZWRfc2VhbCIsImxhc3RfdmVyaWZpZWRfYXQiOm51bGwsInB1YmxpY19jbGFpbV9tYXgiOiJObyBkaXNwb25pYmxlLiBOaW5ndW5hIHJ1dGEgZGUgY8OzZGlnbyBwcm9kdWNlIGhveSB1biBzZWxsbyBWRVJJRklFRDogbGEgZmlybWEgc2UgcGVyc2lzdGUgc2llbXByZSBjb21vIFNJR05FRF9VTlZFUklGSUVELCBpbmNsdXNvIGNvbiBsYSBiYW5kZXJhIGVuY2VuZGlkYS4gQmxvcXVlYWRvIHBvciBjcmVkZW5jaWFsZXMgZGUgc2FuZGJveCBkZWwgUVRTUC4iLCJwdWJsaWNfY2xhaW1fbWF4X2VuIjoiTm90IGF2YWlsYWJsZS4gTm8gY29kZSBwYXRoIHByb2R1Y2VzIGEgVkVSSUZJRUQgc2VhbCB0b2RheTogdGhlIHNpZ25hdHVyZSBpcyBhbHdheXMgcGVyc2lzdGVkIGFzIFNJR05FRF9VTlZFUklGSUVELCBldmVuIHdpdGggdGhlIGZsYWcgb24uIEJsb2NrZWQgb24gUVRTUCBzYW5kYm94IGNyZWRlbnRpYWxzLiIsInN0YXRlIjoiUExBTk5FRCIsInRpdGxlIjoiQ2FwYSA0IOKAlCBzZWxsbyBjdWFsaWZpY2FkbyAoUUVTIHZlcmlmaWNhZG8gY29udHJhIGNhZGVuYSBkZSBjb25maWFuemEpIiwidGl0bGVfZW4iOiJMYXllciA0IOKAlCBxdWFsaWZpZWQgc2VhbCAoUUVTIHZlcmlmaWVkIGFnYWluc3QgdHJ1c3QgY2hhaW4pIn0seyJiYW5uZWRfY2xhaW1zIjpbIihhY2VwdGFtb3N8cHJvY2VzYW1vcykgcGFnb3MgKGNvbnx2W2nDrV1hKSAoYXBwbGUgcGF5fGdvb2dsZSBwYXl8cGF5bWVudCByZXF1ZXN0KSIsIndlIChhY2NlcHR8cHJvY2VzcykgKGFwcGxlIHBheXxnb29nbGUgcGF5fHBheW1lbnQgcmVxdWVzdCBhcGkpIHBheW1lbnRzIiwiKGNvbWVyY2lhbnRlc3xtZXJjaGFudHMpICh5YSApPyhjb2JyYW58Y2hhcmdlfHNldHRsZSkuezAsMzB9KHBheW1lbnQgcmVxdWVzdHxicm93c2VyLj9wYXkpIl0sImV2aWRlbmNlIjoiU29uZGEgMjAyNi0wOC0zMC4gYFBPU1QgL2FwaS92MS9jaGVja291dC97c2Vzc2lvbklkfS9icm93c2VyLXBheWAg4oaSIDQwMCAocnV0YSBSRUdJU1RSQURBLCBgYnJvd3Nlci1wYXltZW50LnJvdXRlcy50czoyMzBgLCBtb250YWRhIGVuIGByZWdpc3Rlci1yb3V0ZXMudHM6OTcyYCkuIExhIFVSTCBxdWUgbG9zIG1hbmlmaWVzdG9zIHB1YmxpY2FiYW4sIGAvYXBpL3YxL2Jyb3dzZXItcGF5YCwg4oaSIDQwNDogbnVuY2EgZXhpc3Rpw7MuIEJhc2UgZGUgZGF0b3MgZGUgcHJvZHVjY2nDs246IDggdGllbmRhcywgKiowIGNvbiBgc3RyaXBlU2VjcmV0S2V5YCoqLCB5IGVsIGNvYnJvIGRlIGBicm93c2VyLXBheW1lbnQuc2VydmljZS50czoxMDlgIGV4aWdlIGVzYSBjbGF2ZTsgYGFjcF9vcmRlcnNgIHRpZW5lIDEuNjA2IGZpbGFzIHkgbGFzIDEuNjA2IGxsZXZhbiBgc3RyaXBlX3BheW1lbnRfaW50ZW50X2lkYCBjb24gcHJlZmlqbyBgcGlfZGVtb19gIChzZWVkZXIpLiBDZXJvIGNvYnJvcyByZWFsZXMsIGNlcm8gcGVkaWRvcyBhZ8OpbnRpY29zIChgcGxhdGZvcm1fb3JkZXJzYDogMTggYHNlZWRgICsgNCBgd2ViaG9va2ApLiIsImZsYWdfb2JzZXJ2YXRpb24iOnsib2JzZXJ2ZWRfYXQiOiIyMDI2LTA5LTAzIiwic291cmNlIjoiYHJhaWx3YXkgdmFyaWFibGVzIC0tc2VydmljZSBhcGlgIChlbnRvcm5vIGRlIHByb2R1Y2Npw7NuKSIsInZhbHVlIjoidHJ1ZSJ9LCJnb3Zlcm5lZF9ieV9mbGFnIjoiQlJPV1NFUl9QQVlNRU5UX1JFUVVJUkVfU0VUVExFTUVOVCIsImlkIjoicGF5bWVudF9yZXF1ZXN0X2FwaSIsImxhc3RfdmVyaWZpZWRfYXQiOiIyMDI2LTA4LTMwIiwicHVibGljX2NsYWltX21heCI6IkVsIGNhbWlubyBkZSBwYWdvIGNvbmZpcm1hZG8gcG9yIGh1bWFubyBlc3TDoSBpbXBsZW1lbnRhZG8geSBzdSBydXRhIGRlc3BsZWdhZGEuIE5PIHNlIHB1ZWRlIGFmaXJtYXIgcXVlIHNlIGNvYnJlIHBvciDDqWw6IG5pbmd1bmEgdGllbmRhIHRpZW5lIHByb2Nlc2Fkb3IgY29uZmlndXJhZG8sIHkgbmluZ8O6biBwYWdvIHJlYWwgaGEgcGFzYWRvIHBvciBlc3RhIHJ1dGEuIiwicHVibGljX2NsYWltX21heF9lbiI6IlRoZSBodW1hbi1jb25maXJtZWQgcGF5bWVudCBwYXRoIGlzIGltcGxlbWVudGVkIGFuZCBpdHMgcm91dGUgZGVwbG95ZWQuIFRoYXQgYW55dGhpbmcgaXMgY2hhcmdlZCB0aHJvdWdoIGl0IGNhbm5vdCBiZSBjbGFpbWVkOiBubyBtZXJjaGFudCBoYXMgYSBjb25maWd1cmVkIHByb2Nlc3NvciwgYW5kIG5vIHJlYWwgcGF5bWVudCBoYXMgZ29uZSB0aHJvdWdoIHRoaXMgcm91dGUuIiwic3RhdGUiOiJDT0RFX0NPTVBMRVRFIiwidGl0bGUiOiJXM0MgUGF5bWVudCBSZXF1ZXN0IEFQSSDigJQgaG9qYSBkZSBwYWdvIGRlbCBuYXZlZ2Fkb3IiLCJ0aXRsZV9lbiI6IlczQyBQYXltZW50IFJlcXVlc3QgQVBJIOKAlCBicm93c2VyIHBheW1lbnQgc2hlZXQifSx7ImJhbm5lZF9jbGFpbXMiOlsiKGNvbWVyY2lhbnRlc3xtZXJjaGFudHMpIHZlcmlmaWNhZFtvYV1zIChwb3J8Y29ufHZpYXx0aHJvdWdoKSAoZGlnaXRhbCBjcmVkZW50aWFsc3xtZGx8ZXVkaSkiLCIodmVyaWZpZWR8dmVyaWZpY2Fkb3MpIG1lcmNoYW50cy57MCwyMH0obURMfEFBTVZBfFZJQ0FMKSJdLCJldmlkZW5jZSI6IlNvbmRhIDIwMjYtMDgtMzAuIGBQT1NUIC9hcGkvdjEvdmVyaWZpY2F0aW9uL2NyZWRlbnRpYWxzL3ZlcmlmeWAg4oaSIDQwMSAocnV0YSBSRUdJU1RSQURBIGNvbiBhdXRoOyBwcmVmaWpvIGVuIGByZWdpc3Rlci1yb3V0ZXMudHM6MTAxNmApLiBCYXNlIGRlIGRhdG9zIGRlIHByb2R1Y2Npw7NuOiBgdmVyaWZpZWRfY3JlZGVudGlhbF9yZWNvcmRzYCAqKjAgZmlsYXMqKi4gTmluZ8O6biBjb21lcmNpYW50ZSBoYSBwcmVzZW50YWRvIG51bmNhIHVuYSBjcmVkZW5jaWFsLCBhc8OtIHF1ZSBlbCBgdHJ1c3RCb29zdGAgZGUgKzAsMDUvKzAsMTAgcXVlIHNlIHB1YmxpY2Egbm8gc2UgaGEgYXBsaWNhZG8gamFtw6FzLiIsImZsYWdfb2JzZXJ2YXRpb24iOnsib2JzZXJ2ZWRfYXQiOiIyMDI2LTA5LTAzIiwic291cmNlIjoiYHJhaWx3YXkgdmFyaWFibGVzIC0tc2VydmljZSBhcGlgIChlbnRvcm5vIGRlIHByb2R1Y2Npw7NuKSIsInZhbHVlIjpudWxsfSwiZ292ZXJuZWRfYnlfZmxhZyI6IkVVRElfV0FMTEVUX0FDQ0VQVEFOQ0VfRU5BQkxFRCIsImlkIjoibWVyY2hhbnRfdmVyaWZpY2F0aW9uX2RjIiwibGFzdF92ZXJpZmllZF9hdCI6IjIwMjYtMDgtMzAiLCJwdWJsaWNfY2xhaW1fbWF4IjoiQWNlcHRhbW9zIHZlcmlmaWNhY2nDs24gZGUgaWRlbnRpZGFkIGRlIGNvbWVyY2lhbnRlIHBvciBEaWdpdGFsIENyZWRlbnRpYWxzIEFQSSDigJQgZW5kcG9pbnQgZGVzcGxlZ2Fkby4gTk8gc2UgcHVlZGUgYWZpcm1hciBxdWUgbmluZ8O6biBjb21lcmNpYW50ZSBzZSBoYXlhIHZlcmlmaWNhZG8gcG9yIGVzYSB2w61hIG5pIHF1ZSBlbCBib251cyBkZSBjb25maWFuemEgc2UgaGF5YSBjb25jZWRpZG8uIiwicHVibGljX2NsYWltX21heF9lbiI6IldlIGFjY2VwdCBtZXJjaGFudCBpZGVudGl0eSB2ZXJpZmljYXRpb24gdmlhIHRoZSBEaWdpdGFsIENyZWRlbnRpYWxzIEFQSSDigJQgdGhlIGVuZHBvaW50IGlzIGRlcGxveWVkLiBUaGF0IGFueSBtZXJjaGFudCBoYXMgdmVyaWZpZWQgdGhpcyB3YXksIG9yIHRoYXQgdGhlIHRydXN0IGJvbnVzIGhhcyBldmVyIGJlZW4gZ3JhbnRlZCwgY2Fubm90IGJlIGNsYWltZWQuIiwic3RhdGUiOiJDT0RFX0NPTVBMRVRFIiwidGl0bGUiOiJWZXJpZmljYWNpw7NuIGRlIGNvbWVyY2lhbnRlIHBvciBEaWdpdGFsIENyZWRlbnRpYWxzIEFQSSIsInRpdGxlX2VuIjoiTWVyY2hhbnQgdmVyaWZpY2F0aW9uIHZpYSBEaWdpdGFsIENyZWRlbnRpYWxzIEFQSSJ9LHsiYmFubmVkX2NsYWltcyI6WyIob3BlcmFkb3Jlc3xvcGVyYXRvcnMpICh5YSApPyh2ZXJpZmljYWRvc3x2ZXJpZmllZCkuezAsMzB9KGt5YXxhZ2VudCBvcGVyYXRvcikiLCIodmVyaWZpZWQgKT9hZ2VudCBvcGVyYXRvcnMgKHJlY2VpdmV8YWxyZWFkeXx1c2UpIl0sImV2aWRlbmNlIjoiU29uZGEgMjAyNi0wOC0zMCBjb250cmEgbGEgYmFzZSBkZSBkYXRvcyBkZSBwcm9kdWNjacOzbjogYGFnZW50X2t5YV9pZGVudGl0aWVzYCB0aWVuZSA1IGZpbGFzIHkgbGFzIDUgc29uIGRlbCBzZWVkZXIgKGBzZWVkLXNob3BpZnktZGVtby1kYXRhLnRzYCwgY3JlYWRhcyBlbiBlbCBtaXNtbyBzZWd1bmRvLCBub21icmVzIGBza3lmaXJlLWFudGhyb3BpY2AvYHNreWZpcmUtb3BlbmFpYC_igKYpLiBga3lhX2FwaV9jbGllbnRgICoqMCBmaWxhcyoqLCBga3lhX3VzYWdlX2V2ZW50YCAqKjAgZmlsYXMqKjogbmluZ8O6biBjb25zdW1pZG9yIHJlYWwgZGUgbGEgQVBJIGRlIEtZQS4gRWwgYm9udXMgZGUgKzAsMTAgYWwgdHJ1c3Qgc2NvcmUgcXVlIHNlIHB1YmxpY2Egbm8gc2UgaGEgY29uY2VkaWRvIGEgbmluZ8O6biBvcGVyYWRvciByZWFsLiIsImZsYWdfb2JzZXJ2YXRpb24iOnsib2JzZXJ2ZWRfYXQiOiIyMDI2LTA5LTAzIiwic291cmNlIjoiYHJhaWx3YXkgdmFyaWFibGVzIC0tc2VydmljZSBhcGlgIChlbnRvcm5vIGRlIHByb2R1Y2Npw7NuKSIsInZhbHVlIjoiYmxvY2tfc3Bvb2ZlZCJ9LCJnb3Zlcm5lZF9ieV9mbGFnIjoiQUdFTlRfSURFTlRJVFlfVkVSSUZJQ0FUSU9OX01PREUiLCJpZCI6ImFnZW50X29wZXJhdG9yX2t5YSIsImxhc3RfdmVyaWZpZWRfYXQiOiIyMDI2LTA4LTMwIiwicHVibGljX2NsYWltX21heCI6IkxhIHZlcmlmaWNhY2nDs24gZGUgaWRlbnRpZGFkIGRlbCBvcGVyYWRvciBkZWwgYWdlbnRlIGVzdMOhIGltcGxlbWVudGFkYSB5IHN1IHJ1dGEgZGVzcGxlZ2FkYS4gTk8gc2UgcHVlZGUgYWZpcm1hciBxdWUgaGF5YSBvcGVyYWRvcmVzIHZlcmlmaWNhZG9zOiBsYXMgw7puaWNhcyBpZGVudGlkYWRlcyBlbiBwcm9kdWNjacOzbiBzb24gZGF0b3MgZGUgZGVtb3N0cmFjacOzbiBzZW1icmFkb3MuIiwicHVibGljX2NsYWltX21heF9lbiI6IkFnZW50IG9wZXJhdG9yIGlkZW50aXR5IHZlcmlmaWNhdGlvbiBpcyBpbXBsZW1lbnRlZCBhbmQgaXRzIHJvdXRlIGRlcGxveWVkLiBUaGF0IHRoZXJlIGFyZSB2ZXJpZmllZCBvcGVyYXRvcnMgY2Fubm90IGJlIGNsYWltZWQ6IHRoZSBvbmx5IGlkZW50aXRpZXMgaW4gcHJvZHVjdGlvbiBhcmUgc2VlZGVkIGRlbW8gZGF0YS4iLCJzdGF0ZSI6IkNPREVfQ09NUExFVEUiLCJ0aXRsZSI6IktZQSDigJQgdmVyaWZpY2FjacOzbiBkZWwgb3BlcmFkb3IgZGVsIGFnZW50ZSIsInRpdGxlX2VuIjoiS1lBIOKAlCBhZ2VudCBvcGVyYXRvciB2ZXJpZmljYXRpb24ifV0sInJlZ2lzdHJ5X2hhc2giOiJkOGJkZTIxYTgyYmJmYzQxZTBiODgxMjRmZTdiNGZmN2I2OWNkOGZmN2ZkN2E1MGIwOWFjODk5MjRjMmMyNTBjIiwic2NoZW1hX3ZlcnNpb24iOiIxLjYiLCJzY29wZSI6eyJjb3ZlcnMiOiJQcm90b2NvbCBhbmQgcGF5bWVudCByYWlscywgcmVjZWlwdCBldmlkZW5jZSBsYXllcnMsIGFuZCB0aGUgYWdlbnQtZmFjaW5nIGlkZW50aXR5IHN1cmZhY2VzIHRoYXQgcHVibGlzaCBhIHN0YXRlIGluIGEgcHVibGljIG1hbmlmZXN0LiIsImNvdmVyc0VzIjoiUmFpbHMgZGUgcHJvdG9jb2xvIHkgZGUgcGFnbywgY2FwYXMgZGUgZXZpZGVuY2lhIGRlbCByZWNpYm8sIHkgbGFzIHN1cGVyZmljaWVzIGRlIGlkZW50aWRhZCBvcmllbnRhZGFzIGEgYWdlbnRlcyBxdWUgcHVibGljYW4gdW4gZXN0YWRvIGVuIGFsZ8O6biBtYW5pZmllc3RvIHDDumJsaWNvLiIsImV4Y2x1ZGVzIjpbIlN0b3JlIHBsYXRmb3JtIGNvbm5lY3RvcnMgKFNob3BpZnksIFdvb0NvbW1lcmNlLCBQcmVzdGFTaG9wLCBNYWdlbnRvLCBPZG9vKSDigJQgc2VlIC8ud2VsbC1rbm93bi9hZ2VudC1jb21tZXJjZS5qc29uIOKGkiBjb25uZWN0ZWRQbGF0Zm9ybXMiLCJBZ2VudCBSZWFkaW5lc3MgLyBBc3N1cmFuY2UgYW5kIFBPU1QgL2FwaS92MS9hdWRpdHMg4oCUIHNlZSAvbGxtcy50eHQgwqc1IiwiVGhlIGNoZWNrb3V0IGVuZm9yY2VtZW50IHJ1bGUgZW5naW5lIOKAlCBzZWUgL2VuL3Byb3RvY29sLWNvdmVyYWdlIiwiVHJ1c3QgU2NvcmUgdjQuMSDigJQgc2VlIEdFVCAvYXBpL3YxL3RydXN0L21ldGhvZG9sb2d5LCB3aGljaCByZXBvcnRzIGl0cyBvd24gbGl2ZSByb2xsb3V0IHN0YXRlIl0sIm5vdGUiOiJUaGlzIHJlZ2lzdHJ5IGlzIGF1dGhvcml0YXRpdmUgZm9yIHdoYXQgaXQgY292ZXJzLCBhbmQgaXQgZG9lcyBub3QgY292ZXIgZXZlcnl0aGluZyB0aGUgcGxhdGZvcm0gc2hpcHMuIFdoZXJlIGEgY2FwYWJpbGl0eSBpcyBsaXN0ZWQgaGVyZSwgdGhpcyBmaWxlIHdpbnMgb3ZlciBhbnkgb3RoZXIgY2xhaW0gb24gdGhlIHNpdGUuIFdoZXJlIGl0IGlzIG5vdCBsaXN0ZWQsIHRoZSBwb2ludGVyIGluIGBleGNsdWRlc2AgbmFtZXMgdGhlIHN1cmZhY2UgdGhhdCBpcyBhdXRob3JpdGF0aXZlIGZvciBpdC4iLCJub3RlRXMiOiJFc3RlIHJlZ2lzdHJvIG1hbmRhIHNvYnJlIGxvIHF1ZSBjdWJyZSwgeSBubyBjdWJyZSB0b2RvIGxvIHF1ZSBsYSBwbGF0YWZvcm1hIHB1YmxpY2EuIFNpIHVuYSBjYXBhY2lkYWQgZXN0w6EgYXF1w60sIGVzdGUgZmljaGVybyBnYW5hIGEgY3VhbHF1aWVyIG90cmEgYWZpcm1hY2nDs24gZGVsIHNpdGlvLiBTaSBubyBlc3TDoSwgZWwgcHVudGVybyBkZSBgZXhjbHVkZXNgIG5vbWJyYSBsYSBzdXBlcmZpY2llIHF1ZSBzw60gbWFuZGEgc29icmUgZWxsYS4ifSwic3RhdGVfdm9jYWJ1bGFyeSI6eyJDT0RFX0NPTVBMRVRFIjp7Im1lYW5pbmciOiJJbXBsZW1lbnRlZCwgYnV0IG5vdCBjb25maXJtZWQgYXMgcHJvZHVjdGlvbiB1c2Ug4oCUIGEgcm91dGUgaXMgcmVnaXN0ZXJlZCBvciBhIGNvbmZpZyB2YWx1ZSBpcyBlY2hvZWQgYmFjaywgd2hpY2ggcHJvdmVzIGRlcGxveW1lbnQsIG5vdCB0aGF0IGFueXRoaW5nIGNvbnN1bWVzIGl0LiIsInN5bm9ueW1zIjpbImNvZGUgY29tcGxldGUiLCJjb2RlX2NvbXBsZXRlIiwiaW5fZGV2ZWxvcG1lbnQiXX0sIkRPUk1BTlQiOnsibWVhbmluZyI6IkltcGxlbWVudGVkIGFuZCBzd2l0Y2hlZCBvZmYg4oCUIHRoZSBmbGFnIG9yIGNvbmZpZyB0aGF0IHdvdWxkIGVuYWJsZSBpdCBkZWZhdWx0cyB0byBvZmYuIiwic3lub255bXMiOlsiZG9ybWFudCIsImNvbWluZy1zb29uIiwiYnVpbHQiXX0sIkxJVkUiOnsibWVhbmluZyI6IkRlcGxveWVkIGFuZCBzZXJ2aW5nIGluIHByb2R1Y3Rpb24gdG9kYXkuIiwic3lub255bXMiOlsibGl2ZSIsInByb2R1Y3Rpb24iLCJhY3RpdmUiLCJhdmFpbGFibGUiLCJvcGVyYXRpb25hbCJdfSwiUExBTk5FRCI6eyJtZWFuaW5nIjoiTm8gaW1wbGVtZW50YXRpb24gZXhpc3RzIHlldC4iLCJzeW5vbnltcyI6WyJwbGFubmVkIiwibm90X2ltcGxlbWVudGVkIiwicHJldmlzdG8iLCJwbGFuaWZpY2FkbyJdfSwiU0FOREJPWCI6eyJtZWFuaW5nIjoiRGVwbG95ZWQsIGJ1dCBvbmx5IGluIGEgdGVzdC9zaW11bGF0ZWQgZW52aXJvbm1lbnQg4oCUIG5vIHJlYWwgc2V0dGxlbWVudCBvciBwcm9kdWN0aW9uIGRhdGEgZmxvd3MgdGhyb3VnaCBpdC4iLCJzdWJjbGFpbXMiOnsiZXhwZXJpbWVudGFsIjoiUHVibGlzaGVkIGJlbG93IHRoZSBTQU5EQk9YIGNlaWxpbmc6IHRoZSBjb2RlIGlzIGRlcGxveWVkIGluIGEgdGVzdCBlbnZpcm9ubWVudCwgYnV0IHRoYXQgZW52aXJvbm1lbnQgaXMgbm90IGEgc3RhYmxlIG9uZSBvZiBvdXJzIOKAlCB0eXBpY2FsbHkgYSB0aGlyZCBwYXJ0eSdzIGRlbW8gZW52aXJvbm1lbnQsIG9yIGEgc3BlY2lmaWNhdGlvbiBzdGlsbCBpbiBmbHV4LiBBc3NlcnRzIGxlc3MgdGhhbiAnc2FuZGJveCcuIn0sInN5bm9ueW1zIjpbInNhbmRib3giLCJwaWxvdCIsImluIHBpbG90IiwiYmV0YSJdfX19.xgf-Tl4F5767Jid2gdrVy9xCswhNHf6BFuCUOiHo8bW2MTOmNSzBgrwMtEBTMVv6IeK4KGx7O7ZA06XGQf1IAA","kid":"f277ff73-ed8e-4d85-9b54-8046e572667c","alg":"EdDSA","typ":"trusteed-capabilities+jws","signed_fields":["schema_version","registry_hash","capabilities","state_vocabulary","scope"],"jwks_url":"/.well-known/jwks.json"},"retrieved_at":"2026-09-04T06:33:47.176Z"}