From 549390913c85f741ab1a689528d60c9935e0593e Mon Sep 17 00:00:00 2001 From: github-ops Date: Wed, 17 Jun 2026 06:15:46 +0000 Subject: [PATCH] chore: publish clean community baseline --- .dockerignore | 18 + .env.example | 36 + .gitea/workflows/ci.yml | 144 + .gitea/workflows/deploy.yml | 230 + .gitea/workflows/release.yml | 100 + .gitignore | 24 + ...c94b6fb3bbcb19c7a621c78c5a6d3698bdf4d.json | 100 + ...54d3a84d9870e10e86bbe0d9c9fd99bf8a1f5.json | 167 + ...811977fbdf181436573fa96415ccfcb5fecb2.json | 53 + ...7dbdad5d055887ef5fabd82552d4fe704f891.json | 65 + ...de4910e8d7c2b1b17055fdd1c54206e55a874.json | 83 + ...cb6ea0a48c1ae74d614d63023e6dc0687f47c.json | 48 + ...52d762d66cffdc449ee6f73c74c1d23a17314.json | 23 + ...c1cf462f49f0e2fe93e9230d15f97710b74ee.json | 23 + ...f569de7c0ffd3b8ca73e6c01f0842ace4ad25.json | 52 + ...006b4aec8f55fa070f9f2ff3859dc7cb96d06.json | 52 + ...8a1c87d1cd184973bf1cecc0c725691432c08.json | 25 + ...a040415a5f6eef589e9a264b9b1fd687353b7.json | 58 + ...e37c488eb2420207e9c4fa682993eda20cd62.json | 164 + ...bd063dc5746ef669f21b0db1b5843e9db22d0.json | 65 + ...8b68c15efa72029740e28bb881f54f73a6b9b.json | 23 + ...8d84377b417efb30c7bdc38d4e3746a0c1a7a.json | 166 + ...dea62bdfae0ba66100589ead3f986244b4cbb.json | 64 + ...82e9da706a34d17adf0bc94ddb4e7a3818c18.json | 82 + ...46db6f0f7d17e6867f929c44027990fb94b57.json | 94 + ...5658f7f094844b892c999e6f58d6f92fbe0c2.json | 168 + ...940b65d2167dada6b6110985ce0bd95480b93.json | 99 + ...11e19377582ec0ca245a162c2d2236077bb9b.json | 58 + ...1e970ff08427f9a3dd396b649996a9131260c.json | 64 + ...17f9c01c9e5cbc1eea5511005d572a0776edc.json | 64 + ...46ad2ffe665efc5f11252136bee340a3a4a89.json | 71 + ...59ce42857433dd11580659481c562f9d9ab3f.json | 56 + ...5a2785c0a612ff739e341e28d0831b7170f6b.json | 70 + ...3d14019ba405a07a8360b68e8c9c5597e17ce.json | 203 + ...dc8a6d4068e33a5509f9e314dd0d97eac178b.json | 98 + ...0a2f07bc89aec46cdbe1e856700fa57674f41.json | 64 + ...8f932919d2882f3dcb5a7f865fb4448506d05.json | 101 + ...a53d8a109b8aa766ab1c2b11f9b52e250adc8.json | 94 + ...9680bf9f0d131785c310936bdf603d74c118d.json | 59 + ...793eb1d1ad17505b1e1609a842750e3233ec2.json | 59 + ...a5022c7ddac2ffe2a1969b2c6a2ed72c3730a.json | 53 + ...ff21a2f73a4416d0cf20be418bba36def9eb4.json | 40 + CLA.md | 63 + CONTRIBUTING.md | 49 + Cargo.lock | 3330 ++++++++++++ Cargo.toml | 41 + Crank.png | Bin 0 -> 2711276 bytes LICENSE | 661 +++ NOTICE | 7 + README.md | 269 + apps/admin-api/Cargo.toml | 39 + apps/admin-api/Dockerfile | 68 + apps/admin-api/src/app.rs | 3957 +++++++++++++++ apps/admin-api/src/auth.rs | 124 + apps/admin-api/src/error.rs | 571 +++ apps/admin-api/src/lib.rs | 9 + apps/admin-api/src/main.rs | 156 + apps/admin-api/src/rate_limit.rs | 106 + apps/admin-api/src/request_context.rs | 165 + apps/admin-api/src/routes.rs | 21 + apps/admin-api/src/routes/access.rs | 287 ++ apps/admin-api/src/routes/agents.rs | 242 + apps/admin-api/src/routes/auth.rs | 109 + apps/admin-api/src/routes/auth_profiles.rs | 56 + apps/admin-api/src/routes/capabilities.rs | 8 + apps/admin-api/src/routes/machine_auth.rs | 124 + apps/admin-api/src/routes/observability.rs | 100 + apps/admin-api/src/routes/operations.rs | 283 ++ apps/admin-api/src/routes/secrets.rs | 98 + apps/admin-api/src/routes/streaming.rs | 16 + apps/admin-api/src/routes/workspaces.rs | 58 + apps/admin-api/src/service.rs | 4506 +++++++++++++++++ apps/admin-api/src/state.rs | 8 + apps/admin-api/src/storage.rs | 84 + apps/mcp-server/Cargo.toml | 36 + apps/mcp-server/Dockerfile | 68 + apps/mcp-server/src/main.rs | 3507 +++++++++++++ apps/ui/Dockerfile | 18 + apps/ui/css/catalog.css | 579 +++ apps/ui/css/layout.css | 218 + apps/ui/css/login.css | 265 + apps/ui/css/logs.css | 136 + apps/ui/css/pages.css | 1755 +++++++ apps/ui/css/settings.css | 205 + apps/ui/css/usage.css | 145 + apps/ui/css/variables.css | 64 + apps/ui/css/wizard.css | 2000 ++++++++ apps/ui/css/workspace-setup.css | 228 + apps/ui/data/agents.json | 58 + apps/ui/data/keys.json | 15 + apps/ui/data/operations.json | 134 + apps/ui/html/agents.html | 394 ++ apps/ui/html/api-keys.html | 319 ++ apps/ui/html/fragments/lang-switcher.html | 13 + apps/ui/html/login.html | 54 + apps/ui/html/logs.html | 142 + apps/ui/html/secrets.html | 242 + apps/ui/html/settings.html | 330 ++ apps/ui/html/usage.html | 234 + apps/ui/html/wizard/index.html | 267 + apps/ui/html/wizard/step1.html | 69 + apps/ui/html/wizard/step2.html | 224 + apps/ui/html/wizard/step3-rest.html | 93 + apps/ui/html/wizard/step4.html | 158 + apps/ui/html/wizard/step5.html | 265 + apps/ui/html/workspace-setup.html | 322 ++ apps/ui/icons/agents/agent.svg | 9 + apps/ui/icons/agents/eye.svg | 7 + apps/ui/icons/agents/key.svg | 6 + apps/ui/icons/general/arrow-down.svg | 6 + apps/ui/icons/general/arrow-left.svg | 6 + apps/ui/icons/general/arrow-right.svg | 6 + apps/ui/icons/general/arrow-up.svg | 6 + apps/ui/icons/general/bell.svg | 6 + apps/ui/icons/general/check-sm.svg | 6 + apps/ui/icons/general/check.svg | 6 + apps/ui/icons/general/chevron-down.svg | 6 + apps/ui/icons/general/close.svg | 6 + apps/ui/icons/general/copy.svg | 6 + apps/ui/icons/general/crank-logo.svg | 8 + apps/ui/icons/general/download.svg | 6 + apps/ui/icons/general/edit.svg | 6 + apps/ui/icons/general/external.svg | 6 + apps/ui/icons/general/grid.svg | 6 + apps/ui/icons/general/info-circle.svg | 7 + apps/ui/icons/general/info.svg | 6 + apps/ui/icons/general/logout.svg | 7 + apps/ui/icons/general/plus-sm.svg | 6 + apps/ui/icons/general/plus.svg | 6 + apps/ui/icons/general/refresh.svg | 6 + apps/ui/icons/general/search.svg | 6 + apps/ui/icons/general/settings.svg | 7 + apps/ui/icons/general/trash.svg | 6 + apps/ui/icons/general/user.svg | 6 + apps/ui/icons/general/warning.svg | 7 + apps/ui/icons/login/google.svg | 9 + apps/ui/icons/wizard/clock.svg | 7 + apps/ui/icons/wizard/code.svg | 6 + apps/ui/icons/wizard/file.svg | 6 + apps/ui/icons/wizard/graphql-protocol.svg | 12 + apps/ui/icons/wizard/grpc-protocol.svg | 8 + apps/ui/icons/wizard/reflection.svg | 7 + apps/ui/icons/wizard/rest-protocol.svg | 6 + apps/ui/icons/wizard/server.svg | 9 + apps/ui/icons/wizard/upload.svg | 6 + apps/ui/index.html | 418 ++ apps/ui/js/agents.js | 499 ++ apps/ui/js/api-keys.js | 620 +++ apps/ui/js/api.js | 351 ++ apps/ui/js/auth.js | 253 + apps/ui/js/catalog.js | 535 ++ apps/ui/js/config.js | 16 + apps/ui/js/diagnostics.js | 111 + apps/ui/js/dom.js | 32 + apps/ui/js/i18n.js | 2099 ++++++++ apps/ui/js/login.js | 54 + apps/ui/js/logs.js | 419 ++ apps/ui/js/nav.js | 76 + apps/ui/js/overlay-loader.js | 75 + apps/ui/js/secrets.js | 707 +++ apps/ui/js/settings.js | 447 ++ apps/ui/js/slot-registry.js | 55 + apps/ui/js/ui-feedback.js | 105 + apps/ui/js/usage.js | 549 ++ apps/ui/js/vendor/alpine/cdn.min.js | 5 + apps/ui/js/vendor/js-yaml/js-yaml.min.js | 2 + apps/ui/js/wizard-live.js | 409 ++ apps/ui/js/wizard-model.js | 276 + apps/ui/js/wizard-shell.js | 265 + apps/ui/js/wizard-state.js | 124 + apps/ui/js/wizard-upstreams.js | 556 ++ apps/ui/js/wizard.js | 285 ++ apps/ui/js/workspace-setup.js | 746 +++ apps/ui/js/workspace.js | 287 ++ apps/ui/nginx.conf | 105 + apps/ui/package-lock.json | 607 +++ apps/ui/package.json | 18 + apps/ui/playwright.config.js | 39 + apps/ui/scripts/build.js | 229 + apps/ui/scripts/playwright-stack.sh | 165 + apps/ui/scripts/playwright-ui-server.js | 197 + apps/ui/tests/e2e/agents.spec.js | 19 + apps/ui/tests/e2e/api-keys.spec.js | 30 + apps/ui/tests/e2e/helpers.js | 91 + apps/ui/tests/e2e/login.spec.js | 19 + apps/ui/tests/e2e/logs-usage.spec.js | 16 + apps/ui/tests/e2e/observability.spec.js | 34 + apps/ui/tests/e2e/operations.spec.js | 11 + .../tests/e2e/staging-authenticated.spec.js | 40 + apps/ui/tests/e2e/wizard.spec.js | 34 + apps/ui/tests/e2e/workspace-settings.spec.js | 20 + crates/crank-adapter-rest/Cargo.toml | 20 + crates/crank-adapter-rest/src/client.rs | 463 ++ crates/crank-adapter-rest/src/error.rs | 24 + crates/crank-adapter-rest/src/lib.rs | 123 + crates/crank-adapter-rest/src/model.rs | 42 + crates/crank-adapter-rest/src/sse.rs | 160 + crates/crank-community-auth/Cargo.toml | 20 + crates/crank-community-auth/src/hashing.rs | 61 + crates/crank-community-auth/src/lib.rs | 10 + .../src/password_provider.rs | 73 + .../src/session_cookie.rs | 116 + crates/crank-community-mcp/Cargo.toml | 25 + crates/crank-community-mcp/src/app.rs | 2912 +++++++++++ crates/crank-community-mcp/src/auth.rs | 22 + crates/crank-community-mcp/src/catalog.rs | 206 + crates/crank-community-mcp/src/jsonrpc.rs | 63 + crates/crank-community-mcp/src/lib.rs | 7 + crates/crank-community-mcp/src/session.rs | 550 ++ crates/crank-core/Cargo.toml | 17 + crates/crank-core/src/access.rs | 154 + crates/crank-core/src/agent.rs | 102 + crates/crank-core/src/auth.rs | 195 + crates/crank-core/src/cache.rs | 201 + crates/crank-core/src/edition.rs | 49 + crates/crank-core/src/ext/access.rs | 142 + crates/crank-core/src/ext/audit.rs | 94 + crates/crank-core/src/ext/auth.rs | 301 ++ crates/crank-core/src/ext/billing.rs | 75 + crates/crank-core/src/ext/capability.rs | 27 + crates/crank-core/src/ext/metering.rs | 55 + crates/crank-core/src/ext/mod.rs | 8 + crates/crank-core/src/ext/protocol.rs | 322 ++ crates/crank-core/src/ext/tenancy.rs | 81 + crates/crank-core/src/ids.rs | 74 + crates/crank-core/src/lib.rs | 88 + crates/crank-core/src/observability.rs | 132 + crates/crank-core/src/operation.rs | 586 +++ crates/crank-core/src/protocol.rs | 116 + crates/crank-core/src/secret.rs | 96 + crates/crank-core/src/soap.rs | 101 + crates/crank-core/src/stream_session.rs | 318 ++ crates/crank-core/src/streaming.rs | 364 ++ crates/crank-core/src/workspace.rs | 75 + crates/crank-mapping/Cargo.toml | 15 + crates/crank-mapping/src/error.rs | 20 + crates/crank-mapping/src/execute.rs | 372 ++ crates/crank-mapping/src/infer.rs | 116 + crates/crank-mapping/src/jsonpath.rs | 233 + crates/crank-mapping/src/lib.rs | 12 + crates/crank-mapping/src/model.rs | 311 ++ crates/crank-registry/Cargo.toml | 20 + crates/crank-registry/src/error.rs | 89 + crates/crank-registry/src/ext.rs | 77 + crates/crank-registry/src/lib.rs | 26 + crates/crank-registry/src/migrations.rs | 599 +++ crates/crank-registry/src/model.rs | 525 ++ crates/crank-registry/src/postgres/agent.rs | 552 ++ crates/crank-registry/src/postgres/api_key.rs | 321 ++ crates/crank-registry/src/postgres/auth.rs | 490 ++ crates/crank-registry/src/postgres/mod.rs | 2570 ++++++++++ .../src/postgres/observability.rs | 446 ++ .../crank-registry/src/postgres/operation.rs | 1012 ++++ crates/crank-registry/src/postgres/secret.rs | 304 ++ crates/crank-registry/src/postgres/stream.rs | 634 +++ .../crank-registry/src/postgres/workspace.rs | 391 ++ .../src/postgres/yaml_import.rs | 101 + crates/crank-runtime/Cargo.toml | 36 + crates/crank-runtime/src/aggregation.rs | 292 ++ crates/crank-runtime/src/auth.rs | 245 + crates/crank-runtime/src/cache.rs | 903 ++++ crates/crank-runtime/src/cache_factory.rs | 45 + crates/crank-runtime/src/error.rs | 53 + crates/crank-runtime/src/executor.rs | 3079 +++++++++++ crates/crank-runtime/src/executor_builder.rs | 67 + crates/crank-runtime/src/lib.rs | 35 + crates/crank-runtime/src/limits.rs | 119 + crates/crank-runtime/src/model.rs | 106 + crates/crank-runtime/src/rate_limit.rs | 269 + crates/crank-runtime/src/redaction.rs | 124 + crates/crank-runtime/src/request_context.rs | 170 + crates/crank-runtime/src/secret_crypto.rs | 274 + crates/crank-runtime/src/streaming.rs | 26 + crates/crank-schema/Cargo.toml | 15 + crates/crank-schema/src/error.rs | 55 + crates/crank-schema/src/lib.rs | 7 + crates/crank-schema/src/model.rs | 226 + crates/crank-schema/src/normalize.rs | 163 + crates/crank-schema/src/validate.rs | 260 + deploy/community/.env.example | 39 + deploy/community/.env.images.example | 33 + deploy/community/docker-compose.images.yml | 113 + deploy/community/docker-compose.yml | 102 + docker-compose.yml | 103 + docs/admin-api.md | 116 + docs/architecture.md | 53 + docs/authenticated-staging-pass.md | 202 + docs/data-model.md | 96 + docs/database-schema.md | 65 + docs/demo-runbook.md | 81 + docs/deploy-and-staging-smoke.md | 229 + docs/deployment.md | 183 + docs/diagrams.md | 149 + docs/en/README.md | 53 + docs/manual-regression-checklist.md | 183 + docs/mcp-interface.md | 106 + docs/protocols/rest.md | 112 + docs/public-smoke-targets.md | 101 + docs/runtime-config.md | 313 ++ docs/rust-code-rules.md | 316 ++ docs/staging-regression-notes.md | 183 + docs/testing-strategy.md | 122 + .../mcp-smoke/rest-open-meteo.operation.json | 120 + .../mcp-smoke/rest-open-meteo.operation.yaml | 95 + .../mcp-smoke/rest-open-meteo.test-input.json | 4 + justfile | 43 + rust-toolchain.toml | 3 + scripts/README.md | 61 + scripts/authenticated-staging-smoke.sh | 32 + scripts/load-openbao-env.sh | 86 + scripts/staging-note-block.sh | 55 + scripts/staging-smoke.sh | 99 + 312 files changed, 71988 insertions(+) create mode 100644 .dockerignore create mode 100644 .env.example create mode 100644 .gitea/workflows/ci.yml create mode 100644 .gitea/workflows/deploy.yml create mode 100644 .gitea/workflows/release.yml create mode 100644 .gitignore create mode 100644 .sqlx/query-0b8e9bed137684683d8b6a9ed52c94b6fb3bbcb19c7a621c78c5a6d3698bdf4d.json create mode 100644 .sqlx/query-10ac4260e678ac458750988f95e54d3a84d9870e10e86bbe0d9c9fd99bf8a1f5.json create mode 100644 .sqlx/query-1912ca7a4b00fcc5c1a7fe5434b811977fbdf181436573fa96415ccfcb5fecb2.json create mode 100644 .sqlx/query-1b8c77657275ab0ea28e68ae5147dbdad5d055887ef5fabd82552d4fe704f891.json create mode 100644 .sqlx/query-20a3404581cb52fa7087ba4649fde4910e8d7c2b1b17055fdd1c54206e55a874.json create mode 100644 .sqlx/query-249082378e98a7f137338cb1289cb6ea0a48c1ae74d614d63023e6dc0687f47c.json create mode 100644 .sqlx/query-2b819bad2a2712dab1a182b89ec52d762d66cffdc449ee6f73c74c1d23a17314.json create mode 100644 .sqlx/query-3422060fba1de6d85f89c46b41cc1cf462f49f0e2fe93e9230d15f97710b74ee.json create mode 100644 .sqlx/query-38911a904c6d284f5fb80cf2ae9f569de7c0ffd3b8ca73e6c01f0842ace4ad25.json create mode 100644 .sqlx/query-3d647bffe6eaf3b95be589ae2fe006b4aec8f55fa070f9f2ff3859dc7cb96d06.json create mode 100644 .sqlx/query-3df72b8a0ac4a76b15909fc78268a1c87d1cd184973bf1cecc0c725691432c08.json create mode 100644 .sqlx/query-56cf7fc3b89517095c52a30c091a040415a5f6eef589e9a264b9b1fd687353b7.json create mode 100644 .sqlx/query-67a73cb5211a0c23d2e8d8361a8e37c488eb2420207e9c4fa682993eda20cd62.json create mode 100644 .sqlx/query-6ae136d8196f7b259b7e5d054ecbd063dc5746ef669f21b0db1b5843e9db22d0.json create mode 100644 .sqlx/query-6eed48468f97843bbcd6a2f90448b68c15efa72029740e28bb881f54f73a6b9b.json create mode 100644 .sqlx/query-7ad59ce20834c3de2b0345c1be28d84377b417efb30c7bdc38d4e3746a0c1a7a.json create mode 100644 .sqlx/query-92bd2268efce8ba515b1d502287dea62bdfae0ba66100589ead3f986244b4cbb.json create mode 100644 .sqlx/query-9625d5160a075b55b5bb980ea8e82e9da706a34d17adf0bc94ddb4e7a3818c18.json create mode 100644 .sqlx/query-a1d2c9b16b61d226701449fc22146db6f0f7d17e6867f929c44027990fb94b57.json create mode 100644 .sqlx/query-a24c36f988151016f9ffa834a6a5658f7f094844b892c999e6f58d6f92fbe0c2.json create mode 100644 .sqlx/query-b68377d8ffd5bdc9b8e417170f4940b65d2167dada6b6110985ce0bd95480b93.json create mode 100644 .sqlx/query-b86a7406eeec83390458e35fb8611e19377582ec0ca245a162c2d2236077bb9b.json create mode 100644 .sqlx/query-bdae00d03a55ba3b6d121578b081e970ff08427f9a3dd396b649996a9131260c.json create mode 100644 .sqlx/query-c3002576245c677598f401b5db517f9c01c9e5cbc1eea5511005d572a0776edc.json create mode 100644 .sqlx/query-d5b882fd05f2db2e766207064bd46ad2ffe665efc5f11252136bee340a3a4a89.json create mode 100644 .sqlx/query-d6cd575c05dabaa09177985375c59ce42857433dd11580659481c562f9d9ab3f.json create mode 100644 .sqlx/query-dcde0691b13dbab00364f4142b95a2785c0a612ff739e341e28d0831b7170f6b.json create mode 100644 .sqlx/query-dd4a415a042b863b1034727737f3d14019ba405a07a8360b68e8c9c5597e17ce.json create mode 100644 .sqlx/query-e86682005480df007b488b8543adc8a6d4068e33a5509f9e314dd0d97eac178b.json create mode 100644 .sqlx/query-e9fc9fdf8ef885ab247d903dbde0a2f07bc89aec46cdbe1e856700fa57674f41.json create mode 100644 .sqlx/query-f195cc4951ef129f4a1c95d6d9e8f932919d2882f3dcb5a7f865fb4448506d05.json create mode 100644 .sqlx/query-f551a9cd253b7fd0dc9a387a141a53d8a109b8aa766ab1c2b11f9b52e250adc8.json create mode 100644 .sqlx/query-f7b5e65ecddfe52af4d3be98fc69680bf9f0d131785c310936bdf603d74c118d.json create mode 100644 .sqlx/query-fadf243775a355c46ae97d26049793eb1d1ad17505b1e1609a842750e3233ec2.json create mode 100644 .sqlx/query-fb0bec06d2a3dbbf455947346eea5022c7ddac2ffe2a1969b2c6a2ed72c3730a.json create mode 100644 .sqlx/query-fdd05b145021a19dda9a9f44c31ff21a2f73a4416d0cf20be418bba36def9eb4.json create mode 100644 CLA.md create mode 100644 CONTRIBUTING.md create mode 100644 Cargo.lock create mode 100644 Cargo.toml create mode 100644 Crank.png create mode 100644 LICENSE create mode 100644 NOTICE create mode 100644 README.md create mode 100644 apps/admin-api/Cargo.toml create mode 100644 apps/admin-api/Dockerfile create mode 100644 apps/admin-api/src/app.rs create mode 100644 apps/admin-api/src/auth.rs create mode 100644 apps/admin-api/src/error.rs create mode 100644 apps/admin-api/src/lib.rs create mode 100644 apps/admin-api/src/main.rs create mode 100644 apps/admin-api/src/rate_limit.rs create mode 100644 apps/admin-api/src/request_context.rs create mode 100644 apps/admin-api/src/routes.rs create mode 100644 apps/admin-api/src/routes/access.rs create mode 100644 apps/admin-api/src/routes/agents.rs create mode 100644 apps/admin-api/src/routes/auth.rs create mode 100644 apps/admin-api/src/routes/auth_profiles.rs create mode 100644 apps/admin-api/src/routes/capabilities.rs create mode 100644 apps/admin-api/src/routes/machine_auth.rs create mode 100644 apps/admin-api/src/routes/observability.rs create mode 100644 apps/admin-api/src/routes/operations.rs create mode 100644 apps/admin-api/src/routes/secrets.rs create mode 100644 apps/admin-api/src/routes/streaming.rs create mode 100644 apps/admin-api/src/routes/workspaces.rs create mode 100644 apps/admin-api/src/service.rs create mode 100644 apps/admin-api/src/state.rs create mode 100644 apps/admin-api/src/storage.rs create mode 100644 apps/mcp-server/Cargo.toml create mode 100644 apps/mcp-server/Dockerfile create mode 100644 apps/mcp-server/src/main.rs create mode 100644 apps/ui/Dockerfile create mode 100644 apps/ui/css/catalog.css create mode 100644 apps/ui/css/layout.css create mode 100644 apps/ui/css/login.css create mode 100644 apps/ui/css/logs.css create mode 100644 apps/ui/css/pages.css create mode 100644 apps/ui/css/settings.css create mode 100644 apps/ui/css/usage.css create mode 100644 apps/ui/css/variables.css create mode 100644 apps/ui/css/wizard.css create mode 100644 apps/ui/css/workspace-setup.css create mode 100644 apps/ui/data/agents.json create mode 100644 apps/ui/data/keys.json create mode 100644 apps/ui/data/operations.json create mode 100644 apps/ui/html/agents.html create mode 100644 apps/ui/html/api-keys.html create mode 100644 apps/ui/html/fragments/lang-switcher.html create mode 100644 apps/ui/html/login.html create mode 100644 apps/ui/html/logs.html create mode 100644 apps/ui/html/secrets.html create mode 100644 apps/ui/html/settings.html create mode 100644 apps/ui/html/usage.html create mode 100644 apps/ui/html/wizard/index.html create mode 100644 apps/ui/html/wizard/step1.html create mode 100644 apps/ui/html/wizard/step2.html create mode 100644 apps/ui/html/wizard/step3-rest.html create mode 100644 apps/ui/html/wizard/step4.html create mode 100644 apps/ui/html/wizard/step5.html create mode 100644 apps/ui/html/workspace-setup.html create mode 100644 apps/ui/icons/agents/agent.svg create mode 100644 apps/ui/icons/agents/eye.svg create mode 100644 apps/ui/icons/agents/key.svg create mode 100644 apps/ui/icons/general/arrow-down.svg create mode 100644 apps/ui/icons/general/arrow-left.svg create mode 100644 apps/ui/icons/general/arrow-right.svg create mode 100644 apps/ui/icons/general/arrow-up.svg create mode 100644 apps/ui/icons/general/bell.svg create mode 100644 apps/ui/icons/general/check-sm.svg create mode 100644 apps/ui/icons/general/check.svg create mode 100644 apps/ui/icons/general/chevron-down.svg create mode 100644 apps/ui/icons/general/close.svg create mode 100644 apps/ui/icons/general/copy.svg create mode 100644 apps/ui/icons/general/crank-logo.svg create mode 100644 apps/ui/icons/general/download.svg create mode 100644 apps/ui/icons/general/edit.svg create mode 100644 apps/ui/icons/general/external.svg create mode 100644 apps/ui/icons/general/grid.svg create mode 100644 apps/ui/icons/general/info-circle.svg create mode 100644 apps/ui/icons/general/info.svg create mode 100644 apps/ui/icons/general/logout.svg create mode 100644 apps/ui/icons/general/plus-sm.svg create mode 100644 apps/ui/icons/general/plus.svg create mode 100644 apps/ui/icons/general/refresh.svg create mode 100644 apps/ui/icons/general/search.svg create mode 100644 apps/ui/icons/general/settings.svg create mode 100644 apps/ui/icons/general/trash.svg create mode 100644 apps/ui/icons/general/user.svg create mode 100644 apps/ui/icons/general/warning.svg create mode 100644 apps/ui/icons/login/google.svg create mode 100644 apps/ui/icons/wizard/clock.svg create mode 100644 apps/ui/icons/wizard/code.svg create mode 100644 apps/ui/icons/wizard/file.svg create mode 100644 apps/ui/icons/wizard/graphql-protocol.svg create mode 100644 apps/ui/icons/wizard/grpc-protocol.svg create mode 100644 apps/ui/icons/wizard/reflection.svg create mode 100644 apps/ui/icons/wizard/rest-protocol.svg create mode 100644 apps/ui/icons/wizard/server.svg create mode 100644 apps/ui/icons/wizard/upload.svg create mode 100644 apps/ui/index.html create mode 100644 apps/ui/js/agents.js create mode 100644 apps/ui/js/api-keys.js create mode 100644 apps/ui/js/api.js create mode 100644 apps/ui/js/auth.js create mode 100644 apps/ui/js/catalog.js create mode 100644 apps/ui/js/config.js create mode 100644 apps/ui/js/diagnostics.js create mode 100644 apps/ui/js/dom.js create mode 100644 apps/ui/js/i18n.js create mode 100644 apps/ui/js/login.js create mode 100644 apps/ui/js/logs.js create mode 100644 apps/ui/js/nav.js create mode 100644 apps/ui/js/overlay-loader.js create mode 100644 apps/ui/js/secrets.js create mode 100644 apps/ui/js/settings.js create mode 100644 apps/ui/js/slot-registry.js create mode 100644 apps/ui/js/ui-feedback.js create mode 100644 apps/ui/js/usage.js create mode 100644 apps/ui/js/vendor/alpine/cdn.min.js create mode 100644 apps/ui/js/vendor/js-yaml/js-yaml.min.js create mode 100644 apps/ui/js/wizard-live.js create mode 100644 apps/ui/js/wizard-model.js create mode 100644 apps/ui/js/wizard-shell.js create mode 100644 apps/ui/js/wizard-state.js create mode 100644 apps/ui/js/wizard-upstreams.js create mode 100644 apps/ui/js/wizard.js create mode 100644 apps/ui/js/workspace-setup.js create mode 100644 apps/ui/js/workspace.js create mode 100644 apps/ui/nginx.conf create mode 100644 apps/ui/package-lock.json create mode 100644 apps/ui/package.json create mode 100644 apps/ui/playwright.config.js create mode 100644 apps/ui/scripts/build.js create mode 100644 apps/ui/scripts/playwright-stack.sh create mode 100644 apps/ui/scripts/playwright-ui-server.js create mode 100644 apps/ui/tests/e2e/agents.spec.js create mode 100644 apps/ui/tests/e2e/api-keys.spec.js create mode 100644 apps/ui/tests/e2e/helpers.js create mode 100644 apps/ui/tests/e2e/login.spec.js create mode 100644 apps/ui/tests/e2e/logs-usage.spec.js create mode 100644 apps/ui/tests/e2e/observability.spec.js create mode 100644 apps/ui/tests/e2e/operations.spec.js create mode 100644 apps/ui/tests/e2e/staging-authenticated.spec.js create mode 100644 apps/ui/tests/e2e/wizard.spec.js create mode 100644 apps/ui/tests/e2e/workspace-settings.spec.js create mode 100644 crates/crank-adapter-rest/Cargo.toml create mode 100644 crates/crank-adapter-rest/src/client.rs create mode 100644 crates/crank-adapter-rest/src/error.rs create mode 100644 crates/crank-adapter-rest/src/lib.rs create mode 100644 crates/crank-adapter-rest/src/model.rs create mode 100644 crates/crank-adapter-rest/src/sse.rs create mode 100644 crates/crank-community-auth/Cargo.toml create mode 100644 crates/crank-community-auth/src/hashing.rs create mode 100644 crates/crank-community-auth/src/lib.rs create mode 100644 crates/crank-community-auth/src/password_provider.rs create mode 100644 crates/crank-community-auth/src/session_cookie.rs create mode 100644 crates/crank-community-mcp/Cargo.toml create mode 100644 crates/crank-community-mcp/src/app.rs create mode 100644 crates/crank-community-mcp/src/auth.rs create mode 100644 crates/crank-community-mcp/src/catalog.rs create mode 100644 crates/crank-community-mcp/src/jsonrpc.rs create mode 100644 crates/crank-community-mcp/src/lib.rs create mode 100644 crates/crank-community-mcp/src/session.rs create mode 100644 crates/crank-core/Cargo.toml create mode 100644 crates/crank-core/src/access.rs create mode 100644 crates/crank-core/src/agent.rs create mode 100644 crates/crank-core/src/auth.rs create mode 100644 crates/crank-core/src/cache.rs create mode 100644 crates/crank-core/src/edition.rs create mode 100644 crates/crank-core/src/ext/access.rs create mode 100644 crates/crank-core/src/ext/audit.rs create mode 100644 crates/crank-core/src/ext/auth.rs create mode 100644 crates/crank-core/src/ext/billing.rs create mode 100644 crates/crank-core/src/ext/capability.rs create mode 100644 crates/crank-core/src/ext/metering.rs create mode 100644 crates/crank-core/src/ext/mod.rs create mode 100644 crates/crank-core/src/ext/protocol.rs create mode 100644 crates/crank-core/src/ext/tenancy.rs create mode 100644 crates/crank-core/src/ids.rs create mode 100644 crates/crank-core/src/lib.rs create mode 100644 crates/crank-core/src/observability.rs create mode 100644 crates/crank-core/src/operation.rs create mode 100644 crates/crank-core/src/protocol.rs create mode 100644 crates/crank-core/src/secret.rs create mode 100644 crates/crank-core/src/soap.rs create mode 100644 crates/crank-core/src/stream_session.rs create mode 100644 crates/crank-core/src/streaming.rs create mode 100644 crates/crank-core/src/workspace.rs create mode 100644 crates/crank-mapping/Cargo.toml create mode 100644 crates/crank-mapping/src/error.rs create mode 100644 crates/crank-mapping/src/execute.rs create mode 100644 crates/crank-mapping/src/infer.rs create mode 100644 crates/crank-mapping/src/jsonpath.rs create mode 100644 crates/crank-mapping/src/lib.rs create mode 100644 crates/crank-mapping/src/model.rs create mode 100644 crates/crank-registry/Cargo.toml create mode 100644 crates/crank-registry/src/error.rs create mode 100644 crates/crank-registry/src/ext.rs create mode 100644 crates/crank-registry/src/lib.rs create mode 100644 crates/crank-registry/src/migrations.rs create mode 100644 crates/crank-registry/src/model.rs create mode 100644 crates/crank-registry/src/postgres/agent.rs create mode 100644 crates/crank-registry/src/postgres/api_key.rs create mode 100644 crates/crank-registry/src/postgres/auth.rs create mode 100644 crates/crank-registry/src/postgres/mod.rs create mode 100644 crates/crank-registry/src/postgres/observability.rs create mode 100644 crates/crank-registry/src/postgres/operation.rs create mode 100644 crates/crank-registry/src/postgres/secret.rs create mode 100644 crates/crank-registry/src/postgres/stream.rs create mode 100644 crates/crank-registry/src/postgres/workspace.rs create mode 100644 crates/crank-registry/src/postgres/yaml_import.rs create mode 100644 crates/crank-runtime/Cargo.toml create mode 100644 crates/crank-runtime/src/aggregation.rs create mode 100644 crates/crank-runtime/src/auth.rs create mode 100644 crates/crank-runtime/src/cache.rs create mode 100644 crates/crank-runtime/src/cache_factory.rs create mode 100644 crates/crank-runtime/src/error.rs create mode 100644 crates/crank-runtime/src/executor.rs create mode 100644 crates/crank-runtime/src/executor_builder.rs create mode 100644 crates/crank-runtime/src/lib.rs create mode 100644 crates/crank-runtime/src/limits.rs create mode 100644 crates/crank-runtime/src/model.rs create mode 100644 crates/crank-runtime/src/rate_limit.rs create mode 100644 crates/crank-runtime/src/redaction.rs create mode 100644 crates/crank-runtime/src/request_context.rs create mode 100644 crates/crank-runtime/src/secret_crypto.rs create mode 100644 crates/crank-runtime/src/streaming.rs create mode 100644 crates/crank-schema/Cargo.toml create mode 100644 crates/crank-schema/src/error.rs create mode 100644 crates/crank-schema/src/lib.rs create mode 100644 crates/crank-schema/src/model.rs create mode 100644 crates/crank-schema/src/normalize.rs create mode 100644 crates/crank-schema/src/validate.rs create mode 100644 deploy/community/.env.example create mode 100644 deploy/community/.env.images.example create mode 100644 deploy/community/docker-compose.images.yml create mode 100644 deploy/community/docker-compose.yml create mode 100644 docker-compose.yml create mode 100644 docs/admin-api.md create mode 100644 docs/architecture.md create mode 100644 docs/authenticated-staging-pass.md create mode 100644 docs/data-model.md create mode 100644 docs/database-schema.md create mode 100644 docs/demo-runbook.md create mode 100644 docs/deploy-and-staging-smoke.md create mode 100644 docs/deployment.md create mode 100644 docs/diagrams.md create mode 100644 docs/en/README.md create mode 100644 docs/manual-regression-checklist.md create mode 100644 docs/mcp-interface.md create mode 100644 docs/protocols/rest.md create mode 100644 docs/public-smoke-targets.md create mode 100644 docs/runtime-config.md create mode 100644 docs/rust-code-rules.md create mode 100644 docs/staging-regression-notes.md create mode 100644 docs/testing-strategy.md create mode 100644 examples/mcp-smoke/rest-open-meteo.operation.json create mode 100644 examples/mcp-smoke/rest-open-meteo.operation.yaml create mode 100644 examples/mcp-smoke/rest-open-meteo.test-input.json create mode 100644 justfile create mode 100644 rust-toolchain.toml create mode 100644 scripts/README.md create mode 100644 scripts/authenticated-staging-smoke.sh create mode 100755 scripts/load-openbao-env.sh create mode 100644 scripts/staging-note-block.sh create mode 100644 scripts/staging-smoke.sh diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..f3919cc --- /dev/null +++ b/.dockerignore @@ -0,0 +1,18 @@ +.git +target +notes +node_modules +dist +coverage +.idea +.vscode +.claude +.codex +.tmp +.DS_Store +*.log +var +apps/ui/node_modules +apps/ui/playwright-report +apps/ui/test-results +apps/ui/.playwright diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..afe4348 --- /dev/null +++ b/.env.example @@ -0,0 +1,36 @@ +POSTGRES_DB=crank +POSTGRES_USER=crank +POSTGRES_PASSWORD=change-me +POSTGRES_HOST=postgres +POSTGRES_PORT=5432 +POSTGRES_MAX_CONNECTIONS=20 +POSTGRES_MIN_CONNECTIONS=2 +POSTGRES_ACQUIRE_TIMEOUT_MS=5000 +POSTGRES_IDLE_TIMEOUT_MS=600000 +POSTGRES_MAX_LIFETIME_MS=1800000 +CRANK_ADMIN_API_IMAGE=crank/admin-api:dev +CRANK_MCP_SERVER_IMAGE=crank/mcp-server:dev +CRANK_UI_IMAGE=crank/ui:dev +CRANK_STORAGE_ROOT=/var/lib/crank/storage +CRANK_PUBLISH_BIND=127.0.0.1 +CRANK_ADMIN_BIND=0.0.0.0:3001 +CRANK_ADMIN_RATE_LIMIT_RPS=30 +CRANK_ADMIN_RATE_LIMIT_BURST=60 +CRANK_MCP_BIND=0.0.0.0:3002 +CRANK_MCP_REFRESH_MS=5000 +CRANK_MCP_RATE_LIMIT_RPS=60 +CRANK_MCP_RATE_LIMIT_BURST=120 +CRANK_RUNTIME_MAX_CONCURRENT_UNARY=64 +CRANK_RUNTIME_MAX_CONCURRENT_WINDOW=16 +CRANK_RUNTIME_MAX_CONCURRENT_SESSIONS=16 +CRANK_RUNTIME_MAX_CONCURRENT_JOBS=16 +CRANK_LOG_LEVEL=info +CRANK_MASTER_KEY=change-me-master-key +CRANK_SESSION_SECRET=change-me-session-secret +CRANK_PASSWORD_PEPPER=change-me-password-pepper +CRANK_SESSION_TTL_HOURS=24 +CRANK_BOOTSTRAP_ADMIN_EMAIL=owner@crank.local +CRANK_BOOTSTRAP_ADMIN_PASSWORD=change-me-admin-password +CRANK_BOOTSTRAP_ADMIN_DISPLAY_NAME=Crank Owner +CRANK_DEMO_SEED=false +CRANK_BASE_URL=https://crank.example.com diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml new file mode 100644 index 0000000..827759e --- /dev/null +++ b/.gitea/workflows/ci.yml @@ -0,0 +1,144 @@ +name: CI + +on: + pull_request: + push: + branches: + - main + - "feat/**" + +env: + CARGO_BUILD_JOBS: "2" + CARGO_INCREMENTAL: "0" + RUST_TEST_THREADS: "2" + +jobs: + rust: + name: Rust Checks + runs-on: ubuntu-latest + services: + crank-rust-postgres: + image: postgres:16-alpine + env: + POSTGRES_DB: crank_test + POSTGRES_USER: postgres + POSTGRES_PASSWORD: postgres + options: >- + --health-cmd "pg_isready -U postgres -d crank_test" + --health-interval 10s + --health-timeout 5s + --health-retries 5 + env: + TEST_DATABASE_URL: postgres://postgres:postgres@crank-rust-postgres:5432/crank_test + + steps: + - name: Checkout + uses: actions/checkout@v5 + + - name: Verify runner toolchain + run: | + rustc --version + cargo --version + rustfmt --version + cargo clippy --version + docker --version + + - name: Check formatting + run: cargo fmt --all --check + + - name: Run clippy + run: cargo clippy --workspace --all-targets --all-features --jobs "$CARGO_BUILD_JOBS" -- -D warnings + + - name: Run tests + run: cargo test --workspace --all-targets --jobs "$CARGO_BUILD_JOBS" + + ui: + name: UI Checks + runs-on: ubuntu-latest + needs: rust + + steps: + - name: Checkout + uses: actions/checkout@v5 + + - name: Verify runner toolchain + run: | + node --version + npm --version + docker --version + + - name: Install UI dependencies + working-directory: apps/ui + run: npm ci + + - name: Build UI bundle + working-directory: apps/ui + run: npm run build + + frontend-e2e: + name: Frontend E2E + runs-on: ubuntu-latest + needs: ui + services: + crank-e2e-postgres: + image: postgres:16-alpine + env: + POSTGRES_DB: crank + POSTGRES_USER: crank + POSTGRES_PASSWORD: crank + options: >- + --health-cmd "pg_isready -U crank -d crank" + --health-interval 10s + --health-timeout 5s + --health-retries 5 + env: + CRANK_E2E_USE_EXTERNAL_POSTGRES: "1" + CRANK_E2E_POSTGRES_HOST: crank-e2e-postgres + CRANK_E2E_POSTGRES_PORT: "5432" + CRANK_E2E_POSTGRES_DB: crank + CRANK_E2E_POSTGRES_USER: crank + CRANK_E2E_POSTGRES_PASSWORD: crank + + steps: + - name: Checkout + uses: actions/checkout@v5 + + - name: Verify runner toolchain + run: | + rustc --version + cargo --version + node --version + npm --version + docker --version + + - name: Install UI dependencies + working-directory: apps/ui + run: npm ci + + - name: Install Playwright browser + working-directory: apps/ui + run: npx playwright install --with-deps chromium + + - name: Prebuild e2e services + run: cargo build -p admin-api -p mcp-server --jobs "$CARGO_BUILD_JOBS" + + - name: Run Playwright e2e + working-directory: apps/ui + run: npx playwright test + + - name: Show Playwright stack logs + if: failure() + run: | + find .tmp/ui-e2e/logs -maxdepth 1 -type f -print -exec sed -n '1,220p' {} \; || true + + deployment: + name: Deployment Manifests + runs-on: ubuntu-latest + needs: ui + + steps: + - name: Checkout + uses: actions/checkout@v5 + + - name: Validate Community deployment manifest + run: docker compose -f deploy/community/docker-compose.yml --env-file deploy/community/.env.example config -q diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml new file mode 100644 index 0000000..814f16b --- /dev/null +++ b/.gitea/workflows/deploy.yml @@ -0,0 +1,230 @@ +name: Deploy + +on: + push: + branches: + - main + workflow_dispatch: + +env: + REGISTRY: git.itexp.me + IMAGE_TAG: ${{ gitea.sha }} + ADMIN_API_IMAGE: git.itexp.me/bsodfather/crank-community-admin-api + MCP_SERVER_IMAGE: git.itexp.me/bsodfather/crank-community-mcp-server + UI_IMAGE: git.itexp.me/bsodfather/crank-community-ui + OPENBAO_ENV_FILE: .openbao-env + +jobs: + deploy: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v5 + + - name: Verify runner toolchain + run: | + docker --version + command -v bao + bao version + + - name: Load deployment secrets from OpenBao + env: + BAO_ADDR: ${{ secrets.BAO_ADDR }} + BAO_ROLE_ID: ${{ secrets.BAO_ROLE_ID }} + BAO_SECRET_ID: ${{ secrets.BAO_SECRET_ID }} + OPENBAO_APP: crank + run: scripts/load-openbao-env.sh + + - name: Login to registry + run: | + . "$OPENBAO_ENV_FILE" + printf '%s' "$DEPLOY_REGISTRY_TOKEN" | \ + docker login '${{ env.REGISTRY }}' -u "$DEPLOY_REGISTRY_USER" --password-stdin + + - name: Build and push images + run: | + docker build -f apps/admin-api/Dockerfile \ + -t '${{ env.ADMIN_API_IMAGE }}:${{ env.IMAGE_TAG }}' \ + -t '${{ env.ADMIN_API_IMAGE }}:main' \ + . + docker build -f apps/mcp-server/Dockerfile \ + -t '${{ env.MCP_SERVER_IMAGE }}:${{ env.IMAGE_TAG }}' \ + -t '${{ env.MCP_SERVER_IMAGE }}:main' \ + . + docker build -f apps/ui/Dockerfile \ + -t '${{ env.UI_IMAGE }}:${{ env.IMAGE_TAG }}' \ + -t '${{ env.UI_IMAGE }}:main' \ + . + docker push '${{ env.ADMIN_API_IMAGE }}:${{ env.IMAGE_TAG }}' + docker push '${{ env.ADMIN_API_IMAGE }}:main' + docker push '${{ env.MCP_SERVER_IMAGE }}:${{ env.IMAGE_TAG }}' + docker push '${{ env.MCP_SERVER_IMAGE }}:main' + docker push '${{ env.UI_IMAGE }}:${{ env.IMAGE_TAG }}' + docker push '${{ env.UI_IMAGE }}:main' + + - name: Configure SSH key + run: | + . "$OPENBAO_ENV_FILE" + mkdir -p ~/.ssh + chmod 700 ~/.ssh + printf '%s\n' "$DEPLOY_SSH_KEY" > ~/.ssh/id_ed25519 + chmod 600 ~/.ssh/id_ed25519 + + - name: Configure known hosts + run: | + . "$OPENBAO_ENV_FILE" + if [ -n "${DEPLOY_KNOWN_HOSTS:-}" ]; then + printf '%s\n' "$DEPLOY_KNOWN_HOSTS" > ~/.ssh/known_hosts + else + ssh-keyscan -p "${DEPLOY_PORT:-22}" "$DEPLOY_HOST" > ~/.ssh/known_hosts + fi + chmod 644 ~/.ssh/known_hosts + + - name: Sync deployment files to server + run: | + . "$OPENBAO_ENV_FILE" + ssh -p "$DEPLOY_PORT" "$DEPLOY_USER@$DEPLOY_HOST" \ + "mkdir -p '$DEPLOY_PATH'" + rsync -az -e "ssh -p $DEPLOY_PORT" deploy/community/docker-compose.yml \ + "$DEPLOY_USER@$DEPLOY_HOST:$DEPLOY_PATH/docker-compose.yml" + + - name: Write environment file + run: | + . "$OPENBAO_ENV_FILE" + tmp_env="$(mktemp)" + append_if_set() { + if [ -n "$2" ]; then + printf '%s=%s\n' "$1" "$2" >> "$tmp_env" + fi + } + : > "$tmp_env" + append_if_set POSTGRES_DB "$POSTGRES_DB" + append_if_set POSTGRES_USER "$POSTGRES_USER" + append_if_set POSTGRES_PASSWORD "$POSTGRES_PASSWORD" + append_if_set POSTGRES_HOST "$POSTGRES_HOST" + if [ -n "${POSTGRES_PORT:-}" ]; then + append_if_set POSTGRES_PORT "$POSTGRES_PORT" + elif [ -n "${PGBOUNCER_PORT:-}" ]; then + append_if_set POSTGRES_PORT "$PGBOUNCER_PORT" + fi + append_if_set CRANK_STORAGE_ROOT "$CRANK_STORAGE_ROOT" + append_if_set CRANK_PUBLISH_BIND "$CRANK_PUBLISH_BIND" + append_if_set CRANK_ADMIN_BIND "$CRANK_ADMIN_BIND" + append_if_set CRANK_MCP_BIND "$CRANK_MCP_BIND" + append_if_set CRANK_MCP_REFRESH_MS "$CRANK_MCP_REFRESH_MS" + append_if_set CRANK_LOG_LEVEL "$CRANK_LOG_LEVEL" + append_if_set CRANK_MASTER_KEY "$CRANK_MASTER_KEY" + append_if_set CRANK_BASE_URL "$CRANK_BASE_URL" + append_if_set CRANK_CACHE_BACKEND "$CRANK_CACHE_BACKEND" + append_if_set CRANK_CACHE_URL "$CRANK_CACHE_URL" + append_if_set CRANK_CACHE_DEFAULT_TTL_MS "$CRANK_CACHE_DEFAULT_TTL_MS" + append_if_set CRANK_SESSION_SECRET "$CRANK_SESSION_SECRET" + append_if_set CRANK_PASSWORD_PEPPER "$CRANK_PASSWORD_PEPPER" + append_if_set CRANK_SESSION_TTL_HOURS "$CRANK_SESSION_TTL_HOURS" + append_if_set CRANK_BOOTSTRAP_ADMIN_EMAIL "$CRANK_BOOTSTRAP_ADMIN_EMAIL" + append_if_set CRANK_BOOTSTRAP_ADMIN_PASSWORD "$CRANK_BOOTSTRAP_ADMIN_PASSWORD" + append_if_set CRANK_BOOTSTRAP_ADMIN_DISPLAY_NAME "$CRANK_BOOTSTRAP_ADMIN_DISPLAY_NAME" + append_if_set CRANK_DEMO_SEED "$CRANK_DEMO_SEED" + { + printf 'COMPOSE_PROJECT_NAME=community\n' + printf 'CRANK_ADMIN_API_IMAGE=%s:%s\n' '${{ env.ADMIN_API_IMAGE }}' '${{ env.IMAGE_TAG }}' + printf 'CRANK_MCP_SERVER_IMAGE=%s:%s\n' '${{ env.MCP_SERVER_IMAGE }}' '${{ env.IMAGE_TAG }}' + printf 'CRANK_UI_IMAGE=%s:%s\n' '${{ env.UI_IMAGE }}' '${{ env.IMAGE_TAG }}' + } >> "$tmp_env" + cat "$tmp_env" | ssh -p "$DEPLOY_PORT" "$DEPLOY_USER@$DEPLOY_HOST" \ + "mkdir -p '$DEPLOY_PATH' && cat > '$DEPLOY_PATH/.env'" + rm -f "$tmp_env" + + - name: Validate required environment variables + run: | + . "$OPENBAO_ENV_FILE" + ssh -p "$DEPLOY_PORT" "$DEPLOY_USER@$DEPLOY_HOST" " + set -e + cd '$DEPLOY_PATH' + required_vars=' + POSTGRES_HOST + POSTGRES_PORT + POSTGRES_DB + POSTGRES_USER + POSTGRES_PASSWORD + CRANK_MASTER_KEY + CRANK_SESSION_SECRET + CRANK_PASSWORD_PEPPER + CRANK_BOOTSTRAP_ADMIN_EMAIL + CRANK_BOOTSTRAP_ADMIN_PASSWORD + CRANK_BASE_URL + ' + for var in \$required_vars; do + value=\$(grep -E \"^\${var}=\" .env | tail -n1 | cut -d= -f2- || true) + if [ -z \"\$value\" ]; then + echo \"missing required env: \$var\" >&2 + exit 1 + fi + done + " + + - name: Deploy with Docker Compose + run: | + . "$OPENBAO_ENV_FILE" + ssh -p "$DEPLOY_PORT" "$DEPLOY_USER@$DEPLOY_HOST" " + set -e + cd '$DEPLOY_PATH' + compose_profiles='' + cache_backend=\$(grep -E '^CRANK_CACHE_BACKEND=' .env | tail -n1 | cut -d= -f2- || true) + if [ \"\$cache_backend\" = 'valkey' ] || [ \"\$cache_backend\" = 'redis' ]; then + compose_profiles='--profile cache' + fi + echo '$DEPLOY_REGISTRY_TOKEN' | docker login '${{ env.REGISTRY }}' -u '$DEPLOY_REGISTRY_USER' --password-stdin + docker compose \$compose_profiles config -q + docker compose \$compose_profiles pull + docker compose \$compose_profiles down --remove-orphans + for container in \ + crank-ui-1 \ + crank-admin-api-1 \ + crank-mcp-server-1 \ + crank-postgres-1 \ + crank-valkey-1 \ + crank-community-ui-1 \ + crank-community-admin-api-1 \ + crank-community-mcp-server-1 \ + crank-community-postgres-1 \ + crank-community-valkey-1; do + if docker ps -a --format '{{.Names}}' | grep -Fx \"\$container\" >/dev/null; then + docker rm -f \"\$container\" + fi + done + echo 'Docker containers before freeing required ports:' + docker ps --format 'table {{.ID}}\t{{.Names}}\t{{.Ports}}' + for port in 3000 3001 3002; do + container_ids=\$(docker ps -aq --filter \"publish=\$port\") + if [ -n \"\$container_ids\" ]; then + echo \"Removing containers publishing port \$port\" + docker inspect --format '{{.Name}} {{json .NetworkSettings.Ports}}' \$container_ids || true + docker rm -f \$container_ids + fi + done + if command -v ss >/dev/null 2>&1; then + ss -ltnp '( sport = :3000 or sport = :3001 or sport = :3002 )' || true + fi + docker compose \$compose_profiles up -d --remove-orphans + " + + - name: Verify health endpoints + run: | + . "$OPENBAO_ENV_FILE" + ssh -p "$DEPLOY_PORT" "$DEPLOY_USER@$DEPLOY_HOST" " + set -e + cd '$DEPLOY_PATH' + for attempt in \$(seq 1 30); do + if curl --fail --silent http://127.0.0.1:3000/ >/dev/null \ + && curl --fail --silent http://127.0.0.1:3001/health >/dev/null \ + && curl --fail --silent http://127.0.0.1:3002/health >/dev/null; then + exit 0 + fi + sleep 2 + done + echo 'deployment health verification failed' >&2 + docker compose ps >&2 + exit 1 + " diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml new file mode 100644 index 0000000..e82c12d --- /dev/null +++ b/.gitea/workflows/release.yml @@ -0,0 +1,100 @@ +name: Community Release + +on: + push: + tags: + - "v*" + workflow_dispatch: + +env: + REGISTRY: git.itexp.me + IMAGE_TAG: ${{ gitea.ref_name }} + ADMIN_API_IMAGE: git.itexp.me/bsodfather/crank-community-admin-api + MCP_SERVER_IMAGE: git.itexp.me/bsodfather/crank-community-mcp-server + UI_IMAGE: git.itexp.me/bsodfather/crank-community-ui + OPENBAO_ENV_FILE: .openbao-env + +jobs: + release: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v5 + + - name: Verify runner toolchain + run: | + rustc --version + cargo --version + node --version + npm --version + docker --version + command -v bao + bao version + + - name: Build release binaries + run: cargo build --release -p admin-api -p mcp-server + + - name: Install UI dependencies + working-directory: apps/ui + run: npm ci + + - name: Build UI dist + working-directory: apps/ui + run: npm run build + + - name: Package release artifacts + run: | + mkdir -p dist/release + cp target/release/admin-api dist/release/admin-api + cp target/release/mcp-server dist/release/mcp-server + tar -C dist/release -czf dist/crank-community-admin-api-${IMAGE_TAG}.tar.gz admin-api + tar -C dist/release -czf dist/crank-community-mcp-server-${IMAGE_TAG}.tar.gz mcp-server + tar -C apps/ui/dist -czf dist/crank-community-ui-${IMAGE_TAG}.tar.gz . + sha256sum \ + dist/crank-community-admin-api-${IMAGE_TAG}.tar.gz \ + dist/crank-community-mcp-server-${IMAGE_TAG}.tar.gz \ + dist/crank-community-ui-${IMAGE_TAG}.tar.gz \ + > dist/crank-community-${IMAGE_TAG}-checksums.txt + + - name: Generate SBOM + run: | + docker run --rm -v "$PWD:/workspace" anchore/syft:latest \ + dir:/workspace -o spdx-json \ + > dist/crank-community-${IMAGE_TAG}-sbom.spdx.json + + - name: Load deployment secrets from OpenBao + env: + BAO_ADDR: ${{ secrets.BAO_ADDR }} + BAO_ROLE_ID: ${{ secrets.BAO_ROLE_ID }} + BAO_SECRET_ID: ${{ secrets.BAO_SECRET_ID }} + OPENBAO_APP: crank + run: scripts/load-openbao-env.sh + + - name: Login to registry + run: | + . "$OPENBAO_ENV_FILE" + printf '%s' "$DEPLOY_REGISTRY_TOKEN" | \ + docker login '${{ env.REGISTRY }}' -u "$DEPLOY_REGISTRY_USER" --password-stdin + + - name: Build and push release images + run: | + docker build -f apps/admin-api/Dockerfile \ + -t '${{ env.ADMIN_API_IMAGE }}:${{ env.IMAGE_TAG }}' \ + -t '${{ env.ADMIN_API_IMAGE }}:latest' . + docker build -f apps/mcp-server/Dockerfile \ + -t '${{ env.MCP_SERVER_IMAGE }}:${{ env.IMAGE_TAG }}' \ + -t '${{ env.MCP_SERVER_IMAGE }}:latest' . + docker build -f apps/ui/Dockerfile \ + -t '${{ env.UI_IMAGE }}:${{ env.IMAGE_TAG }}' \ + -t '${{ env.UI_IMAGE }}:latest' . + docker push '${{ env.ADMIN_API_IMAGE }}:${{ env.IMAGE_TAG }}' + docker push '${{ env.ADMIN_API_IMAGE }}:latest' + docker push '${{ env.MCP_SERVER_IMAGE }}:${{ env.IMAGE_TAG }}' + docker push '${{ env.MCP_SERVER_IMAGE }}:latest' + docker push '${{ env.UI_IMAGE }}:${{ env.IMAGE_TAG }}' + docker push '${{ env.UI_IMAGE }}:latest' + + - name: Show release bundle summary + run: | + ls -lh dist diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..159d57a --- /dev/null +++ b/.gitignore @@ -0,0 +1,24 @@ +/target +/.idea +/.vscode +/.DS_Store +/node_modules +/dist +/coverage +/.env +/.openbao-env +/var +/notes +apps/ui/node_modules +apps/ui/dist +apps/ui/playwright-report +apps/ui/test-results +.tmp +*.tsbuildinfo +apps/ui/vite.config.js +apps/ui/vite.config.d.ts +*.log +__*.md +diploma/ +AGENTS.md +TASKS.md diff --git a/.sqlx/query-0b8e9bed137684683d8b6a9ed52c94b6fb3bbcb19c7a621c78c5a6d3698bdf4d.json b/.sqlx/query-0b8e9bed137684683d8b6a9ed52c94b6fb3bbcb19c7a621c78c5a6d3698bdf4d.json new file mode 100644 index 0000000..2199915 --- /dev/null +++ b/.sqlx/query-0b8e9bed137684683d8b6a9ed52c94b6fb3bbcb19c7a621c78c5a6d3698bdf4d.json @@ -0,0 +1,100 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n operations.id,\n operations.workspace_id,\n operations.name,\n operations.display_name,\n operations.category,\n operations.protocol,\n operations.security_level,\n ov.target_json,\n operations.status,\n operations.current_draft_version,\n operations.latest_published_version,\n operations.created_at as \"created_at!: time::OffsetDateTime\",\n operations.updated_at as \"updated_at!: time::OffsetDateTime\",\n operations.published_at as \"published_at: time::OffsetDateTime\"\n from operations\n join operation_versions ov\n on ov.operation_id = operations.id\n and ov.version = operations.current_draft_version\n where operations.workspace_id = $1\n order by operations.name asc", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "workspace_id", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "name", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "display_name", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "category", + "type_info": "Text" + }, + { + "ordinal": 5, + "name": "protocol", + "type_info": "Text" + }, + { + "ordinal": 6, + "name": "security_level", + "type_info": "Text" + }, + { + "ordinal": 7, + "name": "target_json", + "type_info": "Jsonb" + }, + { + "ordinal": 8, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 9, + "name": "current_draft_version", + "type_info": "Int4" + }, + { + "ordinal": 10, + "name": "latest_published_version", + "type_info": "Int4" + }, + { + "ordinal": 11, + "name": "created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 12, + "name": "updated_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 13, + "name": "published_at: time::OffsetDateTime", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [ + "Text" + ] + }, + "nullable": [ + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + false, + false, + true + ] + }, + "hash": "0b8e9bed137684683d8b6a9ed52c94b6fb3bbcb19c7a621c78c5a6d3698bdf4d" +} diff --git a/.sqlx/query-10ac4260e678ac458750988f95e54d3a84d9870e10e86bbe0d9c9fd99bf8a1f5.json b/.sqlx/query-10ac4260e678ac458750988f95e54d3a84d9870e10e86bbe0d9c9fd99bf8a1f5.json new file mode 100644 index 0000000..fe99c21 --- /dev/null +++ b/.sqlx/query-10ac4260e678ac458750988f95e54d3a84d9870e10e86bbe0d9c9fd99bf8a1f5.json @@ -0,0 +1,167 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n o.id,\n o.workspace_id,\n o.name,\n o.display_name,\n o.category,\n o.protocol,\n o.security_level,\n o.created_at as \"operation_created_at!: time::OffsetDateTime\",\n o.updated_at as \"operation_updated_at!: time::OffsetDateTime\",\n o.published_at as \"operation_published_at: time::OffsetDateTime\",\n ov.version,\n ov.status,\n ov.target_json,\n ov.input_schema_json,\n ov.output_schema_json,\n ov.input_mapping_json,\n ov.output_mapping_json,\n ov.execution_config_json,\n ov.tool_description_json,\n ov.samples_json,\n ov.generated_draft_json,\n ov.config_export_json,\n ov.change_note,\n ov.created_at as \"created_at!: time::OffsetDateTime\",\n ov.created_by\n from operation_versions ov\n join operations o on o.id = ov.operation_id\n where o.workspace_id = $1 and ov.operation_id = $2\n order by ov.version asc", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "workspace_id", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "name", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "display_name", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "category", + "type_info": "Text" + }, + { + "ordinal": 5, + "name": "protocol", + "type_info": "Text" + }, + { + "ordinal": 6, + "name": "security_level", + "type_info": "Text" + }, + { + "ordinal": 7, + "name": "operation_created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 8, + "name": "operation_updated_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 9, + "name": "operation_published_at: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 10, + "name": "version", + "type_info": "Int4" + }, + { + "ordinal": 11, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 12, + "name": "target_json", + "type_info": "Jsonb" + }, + { + "ordinal": 13, + "name": "input_schema_json", + "type_info": "Jsonb" + }, + { + "ordinal": 14, + "name": "output_schema_json", + "type_info": "Jsonb" + }, + { + "ordinal": 15, + "name": "input_mapping_json", + "type_info": "Jsonb" + }, + { + "ordinal": 16, + "name": "output_mapping_json", + "type_info": "Jsonb" + }, + { + "ordinal": 17, + "name": "execution_config_json", + "type_info": "Jsonb" + }, + { + "ordinal": 18, + "name": "tool_description_json", + "type_info": "Jsonb" + }, + { + "ordinal": 19, + "name": "samples_json", + "type_info": "Jsonb" + }, + { + "ordinal": 20, + "name": "generated_draft_json", + "type_info": "Jsonb" + }, + { + "ordinal": 21, + "name": "config_export_json", + "type_info": "Jsonb" + }, + { + "ordinal": 22, + "name": "change_note", + "type_info": "Text" + }, + { + "ordinal": 23, + "name": "created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 24, + "name": "created_by", + "type_info": "Text" + } + ], + "parameters": { + "Left": [ + "Text", + "Text" + ] + }, + "nullable": [ + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + true, + false, + true + ] + }, + "hash": "10ac4260e678ac458750988f95e54d3a84d9870e10e86bbe0d9c9fd99bf8a1f5" +} diff --git a/.sqlx/query-1912ca7a4b00fcc5c1a7fe5434b811977fbdf181436573fa96415ccfcb5fecb2.json b/.sqlx/query-1912ca7a4b00fcc5c1a7fe5434b811977fbdf181436573fa96415ccfcb5fecb2.json new file mode 100644 index 0000000..83da6db --- /dev/null +++ b/.sqlx/query-1912ca7a4b00fcc5c1a7fe5434b811977fbdf181436573fa96415ccfcb5fecb2.json @@ -0,0 +1,53 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n agent_id,\n version,\n status,\n instructions_json,\n tool_selection_policy_json,\n created_at as \"created_at!: time::OffsetDateTime\"\n from agent_versions\n where agent_id = $1 and version = $2", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "agent_id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "version", + "type_info": "Int4" + }, + { + "ordinal": 2, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "instructions_json", + "type_info": "Jsonb" + }, + { + "ordinal": 4, + "name": "tool_selection_policy_json", + "type_info": "Jsonb" + }, + { + "ordinal": 5, + "name": "created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [ + "Text", + "Int4" + ] + }, + "nullable": [ + false, + false, + false, + false, + false, + false + ] + }, + "hash": "1912ca7a4b00fcc5c1a7fe5434b811977fbdf181436573fa96415ccfcb5fecb2" +} diff --git a/.sqlx/query-1b8c77657275ab0ea28e68ae5147dbdad5d055887ef5fabd82552d4fe704f891.json b/.sqlx/query-1b8c77657275ab0ea28e68ae5147dbdad5d055887ef5fabd82552d4fe704f891.json new file mode 100644 index 0000000..06b97ab --- /dev/null +++ b/.sqlx/query-1b8c77657275ab0ea28e68ae5147dbdad5d055887ef5fabd82552d4fe704f891.json @@ -0,0 +1,65 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n id,\n operation_id,\n version,\n sample_kind,\n storage_ref,\n content_type,\n file_name,\n created_at as \"created_at!: time::OffsetDateTime\"\n from operation_samples\n where operation_id = $1 and version = $2\n order by created_at asc", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "operation_id", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "version", + "type_info": "Int4" + }, + { + "ordinal": 3, + "name": "sample_kind", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "storage_ref", + "type_info": "Text" + }, + { + "ordinal": 5, + "name": "content_type", + "type_info": "Text" + }, + { + "ordinal": 6, + "name": "file_name", + "type_info": "Text" + }, + { + "ordinal": 7, + "name": "created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [ + "Text", + "Int4" + ] + }, + "nullable": [ + false, + false, + false, + false, + false, + false, + true, + false + ] + }, + "hash": "1b8c77657275ab0ea28e68ae5147dbdad5d055887ef5fabd82552d4fe704f891" +} diff --git a/.sqlx/query-20a3404581cb52fa7087ba4649fde4910e8d7c2b1b17055fdd1c54206e55a874.json b/.sqlx/query-20a3404581cb52fa7087ba4649fde4910e8d7c2b1b17055fdd1c54206e55a874.json new file mode 100644 index 0000000..6c35de9 --- /dev/null +++ b/.sqlx/query-20a3404581cb52fa7087ba4649fde4910e8d7c2b1b17055fdd1c54206e55a874.json @@ -0,0 +1,83 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n id,\n workspace_id,\n slug,\n display_name,\n description,\n status,\n current_draft_version,\n latest_published_version,\n created_at as \"created_at!: time::OffsetDateTime\",\n updated_at as \"updated_at!: time::OffsetDateTime\",\n published_at as \"published_at: time::OffsetDateTime\"\n from agents\n where workspace_id = $1 and id = $2", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "workspace_id", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "slug", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "display_name", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "description", + "type_info": "Text" + }, + { + "ordinal": 5, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 6, + "name": "current_draft_version", + "type_info": "Int4" + }, + { + "ordinal": 7, + "name": "latest_published_version", + "type_info": "Int4" + }, + { + "ordinal": 8, + "name": "created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 9, + "name": "updated_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 10, + "name": "published_at: time::OffsetDateTime", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [ + "Text", + "Text" + ] + }, + "nullable": [ + false, + false, + false, + false, + false, + false, + false, + true, + false, + false, + true + ] + }, + "hash": "20a3404581cb52fa7087ba4649fde4910e8d7c2b1b17055fdd1c54206e55a874" +} diff --git a/.sqlx/query-249082378e98a7f137338cb1289cb6ea0a48c1ae74d614d63023e6dc0687f47c.json b/.sqlx/query-249082378e98a7f137338cb1289cb6ea0a48c1ae74d614d63023e6dc0687f47c.json new file mode 100644 index 0000000..e929b28 --- /dev/null +++ b/.sqlx/query-249082378e98a7f137338cb1289cb6ea0a48c1ae74d614d63023e6dc0687f47c.json @@ -0,0 +1,48 @@ +{ + "db_name": "PostgreSQL", + "query": "update users\n set email = $2,\n display_name = $3\n where id = $1\n returning\n id,\n email,\n display_name,\n status,\n created_at as \"created_at!: OffsetDateTime\"", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "email", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "display_name", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "created_at!: OffsetDateTime", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [ + "Text", + "Text", + "Text" + ] + }, + "nullable": [ + false, + false, + false, + false, + false + ] + }, + "hash": "249082378e98a7f137338cb1289cb6ea0a48c1ae74d614d63023e6dc0687f47c" +} diff --git a/.sqlx/query-2b819bad2a2712dab1a182b89ec52d762d66cffdc449ee6f73c74c1d23a17314.json b/.sqlx/query-2b819bad2a2712dab1a182b89ec52d762d66cffdc449ee6f73c74c1d23a17314.json new file mode 100644 index 0000000..11227cc --- /dev/null +++ b/.sqlx/query-2b819bad2a2712dab1a182b89ec52d762d66cffdc449ee6f73c74c1d23a17314.json @@ -0,0 +1,23 @@ +{ + "db_name": "PostgreSQL", + "query": "select exists(\n select 1\n from memberships\n where user_id = $1\n and workspace_id = $2\n ) as \"allowed!\"", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "allowed!", + "type_info": "Bool" + } + ], + "parameters": { + "Left": [ + "Text", + "Text" + ] + }, + "nullable": [ + null + ] + }, + "hash": "2b819bad2a2712dab1a182b89ec52d762d66cffdc449ee6f73c74c1d23a17314" +} diff --git a/.sqlx/query-3422060fba1de6d85f89c46b41cc1cf462f49f0e2fe93e9230d15f97710b74ee.json b/.sqlx/query-3422060fba1de6d85f89c46b41cc1cf462f49f0e2fe93e9230d15f97710b74ee.json new file mode 100644 index 0000000..e9828b6 --- /dev/null +++ b/.sqlx/query-3422060fba1de6d85f89c46b41cc1cf462f49f0e2fe93e9230d15f97710b74ee.json @@ -0,0 +1,23 @@ +{ + "db_name": "PostgreSQL", + "query": "select 1 as \"present!\"\n from workspaces w\n join agents a on a.workspace_id = w.id\n join published_agents pa on pa.agent_id = a.id\n where w.slug = $1 and a.slug = $2", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "present!", + "type_info": "Int4" + } + ], + "parameters": { + "Left": [ + "Text", + "Text" + ] + }, + "nullable": [ + null + ] + }, + "hash": "3422060fba1de6d85f89c46b41cc1cf462f49f0e2fe93e9230d15f97710b74ee" +} diff --git a/.sqlx/query-38911a904c6d284f5fb80cf2ae9f569de7c0ffd3b8ca73e6c01f0842ace4ad25.json b/.sqlx/query-38911a904c6d284f5fb80cf2ae9f569de7c0ffd3b8ca73e6c01f0842ace4ad25.json new file mode 100644 index 0000000..f459be6 --- /dev/null +++ b/.sqlx/query-38911a904c6d284f5fb80cf2ae9f569de7c0ffd3b8ca73e6c01f0842ace4ad25.json @@ -0,0 +1,52 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n id,\n email,\n display_name,\n password_hash as \"password_hash!\",\n status,\n created_at as \"created_at!: OffsetDateTime\"\n from users\n where email = $1\n limit 1", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "email", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "display_name", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "password_hash!", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 5, + "name": "created_at!: OffsetDateTime", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [ + "Text" + ] + }, + "nullable": [ + false, + false, + false, + true, + false, + false + ] + }, + "hash": "38911a904c6d284f5fb80cf2ae9f569de7c0ffd3b8ca73e6c01f0842ace4ad25" +} diff --git a/.sqlx/query-3d647bffe6eaf3b95be589ae2fe006b4aec8f55fa070f9f2ff3859dc7cb96d06.json b/.sqlx/query-3d647bffe6eaf3b95be589ae2fe006b4aec8f55fa070f9f2ff3859dc7cb96d06.json new file mode 100644 index 0000000..f5faed0 --- /dev/null +++ b/.sqlx/query-3d647bffe6eaf3b95be589ae2fe006b4aec8f55fa070f9f2ff3859dc7cb96d06.json @@ -0,0 +1,52 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n id,\n email,\n display_name,\n password_hash as \"password_hash!\",\n status,\n created_at as \"created_at!: OffsetDateTime\"\n from users\n where id = $1\n limit 1", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "email", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "display_name", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "password_hash!", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 5, + "name": "created_at!: OffsetDateTime", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [ + "Text" + ] + }, + "nullable": [ + false, + false, + false, + true, + false, + false + ] + }, + "hash": "3d647bffe6eaf3b95be589ae2fe006b4aec8f55fa070f9f2ff3859dc7cb96d06" +} diff --git a/.sqlx/query-3df72b8a0ac4a76b15909fc78268a1c87d1cd184973bf1cecc0c725691432c08.json b/.sqlx/query-3df72b8a0ac4a76b15909fc78268a1c87d1cd184973bf1cecc0c725691432c08.json new file mode 100644 index 0000000..83e24cc --- /dev/null +++ b/.sqlx/query-3df72b8a0ac4a76b15909fc78268a1c87d1cd184973bf1cecc0c725691432c08.json @@ -0,0 +1,25 @@ +{ + "db_name": "PostgreSQL", + "query": "insert into users (\n id,\n email,\n display_name,\n password_hash,\n status,\n created_at\n ) values (\n $1, $2, $3, $4, 'active', now()\n )\n on conflict (email) do update\n set display_name = excluded.display_name,\n password_hash = excluded.password_hash,\n status = 'active'\n returning id", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + } + ], + "parameters": { + "Left": [ + "Text", + "Text", + "Text", + "Text" + ] + }, + "nullable": [ + false + ] + }, + "hash": "3df72b8a0ac4a76b15909fc78268a1c87d1cd184973bf1cecc0c725691432c08" +} diff --git a/.sqlx/query-56cf7fc3b89517095c52a30c091a040415a5f6eef589e9a264b9b1fd687353b7.json b/.sqlx/query-56cf7fc3b89517095c52a30c091a040415a5f6eef589e9a264b9b1fd687353b7.json new file mode 100644 index 0000000..7317c3c --- /dev/null +++ b/.sqlx/query-56cf7fc3b89517095c52a30c091a040415a5f6eef589e9a264b9b1fd687353b7.json @@ -0,0 +1,58 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n id,\n slug,\n display_name,\n status,\n settings_json,\n created_at as \"created_at!: time::OffsetDateTime\",\n updated_at as \"updated_at!: time::OffsetDateTime\"\n from workspaces\n where id = $1", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "slug", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "display_name", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "settings_json", + "type_info": "Jsonb" + }, + { + "ordinal": 5, + "name": "created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 6, + "name": "updated_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [ + "Text" + ] + }, + "nullable": [ + false, + false, + false, + false, + false, + false, + false + ] + }, + "hash": "56cf7fc3b89517095c52a30c091a040415a5f6eef589e9a264b9b1fd687353b7" +} diff --git a/.sqlx/query-67a73cb5211a0c23d2e8d8361a8e37c488eb2420207e9c4fa682993eda20cd62.json b/.sqlx/query-67a73cb5211a0c23d2e8d8361a8e37c488eb2420207e9c4fa682993eda20cd62.json new file mode 100644 index 0000000..eb676d4 --- /dev/null +++ b/.sqlx/query-67a73cb5211a0c23d2e8d8361a8e37c488eb2420207e9c4fa682993eda20cd62.json @@ -0,0 +1,164 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n o.id,\n o.workspace_id,\n o.name,\n o.display_name,\n o.category,\n o.protocol,\n o.security_level,\n o.created_at as \"operation_created_at!: time::OffsetDateTime\",\n o.updated_at as \"operation_updated_at!: time::OffsetDateTime\",\n o.published_at as \"operation_published_at: time::OffsetDateTime\",\n ov.version,\n ov.status,\n ov.target_json,\n ov.input_schema_json,\n ov.output_schema_json,\n ov.input_mapping_json,\n ov.output_mapping_json,\n ov.execution_config_json,\n ov.tool_description_json,\n ov.samples_json,\n ov.generated_draft_json,\n ov.config_export_json,\n ov.change_note,\n ov.created_at as \"created_at!: time::OffsetDateTime\",\n ov.created_by\n from published_operations po\n join operation_versions ov\n on ov.operation_id = po.operation_id and ov.version = po.version\n join operations o on o.id = po.operation_id\n order by o.name asc", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "workspace_id", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "name", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "display_name", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "category", + "type_info": "Text" + }, + { + "ordinal": 5, + "name": "protocol", + "type_info": "Text" + }, + { + "ordinal": 6, + "name": "security_level", + "type_info": "Text" + }, + { + "ordinal": 7, + "name": "operation_created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 8, + "name": "operation_updated_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 9, + "name": "operation_published_at: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 10, + "name": "version", + "type_info": "Int4" + }, + { + "ordinal": 11, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 12, + "name": "target_json", + "type_info": "Jsonb" + }, + { + "ordinal": 13, + "name": "input_schema_json", + "type_info": "Jsonb" + }, + { + "ordinal": 14, + "name": "output_schema_json", + "type_info": "Jsonb" + }, + { + "ordinal": 15, + "name": "input_mapping_json", + "type_info": "Jsonb" + }, + { + "ordinal": 16, + "name": "output_mapping_json", + "type_info": "Jsonb" + }, + { + "ordinal": 17, + "name": "execution_config_json", + "type_info": "Jsonb" + }, + { + "ordinal": 18, + "name": "tool_description_json", + "type_info": "Jsonb" + }, + { + "ordinal": 19, + "name": "samples_json", + "type_info": "Jsonb" + }, + { + "ordinal": 20, + "name": "generated_draft_json", + "type_info": "Jsonb" + }, + { + "ordinal": 21, + "name": "config_export_json", + "type_info": "Jsonb" + }, + { + "ordinal": 22, + "name": "change_note", + "type_info": "Text" + }, + { + "ordinal": 23, + "name": "created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 24, + "name": "created_by", + "type_info": "Text" + } + ], + "parameters": { + "Left": [] + }, + "nullable": [ + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + true, + false, + true + ] + }, + "hash": "67a73cb5211a0c23d2e8d8361a8e37c488eb2420207e9c4fa682993eda20cd62" +} diff --git a/.sqlx/query-6ae136d8196f7b259b7e5d054ecbd063dc5746ef669f21b0db1b5843e9db22d0.json b/.sqlx/query-6ae136d8196f7b259b7e5d054ecbd063dc5746ef669f21b0db1b5843e9db22d0.json new file mode 100644 index 0000000..ff6c9a4 --- /dev/null +++ b/.sqlx/query-6ae136d8196f7b259b7e5d054ecbd063dc5746ef669f21b0db1b5843e9db22d0.json @@ -0,0 +1,65 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n id,\n operation_id,\n version,\n descriptor_kind,\n storage_ref,\n source_name,\n package_index_json,\n created_at as \"created_at!: time::OffsetDateTime\"\n from descriptors\n where operation_id = $1 and version = $2\n order by created_at asc", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "operation_id", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "version", + "type_info": "Int4" + }, + { + "ordinal": 3, + "name": "descriptor_kind", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "storage_ref", + "type_info": "Text" + }, + { + "ordinal": 5, + "name": "source_name", + "type_info": "Text" + }, + { + "ordinal": 6, + "name": "package_index_json", + "type_info": "Jsonb" + }, + { + "ordinal": 7, + "name": "created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [ + "Text", + "Int4" + ] + }, + "nullable": [ + false, + true, + true, + false, + false, + true, + true, + false + ] + }, + "hash": "6ae136d8196f7b259b7e5d054ecbd063dc5746ef669f21b0db1b5843e9db22d0" +} diff --git a/.sqlx/query-6eed48468f97843bbcd6a2f90448b68c15efa72029740e28bb881f54f73a6b9b.json b/.sqlx/query-6eed48468f97843bbcd6a2f90448b68c15efa72029740e28bb881f54f73a6b9b.json new file mode 100644 index 0000000..c66b1b0 --- /dev/null +++ b/.sqlx/query-6eed48468f97843bbcd6a2f90448b68c15efa72029740e28bb881f54f73a6b9b.json @@ -0,0 +1,23 @@ +{ + "db_name": "PostgreSQL", + "query": "select 1 as \"present!\"\n from agents a\n join published_agents pa on pa.agent_id = a.id\n join agent_operation_bindings b\n on b.agent_id = a.id and b.agent_version = pa.version\n where a.workspace_id = $1\n and b.operation_id = $2\n limit 1", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "present!", + "type_info": "Int4" + } + ], + "parameters": { + "Left": [ + "Text", + "Text" + ] + }, + "nullable": [ + null + ] + }, + "hash": "6eed48468f97843bbcd6a2f90448b68c15efa72029740e28bb881f54f73a6b9b" +} diff --git a/.sqlx/query-7ad59ce20834c3de2b0345c1be28d84377b417efb30c7bdc38d4e3746a0c1a7a.json b/.sqlx/query-7ad59ce20834c3de2b0345c1be28d84377b417efb30c7bdc38d4e3746a0c1a7a.json new file mode 100644 index 0000000..fc187bd --- /dev/null +++ b/.sqlx/query-7ad59ce20834c3de2b0345c1be28d84377b417efb30c7bdc38d4e3746a0c1a7a.json @@ -0,0 +1,166 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n o.id,\n o.workspace_id,\n o.name,\n o.display_name,\n o.category,\n o.protocol,\n o.security_level,\n o.created_at as \"operation_created_at!: time::OffsetDateTime\",\n o.updated_at as \"operation_updated_at!: time::OffsetDateTime\",\n o.published_at as \"operation_published_at: time::OffsetDateTime\",\n ov.version,\n ov.status,\n ov.target_json,\n ov.input_schema_json,\n ov.output_schema_json,\n ov.input_mapping_json,\n ov.output_mapping_json,\n ov.execution_config_json,\n ov.tool_description_json,\n ov.samples_json,\n ov.generated_draft_json,\n ov.config_export_json,\n ov.change_note,\n ov.created_at as \"created_at!: time::OffsetDateTime\",\n ov.created_by\n from published_operations po\n join operation_versions ov\n on ov.operation_id = po.operation_id and ov.version = po.version\n join operations o on o.id = po.operation_id\n where po.operation_id = $1", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "workspace_id", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "name", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "display_name", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "category", + "type_info": "Text" + }, + { + "ordinal": 5, + "name": "protocol", + "type_info": "Text" + }, + { + "ordinal": 6, + "name": "security_level", + "type_info": "Text" + }, + { + "ordinal": 7, + "name": "operation_created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 8, + "name": "operation_updated_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 9, + "name": "operation_published_at: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 10, + "name": "version", + "type_info": "Int4" + }, + { + "ordinal": 11, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 12, + "name": "target_json", + "type_info": "Jsonb" + }, + { + "ordinal": 13, + "name": "input_schema_json", + "type_info": "Jsonb" + }, + { + "ordinal": 14, + "name": "output_schema_json", + "type_info": "Jsonb" + }, + { + "ordinal": 15, + "name": "input_mapping_json", + "type_info": "Jsonb" + }, + { + "ordinal": 16, + "name": "output_mapping_json", + "type_info": "Jsonb" + }, + { + "ordinal": 17, + "name": "execution_config_json", + "type_info": "Jsonb" + }, + { + "ordinal": 18, + "name": "tool_description_json", + "type_info": "Jsonb" + }, + { + "ordinal": 19, + "name": "samples_json", + "type_info": "Jsonb" + }, + { + "ordinal": 20, + "name": "generated_draft_json", + "type_info": "Jsonb" + }, + { + "ordinal": 21, + "name": "config_export_json", + "type_info": "Jsonb" + }, + { + "ordinal": 22, + "name": "change_note", + "type_info": "Text" + }, + { + "ordinal": 23, + "name": "created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 24, + "name": "created_by", + "type_info": "Text" + } + ], + "parameters": { + "Left": [ + "Text" + ] + }, + "nullable": [ + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + true, + false, + true + ] + }, + "hash": "7ad59ce20834c3de2b0345c1be28d84377b417efb30c7bdc38d4e3746a0c1a7a" +} diff --git a/.sqlx/query-92bd2268efce8ba515b1d502287dea62bdfae0ba66100589ead3f986244b4cbb.json b/.sqlx/query-92bd2268efce8ba515b1d502287dea62bdfae0ba66100589ead3f986244b4cbb.json new file mode 100644 index 0000000..415db6d --- /dev/null +++ b/.sqlx/query-92bd2268efce8ba515b1d502287dea62bdfae0ba66100589ead3f986244b4cbb.json @@ -0,0 +1,64 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n w.id,\n w.slug,\n w.display_name,\n w.status,\n w.settings_json,\n w.created_at as \"created_at!: time::OffsetDateTime\",\n w.updated_at as \"updated_at!: time::OffsetDateTime\",\n m.role\n from memberships m\n join workspaces w on w.id = m.workspace_id\n where m.user_id = $1\n order by w.slug asc", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "slug", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "display_name", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "settings_json", + "type_info": "Jsonb" + }, + { + "ordinal": 5, + "name": "created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 6, + "name": "updated_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 7, + "name": "role", + "type_info": "Text" + } + ], + "parameters": { + "Left": [ + "Text" + ] + }, + "nullable": [ + false, + false, + false, + false, + false, + false, + false, + false + ] + }, + "hash": "92bd2268efce8ba515b1d502287dea62bdfae0ba66100589ead3f986244b4cbb" +} diff --git a/.sqlx/query-9625d5160a075b55b5bb980ea8e82e9da706a34d17adf0bc94ddb4e7a3818c18.json b/.sqlx/query-9625d5160a075b55b5bb980ea8e82e9da706a34d17adf0bc94ddb4e7a3818c18.json new file mode 100644 index 0000000..f09acbf --- /dev/null +++ b/.sqlx/query-9625d5160a075b55b5bb980ea8e82e9da706a34d17adf0bc94ddb4e7a3818c18.json @@ -0,0 +1,82 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n id,\n workspace_id,\n slug,\n display_name,\n description,\n status,\n current_draft_version,\n latest_published_version,\n created_at as \"created_at!: time::OffsetDateTime\",\n updated_at as \"updated_at!: time::OffsetDateTime\",\n published_at as \"published_at: time::OffsetDateTime\"\n from agents\n where workspace_id = $1\n order by slug asc", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "workspace_id", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "slug", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "display_name", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "description", + "type_info": "Text" + }, + { + "ordinal": 5, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 6, + "name": "current_draft_version", + "type_info": "Int4" + }, + { + "ordinal": 7, + "name": "latest_published_version", + "type_info": "Int4" + }, + { + "ordinal": 8, + "name": "created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 9, + "name": "updated_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 10, + "name": "published_at: time::OffsetDateTime", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [ + "Text" + ] + }, + "nullable": [ + false, + false, + false, + false, + false, + false, + false, + true, + false, + false, + true + ] + }, + "hash": "9625d5160a075b55b5bb980ea8e82e9da706a34d17adf0bc94ddb4e7a3818c18" +} diff --git a/.sqlx/query-a1d2c9b16b61d226701449fc22146db6f0f7d17e6867f929c44027990fb94b57.json b/.sqlx/query-a1d2c9b16b61d226701449fc22146db6f0f7d17e6867f929c44027990fb94b57.json new file mode 100644 index 0000000..8900459 --- /dev/null +++ b/.sqlx/query-a1d2c9b16b61d226701449fc22146db6f0f7d17e6867f929c44027990fb94b57.json @@ -0,0 +1,94 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n id,\n workspace_id,\n agent_id,\n operation_id,\n protocol,\n mode,\n status,\n cursor_json,\n state_json,\n expires_at as \"expires_at!: OffsetDateTime\",\n last_poll_at as \"last_poll_at: OffsetDateTime\",\n created_at as \"created_at!: OffsetDateTime\",\n closed_at as \"closed_at: OffsetDateTime\"\n from stream_sessions\n where id = $1", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "workspace_id", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "agent_id", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "operation_id", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "protocol", + "type_info": "Text" + }, + { + "ordinal": 5, + "name": "mode", + "type_info": "Text" + }, + { + "ordinal": 6, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 7, + "name": "cursor_json", + "type_info": "Jsonb" + }, + { + "ordinal": 8, + "name": "state_json", + "type_info": "Jsonb" + }, + { + "ordinal": 9, + "name": "expires_at!: OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 10, + "name": "last_poll_at: OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 11, + "name": "created_at!: OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 12, + "name": "closed_at: OffsetDateTime", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [ + "Text" + ] + }, + "nullable": [ + false, + false, + true, + false, + false, + false, + false, + true, + false, + false, + true, + false, + true + ] + }, + "hash": "a1d2c9b16b61d226701449fc22146db6f0f7d17e6867f929c44027990fb94b57" +} diff --git a/.sqlx/query-a24c36f988151016f9ffa834a6a5658f7f094844b892c999e6f58d6f92fbe0c2.json b/.sqlx/query-a24c36f988151016f9ffa834a6a5658f7f094844b892c999e6f58d6f92fbe0c2.json new file mode 100644 index 0000000..638d532 --- /dev/null +++ b/.sqlx/query-a24c36f988151016f9ffa834a6a5658f7f094844b892c999e6f58d6f92fbe0c2.json @@ -0,0 +1,168 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n o.id,\n o.workspace_id,\n o.name,\n o.display_name,\n o.category,\n o.protocol,\n o.security_level,\n o.created_at as \"operation_created_at!: time::OffsetDateTime\",\n o.updated_at as \"operation_updated_at!: time::OffsetDateTime\",\n o.published_at as \"operation_published_at: time::OffsetDateTime\",\n ov.version,\n ov.status,\n ov.target_json,\n ov.input_schema_json,\n ov.output_schema_json,\n ov.input_mapping_json,\n ov.output_mapping_json,\n ov.execution_config_json,\n ov.tool_description_json,\n ov.samples_json,\n ov.generated_draft_json,\n ov.config_export_json,\n ov.change_note,\n ov.created_at as \"created_at!: time::OffsetDateTime\",\n ov.created_by\n from operation_versions ov\n join operations o on o.id = ov.operation_id\n where o.workspace_id = $1 and ov.operation_id = $2 and ov.version = $3", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "workspace_id", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "name", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "display_name", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "category", + "type_info": "Text" + }, + { + "ordinal": 5, + "name": "protocol", + "type_info": "Text" + }, + { + "ordinal": 6, + "name": "security_level", + "type_info": "Text" + }, + { + "ordinal": 7, + "name": "operation_created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 8, + "name": "operation_updated_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 9, + "name": "operation_published_at: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 10, + "name": "version", + "type_info": "Int4" + }, + { + "ordinal": 11, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 12, + "name": "target_json", + "type_info": "Jsonb" + }, + { + "ordinal": 13, + "name": "input_schema_json", + "type_info": "Jsonb" + }, + { + "ordinal": 14, + "name": "output_schema_json", + "type_info": "Jsonb" + }, + { + "ordinal": 15, + "name": "input_mapping_json", + "type_info": "Jsonb" + }, + { + "ordinal": 16, + "name": "output_mapping_json", + "type_info": "Jsonb" + }, + { + "ordinal": 17, + "name": "execution_config_json", + "type_info": "Jsonb" + }, + { + "ordinal": 18, + "name": "tool_description_json", + "type_info": "Jsonb" + }, + { + "ordinal": 19, + "name": "samples_json", + "type_info": "Jsonb" + }, + { + "ordinal": 20, + "name": "generated_draft_json", + "type_info": "Jsonb" + }, + { + "ordinal": 21, + "name": "config_export_json", + "type_info": "Jsonb" + }, + { + "ordinal": 22, + "name": "change_note", + "type_info": "Text" + }, + { + "ordinal": 23, + "name": "created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 24, + "name": "created_by", + "type_info": "Text" + } + ], + "parameters": { + "Left": [ + "Text", + "Text", + "Int4" + ] + }, + "nullable": [ + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + true, + false, + true + ] + }, + "hash": "a24c36f988151016f9ffa834a6a5658f7f094844b892c999e6f58d6f92fbe0c2" +} diff --git a/.sqlx/query-b68377d8ffd5bdc9b8e417170f4940b65d2167dada6b6110985ce0bd95480b93.json b/.sqlx/query-b68377d8ffd5bdc9b8e417170f4940b65d2167dada6b6110985ce0bd95480b93.json new file mode 100644 index 0000000..21fc532 --- /dev/null +++ b/.sqlx/query-b68377d8ffd5bdc9b8e417170f4940b65d2167dada6b6110985ce0bd95480b93.json @@ -0,0 +1,99 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n id,\n workspace_id,\n agent_id,\n operation_id,\n protocol,\n mode,\n status,\n cursor_json,\n state_json,\n expires_at as \"expires_at!: OffsetDateTime\",\n last_poll_at as \"last_poll_at: OffsetDateTime\",\n created_at as \"created_at!: OffsetDateTime\",\n closed_at as \"closed_at: OffsetDateTime\"\n from stream_sessions\n where workspace_id = $1\n and ($2::text is null or agent_id = $2)\n and ($3::text is null or operation_id = $3)\n and ($4::text is null or status = $4)\n and ($5::text is null or mode = $5)\n order by created_at desc\n limit $6", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "workspace_id", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "agent_id", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "operation_id", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "protocol", + "type_info": "Text" + }, + { + "ordinal": 5, + "name": "mode", + "type_info": "Text" + }, + { + "ordinal": 6, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 7, + "name": "cursor_json", + "type_info": "Jsonb" + }, + { + "ordinal": 8, + "name": "state_json", + "type_info": "Jsonb" + }, + { + "ordinal": 9, + "name": "expires_at!: OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 10, + "name": "last_poll_at: OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 11, + "name": "created_at!: OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 12, + "name": "closed_at: OffsetDateTime", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [ + "Text", + "Text", + "Text", + "Text", + "Text", + "Int8" + ] + }, + "nullable": [ + false, + false, + true, + false, + false, + false, + false, + true, + false, + false, + true, + false, + true + ] + }, + "hash": "b68377d8ffd5bdc9b8e417170f4940b65d2167dada6b6110985ce0bd95480b93" +} diff --git a/.sqlx/query-b86a7406eeec83390458e35fb8611e19377582ec0ca245a162c2d2236077bb9b.json b/.sqlx/query-b86a7406eeec83390458e35fb8611e19377582ec0ca245a162c2d2236077bb9b.json new file mode 100644 index 0000000..e74aa00 --- /dev/null +++ b/.sqlx/query-b86a7406eeec83390458e35fb8611e19377582ec0ca245a162c2d2236077bb9b.json @@ -0,0 +1,58 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n id,\n workspace_id,\n name,\n kind,\n config_json,\n created_at as \"created_at!: OffsetDateTime\",\n updated_at as \"updated_at!: OffsetDateTime\"\n from auth_profiles\n where workspace_id = $1\n order by name asc", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "workspace_id", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "name", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "kind", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "config_json", + "type_info": "Jsonb" + }, + { + "ordinal": 5, + "name": "created_at!: OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 6, + "name": "updated_at!: OffsetDateTime", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [ + "Text" + ] + }, + "nullable": [ + false, + false, + false, + false, + false, + false, + false + ] + }, + "hash": "b86a7406eeec83390458e35fb8611e19377582ec0ca245a162c2d2236077bb9b" +} diff --git a/.sqlx/query-bdae00d03a55ba3b6d121578b081e970ff08427f9a3dd396b649996a9131260c.json b/.sqlx/query-bdae00d03a55ba3b6d121578b081e970ff08427f9a3dd396b649996a9131260c.json new file mode 100644 index 0000000..8762d72 --- /dev/null +++ b/.sqlx/query-bdae00d03a55ba3b6d121578b081e970ff08427f9a3dd396b649996a9131260c.json @@ -0,0 +1,64 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n id,\n protocol_version,\n initialized,\n workspace_slug,\n agent_slug,\n created_at as \"created_at!: OffsetDateTime\",\n updated_at as \"updated_at!: OffsetDateTime\",\n expires_at as \"expires_at: OffsetDateTime\"\n from mcp_transport_sessions\n where id = $1", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "protocol_version", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "initialized", + "type_info": "Bool" + }, + { + "ordinal": 3, + "name": "workspace_slug", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "agent_slug", + "type_info": "Text" + }, + { + "ordinal": 5, + "name": "created_at!: OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 6, + "name": "updated_at!: OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 7, + "name": "expires_at: OffsetDateTime", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [ + "Text" + ] + }, + "nullable": [ + false, + false, + false, + false, + false, + false, + false, + true + ] + }, + "hash": "bdae00d03a55ba3b6d121578b081e970ff08427f9a3dd396b649996a9131260c" +} diff --git a/.sqlx/query-c3002576245c677598f401b5db517f9c01c9e5cbc1eea5511005d572a0776edc.json b/.sqlx/query-c3002576245c677598f401b5db517f9c01c9e5cbc1eea5511005d572a0776edc.json new file mode 100644 index 0000000..f88bd2c --- /dev/null +++ b/.sqlx/query-c3002576245c677598f401b5db517f9c01c9e5cbc1eea5511005d572a0776edc.json @@ -0,0 +1,64 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n m.workspace_id,\n m.user_id,\n m.role,\n m.created_at as \"created_at!: time::OffsetDateTime\",\n u.email,\n u.display_name,\n u.status,\n u.created_at as \"user_created_at!: time::OffsetDateTime\"\n from memberships m\n join users u on u.id = m.user_id\n where m.workspace_id = $1\n order by u.email asc", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "workspace_id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "user_id", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "role", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 4, + "name": "email", + "type_info": "Text" + }, + { + "ordinal": 5, + "name": "display_name", + "type_info": "Text" + }, + { + "ordinal": 6, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 7, + "name": "user_created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [ + "Text" + ] + }, + "nullable": [ + false, + false, + false, + false, + false, + false, + false, + false + ] + }, + "hash": "c3002576245c677598f401b5db517f9c01c9e5cbc1eea5511005d572a0776edc" +} diff --git a/.sqlx/query-d5b882fd05f2db2e766207064bd46ad2ffe665efc5f11252136bee340a3a4a89.json b/.sqlx/query-d5b882fd05f2db2e766207064bd46ad2ffe665efc5f11252136bee340a3a4a89.json new file mode 100644 index 0000000..65e4484 --- /dev/null +++ b/.sqlx/query-d5b882fd05f2db2e766207064bd46ad2ffe665efc5f11252136bee340a3a4a89.json @@ -0,0 +1,71 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n id,\n workspace_id,\n name,\n kind,\n status,\n current_version,\n created_at as \"created_at!: time::OffsetDateTime\",\n updated_at as \"updated_at!: time::OffsetDateTime\",\n last_used_at as \"last_used_at: time::OffsetDateTime\"\n from secrets\n where workspace_id = $1 and id = $2", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "workspace_id", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "name", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "kind", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 5, + "name": "current_version", + "type_info": "Int4" + }, + { + "ordinal": 6, + "name": "created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 7, + "name": "updated_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 8, + "name": "last_used_at: time::OffsetDateTime", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [ + "Text", + "Text" + ] + }, + "nullable": [ + false, + false, + false, + false, + false, + false, + false, + false, + true + ] + }, + "hash": "d5b882fd05f2db2e766207064bd46ad2ffe665efc5f11252136bee340a3a4a89" +} diff --git a/.sqlx/query-d6cd575c05dabaa09177985375c59ce42857433dd11580659481c562f9d9ab3f.json b/.sqlx/query-d6cd575c05dabaa09177985375c59ce42857433dd11580659481c562f9d9ab3f.json new file mode 100644 index 0000000..3893be5 --- /dev/null +++ b/.sqlx/query-d6cd575c05dabaa09177985375c59ce42857433dd11580659481c562f9d9ab3f.json @@ -0,0 +1,56 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n id,\n slug,\n display_name,\n status,\n settings_json,\n created_at as \"created_at!: time::OffsetDateTime\",\n updated_at as \"updated_at!: time::OffsetDateTime\"\n from workspaces\n order by slug asc", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "slug", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "display_name", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "settings_json", + "type_info": "Jsonb" + }, + { + "ordinal": 5, + "name": "created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 6, + "name": "updated_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [] + }, + "nullable": [ + false, + false, + false, + false, + false, + false, + false + ] + }, + "hash": "d6cd575c05dabaa09177985375c59ce42857433dd11580659481c562f9d9ab3f" +} diff --git a/.sqlx/query-dcde0691b13dbab00364f4142b95a2785c0a612ff739e341e28d0831b7170f6b.json b/.sqlx/query-dcde0691b13dbab00364f4142b95a2785c0a612ff739e341e28d0831b7170f6b.json new file mode 100644 index 0000000..e27ad9f --- /dev/null +++ b/.sqlx/query-dcde0691b13dbab00364f4142b95a2785c0a612ff739e341e28d0831b7170f6b.json @@ -0,0 +1,70 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n id,\n workspace_id,\n name,\n kind,\n status,\n current_version,\n created_at as \"created_at!: time::OffsetDateTime\",\n updated_at as \"updated_at!: time::OffsetDateTime\",\n last_used_at as \"last_used_at: time::OffsetDateTime\"\n from secrets\n where workspace_id = $1\n order by name asc", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "workspace_id", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "name", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "kind", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 5, + "name": "current_version", + "type_info": "Int4" + }, + { + "ordinal": 6, + "name": "created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 7, + "name": "updated_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 8, + "name": "last_used_at: time::OffsetDateTime", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [ + "Text" + ] + }, + "nullable": [ + false, + false, + false, + false, + false, + false, + false, + false, + true + ] + }, + "hash": "dcde0691b13dbab00364f4142b95a2785c0a612ff739e341e28d0831b7170f6b" +} diff --git a/.sqlx/query-dd4a415a042b863b1034727737f3d14019ba405a07a8360b68e8c9c5597e17ce.json b/.sqlx/query-dd4a415a042b863b1034727737f3d14019ba405a07a8360b68e8c9c5597e17ce.json new file mode 100644 index 0000000..0a463cd --- /dev/null +++ b/.sqlx/query-dd4a415a042b863b1034727737f3d14019ba405a07a8360b68e8c9c5597e17ce.json @@ -0,0 +1,203 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n w.id as workspace_id,\n w.slug as workspace_slug,\n a.id as agent_id,\n a.slug as agent_slug,\n b.tool_name,\n b.tool_title,\n coalesce(b.tool_description_override, ov.tool_description_json->>'description') as \"tool_description!\",\n o.id,\n o.name,\n o.display_name,\n o.category,\n o.protocol,\n o.security_level,\n o.created_at as \"operation_created_at!: time::OffsetDateTime\",\n o.updated_at as \"operation_updated_at!: time::OffsetDateTime\",\n o.published_at as \"operation_published_at: time::OffsetDateTime\",\n ov.version,\n ov.status,\n ov.target_json,\n ov.input_schema_json,\n ov.output_schema_json,\n ov.input_mapping_json,\n ov.output_mapping_json,\n ov.execution_config_json,\n ov.tool_description_json,\n ov.samples_json,\n ov.generated_draft_json,\n ov.config_export_json,\n ov.change_note,\n ov.created_at as \"created_at!: time::OffsetDateTime\",\n ov.created_by\n from workspaces w\n join agents a on a.workspace_id = w.id\n join published_agents pa on pa.agent_id = a.id\n join agent_operation_bindings b on b.agent_id = a.id and b.agent_version = pa.version\n join operation_versions ov on ov.operation_id = b.operation_id and ov.version = b.operation_version\n join operations o on o.id = ov.operation_id and o.workspace_id = w.id\n where w.slug = $1 and a.slug = $2 and b.enabled = true\n order by b.tool_name asc", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "workspace_id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "workspace_slug", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "agent_id", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "agent_slug", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "tool_name", + "type_info": "Text" + }, + { + "ordinal": 5, + "name": "tool_title", + "type_info": "Text" + }, + { + "ordinal": 6, + "name": "tool_description!", + "type_info": "Text" + }, + { + "ordinal": 7, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 8, + "name": "name", + "type_info": "Text" + }, + { + "ordinal": 9, + "name": "display_name", + "type_info": "Text" + }, + { + "ordinal": 10, + "name": "category", + "type_info": "Text" + }, + { + "ordinal": 11, + "name": "protocol", + "type_info": "Text" + }, + { + "ordinal": 12, + "name": "security_level", + "type_info": "Text" + }, + { + "ordinal": 13, + "name": "operation_created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 14, + "name": "operation_updated_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 15, + "name": "operation_published_at: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 16, + "name": "version", + "type_info": "Int4" + }, + { + "ordinal": 17, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 18, + "name": "target_json", + "type_info": "Jsonb" + }, + { + "ordinal": 19, + "name": "input_schema_json", + "type_info": "Jsonb" + }, + { + "ordinal": 20, + "name": "output_schema_json", + "type_info": "Jsonb" + }, + { + "ordinal": 21, + "name": "input_mapping_json", + "type_info": "Jsonb" + }, + { + "ordinal": 22, + "name": "output_mapping_json", + "type_info": "Jsonb" + }, + { + "ordinal": 23, + "name": "execution_config_json", + "type_info": "Jsonb" + }, + { + "ordinal": 24, + "name": "tool_description_json", + "type_info": "Jsonb" + }, + { + "ordinal": 25, + "name": "samples_json", + "type_info": "Jsonb" + }, + { + "ordinal": 26, + "name": "generated_draft_json", + "type_info": "Jsonb" + }, + { + "ordinal": 27, + "name": "config_export_json", + "type_info": "Jsonb" + }, + { + "ordinal": 28, + "name": "change_note", + "type_info": "Text" + }, + { + "ordinal": 29, + "name": "created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 30, + "name": "created_by", + "type_info": "Text" + } + ], + "parameters": { + "Left": [ + "Text", + "Text" + ] + }, + "nullable": [ + false, + false, + false, + false, + false, + false, + null, + false, + false, + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + true, + false, + true + ] + }, + "hash": "dd4a415a042b863b1034727737f3d14019ba405a07a8360b68e8c9c5597e17ce" +} diff --git a/.sqlx/query-e86682005480df007b488b8543adc8a6d4068e33a5509f9e314dd0d97eac178b.json b/.sqlx/query-e86682005480df007b488b8543adc8a6d4068e33a5509f9e314dd0d97eac178b.json new file mode 100644 index 0000000..19f81b5 --- /dev/null +++ b/.sqlx/query-e86682005480df007b488b8543adc8a6d4068e33a5509f9e314dd0d97eac178b.json @@ -0,0 +1,98 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n id,\n workspace_id,\n agent_id,\n operation_id,\n status,\n progress_json,\n result_json,\n error_json,\n expires_at as \"expires_at: OffsetDateTime\",\n last_poll_at as \"last_poll_at: OffsetDateTime\",\n created_at as \"created_at!: OffsetDateTime\",\n updated_at as \"updated_at!: OffsetDateTime\",\n finished_at as \"finished_at: OffsetDateTime\"\n from async_jobs\n where workspace_id = $1\n and ($2::text is null or agent_id = $2)\n and ($3::text is null or operation_id = $3)\n and ($4::text is null or status = $4)\n order by updated_at desc\n limit $5", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "workspace_id", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "agent_id", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "operation_id", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 5, + "name": "progress_json", + "type_info": "Jsonb" + }, + { + "ordinal": 6, + "name": "result_json", + "type_info": "Jsonb" + }, + { + "ordinal": 7, + "name": "error_json", + "type_info": "Jsonb" + }, + { + "ordinal": 8, + "name": "expires_at: OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 9, + "name": "last_poll_at: OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 10, + "name": "created_at!: OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 11, + "name": "updated_at!: OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 12, + "name": "finished_at: OffsetDateTime", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [ + "Text", + "Text", + "Text", + "Text", + "Int8" + ] + }, + "nullable": [ + false, + false, + true, + false, + false, + false, + true, + true, + true, + true, + false, + false, + true + ] + }, + "hash": "e86682005480df007b488b8543adc8a6d4068e33a5509f9e314dd0d97eac178b" +} diff --git a/.sqlx/query-e9fc9fdf8ef885ab247d903dbde0a2f07bc89aec46cdbe1e856700fa57674f41.json b/.sqlx/query-e9fc9fdf8ef885ab247d903dbde0a2f07bc89aec46cdbe1e856700fa57674f41.json new file mode 100644 index 0000000..03e3aa1 --- /dev/null +++ b/.sqlx/query-e9fc9fdf8ef885ab247d903dbde0a2f07bc89aec46cdbe1e856700fa57674f41.json @@ -0,0 +1,64 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n id,\n workspace_id,\n email,\n role,\n status,\n token_hash,\n expires_at as \"expires_at!: time::OffsetDateTime\",\n created_at as \"created_at!: time::OffsetDateTime\"\n from invitation_tokens\n where workspace_id = $1\n order by created_at desc", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "workspace_id", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "email", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "role", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 5, + "name": "token_hash", + "type_info": "Text" + }, + { + "ordinal": 6, + "name": "expires_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 7, + "name": "created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [ + "Text" + ] + }, + "nullable": [ + false, + false, + false, + false, + false, + false, + false, + false + ] + }, + "hash": "e9fc9fdf8ef885ab247d903dbde0a2f07bc89aec46cdbe1e856700fa57674f41" +} diff --git a/.sqlx/query-f195cc4951ef129f4a1c95d6d9e8f932919d2882f3dcb5a7f865fb4448506d05.json b/.sqlx/query-f195cc4951ef129f4a1c95d6d9e8f932919d2882f3dcb5a7f865fb4448506d05.json new file mode 100644 index 0000000..3be6a67 --- /dev/null +++ b/.sqlx/query-f195cc4951ef129f4a1c95d6d9e8f932919d2882f3dcb5a7f865fb4448506d05.json @@ -0,0 +1,101 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n operations.id,\n operations.workspace_id,\n operations.name,\n operations.display_name,\n operations.category,\n operations.protocol,\n operations.security_level,\n ov.target_json,\n operations.status,\n operations.current_draft_version,\n operations.latest_published_version,\n operations.created_at as \"created_at!: time::OffsetDateTime\",\n operations.updated_at as \"updated_at!: time::OffsetDateTime\",\n operations.published_at as \"published_at: time::OffsetDateTime\"\n from operations\n join operation_versions ov\n on ov.operation_id = operations.id\n and ov.version = operations.current_draft_version\n where operations.workspace_id = $1 and operations.id = $2", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "workspace_id", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "name", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "display_name", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "category", + "type_info": "Text" + }, + { + "ordinal": 5, + "name": "protocol", + "type_info": "Text" + }, + { + "ordinal": 6, + "name": "security_level", + "type_info": "Text" + }, + { + "ordinal": 7, + "name": "target_json", + "type_info": "Jsonb" + }, + { + "ordinal": 8, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 9, + "name": "current_draft_version", + "type_info": "Int4" + }, + { + "ordinal": 10, + "name": "latest_published_version", + "type_info": "Int4" + }, + { + "ordinal": 11, + "name": "created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 12, + "name": "updated_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 13, + "name": "published_at: time::OffsetDateTime", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [ + "Text", + "Text" + ] + }, + "nullable": [ + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + false, + false, + true + ] + }, + "hash": "f195cc4951ef129f4a1c95d6d9e8f932919d2882f3dcb5a7f865fb4448506d05" +} diff --git a/.sqlx/query-f551a9cd253b7fd0dc9a387a141a53d8a109b8aa766ab1c2b11f9b52e250adc8.json b/.sqlx/query-f551a9cd253b7fd0dc9a387a141a53d8a109b8aa766ab1c2b11f9b52e250adc8.json new file mode 100644 index 0000000..3ff8cb4 --- /dev/null +++ b/.sqlx/query-f551a9cd253b7fd0dc9a387a141a53d8a109b8aa766ab1c2b11f9b52e250adc8.json @@ -0,0 +1,94 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n id,\n workspace_id,\n agent_id,\n operation_id,\n status,\n progress_json,\n result_json,\n error_json,\n expires_at as \"expires_at: OffsetDateTime\",\n last_poll_at as \"last_poll_at: OffsetDateTime\",\n created_at as \"created_at!: OffsetDateTime\",\n updated_at as \"updated_at!: OffsetDateTime\",\n finished_at as \"finished_at: OffsetDateTime\"\n from async_jobs\n where id = $1", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "workspace_id", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "agent_id", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "operation_id", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 5, + "name": "progress_json", + "type_info": "Jsonb" + }, + { + "ordinal": 6, + "name": "result_json", + "type_info": "Jsonb" + }, + { + "ordinal": 7, + "name": "error_json", + "type_info": "Jsonb" + }, + { + "ordinal": 8, + "name": "expires_at: OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 9, + "name": "last_poll_at: OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 10, + "name": "created_at!: OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 11, + "name": "updated_at!: OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 12, + "name": "finished_at: OffsetDateTime", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [ + "Text" + ] + }, + "nullable": [ + false, + false, + true, + false, + false, + false, + true, + true, + true, + true, + false, + false, + true + ] + }, + "hash": "f551a9cd253b7fd0dc9a387a141a53d8a109b8aa766ab1c2b11f9b52e250adc8" +} diff --git a/.sqlx/query-f7b5e65ecddfe52af4d3be98fc69680bf9f0d131785c310936bdf603d74c118d.json b/.sqlx/query-f7b5e65ecddfe52af4d3be98fc69680bf9f0d131785c310936bdf603d74c118d.json new file mode 100644 index 0000000..2ea224a --- /dev/null +++ b/.sqlx/query-f7b5e65ecddfe52af4d3be98fc69680bf9f0d131785c310936bdf603d74c118d.json @@ -0,0 +1,59 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n s.id,\n s.user_id,\n s.current_workspace_id,\n u.email,\n u.display_name,\n u.status,\n u.created_at as \"created_at!: OffsetDateTime\"\n from user_sessions s\n join users u on u.id = s.user_id\n where s.id = $1\n and s.secret_hash = $2\n and s.status = 'active'\n and s.expires_at > now()\n limit 1", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "user_id", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "current_workspace_id", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "email", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "display_name", + "type_info": "Text" + }, + { + "ordinal": 5, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 6, + "name": "created_at!: OffsetDateTime", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [ + "Text", + "Text" + ] + }, + "nullable": [ + false, + false, + true, + false, + false, + false, + false + ] + }, + "hash": "f7b5e65ecddfe52af4d3be98fc69680bf9f0d131785c310936bdf603d74c118d" +} diff --git a/.sqlx/query-fadf243775a355c46ae97d26049793eb1d1ad17505b1e1609a842750e3233ec2.json b/.sqlx/query-fadf243775a355c46ae97d26049793eb1d1ad17505b1e1609a842750e3233ec2.json new file mode 100644 index 0000000..33bcc6e --- /dev/null +++ b/.sqlx/query-fadf243775a355c46ae97d26049793eb1d1ad17505b1e1609a842750e3233ec2.json @@ -0,0 +1,59 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n id,\n workspace_id,\n name,\n kind,\n config_json,\n created_at as \"created_at!: OffsetDateTime\",\n updated_at as \"updated_at!: OffsetDateTime\"\n from auth_profiles\n where workspace_id = $1 and id = $2", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "workspace_id", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "name", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "kind", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "config_json", + "type_info": "Jsonb" + }, + { + "ordinal": 5, + "name": "created_at!: OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 6, + "name": "updated_at!: OffsetDateTime", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [ + "Text", + "Text" + ] + }, + "nullable": [ + false, + false, + false, + false, + false, + false, + false + ] + }, + "hash": "fadf243775a355c46ae97d26049793eb1d1ad17505b1e1609a842750e3233ec2" +} diff --git a/.sqlx/query-fb0bec06d2a3dbbf455947346eea5022c7ddac2ffe2a1969b2c6a2ed72c3730a.json b/.sqlx/query-fb0bec06d2a3dbbf455947346eea5022c7ddac2ffe2a1969b2c6a2ed72c3730a.json new file mode 100644 index 0000000..ed3c067 --- /dev/null +++ b/.sqlx/query-fb0bec06d2a3dbbf455947346eea5022c7ddac2ffe2a1969b2c6a2ed72c3730a.json @@ -0,0 +1,53 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n sv.secret_id,\n sv.version,\n sv.ciphertext,\n sv.key_version,\n sv.created_at as \"created_at!: time::OffsetDateTime\",\n sv.created_by\n from secrets s\n join secret_versions sv\n on sv.secret_id = s.id and sv.version = s.current_version\n where s.workspace_id = $1 and s.id = $2", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "secret_id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "version", + "type_info": "Int4" + }, + { + "ordinal": 2, + "name": "ciphertext", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "key_version", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 5, + "name": "created_by", + "type_info": "Text" + } + ], + "parameters": { + "Left": [ + "Text", + "Text" + ] + }, + "nullable": [ + false, + false, + false, + false, + false, + true + ] + }, + "hash": "fb0bec06d2a3dbbf455947346eea5022c7ddac2ffe2a1969b2c6a2ed72c3730a" +} diff --git a/.sqlx/query-fdd05b145021a19dda9a9f44c31ff21a2f73a4416d0cf20be418bba36def9eb4.json b/.sqlx/query-fdd05b145021a19dda9a9f44c31ff21a2f73a4416d0cf20be418bba36def9eb4.json new file mode 100644 index 0000000..8896b79 --- /dev/null +++ b/.sqlx/query-fdd05b145021a19dda9a9f44c31ff21a2f73a4416d0cf20be418bba36def9eb4.json @@ -0,0 +1,40 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n b.operation_id,\n a.id as agent_id,\n a.slug as agent_slug,\n a.display_name\n from agents a\n join published_agents pa on pa.agent_id = a.id\n join agent_operation_bindings b\n on b.agent_id = a.id and b.agent_version = pa.version\n where a.workspace_id = $1\n order by a.display_name asc, b.tool_name asc", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "operation_id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "agent_id", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "agent_slug", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "display_name", + "type_info": "Text" + } + ], + "parameters": { + "Left": [ + "Text" + ] + }, + "nullable": [ + false, + false, + false, + false + ] + }, + "hash": "fdd05b145021a19dda9a9f44c31ff21a2f73a4416d0cf20be418bba36def9eb4" +} diff --git a/CLA.md b/CLA.md new file mode 100644 index 0000000..a76a715 --- /dev/null +++ b/CLA.md @@ -0,0 +1,63 @@ +# Contributor License Agreement + +Этот документ описывает условия, на которых проект Crank принимает внешние вклады в код, документацию, тесты, примеры и другие материалы. + +Перед отправкой pull request автор вклада должен согласиться с этими условиями. Если вклад сделан от имени компании, автор подтверждает, что имеет право передать вклад на этих условиях. + +## 1. Что считается вкладом + +Вкладом считается любой материал, намеренно отправленный в проект Crank: + +- исходный код; +- тесты; +- документация; +- примеры конфигурации; +- исправления ошибок; +- предложения, если они оформлены как конкретные изменения в репозитории. + +## 2. Права на вклад + +Автор вклада подтверждает, что: + +- он является правообладателем вклада или имеет необходимые права для его передачи; +- вклад не нарушает права третьих лиц; +- вклад не содержит кода или материалов, которые нельзя использовать в проекте Crank на условиях этого соглашения. + +## 3. Лицензия на вклад + +Автор предоставляет владельцу проекта Crank бессрочную, всемирную, безотзывную, неисключительную, безвозмездную лицензию на использование вклада. + +Эта лицензия включает право: + +- использовать вклад; +- копировать вклад; +- изменять вклад; +- объединять вклад с другими материалами; +- распространять вклад; +- публиковать вклад; +- сублицензировать вклад; +- включать вклад в открытые, коммерческие и закрытые версии Crank. + +## 4. Патенты + +Если вклад затрагивает патентуемые решения, автор предоставляет владельцу проекта и пользователям Crank безвозмездную лицензию на патентные притязания автора, необходимые для использования вклада в составе Crank. + +## 5. Отсутствие гарантий + +Вклад передается без гарантий. Автор не отвечает за убытки, возникшие из-за использования вклада, если иное прямо не установлено законом или отдельным письменным соглашением. + +## 6. Лицензия проекта + +Crank Community распространяется по лицензии GNU Affero General Public License v3.0 only. + +Владелец проекта может использовать принятые вклады также в других редакциях Crank, включая коммерческие, облачные и закрытые редакции. + +## 7. Как подтвердить согласие + +Отправляя pull request, автор подтверждает согласие с этим CLA. + +В комментарии к pull request можно указать: + +```text +I agree to the Crank Contributor License Agreement. +``` diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..4d1eb29 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,49 @@ +# Участие в разработке + +Crank Community принимает исправления ошибок, улучшения документации, тесты и доработки открытой версии проекта. + +## Лицензия вкладов + +Crank Community распространяется по лицензии GNU Affero General Public License v3.0 only. + +Перед отправкой pull request нужно согласиться с [Contributor License Agreement](./CLA.md). Это нужно, чтобы проект мог использовать принятые изменения не только в Community-версии, но и в коммерческих редакциях Crank. + +## Перед pull request + +Проверьте форматирование и тесты: + +```bash +just fmt-check +just clippy +just test +``` + +Для изменений веб-интерфейса также выполните: + +```bash +cd apps/ui +npm ci +npm run build +npx playwright test +``` + +## Требования к изменениям + +- Не добавляйте функциональность вне границ Community-версии. +- Не добавляйте секреты, токены, приватные адреса и локальные настройки. +- Не коммитьте `AGENTS.md`, `TASKS.md`, `.env` и временные файлы. +- Для изменений SQL-запросов обновляйте `.sqlx`, если это требуется SQLx. +- Для пользовательских изменений обновляйте документацию или примеры. + +## Границы Community-версии + +В этом репозитории поддерживаются: + +- REST API как источник MCP-инструментов; +- простая авторизация администратора; +- ключи агентов для MCP-доступа; +- одно самостоятельное развертывание; +- PostgreSQL как основное хранилище; +- необязательный Valkey или Redis для служебного кэша. + +Функции коммерческих редакций не должны попадать в этот репозиторий. diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..4dc9fd3 --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,3330 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "admin-api" +version = "0.3.1" +dependencies = [ + "argon2", + "async-trait", + "axum", + "axum-extra", + "base64", + "crank-community-auth", + "crank-core", + "crank-mapping", + "crank-registry", + "crank-runtime", + "crank-schema", + "rand 0.8.5", + "reqwest", + "serde", + "serde_json", + "serde_yaml", + "serial_test", + "sha2", + "sqlx", + "thiserror", + "time", + "tokio", + "tracing", + "tracing-subscriber", + "uuid", +] + +[[package]] +name = "aead" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" +dependencies = [ + "crypto-common", + "generic-array", +] + +[[package]] +name = "aes" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" +dependencies = [ + "cfg-if", + "cipher", + "cpufeatures", +] + +[[package]] +name = "aes-gcm" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1" +dependencies = [ + "aead", + "aes", + "cipher", + "ctr", + "ghash", + "subtle", +] + +[[package]] +name = "aho-corasick" +version = "1.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" +dependencies = [ + "memchr", +] + +[[package]] +name = "allocator-api2" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" + +[[package]] +name = "anyhow" +version = "1.0.102" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" + +[[package]] +name = "arc-swap" +version = "1.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a3a1fd6f75306b68087b831f025c712524bcb19aad54e557b1129cfa0a2b207" +dependencies = [ + "rustversion", +] + +[[package]] +name = "argon2" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c3610892ee6e0cbce8ae2700349fcf8f98adb0dbfbee85aec3c9179d29cc072" +dependencies = [ + "base64ct", + "blake2", + "cpufeatures", + "password-hash", +] + +[[package]] +name = "async-trait" +version = "0.1.89" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "atoi" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f28d99ec8bfea296261ca1af174f24225171fea9664ba9003cbebee704810528" +dependencies = [ + "num-traits", +] + +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + +[[package]] +name = "autocfg" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" + +[[package]] +name = "axum" +version = "0.8.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b52af3cb4058c895d37317bb27508dccc8e5f2d39454016b297bf4a400597b8" +dependencies = [ + "axum-core", + "bytes", + "form_urlencoded", + "futures-util", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-util", + "itoa", + "matchit", + "memchr", + "mime", + "percent-encoding", + "pin-project-lite", + "serde_core", + "serde_json", + "serde_path_to_error", + "serde_urlencoded", + "sync_wrapper", + "tokio", + "tower", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "axum-core" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08c78f31d7b1291f7ee735c1c6780ccde7785daae9a9206026862dab7d8792d1" +dependencies = [ + "bytes", + "futures-core", + "http", + "http-body", + "http-body-util", + "mime", + "pin-project-lite", + "sync_wrapper", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "axum-extra" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9963ff19f40c6102c76756ef0a46004c0d58957d87259fc9208ff8441c12ab96" +dependencies = [ + "axum", + "axum-core", + "bytes", + "cookie", + "futures-util", + "http", + "http-body", + "http-body-util", + "mime", + "pin-project-lite", + "rustversion", + "serde_core", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "backon" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cffb0e931875b666fc4fcb20fee52e9bbd1ef836fd9e9e04ec21555f9f85f7ef" +dependencies = [ + "fastrand", +] + +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + +[[package]] +name = "base64ct" +version = "1.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2af50177e190e07a26ab74f8b1efbfe2ef87da2116221318cb1c2e82baf7de06" + +[[package]] +name = "bitflags" +version = "2.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af" +dependencies = [ + "serde_core", +] + +[[package]] +name = "blake2" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" +dependencies = [ + "digest", +] + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "bumpalo" +version = "3.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb" + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "bytes" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" + +[[package]] +name = "cc" +version = "1.2.57" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a0dd1ca384932ff3641c8718a02769f1698e7563dc6974ffd03346116310423" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" + +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + +[[package]] +name = "cipher" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" +dependencies = [ + "crypto-common", + "inout", +] + +[[package]] +name = "combine" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" +dependencies = [ + "bytes", + "futures-core", + "memchr", + "pin-project-lite", + "tokio", + "tokio-util", +] + +[[package]] +name = "concurrent-queue" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "const-oid" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" + +[[package]] +name = "cookie" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ddef33a339a91ea89fb53151bd0a4689cfce27055c291dfa69945475d22c747" +dependencies = [ + "percent-encoding", + "time", + "version_check", +] + +[[package]] +name = "cookie_store" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fc4bff745c9b4c7fb1e97b25d13153da2bc7796260141df62378998d070207f" +dependencies = [ + "cookie", + "document-features", + "idna", + "log", + "publicsuffix", + "serde", + "serde_derive", + "serde_json", + "time", + "url", +] + +[[package]] +name = "cpufeatures" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" +dependencies = [ + "libc", +] + +[[package]] +name = "crank-adapter-rest" +version = "0.3.1" +dependencies = [ + "async-trait", + "axum", + "crank-core", + "futures-util", + "reqwest", + "serde", + "serde_json", + "thiserror", + "tokio", +] + +[[package]] +name = "crank-community-auth" +version = "0.3.1" +dependencies = [ + "argon2", + "async-trait", + "axum-extra", + "base64", + "crank-core", + "crank-registry", + "rand 0.8.5", + "sha2", + "thiserror", + "time", + "tracing", + "uuid", +] + +[[package]] +name = "crank-community-mcp" +version = "0.3.1" +dependencies = [ + "async-trait", + "axum", + "base64", + "crank-core", + "crank-registry", + "crank-runtime", + "crank-schema", + "futures-util", + "serde", + "serde_json", + "sha2", + "sqlx", + "thiserror", + "time", + "tokio", + "tracing", + "uuid", +] + +[[package]] +name = "crank-core" +version = "0.3.1" +dependencies = [ + "async-trait", + "serde", + "serde_json", + "serde_yaml", + "thiserror", + "time", + "tokio", +] + +[[package]] +name = "crank-mapping" +version = "0.3.1" +dependencies = [ + "crank-core", + "serde", + "serde_json", + "serde_yaml", + "thiserror", +] + +[[package]] +name = "crank-registry" +version = "0.3.1" +dependencies = [ + "crank-core", + "crank-mapping", + "crank-schema", + "serde", + "serde_json", + "sqlx", + "thiserror", + "time", + "tokio", + "uuid", +] + +[[package]] +name = "crank-runtime" +version = "0.3.1" +dependencies = [ + "aes-gcm", + "async-trait", + "axum", + "base64", + "crank-adapter-rest", + "crank-core", + "crank-mapping", + "crank-schema", + "futures-util", + "hkdf", + "redis", + "serde", + "serde_json", + "sha2", + "thiserror", + "time", + "tokio", + "tracing", + "tracing-subscriber", +] + +[[package]] +name = "crank-schema" +version = "0.3.1" +dependencies = [ + "crank-core", + "serde", + "serde_json", + "serde_yaml", + "thiserror", +] + +[[package]] +name = "crc" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5eb8a2a1cd12ab0d987a5d5e825195d372001a4094a0376319d5a0ad71c1ba0d" +dependencies = [ + "crc-catalog", +] + +[[package]] +name = "crc-catalog" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" + +[[package]] +name = "crossbeam-queue" +version = "0.3.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" + +[[package]] +name = "crypto-common" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" +dependencies = [ + "generic-array", + "rand_core 0.6.4", + "typenum", +] + +[[package]] +name = "ctr" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" +dependencies = [ + "cipher", +] + +[[package]] +name = "der" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" +dependencies = [ + "const-oid", + "pem-rfc7468", + "zeroize", +] + +[[package]] +name = "deranged" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c" +dependencies = [ + "powerfmt", + "serde_core", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "const-oid", + "crypto-common", + "subtle", +] + +[[package]] +name = "displaydoc" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "document-features" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4b8a88685455ed29a21542a33abd9cb6510b6b129abadabdcef0f4c55bc8f61" +dependencies = [ + "litrs", +] + +[[package]] +name = "dotenvy" +version = "0.15.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" + +[[package]] +name = "either" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" +dependencies = [ + "serde", +] + +[[package]] +name = "equivalent" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + +[[package]] +name = "etcetera" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "136d1b5283a1ab77bd9257427ffd09d8667ced0570b6f938942bc7568ed5b943" +dependencies = [ + "cfg-if", + "home", + "windows-sys 0.48.0", +] + +[[package]] +name = "event-listener" +version = "5.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13b66accf52311f30a0db42147dadea9850cb48cd070028831ae5f5d4b856ab" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "fastrand" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" + +[[package]] +name = "find-msvc-tools" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" + +[[package]] +name = "flume" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da0e4dd2a88388a1f4ccc7c9ce104604dab68d9f408dc34cd45823d5a9069095" +dependencies = [ + "futures-core", + "futures-sink", + "spin", +] + +[[package]] +name = "foldhash" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" + +[[package]] +name = "form_urlencoded" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "futures-channel" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d" + +[[package]] +name = "futures-executor" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-intrusive" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d930c203dd0b6ff06e0201a4a2fe9149b43c684fd4420555b26d21b1a02956f" +dependencies = [ + "futures-core", + "lock_api", + "parking_lot", +] + +[[package]] +name = "futures-io" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718" + +[[package]] +name = "futures-macro" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "futures-sink" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893" + +[[package]] +name = "futures-task" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393" + +[[package]] +name = "futures-util" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6" +dependencies = [ + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "slab", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "getrandom" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "wasi", + "wasm-bindgen", +] + +[[package]] +name = "getrandom" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "r-efi 5.3.0", + "wasip2", + "wasm-bindgen", +] + +[[package]] +name = "getrandom" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" +dependencies = [ + "cfg-if", + "libc", + "r-efi 6.0.0", + "wasip2", + "wasip3", +] + +[[package]] +name = "ghash" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0d8a4362ccb29cb0b265253fb0a2728f592895ee6854fd9bc13f2ffda266ff1" +dependencies = [ + "opaque-debug", + "polyval", +] + +[[package]] +name = "hashbrown" +version = "0.15.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" +dependencies = [ + "allocator-api2", + "equivalent", + "foldhash", +] + +[[package]] +name = "hashbrown" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" + +[[package]] +name = "hashlink" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1" +dependencies = [ + "hashbrown 0.15.5", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "hkdf" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" +dependencies = [ + "hmac", +] + +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest", +] + +[[package]] +name = "home" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" +dependencies = [ + "windows-sys 0.59.0", +] + +[[package]] +name = "http" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a" +dependencies = [ + "bytes", + "itoa", +] + +[[package]] +name = "http-body" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" +dependencies = [ + "bytes", + "http", +] + +[[package]] +name = "http-body-util" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" +dependencies = [ + "bytes", + "futures-core", + "http", + "http-body", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" + +[[package]] +name = "httpdate" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" + +[[package]] +name = "hyper" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ab2d4f250c3d7b1c9fcdff1cece94ea4e2dfbec68614f7b87cb205f24ca9d11" +dependencies = [ + "atomic-waker", + "bytes", + "futures-channel", + "futures-core", + "http", + "http-body", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "pin-utils", + "smallvec", + "tokio", + "want", +] + +[[package]] +name = "hyper-rustls" +version = "0.27.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" +dependencies = [ + "http", + "hyper", + "hyper-util", + "rustls", + "rustls-pki-types", + "tokio", + "tokio-rustls", + "tower-service", + "webpki-roots 1.0.6", +] + +[[package]] +name = "hyper-util" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0" +dependencies = [ + "base64", + "bytes", + "futures-channel", + "futures-util", + "http", + "http-body", + "hyper", + "ipnet", + "libc", + "percent-encoding", + "pin-project-lite", + "socket2 0.6.3", + "tokio", + "tower-service", + "tracing", +] + +[[package]] +name = "icu_collections" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" +dependencies = [ + "displaydoc", + "potential_utf", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locale_core" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_normalizer" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" +dependencies = [ + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" + +[[package]] +name = "icu_properties" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "020bfc02fe870ec3a66d93e677ccca0562506e5872c650f893269e08615d74ec" +dependencies = [ + "icu_collections", + "icu_locale_core", + "icu_properties_data", + "icu_provider", + "zerotrie", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "616c294cf8d725c6afcd8f55abc17c56464ef6211f9ed59cccffe534129c77af" + +[[package]] +name = "icu_provider" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" +dependencies = [ + "displaydoc", + "icu_locale_core", + "writeable", + "yoke", + "zerofrom", + "zerotrie", + "zerovec", +] + +[[package]] +name = "id-arena" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" + +[[package]] +name = "idna" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" +dependencies = [ + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" +dependencies = [ + "icu_normalizer", + "icu_properties", +] + +[[package]] +name = "indexmap" +version = "2.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" +dependencies = [ + "equivalent", + "hashbrown 0.16.1", + "serde", + "serde_core", +] + +[[package]] +name = "inout" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01" +dependencies = [ + "generic-array", +] + +[[package]] +name = "ipnet" +version = "2.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d98f6fed1fde3f8c21bc40a1abb88dd75e67924f9cffc3ef95607bad8017f8e2" + +[[package]] +name = "iri-string" +version = "0.7.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8e7418f59cc01c88316161279a7f665217ae316b388e58a0d10e29f54f1e5eb" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "js-sys" +version = "0.3.91" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b49715b7073f385ba4bc528e5747d02e66cb39c6146efb66b781f131f0fb399c" +dependencies = [ + "once_cell", + "wasm-bindgen", +] + +[[package]] +name = "lazy_static" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +dependencies = [ + "spin", +] + +[[package]] +name = "leb128fmt" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" + +[[package]] +name = "libc" +version = "0.2.183" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5b646652bf6661599e1da8901b3b9522896f01e736bad5f723fe7a3a27f899d" + +[[package]] +name = "libm" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" + +[[package]] +name = "libredox" +version = "0.1.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ddbf48fd451246b1f8c2610bd3b4ac0cc6e149d89832867093ab69a17194f08" +dependencies = [ + "bitflags", + "libc", + "plain", + "redox_syscall 0.7.3", +] + +[[package]] +name = "libsqlite3-sys" +version = "0.30.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e99fb7a497b1e3339bc746195567ed8d3e24945ecd636e3619d20b9de9e9149" +dependencies = [ + "pkg-config", + "vcpkg", +] + +[[package]] +name = "litemap" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" + +[[package]] +name = "litrs" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092" + +[[package]] +name = "lock_api" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" +dependencies = [ + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" + +[[package]] +name = "lru-slab" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" + +[[package]] +name = "matchers" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9" +dependencies = [ + "regex-automata", +] + +[[package]] +name = "matchit" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3" + +[[package]] +name = "mcp-server" +version = "0.3.1" +dependencies = [ + "async-trait", + "axum", + "base64", + "crank-community-mcp", + "crank-core", + "crank-mapping", + "crank-registry", + "crank-runtime", + "crank-schema", + "futures-util", + "reqwest", + "serde", + "serde_json", + "sha2", + "sqlx", + "thiserror", + "time", + "tokio", + "tracing", + "tracing-subscriber", + "uuid", +] + +[[package]] +name = "md-5" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" +dependencies = [ + "cfg-if", + "digest", +] + +[[package]] +name = "memchr" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" + +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "mio" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc" +dependencies = [ + "libc", + "wasi", + "windows-sys 0.61.2", +] + +[[package]] +name = "nu-ansi-term" +version = "0.50.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" +dependencies = [ + "windows-sys 0.61.2", +] + +[[package]] +name = "num-bigint" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" +dependencies = [ + "num-integer", + "num-traits", +] + +[[package]] +name = "num-bigint-dig" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e661dda6640fad38e827a6d4a310ff4763082116fe217f279885c97f511bb0b7" +dependencies = [ + "lazy_static", + "libm", + "num-integer", + "num-iter", + "num-traits", + "rand 0.8.5", + "smallvec", + "zeroize", +] + +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + +[[package]] +name = "num-integer" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-iter" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", + "libm", +] + +[[package]] +name = "once_cell" +version = "1.21.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" + +[[package]] +name = "opaque-debug" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" + +[[package]] +name = "parking" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" + +[[package]] +name = "parking_lot" +version = "0.12.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall 0.5.18", + "smallvec", + "windows-link", +] + +[[package]] +name = "password-hash" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "346f04948ba92c43e8469c1ee6736c7563d71012b17d40745260fe106aac2166" +dependencies = [ + "base64ct", + "rand_core 0.6.4", + "subtle", +] + +[[package]] +name = "pem-rfc7468" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" +dependencies = [ + "base64ct", +] + +[[package]] +name = "percent-encoding" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" + +[[package]] +name = "pin-project-lite" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkcs1" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" +dependencies = [ + "der", + "pkcs8", + "spki", +] + +[[package]] +name = "pkcs8" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +dependencies = [ + "der", + "spki", +] + +[[package]] +name = "pkg-config" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" + +[[package]] +name = "plain" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" + +[[package]] +name = "polyval" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25" +dependencies = [ + "cfg-if", + "cpufeatures", + "opaque-debug", + "universal-hash", +] + +[[package]] +name = "potential_utf" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" +dependencies = [ + "zerovec", +] + +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + +[[package]] +name = "ppv-lite86" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +dependencies = [ + "zerocopy", +] + +[[package]] +name = "prettyplease" +version = "0.2.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" +dependencies = [ + "proc-macro2", + "syn", +] + +[[package]] +name = "proc-macro2" +version = "1.0.106" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "psl-types" +version = "2.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33cb294fe86a74cbcf50d4445b37da762029549ebeea341421c7c70370f86cac" + +[[package]] +name = "publicsuffix" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f42ea446cab60335f76979ec15e12619a2165b5ae2c12166bef27d283a9fadf" +dependencies = [ + "idna", + "psl-types", +] + +[[package]] +name = "quinn" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20" +dependencies = [ + "bytes", + "cfg_aliases", + "pin-project-lite", + "quinn-proto", + "quinn-udp", + "rustc-hash", + "rustls", + "socket2 0.6.3", + "thiserror", + "tokio", + "tracing", + "web-time", +] + +[[package]] +name = "quinn-proto" +version = "0.11.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "434b42fec591c96ef50e21e886936e66d3cc3f737104fdb9b737c40ffb94c098" +dependencies = [ + "bytes", + "getrandom 0.3.4", + "lru-slab", + "rand 0.9.2", + "ring", + "rustc-hash", + "rustls", + "rustls-pki-types", + "slab", + "thiserror", + "tinyvec", + "tracing", + "web-time", +] + +[[package]] +name = "quinn-udp" +version = "0.5.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd" +dependencies = [ + "cfg_aliases", + "libc", + "once_cell", + "socket2 0.6.3", + "tracing", + "windows-sys 0.59.0", +] + +[[package]] +name = "quote" +version = "1.0.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "r-efi" +version = "5.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" + +[[package]] +name = "r-efi" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + +[[package]] +name = "rand" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" +dependencies = [ + "rand_chacha 0.9.0", + "rand_core 0.9.5", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core 0.9.5", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom 0.2.17", +] + +[[package]] +name = "rand_core" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" +dependencies = [ + "getrandom 0.3.4", +] + +[[package]] +name = "redis" +version = "0.29.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bc42f3a12fd4408ce64d8efef67048a924e543bd35c6591c0447fda9054695f" +dependencies = [ + "arc-swap", + "backon", + "bytes", + "combine", + "futures-channel", + "futures-util", + "itoa", + "num-bigint", + "percent-encoding", + "pin-project-lite", + "ryu", + "sha1_smol", + "socket2 0.5.10", + "tokio", + "tokio-util", + "url", +] + +[[package]] +name = "redox_syscall" +version = "0.5.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" +dependencies = [ + "bitflags", +] + +[[package]] +name = "redox_syscall" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ce70a74e890531977d37e532c34d45e9055d2409ed08ddba14529471ed0be16" +dependencies = [ + "bitflags", +] + +[[package]] +name = "regex-automata" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a" + +[[package]] +name = "reqwest" +version = "0.12.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147" +dependencies = [ + "base64", + "bytes", + "cookie", + "cookie_store", + "futures-core", + "futures-util", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-rustls", + "hyper-util", + "js-sys", + "log", + "percent-encoding", + "pin-project-lite", + "quinn", + "rustls", + "rustls-pki-types", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper", + "tokio", + "tokio-rustls", + "tokio-util", + "tower", + "tower-http", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-streams", + "web-sys", + "webpki-roots 1.0.6", +] + +[[package]] +name = "ring" +version = "0.17.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" +dependencies = [ + "cc", + "cfg-if", + "getrandom 0.2.17", + "libc", + "untrusted", + "windows-sys 0.52.0", +] + +[[package]] +name = "rsa" +version = "0.9.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8573f03f5883dcaebdfcf4725caa1ecb9c15b2ef50c43a07b816e06799bb12d" +dependencies = [ + "const-oid", + "digest", + "num-bigint-dig", + "num-integer", + "num-traits", + "pkcs1", + "pkcs8", + "rand_core 0.6.4", + "signature", + "spki", + "subtle", + "zeroize", +] + +[[package]] +name = "rustc-hash" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" + +[[package]] +name = "rustls" +version = "0.23.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "758025cb5fccfd3bc2fd74708fd4682be41d99e5dff73c377c0646c6012c73a4" +dependencies = [ + "once_cell", + "ring", + "rustls-pki-types", + "rustls-webpki", + "subtle", + "zeroize", +] + +[[package]] +name = "rustls-pki-types" +version = "1.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be040f8b0a225e40375822a563fa9524378b9d63112f53e19ffff34df5d33fdd" +dependencies = [ + "web-time", + "zeroize", +] + +[[package]] +name = "rustls-webpki" +version = "0.103.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df33b2b81ac578cabaf06b89b0631153a3f416b0a886e8a7a1707fb51abbd1ef" +dependencies = [ + "ring", + "rustls-pki-types", + "untrusted", +] + +[[package]] +name = "rustversion" +version = "1.0.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" + +[[package]] +name = "ryu" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f" + +[[package]] +name = "scc" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46e6f046b7fef48e2660c57ed794263155d713de679057f2d0c169bfc6e756cc" +dependencies = [ + "sdd", +] + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "sdd" +version = "3.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "490dcfcbfef26be6800d11870ff2df8774fa6e86d047e3e8c8a76b25655e41ca" + +[[package]] +name = "semver" +version = "1.0.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" + +[[package]] +name = "serde" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.149" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "serde_path_to_error" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10a9ff822e371bb5403e391ecd83e182e0e77ba7f6fe0160b795797109d1b457" +dependencies = [ + "itoa", + "serde", + "serde_core", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_yaml" +version = "0.9.34+deprecated" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" +dependencies = [ + "indexmap", + "itoa", + "ryu", + "serde", + "unsafe-libyaml", +] + +[[package]] +name = "serial_test" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "911bd979bf1070a3f3aa7b691a3b3e9968f339ceeec89e08c280a8a22207a32f" +dependencies = [ + "futures-executor", + "futures-util", + "log", + "once_cell", + "parking_lot", + "scc", + "serial_test_derive", +] + +[[package]] +name = "serial_test_derive" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a7d91949b85b0d2fb687445e448b40d322b6b3e4af6b44a29b21d9a5f33e6d9" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "sha1" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "sha1_smol" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbfa15b3dddfee50a0fff136974b3e1bde555604ba463834a7eb7deb6417705d" + +[[package]] +name = "sha2" +version = "0.10.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "sharded-slab" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + +[[package]] +name = "signature" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +dependencies = [ + "digest", + "rand_core 0.6.4", +] + +[[package]] +name = "slab" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" + +[[package]] +name = "smallvec" +version = "1.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" +dependencies = [ + "serde", +] + +[[package]] +name = "socket2" +version = "0.5.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "socket2" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a766e1110788c36f4fa1c2b71b387a7815aa65f88ce0229841826633d93723e" +dependencies = [ + "libc", + "windows-sys 0.61.2", +] + +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +dependencies = [ + "lock_api", +] + +[[package]] +name = "spki" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +dependencies = [ + "base64ct", + "der", +] + +[[package]] +name = "sqlx" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fefb893899429669dcdd979aff487bd78f4064e5e7907e4269081e0ef7d97dc" +dependencies = [ + "sqlx-core", + "sqlx-macros", + "sqlx-mysql", + "sqlx-postgres", + "sqlx-sqlite", +] + +[[package]] +name = "sqlx-core" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee6798b1838b6a0f69c007c133b8df5866302197e404e8b6ee8ed3e3a5e68dc6" +dependencies = [ + "base64", + "bytes", + "crc", + "crossbeam-queue", + "either", + "event-listener", + "futures-core", + "futures-intrusive", + "futures-io", + "futures-util", + "hashbrown 0.15.5", + "hashlink", + "indexmap", + "log", + "memchr", + "once_cell", + "percent-encoding", + "rustls", + "serde", + "serde_json", + "sha2", + "smallvec", + "thiserror", + "time", + "tokio", + "tokio-stream", + "tracing", + "url", + "webpki-roots 0.26.11", +] + +[[package]] +name = "sqlx-macros" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2d452988ccaacfbf5e0bdbc348fb91d7c8af5bee192173ac3636b5fb6e6715d" +dependencies = [ + "proc-macro2", + "quote", + "sqlx-core", + "sqlx-macros-core", + "syn", +] + +[[package]] +name = "sqlx-macros-core" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19a9c1841124ac5a61741f96e1d9e2ec77424bf323962dd894bdb93f37d5219b" +dependencies = [ + "dotenvy", + "either", + "heck", + "hex", + "once_cell", + "proc-macro2", + "quote", + "serde", + "serde_json", + "sha2", + "sqlx-core", + "sqlx-mysql", + "sqlx-postgres", + "sqlx-sqlite", + "syn", + "tokio", + "url", +] + +[[package]] +name = "sqlx-mysql" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa003f0038df784eb8fecbbac13affe3da23b45194bd57dba231c8f48199c526" +dependencies = [ + "atoi", + "base64", + "bitflags", + "byteorder", + "bytes", + "crc", + "digest", + "dotenvy", + "either", + "futures-channel", + "futures-core", + "futures-io", + "futures-util", + "generic-array", + "hex", + "hkdf", + "hmac", + "itoa", + "log", + "md-5", + "memchr", + "once_cell", + "percent-encoding", + "rand 0.8.5", + "rsa", + "serde", + "sha1", + "sha2", + "smallvec", + "sqlx-core", + "stringprep", + "thiserror", + "time", + "tracing", + "whoami", +] + +[[package]] +name = "sqlx-postgres" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db58fcd5a53cf07c184b154801ff91347e4c30d17a3562a635ff028ad5deda46" +dependencies = [ + "atoi", + "base64", + "bitflags", + "byteorder", + "crc", + "dotenvy", + "etcetera", + "futures-channel", + "futures-core", + "futures-util", + "hex", + "hkdf", + "hmac", + "home", + "itoa", + "log", + "md-5", + "memchr", + "once_cell", + "rand 0.8.5", + "serde", + "serde_json", + "sha2", + "smallvec", + "sqlx-core", + "stringprep", + "thiserror", + "time", + "tracing", + "whoami", +] + +[[package]] +name = "sqlx-sqlite" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2d12fe70b2c1b4401038055f90f151b78208de1f9f89a7dbfd41587a10c3eea" +dependencies = [ + "atoi", + "flume", + "futures-channel", + "futures-core", + "futures-executor", + "futures-intrusive", + "futures-util", + "libsqlite3-sys", + "log", + "percent-encoding", + "serde", + "serde_urlencoded", + "sqlx-core", + "thiserror", + "time", + "tracing", + "url", +] + +[[package]] +name = "stable_deref_trait" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" + +[[package]] +name = "stringprep" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b4df3d392d81bd458a8a621b8bffbd2302a12ffe288a9d931670948749463b1" +dependencies = [ + "unicode-bidi", + "unicode-normalization", + "unicode-properties", +] + +[[package]] +name = "subtle" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" + +[[package]] +name = "syn" +version = "2.0.117" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "sync_wrapper" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" +dependencies = [ + "futures-core", +] + +[[package]] +name = "synstructure" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "thiserror" +version = "2.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "thread_local" +version = "1.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "time" +version = "0.3.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9e442fc33d7fdb45aa9bfeb312c095964abdf596f7567261062b2a7107aaabd" +dependencies = [ + "deranged", + "itoa", + "num-conv", + "powerfmt", + "serde_core", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b36ee98fd31ec7426d599183e8fe26932a8dc1fb76ddb6214d05493377d34ca" + +[[package]] +name = "time-macros" +version = "0.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71e552d1249bf61ac2a52db88179fd0673def1e1ad8243a00d9ec9ed71fee3dd" +dependencies = [ + "num-conv", + "time-core", +] + +[[package]] +name = "tinystr" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" +dependencies = [ + "displaydoc", + "zerovec", +] + +[[package]] +name = "tinyvec" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e61e67053d25a4e82c844e8424039d9745781b3fc4f32b8d55ed50f5f667ef3" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "tokio" +version = "1.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27ad5e34374e03cfffefc301becb44e9dc3c17584f414349ebe29ed26661822d" +dependencies = [ + "bytes", + "libc", + "mio", + "pin-project-lite", + "socket2 0.6.3", + "tokio-macros", + "windows-sys 0.61.2", +] + +[[package]] +name = "tokio-macros" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c55a2eff8b69ce66c84f85e1da1c233edc36ceb85a2058d11b0d6a3c7e7569c" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tokio-rustls" +version = "0.26.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61" +dependencies = [ + "rustls", + "tokio", +] + +[[package]] +name = "tokio-stream" +version = "0.1.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32da49809aab5c3bc678af03902d4ccddea2a87d028d86392a4b1560c6906c70" +dependencies = [ + "futures-core", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "tokio-util" +version = "0.7.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "tower" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4" +dependencies = [ + "futures-core", + "futures-util", + "pin-project-lite", + "sync_wrapper", + "tokio", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tower-http" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8" +dependencies = [ + "bitflags", + "bytes", + "futures-util", + "http", + "http-body", + "iri-string", + "pin-project-lite", + "tower", + "tower-layer", + "tower-service", +] + +[[package]] +name = "tower-layer" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" + +[[package]] +name = "tower-service" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" + +[[package]] +name = "tracing" +version = "0.1.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" +dependencies = [ + "log", + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tracing-core" +version = "0.1.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" +dependencies = [ + "once_cell", + "valuable", +] + +[[package]] +name = "tracing-log" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" +dependencies = [ + "log", + "once_cell", + "tracing-core", +] + +[[package]] +name = "tracing-subscriber" +version = "0.3.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb7f578e5945fb242538965c2d0b04418d38ec25c79d160cd279bf0731c8d319" +dependencies = [ + "matchers", + "nu-ansi-term", + "once_cell", + "regex-automata", + "sharded-slab", + "smallvec", + "thread_local", + "tracing", + "tracing-core", + "tracing-log", +] + +[[package]] +name = "try-lock" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" + +[[package]] +name = "typenum" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" + +[[package]] +name = "unicode-bidi" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5" + +[[package]] +name = "unicode-ident" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" + +[[package]] +name = "unicode-normalization" +version = "0.1.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fd4f6878c9cb28d874b009da9e8d183b5abc80117c40bbd187a1fde336be6e8" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-properties" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7df058c713841ad818f1dc5d3fd88063241cc61f49f5fbea4b951e8cf5a8d71d" + +[[package]] +name = "unicode-xid" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" + +[[package]] +name = "universal-hash" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" +dependencies = [ + "crypto-common", + "subtle", +] + +[[package]] +name = "unsafe-libyaml" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861" + +[[package]] +name = "untrusted" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + +[[package]] +name = "url" +version = "2.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", + "serde", +] + +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + +[[package]] +name = "uuid" +version = "1.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a68d3c8f01c0cfa54a75291d83601161799e4a89a39e0929f4b0354d88757a37" +dependencies = [ + "getrandom 0.4.2", + "js-sys", + "serde_core", + "wasm-bindgen", +] + +[[package]] +name = "valuable" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "version_check" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" + +[[package]] +name = "want" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +dependencies = [ + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.11.1+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" + +[[package]] +name = "wasip2" +version = "1.0.1+wasi-0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7" +dependencies = [ + "wit-bindgen 0.46.0", +] + +[[package]] +name = "wasip3" +version = "0.4.0+wasi-0.3.0-rc-2026-01-06" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" +dependencies = [ + "wit-bindgen 0.51.0", +] + +[[package]] +name = "wasite" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" + +[[package]] +name = "wasm-bindgen" +version = "0.2.114" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6532f9a5c1ece3798cb1c2cfdba640b9b3ba884f5db45973a6f442510a87d38e" +dependencies = [ + "cfg-if", + "once_cell", + "rustversion", + "wasm-bindgen-macro", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9c5522b3a28661442748e09d40924dfb9ca614b21c00d3fd135720e48b67db8" +dependencies = [ + "cfg-if", + "futures-util", + "js-sys", + "once_cell", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.114" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18a2d50fcf105fb33bb15f00e7a77b772945a2ee45dcf454961fd843e74c18e6" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.114" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03ce4caeaac547cdf713d280eda22a730824dd11e6b8c3ca9e42247b25c631e3" +dependencies = [ + "bumpalo", + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.114" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75a326b8c223ee17883a4251907455a2431acc2791c98c26279376490c378c16" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "wasm-encoder" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" +dependencies = [ + "leb128fmt", + "wasmparser", +] + +[[package]] +name = "wasm-metadata" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" +dependencies = [ + "anyhow", + "indexmap", + "wasm-encoder", + "wasmparser", +] + +[[package]] +name = "wasm-streams" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15053d8d85c7eccdbefef60f06769760a563c7f0a9d6902a13d35c7800b0ad65" +dependencies = [ + "futures-util", + "js-sys", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "wasmparser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" +dependencies = [ + "bitflags", + "hashbrown 0.15.5", + "indexmap", + "semver", +] + +[[package]] +name = "web-sys" +version = "0.3.91" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "854ba17bb104abfb26ba36da9729addc7ce7f06f5c0f90f3c391f8461cca21f9" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "web-time" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webpki-roots" +version = "0.26.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9" +dependencies = [ + "webpki-roots 1.0.6", +] + +[[package]] +name = "webpki-roots" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22cfaf3c063993ff62e73cb4311efde4db1efb31ab78a3e5c457939ad5cc0bed" +dependencies = [ + "rustls-pki-types", +] + +[[package]] +name = "whoami" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d4a4db5077702ca3015d3d02d74974948aba2ad9e12ab7df718ee64ccd7e97d" +dependencies = [ + "libredox", + "wasite", +] + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + +[[package]] +name = "wit-bindgen" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" + +[[package]] +name = "wit-bindgen" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" +dependencies = [ + "wit-bindgen-rust-macro", +] + +[[package]] +name = "wit-bindgen-core" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" +dependencies = [ + "anyhow", + "heck", + "wit-parser", +] + +[[package]] +name = "wit-bindgen-rust" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" +dependencies = [ + "anyhow", + "heck", + "indexmap", + "prettyplease", + "syn", + "wasm-metadata", + "wit-bindgen-core", + "wit-component", +] + +[[package]] +name = "wit-bindgen-rust-macro" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" +dependencies = [ + "anyhow", + "prettyplease", + "proc-macro2", + "quote", + "syn", + "wit-bindgen-core", + "wit-bindgen-rust", +] + +[[package]] +name = "wit-component" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" +dependencies = [ + "anyhow", + "bitflags", + "indexmap", + "log", + "serde", + "serde_derive", + "serde_json", + "wasm-encoder", + "wasm-metadata", + "wasmparser", + "wit-parser", +] + +[[package]] +name = "wit-parser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" +dependencies = [ + "anyhow", + "id-arena", + "indexmap", + "log", + "semver", + "serde", + "serde_derive", + "serde_json", + "unicode-xid", + "wasmparser", +] + +[[package]] +name = "writeable" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" + +[[package]] +name = "yoke" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" +dependencies = [ + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", +] + +[[package]] +name = "zerocopy" +version = "0.8.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "efbb2a062be311f2ba113ce66f697a4dc589f85e78a4aea276200804cea0ed87" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e8bc7269b54418e7aeeef514aa68f8690b8c0489a06b0136e5f57c4c5ccab89" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "zerofrom" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", +] + +[[package]] +name = "zeroize" +version = "1.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" + +[[package]] +name = "zerotrie" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", +] + +[[package]] +name = "zerovec" +version = "0.11.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "zmij" +version = "1.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..a8f1e47 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,41 @@ +[workspace] +members = [ + "apps/admin-api", + "apps/mcp-server", + "crates/crank-community-auth", + "crates/crank-community-mcp", + "crates/crank-core", + "crates/crank-schema", + "crates/crank-mapping", + "crates/crank-registry", + "crates/crank-runtime", + "crates/crank-adapter-rest", +] +resolver = "3" + +[workspace.package] +edition = "2024" +license = "AGPL-3.0-only" +rust-version = "1.85" +version = "0.3.1" + +[workspace.dependencies] +aes-gcm = "0.10" +argon2 = "0.5" +axum = "0.8" +axum-extra = { version = "0.10", features = ["cookie"] } +base64 = "0.22" +hkdf = "0.12" +rand = "0.8" +reqwest = { version = "0.12", default-features = false, features = ["cookies", "json", "rustls-tls"] } +serde = { version = "1", features = ["derive"] } +serde_json = "1" +serde_yaml = "0.9" +sha2 = "0.10" +sqlx = { version = "0.8", default-features = false, features = ["runtime-tokio-rustls", "postgres", "macros", "json", "time"] } +thiserror = "2" +time = { version = "0.3", features = ["formatting", "parsing", "serde"] } +tokio = { version = "1", features = ["macros", "rt-multi-thread"] } +tracing = "0.1" +tracing-subscriber = { version = "0.3", features = ["env-filter", "fmt"] } +uuid = { version = "1", features = ["serde", "v7"] } diff --git a/Crank.png b/Crank.png new file mode 100644 index 0000000000000000000000000000000000000000..aa1c5d1d2553ca0fee2c66f102e786025a3cc66a GIT binary patch literal 2711276 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 z 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

&+->^` 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

fq|d)pXrTa)>0Kwgw5vN`&ipcG#(pkI zx7qKDVJ?ZF68uXYIJ>evxxV|w9nG88;VzQU><^@NTdcHyu&fq7lZ2IBJx_IQ$3Ce% z6=ICc=#!t>7<=+2PWT2xBC_0?pZEU!3dBvT*tcas^iu#5QH z)l+`ATSuQYKVS-WjUPX)(Pd7`KFm->Wsx|e*eTmT&u*-AF1Vr{+9Jjt-2%<+Qf$2viadu%P<#!Jc_8r zv07Pg2m7rIWzxGeyY8J>Jey8PC6_tSsnvlfy3kVl9dgkVgkn4cdbtk{el(8&x1C-x zGZ@o2K#dJ=y%<|LJsHI1zRgx%i4A=Sx-pXasoRR-i`#@iTV$^3H<#YJfUQpAW+^-4 zvMF!14e3&}NYVqBAOpY2uDFOPx2=B92Lg)n)KaHVTHERV>F;q1jvR58Jf$t1AaSK z*vbmtxlmwu03hoEX#BN8AmP$QU*kAb@4pjOHo|9IUD1%PFL6Tf?E6lgPA9O4D-a4> zgIsZCXDFps`#t6RElTXH)@!Mwxbb^53A(m~){k6#z~&|E ziuYO$etJ#&%N^)I2GT=U+f>iuc!_h8=Lx`#;apUFDeo>0u@kAk#OlpeU7iJ`+49ds zRa2PuoC{Sw=e|28Hh8Dyxj$Ni7&-CeD?bmI1}GSziiXq-kE|cKT<&zvclt9oNz|Mz zFQ=0ajZ@G4uI+V8FiPI>6O~iG*g0XBSjt_1)k!kYeeYj?ZEU)UL&{yBLZW}`g)%}X z$yo;+F$klS8?LrK4mNV0VpH!xtSq+D>o>6pN+R1fq_tKaAOGA=CN31J&Q*v#6}VVIH>$WU9C;Z68rxB)%6A0cpf@6m13P*}d31_P71LSgc=yAj!k(7m&pc zxOJKVtRNrBK&t1u^^Xw<;C+6OrtRmI(5G5wg7|)F+N~?y^QuF_msB!*8lB@n#YBq; zCa===ry;!K?=ml_=8vD(LZ;f6oRV9Lj03`Nu=^i3{Td9O%LJmL%FD zEmx>C?o2@Zk_r=J2jm7Vr9!2gRnU9~!fZUKvW_drs$S)fDy8kl9{p@IK@QI^6$((} zjH&_Kb_qZT5k8TZjX6-l*FJ= z&U$;kxy>e&NE&9)@`4Xb*BIijm`t?)1m+lb+Am)<1UU&XH5~#MaRJp@M&N$>hqN%(L>mLXJDW=wSbnKKJY~ z3zXcBTM`3VX|sjf`r%T~>EvA3*lsCUet@Rjwd*@@wxo0A4gztxcySgNqf&)d?cD))f#R3 zlw|p`7Cj{Jd_K(ktyTN@U`<2H`}@(>*wzv6cH*O6o$hDTC%$C;e5#9joios-K2%Ju ztEZ+~X-B=As<08MI_3*1Pz)42-sr1u;2djiG4aKo2VltyYuCoe&y*nQKDE-8AdxvI_edWPpHSN{>Sbhewwwj@HY|>*$gm3QtP6>i{$1AMEUb=FIjrkOoD&zlrOaJ)+0EM!C1xk=e~MfbW0w9>_9ht{v=AOx&JYHEkO_R?}`McH|IbdJSzu>IF#|mTOXAlx)3jJ2*Q4RwD<$ zE9Fa3mfhXoP-Gd9yb34w?hysj+hgC+^vW0CPm*IDv}ItukHo7fg9ENdN;P)E0^+@$(C1<#GpL)uy*P0 z0SoQQee}EZ+J8wNrbl^nJwxJsb<+6{nXLjt7R0vn8F0<|{F?AAbsyflU&-=MovVi# zx$Rbs6EGE*X*3F(y<1NFK!Q{qc)*YCvE37YM{tuMHV`>L&CBI#0x)sr-28sdKYGe` zGYYfL-`!H$00hrA*xN)i&v{K8L%HfyDoENSAbZcD$L6zO@!!M&P9Xd2S0DXa{g6xn zhZu|X+e-&E_9tgoTZh1M)%W9PE8EdsJ)yWYFWR)oxT-2XF#fj~O89waw+1{f(fVOsHQge~j2aw5J4E#EQ3loCrd8OG6fB5D z6~qa4Lry+5tvB2{6wEe7vK3@XDXe=s^K;j@>QwHzIAi{^=X=*xGI}S|#&O~+c`hei znmby$JEb#@YY?9F9}?*K4vEUu{*RBJttVo2Y=C`D6-@AY$twHK^W&q6{omjSfyaZJ z^nTyCisWt=qpX~+Q@6G(?&yJuo>X{IBv3Kg_3X+TuA53Nbl4 zDEU);Wjo?LXYL$#O!)oE|BU*Ch-&DMWt|dTmJY3vg@2E1;jq62J_vD^$`ju;f7ZK` z*>_I9lW+Eq;V+U5DX?a6m|IA!<{&uj7DkBdqSI_}y>K|qmCQ-DiW1))Ium1f0AOe%u!+9Co*l;Kc zq+EarzCq?@PL%q@r^~$-i3Qb1GaeegV9z}whBXEq29|3|({7*CvA?undU2@08Ot4M z>E8t-^4WIj#79-Sh~liWD#1-&w6uUg$y6Nl`s{n<|ioCS9sI!u5mIe+f@7rSP= zvtCZUBx(~o9q+@@`6aT7=)0T9-0u)!MpFG2TbG(a^M$W`V!1N*a&?Xu^=d7iWVWee z!jIHfwMT;pbmp>lAv%ZWTYL}+_jMfLbBvn3d@f#VVFaSd4LPJ8Y_8*g9G)$)uReoE zMG|z4?{n5>v^t0Z`f(+0x&3ilL#68PpWi*kk85RdhyM7FkCZk(i5G1bS~{hV5Qxd| z?)H7{`?tp5=Fr>1ke19l{_aQeH7hxxQMR4tBJrQHUwbXX_ekrm7mw-w^Uyx!8zXm@McTiP2fl`l`($I*@e zQ$&CWZ>3YXeAzsE}J#2<`-gLajV~eMtAGGFgpu$RakUfoQ#0tA-dfL z1zLq^OPT-ck7!Pr_QLi1$x9mWBbZ~=9WPa*1Fh?eOp!B zQ4^#?!N=-uo4i+m^Pnc(R}L6^$c$VE?`M@3WoqoLVi;{y|lX<_o=k&E4?KiK2>W9%&=3(hen1@UDJpM;~;))I>mn#%67rp9$E%lYa6jOiHgO zZ`wNSLdIjGR{L7!*`|A4L;M%SK$L&x9S5=@cLDN`9;H^(v`YKkwf_szWFTkI>2ro} zPT(4U&Z{p$oRhu#fN2@J*-)EAn8MzJCt{#w`ayxbPs^))AJTCq?AT8L776NJ~hJK_$&Ykxp1E{Yc zpJL1A`-g13I)6w4RTFfA&*CflDuW|EycmOlzbg?SNG@GIwr8hF=AQnkqB;a($IZLV z0Cdm#49!8gH}s{ov=HQXXFg;?lHEsRAdtU$pA8-N7bQ{0OU4dhZ$BxOJuR_%Tw*KP>(k+s2fd$>-KK#EmDc ztY@#vgB~AdE?UyyvC=

P!x?4I?)Bb5*&Do^$nVTb^%uC+^a4rYxqAA}+DL(X&0H zAHLjcKR?_2eUO*$aPtsoJ0AIa%8sV)M4(M=LaH!w_Kb3S{M>6pT_SJ~Gy)P!n38yY*GwkN21HNVynDy_b>h15Dpazge`lHGBF|M!AtoQy%3cECiHWQIXhw}o^w-rMQrT!B?9egguH z_+@$gv;mepKyqn)`cQgFO9cU-pH>>YyC6zy>^p9J@jSw~g#fGnU>{+VIIj_8u;}*x z%Q}2$&-L!mKD-@;beALE$$1?T_=^pMKqdXcyIBz5PdtFC*TG?{d{|#hf{|#Ya?I$*<*ovS*s={#q0V zMoo2EX-$?cx|v$l{3Cq?{$FC7eOyR<{B5cBGGp)A~myW+dw!vNIa|1u%ka2CUxSkxL))eAeEjxLdO z#Exp!=khauS_c(^TG8f*WJRz{1HvBf^(PilQNi_uf8G=4?+e}${8MlDEv}_nqD?Z` zz7R8~ntk8no0BrX=$+gy?Z=7LKRF4n4N0N7zOR`*=5{(qKfxIB76n!_tFiXUO*}{H z5BKyD#r;V4ogX))UJqG5rJL5MB_Gbu(VmF$`nAnmU7gDPE#tOc$Cl5%21K>@r=($c z^-pk7&*Z%1lSrs<@NL^B@o8h__{RYeTR5o0m87b=>i?V;GH-8O|tr zmiXJALX3tDzu{X%*8`t>&qoaoL)>v(F{LUEqPZ!Hn5Lz3^hE4;*Kxs=E9}cixY~Da z5GuzeUN}+Dm~6M0typ!hS^wpq)_b6eM>ICy;QniV;wmCUVGnE*?{ZIDDjmHlRY{Au zzV?tDAI|YHUB0MtIk6hq$-F1|1K_M;U-u#oaFap4R2~2~lt(6$t$O7ZQz!>-fMlV} zE^Qr6dN-kxvj-2@#VO9Q%4=L|nJg0^W$)6GMEiz^92AFEb`_;)Hl|mQP5`Dtg`ekr zWRUiiaAzQ3z)?VHn#FiulZDp6 z!0Ae;Ffam6B1n7Z-D;QBM>$H#(UdL$qu0|H`^drBDr!gpC}Xw6VV2bA4YO2$dJ*Mt zzJjkk4ArEjkI=FPK3Ki|&WFZBXe4Rwa!%z+0+KqmJ)4d^UKGgh&3V%3hM4DPUvFm2 z_~p1YgxzN$>t+ppz9gMym8t7jEBJ5-X1TW+Wr$t%E9<8SPhEI~Qu7m>^&~3VcYD#xbNnCO7Kkoz9k)vVA>A^?NocB!|yJ zlzpmIAHY8Em#UK&Y;zWTF7xa*pu;^MjV^}zcK!LnH=NK~K5W#}lB?FX>IYF+Qr zYp+x#+G|+JvXfDEdV9TnlB3d{>wb(?^g~|~tKQQ~TZNYGm+hF|-!9M?Os}nyi znZ$CigWljv(2L5V-hD`Nf+l<8b*(YzRcygM@~nePHK0NGYY&-**SoKEK}|@<(*CQ5 zL#%}7sK6i;z6F3liM~r`eZ3dX&Ap}l0R$4WMBGDy)9W{sYY&O*JfDY?+OKVUP{|M+ z{*=eQXJ_UmjnqGzQ1M?;k)xp1I_Z+cj303A_ipLZ2B0^UP(DPXe(O*DOnxBaobI5MV#KM~;#M9^`? z#TrNchF;@?ah;1@$YAHG)ZO^4ca7go+?WU%0_#mnub_qDjDiIc@Ei?7f~>y<94ZGl zCx0nv=jsX)sSTr(_{+ZSI5Cj-dF@9Dm|k*mzUmnUzlZB{+|dsmgmClE41>21c&jK8 zkBy718EkXkB%FMn66~GhHSWu>%{hOPbs6N2FRXn;@y^k&J&q*$j>`TgI z5Nsk7@f{{_IBOa(9jz78+AoQcD(`v4ua8t#%W>0`z?{>jq}qLiAnZ;=FAz%j>*{(~ zzjV}timjRiy|C{|dL_B!`!T_w%~15>bGLQV&S_Bd5l+3KxL~MZ9gRPJq}1|UEBqyA zuj^7tk>nM3Uv8EjoED;V=4bN^pMR9al6bzA{fkPnG-MLyI!?)5{#DqzGR9iE{oUPQ z@v?6oT6P&0gE7YTv$`AyiV7VPM>#GvGTzCV4$az~pz~+{d5(&88_PuNF2gygD_7-ig@vBMV&3$pP^kx0##etV(Ssxpz!ZL3D7c6fZ;qz6p z&2?3qd56YAc(xi9^9nH}w;G#$@l@6Wtr&^CQlG?IzFT)A+VSW7^Sm`SX#>RyTh0E$ z8|+Zo$0nW44fLnz8u#p)ygCgt!8uJL*Sw6A#!vJ%tNk)pWPh%xni%!X0a!7ViZf_1 zS5?NJmc{D}Uohn=$SAxAg6<{pSu6Y1YGZVNzN`FcO*b+QJ5Eu@$86bGE*PnHr7rEi z3{KzUl7cN=e5SDXpKw9z`_f>O>P5XTwLW_C-|=}gri=YOkmZh_h1jwnEh=J=)~k?f zhIBgOGzJ`!H=e^#wAig52EwLbw3RkBL!7}4#l9knI-HBLy))#p?e-9P{d~rdh!>>h zy82|tiL_l~1l!6~qvF^2UvZz!+jyVrfDhI1fU&>WnX)fl$?D{go?x{Z#5UU`pG!mEXB$UL2)$%(jRx-k7ijhlr%h7X8|#t)tBN3BptOG4^b) z?Zm5Yx>EYvmsa2Tz9h(n?@P7iY3>`?;1Xxnex-YvJK~n0QNl0&=p|WZQMUVB?NmB( zOC?=mlNWn&M&4`~?BkMLoAQF5N<2O!JhHZlx)B3l3+&O(?n)QMYQNTUBlUek7Q3e; z=Ub;sr{PC<7P~vg+>Jot-^5+PBs`O9L&wH)NrTUrdHi3^I`#!C^}1bA&#JD4rW(YQ zZ4tQJU$dC)xbm|WJ8JC*1`l8=wOw!``UziS(Xf7+3WO2aM>=?=beD?j7c z;jT;)zEinnFSnd~?=N|=`N*y`9fMNR2ej@m+Y~WL0$`(KY#jdhGL`- zi8>~*2K7L@bpDlw;2_Wb$52W|_FYOZS;;}pNtS7)Xy!|qAt2nXlmI%(w}Jev%#!TNIW zhxSL+=jCUM$>4S*WXNj(0V~zl#AZnpoKVSNr70|=iHib=4y0j%k_k8sfoafT{8OsB zI%jmvkG=QxG7`Ac>&l)jFA@wk8_(nD}up zRyw`TEMg_o)}S=%Z)ra%GfN66go!d!=S`bPdkMIHKf|#xE9B;ZZWc={B|iEoQIhQ* zJ*ONeUi!7T$r{>WglKTtonoHL>*w`Co%cN0ymv~AsGoB#&IPKy=MelHD+l6dr8n5? znk4%WqNWJq}c6)rW8 z+ib{yI}UK3B5~tDU=u1iZT-lAT88cb>b}2wZhVoo&)o@12 zs@3J3-~eOrZ%eCozd^+gI2cbdHiTs9G853Y@}Mj*xbgdI3o^?AD9y@zzsuCv8%#u! zr)u5e30`5b=L5OkwbJ$c4V8i5cYm!VJbcLnxE{U283Ak-v|n>~7rX0g9slNgWRV}XQ6%U&gT3>2?$RwKnIl({QTCcPSp}#&n`Gb^C@RUdi(he%RJSaIRDitC z^A}*zCKLbg`i=UIIJo<*&(uQRqzy>v)2*kB6SjVn6ii9FtNeOMDnhmhTRcP~Zhh+^ zWt!`GLsf_|@HzX%cdvmj39JwYJ}_RJ4+Ez{69_TK63m_b5w4G2pzV!N$$6NUD7!Cx zyENa@(hs(l7n8}^C&Z`(%LF`80)V5=nt1MEXu5t0!zs>flSsp6IQh2k{KomFd^_&J z#3G3cDhiADcWWaEJ4mW0%VH^ByS-bFyz%c7(3F1rE1%ods++;bTY6+yNmG|(GNkyl zHp$@t*P8d)FB`CeWWG9Wd$k(fDckRAMHP@%Kx;?zi0ZS(duKg#tv1yiu9UF~ntNCN zj^6Y3`)nq6m7eGzWehMD4 zMSY1i|L^$c8S?HPwg#s2DPw2gbH(;-DlYN8>SuduJ+CIM*Wyc~dUrp1|Gvp{KIfXO z>32?zcb2=cb+f8gnDO5P`F-u*v?j?ze3E4ZpOOx&SnEVJGR|KJ+|3UirFz5wJwU?0 zgw_u?n%s$hOuL;;yeoBN4#sPmh0McmFu2`}KMjjsb*tCBsn+B&`CL4OFa+Wo1T3Xh zi5kDQAD_W$gL`>a#inmGzRT6szFQrVPyfYZi3KXoR3H_li{uE+^REp8q8D zLI_m#pTr7jttq)hsZ5ymc&KQzp2W4=tyEgTQxf}2Pc|Dn#rYrprDCEW?0SQt>%G(3 z@~GOA?@XM6?j9C3E<4(Hrni?h_W?h>QjZSpjQqrh;o@RrvrLK3&(3|^5+U&vlRo4@LJ4}zcIm0#P81&ExFDH+9V4YmWJK~KYZlDn}hI*$M=$)@Jv*7Q2T4MDlMuZ?&@cEAB*oGV5 zlD0gqR(K{V_Mwb*{bY@M9=B=}{(&l$;5zsFZ+&Pd6`tYEtV%Zk?vR&wUVMKAS0XFE zJ$QJn(mhhzZBCK_CE|9Uoy-UciOqw(%UY6!a}a+nXdQj={aQJO9Va@sa>Fq`?S$+$ zz4k}?M_>%>*)6KJlDyd8`F1r{xV6^VahOHIY#Q6N-XzDQxE$h^2FoR7dayul3+VMe zWBi&v6<^|Qa~KQU{Bc6oJ*Q=lqwTx*`SkBvxY#eo6Wkj~w2mzY190~>dN?2(&Ti=w zQO(Y)$}U;yEv?s;{&Y){WDo+{|-nbtn3$NA2Dw%w(6k?xtF$OO`(Oq4!~d;ME38e+K5#l~FZFQ@RSo|@RmBvd z!T$nWh+)bVW?)+>h4y2AVRzihX!KLIi$&b$G!_-Vv!<)hlnp-v zp%yaC`_Q!O5x{`pu|mT5?~8reFNYroG0Er(qG{s%vTk^$!NsyZdG-BkY%m`62kbb0 zU?|!(DC!y)7pxVuwu3zT*nwK{@2udnBJH)xRQQM>Gr}irzE3io9JY{{4$utVXKV^) zTD{D?CTd(+ZQ3A?P2d8PaMoldg-hBA470y$1qcI9_BfkX81Rs-8-+{}6q3PXac8N@ zP!SK?YWOZg7<}jTFpYB$xfO-ZBPC>e-7neWt@$k8?*$4=lCV?|F);{kS7FOlH}MV^ zKTIO`D#1mqtX|N?=~>O7{RL`Ey_Crd4DQOteV*V4KuOTMr3|w-_9zqg%l+m&_elEi zifVw5*J!t&AulqpzX478{bAvvJ|`JtI|-4Tiy(!`wTh@A+fXm6Oe(&6RAjf8(l8I6 z+Aa_2;+@k2&$}GLxF9UO&K`s`@+=ZXAne3hrJUdCRNJ^ecD8&U8(UZaxmW2TX|939 zt*_rfD^YzwWM?3)c}^fzHkErJnE;TL+?V}Y0v_8p&f5Ct57yNK=Uk?kHYNrXZSoV6 zdG|}w#g5-Y&s>t2flAY;zpiibAx-AP;JanpUfOSf6LzhJK#^*tw?g&qw#iZ_wX7`s zy~79~yT4Mv5D&JSuGT63zGrDORm=*B8%1@xR#){2#DQQfmz>tKgCs0DXA3#auL17- z{mPz*-rbN(3G%h0`KY%0*}Dh&YacMGjqm>NP-qjKp7T-!gf*krOIaiY^ZWzRKypsK zntQZm64>__5VF@kQt4owUZ$n}I^bRgwcouuwD##rf`?bxU()IguLR_*Qo`s&qg85| zv@-83|BKJd-ZkwFOU#d)tp_lIKE2&5GabPyGZFqBoFgtb=7astbB>P;oY`-W6 z?+c@g?N+GDwE_{?KpPaw#9xaRh}L%SqAevEX5#4l@OYV6*ttrvf!c%SdPA-xSw%1b zMv(T+U8%i#DAianwdX93#t8#2zpl9lwfL9Xz#Er0!cw;#dhh4UGkrXOsaBmr;y=VFuh z)*}Zh0VO;A$X9;1=8~YCS7EW|ko)u=%*SW!#Y+&Su2{L+vrp|@Td!4(aeD5z(wNJi zNwuRy>#wB(4Bzsr#0Arq??8ja2+(*L=t9h6`FjthvPje{Q6 zrz|8DuahTP2j?qk%L>#U1VL5IG|(Uai+#>l-g*ksVED`jN}~OUO81%9f@$;u2U;LS zj?=^}kfykv2vx+XoRk9P{6gwDesDFF-Wf$A^cfapdT;t9MsiRY+%)Uq(?$l#A-N zG6**g(xgqbs;M4eT_6X3r0^6oj#v8HmiZ3&=k^7m;ExI}Mhp`|N}=2L`Oz)gmRTq3 zwj)6Be^2$hljl!-!5=7C?zYDc*j992lQVVY#ys`&2UU6?@l~ZNms_t*)?U3?iP)F3 zqgzy_AM8MQle@-!ujrVnS7psY>(e76ulU=Cg({8;mWq$8DDSH#;H~i#eB5 z3b^(?Taut#&qRxNs-p8^mFSqF&S?i^owA*D#Us(j?&}y(5cEZMAOerlFe4x>6QzO& zjSwa+$wS@?yJJz&RXVLyl|I7ugi+d(=GxwnAY9Jmbm_}o8WJ5UtX`-4M(MR(ma%7x z1ZNbvsR)C_w(y5U8XZ{P;C2KJlpT33wCW51=k2_|;5JBlE(cX-=4Y?$Zx5W;kD8|f zG|vN8Hf*jOU|SHvm<$UZ_}^Rmiw`2|+3fj!ws9`8i|r{@H1hqI9@h5SMY!Sf({w6$ zJX$Rx41{0p@3RQAR3~V1wBnGze?p|1A4ZqJ>YSCS z6z1E?Ie1{hb|81W@LrXlE3J2BdDxNk^#)f7<CiJV{<6!h>=Wdhr9KkO#N!y zhg0jI3$^mUDZ?a#A0+a?*d{MO3hYhEwUr4r6mG{;B=}n~0TPu1D@e%uO11b^53Azx z6c=Ux4D#qm?~dP3i;8{QS;~zfWHU11Kg8m%p#5a7q8KhS#>Zx|JnO^jukzd zM{=Ni0kI}&R*eIkmu37BT@EUKgaZhf%&edPg^vadoEHPKBDe))Ls)i_H5<~lQ2s_$ zh2j76xynVKF^Fu+nJfZujZ-yZENkt zhwl(JWEbaAhn~VX-<->=eFB=oua}*uo!%tn&%WE{Ej?ggY2Z>$1*j+po;X>r>!=SW z%&f8v|DS{kms>SWTeRjL{8SXanxi-P7#q89$#J*t5ya>m3RZF^KSII;dZh6)eVJXWSFgS^5m>vhVnvLEAqL+NPxyzl$`b z01^&L^#IyzNOQk~zB1?-)TW)7Z zjw8%fDmbF*SfyPN#>o5MJbM`ko%TC){njSQ?5fN8G0YEUNWf@QYtp)@zGwm?S67Cx zZ)MJec>W6cu?aob_J1~1yU8_v?nJF#BhAMjv!nAdXsTgmK}mMT=Ou|Mg;S5jfj}gv z5a;8YcN+W2+0@fvvuHDDqo+rN?d~I|N2Q)j?J?PM75~aQ+LUPOK77%f4+DJ^ySgZT zSaFi-!6UO5n?AHgS@s)pkSZq=t?M40yR!NUJ3-(U(lHgBFUZ*?Y2fOJ#lMWCdk5Pc z|Ms)5j!be&u1ceOA+G`Ynka~9_%dz4T%NaapUnW{6gX#5D=kXV@)Ol8iY4}2^ScXW zf;o6`Ag?Ncz($NxI>Yy1Qx`#n(kg|(*Wi19>${NGRoXrF=SiN7sGjs?&d_6Hwjw#s zgF}=I?>m?T>HF@Mq*OJf)t%OAYr8Z*n^j^YvDp9Q+-gZmLbj<9dOgQJUMf|8IHO*zH`i&e z`jglLy!6B(KD!g&S<7qy{1(A!NOk`@71|pS3-z7g)Rys3FiZ0;13Olm(MrF{LUAr9 zSf<~CI{tb&lq8*h;pK}Z3unJeAU@A#Ihr}#c@eNV;{D4g$!$%t zpThHpRoy>dL;`O1|Rks8>} zl?+P^QxYPDwASOU^KIi=5K_tg8Bo}Y33c-rLM>QYME8Lu0!~-qZ?R*E{A6&lc1Vi;x1TVOwo}m$O zURk^`zI$R|x_jH#;|ykvc`LDoT7{UQJLm1Uzv5TZcRdw1Y1^E1=3 zo0c-%!I4z=m$2KkzJ?UN>B7KzE#g975(X?&>ax%FwkGXlsib!PX!Ye@jNQho&GtL1&)^6bEY5v(O{G}fI{FKNmv+i&V!0>@vNwC9W0foS2Ye;8q(psV^T zeZ$tdt@~8wQvA?JxYZ;&rl_gz^Eg}Q4}z1x#^IGfQReSmc@v-LmQD?)v~TSOp>S;y z)Z>KjuB%a!V3Cs|zHU^a+@H@9F^=2H`EwG#`5ZV7w-|%iM4> zyeF{q6?~Q5KDa+Yg_dfCrNZ%IYxWOxsZx!39OpNjh;Urv`+n1&_F=}@ck^TY5YC(E zTo48!p+m67coYs2!$8p0z1oj(*f>g@V?&mtujIV)Cp}VD?MvUu9v&Ng4>-YKwKu&f z?Te`>?aQKV36;CaMhDF~;1FRio7}%F@SUe{OF39dw^Z(1Cz;%uA^0d?o?&B5SlOU% zm1fdffCG{M`lMwKBnPCZOFp)CDy8q(zVFQ-FCSt`SRrSAz$AdG=?A43 z6#s4AqmbbouKt^7(Q1b>7>HZ9`H=yEZvhn``v|vvXQ^HyUrWHifF-G3))pwMze5hM zQra7s4AA8QZ=re^QF6xlOP}HwNKwAT`cI*{;&&=x)7rRxUciAPn*<}i@cQ74xEmEf zR5qBUen2OSGe(v+!Yu#+#dnWr_Vb+#QWH&UM&9dAc2UakESEy|Yu#mqhgEMj41W?L zV>gn&d$6093_g_kdo~Rsb0rAFk#rUH;s+)AmQ=q*Rwx)O?qFK|-jQ8?Zyb z5CfOJ`8k`An!o5D(3O24NVDTSI%0;0#>qn+6vEi2Uib7aNS3C=kneVKj(dd-bjvSn zXf69mx^e3{l2w^Vu6m@#LOvDi`V<1}Q*{AM4D7loCoc!D?+zAfomy>~W_8bhL+5}J zw-56_cajKe;;^=uA294yScH0nib__VbFS0Zc)G}G+-%>A9~E=|%Ha#U(f~{Lp#e%d1}_exeRvD|8wIa8Xtzt`FH(9dNx$?T*>qR9)%yZqih;@4Q&)hjM7_w!rP7~f<+ zu=Jy@=02%WUvqAEQQo6SN?+=)zq2|dWa)nE1y>HXeo463EBhFi42jW)b++Mo2UIa{ zxVlfzedlD0d*&4;DYSCih}bEsUn6$NtbioD7Q!-p?r)Yhg!$nNYSjCYc1a}Je$0NK z0H(X&-CadLLyNz7&SyiTRK@;I995B|G`5S)&E5MYzW;n)Nk><864AOPlEo2MdVU(^ z)JsB^LOjn4S})0%Rn-^!Iu9V%4WH<9pB68c{8(X{peTdpi)Z?&^y=Z8K^=Q`=-p0Y zr3D#64{(j@!@lj1(4(xJ_d36fm|Craf_Me!=DGWTvojZEomekNIC=yjfrZbeLH>Z% zUNFTVFJI4*F8BcAzdJ2ExaW{9>2W_VA={AC{$AhTOGz?;YM1oAw2Pp=tVHXi%YI&^ z)m8niE?z;@`K-4joujR<3BX{AQmhdE$M@w&(o^bP^8&Gx7APA#?nmvjPKc(;A=NYe z5UHPU_O)lou=*pDl9U@+-3am2LPe+uJkV4G+wlO!x$d&!`*l#F`Y5EV5VhaL{FYK!4C0yrXL#KVOU!sS&LbCs(<)A+|c4TeeLP+6XR`IQ? z{iPZq^6{lTs_u4ckJSz&%}Dp`4?{fM;rp@D8w8o5?DoMjW^(zy?Tu`cd>$a(TKGmk zU*XqWMMFC#(LQ7OePS!)TYL0o*s8^Pzocp@iTZg}o8HoYi2ZXO|HMgo#ge2ihG8UH zNzDxj&6%#%_LbM^2MKz z3E7+*bA~3<=`5-#NXwO`V>7SM$@jk2PN_~fWHnsvc(DwgU-gdbxvt2)-*=BL-6`z2 z{VWq=amzS;lSuO!bHXYyYCRj|f3vE;Px~yq7I9zohf0+TkFwVZwNygDA=F)0V<~u` zsQAVIWlzIptZj0V^z}`0*u=P$J^89St%)o?y9l_dB%S-Xs$wx3qS+i^FuVOrVxdKq zopwB?8z5OnzTcH3H+YXeE(ctcm}`azeiW*P`^SYP+}_vHCqCiY$0ixI!_Trtf9N@t5gtV9za!3XlFw9EVH;=Z z_RwX2OtNd~yS3ofMf~+Dw^Q9ULO5VsRYg0-`qKJHZ^qrS{-2SmA3JA@Sr#_pKHj`o zS6#y#Y$>Ah#BtLvih9+^J-)wOP-Cw~NI*;U$Ln6l2A&lmshOYHR9_?F>f-nFfHm%N zkTXYIdq_4V5w&Cfl}%AyDidvZ^ur~;e^rf>Vz%lQ0uwI|@x|1<F2PZ>NbbfCRLYy2U?#!;jXFnAS4n!P&lKuN>#C;u@K3BVFM@C>JG2v&^m? zB>k#H^%N2Nc+a?5hQheS(2j=u5CdYg7=H|oGsFD-JZNe_I|e9eMvyg~R5m2r1R1TD z3@CjmOOgO7N^(U6m5|t%Y&pPEfQ-!jtL>+DRIvu-ix)L%{&~h_EpMIy;Gi;`Rt5Q! z^Xpz`9*}t5{%8RAfYX<%U7X|^Xa$^wpn3oWM-tE7+TRc**2yG{&t0!CkVR7cl+Q0-v2{h79t4GY4iowAg(c@rHBs8%UZEioq{RkaV*Ys&bj$NiV@M(DNWD zz28q@WGCQ~r4iZq%f7bDEFCzG>O;GzFZ~a*VP->BlW84#iK@Z~6=bOsy#0)-RimQ{ z>9)>(ua-OT(h7RP3+p!^hN`cs+)vbbB;Re{1RK2KoSqit&FFWg-q7u{`+Sv>prOpW zX_?=w4>D;rZEM~nc}fOVS5cOmNVLk(3J*f@l0H8#sHl1WCil|%0|TrKLJSc6Svu}h z|G>QQJt|+a>&9&leSWjO-{1%KHVgm-Ok{Iyh!U6XX31mS^crC z090-_x6lqaiMh>6x@4@<)L`dx=LGTUwQB~mx%F1?!_RN0L5$ouprp;E=+B= z-%H$$Ud^CjT-i@?zWwZ0^_>upi&`v?QCPy#Z{O`>_Vs6!p6W_}iR4){_#roQv;z#^ zX*G%VJ@1Qm{(BcIp0AutD9%7Q1mr9)k)V~H;stDwQ@^o~)h4R)UGW^_>XY3+SP#-> zx+pW|S>*3YKi^`HW{mNqankEM_{(4?ey0<#BUML-WP|7uQ*rtM?p{_C~Nbo&tBiwcR~`||_XowUXyrq*C@ z)F|!-Twymtpn#eD_|K0@-w^xC=U;lpOWN}i;a1YI6^&xfEU}+@9d%|dP_z3EquM#5YNoX?^ym_DZFZ;Q=^pO+?sUVOvOO z*$12#f9%)!5m6aD-KZ&TmF=dT^tzl0skQgu-+W#TT}(=SWTLowtxOj25CVlBV@l5v zE7hQW2X`kHww|n2w-v#MZAcmf87HL=b{d1|`LCBc1LL7koH9XER4mT#oJo#dMj|`V zBqx4J%D2BfWLILfdUq{$&HglhMO>kJHqMuqpO1oXn|xgbBKh2qL`YI0{yTGtO69JZ zRwTV@T(?vp*&P((4;8Lb8FuM)qGefZM(+4R_!9rRjll11c6(r{SgYpRFT@ro^R^Y$ zvF(#ctX?9{#)+v*5!jT^dkv~kh{X<`E6W3n6_rUM`M$(LS^KP$Tf8-7%7B&2 z$&H6GtE3s)MLtJU>iXy>&kzJ_k~YQj_#R&Mi#h8yiDV2Qc;n$pH8Hpp1s(LER8||O zb;}1)Vq*P)=nD=vthBGm-L-3+-)CZfb9;uQtl#lD*57HS9CzmTDHoq$af>%}g8xNj zy?x@EY#-0!LnL)?>@jg8=TzF4q}=BcmTEaY9!Dzmer+diyFWKrO4xiuX`crtL{ZW2 z(N=q=8KSZ`w39Pc>vDjdgWWRzK5~Wso_=?yWc)J1mXI8cKbDM(FK)g!_tJNEZ@)Gm z4k4}Zum1p8&haV7M|<>}wONiOs%Y(%x?w6tZ+UHwy>I`S)!F#kv`Y-8ca@c&fA258 zhGy|CAhwPV>@`Ly9TJm#hNRZj9_F1@;ioRgy{K5R!}hGKetuZ*yw~G*Ou*U}y`eNVz4U;9Pr2%(FP0)3Oiy z#b_s(a19yiIE8xZ%oS}pO1}x(oBs3xU;9({mL93_ zgxpJ;2w&ImLw2u_FY>GF6pCYvd8aahZQ3}N9F*n-^Cv}ih%=-!7!WSgBg%oLZB=Ji zVMI?Lkd0ui+(WnJ()uM>YQWU$o{{Rfv=6084!Q59v&(&)Tq=eI?0FX06&-fDiu%U3 z4CB82f)B-<hiV4v5jN*x0xA9R#>_x$KF6B!@x<8i*z zXPbxaWcE9}l*?{wY;ZPCr2qU5i&ei%=`eqt#cU7O`8gB!y&j!ZBR>_<2%z|H`nWg5etM~`qI4gOp0lCpp|0vbmEYwIb=I~&CUR2ZjkBME z+;Yvj*GE)1^;qc!*tB2ymEL8haF07a@|rqgZefoP1mU`jw05SiJlI}i9~b3!QP48_iL zf7EejCjrt|TP)U=7rxh(KP31qb}*T<<97%Sv0?gf9**kzwr+vLxXi^JTQQdiOdC>i zNI-&YN6(R1oryLyHkMxXog6IMFV8d7Kxb`0iEj;vg+>cl(tNy9D zmIr%tqx2&j%SVeZp*xiIkcrF6aP1&Zm_9zQiDs+dez_f!$DxZ~HF z%oe^)tbXp+WBtJn!Y+)c{(X;K5n(9plJxc$KRnoa;s@HW{cIL?{*uW4i|`G1$h*2G*J}u3DOM!);T=U47CrhScnstQTZXY~?!R85$~;B!92OJ&j8ufcu!jPouX(M=sE?x*c! z+ZACxkU31oY*oVu8@JlYP-AhHxBcJ7Jowi4pO_pG7xu|(g`eyKJI4RS*B|B7?v`IK z@3NUBlVxn3;~nvg6o1Na2N$uN&r>;uh`X*b)>rO~6I9i$h{Gnys%!h{!*CEGk(lYG zWt#N565uagRis}W9V>?*Vh{nP%R*-A)n+*G!m*T6#bh5*`jlgiZ4{|}?7M+UHS-eV zZ5JR ziDB$DT!>7#7VYV*bMU?n`1h{Ni=EZ?;U@ED2`V4Mh3M0S=yGO_2}~ibTE~RFFrj5a z*0?JB);b>y>EI{gc&!rjS*!N>CVBQcmq_Y8iv002=0vv54f)%T zJx4QcZF#A%{qbDK7)Tdl-L}y@*9Wuhm?0cdVp5I{z5;&cAPq19gq^_uQ5oGE|CX{z5{EC*CujxY8e%sd3YTvdI_HZ?XToabLszxJc* z@hmYV{`=YRZSyZ5)F-vGgS>ipJf zXLQy>SgmIGfdPNqLhwNqb;vs5>_)GJ#L5}*C0K0-wf7kfK=RAn*Lz=2bDw8o><|r$ zCXTyU_4#Ye*l$WnU`Aw{qr=f9Hf zLOkA=T!?z!SGTS7ttfDQgI-icYa@d%AB}zY#VS70Q6vgr5!MdbrKR{(Qeo4Ar}fr2~s&)x7~wlsct#TR^bE4(AEfIn;p4NRzd{^?gKPx-Vp` z;LxUGC8z8b# zmFg(Ji^*TsL;Z{Vbf}) z1LhJkgxs&qy4DM(vzB#jhbPKeTBr;O++NOWAxhy+Y5%NmCFxMKp7J?&|99K7WqqYz z1=P_cv2UcC4UKaDJVwr&*=OB~L!!gN<#r^^)VU(yAlsV?-f0myVXwDzYfzqzlZx29 z<$E@5K+1kQiTES~%{}rDKfqyidpW`5KEMjdX3N(#XxI2XXXwj6OK$B)DCt&lj!9V& z2S!QQsz&_}-kP8Jr)fg~gI!%#+rDJg4;Kns;PqRj+ zlq3ig;~{JUcYbx1{^0)U)tuE6Inlbw{juAM)YxrF>VKuGIzm>*8okyi4?B&bNTol8 zd?S5syJDw^u>Nw%yeZPxDvH)FMyxe6YqN;EcL&G)q`uXwU1CQxwT^ayJoAP zX7k>FpU|6mEl{*|Qq2SP2U=w$#NesF@t ze#$ZH*rrN4ugN!ii9Oyp4~eRr_VWR>bgko+k=;TV5pr`8LgQ z`te+#a3T)eNm%Nu%wlmeZd@`5k$d5)96B^UfVJdaq+RQ%AkO*E$3DpM^}e|4Cw^J& zUqJ)-sy|d%%=~~mk(eZl1E|>YJj~z|{6|Z>O|{u7t?@LrpT?cGZPTu9kFOmPVzt4q zYeHG&wo@b|hPW&tgxjDDzAEP}3EO_}<~CIBP~c}x?2i9fDwzNHfH#~s@jhoU!n+Yd z;1v}x-s=w-`xG(ox;^^QW_vYf^{K=}wj&mC)!XCx&`E)K=f#J|>$*id)4|@(uUg-t z0nQg;L5Yes;%O&j*4sUFhat&rtDow1Ysq<`QR&T(tQ{pexU#8%;E-3HZh zLl}n&pS)TB{2caa?!fBEM{yVk2e1RUOCy<3Ac42Z3pf}p9|S8le++nDzWQokZ!8&5BpR9hmEYdg z8-ykZ*z)13V^Sn-2r!B7Fzj2dl@@>l5!sE}b;~bsy-9+wd;=;TagO6yN&B?}oeZGk zD&uQ#AtGn$n7In#!saOe%bSFZ(!+2bN`Tn-q*_+bn?N8C4<4Ut63|aoh=sG)dG0kU!N|u_PhFOab8@W{Qrn+-kHa8nYkio!4Z6yDsO*1n`9^P2y^k_1>eo$&4mr{k0JxQ)Z&X zJ?o}9?euLf9RnPIFP;lx0-#)EPAfFdYUtr#WXcWN$xc5~u#~}{wycX0Kb)_5+5drL zua<#Pl8il?aj!u0ow>gg)M|ABj(-P5B&D6g0dFN3@|tYz8_H`yFdh`7l85}FWbF_L z((BbIX)PCu8`spAz`f-X#Caff*zbKodcF1e^;f41wq#HZX<9gu3+e1!$Vz(=DY~7( zw*aCtsK1xC7weL1_t7KKS}SSPSI@TITK!56HeAwVjDq;320{>Pai8;9#&$}E?Xd<@fOf(T}{OK<&oK>L<4 zC{@bxD+-n2nXnIOb#W<2XW&$^pRw}(>f`-e$c7&7c)8SB!5p#6L%W%l==HyApQ5%s z=xe)YcMn++lee}X!+NvR66bPxkRO4NEcmjocKBy9_`Y>#^c@ERcOi|ZgFg5j2&!vB z`n8qV#18J)owoZ&PBhfoN0kstqjIe}1R_!rEIHFSN8a0qB1+uVyz{kprEw493@+ZH zMI&eJk*Ohu-_S8VABOSwz1wlX2M|q5zvfwHqG@S@IQz=z2llQ@VzGC6ErpDm_KvFN z&0ttLfN}8s3l5hA;u}2ns#FqmH0}Cgk$hKoL&fjAW2+)jm$Nape~EeRL{#*uHG$%@ zawqKx*S_K_#3Hf{`>qBBWKr__l9j<0Ds0BYXoI1WtSiVTIq((9Ey-k3uTBz!OQj_^ zByIOHtH3S7u+L-L)603#xUwjuU9Bz^P*GiNxwV^Q>~r6GfiTAS{}+TE+V&XO?suqi z^qJcks%WrBgGgcYhOq0HL)+X=zJ&5(cayqsx!k4UD2`s!R9X!v&2D( z18hv3n5~?@QF>U11YYjsEyp+1WBD#ERXP2`t*7+IH?(F3{OdcBs=cY%*S4T?uAYwA z`JfkH2iK<>;t%2VegFbzjR|*1dF{_nM)ALpDfuol&|pImpHKaXkL#T?`!qhE^?&D- zWcEizd)1>@tQzA-P~B7eCN?};!UO(feI{nc2kh73$F&fnPnVB-nCL!RZJHi^`VC~o<0>9w+uAp8YcC}V=l``&l^Ac_P5 zdP{xk`L7n$Qj+IP@XS3wJi2=+a;C@qOVazUx*eeTgV&-G8@M{!+m9&QlIpvvnP=xD zc$SA_9Z%W#_QPMZrTNx>)|p?>1sGiJd^VG@84PQ#%uH4WC6jmx+;Kd6l0>pl@{Xg} zBuMF|=nsC-i4PD}^{ihd2|J@rkLndIWMyLYO1ocTX#2o7YYbdfJZ7p_@155+G-uyu z5L-3Ztz&)TuxTdH-SH&&;VZa9$NcSQ*vtVV2^+DU@AcJw_g5{p7J-eZSXOJU=Nc{k zAGlx}+l!s@T7JuT?*@Yjkyrr-225J9z0wf>O87qsqFYo%jCwA12^=TznAZMtr8!pc z55D1miS~=LrIMyA_X%IRUbi}ao{K0e+-5{irwj5N0(`QD_7N6o;Vl)lAh0P0Nb^S#?{~ zK>3jUr$&AMfJ!_6QM1rn{RW+^?+=+jgO0^GZ+X!zQi5=L3_8FU5~l+w_S(SR`^TBG z=N-ZrD-%L_MJ6}~I-nCLzuruaf;WlY$M^ceniqhf*z)fP%U6&^k_~(S|D+5$?`<#h zAR%)A;>Z@GWpj>`ur7jtnfF^g66X<|uh-Oq7)Kc}RZ7`c07Jc?;4KDHiX0S>8S6v< zwbzQ0h7i*ah^#Jzr5%T#zclwx5o6Ju!@Q7IvcV^)D_w{ogOnJ>-V{PDW+%WyJl ztAM+^fKJr@e-a)W)U*K8BD=Mcba8@uYE>Jz`@~2Y>S3@T)-8d`uL2=tj?c`+%}>35KLiZl%Cw zV}Dcx0-~b{o41sFs(wV=+!sjBqHekTzkLvedt(apzGRnA(r%&pc9L`VMt2x{*$8#(MjUX=H{sOVkHj1 z0k?V~G50>Ds1r1DCVcI1YZ;0 zMZVamIB=^QYqo<4+DR5UL7PSmr)OJwW82iNCltI_`J6O>d(6rC@Z4BS05`$!x7#NkcyV93`-ue0*4v7lc zzc1~Ekjh~5IK2A@l(ByYrsV-3C-iHexDJh@(!*}*BRcOOKztTCc zO61nX)?MifZeH)le0|4;bKyIS(hjv4mXQi&p9f&0&rVsKah-F3@GC83NTB7u_X znAxkJdiP%{MA}s}!IxUie5LEPwvcCxaWo{VFRl(7KlaI`;B82>v4F+~P^xRY>;F!i z2x5oqmFd;W2x=SPa$8b70D?`s^8U4lMh zD(Oe;EYWc1w6DLnY{F>I0zTcZf^&Z@K)n7YyRS}_{wnldTb2aJOR^1g*BZM>{Np_$ ze*3*YN9u`6W|$SGtB6UY(MQ=k`!Qp*-<}jUzzGwC0}v=@r6&q_;wzs|&$^2w$#KP1 zK{}G)6n3eMQ!hfCZU_8=v=IqM$>(p&aa!GFXkx#+yV%o4S?QSo#>G<~Whks7NHg?z zl2ai}@*ejmXjyNriHl&kK}BEMfZs^qr%nEo+=*>WV%r<^wQcI34`0EutbJA@dKa>^ zl){DP`82;|K`u^gTn#qIcV|SLRjhespkU#{_r*-X1v&ki9~W?Ishk_yrC~Gw*e+FC z2l?+(Z#KlRy{kH3W#&O*r+ly5DGv5Get_tv_MM-;#6z5u5|zaoO_FVF!BY&c<4{*0 z?9)8&W3N>yOF$6a?gU?2EtW(r$V8 zUt`7R*G5|r$-y`DK~j>_=?zJ>&*;K^F6xdVQd_jzoSXDv3; z`0vfNekkMEr%rk-2@*N?|69nh2J~jX{5wD5e71zLz#b78{Fskak0a-qu%q! zPT+vBm_m zziKkAtJmIao3`ISU8+w$-#?R9JXtAM94_R?A78jd7w~=l*SxHsa5X<+ByoxH1@RE~ zEy5?91Xv54`~11_m<1M6qdWu=+{F#8V04`7PVU!{Nf z05mZb-^S9AcEa}?q|# z8EI#2p4(%;4YK$6;u>iC=N#XprH#LTdA1?rRj(Iy#cjWSdT(%J+4*&q^zRa2)E`1` z0ff#Qzz zh5Qv@JBp(M5E<`Ruqb_j@k7ERM?oklbG4%QkZd2C+yrRApNoFq;3QEywDjyfxT=h(vWe#Y@VPA3^1Zwk>Vx((BO2V3krljJsx1g;ej%y;e)L`tt0Hs=scb(ij8V37IYr zwk+;9cm6vc6k)944F;uJ0{g81zAC8$`kNAT`M`b(i{-mBka6|euZ_}kbpSitM^&c1 z{UZHH;H}^H3eqZVxZK)<`{zq#J23%=SK@vbo^1q)$K>ARoV!++xNIPD(h@0T*CP@p zxWV?~8{}Mm_XKqbVE(=Q(o1Mr^%7F)8#1>X^hZ^?v#MJrJfFII+_r?Z^ARm|dLWh0 zsmoF4KY^PGwkSFM8Qm$hp662bO6TNm`67DIH&<~33t2vANKz~8puojv><-&tM0%t5_auIl3 z`ilOQt9)^PU9s9ZB}>ptCA0KYFu); zzx{|z7k~A`Ru0y`ny>9$fo}mQ8llV`DKx*YpfT`(kuI)cBoF00$HZ2W#&YlDnw388 z)V~LNCmZ-vi^^x|mu`FGXZ7H^r;fVyh@F@D|Nf}7)YU{mZ&jq%xe0{uo-|x(a%e~U z`550Vv4TdF&pN}aAr@@VoK6pc_xQMbS7Q>=02>?N(Kbx z-Q8M}by@q7BsFXr$M#Y666nUv^`6i8HpvuYMCJUH&qzToxrJ!D8iU1$YTw4kgG>L4 zky^$El60qZb*)%qzqJJRHM-*#q%|S2okUGiW+5%S3;T=1;|~7#AluJW%J{yIXp>P1 zQ=^n7Apsfs){%8sNmk-9uVexR2-*P!y9j1#3Er_C;#_RK7BuFR62A@Y75gbKl}~>D z7kok7SnFhtD@Tk82AnYyFNQtpaS!QR3Trr9t|r#L1nRBQ>R;nvUb1dtN#kcHw%NNE z-wZ9bI=Kg$!`NS41+(;T&1lK+{M(0%(?KrA$PG5hToiK=^}FFApNNa?XN*IAKp@3w zU1sb{EDGi;27D%2F|i~JF+gE)eEL8)T2(8n!GGY-}&(gIWxI$D?J7O zOJwXq%J}R&Ql5ll;(5cx;=jh38UJJ3?l-c)0%GNfO-y37{z09(l}efL0>6_^vTFBF z%P4O9O1einqi_4>74N4I&$I%)g_^jy3E-+lWM=^CR;mPR_P=dKau%*vPT+G_r;g*n zgf7Ecp8eTd3Goj;c^sRDWe8nxx=B{LjNFP7of8M|-&+`t6_eTB!Oh z|Ga6ctZ+2G>#I5lEqZht)pp)zh&d)a8C(H;)qicmuRW$)q3*i}mGi47E6@Rd`Uir0 zr5bm+SdyELS%^W8@z>N*_2uo_@i+0-(mrx&#raDj$+I~~%5|*;EZ7ZuQm@hd8dIcI zU2LUin>cB|^EHWFoX-;+Mj{VvYteUXB=!}4GB!JDrC=ZPco&j=xq%lOqIW0Kswk(^ zui{v|d!>IC%z>}ipJ?F4ntDxpXbBH5xQJZizZ$zx;+gdPQ2g$VzvKume2eX%{rrlV zX%RlwTF`YIXZ1*X&CywOc_8v_d#0Rk`qlFA{(WDv^joEWnx8p~4Jfd1=bKx&Mc!|Fp4_PsI9GzXA1>ETmh#$a;8SGz+ zA%!S$hUi`3CIf}q=42y6jLSxSAd-CHLwwtoX5dW;hg~k6dIP++oLKmpknxaE6Tb}|DJoI!NQKqvm@#B5u{j~%t`;6*;sw!^0 z(LTpjC|ZQEO-rTDG~9x0X}#}EGUc<)WO^LZU>w$6^eV~!!icN`l^B-780;LSMEjA; zBsd)OWa8TZLZbAbUm^-^-FcbY76!Qj+8R;=HOQbGn3ab9+LNCTn#I}Ok|)xyv&B^= z(kGc(oDX;I6jc0wz;b(lR^1<2aAO+0fAM@?D~u`o;m;0HN9&u!FYXtg<4s;*L83*Y;!+|07M@gbbq}vbL0G&AcBNOG<#E^SS8qoH}d2$Wcwj@3GzCw+s zzh|D{g#;KJ-w%Xq|NJoL`HH^qPv`dxv0LGKENnW2d@;taoq-Ze0XQo|J?(AW8VlgD zxzFK2R~hzOWxEzqa1#eq0X!0<2c zKC0|7NW8dL&$j7d21-+unJfK8m0Qw|pT&u7l(?MCRlUGFSgj}Rhae_U!lnYt{tFvT za3=<Nx{3!{IjgoNicMN_at^Itq{GFXOx@>4{Cm5M51BtBr zaF7#ON$7rFpqi@2sVL(dKP2vp#bH5=Ph!tI8h+`iPLtf{{MMg4G6|C8Aiw*!4sAya z{^hJ66t%NTtHIoV?XW)gwefQcNM>>@!wwnR?Bq~LVG}o}iu3AOMSc=|eAYj)gBJ2V zI3h%Eu#N9l>v&$&()x`Uu(LMTS(@DMC$M8ZZgBcA@^qxWx%f^RF7{RZQw1hT<#+IX zHjz5|R8oM_j1&92RLh=yt~Z!u=3`}SIYv0(v$SW;{R-fGDaOKVKw>0uBNCTJ0*(!a z_mkf7B|(&dz583I;8E^}{jdFZ@ot%)#bvZTvvR}9A^ftj!Rw{sY6LaJk$%adz2NZ$ zP1w;T=6JodjW$g((ay*JotKn9quoh+JU>U@E3I+FAx;Rh3x*3r`jUVG}2J%TE;{@ zQeXRp2yx!?aTg+-@>L5VC!^PrYI*-EO*6Ekpl#d_;6+|RI#S4esLIysl*A1 zFRDJuWi<}m$mbMc!d5}}8uHw|>KbjA&fwkN9>2q_Ezi??29c`Wo=cl+;?VuwQ~Sr? zi>IZUkG}7u>Q^P|>Q`f=w4GC5et+Ffqs@x+TMtjH676$hyBD99c4yV_GHtPpp~r8o zr_FLPkBH~nU|r*(9^3nfj`y`S;nssMTjj@IY3gfks#h0bq_33|MiceRlxmZ<-scCi zAK_Kvy3U@5k+L62wpz&c0mmEDdJBB-ePH6-Xbl#A7GIftT6pKiZLyItLcUO|b>Ghn z&?}d4YNeZ!ktnBR1w(Ui2SZvbou)ruZVLuVo${RiZO|U2T-Ss;Y%#_+B`=kalN80! zazQfnT(zh`+kJ`CA8GLXyBHA;$rZ$q534?<{pU}{E9U`VT;-qXa~(!aE^vYF$hx3- zijyjdKU?tn;&>^Y3rT7O013_aw*YWSsX*F6-v4#xQF1=#1TZWvY*zxGAJKGq#0EoD~w)cY?4f!Jrg z;;70=8uQ5Y6jkYSm{ujAM7?yNQluoVyAeWgLap1W;cG_am#Hq1e1Q!6RB7+L^~;I<)nj4Iu~Vd>$9Z+#M-(fA&~Mzo_S>l zn)8DJ7RjVXilF+lx=+t8ImUAG|K@g zA(Jl?;^~nnz%5**x?3|>(fpx%PyA8ds@B{jM&xqq8kZ*5 z!^Um}7CQw%2O&8rvjXH(A{;-ou9CAgnRjl_OH>8`lXP|?2gs)Oc@N43wxu7b`%5m> zh}>h!#j|(SBpk~sslBl;fop=OHPNcFdU>JO0S2NUX{_5$-op$lH#BaaQ`i?bqt-gxa=~FXg+t zlG;&|ls>BM{_hqO*te}#(=I2SW!eh?UhYmjWUBpOcT_q)SJER>>X9%j>l*&0`cptw z+c6Vo`e6jMUJq}Gg(}*Kq^&}^O-A)m#;AlaT3;A@^x;OgwDk)*RxQmwH}R>`H^k+9 zRed0&^s0X{q*xj%6u@2eBhdt~RyRbIeajmPT&@{7IDc2J6@l~DO2~WxN`+;v|(a2dQ}80@I(co{fr_ zxkySdec~hS>u#lTI%Vh$dFIerU8u;KqBuX_l?MoRqcW6d8s&cY?v_fnclGtYpAEsO z=lkv7SDCL6oZQ^^+hTapqq{^(P9ef~?k^t6l@I}XB|gw2#lO7Q12%1E2 z{Nm*$Ay{47uA0e{mGoxmwQWS}kpT7H6NPkvEf(@7Nt80-{#vE(fX6vg-B#(Aj4y>b zZzu0GvWF&rN(~w;3#~&koGR((Fw zU7a$i?3gMk9>?t)BKSRfl>f1hKA)3#f#;|@9PM9wke0(ZqIO4V~)%)akb@FX;F5xYKA@( z%AHLX(8^J*HvA6BNWIPXDaV4W}hdve!^tSK33{nIuKZt=e=+GFQQ;F{t4T zcFE6Rfe`0*U-M(f2Yhcj9Q0nQ_}Jg6U*bt?tX1D18SN$Jj@q7YMJ(~-5X__#YlxPW z@EvKnY#jXKIF=;)tL`u3j4OOj&ilfNigqmk{mdIlqWk@R(L(1BVSA?^4`d7s8_ii< zJiU+JaK={s;ZRP!$_yQRLLa3KV-g0d++XZgSp-*;>Zu|Ow;x`V@P@j?V-;=|>`k1K zJkIVsPGBbX(N**{f=CA^thtzQ(^bTdLI}HF7gr5p6L+OLaGc!v7oT#!c6DZ{pqKvL zawUzBj}!E7;{E=EDYV)Xvi;*dn9>>Ap^=mgIt+FP4QFe7zo^uGJPr5je)KS=@G~&j z{`chlg-dmdW@oKUUt|H zf8M5KBKaf;rQFnxM9%h?)jaMQig8!&moM*bQ--qy6ZHbq28iW%9B?FGUIYMk$PP%a z&L^g(P!s8quc0A?;fb*;9HCx$3d)qb+Q}eXDZ~1(KK_>Y*r^9-9;jgLmyGl>*dxY5 zyaVT*K*a~upBJUJlx)$q*U5U?c^CYxRSV@u|K5GQ9wcVA1JrONgR;F*zBtCFJRa2U ziy04NlKfOj_j>P94<%91C6x}zjCvIt2e1`IlAj}vCdr@}O(!7)wrzm0G$>OC=a)ne zV7Mgd^L9ymPC^$y<9P=4u~0>FtV-$E7$WXXg>OlH^bda-qOl}OG+A)&lUrytz*<6pdqXmfE0FS_n|=JztT5&C&ThrcimoUM+Bq^0Lbk!{B(=;ZsLN&ALiHVx?mM$j zvA=*q+g;nOIJ&t9OtJJd%%GuVt?Ged7o_n0Clr7kea!_tkR0KCta`|OU8R*vY=Fls zc%WHLSrt|O&KJn>thNRow&T$EclNfZ7%Dq&E9YDuH?_1Uu#H}Te?_^!qoQ2B%SBKUGYe0Y9=s+1({`uIp9@?{PJJ={u#xMKVfRp0;?1)Wd zrmWFxXCr?qdG_DC5#>D6p`v`ppB0j5uPydT3EJ#Y40`4_&jXv?e+K`kvqKKL>?6-3 zBtx3kqH5Gq)f1qmAGyv)rM-)Rv-C>v_YXjwCQ##f_xmFX_Zb}%Utdo41H4rFEac$& zGfS(K;2Q7m^I@4Apac>1QkYxtvdls*+XLd8*67ISq;c zKgRz2#d>#aBZ~Jf%y8}*wsViHiX{-N`lG}$*k9DPyH)9DZHY6CIQI{wwFUGNfn@rI3&bTvF!{jc^Z;-?{J^61y=)Y(fCcCG-j zeID@OvNyFuL{#^EH_kjG!n#vGvBJ7J__vbqgYV z`kR5ts*^47IY({$I)gy2ni#NM3VyRcSlv24-x355_hQ1>;Zp=5gEH@edGCygk^0(J z^f>8po!IsewNlOKgPIGJZT~QSub|yjtDYR;XJhTCyNU`Bzl#fAa;Wud-*fqUiM9*0 zNa<7^a=_(SpgW0J?iXat%#n3^_TyH&aWaBuLtY%?z2mEdNCsk_yVg;;g5ivd#`cN5 z`NueBHo@=KYrB+zx4kqu!^bUxhE$@ZBFj}0Ub|DPIqmmJGF}VT#~6WaF*V@dH8D`< zCE%^DE$&_^gKpnMOG(?m>c!Y9qBDp#J)7k9huECh*Fq`pd+q!{bACex;j{NbnEPiQ zgxyqBulf))k4eNq>{5ShpW`v#i7%f~+yVddRR;1E$uwgH`)8#(Z9@&%6jFOF)x`(? zX^$kwMzQqh`INVxKnFVeM&vF zQ9=BXs^)GJ#-~ar!>A!UXXX39UN7g(d|x$=Pn>XiuEaaBavLG|g|4DO0kQJ^;n5@& zqBzbR#OA)ej&I7*MU1ycbBvpt7HOlVWvde%OSyn!pdz8`1e%2*^OE#F=2X)h+fR!o z5w(>38N6%a(K?RT8qUH#|6<=s?$c<+MDAB5L}iJ~4`(=h5jNUFmBK%Bx7v86iSr!) zr%mKLwmQQE-~C&$A*JP4s&|}ZvM=(%Lrtw<8UOQZms=us;NCwDwBQncafy$+`7HA$ z%#hK*;ZRXkY4`k#Eq?9ziq8oTXdhJU)hV7?lDL}#-#QQ{;eVWm@jZ#{_ujfw!<5fd z%dx7Lw4R??SSDjj*5-gOCG{M{sD9UQvc9X_kjgOcRCSUB$CgQsVSek|?6)Oj_I2&^ zp(GV(EecoSSgf=eHohaR6Tp7LjT)$@M>hbJ-OFA3iC z8g*Oj*GaBCPWR_SYvS?22UIReaFxLz`V$YvC-|yxT*6w>;D~rR|EN2})3F_bSGhk1 zdAWF24wn8zf%y?{oDrNeJ}Rrqrnq3`68iwVCa<6i#UPBYvho@A}&-uuk%7LjW zHv3OHf=TMm;{I(h;XvDp4n;XD8-UEaNC4k;95|id?>m-nrDUA>GXRE1Y5o8>cBV1RUKhSOCP<1y z(7Wu9DtQSJQ=+a6Ywnq;xTQ*^ruC`-*!bXV$!IyZ zGLRypZ!H;DUpSMgzxP}E>*;}QF7ocnlxpRFRst}e_ZvdZQ7PcRF&_OR%y_=qe#xny zV=jV#b;)LZ9`KzDF}tWF3x~PuvQX}sCwRLX`Qvh!D{PA>~sG6Uj^Z8{m9UbQ6)jsp*8A8Ao6)yY05|nrdl`)|=sKXNQYrVc* zMGLwg|7l}+{68O`@eu89r^M&;H?FFnJX%h4?zF+{LaMaMK>MD6LEFUlR%GgXT4$R$ z#~}A|FCE)P#avQlcME<@<)!$)U{&(+h zK&Ta$zkqG`I=I5OGC4*2{6tz+kkH%GKgHi`T$wlq|HU~imyYpV_^WGN7B!Y_Kq~=5 ze9Eti@OODiWiWoduNH{aQ|i+wR>7wwTB*q547Yso^NHuSE%86s$^~9!d))Zr#t*LQ z57FoVeCk(4XP^GVZP{Cc1&a@A+k%JtOAM<*wLlWhM^Ra4`&A~XGUtPzX0Thxv?6I? z72rWIa5HQc=Ci>oEt&WYIl7XQ>y7<#@I7UV9oxTmrM~#&(RcbKV^SedlIpvE?ED1A zI`_}LezSpketrltpB;Ka3z{k@1m*`E{@IeA8m$QmfdN}ovJm*J?bGg6U3!|g-g_F~ zx%Gn931`I)X?4~ZJPC^0^N7lg?bmUY&y43IB>)$JtxD5D3x-DGJQsGm@{R&|{l#iEf_r-sQj9A*!RFb}6L$H+p%s#xM z_{)`+*X-N_`Dec|R_hR-lrjKMsB~4qaO@{lJqsQh?xfo$wE(34tdT~o`uKmF-_JZW zb+ z=pFFmD)Xr;0m%%ixb?umN9Ls2wYU5XZT&d>wKf7%XXMJ1e&f^d* zIJ1u$9aooYl{O?kvMjPC;I{kNYM+l*4cwIwI2EbO@_Y6i`+T0?i3dz!?j0ZRDwmtseg!niYNly^)JG}4B#f(n*QDYxrcDjH{^~dVWu^- zg0Yoq1Qh&9ek5_zdiP7gGA?uV`{|2KH*T84_uxmD*e4vZ%0K%FR-RRtLHsFWy;Si< zV37a4RLe|kCzY68seqC3XxvmP;w0w5dEVYA*oT(KN*i~o3c;XtN_AGB7ZbO1UE%bE z2Jk2m+z#>e?#Fkazuv=4d@kRQQ~2(_wxjW7R6)OR1yAbgZ>kT2v2L5sYGcl3F6vUv znfTo)&9nwXy!CNw(})kRucFdUjW#Xg@+g_;0h`(oP;$EI;|_p5k`;)D7Ar41CR7`( zGj?P{w$?;AK)Wdc@;ujfF{A#jE$RGGIi{o~=BWUJRrKSwD)={K&e`proK}%t4Pa3jw7X2!U~)Fj&)=V{T%er_a=J{OXVU$4E;WXKg$3W=y1^>G za>4{*9|MP3ZTh87dOEM%Vxa$MC;CUG3v)P}E7%x6 z=$Q1o`%soMf=}IC>f_JIK;{Q5WANKUMU#P@j`NLTbaCdCiT1uk*7{*Q98|;H)==66 zb}05l;L`!mqo=x2{)`Lg@2ck&DOjY*T-NjVbOxK$0K04|hWZ)-M^e-~y6fDQ_wgr6dc4#dy~u zXA@G|_95@*+L@I5u4ky2oY;5AIY-Mv0US|D#wWTw_DbhBTy&}dg}?jJ4e7J1_+#52 z|J~<^8(?ST{?V*+QC;x}48Py52l9l3cS+*U#tC~+;~wBY6~QkvU%O7eK(ss+V+N~J znNpnZB6zO-f&a9Qt6B|!FCaC_HXoV=SVAJn4o&!np<=*~9wKsSC85{O<97!DSP+FP zz=R5-0wa84XD?2>JX{moV%s+wfa9)b+7M-67k>#8yZRsaY5x3n6nj#V!!BQ4z!YoK zV9~wr_qV)vP4H0sS!*Y%qXg*wbFb$smCffL+u(Asy|TZWr~Xf} zWvfXb@B4YFexxOP;{?Ms834Dkv1{3j2Y!8}Y)Sop0*0+);LMCBEhq?`*8as zVShGOiaTu;@SkMnOUN}zNz$Gh`cm&KtMFI4dKH5eA0rc01U1)@knh_PYT(~i1pnu- z-~RoXCWk0Xq$1T#Z z4ex^z8*kt;ThxD&>WpI8H~u+9iREs(wLg;ZDUnGK*60?k0brp@{@p$Py!|H|SyWU# z#AQ;c(jtO+S~Nl8z58lLHy@spFXI``UoiAV8pk7DY&ck`}e$4YH^+bl?{lOzcf^kJ5a*1j1 zNvnFw%{soHviWOqqyMaE^i&IcLXb#AKD%Trlzq>b^;Q4c)&zh&(FQ&xZS7ns z?SGyf+fYPr6A-u9cLKs-%UxG-OR^6Dk7VkYTRV}c_{iMRon!_Os}zZ}#n0gnkJDiZ z*nFinos;#jQ53oPdw8n9w7{uVe}WsFjM}1VaJ5D2v@dJrqzEksS5%3$D-5y4+w+n& z<`ItOoab-4N?#1l*1mg5s_}P^)>RPoM2p_*-~6Kl;)LS^?#&vg6?N?PJdt4U`Qf|D znE}I{pCA5FC~##}BsVsP{D=QYzKQC&$sN{6J^HrfmSb)^^@eAUq~kVrj^FiA&u-h! z%C_}h2-d%Qs*;ZM75;&>)U*czxAD@g{bSdgcp>;z&(>#N*K&_=33_dfJLk)n(-`QN zxCssjX|DIV_-c0R#T2~Iw(V`&qwCJYyIr1ZTEw@R_t=uYpDTTw?36~CyQGnlqw2E^ z4<@D2AHRR=5%S+nB`xQ#bAF9jcK5ZBG2frNMfe;=SpIGLk-QVhucu`8`>&V1?q6HPz zJ)>74;<&(j?>2yXnApj!RF$|jsSz}HvfAA#N)|k7&3DdGS}jW?+PG>fd~}7s-v7M+ zfR}(kZ!Vzz%u7qWRCG6yT9*pZ^{@m?6i&moYCNUAlb!PbhJZ1yr-Q*g4AfDgQeU`9 zuySZ=BF*(dPTx3_pjKhKTC<+969;$pXeTd8!r_r!JP$!sGR7Qdp3hn8pV+4%6BwV= zTv8bA!Lf2a?PGs_2W;YUvieILBzVBtY%LKi9|te=i$EDe!|ZBC?)Vq zkGFjpChywO&JH<2bl?ga2(&JRf^?da~)PdkJf40+*v3B;`Svhg2)R}ri=7JgJ# zux}0lMmPi?nc$3f>aC|ZUKt2Ecw=AU71m&Du1VbH9_(GIetq6*0Kz08e9SjjUPBUQ z?^1#8XFCZOSl^tH)sF~FfV=wIK(zpBV=zQnsR6Y~6DQ`JIXv5c?$&A(Db0n93~}jT z!};+)!Djh>C)s}NhbRGrFz8eM{1A7u9u_V+xSF>mywJhn`Yb0I=V00UFj|yT zdSv)%X+QM>pZLUKr0#fU&;N=1IcHrb>C1mpY0bZ+o5P)-{IvPYB&5K z3O@rYJC_AK${y&ex1dfMtbV-^rQgt016G3p0~041y$*d#VRvgxG@9_Y67`oyo#z;H z0M6LP&r3L>t_;z>MR3s?<{NBz4vFnL)fchjTG~qROd#-knbl3Zvu*pgfR>%~+64Tq zWHP57xF6m>Dg(VWZfsLi{_JUK3QioB{Vt-PKdO6hxd> zZo5OhY=Z4ne#P#lb<(P+3Mz<$BrE>j$)ycJ?x(TB9nO8uVeEx$>-I83Xp-gPOb(VQ z2{w(_?{fDADS^H4aM@55>$WjS!{`DB_d#NG|Jbm6*1IzVDr2EQ2KWYqdi@~~*Y9Z? z@Ox$xpWKhD2S#mPt&S_S-b4ScsB--&fX5Ku1T(LmDWF8s{U+eqw;r9p{Q74%7;f-O z+*=JvmoLFvmCDt5wgLHjIT&-o2BOi2OJ)E`4xLra=%3MR%aNq92RC~|J^;_+4i&@J zvju0QwC(%t&c5d^&R=6L?!(CY_OI01ufPxUh;=81ukH5=A2Q(cYkWGkRXdXI{8>}T z>LIjbjnab5b2(^fQ+~gTjVYdM!9$t7P%~6;Vu06`t%n54AX+I_0_e;0cpd64CG(4K zDxgYf^o0nk=O?;Geey=OJ4a12E`E~o=PjjjG&Kevszq0;`<3*En5veln9Bh+%C|uLq8!|NkeM@&iA3bV8CU2 zJ(sD*s{GKZ6+c>1=Asp7D3zAGA&XuJW_&K*h2iXJX%PSD=L+#|+YuXE0K%GJTHj$; z|EH3?2`;hI2nN$$u2rsxx`p4tz6t!>A7g|3Iq|hZCN5(4{b;e_nc-2Ku>p?>(UNpD z<;uZDiRb+rlOlC|k1G06z0ZqnO_Wpd1;IU){{QUEwiCd<^eQ>#>iUT`{PBr)S%WHl zTBytE{XL5)%hvC-`Io0t!*5pQ77^Wp2lVhHWGv=y??Cift!-94m4)rtY>XWS{5a!Y z*8`TSdE=A7cyR^9@eMxjQSHT_w5mR!nWR7#v5TMY61>fII^_|pLhQIwlG(4y5)5%5 z+ELQz&d-P4t5=yPA%YxK_T#f~xYJAQu_AssVC7j=ng6nTxC&8DT286DTjn`YmZp`H z(!a#YY9^yxZGX*6m(porr00k96-ixJJ0?CBi9p;rYg$URK-vKY%)D+8{939acIabX zHk|gs5sP?@jS;P4zwju*&r3_W7V$kcW7gu`3?^2!N&X$VHR#1211D&|^j%5ceP>V$ zeqIt3R|+oM6{3ZDNs6IuQgUU>@B>%*_lr+DNuS-HfMD10t39moDChH(Ue(O(d6>W? z@mMHLEUmA3zuhZ+nN62?0K&;G&oR@d#w~ex{s@m-=3Jco_~=f^<^6RGno-@Wu4683 zVyCbVIp2Tyo9V;@en&6WM_Pt1LqfVu_dfp9IANZ@*w|Yg+t8M)iIp-2%0K zxGO@|l5xk93|G$g!Inty&rC#{detJ5t7(cP{fq_1Npwcs+FOXQezv~XJ|l^O`I-at zx8j!)|CR0I9l{{|{sAAHErtpweCHij$zpOJ9U~8%Vz|cr9IAx8qVX{=8M=iZ3vQg3 z+Ub@oiU#mR^kV-)M3sTtP zy^o}O8_C~i;<-P%UI}Ht1NU)uc$;3s2Dd^jelfU{1q^6m`QAX0mF^t_pAxMd5}*J! zmwedTdO&0%U!VdYAeb|eT{yB7m@P!_zF7*x-Ba#FAmlnT>k^L9 zo5jFUSW2uN{EzBJku#JX9Og|xB(;s}Osmh}yaRsjyC2)KBibnL8iR|m?5+S$* z$e18CobMuOP+EPyU{+H!6tei4dPyvUFG~ssi>Gk`vAJ%YY3d96r1=f zT7+zTe?d0BppdfKg?t_dC{`)S{)KYgPPw{_J48a{-(tUJX^}%N2}Mzo#w9AgxF24_ z+%LfS*nUK{uS!yN9Q5%FLy7BRU!sCZn*q-#^7^j$y|e+k@_CRG(l(tXlX-f*$QN5M zQDsveJnQ#lj;#Geh#7im-<3Wy_P-T<{lAK6<1Vch#uWf2H@;59_SLPWueTid5MX5e zwN#Llbh}9$ec7{lsxNm#Nm5k=1_8$D>;7vIAi3JL#LuEil?va){aw*()?|B)^DFIz z*Vgx!SWU35uRmj1&tBDcv7`FoH2OVzPusrgyYAOXyB&*d7>^xWu=7L$-<9?-w<=b7 zsBT!NLB+YaTLdk+zbNtu{tAU~t=jj9-kjjb41Np5x3@W^|*U9rOf$?Y;rKrxsyM^s8Uuzu#uL;In=)Ce7OO;K? z${YUzeoLrWo$`Iw6#FWwuU3#MlQZw3cwMX8p!lt48&b`c;P16ONK$O^4zy&MGTwOo zq{kIKzZNVcL`XC|H6pfjlOe49H2Ajg;gBYK3lh=m<#Bh$@5x2>MJ=iXoxe(8eOn*e zN~jCm{mJpy$W`IeQkCH4v>N{CL!1O$!Dsf1@dyNbm%znStqkq^M^VW7`HS`iE5GOS z|K)S!B(9A{3nW7&*j=}b7~&r9;rl14(qo=l?X*RD{+QzrzE5HzPTVuNR@!5nQpPuX zjb|2tg7qB67xy5ry;ulB0y?E)c{uO$suJ$=YsR{bcqjO^@C#n=a`r-r2P`H8 z%~z=)e|(XMIm+0s`9>3^jlCtAnS@h@1)Gpi;>f>(y(#Z=S4sV4UG?YQ9|-7otQ9^W z{DBJ&h9v}l%xLxDZUBJ(kg!po4tQXrq*toSHV?}C8Q(}$5oli$UJ*|g7_IgZK7Pl5 zOEc=P%6LoPk_36x4k9TcWU+jXeXAD~ZZCq!~V>%Q)q(eOB6{)H^_SNRH`ZH@*b+KO3tgSPN2c zjR|c#FFtErfuo;|#agoG`|NiHoTmr*!tRx&7PWivu)qZUmnuP01 zBo$TLo1}WNX#QVU7r6CnW{9l9G0;X6VV@xR{V2ya2cJ97pTkdGcpPxR-J`^Q3H5qn zL+&3x@HEp+!h8!a=Ah$bI&q2&;D8FU0$Ng z=d8ivDyfV1vDtf!Fbz$72L#797D{QDpRx9D{#E;qR3;m%(Z_#FqmS*!3XTx-pG3=M zmTJ2qMT5#VC-M8 zL)zHpn(zyH z=hL$e%3>1Q=qwykLg+p*ec+mMmlmiY&KI2MW`-SST&2&%H(v9ZO%nH56mZI`kbSyhXr%Sttb3dJA|L&a$A{X`@n$KkiD`4N-LbFMl2tiTyg`}HE2fxL7O$z zeqUzeuFDS(mvu+_?4YnM{mbTO_+qOd{_HFa+k$EZSh8B$3*{HSq$UqR_{=^f(d#!E zFt}6-sBFx3pP*f8Wst`t!#&>c1aZjPxV#^wv`H!grizW%eCfHVbqNWZ9@S4KWlu=D z>x1R0h0^OmYZv}5MVzn^(*+zF=%kEII2SuVKgLtcV06D%kRn`SotMQFm$hr%CzPP} z2O2q4qHHz8w`O0NOZ+??vvCl~TuJn-@ZS=6JyMb2W8~7NyslN$UZ?b}zw6+~sxsdI z6HM~tcGTOt``%x&NUNnL8uO;>tUbQq=Uo79h~}ZLwdg%z;R+p0wwCtvI?U(OTQFiqXGX z-PejqWnd6I-+L8h-3>{2>leKDyx!e*8V)>CE*)}jHp#GkHnJq8Kf2HIRb-_GZ6=LA z*ym+PyJ2O5mC>C2k(~qe$nmtQ4M#_^<7LAiagu-L-o=N^qM~4}byRmyqI170XXaNT zejv(s*UIVx8L;&f5{EKVlfu`*0s!0z=s`g|FOg=mZChLwqSk+}!N0vE5rNMR%1Ybk zB;dMUwp~*f+moT5+%@jc_F93QE!VzY^>bIAF;Lo5Z|zGVvId;uAYS=r$j!U+Y}l|r z{$K`@#zs=AS|KX{+9{PwS!u^4jc;|Y13RCAfp|1YKU0tRyS2JY*j1FGLU^U(W>PNR z{$4!WBL!^3im^vSfbGZavC^msq@DC6p~P7>j9|SpJZ%WP@$Dv}uB-&{d6D+@(N9`h zW5srcOy+`Cef28kxO3*pR$u>#X0V%pbpu@M5wp}gFdiO%Yhb`a9_KgmG-L) zG>rmR?AN`kkmHSC`6X$@^HV`46PZT|uxS-hR~He%(poBI|LM6tBuIQmt`5^rn<0+& zqu>_+K|sF0$miGEsjxLAHU3!$1bUA;fkFT9PhqR0;@O8Uhjx$-nysQ5Xh>Ng{fsz4{VM z+${%LkdXUlPgSGW{%r`rxNmd%*)7%T%yAbK@c80;z7d6#)aNFD^Rp9M;nCb?qs|jQ zgdF{(#X==1vQGdpm0@t4F{+CdtgA-6u}{U-vjoMiKhfG3_rqA+1)F&O6Q775?)i23 zP${C5U1`tN(2nvAPgRJv#0vHUm+I#R`|e`%a@21KU#csroIF3q2dNf&R2j)OyJ8gh z?5#8TwoB8Z2eE#YgMUOPu}v?TUwY3`x{e17R!H{jTQgt)pW;>lfeuzGrl+`m26P zc@$M9U;zz7P+sjABewlkY3EpNTO!Vy=ZgpXw5bZNV5`D@?8A)*>^H=$Cn~)1!S&xm z;`FL!tgb`>)c8tLEnWleXU#9s(K+OM_1Xk+f^LzXSSQVVo=rHFs6v+So5u^~43PTD z>ksxhG5rfvAX&zQg)5>|m-F+hRxK^~*||=iZHJ4t+4-uKz#qgfkb2b5X%W3R5sXcf zoP7NAJ`2W3OES$DQ9!*o(ya029DRw2+_SuhRb6>T+U$?m!P~Tg;kO@_iLJ~7xGLK8 z<+GLqq3K{1*j?U#VQT}qF27UbHi$ln^T-|j%)qlROH!*K;Y2xQJf<#ba5EBPF5kZIIz_H>W zcH+R#;dk&mh?9WeL;}uK2qCCMClL{YFHr+_NI$Q8-{(=~V69c>wR?B({eS-V{rg?l zc^)rSt5&V5T7KfdDsEUf2ov#T<71xy`>CE6H%PQ$gRF8K>}-Y7?{Uvsq=ecTA^g=efU7+p`|oLV73RFv(#&(Cbe|a9 zqIVThEdBziRHb;oYfPi|ZSHUoyUvk)u;3%i$KuJ-`3Y}z<5LD0K00^4BLnef@oDmh zBWzo4#}*6c_#FHD{ytb35-dJR`?vyx$UIxG2a$T)#aI`P_hn-vahZP4ht7!ob6@lc zMxk3v($D0WXkI@Up^ReD#72tK9s(MA4#kzm_GvNK_DA&yTQ`I~=C}&n9~^R77s88b zjHHe~CZ*fwOgCQkDMBW+NPFYT$w_p4rZrMh#D?Z2-RW};03&|tvY@$%S5=go{1Ja5 zj!>6o5?@>=Vcj9&nr{pTHT{zON*&IMH4C}ZBS_-p_4Jbv2;(jl;a|fMrVV6lL)pf6 z_P=4Duf3)dDdJ$-E#{MaHpcZKO%hzOAANRQg`RUbSywoz^m61MV?!mCe1^hFr|L#m z&n@-?IvroYG3=?BmH-3124yI6Jw}m*gHj-80||qUkZ#3N`IMqWu&96vvId9ZY0|br z!Lfs4U*JPstTGxNSTzm4!Eb=s=#uo3fQAwL0%X1ftlEG?J0&Zi%t_&aCt@EF0iNNC z;{8e-aD(r1z$=nnlt>ZoTP|>t(p_b|bV1WszNQcq)(-rrgeR(_cI1|*6v~sVZFs!K z0i=%)Qydh%rn07b*Y?^n)(7KutIC#Kx+IHw9(4s0X_M9~p%v+g!$XxobuzcGvMdPG zmo76VVFz6)y`09>abMaP&-)S=*?SOC<4Un}8~`NQk;^*BlxvQR{g(K9>ni~ny}l0K z3kLK|uhj8Ts|70`XYRG*0YL_YOAaaf-+msoMo1=3z1^8?en6d_U9jB_@&W)lAyVVM zWG=dF5k^res{-WOaVAj&lbI^lOOMB@*TE8W;sZ;xmCuW99aa@|Y%#0=@iA00qj4WV zQ1_#KH=R9|%Qy}ixJkW%F8K~?K4YNVn8(DN7=8??-oQ7II2ckHeja^Q1=}^OIN=)H zL#&fXkK&$nkDEwRJ0#h@Sg~5NPRtd@ZqbPFx>)-6yPWi-7CC- z!-hqaT4#Zv)Ex;6qORkAg_=A5q90TDZi2 z70)<8)5%($X{j43mJ2%=9$Krdelnqy)-u3j#h2`&V!v^`*9KJA{>1mqXG3LjK-*5- z@%J@>`ly@~uwP>^5tP(6VC1}xd$7+qtuS=Y*H*<)^mLcCE!{inGe4$8eTnXR1Q{n`*UovfNA`kPE2Os?gW7v zT_^zY{wp_Pcx{ZyQ|J@&8X(#M1b}(=KAjuV3k=0AAopcpnHQzx}z6V|-t=9;3;f zI`$kZ%N-(#Gr^GV+1NM+)=8k+3HuyHf!q6D-bBpR5U?8C_9nV=>vT>o+wD%2q`Ku6 zDG2s+Kxcb9{@h_&K{o2Ty+P55Fx~aOlrO5QwgqtDeieUg>1>T!TiEx=CV1fMuAkIU zD;j9u11Fr|pfyS9R2R{HO`oW{UtQ>~Z85R)ag5gnrQjZ}GC33xHYyuel1+z#7dsFX z7z1(zbrR_sU{mKxgFxNScI9A-JkGeH#50j5fm-zrWt$Fy2T-p%j6N6Ra_jLRTK$~u z1!n#J5~VQ6#+4fGi_Fw4rLpZ99C#)O9B7c>Bio5{@iDEr~w-_=PUbvoFrC-k2*dW#^Pvzn!WS3Lgco&tD}N+w8+%hQo6n7 zvD#W#)d69>cZ5el-;xRdre3wH0=}EtxQ&t0`7HR5aK(TTbJSeT@8pEZ!GRJ2ako_4 zklk3cZM<6XNT6OOe(3Kz_D{a&vES1;r0f(F|BTOL2OC#<*!r272f-3Z#F*HZji&L> zbztYzy@GA8FA6ygqyrpTRr%c=>4CUVbG&?3+WB zC21j|S@u1xKjEY@K+krQZ-KE!9TR^Oe2*2IEaszx7tBL%R0X%pH9{LnM6I(GcF~+a%mzY>hdn{3)h*Wxg^BA+qE_NPIac@n? zqqF$)I4;lrXSHLR=yRQ;hq)$Z%0S*fYXsDSy09r#%Tp%~wOxuYnZ$ugF>oLu9>?Uj zGI=_YHMV`hzVRvJ|8-noLQ(h0cb37j5<9{^M0@%`1g-jOOLQetRoQL(GH8F4>{DDd zJi0^K)=At!;a6q`l^@B^nV>F-o55_Sh3`%dL*PSNX=}{n-@p}45GJrA&-x&QTl@>K zg8@snT6Xu9#;lc3p za#?_h$i#21uD0LN-_w;!!oIQ>-)eQ5KsMh6e8qpge8WI7JM#RXt2Y7*XA?hY-yNhy zuKrDlnDY{QB{j7|*Fx%T5PM(k3VQiInIr#HzB3kQ?AuJxRNiUZ+G?L9d>CjLvGy_Z zb3j+3AE|J2IeHF&N%v0r{;lffnJzHIqn%q_auo1Cd%!bqz6$a4quR>2MlONzPOW`&F-%itqzyvWq zcIx;761L;z3_xpGgN6w4RksTNj5A#Ir@cPs{h)!`w4ktxuYt&C^Xs5hMsY>eNy=nR za|}cjRW-)Mh5lZQH9=RJ=sdD1G8x`$8(AeaTypAipz%?|ewQx0$V(ZU9YU)VTP%~$ z0@rAb0mu^4>>Y$DAm{UP612*wZsNkZ-3&QG&9*_l< zuEw^C`cj!EPZOGPlDX&r;%x4t{gZd_y0vkETig(Ce?j0#jXC?>gQ%Fb zZUaw>)Lo*7C+bvL4MYt9qe;&z;~K(r&sFJJn0vCP%TAE9&i;MxvY#~AM!&#r@&Ru^ z3zNMxNXoZ#X-(_I_P9c71}|bZ*o|4GRRm6u#JMK%g8=aHFSv4netyR74?RF#L7(oN zs+81Ib6(p}GVF4$`i^#Ho0Z(*@$+NPcyrvbWc++^^mn`hV*WCCt74Ctv+mzZ+@EB*bg^{t^}OUw{% z-?RgE!o|K1XZvr=ifA6da}QJv4<3w8fQ5ZkrW>&?L?a@YHyVE!+bVos1 z{8p;gW=SZB)MdL$+~DyJ)SK4$3S%Kf_@8SZq~|{-h`R`WW>r$xDw8=P4nq8+O|*Xe zd`vB+Y^(-{(msxwfn$5A?GV{i!DR_z=Q`nc(I4A9Wd#LbN7&$1XY~Ta9cZ2wCp59k zTKg!xM16k8J}42$PUTrhj9Gu0r0kY-C#g%>(lX|mQ6QQjxtPNFjqxsZhU%Ob!=AB? zE0@`0hy3a+wFNIwg&dX42yv;oQv=>Mk(FG4{iWCGC8O|Wp_^a6-GNZY{@Mz3V?KpX zr|QmrX_-8$o@Qjz1pZ`4>S(4%!4)E2(o<_k*-^psi-aJe%mPx~Mx@1K@DcG=p}ft3 z3ZELOz6VGp9s z+B83cVapYmC#`85cz0Q^W&A6+(GI9z9GHrmBGFF%%P!f_&ei%bLKi)ck`Km8#z3gq zYJ|aZdLwt;CeHKhcIV#{&nPd_6Pih8=6~oLq2vKF#=Rj>fb5PHVb68jR zQ-@vmj7a)R_8?*za_uz0ulFw5WgN_)_$fmS|D?eCE5r%mbcLVG#9_#KY{DkkA&+gr zN!& z#~2OZC@FELMAXB4Lz$>8w-TMiB_fna+a$`b8J51c#DuBrZ-WoFPkCNJ&bb^velV74 zN4}y~f!uXLYZBhhiKjWpg*ru({rFKb`UNs+bG3VH6;NJ6Eo_c zZAYQ=sU%kfon)$~g^x_ONC<@M>MQNNj6ymUkEQA&Be!R_s>hB7Aj2hdX&>cK6(`I4y~*!FYa1I$7v1k=;B4@-8m8w}jiwI~+t1N7HgjpwxBC-!s>LKhe@24XH<)FUe=XU?Q9*8;D#Q0N;Z`>A^0}4s$`Oo-aMG**XxH1m+_U>E|n} zmy@_i&&2e09KZyk{-Rot46rvn25&jMUT2^kFz5w%JrK#4Ho^ZMK9?xU=!`%axbLd> z%Y`%XMO~gcF|In~DmRx=h*M6_!*-h=Wu;A~4tD<-6fp(|eSGm^%mRJ0I))9#zj2|M zS=DG7+4jjE!vu*=LXJ(_SfSp)L?DOgN#Aql`>cSKpDz!^6F?f1euPRF1tff*_wNM$ zs^$C+h;fbD_CCen$L>oN$59W>icliVP}>%+n8lGN*lPbIzMOBl-lXM_gOwq6a_-|R~rlDdY47PN}2W%@?;4)>~mw8Mu zn?x)?ZIS|M84wc!-vfs?4clv1n$cnV;h`b9<2|Pd=j#N^mxTk;(=Om-9(`vIaO_m; z?eTA}&56DH-XY(-5FqLc==~$CX3_e#2?KT9(6HQ!3L!}##D*F$cwhMy{L*$OihIOH z`12c309rIaQ^uSh-HnbDEV|VB1?n^)>?Er2LBKMZ^ZP0y&W&=@fWj?GlsGr$GLWwM zQek;7qhkT&%;k5Wgbg+Htw$=9v~ik|mL>a}o|4gDi)gZe|Gex z9%@{#f6d_;Vq2)dJxBfedeoyz*a!r2JFdZW>GpkM0^NgKq>7dGCeONG|CEX{wIa+N z3AtWd*`d#&yHv#|aIs3(dKY^JF+j8XRSp2&^kaD;^Czp^;fSn1!8jq-9T;w}O_5nW z3PST|2lM)FAj#sB+%Fl$M)8engz`v z5y{e0NA*!6Vy@TEY>8FRY^(f2#*fy0D;KB=lBtip$JmAut90ZC3IM@PFsc`F`e<`~ zLuNflG!nlM64>hqwI`{Q&xCzx*4h4>uEz2`iYQv2@F59;|3aSQHZW#|bCYqeH z*l!Y5=e42n(bW2UY`fEY-DnlXb#O@Edik^VzROP^BZ3bIJR#`-N3O`smbt2CL675& zH$KpS?s5-$VxG6{&;c<#wgDdV9=~jYwvQ4YH)`O?Tj0ghChYRT1#bH@6gQrU_$g;> zCRf^|ZVus|2m5AAOM{!Fi}2clNIr@Xd70ssk<~Hh$0oL}Dr!agxxUyqCc+9C^CZP> zWr9P#5`cSx>3=qN4>sL&(Rpp(7*qaC}TGKA5lM;KVoV z?;I!ky$>+fnc9{wNvg=q<|pgRz6w`Ui;N{K8yFn)5iXz!2!)Xn)@Z1#Fjjs>ZDn$+ z3P9mZu#eA9@WK5cU&a>R4=DwheERHh^ge6-6yJW{H|Ldyp0t|r`nkF-akAWTp-!rv z_2G?qlNU)C*#Az{5vA|y5{|Btph=Z}hA_blo8*-pC@X+z-`#AWjpO}x(*r3|3ZEoj zHj$GgV*^y;A>9`QQJsAEFyth>YqNJ_-|X{M?;Zs|9e(+AhKA5SB;mvwV^aN2+g$V} ze%dzTqAZIJLHezjsH3=~5_3>Q+9t#O&O_tUaFn_UV}ve-zx~pRLart;pl5*|G>V!;5F=_*RKJ;oJ&ErE?2c z*1G-J+Zx0-H})}@#doW-9tTe7jO?oueYZ!mVXosX@AJ6L_4F&|NC$+pM=f5fybC7X z;PNk^-F_`#&x!U5hC)=(<0OiByZQKj<#dL~HR)WjTlJC11)67pNpuZi=f$Q+T>}Vo zt4awUx0czezxXTL-QeyCzH)5hBciJO_zPfDdah7aaYBS=4UX($xsu~vDxq}sz0J?w z*E1KcCw0Z5hbhz8#Ev5~+N!M#PxUj;`hV@C5>pin>-8JD+IxVS&NZh^8^H2z=0lf=~1jm(cL zUWA8R636GyaMpMAzzv=Cy}>nK=X{m*Q;vIK@sszrm1r=*w6+>F8(^XFt(Pl}zsDq| zQsdB9Ok&X)bN+%dW#yIpZVZowl&y*ullqxsHPBg!uGhvANEu;z7cIfAuinF+IzMGB z1bWL}asX^E!iw=f20|vjyl59+l z`wY-6lR88WkgWJXMA()e8{G5g`DcK6xMwHeHl(!r_1TEJv`fM1_}OhBvzzl82QAEb zhZ>IdUZjs!NYxwfxzv`FiI>6j!Rd=r8hDl#I8#K1b)}SxJua&<$dGpuK!LZ->o4G_ zKZx^H61_d-k^4?8k@VM!5>;iS>`eQSmR)0txZSgm;I@`gAHUb2ZHoXKq3yxuRucjz zN9(Vtp@@22d_xKNhDZpZTH{2?SK9*H!Lckg@NSYHg)u0dzzXGt?$y)oO5&OZpw8k`9=3G}p+Aeg?oJL+?I} zh&p>-($0`U{~Nn$i==x}zoV_IV9T#x@A_;O;fy2Q>=K;{jowSOLbjl!wI%tt^7K9A?DJqo2qp$zeZ z1`S>`q%~A*V7r8LhH4Xa-6|+&?6ei89~mJT6FbzmwF3sIJ_cNJo_C0Ql3;T1<4Tm+ zweib_7&r!jJhEk*oSb6?jaxIc`i4J4e4zWUR%yc3#rbLvaSA1{Z%xa#M#!Ude{?_g z(pW2P5@&5asl-psmc(*xcwn;=TiRin0gfwrYLfv2sl7O=k{IfK4IA$T(!NO*VL-#Q zodV$YFgt)r8}U^pYVrhQ@M;worR;Uor6;CHR{@{K! zNOe>lRZ8v{#x48on}ausN-RzjANqb)?y=AD6o%I>U*r_6N=i1H(;_}?Gt;g_>bql~ zZQwnxf95X{E-5W8SAl7pWmn<}KWvv=D>R-2uM=YOB15L>HdGkk!vdVJ@l`Tk#U;_$ zs@!Vd*;P>56X>Bq*5PYe`giM1uI1l;J%r& zDqjUlHL~A_8t^zbczKp&D+dPo4<~rJQ2Zdn@1L}y8=Ei%Z6=H<2Yq|{GLLM1~JkEny)d^u%?U;rPI>s zDGO+VFo<9!= zfHO-(qJV2cthC0H&qJwFF;S*tjq%pc&?J^I;1@ZqwZ)Pc5`S6QS|KcRhD@Ls55GiB zFEXeoaYsTI>1nhtMGXkAY2eV6#IAWg?Ck3&qmf>pQV~CL#hK z2pf&M>*Dh4YcvlzB| z!`z8tqcVBH+&`Q9;VOt!rR6LqdC1^n*j|-eA7+7*2-BXm1)phC z^Kq~9c7S_X$bfFFe{hnabUP|oE5vLtzWw9}Iy*Xljq4=-s*GD_9Bxh#UW&#qYN=~7 z(UsT(N@VA|K!4btZzvw!T7bnD#;J_&capSnvYj+@7%=uO)e_p8_Sj@M>Z2Is8n4j8 zP5Yt7kK&NnH{@LS%DGwuZs~b4mC`mfpNa5~CSGF$6Z+S-|Ca4RIle!I>Vuky!L)x} zUw&^&@k<52`FDf0zPL-y(S3IJ4Pl9c;s-xyd|E9yWj0<;iS==8q;&yu{VlfeKzkA7 z9ms>HUfWoaDIm&o8O9%<;=DG+B4eO{YdAI<-w zx&A+==TL0^)E z?ti9GK_DPJxWOG|aFqz49obP?5aEEsi&Y8yl|MQGtycAgbm+m`_xUC6w z$FkE*0tIpOhPX`|-zgg@Uv4V^hqZ|!8Q3>zGXxqQ2+5LR@^g2Ljmxo#GRSoaTP|a} zMaXeB+}mqS1kff=4Aes6>I4W(ZZLr{&e2>4KP95DTO1zZV}L33Xuth}t_<+Zu*RdKA#AJ9i?TY?r^2=$x;1RY!WXeX#G1f!YYvs8x&4 zQOt`wQE5$cU64RaFy<~HW>VEadf=g9GYWY993lVGvsiatDvyX^yxK^z!ybJ*KaKC4 zeo=#UZY7`mosAW!u{gntma=`nTPH-(8N}zcCn8j4&xqO>msPt`19#eJ`QbAhE^4sG z;{=bAhEn|m2uhnhCxjyK_HeWVBQ~k0mGNM~wZnrs7jVF0?qNv?_pOj0w4DwE7eL=L zcq(S|B{$QCrkQ)>b~C}rLQpUq#&;Vese5|QpYD%A@dVrfDN)t%U@UQna{1$y&g+?a z6eK2r@CI;6j^3}}HQLz$T+-McKAJTu`-2pF`N#+e4)>e~OJMK8ni90t#?5l;f&m>w zXs9z|_;mD4_8?>kCKcgcS|%-J+m(~8_j(vF8>KmP{(A6~z@HUAJr_wtPh)|wnrL7DcGs+OSE!950*&~$nHwCsF_ zV^2ZD4kw5J_Adj(?*N!~Rm2G(*4b|xJ0*zV-?yLWMgqRIZC1k;pz6N(yqrVoGc_v( zJIHXLIWu>xu0>%Wg;(QRq~=Ct_D#(x4wV9hwXw$OM{M>7sOG^j}{J6JB0$K zZP#2v`n1bEb^lX!r2W-*B&F59pOf$QJNGpDpAmXYCtNz{N?J^WM)N@J)(BLqpX#=2 zc!Ppj)#_Myao!}83AH56a?n(r0RUI_nS<$Hwq^30spywYuvUkq7Dea{r1E)pF7}r4 zq9#?Bx+5ql(?op6@7pidz~!5Iha&jcNSM&ohX*ga9T7}0bJTjzz9cg*#I&j{itNkS zUJ$1TYD4M&SoBbf0d#*kPLx$I>Kr#D=vh=^=Cpssq|9yg9ar|me9|s^+|Pr{D>2kGpeqGQ7`S4Jjc;=yvMHFtHYIw5=Q+x9Rk6 z1-2FRI-hD$+J6#2haZfe?!<{GfcHz~?3J}Y`8dmTy;{NQ^ReGorXLtJCj_qJAAFJV z`6VQODf^m4H~`cKGw#B`aV1?abSpm0T9io*TCpfbIPTF3e164FIs3MidCzu5jWOHC z;K^+He&}53&o&ugTS0^KU>U8QVqXatJ_tFpGbAQzRo_kH*vzF#`^Z!nY3a%YzwDm` zR|lYyjTye$;M(zQIO#TJwn^}?uvD=vfeDyjaE-ltTyThX59i#6{7i1d_FGAujW=PK z*?cwyX zU;a0Vq#Yt_1-jM@uF^|#wAN3V^3!>4J)04%?a3?|SVLFp&H6^c!Se6F_wF$KgBCVJ zS7D#0WO#3aX7cBxTC+fLX&OFCd?CZ5uHqMSxN+t6zV)|#)`^leq7x%d%9Cn!_3*9E z(03HrYS%L$o}*;DgkQ(5O5~};yvA?F5(6M}BHF%7+?(T$@g2pR;tb)h)=64Z#y6Y+ zdC;B6P2bhFrw!qE+3yiX8f>ER1`C4w%>3By9XpAT=Hq(~ab#z-$B%Kh&bzQ(UvVkF zuKBe1AS&Kp2C*%U;M;;1G>$~0d2O$JHwSCi{`8*Gc1)+W5WMO&F$Ogr5KfP^&AE<` z84I!qr1h{r3I>yY55>%LV>4ho&;8tM3kwn-$swfI$dAHfB;Vh%rdQ#+#?(#QlfmAG)zaC_RZkrnS55JUqWx4 zJ%O2PVC5Dj&JvYL>rhXC%7UJ+K;;D*U*tJr_{WKv_s@$0dXwO=L#&%P=vhKb<=-ax zWKGe$4&1rH$DKwhHEzyQzo5Nyj!Y^EU|7X4BOuu^pzf|W`kB+Zgt`yJZJ&?pM2G3v z7}mUJ5BzQhMrUwsknY(A z4iqr}ZrfPuJgG8tO!T#hr%?I=GkpV4v3o$cRZG+~UZ19k^!9z-1Xv*hgc|r#zzo!P zR{J}h)+YiMq(rI5;?mqH@3&m?fVHQ zdjt>-ghqR(FBoHy%j zYhhzq6*c7r+CGFKc}cH(U-f|AMWO()mgVB#9%(YfIiHTzm&M@BlW*OEM*`kAl8O zFNq{DQu(zOb#kV4-krbLB;DgoP10pM?>gx_B1cUtOiN+DaC}X%!$NrN$VpYD& ztu;$!vXzE=wE;RHA9KF2Z7KqDKTJy?1J>qadm_Ch!ntkI0J<~0GEiw(P$RXN%IrTD zrU*l*`&W`ww5US?n0To%k^N#jWT@_lG(X4o@lb)I?+Iz*Vn!9Dt`(n%THwIV_EuL# zNiXQ*cA)n&P@wIqwrMG>vNvNp6LM>X6$Q_J@Br~Q9@5{p@Z+=+Z5g!Oc!#~}--Q_p zg?YyIJy*9}siM2C0m~K*MAcXl8?egQ%PPD547VgglKJf_x=0D&1s!Z$*{1nN!-WZ} z!qAJo7-fiKr&Dn2!@}nVi@!GSFyYDIqeFq2eh2DGE~d8D_Cezcju7dCK|etCUHjIt z`4GX!_ORk_)pv9E+ZP{wT-6EL^r_%ZoiWi-#;Ik3*ElH3^%N_8h3Q^bt^Pz%_^Hrm^SR1WFy zX>!YWOAg3(obMU)d(sIxmFc$=S%rBX;bWvdi{p?bgR@q_@v>=Y(33vfJ6kDnzAQb` z;w#SrdQbf9jSvoZNmjx(mpZd+vkk&zYcW&heCbP6e>%A7k4POM8?KxPk!^p~cw4vl zyq$hSxXkCvJhQR=N>zNb)xx{ocN!s4_56*q=WO>UR+avFw|p$`<8dNs@<~?qR~dUy z&!xnv)-DnOnrNI=C)ARVK?-#uJ=C3){(qJy*3iUh=g4@n4r+mTj`2Fm|+ z-YvxWzxL5fJM{eO z3HL}}9^>eJ-zQRwCtNrskOeokMog8ykB4Av)1iHm6XDcdq1UG8U}xhv4vD?H1>%Wq+i_gk2C!Y(8P;$ttm(M3!3w=f98LSZiov4L`(0Hxr&U*v z{9W!&#s9VA#Dh% z{?p>hZVN9}DG@Y}u;0*)zih){0rc&+zdkLzYF(mSUA!llco58l<&rjjJzt+4pJE#d z*muMi-C7$nh`}6V6l{Ot<)5myI`pj$QapT`=CW*Gy(X!&_>2_%m&7jxf2cX~gA>13 zc)I2D8XDI+)I7NGwNSj1geXmZi^r`uuA%0rDc03{DUnud-`dr5Z|vz?EZ2jbUlLE@ z`{W6jFwSxcddDxkza(l#4od z(BsxK+B64G325HmmpX2ciQ5{Mry}jXU)fEL-d`-Du5n+mAJh#XEF>ZjU`WJfAPBw& zWi+&8#ICLxPS= z`g8+y7HF`4H`Df>!Gik#M$K5b3Q#y3?5SU_2PEzq=-HY3GCrRnhvwOyU(xkN@mU6j z(=8!lC!q75I$#Ct3_F9^S|kA-dRYlp1$Q(M08Ia|5P2%6jq&z<0-YEcm$O;<*I0Fb z1`w`tr@WtYF{9G+eymP4V5fnxww=ISfh`VFgAhX~(D2$20h9;b7imGWMz{Q5w|ALQ zf~_8ID8+V`O)_(FOv5^%CoKuAHkfb87(2cuTsfo|W2 z<`Swhqi+z55E}Rx#Jm*>Z(Edu(}Sp}=3ZA@g=m+97x!j63PQs{XUWlOeP)tDx-S_X zWqXkTsbS(?&wy(iv+sA5v>2$If1u$!)40A!Ga?#eLw-*a30E6Ni zpPZpo1|e42xdWwxx$lZ7liOIVryw^$!Exdl0pTW6C`CJt6K77yW#0wRJBGr)*K4nk zBi>SNN1oV6~b#A)Hj7~rj;n{N9T>nm?X(CNdge} z@%pxiZ5uAH(EwL=m3{4h^-c|e`{%h!?hQ0ZhrwtZFhj|DTo(SzI21q+j_nTTkxhFp z`aWn}JOki93U2XBcdj4(eqVo<%II|wd?xKDlyr}HCd%-OzS{rp!LPYaFh7`nfcyA> zKk~J=eLfmU6HTJ(P8{D|)D1H>upd_aW&41?1gMT4!d4?XGwc zV==%jZw_W|fP(HJtfF;Xglhu12f)SSWQT~SBzpI^UIm-|zY_l1^TZ0A!8}R=_Vg0{ zQ7&R;{c94kvN_aQyCM$DNs}A0&v%DS^iyur1w=fgv*U4qA!DZP^R=E^Dd^xfLnzgs zH=-0{KLdt_98M}9Z^#rskM_MyifDa~g%LE7?w}4B5nZ~fzE@6^B3Ro5Bw+kan1EKB zoxLwm4|gRMgb%Lw6o~(@jhN6{I_nQsSq!P|6NMM5N9S?28_b zL&tK`;7Fx>j1%NhbT$--Ex}uO&xc}<$Jin-ug@Oe>m3GN_Whgwb+Q_7tA{q$kS``y zOi{VpIuFemT^Qo6qPuQXxuBrRYT8(kyaX4{_R%; z6W4dw;*PuiPp7tm>5cnPN@B{{l@rY48F8|qidT&DDc{O=Q?J;l&wHMtGM9-o1?hXf zefI60ln@CQQNls6pb)W1C`{Ya}p>b_iC&>=`2w~0kxdh6y5cjiNr*~)(pSg*gciPvh z?XyG_$5&bBCpXWr5f$(L%$p2tb7R4}U=o^ItN0GuADmPJ*(RiFilYkf4F8^KJbbGL z2eAK?jaF5RKSz+qqADloTJJ2;(@SL+>~f7y%c3(tcUQ2)xX|&K5|#-4CYzO*1awD;Q?<9WEnRc8YIsjDSYBTNr{o zAZpc8a&VRQn^uXu2eB8_h76!Hm9G&{@5`!$g`5CU}CkTgt*X9K6VmCgAZNWIa-5b=NTovmkd%?VavG;?L=y4 z=;a(c!ooNkUU0xr%4dOaKTy$|$E2^6HdMeelmosZUP9RDl4=mog57Bi0WGz@IgFae z1U(g4bSYtR41#wcO});3(Y{bBRBk;c3hYQ67^Zx`DheRqW4Aq;!M^XVuhm~n00WU9 zg9I5-_37RbA=q9eM;Wx!hFFly;I`wWXb}7b670!1PAr@Za_%ivhW`N)Pl#0$U2^8- z{g8t}E3jhh4Xl%z>Ws&T~G>MlUh-j-@&dgSR(fwkPh=& zU%jjs$haJTYJtBLW4izFNlCIy-%vNSn@cr9OuLN`10lt=LDRDLA!KL;=}TPjOJQY#E;ig`j}$C)z?T5jZCv;j6w!dv ziMzqzamnwjOUP=tl>n~>#p-cf1u@8g;`nq>$?>5+=3xV;@U+83pQjpwI@%UHAowo* z5GZU+6}z1A_qtNeT7A!IL5yykN`2uVr!>XVAbwm5&fR}b;d&izN8#k?(?oIJr>`vd zy}e0bv(vZ4t_ok(w{u_Fj9Ha0hdANSXEd=&9w`*s+wuY=UX;G9u9aXvMkLwS@1s) zxU`Qe5>Gb@S4sO5qQId66_CkBMfvFej#SUOH^LL~-ymVZqFVOQpq=s(T3}bvSm<_JrqGF%y0lbYT#+Lm1VliUOaW%|BT*KMIgNNRsr_WvQP?Z0mX2Q>gc zt6t1~t|{;)Kr*QT8pj()gE*370Fvg!dqjua?{8kC9e*-BAWAkj@mnwjaC=URe~vU{BqOR92O3i{`87Yhq=~>!5_f zRV$&PXD-MV3R*c%a(f`1*LQ7>o=3(lhx?SBZ10C!Y-=kSn;h21uSvWN5 z#lakRVPK)k5d>xTXk^I+{lZeJOca-rHULXNw7*(?x%dkV-WAzO^Hy1dvH#2KE9rZT z$Fzas8BA&#_>fC5|89RlQ^RqcZAzfx~Fi$ zPh5dH1;_fwCT@&%lJEh-!{|=b&|FQbxg>ffTLOWaWwh@zYp-*@U=Blj70x&39Oe;?XPi`a6bcDm zWIxAuB@e50i=EQWavG06IM1o-4B^j%al%ymbAngeX-sjs=5gHC`L|rb!d7r8J_>Ip z?pFR@zn2aUwWW>MQCx5x-)dHvJ1#^wqc|ei)bBNmQ=C9503MRHW zhkc}Itk&V>l_MLMVV6mhWA!najK4lWlgjlXuDOg=rFQwz^T=5`!=%hxYw#*& z=Ld`zZ;ls=?Gkh!_9YM%7z;3HSxKo^;lRIfQTO=ZQvoH2sNxwk;ZFn=_@Df7m55y% zACVWXY;Z>SfG!U<;h13|OS*I8-T<2b6U^XDZHDtLRY_^6)=I4dXkx==taRYZi39dP zy@=hPOEMXSNW>D12kLRF;1s~)BQxC6FnFqXlua}URO=%mt&8r0B>{Mqb-%s(Y0#L< zA)?h6#Yqv(*6=?1*^~{FF->VC04o}O5$3{0U#=7osi2lJg+3e)p=txe`) zhf*cjK&>jIIrywG97yz~ea;h(; zACb;6v}u2pXGLd^30UzVCA_N^eBKoT9q{P=ge~N-W=bHy)j%|fh8A7C2prDDcB}kx z6E}J18=Pjedh)pPFPNR+%kZAZ``k> zP3L4r!Kvkws-_%pCF2f^hv(?|98{0MeB(_dh|tvUu6jvS>;errurj&IwQW5K=yU$G z%yX~(^DGgjt3M|F8hr4TrT5Ka`ok%iGX`MfSs*E*3@Z62{5~ejXfRW-&2(OwC3W)X z&Q=CtQ){9&Ir@yUgGyO66D=EfrR4s&&W!;=1o$zD5S5e(fp=h|gA@w>sKv_BS~_AX zSH(GO)w5qW!tM^jpF?0t)p!=Tqd=v+V*EZ!Y!PpKo1B%#D zp4oqhn3_O#k$if(_yL>7_k5G@`N$A6`;;Ys{j3-I?hoIe5qGLJrXvrfuU^7bk7E!v z&}`YxP%+t==@7(&L;2bax~3}~$`_`5k24p7b1f>c?ZN>@YKr+l!H7#g+h>nPOJmic z;#Ua|*l=L067WiL&eeo*3WKuhBF0DWQ6n-t{a6{_H82_GbYl{8*NO%cWdou@jnWZ_I~o9E#indzz@pEW{T0f|HFr8{C%6#L z_I0+}@0QscF*98~}W-&eIsoN06}_dP_ourU{#4B2QiAFs{9K;RiYt*O_`Xv_!zUNe|gQpX^}4|`!{{N^M|q=4jc4cA*xMKyAWS71jlD1 z0u={`bQ}Py&>bkvjESw%`Xa5;U z?7s^9_~MPq$oG_9?O|1XlwWa^Qnk4ieU|;pb&@7(JRt_X{gTxK@T@pNoOA_%*sjvg z3bzG-*C`1o`Rh|}GDy_~z&7BT5z$t*20bGFS*oaWQX8a4R}9+cECdSu;xw)T20cks zwZ#fp44>IfiqEt^BE{5y8YFI?7z(|XV+%T=Bvq&P-K`2v@l6KB1~8Uc_C1LjeXwjw z6x_5$EE8C2U1D*Fj-cO>fLnh>*p+qAcZxI&38kd|Y?Y|o>yfWASe$ylpT?6R5%m`) zc23zhsIug>HSOVu@eIJ+*QVXU%L|||b9~RUZ@NF_Ur6CYT1vw4L8`N7j;^LZA0VQr z4;E2O=E0NzYFl;!S5DmyNgq@KmslZIu0KR_a!g!0X#&`9C-(DN$uCMljWf27PI9|_ zmdM5z+rxrD8kb6oCcA6zFWY#}`sKj@_ikLkF!%ztx`(AT)Ugh(lpqsxkTB8UQTCpN z%o{nVd3{{)Ozyy!ZQ<*aE2Og%K@r>pgK-8ot(QS3QrZbvy_<@KO+Z=FzVFO5nsPu_DKslF?5Ldo+|3t_Ue}R8z+x{90aI3_e|plQeKuxDlX8dC0z5zUf4a z&h7J_L~N4sD;Dc{*jxUFKeBzj1hx_Dy;O`yw3hGcW%W3>jQuoIvBJ zv@SfPD@TJJeXNcX+-+>(XU|NAuXOaf#3BHzU z)OG|vc6v6zDl>P0l@e9}Q}3agt#P6U#_B!C26;)SJK5ab4?U?JYQJlsuOqq~5Ezus zaR8N)YCE%vf@2k~FF?_xEBsmd%~mWU~sU8*<$y%LTABF24UU8SddWm)n zti<&+bt`RTGyop$xw7d7CzEWq&yWL;!n{e73`7HfA8tT%+z0J^WbRKD+@As&ums-; z`p)-9&PwIWN#+>`Rr}hAI37E1Six2%wzV97e++gZDPyQ}b63R*C(poHB`h$Q$BD=S z1aDx_7zZkHxO_*|KQ!OvjJc@3HSP+MeUzK(uRA7G45pRrGf=*Fm934~27+@%I2Pm~jh%2Erv>g>yWd*4pVk!5Q?b>Eh0shKwT9y`L2 zq;iBXH>^*}G0uR9`UA(DMTe|wg>gTrK0TYlB z=A`-@AvQ^v&84X8e-40;?JcWO=WS`JwY*Xa4ow6bvlvTNWOGBmzl0={z>`Q$5aY{G zZnYz$Zv68LPI4%AV9x(MZ{=!SW+@)vIeKPlUs+I}S|?vQKd6-GCol$JS@KqWB@`eV z=a|)?VHsB^=u$&So>hNK)%Ut-}Zsdg0*raJAU-37-jr^dEP zn7jh5X>7SFPHgG^Vzro12j50CvNeZ3XLkd|fbbx>#1tX+bmZ@1A1>In0uHWqO7)oS zV&o4!Uw?0N5ivoA>~Plwj@@YdJ|>g4S4;gWe>Maz*h!@{<^gJUVR%rXFeAgK%6CtD2+02c6XMG!wPsqG&d2YFJ z%h@Df+YZv=G@R?1LpELZjPYw@epG@*_1W1<9khK)aNq&WQwdLdD-s-qv8V2zM7WtT zqs&rPz+-_E)g2;pRXGKo*(xzC#+6;^E>|epj~`&l zEt+VXKWf`|Y#*Di&AlBz5CjI@pVm1N9-2*<`y!Ih;iZ~ z{E_^k)>iiSma$3!fZO^qxVwP9)=$d*4JpwG$M;w7-cIIf(D5d_=uE*iG3d>(p^UP#(-UYS`A%BB}~;eW^`XuhJ>4(I&6>#UR{7IqciIS z1Qyj6s6`06{4c?JjA{npo)$prhKHiTAd>*DK!iVkSewCVSjl2#L*Ij-$>Fuppt0i% zU2>_TB2!--zMi%fsytc z89<%>RoCY$1ARi)3fcNsLr}X6$3DiNKTEc+6E=XmIZFl&JLK1DOoqI;0pFt`D<;7- z?6>fllqHD>ksw*%g5@4@P>T&TP*>!ay`TH2`FXF_=h_&_Ce|um6QISQ?-X@|Vq^Pt zelY^=Qf?7XUN6!FT?r^~#8cDv*MXtVkc{l$b;x5d{3&i5spHSb5L4=xNDTUx4VlRU z%9trb>ado&ukZPCa4||CmH|6chB(Legosq8w}Qm?F!!}L%VJWi?W~odpQ3uS&b-bL zRvdVbD)9n(!8Is@e{D0QU`?4b)*=K9PKADf%jO2WCNa;mM_Xj4TgNaJA2hk)WSGg6 zBbVv-?5`FQCN@R^!i0!yuS<(;I6e!CPt(e)H_5Sm7~4c@$5DHKOk`iaC6sLvUBDTL zlDA?85GQD`;v}xj|7buDqBI)^Ui!N;7yX2gOVW#9#4Nmr$;0V1hn9)YsIQh)(y#ucMrOn4C%nc~a@wzm3*W z_aoI|Fb2y#vK^@MTnO7v<4Yx=e2$ao%5oBK%OwZKFYyNa7&l@v+XqO`{jDT0O8Z>O zCV7cj^F@9)4%MQtsniS$IDABYwTG5gNpZ&WwH0oxM@V#n*fF;dU`TYDaC938!P>R@ z9}61jz)$L2Y``qOKP{4AyyJevCRxy_9(176U-!<>s3aBld?f{90Ih+6h<}xTPlYUF zTkcsu#{=*K)RE$I15Lo~@YFKr_#P^eIIa}B*pe%sm3DGY&n<$u?0;-+P)@>S&KQw1 zQjWrd#jM`q@!u)?|z-CG}#Zoh)vM==Gozhi8ec4BgKjrzGx>HyJe&t&fgmlgw< z0EMl+rAAsM1GuzpAZa~J5>!gKCh!B`_LT}i%f3diUn?{=T!~Qh>~62Z==Mj6;}XWL zeNQK~M_;E=K*tqeCeAu{-L{6g_s90miF}}K55-wZ6qv*;n3Vc@ma%fR=|b|FhM>uYZ+YUyF4&w&LBV&?Xir#U5dw4K0 zrEO0TBWx=HN^9-fiBDU!BHgZ~-_~$&GN+}opFDzFz!Os;$(XN9UWMF*1YmG2{%-&jjlH;sVXMMSp2H_NSRnJyNRivkw-ZTKL<$6O#D7eCZqcCT zV^`=0n(M@tZP5gK2vf@OK46#H3L59duCPaQeQX~cC>T5VuB1*gfSyk7maFdCb~WqD zBm3%DYG8XD{|xz%_WEyfh2P2AFQ0=K|LXn>J_BrzDjE|c7Bcov6_>s*nOS#enQ*_t zPq^Hc^AZ8*eKQv|GhKU*)@0~bdwTHCY@>DwYb~F8j~XGghUo4~>uY-*PfF z-BW;BKcZ#n{2$AIfa5B#S}rHNcUtTN5hJJ#RJtI@XJo!9_S|~6U}Gwy0k}l64BQMJ zbxG`=DjR2~Tt6|FGU72J2DvG57l9LCp-a>Sf#y@NTucvcl&7ipx{!p)S(6t#u;mMw z3g?B~I3mj&+|W*H;MPYcpjBY#11)TvJI?Xq%lhc>j7tOsx&q92-Jf-a?teVThYbUf z1PFKnYVHD!`Wyw#qMYu&s=6pT%;*`)y)H$+;DkUC$E~~NOhhD#H!~q!f%`y8$)=RBYLpdW zd>vu8D^S*odMvMrRI3Bzl$B6AzRy{&UUW{N8%MI^ZT~SY3(PQ`nvc(~6HOypqD)GV z_a)S=aMnQ3w>&H@f1;n(oes&7J#g?bDeHE*GL*#y3!Dd$=zX_J0)cln2HpV9Kq0E2 zI7&V6#|ByZ(*zEqcD5~=S;a)0j+BS5k~?I=i#OtEUCM?xS%Nj!PTGv@>0FgxR&0Xp zxXkiF<`zh?qZcWIoAQ9j3k4k4t5$WqzEQbAXY*KZU#~q^;DmLa>Fu0y>pXkx3}D~m zW0WDN3Yv4i4nC*se|!%DtX0%2u*O1sr!Jy{s0PkwKpX`jWv3Vm7MX*GyXoJqNJ({G@&wPN@+7Od3AVzE zC3`f8*0wTa?c1+5!GjYEt;)^vxl&oU1Nxz!|BhNCfxE6oAG^NCHd{gnt*%P-e;{(Y zR-xWb>Q@(dj@P-}RzN_0j)EPjSb>id62niNv<2!PknXeVHDl~t6PSaF`W?XZ$0tp8 z{S3Ey;I*B;c_u_@8{Ed}N*<`Ua{^{z58(!8uLllD{qIx)gucJRXl@1cr9uSYKezpI zAlkk(m8vt7Y1-S{$;aXfTX>&^%oTzY7PB}{gl}ewEY;@Vhe(^ID7Z&N zf0DOxHv)|Mxg@+lvU3X5bdL|#c^E(F|1Kxn$uAnr0jWMWL@$6ReP0X2<9`aLo=JQp zb!f+X`Tl|t+)zVJse}mTBRr16tunzPi=|g46f>ECty(XA2VftydvWEo@D=yjIr2+d zri*T!2VBQ;cFvhq0#cPBPFyJP_TQOsWe7~_&=4Un$0Wb^Wzo+8=7^B>nLAAx=YFwp zDy&6vI7Z=TF+&e4w`USt&{+TLT@sIiB|@rXBfIf+Z_4{uF4a*CEJa-mw7u*2**2_+ z{g0_IXheiqSi7s4aVIcJWRX{9;Ml({xsIt zv+BE>M|g%uq)L)@fQV990Oxn!e#<#K`QgP$_Tq%`n{d6Nt>CscnHI{ZzsX^5cY~Y@Ku$vv(`4LlbWBxW_hNk%n3{0ZH5pcqKv-k?x~sG1RqB z7$_d9pTtSRhdV#Sv8`guWR)EM%wYJj33MzzKwC}DtM${K$;PJj8Eqdy`KfVIBdv)y zmI6$)(ju~6VF(A9V-MyFCE<)?7BpBN-Op2zZy>FnIn7SH9)y_e*M7BCyVS{3+qC1# zQax9CZg0#!gNN968hl)_;I$_#dV{zo@T<~uaIPjv@|KgGzwvUYLZk@XvOs~xKE?yb z{E?LJ5vP4*3p#hOfgijvq?4%y$LFz`Cvoc8^;7k)_>;Q{B%R-nz zmP?vgEc?D=0dl()P)Xjd$^g%dJ72u(l+sHw7vfnfvB1c_cj9BmXn{Or*1der5_jG8 zYKc`pjPl;T#hj`wh6@T@)c`6<%Cmk3wvW;d(Cvoff4GSQdm+4o*c(_;hT`Xs)&Am% zxWiTGD)3J#MG7L@p@iwhi%F9xQVj6}rMN!G{J(;1>*v(kKa%(q-F~iKfN^rv-R{YW zLl^_=9Li>iTd`Q%EfFL1KI?ax=> zD6+#O$Xpwu)#W3D(F!J8T6<6d=1BGo3WU5?OJ>^D$aeQSjW)@!SQ#{FXl0#D#Rk_> zOemP-5s;e%AR{oODwGje=DR;KI&VpF$l`(9EM0w1U)skpu`%`vaPY0BFzd7HenJ#F zYb!v}3+j{zRHa8UiYkMDQM^wkx(;g62F7=_#(j84oE^B}yBSB5e$WA>DpiXzP9@j6 z6LXx(azbbzb-~z>VogIEp!oid*M{|GTOI99&TNTnvp~~7@1f+Y?C9;?HoP{vu}KD^ zs4Zzr`V(cSjtEb%`J;K9QAmd+|ao=Kk6>JOPJ(?-o^KIg; z^RvFMa9kyj%9h~^csyeqAzcDu(n5?U_9LoH6FsTEQY7)7t;zd^c!+v3Hm&#bW1`jF zNP9B=6P*CHzp5xt6$J~Z+kQqHwe8c&gW+Z&l3TzSF#0H`%|dg0?hlrBo|p7=$8EPL zuy4nkEDrH9XWiZUO2(gRA!JKT!Y@WJG#qbjhD2Z6Q$4v715r;8iD{8t<1^h$NVZ9Z z$GeuH*yZnvA-)>Wc8!19cF(q|MgzoqNuEO5G7c}IL>v!|osmBzV6yz0AkZdv4canl zRi^xs9Xz&m*?%V&C+kM;u(%yOe)L}Li|Tks_ePmcOqsN++;98xPI9$fnfNACb&jA9 ztB|H@vl!%my}>h&jYKPXXKX;*jyp|bawgPx_FfJkc# zy)HG}jk=59Jxkjp9D(h>4+u{xH#hFnZv`epWsfk?0qO&jAnKW0fM#x$0>Z8E^O~(% zeU9vyalF*x4sb&HFD5arNOGHlI`s38&bV_&1a{B;Q2?aSN)|o|=tle56A#$7eU#{% z5^2dJGU?<4hp1C%w-}laR)Kn#)Q+#S0@41jeBXKEFUDui>pOHmV38MKZE)TgS1*c~ z>RprC^V1hg@=l0Pui^OFQF)H|(OQ+hY|nA~BolD}s;}%xRKz5HnE*551@R8-4F2h~ zvANfTV0(SOd^x@ne7*yRKp$aE*8TSgO|0&_>5)T^2FHK23)+)leJGFhs94w^pGH+oA`3{|UC* zq^1?CsX#Ygn%EnR+o24O1rqXW1ZjIuYOZIM+lYsl=-mh0rF`F|cZIuHfrt&izis$1R*xvR`*1EE9g( zBvgezfbfyIoPqHi?Q2S;ufisuo5a&&>RS`RRpI6YLHnJ?b|<{#81o9x&R5JTeDZi7 zZs+{^EYjYu0ko1w1NHo8>{0=k#~dU)S4T;JYfRAPHS0osbg$+%o{q#yiMR8u z`YUF#J<^pk-c!==3BQuW*rbJ<-_>i}^dl5z^S%4dr@-?#0@j8$#h)fxAItrn_7`MQY_bLWhnN9U9gV!F#s_u9Sddml6i zm^Tf77UUc(=1N6Om$RED0VbeIhNaIesBI5MohzLvOP8^Yl@e%)P|<}($KeT1-GLl& zjB;B!)mYL|SymAk=?e;z)#Kdh4BS@5BsLqG!!XKG*a*p~=u}I%Z(~Xuphr4l__@#; zoPuOzRJ$!TNcrNAgB@QSB|QjCbqEHPJ~y80!!|PHI_P*+(i@y|Tk2d)`ZGb)q>Xm} z-{^ZoM!WnsO$k6HS;BLQa2%vN2S-L#m&SX@1Yst#{n_Ri+}q2>vu1~Ebln#|9;?Qgz@~)Iojy=-}rn zgF0Cd41h-g&(R&cb`nw<9Sv4?4^ZB#Zwe?Q(D%ym`wn#skkwV}abHgd0UbkX1Iz0k zqoY{GWfG*V_HvN;WxvWU9p0y-3=X2N zN4K5(8=_ynNg1iGT4X>a_-H2y#;c@rvDz1UJzZ*g3AMEw_Xg~{?+=W}nVGCahR6aL z(E6z7Q$#EovoE$5_8)EX zD;NPESpc7j+hZ(HnF3JBz+}Tzb16Cd>YbfRJglN*4 z+ur)rynZqsoNjc{SICWH6z{U?t zvjsi?+2BY1v^sVMP@>U;BFzTuKrseymJ&Yos$COUgs2u7@a13HiYZ5Bj&JbJ#>!Ce z7f<0t(IR zElaH|8|?Roz#LflN4VW%qpuPXysgR?Co0!DeTTXY?-O>__p{K$y$+;hkxO zO`2D%#ZmBnY%L^A3TfS{)HcS=aP4H5gMolna4cu^R+>_0w0eJ7&tE3AOm2z%=h{+& zYi|dsiUY`l?I%7-8oBo}j6=Lv^u}gpfP72){EP4m2`=To7PK+jqC>)w1KhzaC1Nmc zP2z%xZdGCUNMd_wb1X!$dqn$8WiCcA&B5HOv!@8)ZQnSGuhfD8?>Q*pC9aP&w#pqH zh}asPnF`d6V<}_0uGcmWZQ~!~WhX-RpIjfXFWZ>rksr_V&$y)*O~7f5Yf_D3-%2Oj z-M%fj;F7BBq6s#)mc4neRwDPrN9OzyS{Rc@^t~adNcd1k-ip3m zHX3XA8k8|MCm4iI2ss{U{ap{Rx8H7u5%^uAuTFxmh=^$uQ}Vys<5axboPk$&ejfUM zdUZ$h7{~2KI!RJOIBI~piA&=%oG`qK7nC%R4Y~IF)4AhonPgK4$FGVPloLPebGuz> z>qPZVg&<%5%^+H}1UVry>B_{yV%jj4o%EB!a-FC30X_rc0oRkL_nODy63J3R`x&l( zza5X_6`mb|H8+z~tfAr1vdKLFTIVmqIwi!l=W3mXm+Xe(k0fUzoIK1SiPS{v%SA!& zf7XBb57Xv{At?ZWo|868W~jSFY}ECd`RChJg0@d%0UP^-z}iIJtwDP>+c;()2x}%c z*}->S>&dE;TNSHwtoKX1aSnj1M7VIVTX^2*y&nT)o`arQKcD{g%&kgRjUrN`;ul3E zu>dTl^v0Oq^E>hAJTx7z^Ysx~Vu=5nhg+GNW zxD(QkDp#8rKAsU*Kpioq@wM}Ty)kC)*Q~Gj8D+f&l}xlors+1{ly1Ky3Vzr z#Cw2Xb7zWXU@?fcd8oMxz?m#n&L{I5^7;yP!+c9d$Wh}q`_855R(L{zV z(kZ_)tqQh+K(_LjOgE8RGA2<hWjqL=Nz;ygiF+T)64wW0qVfc z5Vr)3%Lhusc|W-KnlN_uwCuoaaJ5G2&vi_i&+$?(F;i|m5clf67*DQ;1Eu@;jO60K zMoq6J#rezGB>>dk36>0aG9WF62}lY;Lz~=oW7oHGAK`}1`hNja5LhZt9={MUEqlJ6 z^Ew9(2FEeoyp9){x94HP{+5u40=f#-#%D;twxqDLvDUG7fB~spGBow{n>b3jXj&hM zd`~%ggJ_j>@+j#?DX7aVbj2pXq*Zz^m(_WEm54BSRgd87&1sa&Z@Ymum?CI{b$v#h zw6iax2iZ(t;3)k92}kMoY%_E(;cU3ndAf$Gyim|) zurne^jWaMO{Zg-ioXeeU(!EYfD=O8d{m(v_!n-=-bdv?)K}981ur|ul|cF}5~^BDwOjg) zf}(#vZJXoIirVIORDD{fZVjC5YY*G0K*9#jJIt6Oj85lSZFk`$ErGdO`_GtgOA=Kd z7aEkrqo+I6(-JSXnh@cq%|2Z zxa=j>>*_5>2N#@U8|dVRrjHmG_+Ad2(4Y11D9@~LQgB+JOqDZEP|fSZC6sXAR0`Nh zv8~T+gcPuS_X3YNM$MCfh%qeL-%e`loL9a(Rc)@~0Ui--xcgn5-@AjE2brgX>(td; z-H(WM#{MIzt+tQ!I`-(#%$Xo&61RO~fqFuM>3)N$^aJ`A{N39BNfOf-Dm^(1w##hH z^GEjcN8INZp63s^_mAlN3;p~7zn%vN7d4OGd9Hol#as<*d-@mu_{Tru>07_vt(irAjf3K1<+TmLcFFDI4IdUc4XA%tw3Y$#nTV^8T2oa zMg3_0$AskV7XIon;WPFH52k;a7t#DEJpP>-DVyf{zamr=*dHDnhO7gTJm?eh?H_2Nuo zIuUShk5^g+<DqF|E3mo;kTMU%r&3!5-oAIOMyjop`gT}b4R*7<%_ zM(FvEt`O2PVUw@%$21Wizy2ro4)13oRp4%q($|UmU_1L{<4p-gxdnIMgBZsNuR*O? zXrhek;7AQY{FtB{a4Q#x#3f(BJPCe6cFKb`6LUIpVo0lxh)(deF^LC^^OAJYGK>>N z1{J$7a0QG0DOfB_ro@>8)xfM`608Zf|705}bI`;QIZqo0JF+6~S zuPPX0$7)nH&XGNnqTel32(a7=kE$4pia9MRwjyT2O3KzJc2+f_5*tOLK7|aF2HwsL zGJL+q7W;ssSrJ{jf*s)+dNO*-z!rynT%iSSxyuBzVgC3o$27V#F)52W4qncoR z8F+{B8`srX96)n)t??!5QgKl{I=?+&H>zJA3>+M`k|$+*ZwrVEq;j%G@kSXJUfYwO zY+FY#WU1)qD3&N#EFO`T#WEjr!4&UQx%=a^I~7j}$GElj_zqZv(ETPG(pD-nV4Lk0 z@#9(a{o0xl4ors(waa^}ES47=-J=3~?(zz>fj3o^aYd=|&dR%3W`8Hr!}z5#=otGYj{0oObXgi(=KN$E=)NX3&lq&%}Jio zYG!KP%Ev8PD~vWZ_%A(9r(+<95Yshw;!lX`^4_$GW*Ocn92Ce%p)z?6%#wSzTf=Gy zXS-!|FBLF$w@TO1?&0_&Ldd7BMWO1F`*+e4PZPGehfRP_j^^o7sVoQa@7lfs?(5J* z(&vIsysk3$Cg#Iy9-kW}9^X7KNC!Y;fN&KkAz&du!dZ43Qqn{oO)UD*5EqwH@!f~3 zid&#Ry%|N>ZQV)@3Qq-9(WklJzc4xVcvrLcXUVR$XT9-W-5$=i8e_dl?ON`K7n#S^(Jxd z;KNoMj4po$_x{qP?iiSNvX?xz4+g`q{({$~Uev%O1BUkfOlz7k@YEkS?iB&wCaXbtW}Sk}JGX4LaIIKp+$EMYa+&5uqpU!#BuP*XuCAZuyv~av95lS_(R#0aizmq~ zmu-#utU%mye`|v>4R{CK01U?o1)aHG9w&jpHR!itu-g9Pp{y^c7(2SCvjPj$e;p!O z4or;d2Ut4bn>c8f{`!U}&`7U6Asp@Mk=3OF7m1loN>0d|@%gn{@yJGZ?zHXgsOi4W zs1bOZ(1!2kv42dj{Mo+T3bLb)8{dvD2Wg*_{**~jHbY|Ov+dun zl{>d_Dg!p(fVW)|U*GpVi7f}OoRl=n#~l9B!Il$&N{)3dpJ}UTOjsxAAId(GC|nRn zcE-xQDdMzjVTB;^8RMwm>4)w;$xvEQV3Q;m3w@PH*rD-+2meLwEGwec1+p*QI^XAv z=FSg+qu_l|y1!i4Bhb#XK{wSS3+Yl_)texj@ob7~74){WlKlhIHb?%qc+o#f*wwsB zV?ZSGgHm8Ust_aIq^Sl2Y9sY$#;VY>o&tUi=i_shp2;dPci8axjeDba@u$0v2L9p~ zaDMxPKmYCT=JMcYMD_f9)JywX6vN;AfTL+C-CcD)HMdL26@I$v@6IGNRTBg8`FF^} zKl}5a`Sq*sKmE(U#NYivm2^2jL)nV-CKp-b)nh9O=%7gCpO`q!0<=nz_79G|?&qYn-qtCU#1 z_kHKZw5o2=!sv7xJ4r@m#0Aauj%vlD_YdKB4rEij4g=`-Y$L&Vvj$pX3fVW{nndAw zgQg{6Vn0@x)N9+v_ZG&2cX~-6q&*XS-}riKqj|Y|()UU4HqDYjtX86#PyEA=?vKu`}gG+7#m33tGQ*EH6>gc&Jtbf zm}@(7-f9`ef30_QWZ;?){r^(jw(_~)+v0K>@xDoawz&wUbdt1?fDK2T5UNDwE4iS* zOS>5ww+sND_PjDHbS-ZWf5QmV(h9EaQ><=MCCp%MxlcGS7TRfB$IAUdQU~Fw_Wsey zsjE1il_@c0{oX``kMI_ARdu`fubrr|pa#=w8Pm4!;~3>b<3_BQF|Daw?*&ivMrL^h z`}KsxmB4MxouJS9ed>}p*3o$cLfDJ_+Lj^&;QgB&Vv=1(jQ3Xh24(QlJx-XXu`s{?mmFljj-RSwrpQd9ilnb8OtD%xqsxTPmmvKczh>pxLJE=#^ACM6Z$ zGVx#|{i=M9+e?sm1suY-dJU&v{9vfWc|R)J0~m9k%bJ-YZ1^ahn{1CiHX6YVB_WTjd3>ul$M6bIC6vw$b-3 zttHb}-zOD@PjB+PoKzyv)tD+&x0+V$`8WQV#$)bqg59nY$xpl0Y1T#GJB}5V#~+I* z#Cr*!C6T81?@+Dh-~_{b`6SXUvFu+DB#ayX-&1!91ty(@{1j*KDE``fYc3;eQ{jMLY6cpJ0<0c}x+PXjEMwdLJ?fdYnR+Uf`y(d2wF z?zIhHJOEEXu)hR?nCzcY*^w1Pg!{24d+X`gQIM6_OC>J?>as^~88j}f6fkIa(6w^_ zY`oe>a~j+Ku8!Z6REwynUt1{>&5Z1INH()t7K0+%m}sfoa^ed}Gy^jqD;MAd!NDD< z9Gw6>pe^a5??D+`9%*2lAVB*rK;K2wGbVVw>JHT3zTCO85Sds>4nXH>^m$TJB&l=U zP1ta_zuuMY^Q~;}0c3EL_7kXS2S8S3U?8PDYZE}Q!5Ekz&HaHuOnSID%?Go#BGg?@ zX^B75pDzK9+S!bWzSj|iXdVMJsggg)rM(7i?Pt#!P_T4m+#Lu4a>jh(pqcK~5yq~WT#X@BG{`TlR>$>Q!sQpx)TS+8y-|IvhDt*4=tTJC>ragN^ zNwg3+3Hq}~gB|V-047NV-s&ZE-8KbrSOg|zjq@hP8gH4{4on=A#4}Eo+9Ah=!pXI( z^BTN024RjdwgehO0gb4UTTW8;3k-GtLoPQ4ABNVmjRxJK3ck61ADD0% z?URh6$l3Jkq*a3&E*tfJ3vh&ZbWoNAwL7wGDM4BUM&xDsX65EuBL=Et}1GRDp#M zUka+)?;gTN$qF->fs_vF!S^m72RrHtq2&2ESgj+a(jAisdv|E%ln6+*2a`{$vz}1* z4o;Ze5T{Q3LZo#x4dzN39zy>*pD0c{%!`S{~R|4%iLNu-2>1+^^v-Omqx_xs-q zmymt$;1AEQfAH78p3fiu@SK18PyXgV^S6KfxBv2A|J~pHi+{ZH_x|ROfBZ*(`?t@Z z|KSh6{_}tL+<)-g`OU9xJkRr6ZM$|CGe3qHhc$mT5C4|vgTtwF{^|ffzy00MU;U%M z|L6by|MUO*pZwSUrT^?d`k((d|11B}|KvaQ&;R}Z>vNy`*MIZi*Zm{dgTul@iX3ta z%Qil52EU5r)PQuijyYCzA$BK}tj-(_U_W?mo}sZOf|&6=)3|eFugSOf?k9+Ik(fw= z+;S_J&-cf>N)b?UE6Gk(%>?_ZB>Gr9QTD%d8Q)l_Gb4W_CQ(GAO(qgt3cqTgt#9g< zR`U?^=!53Occ#B8bXFU0Qp?9oLJ^_`yyR;_s??EiX|g6A*d+To(D#{iV2H{tDTY(Q z7w(A`v$$ew`q;lVA{LlE^ua4dbz3j)C86v7ry^ z*soIGJP-+b@_N@K^B0!CRE)HwyT6(!Rm3HS0*iMn7?>9R?P;6?leHG4l;f9%?IRYG z0&i?5OeufW^j%Es)ZU9xrMK2raR*|i1y+Qi$Nz*$>R?r16FZs{Xas2g67kEoH@r*-U_3^&uPlle;CSv`dT{UXa0LEDZyqy?g$Oyb#iiKHuzPTut zMK;1x^U;};cY(lVt_4QpeQx~$3QdjDR#TeDK?VF9gG@-V!7G=KT ze;y@Lk(f2}2Dc7MJKqm*esuO?_b%POq<|2kiOp86tjV z9>y3~2Ur~tF3=vB+ZG>C=LA)#_FN_>fgJeZw(zayP-+v)d+;P#O~uc+K;|Nz#lmL| z!vQ7g^xZrqQlBLpiNq;R2EuJdwc$d(4T;9$D{DeQ5}F^O`*^71+*A03{~FteaT{Cv zts|nxx!gzhyK9YBqJ`IA4uGS|zH!FbXRhm-WIo13C7#0jDw}V6X8Ws9QE}I#O5vmL z{|rJvr05%V47(`C>ePx)zAdJpR2wxf4p*sT^4gL+0Sp@p&JVN+h+8 zP%`D3TS$v3Iu;uH@@exEP6n{d7nX$)Npjzuc{?g62{1`)tE#sSaV_xT6JA?{d{qRm zs+z}>?i2E_b%=Scy0llJuSM~5EtW}Q+dGZMtYJ#8keplTdIv#Nr(t(9;M{jl0vTI^VFKkVRH_O2tu?rk;fqxEVbY+C5Wuv$0ak`f*~3l%|Ej&<-crhA z@O98k=uMaZ+@J%jmkz|2?8JfJI9VZVO9wr3!mv z){Y3NKA{FW+o`IIaP~41uiAikgD9VDWgq?7J~TRO12i2}z(lqQ8}KOc0F^0aE&=|T zJA_G=-iZjHhy0?M_L4 zXP8K?7rZ4KI%V}qa}Drd+#49CgA05H_-K#H23{HG*6(IBeeQBY98Xx$<)5p4P<=xe zz-OIg;%5aePIBCa`n4H6*_n5@RJ6<1he&f+Y5RKH-&;h6pYDBh_SQyc)n6#LF1QLh zbH6!CpEP~$5-^*=%W&bXHgTs-0S!5w^r}U!+PndTntR!X(7@9D78P{qUho#iiM?c* zS1t)>t?56q*--4O=f4&+rHaEZvao9RC4(UEDhUFhfoB5L zVg?h`$UY>21<2mj;~Kbv6wIQOzj0kR{Mtdf9L=)`Y?;C7yWXxC zIVw@EfO9KMY@^gi^1YuJ^|rir9y3{A;T4Q+j9XUp9Asd&+ED#q`dNEp00a%Qx`>j? z_}fG0eZ7zFzkKuyreU9sqX4-KNM$R|3zmKUL)6Fr>GRDsXg#8PL43jtM1Ae~Ol}9UU@^c0+0bg*GB>x^_zeZJx`derptuOV*KI`_W7jaZVV3U^9#2>TfHuy;A#(*g^RG}Bij{z z!9u9u3r^w%*RXYC&Os^zWIM6{(Y@P_^}=U8Z{iN|>$BvkssVhm1yGedI!bnCFQ+Xu ztPkE~rTe#65{OxA-N*4+C(_qmaqYIKZB;F!F9turJZQWL8tqMFhE^q`P{*oY+qonF zm%FqqR(IbdC5^3&V}l7Lo^)UF4a6?$l-24Y<`c6I3pICJ@WPla4ZXvKXij3SFN_#9 zq`eHIzt1H5Z70ZL$9!kn_-FBR;$z#9w*3S=i;;?-bgljV^H$W?N5RN+s^$IeHZWrx zd+a|pY0M;ijgM$v!XXXe>Z20<3s+NsN@6-N6V#IOQVG!-RkK;VsMl@q3Qxse&2@kl z|53RIO60a%(8+!rC*~EGuILR3*x>aYzY`I$TO~*FI!UwbSE)y`uzpt4d7x zG<=*nj}C8>IKg%W{)}K#FZS4H&Ron-u?ge2Dl|eI$d^qN zaer~<2iG-~E(>r>CXw0CD5P(x3dR10#z_=CZmk4Y5jcP%B;??j+r)K}%$Nhf z9B%8J`HWhF9`TWVq5Czi#BcMpdy$;HfU3k5)+%XxVFOm?$l&|w*hb>Q1JdHSYCO06 z^IrQT$vBv2Hnzri+g98baX`JDg^6LEyo69ncC@i5&wm z8}IN3F+yX~H^gc?sMG1U4kp+I*dZU=;|1}FzR5GV^}%PZ5;#0gTKIw`AvD>CAZM>z z%0FGDF({K-CK#;HL(gV12LaUjx668m3g-Fgfa*{{rN`?npc5ryRIS;+F$jCBEd0a? z(Eo(6^rKY*FbClF!b~|IqF@2G-O-e)F3_u7nXiosu^RG!t^%d3Upr6-dn*jIRrv+0 zV@u`v<+C+CYn188aiA>Z&B7Th&m?dUVckwL40f1{6^AMpN)kev0Jeq#K9nL+>QKnw z#;^<=EadvUfkPZwvaEUo6OJdP;{N$C>I>AdAUF!@3E*i5aderXZH6-NdLMWBz!JPP zz#Ipw$K|`oknIt<&p0>zAMb5*R<&na6@;8es+7dO8F>4A&KIaHJK>4K-#}-Bs+={o zoEbs&{a=Ap6S#nF#JtrC%{MbHKZ|3>F!wRL97F^Kg~G!sQ*$}&5LV=Cf7>;REXWZC zPmr$q8JEKf=*9NKHoZ##?7g5eP`WcJXHySKS!XFf;K1X-)W_Dtba7ha^#h?a`6mSw@ui$!nvW_5W&{A7Ha-G0N zMSP|G{}dENY#d|oTJ|Nk;dUbiy$6}iFmC6C+%>*0s-suf!MJGq6zxa3DgyJUEY?+G zN@gU{2K$vH<$b?`Bgdq^`T>Y|bAVv1k9WXsTx{Xg-9$x^tHe#uYmjc&@D%_!F+NV7 ztDVRPxX+set69MJ_Ckt1X`em4WWlyhxn?EkQT`nR<3sel;dp#k=)tVqJqrdHCry4_ zHHWD1uK@FD->D4%?Vp)|>m_-TT-M49+{Tu9cLf*`*E351pUrv|rmxQ_;o%5~fB~*h z3lk~3$p!iYx-Y5YY!jxZF6Oul{2G`SoWRiM)d}J8eUjD$$j6oxH6qZGK+$vLS$J(< zD(|f`Ba)RUJV>jx^CAA?FMfx={;TI-__zL@fB%2{fBTRAlm8KbKWprNMrbR#0V4Fp zFpd1ks+y1R$K2-uz%w;{MiU-TJN_8B{qb`>M6qjdrdXfREMy#ZqyPB)@gs!-@Spn^ z{<;6hfA7EbU;S7A;_veEdbID$H)Ny)#AlZ?NA=BN?6fQbh87g z*&m9?jtV$Jn?6)qgnnE5NJV8~L=8U0O~QleeacOUA?5JF7w1@os^3Y!a0TOfp(KK} zfBkhjW^pwMSL7uL93Yn5V8~nf@!(1$T@ReZmIurn`o|9 zxw}LFTDwuixNDbWTT`S2NAcI7aJq5pphj&?wQR=Elsz6}k#TkL#y9p;jTcJ@ykipz z&MmpuFo1dd*-m!S3BTZXswP?!pQ=~&I)8&V-#_1< z4k^3wo-Iz=mH-xHg%8zAw0)M6F-|xatw!#}&q>Sxa4X5L^^P*wg0w*@f$0_%B93kn zdb)m!d6Hd@Z#0G)Eww-2pXJ132x4N?9_4u~aB_>?+9PP2^vJgXB9+Ex7sOkpe$_Gt zso-|oPL`^KXj1KcFyTT!NA^ybUhA=TP?lSF#~@5jB7U4omP`SgG#V587G*Lbg2Ad` zYztxGQD#)c2f_psulE&6e0aT$$9%Dos_Hml#rGnF)qYjtu%7sV`1^jzPrq|Hd)GBy z`&L}#GsA~(vIJ2mdo3y3HRfyHzYkJK<<4xiu&SLMAJ`tSRONg8e6P3<5_&i$AksF& z@x6tMfrizytvTYG*fid7>zmvUCyix+lqkr)fUsKKJeCRd)A#jlP4ov&O6$)LFM2-9 z1x+iF(Fk7!4BuEa38}UX8IxmCruT~EVn1N9t)8)3XShQ6^IDxAZpKNSO>(K7wAzQ4 z&Ai11zDu;NQESKn*J!_812$=1GLTh;?gHzV_(cy^uTP_|Fzke9Nm3cIH4zFuJ?11o zirWaJ3z`8na2q@pKJL3azH%i-M)#3=G#{K2hw-d3K5nhvSP!li^%N1shPG*`bRJ{* z=fISNg@Z3gdUA^=zhh9Egex1kwXJo(lXNJdbaBB+FnSfMSFq&tlarfTzvd(lt9`%5 z7n=~&e?K!SE{HHH=a_WzTWhJ7)wY|)jc@`X{G_^5#Pm7{ANxhW!#GAwvgG4LlsZxb z8_8IT)@Y<+GpdIqz*6xi8#v}P6Tc@Gh@X?#wyTz>mmusH(yl$o7#RD$2LFwJ{U676 zO9#NClI?>f*mY>KG29?nth5XriyH987p#9br_lmx^~OQ+y~l=I7k->A7#nzkmGX7;?dQF6_FCfSVV|5GC!eFu(azr~QV?W>Ep8gXbjFZ69u{$ThemTgJ zs;kN>7!#>U29U=N3vZ?-Mj;WK`}Q^S`CdPRpp<#Gjb;L_IHPW$sEQ0Aa}n_V%IoIZD~yGZ&|%2HddSN`fsBs|2pP zF`K}M0i)F(G{~}SoIbA!3PaF`uw9j*730fTTiqg3$_fCuN9icLw$skVNNw^<76JS0 zA>m%-iGs_T1b$&qv@S{Tq_t3pTLn%c;iqzb%KPhc&OvZL#y}12b7+Fq1YORtN({04 z7V5Z1D%xk@e*9KAr_B>y)oZ4~CjrqWxfyFhIYneGO*C>ucDjMZCUv9`eanS66HJvQ z7ok$EI)6fTi`cr}Ie%Cy5x4`M+5pmcAHmR>b|4)L~G7y z5M5f11kA53i~4`}-l-qQLBOjL4m1ZGxYM@eL!?R~M2JB5@*mo3gY{PsBquXYG90TI z(~>EaP^=(xEh_J-#j7f`Rkcf;-FBIt5-pv8VrXK=hRr3XcYq%Nzu5SpNx%_|DGzK~ z!hIY-^R7OQBVO8%D zfc4lm-)r}&Y?W*e%9(jTyG_N;cj=HLy(^v}lo=c`rO&b>60tH2Kxen6O{tB7hKoG~ zyZqMO8QuG+bFLF)jGt^Lmij$6eodk&c-J<|iSwlbxl_E@ir$vu5eKiyqpSQh{O?|*~;@c;K$ z|LVW_zxhA?JAe3f|BU$j0qn!!t@=%&|40QkKLl?#*r)Gj$U+@XcMEpbaON4}ut~Cs zs+yjz!hppd*KG{hJovbmjJO~6^tdDA86HdxIn(opU%xQ;_4$k6{r34E{CEEA|MEZo z&;9N{_`~1+L34H|Qx_Vi3(v`Y@cp#^8-&|xoY8tji3!i|QEaY#qtU^h-*MmktIv(# zq8-eG7FbMa4pNlDc$53e^Olnqv3C&x88;4{1ow{ffg1t|9k@LOOh%BSWFp4|Ilh9h z1b3USGX`e;=A!B9;@}M zd+u`klR0SNBLRZU2e2a1s>s)Fzcm6PyBe6<8BS4^YIfBq$!X$2%k97S{UF?a28og3 z)|cU+ya8UrVDh07BS7K7#W5j6uj{nb^2Haj%SY7@5$QPDBf$d{SGA_j zOCag?J;rM4bFMf?s^7==$M(aOj@n9o`CsE&V8J(Td(V5ncUzYiAC*&>& zW1a;`vN$$R>nxL`>6UR2!u{xOvy4e~|LNFtU)y^C|9*{ZbuXSj@eh$4;gooi4odHRELO8s3r3jtrUhm|EA16o| z)0}E0pa1JDLt*yWa?{RGZIbZbd-!`Bz&mFa>MG&*X{Iox%G9(9618dGX7tWpmW{8j z6CWRFUgNPp*G$yX`?>YkCW|fV6X+U~RuC|58)_L<)!PmgbfpIo(emINJfnx20yL?< zUa~C+YSs3Ge#RumppKPZkbyYPGR_p{GnlKv78)#D3i|m5e?#@&#MSR1hHvEmiKFMu zzz5crM9A?7+_dvyx(Kjy*6wF5?g*I8z*(mPDidG^ZHeCXWs32NgBm9XY;$aMlBx9& zmon~d1tzu5GT>VmEJJD)U!=5G|K2Bol(M5L?N@>ZrP4$&{r7ZvIRsBh!D*ljXQv*m zipe$|vM7z^XVYu=B~%0sM6NddPRH5Z0Mvk5j@!}L=}(CA@%qcSwiQ;Bb7U03+g8R6 zhXL{4LudZrvz_QLndxDxZ*c=*V;2Z||8g!;(=XChhGQsVzg-T6a|QS?GD@W^VoC+E zWRuV7Nf19$sTfF?K^~5R))1;l&sqm4Fex|C*=d(~Y{IAVjwyFC%~B#2j?Y^FLy}v- zsOR7@LF?~7$I4-wHvJzr_)CB4{m4*K0Ux4|2sM?GiAYM}mF2=FNcmip-+IB2OI%!}KN2%!>&br#1*NEKi5}-^q z!^wRgDI$^IJ$dgOPCqUh_s*7nmTifTtln<0737@8JR)9aJmVrCmLSddqN|_HT9OoGrNxTiP?L06F`Z0(CV3zQ}D#^k|>5&bnd%~-1-~s}N zZZhEnRN4h)z^d$vOV^PEaXV>YyKZ~m3FZk;+z~RwUvtHDJ4;9?nwxz@b)rNVn5 zicv}q%Ko*%^ymy!;T|IMa=1jB+k#yyy9)rWk27&x1xovA@mTl$9AZ`S>8bid%>U~@ z{>%U3zxluZKmH&7@avw#`Wu49;SA=d`)_{$OcyC~X{vy8aYi;x@Jkf`oCbe-KA$1F zhZ4HW$JrW?%?}?L>$-E#^EA6hwS63PPw}WM;1ZnToI0O#e)EUF{JUSD|LOno-~HeJ zhyUbn{*~YV+3$b?J|Dd^S>T~74MkAllX+OP>o8yU#}>x8!a;=lKy-!thwr~}({alG zyb8W55m8BM@<*6wj?PUL@$)&tlvJR^W506bYO4;)iC6-t57kmqi-AvVIt(nT4WK3) z<5aTY{{8|uMQY@GxAmSgo|J(xjdTSQKGOId(g&0@|(EAL#JRn`}*&m zyZ8-tv4a#!8$MZ zf3$6f{4*+UJ9>U$QsL!!v6y`^Y{O+=zW_$b56>D4t(p>91~Ks6VIlpmS*f9#CE>EJ zV_a9XA8=ecd2johI^GjtW3jmU+y$ag?e6eST8$WAO)d7BehY z=f{q!O2QZS^`68UG=)dmwTZuD(zN~@`&%4C(b68&CVNaMqD+AMd41)?wGe83HGBW` z|BSVK?yqFr;AoD>jW2K#c&leP^7! zDce(>bC%9U+QFvX-=<{7{D|$CS~ThETqgQ^kETdcA~P7oD;`DfB|;k>)|{D>s><)| zigBlH0T15zy3q4@7L%0tQJlj>rtm9N$qBFjF+Los4?ehi8ZuHmRaqQbxb`_?|4@L| z(>8$?0KOE;tedKSlYm+lC7LLbRz$ zOL~uMV{X{y19U};#3&|tQzd2ln-)$=9KHCQQ@Wd#%%M0dTMOMsD}f|_iGOhnnHZ`R z4@uCI#9!n3bD4FXuNLIMYj=0PM0hgCI1MKnWs8%fneasB^N7TggO9n8w0qgMvJ6Qa zoY2dINmUN}^uz=@M|BE-<|3&5x@LfiGb$&|d~2rPXW0rYw}*a zX#&+Ub-uSE7K#7Zp_$Sq@<8z;%-q_Qn{GfDymCW4z* zUNp=S>g5~^%ea>>%_AbEu9YNSko3bEk^SPBT&k0!TP8b3#Lbd7u&UzN2F*24rq0;3 z`%-C5uSo(x#CI}GQ76o%(Ni)e$1dQaOp{crS^pdW8-BEmLI@5hBc+(dmojY$LcT&q zLZd95ym59*{~R9@4YK*fY0P@sC0*e1Dj7&;+pK!mPm34>M?CSk#Ci00DrK4tNCfUw z$S!4vm8Ij0Ka5yg+2!%sMWIRSwa&__8iceToiF&XI#)Z2ymzE zNoH(V=6>QFSX=f~ON1-8*5h7hA+JWIluEpa*snNgJDCKE8(fqSvq%#nEt|Awx_<{m zpEej0vO3dJL^hSxH4)o3s%WXp$H95Z$wXWU(2KOA`Y!@_yf-*TWs^9H{@q64w_2GP z01TZ}R3fEpn@P1_OS_l!TYQN`t|HRHdeMY`wh7(P%;nLlBs1V}a`ZDn!gGi+Zm}f-TwazQ2S2QrAKr%z`W(Is@!}t|gb}Qja+Xq5~d%N9CW+kj& zwKC2OH-Zt;LIs_Qt1qL@tTcT`=z!1IVFrDD^3oT-bw1TI(n>7|%pD)bo>^OsGN@1M zodHtyFw?%zslf2xKV#c2u>dhh`!cy=`=0^62cGMw$*-|9*+U{<9qpWX>s2Opr~Uk1 zH@+b(0h6VTbBUjU$OHg4!O#YhO#4SJbN4mtcB^zDB7*9YC4MxDd?9Gu_O&maH# z*ROy0Kl@+(@BVFe{rrQ!_xr6RsdA#nvku1lekSDYgCZSR+Bc&;BO|BU0n+%tP~x?M zp&9rlpYmh-Uk*Nb4n7~@qEiQd_M6}0&wuxO{Mm1Ri{JnD2fzFM5C8nne(>}2!S8?b zgWv!5;OFzf=X3Bm2j^4x)WOe@O6s?D@F6518G;|+H%FC%AaKsn^B+GW-$W(c!X|iA z_rmH%O@@`7o_Wu44S3G_=ra!d?N2aP^Ox@3Needzq=^r(J}&;uL$HgeBf_kl)URN6 z3!#n^vj9948Av-N(#rGJ?|eeaIZ=lseQA7Mia&bZsv%Wz0DnYa&w6*hh{Q z=O{p?lh1q<7e-`ZS%_i=u~Rxb?f2-fvU;!Y&a258a-dO;1LLt3id@HEK;eU9+Hz28 zB4{2;I+v>`R z3BDSGD94{ZlOhRw3CM!u!(A>b2rD+E1jbq0x&~uv^)t5JjmBr^9(k$F&$zXTAMO87 z)}Kdvn_gF8;6CSh@BOB#`f5~3CCM7GJllAX&0rg2jBR3U5=diWW0R0T04M3JG$Ea) zvpOqTBr8K_Ad8hI-GMk{1P2q_?O=>Cw(%rDl1B|zNwS7gNj29u-upi1^dEcg=lzK; zTdGoh_x^tG`wZvov(G-~ur(Dc%2)|Q+wYdd_Tz0SZZv&X2V3?8&nlDZfXYF&w+!$? z=Z8libjNfTB#sK`{Kru#+u5rn%DcU8s&Zj>0o^hE zS=+wyDq?6~nuhTpnghCDd~CObg7BANE+R0CL>tLv5|bNrKa#{Vgc$?inb3DOdnIEQ zxVIba-KMhw;f@N$yt?yS3fl#EZbjsW?uUJ(Lr``$QYuq%P{@ZgjysguY+221S8TcS zx`h%j%@!$6mQJlD+c$|cOrB|;D<<|B-!X}rwiytaDqPL;!lBJqWx|b4m;nYkd~RNhaFevd-DUo_Xx8&tdZ(?xS&3M(X&lL_IM&ob*580!(Pr zVqjHia4mIK;Y1#jK^f}E(Bj~l;$izJ!C9E^qm^|PCq-M3_|}4B-xJQ7EAoc`JWRKH z(oCyIeff(N;8#mPs<^`Zh=bUwLNUK6U)ktQyo#tD^M^wQ-gb;tQQ}EbaeYgrzT&a~ z=le*CAi-6*b#K#7A;A`3%{a>UkAJC>L-COoMlIsFubJZg6swNj7(-qvwwjDln;Brm zzqP6W{Z(%2kV$TUT#!=lL7pxLjd%ypmjg%JG3}Rl8Bt1TRYG+XQoiiqK%sLDf%tTD;qBd$dN`uOlkp|Bxi8&jYIEZAHJF7UZ*p>lk1s8U#zF2I1 zgJ$-+VpZ7N!=weh+=<4mCS|`5GTWvj^9(IN3;f8 zb_)yzTn5hGX#9L$T)i`5h2a4A*1gbzcZa2Y${due&l>Eh^Wfyb8b~ApY`uRMC%kLA z3%4NF`-jdhGpa!+F9c)aB@Is68VT<%a16wxLsWqb9YIT(puWrIGT}kFI>+!c*+@jd zy~`D2F{+me%C><1K^xY72A1x79Xf1BYS{tbWppe> zu^G`&;&I(iCxlDcaTJLM+1LgXKB?zrYcIXI?vsggHSVXAm-?bp0ks)f12F?SUzHgw zxsAc3B|?=kR?ji=gFc{_pLO)W^BK~$tm$Ff|QLJ0-4lh0}!%UcY#>rj;h=V=t8hk~8rz9j^P z-P*xR!LzV;U|?rbHc4VTIcA)bDr4_-#Rvc6nI%wP(?+d^hF*_8@efY=07b>I-^pzl z5WY66*S_uY3RhNtQY-5EU_e0F}q-c!fAs;|igsM}Ud`o3U7B%pLghp%MQb*Q84=7p7#Q(sWb0YGJJwJ6nOQKGolB3ErnVzC;|ys`@yBpE!sT{dr8=R6mW{H$ddF z+qBSfF`iHRA1Hwm@|pJY8jc%a3qBF|p5@Mc!qK5leQQDw5mG2u*w^@8i9{Ev>-eyZ zQ%+iPA{5H&D5xJB+?Ihlk0ZWY;=dp|Pru)4mlMK+t@c8V(s?aETZP_}{&oUPO7XYg z$c;(cMh_}$>tvseQCPjF?`uc^2bkqKW=b?LIn;Lv%p403#=0aQhmVDbZK++|YA?Zo zvC+gYQ#Px-Ut(3dSZ>ED;Mfoh3lj)+DCGTD0wq5C9J74~0~5}m6MVK&18sdbBy~0J zrzLX&5mhX>foJX+uk#c$4%;x*Ykwso`)D815)I}IPIGTK$f5O8#T4-wZAFJUAKAxs z2Z;52%Fv*F*;|R^0H)fQD9I5@+V~1(uu=nKAlfqq^j=}b`$FopFC|_AY}<0Q+c|oy zcPH^*VfjYr`=_4SXVgJ;H~j$zH>*mlu&QEbDEtVs)-ZgT?d2|wlsm0VMKhdIes z!Zrs`8laj0D{I*6gqX#>>DL|Y)%w&T9`5=?K*OA6v(}78Cq6S!MKDewE{?W%ZGYf| zyW7+ezw!KVy(9bh2-(5-CoTu$`6Zf!lDpxSNRUsx35=i1NJ6_QKt_JE%(hcDS zD5lN<%!wF-)sLCj5~w0}8wDU$c>($-YAJf{v29YOO#^2}QGwftAA4|t?;ANP|n932w* z)d|mgn>cV3?|`|7JZS2aJwNH<(8BjI67jv?^IbIb!N7Vpo!v23ga)~Mp=|^a3#5cV zN~)A1y0I4rUiwh@5FY~%jMV*SBFjPmRCcU&hyp>7SwLoCPHW!uQ6~iE0!$0p;W!}L zV3%&q*jGU9Of>Hr`%sqE3~6Fk&k~UGPOBV%m;{334&gP9+0hMiYp)%v7mshN{2dKgt0I3EM?CaAbG~5u_k_Lj=csdK_ z-}uw%9dYv**J#`F^%zkRGJz#ACG!uJG1D^+dF3Mr? z{p9f%giS102MP_$Pub|6C}@ zkfKO&0MCq7ZYSn8TD|ub)ad9o`sk4;S2KJ*MYJHpJ(Humny*Q+Xu(er=PX?XsCS74 zvdRgfa3hJt22~CySO^eY4fWe}6$%tExyKok#7YVYTX;QuziPzl!OTO{l+9ODT~ocz z>uK*^tLCT3o}&hYf1~QGF@<~BFP*_zAyE5{F*rjavh?__4EQJTm=X-xf!>%Pn9F_? zwo3Le)sBS|!rACc+M&`pGmxxw5{q|hY_vJ3h#VaiQHjdS%dE`K$n2mr4SANRi=Bj) zFpOpeQ>7$Zo=7S2PB5SDpYhuYZUh7sXJ7=$tjnf4&_jR^>;Y_BU|c!JbI;#?=U@AY z_xwV4&m5zpa#UB3kvV6x?MngM*eFh#6*bw0Wy>V%ALv=p8KhdOHO4ihy^Cm5F>Jq8 zW`aZN-_pT|&w4lPc<}ml+`T|m&mo@{5*R?Z}Gn7soL(S^Qw^EzI7<>I&g;7`8y zKmN$G&wm}_?5q*Zh05x_9OcWTO&yUq8*%a2!w-D;i{Ji+zxR%}e$J0ReDnIx*M4#S z@XZIG>6-KM-hJ$I2hg}^@(`C7lO%-jVa=2ngf{bRWBbnlXPbl`zH2sfi%wCRfGA>c zS2Trew!kH^O)P9Njg89q1PTdNJu2aaNsHO?e<}rUS8=V_gIIT#*Edv!s%P}x$=)r) zi)DZrbk4zcC`tyA>}9~8kiT_OXXOz3AZp=O1a*?yG+-p=--2-j6LgHRjG`MRK0QFO zq%b{{?rD-6YLODW4FQlik^koN21gFSvjISH2DQJ7fG;U?Tf%`#+jpAvUGK#?Y`|($ zV*4A0d`HY;e95>c6~H%roLT5NAz5S--C{?tB|lCKI+M7(m#+o!pPo;k0o|;Aj4ZV^ zC+@9=L|wFLRQ!sx>QJ&zHdS!}u@i)0j>J`p1V?iBogkxsV~fazN%V{`&J{6br7?GN zVD{8}8-15Rg3Pq42KgDGJL7Yb5!m7Q=p??8KM#M1lKeyQFOR?C7!z|MD&02nXpsvk z+a*d6o;6_MS2Wg;)CfedF(ua*h{2>ypqI+CWzm_3cD!I5)w=VC;^tL+5~YA0C*6vO>_GEv~cXcY#T)8 zwi4?Vns%@jq0KO?nB}k!Sogyb{Az2WyUrv;uSGJ3gosBD3bzoVWVZv+8g!zh+zeJ} zw=pb$HACPO^M>O;8{0$ z@hCC!rmAk=RSVdT7%wweDI2^W*|PEMg-M*LRyCz_9Drt=o!UH|6UA+A;VDVeiaSz? zbH^}cdpKx6#tgPB^RxQ&rvAJs)*F*?c9;Ce8Q?ioo)yvy<0-Lh; z8Sp%@&cc|3Z6!NMK&XBb$ej^U(31ACHHR4Is-NW}Cv3wrSGs#~M5ni4r^qul2rg4n>GL73? zt(-$XnD@Y~-%Ze%JSLYVtN|vRmi|-zoL`xrjZyrUZ1{vk-}>D}`Q}QWi?b=2)mXOP zt@^O|4DyK8)3hSVb=eDkXQFGaVcV>f7?{CsC(533{gmifd|94wgGv}Nfq%3-cYF-= z5_k4EoS((0oUIVAcX`O16a21NqESlTW)M5cB9mUIK1CD$^cnFroT!<3Y0t{ zuueVV%F3xEpaGHlabzgKtf~Qx)!c<*->*8z8wA_#IAdv}YHFLuXOkgRK(2CHmI^_o z7eFpWVIVZ@*cnm|I0Q3m2n)7Z#_xAsZVx2SyW!GA2B;;H_W=2>nDBEMAO^tU4a(Ti zwzR;HvuB3oazwh2g~F!IuC)eGhVLj%GNE{&xITR50vramV1MH+)Fwykn@!Lm@PVjh zjQb=T2s5Y@X6$^;UBx1Gh(EBqkVtbJh2bn}Gfdym?LSS5>_gX#Y zq(%;i2nLNOiF{Uw7`%Cy9+f0Y{^%b)?9OFi$70IJ1lNn}!nRu>QUIt0g1TAS&kQq( zMV3$>i5Ca}bm-_P!yh7z_>)tCo(#9%d97h!S*=A?bt7WH1FX?}uS8=h#+oEk4=Er{ z2($=cfor!x=qJbV# z!uq{@rrJHQj}pUmFOaC17&YLT7bJ)03JgmJJ)7XeLjXhfiUBJibcti8gaVPn8Xw6y zIVTdq1U7RVz^|=y5is?o3CL#AS|C*p%^%VCYmg2g;IUp+2>{s>|LczQ*fZVrSoT{- zMoCLygE=_-70~mUcwx`*4XN&=wnegfZ5ZXlXprb^wv(NMq&a;c8lhZm3vocfh!a1o z4s&UE>>!{Xx%xUEwj7^D{5WgcQ;CbVn%WCQV`I{Uuc0+sr$A>tB;H@uOg=MGcxMX~ zImIjhnTMT06fQ4GbO#hzc`pU7T57IV08z;bx7vWzaMjUPnb9z>)^P|xEr1w+PT8zp z!vcM}OvoKA4VXMT3nkHrK143CB}E0F!Ff3CHoAAX$_kL_FOal^+6q~cr^ur_RwCcQ zdq!YhIFU+wd;rQr(i|Ufkrfow82f{|tH-Kf^uJ+iJ zc<3;3MeN7n*`bheA}|6YIx=!(^qqUNfgUlka!za*O;P7uxU1Ugai0^gorp@V2zO#Z zSOl2(E@Hr?zETht((ls;S}LLcmfAI=F>=F`PdtqO=l}5c{?T)H?tgh=Tm&$J&3X!1 zwHMB_3uoJvzQ5lmX?eIrkN6yFZs5j%BZ1(+zMhSl8HtMQGemFaXR&o;1$tiI$~gm# ztZ^3DV#9e?-oCtt-8Pk<8RutLsynhn13MAOtjo)NjCbDaALMD-hDY<<2BbaZ!3TwYX8Ty#{6Q;Pv+3h1>Gm)&u8HpZ=|9)IXVU-Efx z_+LKfbx;2I6E`3H-~%_Vyfkv)?!{eP+`Gh_J7yK;Ect7UikfG+9i#&Mu1x_+1@>sQ z2%){CKq-KY$uHwb$4yQiLCFx_Z;Opi+Ha0fbp^oJnn(bb2#gsh5fda5h=&h5hqWgM z#FZ^mJPiqLNL1wE3z~^q3HV^q#qupC$kK(SN*vpsFGlPLbfKylCyw1S`A}4n#2PWs zp>};MY1ew@6QZ?(2?wcjp}29F*h(fATkS5xMM(Ts0`V9H8$9e4enlESVM zFuAvEjP82jsJ`hF*<48QxIS1hs(ibDmh;Nxbt>2E@x-y}I>t#17AHR;fn{2NqC2$C zj_&xXPRPQj!NkcXJT^73SOS!}mRZDqNMsf5^e5v1aTH1;BO)<+iu6`|w!W7!a)`8c zqOg~p6Wv{OJS3$Lf;v{aA7YwQJC)t&96(@55N55kx4mLx`b;2qt{+zaf7#?#*9|eN4JGF(D_gdh zEzN2PQW$PooGeu|6dww0HrhvU1+cDGA~rtmZ+0yF+!az&Un11Dh@uHO-Pxa&3|wUK z5*O9_zD6jPqmXbSu+=1IDH7Z9b;;tPP#Vj8;8mUFqtH&?p0;tjvC}|lz5ZBuww|_g;lv05SJ71jIp8jG7lO`n6$-J z;tQf1GnM2HS@|;h>P4Fvqp-kL=VdZ6(6*I0d{8w7nY-q-cuv$YtC7REV{qZCS}}S% zHzJ!Z-vqVlGFJ-W!r-5dq^ld@DgvJOfE%&Mmd=wT*s{pJ%Tu;Cw4J%mcjQ#;IH1c3 z!Ft64yrWZhG7ua#?7OGxulQr%^WD6pb|9#On3QQhEiW`sO_#B=MLZTMTHql9z~1pB z%Xy)=*axU&>kTI?Ipm~edrEzcOfKmHuB;UE$|(ou4A^o2BaU_HQi+>_+f`QMmKTSw z#YvXOL^DE%Pevjt*C3byf(*7a2@b;uqw`)QvNJtsD{d2^whyQhpicyL1r#MaLP7<0 z$m-iA(k;-@F2`BwM+`*n3Mgcl)WXNvG)Qr`!UJa;9RQ6&?_()s3}!>du5^KIeaPvG zIFKr6`R$-HXcWtMx=|w#2X8H6fX*etXRX#}a43e!XaQxBubjYMaPYItMdzxFs6H;d z`<@35vIKHk5r^Y)V!%p~Rk?wI=491HwlhQQRy%U^rO(PDC_5%DV7155tu2utE}P{* zS_c(aWYQX>Ek8qWz;kxmGRA83kdvN$IQ8`TR+R$)TvlOIwxkTSZP*tHs&!41FCyfS zm_;zl{|}Ydr%FzXN>~v(beuX%Y;Fmb^uy_4W_dfLvX+t{2fCQaW#XM@hQxS-EqzW( z!lfLt@*DxFZ0O89sEukpgV92^l^{M3z>GpRgT8=+J7dpAL*%GfOAp^1Y+$O&YJn!H z4I+{@3JeUnEG^3m9DTW+sI+~gawsB2te&VgLg!3FF#jqk$DNGBCXl_avj8bIj><6+Hep*m*89-Kq>^g8$k|vGEeKW#ZX%!y zz4kI29E`qlZ%5J`VP%zkHj@6PCdmvF`?gm#*ZZw{)|GtYSzFAB5|g%%a)j&q!gf`? z5i$ZbwO=_AJv2;ig^lc6J_~aIn-T!W=jcuY%WrlAv60kB`AXsy{`qubO0ST|Z?7bV zgNSfKMZ~BvobMmo3QkoLu|zj9u_KXV$Zl>x)W`&KY;zNFa6Sgc2y9objC=Pkae1*% zbYq`8X0Q^6L#G%hbhP?6i!=n++Jv5aNLvX*klUOgpiDBg6oE}-lzXIS%vDK%YK&y^ z=xhvh#`XXF2Y&9=1oq(Y*$kE*2O@DX_pt?V*?R%Vn>ViG&wTsu?bko`V4OetSbffe z*YnAzUW4lo-^3$td_#}1_0@-NL}ntc+>CkgZ149kk@-k%SI#rfuhkYAGe#87`+Po= zb2jqq0qpl)!koa>haN+pKZIF@J1=|^fA)|3^Z3hu_a9eu#u!`hJZ+uX7{&38`+gDM z^p&6Ym%jO{-u`D^x^oM4iRdxAE}1N;;<>9d85IjxFvY}k-##-DE2$i^g{gb)q&w}V z&s*Z5>sRpXOLyP#U;mAtdC$dud375J#957v>Ft^rHRsGgje=@EHWHU} zV&4mmiP?#sJ7za7b|`72;BzX8Itn`ieaU;vySGtADE~QiuRBfJfF5j4{WHY@(M_K^ zgrRdFIn_?n;M@&^&fY?E(UiUVadX8<*HlPjy3L_9ZeanvG zY>2&)$%Mr5ms&-|2KTKdG<8y1%6j450iXuYiagR`pR!p2HdM7)3IPI2z}g-ju?|LJ z2IqvVLg*i^}7SBgF zT)oAwlkh_}9Oi&h)y4Y3vSrXagf`iOGkd*5ulI0jsZ-wx$0asky^aywO~C)cM5swo zF?X%l%pYPRG-#BG2gMzkJamP+Iq;}j+RW2_i9ckL#fc*B`)II-`2=QC=w|$Efhp~} z#37DV^eijZH8ZLNhP~kCs6vj-pl~M&R+pTbXb)gkbsj{^hBMt?7 zdroXU7+=W-Apo|01$In~*ib4RN|1aWvgO2FhLfh>WN@sFwwHMZYge#?8HA7&-9IE_r zD-rQoc3(FkR2|s7SFr(eCPisWxG>;^dk)$uc7G81lGro@@J!ZheV^j?BUvtCQOp0O zGY_)94Yep!{AKPpefH?D$WJS2-{R`Tp)syCXCwRXbF4OhZ84bzAmUL zw7Gm@Ih+!Qa8iir7_&gNW4$UWSw*ZP*weG)_R5I!L&jk{vF!Vfi^1mL#vf zBiMgxM6L{vL6u442Fnun@!6o)eeRt}Za_-=K5_JP=uuXow1%Ea%a%M8SytIPASN^n zKdT7o5cy7n6>GoR**Jl|Ucm|XIaY@$_X7GfF_42$c=~y6ma4tRz?=kprPJn zYf>fMy+Ff+NjWBP*dtNsLG3&Y8r@2Y_gZHKt@1(>ta|O0M5L0~gQlw4i_`f$?uqPR zFqk{dpzj?=rWmR#>Xz-}UJMj^5TrJeEkn9hX00K0C-GnC0<;pgi%`-RjR0+`m{^0?9P|?|3#(>=awU|t z=~1VC_L4U)T-l&RvsFW(_mXM$c?;Qtiizl>)ROP2NuSbK^zi^;c*965X+Z^0kBAwq`-U2);ZVtm4GtVxe=LVFBb+a3?w`p(PWT~{Yp~N z`teK$-<@`rPmIe;sw+du2l=)Icv1ilP6j#2qw}B8U}y(OJahE(8>%lqi#VG)gDfHm zeU{!Xu+DTerS}{fd`fzW+J5?q7V~=REP~ z&%X9GH~)u6Zd`fh>RIe}Zr_U?JI*3|ucGpG(AV@*6GDM6)x8cttq2@x`$9!z4lY0y z6^60tOk4sOjle`=<37=o;M$dQ{NPXj@?U=cr(XS+fS8$V*OS<=Z9VoPQ+ZLBKmhOm ziNAukfBiQh;|3;fBXO6G>hjfK3jIcqI4R)%E8XK7sxGj<^qYPD*z0i_*CO^8JM%0? zRd-)Tp1(O}0C8pD^44994M+_1{TDE#b*B&?rkdOZR|L?#3%)Zz8Sw>e!Y-5{>nzN!g7oyUXR!3Ic6OGyb#Z}<`xm&pC^TxT8T;%VEi#_-q-Ym10{dhex6A1}Ze2VcIT8_zxD2aTkM%v` zXbZ!H4qy$}4SaUI>b>tKW@%M#OrXyKsR}vX z6UTZc>fHXy{-0#V!uFxWzf`7hXrX&XHSj!QQlv<8#-~*4Pw@@%_u@L}LxsWnK)}dG z?ZMU!5$IWqz)iQW6Hy5;UiT1Ecum{!r{ZS`28or~x~fA4Hn7@Sg$d(S8!WvSpV`&* zvEmFs4M9^0yfBGxOdtYXelsJb@J;1gh(!bXeOFF5eQHLkMUG=CMGb1*L)Ea_)5zlU zZijpdu&DhEL{D5s;>=tj4kJN3b`V?&W0wHbA&mDhT4S6`zq{svND`q03h|K>HCp2l z3ww&86Rwj0VF0-UGXr7%!$Z^IWRBxyy$tjm773Yjt5Qs%N*f;CmH1O+h3H1cP!lFB z0gib!wo}9sNLfgv!;Dk4vy*$ZcqUZ=*ax-=TX=V{+F6z3S6Q@}!p*|`!Un_`irtEL zWWe!{m&EZC&rT^2%HeBB9J)G6E8gyCj3U{ds?93ll3gwJ!a+vWNmYF)Hs$+F1QTLC z5ZiRtTYq&#(1s~Pfc@ML z0V(V&8=Ad{6F<&NVhnQeK_==G4 zI2B#n9t7{fh@!Gz9EAC`fQJpss-^C5yULp9B2@vydK8~8-5e#48qS-9Ol1fk5&gO% zsKxgMAi+|sR>L7~Bd~H2un^LMT<)iDEYx0>n4LI}EThH3tSX$V0(-SV*M80h;=8~1 zkFtzhUS$nQN+8rT-tL(I^l8 zFATi&Hr&+6WP#q8I%r{aCAeWOX@m~|jY>P)lWbAp?h=4XjS^}g>I;<139J$vIbd=G zDl62d@ZQ!^!NTvodiL1?kT{zm5a8ImuRMu z=)I8YkLUJSd=!>;@obBv>?4zD$LMu~%yh2I5{)*=BsnfyLy=$I8(@_?YJnDlHqh9L z6eXw}A^~b;BaQ@>zIz=7sri-k3P*0OXO6?iLBpZeV9byc)Ial{Ie-hPWoTC`OQnzA z9mrtwd1gQZUm(z6l|PN<-a7_1gv;vHS9Gp3!V*(-OGn^mwvXU@x?NS&ai7qw^1P-3 zo0tED_%8uf*#`GRZ-8a$B%k?lA%~=^p(ITOI9yG(WOYP>1J^#Huj#}hKQHz35ygRn zTVM@>YC9Lb&PfFXgHQvnVW1J=4iy+T;bu7vSKzKIT2tLa4+8Oz@6& zGYlI=o-GdtbHcJTn5fk1B;fUl6_E4Jq>l$;i2=OFCf{WLmEhAUWrBO3h%GrQVPpHT zDPoPPHx1S5I&gjtOiheHZ#vKto(K0wkh#RXHU~L${6g-M*^Z z#Gq^*m<*fcyB9!DwGQ%HstrH@9RovHtOtXMbP`YMz8EcGP%Qiv5U3pVBj+)Y+lI5V z4d)~A%H0^xz5L?apMK_*?|uKrKlR5i@7{lOX0w$uMh8o&_U-KK;`(`h=F8sk`hWEc z-tyFsTpO3Td-noUK0cEHKGXSiKo(8cTO31B-8bZHsuaYe*WdR-wpPT&Cc8#eVPK2E z`PD18rO0Cfd{%XvGpZt+bUwBUV0gc9)0W6$g7vVKkz10bzh!e! z{!rd~)(NUuY3w;Z~5AI=H2hbo4@=IAdoS( zD-+#W5uF&3?6`FA?!~RE-~GG42^WX3jFTZ>zD$u1QQ5cJ7eimNvpv6F7@4}{v z!qi1?6voZjM=Enh@P2Ib5?g(j+k?=O?HNITj{z-#@sRovhO|g z;Pv-^?N`0yFMr9~-}u+B-?;jjdFKLm@7&G1_b;mzO}0cq*h3XwN9!+`_&~3ccYrfQ z)=V88(xnt^5+PG}c-pTj$w!}HtOr=kw0B^O!ll%Iw#AOY%B?_}ZN==9Z(dU)7&ivke!D&ng@5hqMZ@qmg^C zN3LR*g%jZ5)#8d=BAycI#_H3t8BN>h<5$vqJfS)DDFV%z`nek{GJ$WoH= zu0lJ(iUi}t2dVuji_GXR=cF1J;h7wYNmeqcjlgisn~)n+8&xN4coa{F00gl_fWEeQ zaaj$Lhg#AY`q(ACS^zZEC=E=v>(KFDzTNme)1BEkJds!)B2Ib{?CdvoB8Cw$2MgCW zUVxPlL7+ydA1AQdHl32z>P>L;75174hXW)VhvKn@^l2p2Q!03>XjT2u!e2@hMY{F; z5w8g0Vuh6q_;{LDyN_H+dZBC)u6&<`fK~mo@Q##0ZXx8sy+e1a9A^oqjtN!Ai!Z@Z zJ-U*(I_GF_e=OX@KWEIcdc(9U5*sy|{X;A|6*MXxN;w% zs$B3~^JrQi$n#uk3(W~v?i3@NAi~+LiPz$0uh`JB6q5vu%WaWEHr#EbIw-7Of@WcS ziV`@u8HTp)|L7d5`g+8{=`DU&m74zL@)IcW!*6rO&0S$qzSn$j*h^>yb^e_HQ{o{5 z6mCL7iZFgmxa!9Er(}a#-^0&wY^yT`V!`mg&(bh#49WK$Ap|(0Q#89;-JkttuXqf_)u10KFXu&MO9TzbqF3k9l27Qr4=$aoTYD5+>d zyNl)8*l2*6IN?2a(SQ>RSwo3Mt{t{i^2~`n9!jee+V?k1yz@U{^<#vTFCvpd$q!*< zCokc^09Yhs!$BzlZaN_J?3iUs!ybg()N{vh&Et+>MW zL4dxyMT+$b4BZ}zPkfvLR%rlhSXd4}0gmb{pptjj?ZZs++k5a6+ej9QRS%L$#%oXt z%@qyXf2$MR+DrCbi6ST{>LSs_p|CiJ>TcQCUgzcXJ#7Yh1`v~W$-YDz>tvMy6q7Rg z-%Yy`YC)G(>&!9$WYAw7D(P1eAdc|PikKL-GiVnYMT zOdNti>zpfTmnx6!ruKBT4LeGu*7>p;u-ET`;e?{^1V2A#VT^%1OI*Kp4P6~~?%aFw z>E~YlrVo7hGk@^eS6=gZiTDB;E?7-^%e9do05X187g6H7>$twXBn7d zd+;y*ji32UMU3oiBCs*-$8$4LV-`2({xAQ3;-y!g#(AO6uU^af$&caewKsac{7Tn7 z_)G?X?eMfARJ{Zrt4Nf8vvP>0_V5*aGL*HazmhUyOZh*y{Z? z?sR_gJ*C`6#re(a=O6zIf9l&l=h^38$T_2?lh>HEO%+SMFAIaxoiHgGIEZRQAjepK z%*kK}B$riq_@M{zYfnG>-QWMCzwrHm#I{9rjc!B?4$DZkB-@#c8KdUji2=;ZiR26T zVqjB4T`8sttP~ldX0YX`-jMTNqx0f2$F^r+^qjTNI_vIkW#T*flKH5)A#k=u^plU> z{N=BG=jZ=-?|9Qw-yi4~?%lnQ*}I4i1-N~3&*64(vYW!}yZwyrkZqnB)J8A0?re)Z zc!y`Sh;m`(&gG-@MJPuU1r@e3pmvM2CAPuQ`#FTYD4ZE^%NqxQaBIUEM^eJy!ytvR z$HLrT%mF8WO3#WD>ipX~MS<%alf zim^nLuYry;Fh(EtUSwT&uRizo4{QgjWNRs&k$lC9%K+ybI54McY(Wm%r%=1CRcT|t zDg1C$kQ%g{63mU*LZou2y;CntffL`xFEvIqX~REaYbetMLMBadic>3Cc%sxcfj-^B zDJT3O0<3(l<46|GuumnEj&tdr?2OTXHS59qVDhDe)BVR1X3aiCE)Xmz_AQ2cOj{gaSpzHBJmW@o z_T;-8j_C$*fzQW?b(aJIND9jqr${J>y-+R~P8V&3MC^~k0zD2alo)x`et;(sBY9Sp9#^eNG-D=^n$X>R|s%DDSTo*-O zj3<~7Qbk=4wM5k`Xb@-#+eItExAMD^E_GllcF-tb5#H{C(3AO^spnkX0Avr)O`d0l z&W~HH@Ml;N>X~s;7f<>Bv@em5(E+4?P$D9R_&%xOqtKIB_6&_32Tv4^p+=x5=g_tM z!m7L#zsR{A!MH=BCl7d6jtpnv_x9O=l+<-%c5~UWSoTr0yN}eeUrIj1_+8IV)Qlz6 za_i-A&4)M)@E*`~_7UsaCdjYVvSqr{WrCRPy7m@V+9zjHg5*FP3B3rl#~SM1vtw2I zhH!>#NXa(SRkJHZ#?h(5i%9=+C6GAJ5o5&ozXz9ZRI$i5!7gHCnW-a5V& z|7IbA#8MEBF+}QaY{@F~KIv-VYL7y#b7{VqHi|L;x;$c(61Slxf~z(%of?g`KBSJ* z4(8;n9XM_cou52^d$cO!b8#R5miQng+7|R%YgOhfmIZ3Kt+x+!nMd+@wjFMAjvg6i zyBCm9+J2wQFYcUJEoJjH1lV9n3shJ{Bn0Rd5VXOLTFRIbp@b%pHrx(Hy}#@{OcE#^ zO7dK*5z$m3rl7U{2qt#*Y&_H{VG=78T)Ek{mM88yMV@f-dc%Fz-1epAP}br%FZ@g; zBm@$j4TZ?CfS+|)XY|SxiU>j-rCi!c4D{d_#6*;OfCZhF4`1stwG}_9UVjid z94aT%#b`$rz-osP$L(B>)r3|1GpC1>w4Az*oG{c<7|XbgP_O_I(K0M$840kET87Bt zh7>LWJBX8`-|OG|aZP@h9-s;di}djCyNB>p>lVO&CJ-RU9%`@Xzj9^osS=J>xp+yf z9J)PbQw4mS0QGzfPz9JjD%8rph z?tKEhjm8^CnIsMyRFKROa393c?!gv^5?(>c2&?gw?QOLw>II{9@Adp4PlOW5W0ezK zn0wEX95_W^+$cN5>Ffn!B|3&3!g9boA)&wm%lWkcF5p&Ge7dm$Uf&bg6vxRkL<4Fw znw0v=u@4gFQS7Upsl@Ez8bicNEc>m9R*II^emanq*!M&QTY5C!MJ8rh*69+*P$iUu z(IyjwNGXF%^r)mev90szimO7A(^l)2DKog_Ud``~s`YLN?p>A!8_Bk1rU0KxDx=hr zrj~6a)@G2?klmG~&43Z<<&pB^q$L9HnpI{FqI8BzKwGKKh#l>6f7H4^UL%)H zLdj(k(6j-i0N;L-@Szt-M6h~j3R*RwqIv~rIYah zFyQcOe1ASisAxQbdLzC#5M+E8#vpx@!YF--|)eYe(KMD=$RM) z;GKIHH!m*dIbB3u0x<`+v%v_c;K;{c=Epkdx1YPfLl2+h zfop+zFM7Q7x5VXTHy(I6{`ddnr~3M%h;RC?--joD*KfhulW)WQyU$ghJrw8f_|EvB z|KmT|-}P_)NQ^iu0Lbku&d5&IMAzlKjOyC{(?9j?PhITyp1F7b9`<>t)53TvNOB|+ zwX1(CXn)=RHWUzqdb#E>e&zYhNQ^aPsW=D>#=Irxrqi5UB&#Ep8 z-4(MgnO~KLp2jXC5bRDVSRS1u@<0wBjTnRDWmwcQQG?{mmT_5)9H^d=IL{oBqq-+M zZ;Za^J$hzUM4b1&=Oqu=cKyngPk!gOe&ru}!;_EyV$B_w`wkSacP(6nZUx9eUks@2 zkM5()6wh7bw6auYaZPrjAc;bQ6h2!DS~=Eoz^i|?BjEOSRB@e<7Yf#*aJ2c5A7Yzu zkrc9DBp_L0?Vu|h5UXVygIAMHJ}0zIY;DNzbR}xg(%@jUmRbeZ;^Z%d7P@=iHAGy)*c(}9o zx-%4?sRfUMZuUMlhHId?`v@FWekPO}jB%IG!XnkWdJX3cuwQ?qjc9@o7}XRwK1A+?vgXTtTUa+OPOPzBA^~Kj76tUe_A8=lVMb#PS9H1|NCWE4uyPZ8Ck<=_FjTR$rz!|V zQ~_9fyaJ(EpYXy*F&GZT3!I;M#3qqK70u_q`Y@E?`tzuT;gjhj8kvw z&2#JIfkQ^qCaxq7-XejtMQAR^=+bt+dPAdX~uh_Mp?vG|VUJ}~4>CCnKcnb^0O zCq36h*p~L4zUeg94#eV=s4-@Yyb3Pchql(8V|rEM;z-(daPM33Dj@zR#gpnNEglqQ z)2Fzm;Gxf3foBBko13rCnonI`Dj2-*F1VypEvgwZc}H|6Ul?zZl>1z2Aj3 z{8G+=y@lFnT>s4AD!UHDmL5uC!{r4$$hLJbHRQ(&((OW3{y70&=s*iwMTu-r5gxfz zAPANyjw}%o&c5n^y62Ldid7xn)fn_r|&nMt}}2tRU2vj1w>mmV&z05QBBeo8$6F^0at$p zRGAUgY5@W`F+q|`hE$3==2Ggo*ACk3i^A$8Ffemaq~O-oBhdHk&GXj!yZaM*O{fmE zvcoD``L@O)6|C%!kUdSDB*fj2KxO@P5Hm9g+_D1`6C;NbgIMpce1cS2zV9S>XuouK zVUmajX$>}#U0KFhEwL(aoF6z4;0CVbi0(57mGS%zC&8-Gt9mF9F%j5~@6oD>L0=ex zN0Dplo1V)?C^)b<11BVi|1u_O-mkJqKsF{-S#v~rsk2c^%IK~t>RhURo1p1hz*0ia z#GN6V6Kn0v1$|NiTgzV9g1M5)#DjgY6i$so&tggOI09BDiwg=&Dlj(wo)ayNL7$dP z=Vt+98@PI9L*#}RU%CBxzx?4({pnA?@Y1)vbZdX}{qBf;c1J~X%o!rLFqHFCHX>X; z+@M0I_JP=#>?HSAs4iUD#^oRWJzxC#o7b;Dcl+*Lo~w3H*Qh|8Z(Fx82eFnbAE`WI z;>;C&MzxS7Z1K;+|PtC9S{1_L{Jdf?cz(cRUiv8t_zU(XU z(sL769=g^yKKH43`Q5*Ps~3B{`iVQZ_Z;%EFTH|sCHwBDE+S*%p?5rl`S1ICA@Wo4vuYC#+eBZx;vrl~tcb|J6SAWmHg^34oWxNTf=yAq@t})KLyCMgA?iXEE z<6FM^OaG&9{hGJ`x#wQJhn)8T1$m`*R69cFa^Q?d^biFs@6EFE*%PsA*t@EsMA_rY zm2-?t{M~=}!5{eXcYolYMsJmfjBT4yH6nr0g{qE<=)Gn<{@?@sul(_UE}nhy75syr z{;~SikKW4aLe*u_LPST5ZQByp&#&S3#T`@?5`&#~*)ODPuS9lr3{*S%iniz|H_B;8 zP%%luJ$v?L%$@gRWX`G!yza4w-}~*~_~qYr{mS;t<-Pk1R@FQFeA{HJP2!jY))?I~ zegy4^1GwJRZ-3RylK8olLNF#pHNqyVazK?U(Ua|#?Ei&@WP(YA$_@e=whC<~lmLe2 zlre*<7$aciOhes5JJ|k9K5~T~0p6(q0#m_+l?*^{QZSo0|q!3mmArtV{lgEmaEHZKupCSy_+}cD3Qdmhb>QFMHW2yeqSS;v2 zjBQ*Ml_kI1ftktk-N|?oy#nxoT-CpxwGbjKJ6MT5J2*tSf^$lI2K-KW*la$?fyE1E z+emV30H&%<&`si{2i&TaxMb1zYY#$zCH(nNytDkbNEi!R1lveFNgNk;t&Sa!J+^RQ zredv=?g0!-TK7#p6gp3vzUV{&x!UW(d;`CS!UH|SeV9)X)b6#H2`<7CR=KM+^~ zj@5<(x-J0F>{Ffrl5!ln01sToQzz z$P!9)1G%BA&_k^W3oAZ`<9QgvE1~Iq7O!K$M~Q7tU3ZAg%N^@nuvOB@omzjzioeh% zyBRkHS-JHq1+SG7N#%Q@gn}w-9Vd%=BIzCglL{Jmtk2=F&t2z)jCBv)mDz0lRpl1q z%FmQ+ue?dHs_bm@90vIXmaHJFFw^&^$+?N#BpN<$f)mLNiqNKbycw}7UHvYrHIia3 z(_N7#_p_|_cKb{waBaJst~|1?2@DbVt-B{Y-b$D`M{ZwijEw~1l6*v#hP21fd{JQm z+1IY)8A~Eo=&s6p>TW7AXP;2=(dNnGgmV$4I+Xy(nrjy18tiQU0<3mk2=ffGi8`0A zb{f^_99;GwKFcYIj0k48MGn1R?v2`-_N;JlWcGoRaaQG~wUIEl8lIoYILCV}9KMdf zY-0)+te}SHYltWIoF29k&lQhSkmdMC=b&jQj<%k)I0w~3sD;o;EGN6Nr*P>s*BU@h zITreZLTmW0Y5zV*e4pnA2d|go30XWU?)3Z=5M=bi%KS7Y%k83D8#ZtvBm>l<$;OI! zqMJh3_8m{zS0w@&{~9KV$BrGQ@fl|EMmg4vQfvKT{@}!a;)IJ3<_g)27PdmLEf%T~ zTVNxp9?lDcxT&#MtP5j<%R|jeR~Q_|C?dbKLZyq~-gyyYaZKzn9?Dj*)HPii>&*=t z2`>IITox;E%m8)`GlNv1jR2aYw6lz1pftfu?gB;{gws^oS6Y5xp)|#{nu_pbD#kOXVyAD^rPwQb{E<&J2n} z!3>8!4pj~CG71l3uf~?Z8Yt=Y5=bJM=>bb&EV>i`Fy?8fR51`!jzD&Qv`IRMll7zU^5J)W4kA*oB_11S})kwhsaF7-a{YuX_Py`T_*XVfm+X~Izb z5Mdx&vOO(TMk{E*XDLM>aLoawVDM9*OBz%^9jc^Ia-?O(W8L#SN!GUPGZcV3nUz6% zG`rDdr5Y_1HT`;%v+>}D${CkP#Rs8FIH@L&uYQalLAgCN7t9}0UE z8H$iN0BEb_k^M&-iwG=HVbj=ywrTawlOrX*E2;# zO04=QqI;nObLFz>;qxGKKT3pwQ49%asx}4o7oOqI4E=A;u9&FUmU>N9z_MEdiTwb9 zpB3vUpa=ah1C7S?K7vHuR%*Q<>^c=lB7r$4$xYzs`yX6=y}nEl_t`T_09MHWjkDZ< z?0Vq*3T6aexOMl*U;Mx`|N7IPeC}VkefQoI+?MRoSvfKyx2o(Ifd~#4iR$z^S455$ zn1&K7`#zbl?ABxu5;@zy0p_{)vD3cf8?z8$EaJSwTrImiJiowgS3n z;ue^^up=uBm8^%v8-=Edy*bx`RZAVYWk3J&-M2%QYKH7(cf}ZEmT(sWU-kAUQQI}# zeg31k`>Vf#2j+|TL+?O;;2(Z+{LZ)Bz_@V(_g;J%_cj1mZp8ghzlyuh?HG6O$N2oK zID7aUcRzlaPkj5^@#_EaH1<#5$DJ)>-fz749MD(p;_+{M6Ry4U^?3Z=CF&P`3HM%j z0sWir!o81t5*N?iMZfO9!Pyu7@%fI&uEwu_=03LSoW0kmj1il*YD`p*5B}yS{@H)_ z8@}kzy?pDw5^uTIE`kZwLSR&(#zt&mVn?K1w+Oq*`x>b-{9*qlm1~|o`uE@a^gn}+ zi?hU8Aumz;84wY%A*#9psNV7K{%hY?|M&mwKaYsp*f9~ff}Ah+>}z=W)1QnV{Ga}M z{NRuN1b+S(-`y{~`f9v%dD(mdjEOnGuE8T3kr6${Stz^en zfCqgB5b7_S3Z6~2&k&vuer`4~d}Anh6;2IRz&WuNiYJ=SP7DjGxZ5oW4h0>dyjrSR zOygLo+4p$1$;DDEl?(Gj&*wz4+u@KKuy6`+xBh?xK~~o$6xS$e>jXp<<}m5X-vAHoQ0Ek1E=wd+)fRs#)O|+ zOo|X=OL*3SktuIyav*>zh!$VOzf*gQ*cX-@0=>3(NcFL{--;tHjC5jNo_@G;qhSfK z(d4Qy16CEi5GVF-c>YB!QD38LLyvioFlu+xiaXm$j24+E5-}u3^mF=qs@YPr#YJQU z-=Tmgl3^)vl-qYM#49f0xXWy5!uG8i`s;QKB2QZ9qgq(uaLwy{0w$9dJUwDHueahi z@&`=tHDnihqA)nDUH9LlDZ3;{B*J52CJ0zUFWUOl+0NB&cIWXigL3dn3@RJQ&c%c6{;KPwePCclaz0A1 z^~PMU&buDb6vl0>u*UZZz>XESg)5;&D3_9c6R9Q&I%&cv0mks?U=`MsN?HEFB9J3z zEy1RUKn(j~tVDB2u*vv(LquXq_%;ieD{j84jav$_4WX~LH3hAn-rc=aH)K%0)=&YRVl*HLmWx#&;aO) zTyb8XeisxMOG)m5+wP9hD_Eu9N2OX*IcW_htNOT;2I4{(vRd@H)QT1m8?vU73;^3& zI~{8AwkH77XNQCe=DxCYA0SehuMU}Wx*t`QLwspCfegi&5@b4#bA{pxlp+={MJ|E~ z9ExUnRwzbI#q~bhY_Cz($mBazII7}$Hk9;p(kmK!o$ws`vJVIK3un1cs^}TNzcZF*);) zfU>nGq2$)8@bQ|X7pF+0FMIaAfAqWf1J3p>=dijN$~Kd@LQ)^r${3YE90F9DhJk=J z9BQj#DCcNSPBoGx6f+NFo9&qZ;xzR{5E;2to@n)>I(gEQjB)@ceF|HpGBhOa^&Cy* zajR!N!H!hSz)~WF$XcpD^v)|1hmNPR$StsdB!P(FrbHYif4eeG3yUzK=clv`6=?>N ze+@*+DDb)5>Vsu^fZO~WJ*Ne-bP1gt@IYh+0a`bGrmGa3r8n6VfG%RFKfMj3vs+jW zazWn{W9w{p%i-C;d1%&=!RpWYc|%(hR1*_h_>vp^%aAo8yNMD1cWDns9A~M5K%xbv zxUaFYo?gRft$#qz=fT)2U6j#WQ{a6xqE-RC)wpy>A~_*N(=x0i@92E7f+c6~b!y-N z$t~xr6Q|ExF9<8h%o>x7;#o$(AW3xwinEh4s)n1AkblVdpF3ZHMb#PF+DYtj$Byv4_+h zKHt6UN30V^!zn{Z@pG9XK2n{e2x@*0=?x5ELRl55va-iiGIt$LXkWCLJl-61aNZCguoM`a9V6f}N=;}k|HPgG8q*H!QG2OH! z<2oeFx+@t<(sJaHguIk|KB{(2ZJE8dsyqi3l z@|&_L><_5qhh{3c*Rrzg*`vSg~vi#&H*H zCi<8m6S74OpqsrwD}db9t+5G|pr|LZu_9;<9A9d&YV-)|1(HJ|fl!5(lbt1@fGlUn zO762NLIJu!tmliY7CpWn0_v$3B4e$e4<;I1D4R~e7u0X3)p_S}Sz4`NLM%00 zkE*AWYRozL?f}bGqY*Wkoem9a)m=<*WcI^8ZYiBuWf?)W z?jsLg$6x=c_x->xee~1+%s?Ws$>C+pP>-=WYXJGK|LhOr3;*eFs@p&D19|?!hcR#8 z!Hd88QC!>|c;JaZ-JiJo>W;@=e~tv|xes5&#r1RCLB$vTsc*!^XI{bf!gGD)iR*Fq zmp@v!Klo}~IY*qG4}9h$7svrzf6GHXUVkGJjd9r+bszU`HEw*}7XvRmk5?YLf`|W4 ze-)qki68FQe&fHRPUI00qeo;!pmU6Q@A6`t2QL4;Kl%F~on5!*#a*C)UB5TtGVBM3D5r0&){9Z z_5u9Tdp?H$<%fQuKlHH=_Qkw(sseyqTA&kWF~%8C-4!#1+vEJ~995TyxY`_uJ|oV~ zqr0$QOq`$fWsECz@7^m{9=Lk`sXz5ce$VT+2wYs=!+tU2e3Q(__ODcVmq1kG;<6W0 z>cQYS6LSMnXSH2Mt}3wTQZHlU8dX5X5epcd7HCrE31MLv!XQ@3oo>|F7P)0aC?shf zbz$feFLd(1t!ON8u;w5ROAAvJTPY#lvYQQ)mG)y;>e|x7TB+k` z5&{q=$QrK5IFPeeOcWjbePd0>oZZM6aP=YWtIGZDDgj7Eu;7=gTqRt zgvdH#q39M-v;o+G($6LvE=>6@D=OiW95{(HSPkJBL5qnm`ivY>0MbN?2q%hXWlv%S zZlxF};wb+Yb^(YlOZJknoz9JYXs2Q@jRsV}bhL!f3+R6z^|i#GOI$Hp$wV&lO1dBf zS$Mw9N;nyr1WCfj$w~>}Xm6#@;q`PfOox3m`VwpcZ}i)$s*_JM$=brNsn{Wuv<~D_ zQdWByqcC$c%nGV5c8O1k$#wu6V=DHpGy3u6T=9P@RH+PP?}*q?P#<=$nOnW+EvtJC z&}39H)G~)eXe*v>&`$8ZxSrH3>im`Nv8qtqa*5X>we~`p!hIZ^E={QkwhGNL=tXFT z-g=xQhA0?e3oNWNukW@UQS4^U=!iLGLlbIWWkN9)<&wJ+QK|bpq4(k5)g(dQa9?gv zb-QW5cM)a7KJ(bGb;24V1!D<6f_Mbz ziO0Ys)hzz`fMZwLF6bV44j`s*KA)NdyzJKC`VAySS{17`6^>{~v9EBh_hrSWCX930 z87FB1Pz7~p{bYYq=gUdQCi%Q6j)R0T4vP}%?qR#-_}8({jMY7W19BPn>C_*paHP5? zC~jA01uluoh?DSrX`l5&(7GZ-#YX_!bFmiq zAkQPr|Fx>S#6ZR2yY-W(m1PF8z+PZU92Q})5+`A_Ky zMw_d4x+@FSzIJ*DC(iVl$^GL*Ggah>7vPWc>|&RF%H#c4;t_0dM$;2C+*GQicbkWh z>24sn5PKfk?=^HuPM1V%E?`B~CpTuYs+UG%aLuf8V}Pea0V`K{T0F3&L8nGDCScNI zm7OTHzB0({l>`72NcZxcy!5TiYimeR)dHYLfrqmH3;g!F$jtT}gG0>!9;ElsziXg( z1*QZxD6mhw09pHTf>|GC3F!DuzPR1>B0{=gPCc5#ut)|T1aEg5_ri*6_G8w56<|8E zL?9lSYLO!iDfC28>qst2ErTUt>s?Kvhc0)V0B9#9dXY!rTPUEivfVg<76Ai|)dmwv zwk-uyjRaZ*0&E!oAh|YEs$CbGtbwBXjPRB4rA&~#2~rT#-?@OnSXC}Ys8&9#W_ej6 z7I}`=nMEuE$Q$O~*(U%b*-nGpCY?keWOV(kGJZS+3Zg=wgBfaDuwphs-@#{@?Y0~I zPit~J!o;hKio6ROSQ?=;unf)cyTK*e$DaE>U`WlNwTX7}qOk>gsdaLi$p{ZE1#JSR zhN=!kP3=j5?B;PkRtVI#`8ul_JPbK6gvi1Th$%&wE?G1i)K|DQ*g-tG9JF;}B1obR z1f~v_0jCKva5vN!P^R0f+|7mhn-CV!!D*{PUuAiWLzJ& zh*>RyP6$>Ky&5_WtKoGTMRrF7VxJ4dAzG!dnm-XLQH}t598T{vpmL!Fa_!H;o+9D- z1Bs;q)9JDkD}Z(qv211aCAJs}3PglOV5ov(-IvyIaU8&-8*r;H7^o?&9)J`^h3XB_ zQ~r#$&N&g%bz|NA$cfoQ0J8*W>PQIdYK*R2<8<1eM-%5iteKkP@s{!XA;B6G-+~<8HUnr_Ur7 zV1i)o>67zw45;`n_JeQ>nkvLl;yb7a8A93BtiI?O=)oS3VWg6pW1A0aaFcyLxYITVfAkD@-8R zVrq+lEjIk-XI}ZTKyyIAoZUGBv%8}cvk(~h#MKR7_|CWVt-G({m0$l2JpO3m&Px~g z=!YlX^7h27JBf!L7J{WiY=lA0?@A^0%{=(Pf z)z|IVg1G2`H*dK0sXKV}nOku)Chp$7#N7%!@aThh;C4Q{XTuyF2@l}I!Ccjaq7;M z3E4PNUkh`leA*z(iblkhv(b0%U%c*@p8nL=Q&pQ?jY)=69z<{iK>Ypx>CYnekL8`0 zK3xwy`lhH`ACGbOnVv7-Lia`7f9a*Xd-YmukA4NN+3M! z=ZHn(d;cQiXk8*BM)b6d8M=3VYXF@_3M4PHwv`y4em1#dQ@#wo4$*=v)rx})Oq7%= z)DWrXFGNe6<0N*gC7V7!B@A(8X{g1*N-MW8jC*dU(Xv(QP{INvfFjtQQeld!Sy zG6g(D6}f^XhX(Sa#zG<|h>bNTOTj+dY!!#r_YuePbL89jSeQ-XDp&RB0c9AZ@xBA- z5J}ngoypx{v+M(#4&xdhr2rE#E77m_5!u9cA|YW6wae)gr!N$2NyURl@}rXdwX3AM?$T_nUWc-E zhy&1L>3O8Q*C~n|ENN_E%8($%RW)v@+J@9In5-(||3of9qN6Id1f7T&*psSO#74ZR z0hC-<-HrB2W5u%Q0!Cuul5?}DeOFRPEj8``Cg*7l8K|I&1RNtSKE;W)upr17%{+^6 z=n6qZ@C`^s?%0Lsc>}QPvn-q#lXeRQB{ihRF7M@B!XDa8D86gNNMOzgmKKUI6HZm@ zmC~AxlE{j12`KS8AQ3*HHeQ?fi+RaZP8MAmLLC>>I-^+og`w6f;#;~W*vpoQni!43 zu3JM)pCj1$0pz4v%|&v5>drWMd9+efyb@qCQQ8EQC9nb1)JzVM(`cwR6agls0LDDg zg@X1S7Ecr_)9OfoIRIx{#mS!hGZY_5;#L;5$bSWs+Lglj<+A}Kc2u9C=DtKx*~^6R zcREyM(#LF+(>Z8pv9F#NN#RotR{QU@(YGkBAl^5R=jV0|sfb!emqN#hp*26Pcy^^a zcKK^CVd8kJLzR71DU^#(RIc}TV0D^pk zt3!HUL=mc6VpyPZ0=1!wvsE}4wvaV2lq{xzr`BDMNO2l`=58F$D2s`v=z|b%c3yDB zu6eZ7{aCYmim@4!TfzxF(eC`Am?j`nTSm1~o=6lfp!k~QTwO8=?40 z6_0eHiv1f%3EDIpDCJY#Dqe5B?&T8Df;b*SR7tnG%%~bv9N8YFSdC{2UOOSMahmA6 z1pRJH0D_di+Naof?1pTbu9NxRw4f4Pt8QSc3iEXb zVFnsoS|?_4qK;rw#lc!Kkvmpyv;%N1pab(%Z^i)0-;_epgtTsvvY8WAY@1Q~Y!7L4 z3mkZpl7@<(+Y2yf8{F+c$gx0yck?p1SN~;mk)r67&^$u!ugOQ}A~{#PHOtUk6Su&* zGlJY!9!!B; zN~l=z?iM6Sm9&<^lb%}h6Lr48bAkhMgyLk#iT|uTS+%A%j3pqY%Tn6+gq@TOut;F5 z-F<#m3y{=VX{b*npWB0^)v|D9v-#Yiphu2Epm+^FlIq+EokXpD5wDI}yp%C@Hx&J_ z3|KDPL~x{9=}7m_8;h8lA`Vrbg!ftGonp8e>CLJa3;AO z?9PdwwyB6b{L_)fm;9BPEz!8lq+cnIR%l$G!JpK>~I?x zP+>x>ZxX-Y&br+KLN1ApWR^b)T?}0L{42i+wtrIgv?r{jYegy{nR=IIn5fJs)HiM= zNqm(KsAQi0DO7H8U`j zB$54C=sIM30+&S}pia@4{M4&&Rq-bD=NpLxI&o<)Hw#{yd{e z$_Dp5(90e*FEEzTs$$u31yManglF!U)$F&}QYEIqgYA^>Y&(I%)4G-X6j9vrX|YfU zlSa&tyW+^c7HfTYE=2KkAjVvP-*(tmnJiGN0!{1JM`Lq6JI1w1Zq?%!){0o zOedikD9RB-Z>Kf|u`15gUjj=P6HJ;Hn)8Ns+ClCeC_X59!%z}KhK9duwWg9OB=-m) zSx)Ta7@u$2pV`|wf^fK!YWv}}L*n|C4cG>rdHK%Ue&JVt^M8NtrB}Xy3F|R|tZi%o zRBXs?pNSC|bL@pFH-L=DPGDm8h=}Zs9bUTT9)W?g^Xow0#r^w*S@-==0o+$`IM8(g zRAyvioaLCkq4#+)8|Q!XCw}E0|I2^qw?DS+qx+I~j>bwi z*x!CcBR2MXjtVJmrTYyaGO+jD?%cn4637{|MrCB8x-(lXSt6qQx4!A|m`}YX?tc8! z0bIp+{01I-_$J;~m%zQ-{l+KGod(Vuk33d5yK#oT7^urvas4%q24205 ze&iwCxEA%&oz6sO6*{^xwylwsxn*7Mz%PB^4Z=54fw@bQQZ@ngL)&~G=^ zaWD3H2nPTLbR>e*rjAm%e(JHu@Rxu1Xa57DwXG1D6&;a?4QEx@^YWq_nDGPu(Vxa^ zzu{Zv{P>6B>MQTbm;UyDR#%?98P~q>cjBe@{wS`Tzl`fQ-Wa_YKHG0@ zpM!kxby0O2bKC^3J&1?i@^$r%|Ke|t-}5j2n=x^%FYn)pS3mTg{>Q)i8}SeR(R=!b z{*Rx=hd=mq+`98>U(P#7RNN~7eTFRqG0uVBvwQ0pji}C%iH@y5{F|Tr{U3Ywgn4a=`Oo)SFXyS|Xyuq7ZNHt)zXdfHWE;31kP$$v!9N zW3H0hKWxn)1P_=!+1s0Zg}4kmw0JlqBVwCyYfKJ*4=gjpCO z2v4l&QAX)g6xv1-Fwt`jf=*$e)0P(KTrmo_*|8p$h+>^zVemTneM;UA(wi}h_E`T^ zt15y&Lz2*OF@1Dd8ZNbexs}lJ^~Be%7$;$iC6IDR5>D_qA<&J;xni1(A)mRE&}_}w z^GOP}ck(W}x)Ou;V+r}t2o5o8&VOKkbsi-OG*Bt+fFuHX-%>)pgkdR&QKANY%;w9Z z!kk2JE#b*ZD1y&s`>gQ;SlovZR45Kuwnt)+Nzn-;{Awk0;qzToTJx-dLr=@ON8>VM zwaHbCp_UbO+>K~)D~%b!_U2M9AM_P{Fy{>LyJPTW3q$dG>U=Xs@LVIB(TM~Lk9p;Y zhlt0xe;XQ?#?NVSPy4X&{4}xVghTbl7`e`uTSuXKRqC6-qb4d5eYC-~iLvM<-5fH+ ziLF>iCK&P)!p?xszwiBVc?J8MF@La~?nIC{m9R}Y1Ytsc!Ae*|9VSFMGJX$4PYore zUm~wIx$aZ%FS4sgvx>M|GX}&bw34WMbCZE1zDA&XXL39WgIjyzhR9#=K84NhvY#zt zOOYL{yk3wI>VfY{ zmT>FZZgduUCfiv%?o1{0{)vkEO;|F)7I6`Qj2$%xlUrcre1k&Vsk5v43+{_}MaOcm z{f3ewjpdiP`sxB=)7${GMzw4sR6)(;I%mVGs>-pRlHr|0f>h!Wc6v~PJ7RHkvSw>= zF}at)cIA^PrVb#cIS<`W6a2C%asW(JCH=|b7-}$S*yNhw)^w|jAD^PcAFfUk2YjR5 zE1pfpkbT&ggc5#0tJ99t`J7*?L;*r#=tgg`i0zKR=JKIsk1|*3m9I*p7jd`RaHLdQ z0y}FmvX8L>Z4R7C%>Zs-CdsG(OUiP=tvzRzY<4F=z%R*JL(iibQTUmjyKA_?9wqesH6$9^DAVR8uE_is5*E2FnV5SE(Ns$t~SRQO^XW~wF z+0*$b7-|z-#mc%7oA`$C_a}J3ir$iBZWKmya29*|JNwAbuTDCl2&i@6%FZo?lRV&Z zJSGf51AuC5*}4#3r__ODR-77Xp3eo*+hvF}_`ZlN?H-7-vH|R;SdFPXbmdSr?p$CP zeSmjnb@`sKp^-wXxyU@{x-SVRaHN`a^}LheoB}-~4XBk>^&WMqnuA1HCwry3RaYWW zOQqzpUwN?xLA#dC<=G~mnb8zz3z2)altae8n&rSsjI}c9s#j%z2?8OWi;w|lDR(H7 zkD4lT+!#eDnUgux*(bEr8?r@wh64ETAZTXTWAe;6xOGA+u`8?WjHm{hQpqIHtE!R! z+;f)C-%_W^u_2a9$l|F~P;PbFDrvQWH#ZmpXi|n$7!VzlX(rWA4h(5a13gYY-!MvG zlL4pfT95TUwxL;&GKKx%iNRUn1qC9sL$rM9P^uX)GUK088S!&@yBa>AbWBHukgfpV zOa3Mfxx-2dW+?N{FP9zQ8LA=>b-b|VW+uYA)lzVG9I`Of{juSa(b ze&)sgAAanIqdJfyd(Mbz%$^lnBYJFId)>cv@8Z!P`?>f3wLkDXKL5Kv{o>19S2;me zp>cqq4j8X}9Kby?(X((SaxNSQDH)g&PK*G~&IVq&eewFPx<;v4A}~6-y6O14Fykve z{|n;x{kGSjuin6wm*0*1xLf-%Bd%6G|Bs%HYu&)rt9bCrz^!L);ob!hw}A0b zAhvVFJ8t6k$3KO$ei1i5|EqELpVWAPRVbO;z z0;l3oc?azXyW9=o0baT_`>A5J0VyROJPbKk0$w-(Epj1NML1@zgsAN{V>8<9rv3`8 z*e9UYKf!mNQp_@5qp#;_ZBcIWy^NM-wZ{;S z=Rb1fZBU-8UI7d5AA&^g6ni{0_iyWF z9G4Bx<6?YLQYn-8L1{SW+Hi>c!U^%GM2V`Ynfx0#IXMS8nT?oa#)+AP$+XUd@Kj}@ z7{{f!2RA-x?{ldgO*jEUq?Kw@8Oby3;gare4OP7`3})i4-1ECxJ;87wmx%C)tr-Y* z1!4=ds|m_jp7@COL|lntA`d>EIz7Z$jSTfChbw$@VJNHL8=Aqv6C@FaP;!ugS#=8| z7LF&5)f_?{q+IcX2zmro`vIv`*jh224M9U3%+Xg(F~B9FH=f_o(yYoq2&ZK?cG>%o z$RkC@`|OnOlng{P&|@&Jhmt5oTi0>MHbW(K`oRP9J1dlIkv(iB>V&i_H^veKdNygg z%UVU*G=f2X9^30QTmcac#6}hI-ojlx6p`C5ogi7UoY z#3CjBr6dCN{pZfaio;ml1Z<1=WHpR<(%n8QR3Su8G1KuK@ph>Vv+rOiv0773e|Q!s z&^=k5B8;D@bBzW{`~@wg?hn=YqbKGt{}k9mDIM(@hXE%#c6fdcns?-g4HdYO$%W_J zMI>TKY>bJ>p_W2WyrJY9l8Md@6beXS7pmsVpk3Z(W9GzAADw+}i`zAy)p~Z$rrS=c z@s-FAu1Aa9V8ViYQ>HANDoX;Y>S(pP9jfNR;omYO2JDi^S-z;So(U0XOvM2<-@<1h z8n2 zJeB=Ft0DPogz?0I0EFS}rEQ;Ef)LxEgxhpG!N!B_#0QqY+vNua3LC-Nk&SlrYU+uq zDwAy@KEMr283Gg31ZZ?#B~rKqn%zQ$en8+Ex?>TT&8#!asIV4yo&5mj1jZPvOvYJ~ z)mv?C|%j z@LgvDO9cuAP;xF&YX~VrVv&$UO$5c>_Xw6oXRd&bo=`zmdr%pPI`<={0Rmh`+6#~t zR(fofUPnRoD(}`>>fNl@cN)JcbdPxcOrDMK{cy79z{2Qem4lsiYsj;}2!en++bwj0 z{pv=qBthuxxXQ#;1gnpsdZ z&7@Dm(YtJptWdg~Db^41T)N$rfRBPQlejLiN+knJnRMn4SxV;nh zXAXEHd$oG`r@Z}`0OQn5tYK`ZoUQmoMFAB3>i6~()UY{bqF_kN*!1qUAR7&@CC zA|4_bt+MUb0b4DqTHL2vBsD?6P?CfVi3Sjpf4Z?{GV5PF=&9$RNpgqg5N}L3>l)V!G^9#LuC4Q21dfV`*MRLP;v!U-=#1Q&G_T_su|vUHkKh#od!p zb~TmEtmGguHOgO!6{t;4Bi6w0)xFF1TI)kX3?kRnuUGasmp#U^lLaO28z6d7s|LLn zNqr`!Q|i5_vDyM02n;}zObECJLZ3i0i4jRK6+qX%zPDuus^#hwu!J1WknKrs13_%J zxusQN8^cL3`I8>B8yPr1Kf|rN_aFVq_k8F_o_qPuJHfQU1aDFxqxb5;9AriIUb}`K zb#$JMad|o8EZAsioMrYN6I~Ot)QF+bv+m8SHy(@6ecR`b-}Cjq4S(`q`h)$px4%B( z{w>7Ts4EZ7@A_-++`jE!`17~~V%xTgI3K;wy~dX489kzV$NgV@`s4rHZ+*ub{-eil zT>Yhc_wPliWYa^mTW6=GzFvvuY>kIi;NHNfM2*0SL=-7u$oV$#v1ecY9fXOK*C%o! zE2E&?bo(WtHoL#?;S3mVJy#H^%FXpwsh1dP=uSY%bW?&ZT?sGt# z_xY8Zarx^%2|V~1#+!d{VtxkLUhHjlUru1&pM=H_T#LN_MNk9=hrXy zd5<XDKzLIQH~PvV+-s%R<*gS9{Bu@O=#0S2$^wCOYkP*U_e8d z-5yBl*5Rl@_(XDAH_CAO!uZytw?-L}aC9tkz-nR)iO#x>b%ZlQKRo>&PO3xg0R4R@ zu}EUIa|9e4wRLw2V-+{>YbEBh@0V~TNesEY!2nhGvC=>~({jnV#9E<8){PsJ>Q%Ly zaV!`pRCqQ=EbIdj_>&4fK0}bKfk+{U+kpI#6GgC!MdzAD58fXVfT5NXHFUGPgq>_l z=&PiS5Kbd@+>E)P`%yfj-QeJALmpKmussDgdqiMEU|OBtj1S7yks{$sm%%aX)X$}G zkB8U-05&BxZHx5KBrhEV0v@Qzm;@pTc^FF7$jEV2^+Q!hS~XTrGFid)Jx1A~y-0A- zB?-N%(EKg1dqZN`U*c7NuCKq|cbh)zDz8blV+mljZp|Y$clC4k#uM4H+u0;Kg-;>D z+=wOHLe;MGzyZ(fA{6X}zAOHWLB)L^oPliuddJM6gi)A&P~NK-pWt`1Jy}OgK>*Mlsb9@;|y-7c27UkKn@P89{wyRQ$#v%Cvghxhh?>g zmfY3%j*TQ>mJwi2aSDUzgxUC(NhoEQIBOxG=MHvWP!cUcCes|81OEWqxH9e_{+=Sh zSG(9CmpH+sOr0cQtNl6T>Z${oQt?A=S4_6b_GYt1Fwm=QtFgh1wiyN7fxz)09QRND zZzcadpN&-~N)ET1tM1I_K}op@b@huXPiAH zQW4h5M*H$MtIsEBqbT}0nlw!-Fl5h0F_}1h&*BjIE#IJHK=GmXU$f$LkJ_Lp!a{!D zGgbIy25K)Qj!TIL3v8j)3%G51hzsdTV#Y~(IsM+Y^}e?9-?o_wQCa0(_9gZ=I)kI( zLiQtp3YhPh;c6raBMLy);&XO>pzu;)i%3|Z$-ONBj>8G_DGKZX)k3nZO-@vC;&B>)}*qX6`9i4dex6k(PG9Vixeu1WKa!@>mDmHp940=d?;Mb@sCJHd-t z>Y?6Izz}G5kFid4UlO=^U7+s*l`?adGFuH8{1%BXG}igDVt^{vDWk7HUs<^pNlcj% zK?8Sg2qmXMMAC_jRt79WKpkqiBLgnwx-qd&f#D?fMxPDzZo*bc8iB;DgY-7gK8Eu) z2dIQWiUi~85{7dCjP!h_{oesW4th&mkLw8GM zhljghVeP=c?80i%0jaW~hga{@QZUH@b4<=ehW{9D6%^g93h7cS5+&E1-~<025l2~< zK+>uR(z}=hq7xRS8wc4A0l?MzM!+M`RGuhkj%@Ok8OTbEn(H}Q#O?~N`Xq_dEEB|- zasWP?C1ruih0B2hR$0Hv*FqlZ_Bsi!rU0<)gNrJx_!K@~XLS;qXiXSknYiGc9Pl8{ zUgRi$+=)mFVlpPH0TL=RtYr@kw%zY_gh6O1$Dn|I=bBYm8zJE~2G%K-zBEl{MFQ=5oLsjHKF1tw6;6lpn zsN7k9xB+p2+4LIK>o#0-pjmCi0lX3;TYb(eIu1f^_3Fp{Qz|~)T z-$(z<2R`<~pRYL|3ZS>#_A0O`G4`mQ84;t9>hRPY+Z2f?^d;&H0`xmBVMG-%^5F-c z#6R=RUp2quTizKz|DKQJH+$tr2JhpouL*ISAU-`_Zf3{@5S=)~|f+wr#!dCHzOf z6CxR)I|bpp0;?Z*%GkDz?E;6q&_TS-N^IM}uYL5nZ%H8b7z*I$)_cqhO`k^3Kk%h* z?l=GTw`}`%z25udzmQ+_`B(bIm-e{(!hKwOdk34)IFWlSl$-nz4Jn-lhJo<%?;L5{inEfj5zW0T`_O{34 z%2$11J$iX3Z~wig@!=nP29KXTj|aZ+k=k#Z;gt`*kPm;!ui*N;lb3J%$~qsw{W%kP z))3)=$e7V_o{5Vt{LFhl@K^rWw}16lz4Gb~)Q&-^6!xS&9VbEJ$X-6$)x4Pu{MgKZ zH~B0#T;AIs_y@o8;co{x{~;?!24W`b59iFRuKL=~dqaH5@BMv(w{U1PFyiyN+*%#&)eDpK;%s>7R9(~PYxb~HgV*kWP`qMx5 z!*S#Dzc_BZ=_%CBC;R-#*Nwm{*gx}L+rg@m|gGgfDqKd*APCFGRRUg(x z$$RETO#-rwTPacPVACyN2B<78k#i(EekU}=sB-W}9^{2Lyr*H*VF8lA6HSm2G zDQFQvgKZc_h63(htzK*&P)BkZeS&!$1J!~TO2qn~p`<_oB9zyRtnSs%KW3=fK-e@{ z{%=tRiZ}{$^6zZc3|HXM^(3o*v@KrWM(Fns{|4colt`@gcR)X9`zjdaghEJ=;ut5v zguS^b3fFSQAWl|ekM%!{Peb^V@o6;Ip;4pY1l1AWFgA5Uomf!#NWQ<(@Ekbhbdka- z#8SjR96}1f^Mw@Sr^gY=-uaH!I*&TPt?JIn`>H0C5~8TJsGcX}pqaQ(Twyq{0s?ES zMd}39QY;idhj5N&AT{XSI+TEHR-9_R*N2PLLhyVC2M9_GK`h}Gr{$Ql8nrQQnw7%h zO8!`l4^@P(n1d~SvriM2P+KBGh?Z?GQT0=9lyc$j{i&>#rD2DwMX^2@*A=l(W)d1#nZ;Ux=_Xs1y^ARGuan_wU*dR*5$n9ExpzXQJ2L?wF_wj8RyvoPd=W zZi}w$fvP0L32{2aQmON7QB|peo|s+tr!{i|u>^c;rlfqjg}o_xov#Q@x|2zeu0_fH za*P%$DaE#diSDTukUUd8baw+7N&=ET6M>8%|EAeegprj^OLMov6Y;tV|02GG< zGof#uly^6v>h^-}y(Zu3T#gF05W?DXzF?zr=nn91Gj0U7bx*PI5eDFShBB#e9kyfY zXwBBkft&@mbG(o(9UW}Xg8)j^=#ki~;jS(zUXJ!>N7uIYg4;;zfL#X1y+Oaw zma@ti)X^1~U^02ox2DlzIhfi~XgYS9K!FE2sFi{IZ7%C$1J$dIMjG_;jBzu=@xHU6 za;-W%oL}J|7U4fd$fn6`203hdA&`|=3$?iAqEaAZ2YZU`B+_*eA;;QaDW=OTnVhhr zE{tmI0iY(qw6vKe0mHH!5fd#}^2_OKf{qP{qPrQCDl<_ zF^e*0%~HNlrcWaS(V#(?E|2TffX<wHxl_ShwEBCAFEDpMJO ztta+y`xN~wQedJK;N-f;=vri@GwiLt-7vsyt_Mx4RK5Z@2n{F_VFrIzbL_0o5Zk~2 zQ}@q7TuE*n&HyXpyUAb@Jo9WbNP%yG6vQdxPGeu2g0ra-Lm7f^$ zrDy_uDpdvMo9DkPI2WjZj$M0A)yya-#z?r>pE8NUwEz-(72ChfiNIW{U=wH#zK8rW zgUaL#0;@$kfY$KttV6(>s;4M$_?(geRe>`Ea%{+L;Kf(&yy+)@={J7%DTi=Rr`R!kf-|@vy&8MDt zaJ>0T-j16OUypD3!@oPCfwNEi5I*uB|8@N8rz5`MPyY*e_Wi#R7jeI@+in@;%Zr^?Ky}$A4|L|+S><$0cORrpD z>kBGvHLHga76ZT;pM76>A9uE7C;-W|%v5p^6&c-eIpdc<^33nQ1TM2`n-MW*0O%au zHKP)JWqi(S6E8ozV|?uA@}ocd()@z&eB*fgyo29-;S5*q-^3^0{egP?=6PP<&e3=k z=MSF8L!bL7#>X%4!iVo7$35JA3{wE@zN_7{mA2w z#PtWSVt?+rn9trp+<77M;WL~)n0WF{8|wa!yH9^6AN<0naQj0q0-tyz;&uNk@aXr% zutxm%0yY-b`~^ zaO-{!01^99MRj(LKmT9<&~H}t*n&lydsJ|i4tfKVDgg42eaBZJ9(^2Sy$-jsFvAcNT=Rb(~>DzepsRwcYW6$OG{7blAz;F5OZ^m|`(NEk!K6)Lm`7Lk4 z-KT#Ummho&wl}{q;`Uq64}KimTfY=H-tvt~ z&i6f!yz&Sx@4Sf1xPh~8{?}jLeu-Jt798u4SIjn%IBn z$KUmXf8q~+>zCA=7Z5pbzusUxFk7OD>0bIIBOKfVYN28O<9Q3V8!;Bqc~pk7s>wuf zpqH3u^`a-R5pk^^xhZNvtr1rr@q!d;u}bk>`8ic?PMb>q>z`@0I$(=5+V~j!J(|bT zpgIzFt6Wb0h+3~S?}^ptdD$2$W=W)wQ0@Wb&eI3AWhMRyV(3jtW~egJ{rZr?{5TTu zXvJyGwg(`t;|LgcXNdjZOck_)Ytr?PN}9bsYfmVN(g4 z9gdZ9VG(w#(gbcN)fE4-5OTH!BhNccb^omDx`=gcTXOoipK))o=~ zB}k_3Q9zqw6K4H*JstjfKh_ZTm-C^#=Q8hl1 z!<{sEcb$BSqJM|rGm^dVYi%Z(h!pWTE7bl*d=RX+=LW7wx!J9wVq)|L|*LW73W&3 zOMXQStnE{AaEy?$KSSp?aM)&W<5-c#GdC5NYKj}bVFTt2i5F>x21VOv12W6ciI#S&+*U% z)fuXo=d%t8a4I#gOd>~2toYp3Qh@lwC<+$GAsS!1a8TSpw33Q^&y_LKftcmeL8#;KY0WTI)~(Y3w@I** zX)t)++bwbEph!~kc7>f)9=#()?FqQpu>q|tLaE;$?URWzot)nayp=rlvNf|OX+A=Ig9QST^zl8)LVAGmM6f(O-FPE_;P8QCWzU6un-OOcCgWVTUTH4q%c5ODV3ZDw92P)BZri%cGs25SMmD;W@4V|_N& zR;d4HM-I*nl`-1BaINeF z13ZI!0#Q3EP0;qCK1vgyAUFsCi>Bkx#Byr9e3WSAaJeE?aP0A~c1^+Ff~$;JPB%nk z5u7OTwAS4T8r_qEDmnPMeVBp;1PL5kq=0@?S@w`Q9MRa@ZE|?$*|LeP?hH}~3Nze7 z3`!ozXSB=wSrU3eIdO{&_mo)XuN7jGP9T7oJipz+p=$!MtVRpC?T3eQWBFDCOE77y zM0TQ<`tg|Xq5!BGgN*A+=DRPg6GItss7uh`z%(UerNV3nvg#-6p^Ixiib(!7$HK`2 z`vo|-+W4H!fTY_(1@_pi{On3bdL`EenPyi6#ANB!1L&Ft!kX;Hn<$W(~TjO#LTsseZ=GNUe|L8Bi z|9uxVuWY&XY*h3f)!8E&p64=gsi3+dFmYLiE~LyE6c;ki@Vnmm&iFIm`HlGMuY3m{ zd}OQhYf-r9oVeH6KasbezK6?KpY4b7vG~Z}`FZ^E&pchPee2`-fxr5f&^I2#zTb-5 zk3NRJKXLuZ*Ti4>q5rmj@UgGQD|7aFUGxPiQ9vdOVA-tk2K=0E%pwrB6+u`fRF zCw|{M;_myN#XtCa&*RD0WIyrx^SE;38gAX&`*t87_+9U8T-oCKTORKRUjMr2E9bzc zK7n{>AbJ2JPS{K$tozu+CYJ%RYI{@s7M z|G>ZTU&NIwH&OSBBBj_mYgaW)^{cnMwZXPu#z_7lCZg!RZ_ryOL14 z{KP&1w~koVYg=IMiAQc;!@HmU#8oDehu*Q3#eaxAI_e541MFF-e0{R z@#zm^eEQRYC_M1yCs-Z!{Bx*lXXt02!FYJVB)gI;FJttcJ47^I~#F%dC~du zz59=EzypDJp_dPKkbC$AiZ-VFlB#QEx!15w$2OK)wZ${Cw+fJtDJzO^Boi4B{sWVm zA$*@Hf-Fz`DcK7&*s_wd$Yem4#S)IfkyzM+_MVs?v{7Kdj%GVJD1pqlAyuW7dOzWF z+v6sNx1I|L;V{16?8GMg@4@jF4UmjX+bOO`l6)er7^}5x!QvL8t4b#ca#atJ_-GM1 zG@upe47a?CW50;Hsd^m^v_(zC)iV_@Iar776TtrIwFDw=wc`q|w3sc}u6Fgd)*iTZ zE);JP-xbM^6p@m#utH{&JPS}bQadWoNQhP-OFejmpItj=a>VB%Jk+b%lN#w3u#B_+MBmnibOxYa29QkVtj4LxPEki5RSccd`Y>*#{z7@f;HoZk(e8 zPL`CmtzwqK$U(y1u?Vn4VyoSQN?JJx*Od;f;4u{B>=H6D1`FMT@_dL>&p2zl+ont8)GlJ77?#6oTHQewtXUyA^V zY?8ft=nl=|(4CJ!s2!*pg^Qz5qmT-<Mim=DQ>9_%prxn z5<#{vy{zk4bIF$9nvPR|j165R6$gTLp%mxBv7xItDcD38ri2x#*gPe$G@nx|e$$y( z3Z?pZF2JSf|p3RhiOBDhSBDo2Xg4L z0TNiU(jaC5#pKFt+8JnF_5ik35zYHJw$j|q!&mser82nf{7v{Z0G?KVBKd8Hm#S(F?U_N!SJyZwWId}lNw~nW|_!&&hhzxKz%{`FN)cnIl z!9(6dyy1Y)7|&b6_Ld1=YeoIO;k8*oHPA|`pi<(@A>k%JyEkZ{yIW-`)x7wHUdi|> zB}ZgSbFLmTv|qAIb;7wpd_hcT?_^&l)Fw^%NbeeX#yGvnvu%)ZKu8tb0-b&dW6Kr9 zwo2CEon64utv!IyutftjffPF$WxH3K8^OTY$G_u4Pa5}*^fK;^sz%7Ua zef0a&dO;W4*(H})VF3eMS0LhK8hjs_?(9~zP%I$LKNHEgjvs?rwoqxf1PV|I-2iGg zaMsa;R04V?x2WQLfT8_YufcW&!T*n||BkjjJ+8yRUG@FWx#8WHL#NjfXmmgzD1ama zAqFss5-eJ2C`ua1vgkku$+E1mw5;(O1xw?xN2Vn$YgrmATM{Lb5=k>a1PL(#1PC+{ z8t6vn+^@S|4mX_NS2cg^UEjGB)&hz5-o5AieqX5CwQE&npc?iDcM$7JP}kU2}`ive8ft^kmNJx35wCHm5x!JvvNod9Yx*Mx7HNr45_utp9D zo2izQD!#nK{GX2v9Dn{g;u4B4R~22y9v z$DQR6TZeaPaS|h;G)TLmoZWl^9e+syZy0EbAR(xR$5-8A`!WEh3nl zvym`QNSz=bTNQ@o%8IZO{uhX@z*z*1uT=+?`~r;1&*VCdzy+229qE24TNM=Qdoaih z?H6t2BX-9oEIZy>B=!zsfEme!U%gVR}TTF&V66yuJwVMdbF zOLeFc#Ri|It@wubeb9c-@BFa+```0H+ef;PTT?+v|^i z342#AV)wZhap&D<@WgYMarZm#_WR#<0*^m_0rx!o2u|Mi9!%37w$E;2@5U}R&!4x? z{L{Y_5C8r@@3ZwZMo}Kw%rtr2%=#*_{n#fy`}sfiu@Bvu^Fj6~QgQGeS}E=ai)kci zsFsQnC0i3l3)Y(LY;5AIFTVL0k!w)?pkv3bvNeDn{W$9yeq|JF@Rm~(m1@wPLb zcHyG+uRb^LUAom4TPL$EyJ2eZ`|d*lRx+v}GHVROz5WvKZsxa%+r7EJKpz>Z@hKu zAdx~6Zg9->wdJb{--5!1^}sONEMJ=CH04ix^2`5Bz}C@qKBJ){a$#vJVZ)#K-~J!K zv4>!nJ^?$J?dGq33P-;6o9w|qcsK0L7tl7YWAE8Zxb+)fz}9MooIKMP)^<*qpIRWl z^u=5~_na->{chy$46}{EnGLhOK;CnAw*B42)eG%l*U;{M8~o0P;1{1oy!LANy$?9v zd>X#9k1J1K!<`@dXl_4nE)Sml1#G}f>aAt;c+voDlF7Lyb@{%5IXK_ULZ$t}0}v5Q|6lf1 z249$9Qc~LxKun{pLJ=z2)^=3lbCPVr6RsHnOm3>5x!%7h>db_Ahp!n0VbJ? zfVKpRw<~d$kK|3^A>vpUrZyQvCT^634#%VxtZNR8KU?i`sY)$Ex>~ZfA)I1WxaRN4 z!IP*}HM1Vet?+meYll!qN}!}f&LLq@u4&jNL5~475H#tO(ru0B6-QL7%)%?90)W7J zO@N@P3#*07gvg+94!pmnc&{)GKhJendE;BM^)KpPlT}wzpP~j>-D3GCk=~w+kC@C` z+t(UW8J=hz7{ho?m^N8m-HmerD5h%shH-clM(@i&J5R7&sYhPEG$Z5uuloh6oNo;ldJs?7pKml zzNe*HU5tpF+>Y+GRb_9*n`R=DwHI*m2NFpY-B!5N1ftU&tiHk~$n9gmES& z1KFkJcgCySOTeavh}GZ#O2##5=72d{$PRvd@J@_ntD;|w0qqky z0u!tS6BsG`BOjbepuQF_(zn2habltnPTQ1V^%783`=qs*prQk-SZkPmul-I$cQhB@ z*%+UNgb6+?mQC6Z@<1h;z<9q=b!H)-TQ-?^pou4|qy^n;RUrr`bR$n0y3?L&{lmMP zLF_fK8W=y%3C#tmbrhe_0+=NdH^9~AJZ)ws*c0AMayV9~g23DEw8WE2iwjA#W;G zU=e7h!B;hqF`de`ENQqLZH{|pM3_jB$v4k^#tTrR5ghCZOiG+x1Yf{;8frSDb z22`)QYBf_Jpi1@E!@*MIf-92;L7`O7Z>fkZIDpZxCisou%gbPNtSbfDI$s8`WCS8~ zk%xM*k1SgPMgHg72_p?HLwhE05ex_tKn6n&6H#Pk?3fluB`&N%eRyd$LPjtOK$im~ zZ3%;8^z08AKwUVi%bgH0+jPhUaO42E0v*VyL=1q`B%=qv))OY8ykP(@Dn@wLd1g%K ziJ)T`xtsvZuwX1=KCjvCm*eF+hzN|p$bI~s@495RFuZ50Eoby$H2I9q0= z!E6P~HnP1`z3Z$-(wLR^aU=M#0&R(?axon@_SaT$*GwWOLk&r&;iv%vngDmVbxCeB zv@XSrf*$rD)b(z|zfk!fNhjtrDg$1@dfg}MN_G{(ss61lFr<46If7!GT3f3;SpASv zyNeX8$_ps*T8VB2wpDdR|EKmW>uxFhT#M09pFPSI4(rTAAPrFV*ytQODp*`A)v8il zCkF7*5NfSV(fOfW;X>Bkt9DdbARk~q*i<=d{j4l*1%W=20I5GGvU31d9c=4`1L;uN z^O3(}0;%qXnqyk+R1{7OkeAjus7jAjARaaxtN^-L(KIS?I){PsuJ9hvr>Hv5 zWV@vf&0Lc_$zv&_#Pe(N=~)IQj0q&=7Yv5%YGE{Cz-fv>)_sn>(cWh%Xo#?R)2f}6 z)ee^eO$X6Zk_?`0CNe6q4chCV-<(5NU+-xu$E7c**fgimE@N%>?;UL22WpfFl@Y)ltHnV84i*PdxV2lLrU;%jV0uAv4{k z@SIv^xlI5w<1AuQ>wrzRfxAzi#W#QG>+t)3_c!BPKKcRQKHe}LTtVF0#p=b+`h^#t z$^9Gq_QDsRz-!OE>ix#6*xX!TZ|@-I-tvL7+kSO_#%jOk&3R#OTw4O?9>vLT_-4$P zFGPRsi{4J$iN%TA(ccO@^s#UEkG%6f{PN>3@Q_5pEzB$|vZZ6Po^!l@b@%o!J@>|+ zdgQKSf8AG!%&z-Ue#}V1^%R-f5whuY5P_z1MD$E+vboXl#phoCueBRF0S>O;LJPyz+wRJ^e%Tf$x5?(czKc~(xO8jA!N0wXyWczKbo_|z zUJLBrIKYYH6L#)8f$cBd#K9N7hUNL&n?L`StzLQs8;{x@w=K}Nw{!1_i$3iGIC>Ly^gY;YQ|!$v+c~;{zGoQ-^t5zMUF|Tx zcsj)T{qvnf~De*c4E=il!A$`$l0mw<&~>(Tp>*RP@9xPe>G zy=8l^UBc$uuj1%Kcf&RoHa+wpY=4FM$!9ZnPI$ZP9_(Fy1B>>uP4D}L%nK9z;y&8L zUk_Y*%KB5!;`+-sZR_@q_@$pqKXKA-`-Zn8UV7Sm=Tt6U_=>l0IEJU6y{MR|r~4v( zk!EN!0&dyOV)mTv7@F;wq*R`owIn-G(Le(eie-aJRY<(a79do?=ZJ~ci><&DhsY@5 zm}*JVjADRP>}8hdVS*rD;xe_TC|QGcH8F$&RmF))q)I^s;ljemBla;MF{^#6NGqw~ zIaJWq5(sK{StC&OE>hSL9~%?vy#Oe&Au%kmAnme96!{JlBN3+cE0B_vbk&1eRRXc4 z5=v+$MPk(YDXCw?Q>heTYg_?fvBgt60q`_tFedRDbJr zOHQnbBKb}t;4U&81!VXix%^Tg6MsqwVFYBZ7Nf8V_!S+=uNDHWKH98q(A=Y;;MBVb z&-Rv56{jld#A;Qt2ij*;I~TSyVJj5kxfD)y#U-rzo?$t`EF}Et10PmpZs7=1yk9nk z>u)2uVQQ1hRv8e{*%3LZ(u1)WQUWf;o+R9a3%#fpj7nHWA-osdLzfs$wLiHgsj9Vt zA4(_~+TcmpD|{`$A)Z&94$U}&X)q~KO_5-&A_XgfqN5UVOz!a;M@uHn7vYzg?r*SN zOi+dDY6(LDjgNa!Wd=qdsJln}=VQi~vp=>=Rjs!*i$j9IvUB8KLP8uvM>+}jwa6_+ z94f&O)oyp-CabWWq5B^HnvLgaI5#0MAtGW8=T+I75{mHj~t~DL79- z_L0Qkgba3ZfE4YO@Zu4&fl*0BcFsYR4Mu1UWXwbO&P)le(0@?^EgvL$3Cj`*Z#I%j zb?3~T)dhXcKXC?EaZyx5SNJ}Z&5GMo=PyMJqg3hv@ljxfdavL(Wy%$kmuu;P?hQ2` zrJ4*EqRmd>EW`~#v6e}U!24aFm+M3zXouG#5OGRY9!Kw6^UdTFT!yo!+JYSt`=!nX z?XYYD)|fFBk2YuLj0{6*L@bzODYZ1;#|O`ZgoL+izNTXBtP1a{5|dqZlWL$usnz-_ zn8fgG=)tpO))8IR>1Ifq!8s*r;bI+z3D)HwWJe-qkRMxX{H^hSx8gD-KpVan5 z2?m=A@MtJ*7D!VG4^)Ma0u%tVC6&R>Kuv09y9281gfRGhbSW|s{1meyfovVfhrX|j zyZ)~FYV!XId@1v6S|{=Q{Hc^#7okZTp+&PbWFUvZU?Nmu04M+{LysizhqMn0C{kgB z%SvWpI*`0-sSaKBeA>71JQXNMB{JlUOeH`_cv*HGAQU-M9;|}%1PM_HdL~9`3Q$>C zmZ_#!%c2}4xvA{3`Yh5eCNtUy4gE1GUsFa?ZA-wRW^<}%d-5rWlWhbOqfDt1OMW;r z2pQ%g+H7R$o4{l>Xk*z@RKI`H^~w&Wt%I|n5DF1hJj)GG zIdCYkC32l`4qg={0v|=BC9#pp!)0*Cj&KhPtg~IJoEdyQLEM;}AP!YROZFhF0p)}N zu+OW&B!n^bIaDU73P+NHx-a#tHqAH0=DNV+@l@0pbvlq`#(C z0l-ifh4C4Qfqf(oNJ0~Ank8)JEgDHph%8WI&pZ7FEYyyvoH+yRDMCk0W$SYOu6gX7Js;dP=53YM5*Yhc$7*U(bn45Lv%s}0e$_7{^d=!9Ja!bH5k%-15 zbY0Ub-KRZK<%;}V4W)OT7v8rJGmuQ$pvt~|lz3N?fq^T(tD6u1>J_gT{d98@f+>{+ zeLy8!*9kdqa$e~}pdiR2JS9idRhkLIq#r*Vh?UJ@DKkl#X`1lD>u-JiYZq_aZLn~2 z&xqcU>6Yjb=w&r3UkStJ$-C#@`;qreKlCU5Jv{RM`*37Cfh*TBKmTjE_R7mx?Ow(1 z{&m=m8UOkdPutIZ`68}ex?(#m;sa;RAAS3Yxb4IdKYGVGyW=eI)(dZ8-rKbozw|s_ zec>Wr**k{w@A*w^ELQ%~r=CIl>WlcsKm8}M`|2M29q+_H|NH+>-1DJ7j)>+F>SS#T zSeq?Z=*=xNy8q&DeD$xr{q_(1gXMB@X|+$V;npx`>K@USrflL8nn9VQ^5-<2s~Bo4 zcgG8FUcH0p1mR}E>OS}8mYTm5-~9FWwYFiISehR>$Ty#Q*89;79N30!om|21VapPxx9ao>cfuoNc!F=T=mRr|=et^E)(as*h>cU0D{)X>eypEmMpF}_X z4LQT@j-yL^?#clURtBJ1*(XEBWaeQF5qY2x} zfANOpfnjs|5~i&s;+5CY7oS0H?7(lo1D<=p#h3HuS6{>%Uwg|oU;UN5{atsMZ5_jW za~HdhJ&xV$H~rW^VJJ)0f04cY1th)+2(SIdEU1O3!A2%eO|;~poUS>zlt=F z-z4l>m%5kij>Me&QX`4uLtRd+%3jKaMOB@Zv=^p!s&g6$S|k8SkZ6~`>Ig)0wl{9& zCuu1xLv1ZYn4}H-1^_AlC4sKmrkLV9Un_qN9I{xx$PzOqw4lZy6zHA@F!Z-BpE&)fyG$iXvkspDf6fLVuQBTdDBIct9 zf=CJauvXtEQZyx=a7D*-(ZWVqxFm;v@GyjVrqn(bdbjc9kQhR0YXH#yPEV1(m1tlR zX^;`1P%Ud=BI(hL&a>$-jTtHOox?|ZCHRTQs2J)P?OIHF*QT~qVd@VKKuS)pBVKJT zJ^AeBqWzW3_B!KwRK;VNj%Z9Ey55SzXmwuA1WecMcvy(BPG$|CtC#{Q-XyaKsB9%p zn3II^M65IE))|EVbb84mn5qSJP7ixvV=IQ%2ns@ifo71pdky7gu!nLfpi5+B6;p;V zM>6gNx%u@>Gna6w;``A;DC?$peuxu0C^ zd&C`hqkyTApWxNyzmt(s3dDfkd1gbtM0rX*b0vhp3K?!Ezuydo8LY2jg%$0`v~CZj z_|6U`NlL8RlhuXU8H<^v5}>&z$O}_w-N^w_)ZNXo7$QiWI~hWCrv*|S@w3*Rn567! z35u#SfjO0vDREw^TDv&kG|kzw28W?XM;mvRi6YM3YePV5vK=Go(s+N+p(+X+>rFzw z_%DaqJTMipL{*DOv<|X?CVrEx)nq9Xd}e0B$rW0|NGypn=<>m%Z8O%Q>8Y3?W@8yh zQ3|7*oVF&L?9c(Pl6T|dhM|_$X7OT(Xj7)2ndah36maW8zymFn z^#!mVV#w@u&tU5Uk&#rC%JoYP;HeCiNSG?Qss7X?9Z6p0Oto_>MTFXpuwtnIjJ7Y! zNhf+b=L!M|RTxx+ZW^dXo--)c6>znz(!UgGBl{{4VdakMQ0rJF814=OsAu&e^0lDE zQ91yPrDQ`{QHN9t#mp2q;#-Z+66oUrQdT|JS?(fBvH-hl5Sl6|0QIdl48=@lIaOW| z6v-GY(_{Ix4HZufa8`q1fy9YUx7yn{!Ck04#cB`D*1a#~ECG_OhEQKT0sShK5lNmf zw8=(aEeuyK!=%L2NFUJJkeO?6kDjNpNl`!{*OeJaX6mEtK&o@C1=lxbEYQ)dsn?&#Q*(j|son|b>D)Vf zv}rLBl(Z%5T(5Vaxgx==)<&`s3btT!723y;(|{9XMk}Db4yX)<-rKr2_aSvnWyfI( zkbD}gfe2a}6%n>pqKyH0vK!Sd$(5?B_Dl39rN~mLIcOVGrZp=8X#jGPf=7XyoVn#8 zTV_ zBhM~}NL6BPe3k;YW`-Fin;L-e_cI!kGcX0Ny4T6%c+KA(>Xr!MMpZ*wRf&2M%7B-7&!0p+1e(*As>&plbyM zYQ3$>V#xrQC&4QW)#HBHLc^%!n_9!789w!uSARZX?!H)M<^+r8(GYXDz?_noU~_TQ zzvG*~A%D;Je4~BGw>@NM@4Fp~%_;E4E5855-^9f)eHqU^|2!W5>Qy}U%B|eBX2(w) z#kZVa=664M#NKn?nLKmM(+@fhFhyD-SC?$VPh0HnqfN_PY;?QlEbz6*-iV7|_zi#O zhaW_Lw7+fBk%ck+{N+Xv#_QzpgYc-#>ao{i9dIJceQPpRtcMsF`K)$oV;hKl>vvS{eeIB13mYi@#)%u z&G-CHT>(9$?}$y|O31DjWv znR+B9Nuijkh%8nyh8LE?A(8~6-D-&ms%mcp>B7CH#9JsyKiYSuu9)xyx&ez&Ten&& zN(^d1C^u`ZYOX%}B%(xwR4?@uVOq(10V%fzF+Au~kgkbOiOP9Sf zSTlI_msaANmQ68lwO)x(d^Zh3sNxe=w^wp~g5@j{N3os~GSxnb@fPDx_agQ5;QVs# zN7_j2j5Z+FFo`T$SAVR}s#T2XwpKAGP*vJ>=2EzVm`VdzQ+|4!_oyZmBA;{Ix28J| zk-0FPF(aDhwHBgJ@VUX60!^Nz8^t(N#cn~el)!*?vH?;AH^m{Tl!o4^krxO9ynD?~ zfG6i|H80kcBsozOF=E;835gXdtWhhsN(_S40^I@6NweE@{JZ+Q3qLs$(Y!KhsF_9; zU$F|PDu-0N;EYiX092XcIZz`ynudz5+ur~bZcyyUb40Nm?TG38Q!(IxWi>j0qe(ni z+(eOPnuVgn#Ai&!Ld2Ce!al|uS?g|i#QWnw&3I@I3WUf6to@JHpm`;8**X`sm$m?G z#)OG;+n_kVu!X9Q+!EFJiE%Q&w`Mn3(($LnjHwbp#?Z1KU3R4^xlJU#mzaY7vgTE$ zz=Feo&>Ym_yoBE)Me@4@b$Z8274ta^%{qFCb+yEmd`g}FjDl=uM z3xEm`c%lH9AIgFjLAM^xktl0PH8fpgl|Bq45g=QUkW_3i`^;dX3oO%cnM%|Z2sQ?796p?f z0)V>OiZ03|8(Ubg1e|-+ZR$^MZb zHmb8q*)B3YWYQd!>>`mo+Td8Cde58g4)4Zr-8_$OLv0)tu-O{eS~<#!!@L4{fr26y zTs8=Xbf5=&GmiEJ2;?Z0_K|%ynP@}x1j+%569r3(s4lX8 z8YWdntQ!is(GKu`v%P^D#TY@Fd4W5Dc!2w(xfeFT7RH&XqNOo#+w@&9EDE%n0X9>i zpa7#3>ZSf;J0!z28$!J*D?zOTPe5jg2xZ%ay|mlB*Rn1&&9PPqDKWXu!>J9K$(Ln= zJ7+R5@?o2TuFtUowuRtB4pxL8U%tw7wVoA7$d!f&7YC3UTBOHQB7%g&dN3;&I@O{p z$s4E-MOzpBT@$uQ{|;R?t|rqE585-~jAES0rk7psDXHr;45i@3-&F_m8a zk$^k})-qNKMr?l{QEwVcf9Lf z*sa&nZoby8|MaKgiKkxiThBg;m%jEqZrFPYi?v?9!`t@sh;`D|+^3GGXvAKmacW&b4Pdx6w_N%Yq zk&nCw=iYHH?tjm1{^cM4IegRG-i;Q4ThDyj|IA86m}7eG)i*zM;mXZBj%`n`-P#QxT&f(}nAsAhzP545pR{zKfmMPnF-Ks#O?ds% zt$SCIle}g&-5sQdnVEzh{_aO_!|M50uy2l^|Iy#Xe0dM=o`Gv$yMjAjxNav;Zsc^= zIlT3^KbQaJzne~2D)E;rNrj6j6hZ03{M!kW#<8;?En$`5_-x4-L$y@5g) z;fEC794$`N2Ez-d8?e||;Ksqhk$?HgFaGyX0eJT4>28+Uf-OI+Swv>~5C72b#pa!- zTE6iNu=h3O%{$VLolCp>UB3FUt|Ed> zS55dDK&jRpO4e)rD!2tIppp}Bz@(%x6M710i_}_F8=1lbYYir2EBf#`s|5>NMyARB zu=zGZcoR;NB*B20cHOkcY^zbBVYLTir@}#n>OLrrYDG{~B7rnh%172@A}cuH076u0 zDp)mRo17G>Rq;{)Ik9zsaupIa2}2xG^;V@1@u|oF#fcuqBuKSC$)vJYv1_D0*H>_F z=G`(Y9`$Pfs>+v&b;Vx05jS)w(d$yFJA?}`5*AFLxmsbZFaUNoXU$VEw1TPS5O*6j$06azrDWMmFKU^Wpy2)7poPe}NsD&B;ICoUP8 zu$w7HJuKX4*|388E(>#w3#Ips>f(?PiN#hXqk0s)s1~Un&1{3UZtWwIH{{j|G zEv*7In~vtBxP?SzyO?a0{XK+>lb}-Gwc zUOZU%di|rGSGJ^Z6)T~-Du^&Jt$}xGJ&Id`7OX3jVUwfStTC=fyAUc!uu{8&o7~EYP6lBx{&Z5RVhAf z8B$7ptlPwiql06#44$C*Mb*Z;rz&s2q%*`}bfqU+2-C2ld=f`i_BD%ZK}f`2BH)w& z!jwN}{Ms9nogF-^)|fD5=aDtHQ9jdA7c<1W`Je_of#?P_?M*rd4W~=+05}aq5jg}( z)z*XpBRLV!X>?K*H76FSO)ONAbIKX7{|?#N%EFjEuNDc_?!k0ewGxQzx_Bf8*n)>@ zR?MZW(FF=s8iX=xDY8IhKXfsbY?agZQSw$LN#v@S(Qy!26HANmsIrnnL|4+|@uDPS za#DiEjF#&H^kmH5Cv>$FLFyfp0kTpP_89M>yoq{T5 zv!_gUB+z>wmeC7HCl5P$BG-j01%k4TaLfY5v==sj(PRKr=@A;tQ|gUG>b8sMHIj#+ zJq5^{ItF#wqHzGLup^&i1~Sn~azwU_ z0oMe94Bnw66RhAb%OoN?&p(M*CEv`rj%GTs1Txv6wh~+~3+|~0l(_J9U}>dlQ9uTA zQ(-~kx+#$m0asg)6!~wG(7E>kH+Ym42&B$yRaAt|bA$p=c}{^}n5%+BXC8ogTN8V_ zk0d-}O%}@jIEs`@gv#C$jW(g2wSw24HdOFAoFa$jW^hO>69#MzQ-LDiFEOWDb~O>R zU^5%YwuG`Zr39-1u^w9A?3^QOMRdk`_5s}_6*5hZ4}3q8@fB>98cd0`w2_z%@c+~P z$dP6;Q5jHjj%ylVtDX!a;cBMVQUonk@`n!8Fz#v@ldA49`G$J>BAKZy<~0x^Op`cI(d>CnazY)K4&Ab`poB)Zi{blJ5YN*w08BsIB5 z8IbBe#&fWNnM(2*JuqY`|JOT4#Ul9KBv06$gC)1}v9i-v>zo2BRhFakCkY^Gs5Vt1 zO8tgxFmjYgBU(Lz+KMD9&YuK2)vbZoNy(V1S|Z+YEWE*6!{?uP<*ypDv-fd$4+f$v zyj{h@C;W%s_fh+U-|{YNSD&|E{*ixyfBe_~mHmZ3{kQO!{`XJf@BPD{!!ysl1>Zov z?fxB{KD~+Cc3|K3=n4F;51hsCe$P=%N0;_3?>dUz{e8T8^#G^OoW{nsMT7ad^XKfy zk;uyzZ{gU{qiB<(ZEfM(-noezuU^JuKl%yGyVvYH|G-DG?d)KF^=sH{m(4Fc4L9?D z{`dYz-m(a9#xARw)(mMDZjAv>6$H%Z0BO$jpa1sBOiHt#)08if9(ct%x+IVeiNVk z*-Li$i!b297x(P?F7n;qc{(>g@^#qn6E=1lu;}pR2J+@5pN=1~{a3H!>Q8(ewg-fr zL2T~W;vElRe)$G=zxW*d+-WQyz75mH0@G~R*lN~JYyr7%{pOz8<|gpQn+Qy3S6|PZ zHu}jsAIe2jdFC8yw`P{j+|A&QbVqyb&8rXIxW2owv9Tm6VKdwU&0PW+@*T~Ml~t}p zbZa=ivx8s$!qb0rf7Lh4`~Yr~H)M0T8+&a}03y2s$UpHH|7a#oz_-o-@E)K0JBVNW z8+Pm8{xohq_5}8ydB*V8WyJ0+Ot&8c_6`s)K8NYvGss)JF&){#bk}+0wqxpn-8Zje zw#gQ^AA@f$VDp@I>jrG2VLE;cN5APqcKieHx8?3l^y}AQ`&ThN{}ev+BhTRGm)=5L zxrohg{HW!T+Yl%2!2%ohvp@eUNC3@Oa6?KIFeQ3&fWmAJtlX!$uun_j@UpN;eNKRw zL-3h)zXm9Kq6Xqo#b!djB;u#3Fduz{r|^^#i4+Skke)Co7!(=IfvmK9lj+~(hgo@C z1ML8MV#ZI10C7N$zj{8|$4=#~B5TwTc(1C-=+YhO=QZHB#8(U>QlH;s6Gi9=W0$6{ zp1$m7=Al@?h%?rGiA-=nlzA4ZZp96dfHVD_d_XEzt3$B&8)V+|^W>mVfQYu{@SZf8taY=afBPSc=6 zK9d`L*}A$~@u{go7?2o^Z^d^^5(XZqHaDDwq82qFLNY{VrBs|@BhCfZBnmQzXe3nG zSk>Pse+!zbl!~AGKws)9{0@wSjDzZJ{UQe}9$p_SQ2>ffQ{scK8ughv?`Fg%fpua> z{gU*Vjj_M!%o-C>RON~zP-2BRs^S~Q#??tghJf4LY^;q*g>S~k^&Cg0DWd?{>L^uuc6Tr4B;xj^+ zzm&2rHGc&0Wf*Nx`+~=KxprbSf!@#t{W(=n}M9#1JYD{NF3SRMN7@_726~ zz03jQUd3(*3PVycmpcZ@XD}uMHPp0=M+gJ5vzj7gD6jsboP16w0o!!_ zx?u^kig$FR6i`0ie?~lVmXj529qx_ zh>rqQ1h<`;Z%d#$RVJMpjU*KrRw@7yF|&w&Pa5v5!HB39KH$D4VAiP`ae?qGnuNEM zJa?)71Uz)OnaUH=xjI&~>L<`A8%V0|*$57?bcg3Oqjqz+eha|pxFd5)7^mOco>g5QN zIQu$lIm?w66uw6V}DyFaG(;>nrA_@1sUyiX13;l)KjFSM~U^B5ac9pPgl+R z>rKChLGYB_Wmzuw*JOXPSF(+PA(d_&;)n_A45%qH zcQTPSWAuoHf+rW)PcQ)%>|-0XPM&H-#&u?($p6m6E*5zkvibV_3ea><^+HTmR4^%j zL0WzN9E?$`H>Gw-zRkqwR*yaULK^|CB?FA8Gg9kNc189!>yPp$1@2u$CJ~z}p&*z3pxRnl!~pPaKGa2NrRoV3 zfq|rQ5Eaa-A0|S5F{PU5BH&4wu|PjnDTG-;w%7enRt2TrC0rn%8*NS^DL~RcF+_66 zn32Iful7NiI_s38VJhMsWp@;`8V1>iLqUkienEDRf(8DrQjw~NNmz6=lW4(nBp$-# z&$GZK*J7Rze4b~l=D_M;#ylTjfA0VXz2owYn|E8Arp#<4{E(53WkUk3EjG68fBoP^ zTYTnU;KzUX?_=ljU&7+)&*JiPFC$)l+TMKvI6K|Mqi2`6|Fq-oBOSMI+``6Mzyja-?F-!Yw(U4|F7SW*zAd}+9Xq!FlfPn%?W1{c;(lCy@>U%E-5k@r|^XUQBFG*qfK=`yGDj7;xqo{M<22r;g)baSV&w z??O9w!t&M)_|9o8+BNi>Uq(FnzqNzSW`Fb#eKZolYTifh-3^A`J9?&VY%J3}wpIvx z>CMYOu(h$o#>RwcnqX#FY&4h~CTCrbITf;#JCO9N2P8pE!8#$NuUMn4SKX#7iFs4xYmPul%gHdmgY`pZqmj?oF}t;SVQnE^z7J zd=`u2M`1@#q+X7UId|WMbzK{vkOeWr&0%?N{G10*4 zQt70HgrMvJ?XueoR5FHmVKP>^F4UxCYK=*mX0V064~`ZT?XbL?!#QO-i9Nc&5Wx+D zxd@s5@=I$%ne7L2VA2+A|HQ;*32`*+wkvisp^iEA<1=70Mw-G>SU)vKK&{l|mx$)u z@Tmc+jH}uJSs*5XL1vd~n$KWLOrrwbD7#L)lTtj|1WZt3z!Ip6Ti4Hm!L-~N#{8zN zy#yx339uqLNsKVCCO)FLMdu;a*u#h@6_x=Y;Y3o3#7hywh0joeJ7?GC^hRQR#2z9& zDmHZbZcQL!@f)0`zGW z2ul<(;t#H0hYwK}+l-Jfi;+OX5NBcV3!;NEVcC=rk~mM|6nG+4Il^QE#=9HD0&9QP zn5<(|vzn2?t1Dvl*;2y0{z1Ypk~FHs%u;^Vn)2_o^CH-o;Gs=noD|kad`FF9>I{X% zCK6amJea~-eN^BAgtk|#i$uwLQqGEWYT5Rz<9>Aht(=N z3)E|0xMqqy^$gaec}_(w!W+dE@Q<`7ksX$5C1hS7%{A&^tCmbAkX$ELXQpr;>fR_m zXPl~5O;Gcg45T=z(7IN%hsoDTf+Vi4RzEx`A`_M1EZllHaR*zgk~2E_6GJhzvS~U4 z2*x(OD}h_~FeHLhVk=T@TmkbE3@2L~Db}}YU8m5i1RHL^0tS}*Vc52+;BKReW|#qT zZykD1RrkmTm=XabnI%lJ_1>1fhbJ;-@fuMfm%ad~#I`HRl$P+O3ckUysgg|oNU0^o zK~&761isn0qQMRiVH7VXggewX=ZGLW8@dh zUzJ%7wZ?7o_lJd9Av{*`?Wksf<}K;oH4AjFc-ty(tnJEy62&DI1T$wn;dC~D3N4pt_~|Z zkV#0UbwqaYXvt0j$yoR>$H#k9an=ZYWq9jOkPpC^Xf0q|Z7@)!DE0S2rFoI6qHo9N zMHyj~G2lavgo23p@Qwggq~xnhmEuThG@z# znIRjAVx>=|AOQRO31oU1C1r}!x()%r;S1~RV@s+n3@Jr=U1*?&Co-al(Q1Y}Ai$Bv ztfjDwHK1BEWMyQOm6KRUK$M4$WjRv4BADDL2U`g&fnCdjll;%D%wBI0aHKk*`Y@7? zC|ITBj!_LtRfCi#naC<1DD@^3WYDhzMadO8Yd~Te&I?(fmXq$&8nSa(;vCh60@eIy zeOHqtdzE$9IGjML3d6MS)A0EC>Ep2!M>&5l~NK3sxLaT-I|XOU^$p26cEzM zSMSv<>rYe5^OVYpYtQTRyXFSa&`YJ@sEq}j6Qdvc0H3-GWp@OMbExhd)~Zaj zl42Z4W9pFySNjc<_GExtog3%9uWA=4OFagS>)yGmx}(R){tr`ZfVG*588`OK6d9YY zwYJW3SOvlcsBaq`jujvr<#U9?1;H!$NN~Wl0VDV`Q^KeLse7F=orC>$p1KM}d9;F) z%Dns$olZs@=Tq~}fSjdD(g4FCsHd|MC^ihGMcH+?RNI0s)q^8r(s|A5x}~_5ZMPB) zX2Cw80EyS6jRHtSdj{1NIx~kW5!eQ6Ty&oMkqp5g@ZqJt=ekpfAcDY^ECNR9vrdXs znmO#+`t0$J45d44fY;I2zihnxU#k4ZWuE|(f~S(GT+hrHwt-2I5D*byw@#bh9GE!l zsdgOZs2Kn?P|}mYx$ZFA90ArGhNdKj?n_kihf=09^LvZ#$6oL2Jk)G*g5{W_k_o+lnW6Tkgp(zHop~yt-vq=M8Hc zjc2euJG11^&#(>eE+o@$sjC#TH)r)aPvP zz;NPyAI4js{IT3vy<#8#*Z*H60?oY}C$>kQ53*Uy35dxW0v7-3mmdH5jm-s?8x4!e z;cZf%Tfp2gfvr&nS=t&*IEfWJiDO5W`0Deo|B*mq!`s{(3nWt2rLocwrtRfXoce9w zlzXpV1&$nrU%3@0?$~N~ynTricb~wred`u(y8B?Z^sw@i{#8Q=hVf&wLub>3Qq%=k3;GkK1%^12?~X z2?t+&5!ha4U;=JChjhnu|9x1TKW$hV+S${HH!q-_I*!e|Ph{@x!|!sv_|7(b2~1nS#+invfBG|d{pwz9?*KS;#BRLy1}?wZZS&!8&H3VGTsm0w z989A5?12oj>C7{U<#fk->R+3&ekhY0K zG8r5hO~V6?BxXm& zA1FjjkEIqE6pYD|7e<|D`tY0>kHuQ_;^_rOgl33|Ms<_K6IGSmt<=&bHnKHwTouMC zlE(%LqyIEw2$N#71RaP}Jg3oq?8$&JEMDLs9jwYms!GDf?{`x$ZtI@DjGe0Wiq~945nVvY5l;Ja%x}OP^9FM^AD@aI-r>w#{VBkZEvCm zoAyeGR<$$0`B;@a(%Sd(Pl_|DN_(`YQyf6NjFCjJh+$t%cca?zrIO*aZ8?%4#P*QA z_rV*s?c5No6{e#`|TAWmzecY`2C=+_=ug+U_zoTl@MPNg#~) z3+6+-IPPK1ia2D?E8$X$pL(~Nof*+t&6cVhjP?B@Z^Y-eL*+~9x|hZTWiMg9D^cWi zwrvO@8O}+RpsEN_@v1O#w3e7kfLMZpL*~zQ_h4O>(TsH`Fo9Zv1Pp(U_5M{Rl!kcS za-bZ-;Xd;r;9-z>p|Xs1ilXU&N;R1E!c_VS1?cxhAXTPC3R#GltgNR=XhY5b{I8qWAql|Fc2yg)&y#ZP_IBq4>4LUF`>fje>R#EjMf3AB(}MQ4D4o62pMCNo%f*#{~lTB?7Z8J&mP5=GX!K_Fk%C&|FXvOpt^c+=-)}m07MbodPB>>k&QfLAM0Ip<_Gwz;KZnKQ&v5ZRQ4;V9O{{}OKAdpHi-IG z$qoPqMUdnK_I%~N<6z^uvkJUW>VyJ6IebQ4jB@T>L#OSK-=I^*uz@XNR9RJ}38Qm< zpDPoUNs^Db~YR85V3fq{*Jv?&=_G(DTDFU%^HkVvbNcPcg6NJ;I5 z${!xGFe%>_he-Mw=u>`tbmPprV@=f_$@7^^$n#9}(bB-HKeEUROR8Z3TesL!^#UmY z=WwM4cq0&IVC8GSlVD=SX**MhtL|kfq|zNWGfC{Fj1_r;sPp6~H3^b;$icqgqe{@g zGm<7dsiF6lsF@J3ru`$Di^!8{jr}NXP-paEg1lGvcJs!ieShFX_uE}(Cj7#$y^Q(V zm3;8FWnX&Bz1_%{F0Sy}b;D~{XWZB~967#`XYSm>vE$2(#WK#`c@hu2|91P9_io{d zXK&e8Up$C2r?vu<`<30ys~30k^S}NwF6=FE{O&ugA0W3EfvpY4>lY5Nb#x0aeEt>O zeB~9Kd)sL|^)o*g-5eXZWUF8QKe2Q74*uW=AH^zqYi$G8xKnH*X4$5tFIrn&-d)}M z`LDkCU8j%lz|%3gBXWifJxnDmg&)%~IYGT8&|1T44*bT~UjH2cx=+~xSi#(Sve9DB zl#rb`wu8*Q#Kxu7=BeX&{TIGy8+|uVeZ&30!2)l7`HEe7;~@HL*K%?0c=maT{nu`$ z-+c~#+u7((K7;()GhyC-O&F?@rq~3OjZTeq<9n?>UFIwTO7( z0_In){rp=_!WEmhaU_ivfJ!# zj%@}KE#^R}1}k(UGW^*y}p5C0AvyzpXf-L;cD zAAEam-hD0?$ByKk|Lyl;ao^oI_&2}iws#A-aRZ1|#))IVn-_8Lg(tB08(+e~%a;J3 z(0BLH&YlUs_nz#tVLEmkdE-)_pMS~@UVSb1o_aRk_^D54y!0G!_DH_xKlm2=ra$tC zKm461Vdw9_$*+GTANkma;3rQSR#T+$JssvgS+rnC>ye0n&1vq|I+{&X>eH5|S|qVO zQpzSsZKkTjf@n6$?nhGT2*Yria>bRHbhz5}O~fOatjf?(VMn!P5*#yDZd6?3wjPAd z#4X#?q|UxWm}?+rkuAdXuu|OfJuOW9hDa_*1hdZG0!>74ul5IE;<$+*8$g$zT{E0$ z()ss{NeOO?gAXawy+Qs%`7M#&MKqdW#8s>)RM4vyVN}?Pc#`M>kXkq`+#!M;s??PK zDN?Hy?x?jBhJ}mFP`pwC1(EX@)d|25utd4A2DtiFt7?S*V8U>f1b0>N6-EjL?n($K zjsQ}v8MM~Mm}{+QPE^q$_iw8ASLiD2nowIsw$2FaA|w>1XYGBVsq$iqe^4=?4IE{9 zBrd(aPjOy?JP54f@*HBSRE(EU{07GO>4(l<#fyf~Qp5DS(nCW4p}Zo}OFX4Ycafi! z@Gk^n4p>!S8VSK_IRObu5-FiVk;Z{)i3Bsv4l}^|sAS3ftEQWA} z?_g>%nQDYB|i?RH`doA}}+>WJLYC0!*Aj;wr6$8LQcv5nChFVpQZV`6bA{(3Ym2$ubdL z@j8?+5{9mrwdrm_F-BEn1DqRXK?$hK#)g+q;&5EAM1o!<)VJzT;R!M%X3U1PSuN2V zmQ8+~311HzSb#jK;^I=ZE0ONbp6g6-i~x|ycvsw}^U6*UKtrQ=LuZ;-ke|UJxfIm_ zhL|WOqHTcMvxVl4YH&DGr1c@@B-Xyre#?b|cs&EWtED%FkTEf#26bBnpS3T;z|xjh zlDdPqz|wU@t7_3M4fmT(B(pSpP&N}l|9j^WiU0fImXRb>*yW&ZO>oTGJl5du8bzy_D zD>1TZXR%>qpY zY&{X|RwtvMI+kk?6rDLuH{+08WdcjtJBY9ZqL~O%8`;q!6 zv<4a-)L{byk`%Gc9Ez=dPk>o1Ibt({Sr<|4BC`1J%HoRntR#umT~)%PiySiARamzo zBT!S_U1;1g*iyto$`qF&C<4t50`nL*MmG=PQxm4OgRXMzI)RbI*>Wg(KxD_F{)(vb2E^kh~IQj4-25yPP|b6nO? zt#xF8s_6(Xz5*ammb8J10Pc)HDpwrvWci`fNT$jpL+g_TJOpL|wb3x$i-gv!%lOe? zGQr9WdEI%ipo@LWtGrA=*f6}1@Ft&;(l{8X@1pDNsoV^ef zJVR=KpcHEKFN1F8&p?5x3yjFwlQT6`r3w>1T#sm}wlq9smH4qn!(8`j1SnpKGdXk^ zD%#74^*vJ76#{Kk*O#*0NCwItX;XM-6j;OS-(|IG_|K@807|WH!2w8-iD?8i)m{XU zW^4dDSB51k_(v&kWN#`st?y0~0I0yE$WS>TwOlDBTUfnWhdC3(X{oyoH0wGORB!d{ zI#;$H$Rjdg1U6&M!Fv!UAXv7mp4O!@;{I@k2!U1II74F}Jgab+y^F1PRIf+CROYKQ zpDr~C*KA=qlmS+q=Je_j-|6wXa|x zGSo%GZf50h^mld6XFx;aSb3o*H6}?ST=!gm=lpX(1L#t=HIw%p#()k?N`zErJkzs$ zA5U#$woEkzVQI0Yr+FqKx&g48H*evyPhJAracnPOZ(fI8zkFaf_EznsOC8JR_UQR7 zoIkz9?WZQ(dD?N?iOJg3Fn6>4fPe8fUc}3vehTk?@K}ETx1Yh@{(zUcw%oS1z7$XIf?zWA0oJZT5EZ)3=#k(Igf7iP#4_2-1-a=e_!}02C@Xbxw z$>Z>IXC2qB0^7@m;~ReUpZ+x7`k($a_Mdnan;(1!rbq7b>C`rsXSQwHa`?4f^e;co zzW4XtnfbPFC#VgOi+iq+fO+U9`7O7^A8AkHQe1G0=EzOob;b670AN%;{ ze(KEWQ#gO;$vm=H=8-MSt<4QvEE=YTV_Gcw#&Us;jU`SVKZ0x5Z#~jypfw9vMkb4k zN6Ute7TK}g96$JH|3t>#HJ^KLHy-;5-2BB~gzw*kUB6-Tn^*nTV=vj&pMSz$`)9vy z7yr%YaP@P~;O19fgKad}h9O?Nfc)eqvHS7`^l-#t1KVH!FnnVZeK*o?yVK_+eNX5~qSO0`ZkI4(k}fzIoB>Yd-^2TO2*VClCo&ejBl0z>&=c zQD9?-YfNSl20pM~&3Z_+CbDL%z(kUiNfU%DoF;l*96-$}2seZ^v?&#fGKpROfosu- z35ske3{n71F+>g_hawThFA-Q{FK!0+@KDu1Q0t`cDIBczDb3M(NTHj1i6@Gta<%Oc zJ~f9^w#vu$sz9){h(oao6LU)T)QkYl@hX+QRrRA(=+;z;ou;^2PhrOX`ic!;Ohz=3 zjhb$Z@lw&?+3EzNT9gEcTf8uJbqFvFGLTa)Xkm6tiFjwqUu^rE}hltXkU4&uS*CN+z)>4tGrag3F{}NWzUFTj^g{}lU5?qwP zvgVrDtSZcf>`?*}h{xGZM8u=wCli(nRWe1-brPmm>z@*K*r*z%&9(8|RfW73V{rg=g4n)|A%Ovno)TEQ>Ih)a4axz$D}nvzV&JMT*GuG1-sjE7tc%nIPU5RiRW8 zRN);fZ(wQA^?q;O?6GjZrc2m5Y6wHNU48Bw5q3#L^ zl#I9Hv?avnLl37pN&IYE3n{`7UE*O> ztYbh6%uaqsR*CyxO8pXG0O%58R{qmGfn4K*ni;~`9~3cr2?;wtUwK2`sXT;@f}*(5 z5)lb5WODr>`x|Bd=v70>cnW%H$Gq}WNhx5 zbZp z*ccONm!MM_`6!uxI?OAJuZ&k#GKs+z zGrMga0nHa!7L zOyF9lR}NLN@Pepxl;i-wq(_(i zs;~o4A_-8UQb%3@sCtoBU|gWQRNquy>1Xw+Tm_yR6ELg)PafJa47EW$j@vrHqonWv zcD7D73RCyCv3KWe4~ z0Y|a!RPU6{PVI%nPXieE=mVSF&*1(9O#Ku?M7UZVq3K>4nlmudWG#3n*sIoWKF)H; ze;XvrgEgLiCX#jV%gh~mc2w|zPG6@I(n_e6s-o;aZLDTj9I84fZ^q!>Py;rH5_8t~ zSLF`~bj(x%CsL_OehY|$`E#B#`J3u-eYh1t3bPCVWQP*v{3Uqpv(d{G5Mw!Iph%wP z24JEcj&*A`OSW>WBU)wB+_ye_A;GA8qbmOh*4N1?y_KbUKw7mwAV`x~E@7Ray(J^d z<{l&_Ghcq=X5z?%V`t9bu2a^ndAxCP)sJn$AG~XcBS#hh0=ox^>o;e-^!gsIUf##{ zmc!F=YP(}AZsKis9JjCg*0;y`lN*>0R_Xf(?dZ;A+sC(X+dJrH z!j0FjVP^wqM;177a)Bovdks(igP)F_jU)KVKl+F0*Iu^G`|h;WS3Zf2+wR1l`(q!o zL}s67m?M00g-$k2=2)8bgXl;9)vrDEKb}6mog8&b0ycv!L7G#|;|X|6wB~5OM8~pU zytcaipZv^c|7HSP2J=;h9n68C%q-Je8;DC+5f|PBHX7{q+YtM=(06a(;PO?(UFU(f zKZKYMvYkGTqu>9nIQe_ti|Nb}>^}Ak;`%<~=nnkkG1%$Th)Y-CbH{Z46#At%%&zTP z-gXX)N8f?X2ObDJvXiT)KIf~G_vH_M;B5fXTBMmbcXxQ3BaoQqm2Yk=R}SDaPrmkz zf98Mr@vr{EV=w%k8<_4`Y@9f?y|s1Z==RR$i6c9kJ135u*gCRx60o~J`I)c%$-nS- zKK_^&zV&8iJ;~=9B4Obfb7ua{|LosK;HvwL=d)dX5Vw%UHdB1y`PY zJ*WH6*}=vFJ9i$%>ASXLI<=90WDB{!!tRr=o>DszUIB1#=+Ga*iQ>HAJs%Tr(0SJOCwR>d1Q0C;>LbGBsPRgjSk3R z4BB8)OsOgs)kc7=d#a@kJrx})|D9OJIGt8~DuLFB-M6+kapKHLY;A4h#Ia*Icj72E zH`zANl>j$Sv`O|+vB5--sI`R!%o;-Nlgi;|7Rd?`sMElesOpI%4N`42`0er=SwIJjNvm>C zwi=lbPmZDC4Hu4ZxywM62AbBXuq=nwul=XNh0nSFYn5TeNuW<3u|gKSLDqYM{%1Th zgv%=cgR4yk@k&I+RPrmS);VFq3jicaa9iW?b?YS*)k>dKSi}w0yS+j9aFnvF0|&C+itltcMnyk7*;dCTO7Y=0$;qbl06J?{;ZbTGef&%}?PeA+b+}ra zI3??ydy!Mb^bIx=GZnig___}HWGEqHjJ?TbsXkh9j8&fng(HJdZ-?d%je0h~vW+{& zeN4^^(w@aQFI83V_1(I=#38Quz16{zeIl`xQYLfnqU9L8${P^Ez9g52(z@bv14%sX zM`m#7ZBj7d-UpfGwO7J;;gDdD=R4}0)d94^K3ZST^*wW23pmY2!XQTVCP)Ss&c`qf zBo-@%v`Kq7j^H?BmQ~%PJxJaA6k+SMZ&`QJIk(Qc_#4;#&vkrk0{}CAGV2m;PV2Kw zkd4_Irm`u;DP>1W=raV;!5G40ZFAVwM+uImXxWs|%}PTh+Jf=7mTgcoR(mUcC?x>x z!l0@mEOKT$@y-1#MN0hbdc;tgK^FQ}IV}f`LR+(n&!OlR+74 zTgki^s;@ea2=~AolyuBu28A<&AK$sIfhW2I|Y!v(U+#9_^z^p7LbL| z`_GJ#IEROEQ5Bcf-L4n|_1x(|HdT2$eU#-$iZF>(X{kgTNw*{ip#*cQZIz!Gg3|gv zb5#r|{t@}z>#Vm#wP0mjrNN3yWbyvFG6}hUFZm|YRuZ+9kq76$(VmKzQ+&-cEZZmF zo=A9z+fuBZaJKz2LpGNU*Y6;i&>@smj0*{QP521tjo+2YBuBMXtGJMD5kq%DwoS=6 zkMg*Q5=Ev5TK8cTS*^~qTKEmxzw%!k)}5#>EEEXmxIdG;)HwD567J1Ka>GiFilz)j z@nH00fs#msvNvg_9vS?hbY-fLGQN2z+r-R-o2kd2BRhlPFavs^IeT$6u(zcpGq9EA zcRkRUek`A9Zs_S~=$I24TEfAgXe{+-FR6MVjDUXq+H$BUpu&N|E`=){mNuZ21;OZi zJ@B+PlLK5boU%?i*6?!m0)~}z39f)!kVTah3z4W5-6{@g9m=U}!N zEN3azm0;HzAcI-hA`Q)XZp%m&QA<@nok7^F3ISu_G4px2-yE#UDe!!zDya(@83JoZ z&BBNTr@D2M^Mo#@Kx&8}3l1;NhJUA|6>^3o>gaTN9z9(u^CGDfD1bQ6*;EZt@%ND$%7uaE7&E3#k|iEKw7M=mAX1RtpRVc%Qu11-#G0p_Bu+ zA_g(Qbd|Uj(xXy@cao|XWAGCRG^&T2WL|U`v>}O7515h=I!DmGP?gNcZdX6`4kZC; z%xicP_1W@ptyDHx2YsOc1_dGnw#un@sUAA3bRtDCnhbMzrAK&uWV{OgHgo+BN%P2# z2`M#-9G`*^80|F&7BSmj6*S!6(o9fe1d$YTfjtF>t?p+56w_TEWU-I$Lt=n57*z~R zvbh`_om3l+bJjgnKw*J2G8&c@SQuNl6nP5{I!jykG7Tk`5tSGKCad350ILceI%E;F zZVcSjb1!s$N#s-(pSHdN+MZ=O9TfodWTK9Oe5xf%MoE{&y({NUVoCNtl@tL3j@j62 zmf$_LJFee@lHIcR@~aG70E4w~>y`zWftmxNO~M?`fsZEZuYkazq@xwUq!*pM&M-I= zX9f-rIA@gwlMjgkDwU{L1rkM8{8^!jk(jGggQdtRr<%#iWY^szSrbqd1stZpl-0LI zWE7ZV>pXZWS*CUb#=wfzN3^XYX%k(EymHdCfx!BXCtT&u+8^g#awMvv4rOC>#>)Oz z&;b1#&zD2lNg<}pvcDs-ZNQ?nYt3x0XWwqkFoS@@%)_$5a>haL{>00d6T35fV;g6W zH(N#cVtd)oEs+y|t2bubUXZxk+*;zqkqH|+%d}Y8edjW_Hq35bx`C@N+{lfs1x_Au zOq(tDc2{=eja%3}-f-a)U&X>Lj@)*_x9&KDW2cTJ_73d$PQzX2k0DpUGgtO-<-&EG zIeH>re0@K^_ESHbci(&3x9__*+hW`P!vE*L%D?jWe}Wb7L`Jm6X5nqgBO2X)`3q0} zsc(4X_W$9;*7lXX{R8wqOU2u;oD3UBCTuJgnA(K>{nf@#e)@_3;cG9w`F&S+S9h#3 zwhXPCHIK+_hSpWR8E%;~VAkwiAG)V6FMruz``XuV*YVlfHgMxhyZHEzzT)5iCm+Og z`|+N~wtO*dX6~nLe&4skue^!D4?EzEw*-uK;)B>wHw*blRYz?=~lMCkh#hMtSfX(LzjY+rfqwRb%6 z{Hs5jwB;-H%j%K20khr=Ez&Gtp4q#jrBRY>3LpEN+1iAdS7EnrO!kNW{0{=RuA3iR z$b){uaPpyk>Raz^{>z_)wF4Y^tP1UFxObHpK>u`(GG?h%uf z)C9JbG_nIG zo1561SKBYX`qo2Ve)hs2I=WoGv9-PN#rw{m`Ru7Pr!Ju*clY;h}^n zjsXZ8gP6ogR&-P1qDbImJ42fw5z-nn@~Naww{bvqRu5G_i!ZEmRLT6wgc*h1LnJCP zS>*```>+dud92U4@Rv~kXko%wt5K+-_aALZ5Slerf{PHwsFogFANNU$ePU1rJ9-uq z0!p^i(MmABFMJtm{3LwngUe7oul{V+y2?#eFHRgRA;y{n3W>a&=hNz+Y~Y%zE_Nia zbi}N?Qk$LCYlKe;NCII&Y3xS&ml~KTGj-~1(f+W zkRJ+n&8CsPJH+oeW~4PV@dyIWjA3XF&^s%}W8yh;qqwFUZ)}O#xPB`*fEkAf$syDw zU(?bs(`Ay>Obo6eN0h~j%;Z?{SPkJ_z9-O!oo%Bkp+r7`YS&3$(P)-n#_sdvpB$XC zIKfgJr1VAXlpy=8m?x3rJ(75m=Q+xTxX5%Hn4sF&n8aFP9H3jGPzxVCnb=J<16H7) ziy*g?&Wfj+K}sD^BEmVOIGxGJ6!LMb1z*|L$;(vC5{$`N#XzZJSu=N4LdY+UI5a>T z1VaR?xR~G}zt@K?kyc+BcWB@Mbo$qd-y}IKzoIH7g9Hd!v1NI2 z8#afpnpj6?KsqPpHQ6U}I_tJ}*{XWc(4BE?bc%o*l9(g=i17fnZ;W)*@a?RsEe@Vl zn?`XeiucB#d7&k^OVlS^R=gao58qqWCRFDHW;mu~=an2hFxj1EO4+2Zag;i!kOC8C z1+muz4NeFE?0wr{)<;QQ4W)zu9P-UJwX8JB&A%+48D^Hc~EsK9IxzZl|c=fdJrcO4pUG53baC`cm#W!(lPNVxK$4n6_8VjQX7mi10a=)rVMEHlTWpxuyNo;BrTl_gR0*V%hJhqwuMkvOdJc-V3bvA@KhUXAu5(g}sjfcO zUgV;wWKW5L=E$6xm2U*cY^lR-XGbZnK~}OVX{4FGq@kT)nDv=ZFjeKS1y!M}a<%zzWjA#~jZTo)VqH~HByf~HNvM~30l^Aba-7#d<2uR7 z3qhb>f`FPCTi4u!?AqsEMz_MPJI_e0_}2<#Gl1kq+p7IisI z$S+d{TPhV*=M*hg=Cu^vAgK@NoC%m$MFM;1#mG{-HKcV_8})J}v{_D)Gfdg|+Hd3j zRv0#04&{86OjeS!S{7NX?R<(NDJ2OEQebrs!%@FQl*2NhRRU!lZ|GO$Q&M)o1X6T< z%i-35TY%4B_qh6GDy&69fVJAw==15XXqN&rZK_jk8IGZPVfiWTRD%F9lxS|D%CPl) znT#c;+Ekv=D#>+UlLP>LqRf0LAFF*%DGRi~P!?S67Yvr!ksaX;n4y4Pp|n&=Zc5hi zii>2R?ICxx-b1rKTG!NjlNU(zOtetEg!MyJYrd!!K*7(k0VoZK7)f7lYGAUO_d?PL zI{#T1BBlIeq{5$zA}KKZbkPcF{m{O${1#v|6_eJy5+1@HWe3+p7;QrJ)&^81VM_cl zbAnP4nfya*$z-kezaC?p$+Ah7x{vG7wU?vB3}6zL0v0|Uc(a2(=f)K5&TeU8%{(y2 zWK$ks-=4d;o7mpLxw9KKJ$k!ezj6hAK4^EGJ<^ZFs_pfj^8z+ah9lbz%?(dHbIp!! zw7Bp5mOu0S_5S#+@Q3c%vbb>z2Q%`HGYdblz0oh<^5*kCA;jdqz2$iB`8RR>dbfM; zKaIsEaO2YTe(c0{d+0sqF!%I%p5r(U{Ken=YV6(=m$^7;^e#S&wc;*`d|HL zKb>%g^`48x5(mBK(!4bwWAa$d^WyLQ8F z^*djF!ZXunhs}YQTB3)WMOawNDS>Daxw2-PTiZBw`nbn4 zkNK^aZ()CXBm0#-o2=tQ@7hAYc{P{!pKX3_D_{AipSO)$Jx_e6o4x%!+NB%FE4LCy zb}aYz5i#3z+llVSx0_vh6L$G6Yo|{E``zN;3i8%9wA+uz(GR}M=f|EzUcP0^v&RwF zuDfk6ky{P1>+su-M?13R^J8DOi$DE&T)zNaK%&2tc7A&U%aaqP-OuB@{?KX7G+g_GH*Sft^dKu`tc)>}hoIVL|QM z-}sXsLpyW6$HiZ_-KU@Q&HLYjco?)s3mkd)PD~pUrZd~GjHO9AAJC~f9$<+;s5%ipZ@Nz%Zo4E z!t$Qu25jN^&%c5NBKOkK=QLaNu+HA-J+nGYV`qEwLhrO6tp$nf2(UkU%3c;Jn+w1xSWb+gd`3EG!e!sWhJH z=4+DD7>z|z1Jo3&F}_tBg~E@1~? ztuabjE|&|0=Kd755F@%HW+2`rfy6&o#V`dPDGXWUHou#E#^L*-hdIO%jJ83d-$`D} z7mp)Tem#|xCoUN(XM%SA8v`kL5SN(9lT3p*1EP{$dPn(zt<*=+1y(90Wg zj$}OJ`3A=!C=G2kS7)pxVtn7lSyBVW!9V<3(N-hAxoqar&vIJsnr6#RtZ z%&-+W7cCV7H6_`2e%4JbX;(W2g{35#T5*v<2NRDv!?hPp@rQ)7NXDoos>;Ip@(qJ1 zM`Cm!0oR&1zN(eTx$qAw*%gwIz3z{bAQxjQATYbNUG_Q8i8`$PLB z68msvud28xE--~4$r#NIbLunQH87X!*Gs`&ek*lAR0MWi+wvPgr!dTkDT;_L7O}*dHIF6h zG)38da#=&zm5G`cQ2ZW~>1r)x@@2`^U?qBxHUdaP51wgr@@oe2BhA!>VpKXM@3Xip z7?fPAv!eECX%wbba@5MoC#=gi(2(@oDM6wRo;JXOn-*pGZKzsDTLDYXC=QaZV@NKjW+$oR zP^rLLWna!*U?u9%1eB452sIlkn;yuy0X3vBf$GIy>SA3llA>AfYb4c7@jzXjU|W%h zGMc3+5lxh2>Y|cwsLPymxY^+iDl1ZtOE%!vA>*DD?G&hNr?TNpj>|aGyU;-u2neJz z>zYxeU7LmI}nyP|+f3vc9)kzUYY7`_=SxR3mp;w#uk- z5M070gU@vAS%FNN)bkjGbG;!_1b+Z4H)1$_zG5GifX{vGdH|Pm?{z@n4EwJLa| zVuj{L)OpbNxCGMpi zSYxGiCOXIJGjTP3jCU<7@JE4IMjb;<9T>(t1Y|0iM<7&Z3?orf4zwJI%c>XMX?5q4 z&aWk%!Y*8Utpgo3(qb;4;Hh>2N)j!t_Ko@yi80(P2uI?2F zbraA+4jG9NjG0El8)R}>j&wRf6oDM@1u#r*& z#$!5-Bl+schH=!B;b|)j^`0*@Vp2{9tliGT@{ z*xL_WyfoW>2Yk_RZo^vc?#1=}h3_0Yf>_NsI5?nM5{`oewwDXM_3|zE39TJ#Ctn)w_# zwYIu)bN}xD{vUk&!ugX&zWjaP_5MHf)tBD-=EuJB{GWO4;*ImGm^T5N0CYnO^St3{ z8{V+UXx-s+W~3XMJ9337Jko>SbN;`7;Qs06Cw>;c^kcuAH&=$Q`^E9$s4IJCSe0k3rHely&x9QAn$QPbZ zd-$E!9()&Y<1+lUS7F;b$QvtPJ@p#)uI^#y)K0dIh3&t76^1~&wU3_HW9MCO_Y8+` zZs6oM-iPHgZ(;AHn`oOyVXr?EcJsJwQHD?EEdaNcbIjpw(H7ZS&pFf3ye+V3=*^AA zhUfvbg?ogXwT$emm>I5df<5)=me$iUo26UW+)1c>@O$2ycH{N-{J;Kj9KY{g%%A?T zIP$&^db{{0p1mCTz}eF_U$|nYKKw|Ye%F158&`pqVZOG9tB*a6Bj=Ce)Q3NW>z{iZ zdoRC*ov(Wb+TG`|{ph{GUSjWSFJkkKI}CGRaqMWe7HB7Kx4l=NL;uPbv334r-m?n3 z_=Q{e(r>(l<0m$-n0A4<>8HQ>>yWEWJAU#s@V1As#1-sgfql4}8#-pRT!5Z1(->z1 zNE|)3^R#a+P>uHrSC63ADCVd*pp_^=3b|_MFcP(+;tL4taBElygKuswF)cQ?|MtK9 zl^=cf<=4JP!(#WWEw3Q@#&WS}Z87yen;)zW&OH9itAFIl=U)4L?|kt7|Kn|UpZr&k zzWw|!ZX0lGcZD7^t3H!9+Lfd%Wj0WRoyh)5_R7XoV9G=*eG2ha%0>dE%yduWEM;9` zF4P|qP@GfM#`<>tZ-RRIJ|!8X&7^3e0)7SQ^(>gtiCDkicm=0_@upY@SjV1LA~T>>r2?oxuWG$W&FvBXiZBUs7|0W5=4d%Y z{Ku6lRWbA)p23!Qa8}ux-a%wMu=dYZ0y`Bx+@ev!w|_) zGufi+uB6C*KZGB%aW8b)MxsrLKw#n;&Ol5#+PaRt2j`M?T^bwY0$>u(@%4z+sx4Ux z+l`^8tUwW1*5`ojGSYd+*(wb>8K&_K>zJRNB7mIMHo&a-tAA&GlUOd@2Cq@LycsJ- ztg0X8&}WjHNFwjn)7$IBAHUA!-2INM%nAy64(j9*=U!xukYVRXfFh(nj*#yAmSBJ5sdDJI(mA5?yO?nP=l&9Co~LjIqVI zk?X2`W3m+z$8q07K{l&4D&kBD9~ycl5**y@B6@k1^m`-uuh>|L*of+Mpw>XpTns12 zQ!_l$0x8m-++G86#%S|nYe8Z0Gc6sV84o5tknyswRmfmf-r#hCu`WA8kgKcBt_nEL zk%a!Df^Y*Skp-3Xfi|!PqS7H#eq5CT@Y+yi-%ySy1+=Q%BSpf{2%#QWo2|1qzz^FF z0ZNw^VnI32a!~aAIt&ba^p8?+rY@crnWizols$}6#%QJF1FDZ6TaYA1FG3l@9LEqN zD`#K^4mJzuRc|SNW@T>*U{>Z@uY~H=w47 z0h?eREcqg5DX^B~_P`R|g;Z1L5apy~6M7;hQ%kYH1oe=#ic4S*2S^ zSrgDp-A&UOsuH^*rFnqMIoC)d0WzJdQlOWjBhw{3vO%n%`YkG`l0{;YrrP0Da4&U{ zNjX%unM2_?)ID|ga@d!K3d76RW+W;j#h97<*~5^w;`wNm^j7dK61hw5F`I0AU?f(f zOk}1MIdo%+;YF0l{uHq6IRZ(zfh|m^+F*V;*IQqK38){hHam2=>d~(|8B$$931(LF z)%j5HpnlCYpqtI^a)5_W&%y?1zK1NQjBEK9xWN@@1xoQlumsusRP+++j|%f~U)Mpb z>~IIHv6TyxB`y_ghmVYj?j2^@;-jLQIi9Nt!Srh6U$cjhe_qhGOZ^T-sAYr_7|@0UU}dk=NUp+ z44i=pXb#7dmu~oDzxb6re)dj$>gk*K=%XidBaYZp&%B;by?B5#$2W20V8Yew2k6mo z?#vRcxosZZ#+kjqQ!nk~q1%txQYkQa9 zz;xH$iy!_^zB&HT|NQfoNZZJ{VPlEi{Z2EHIkohj-daccOVUIH zdM8?I*u3+u*#7#v-Q2Nr_X*^???qc~Uo zz!ANpNfDhTa0-JhShZV15{gY40!+HMUO}T;9VE%YfH1A%LP1+%c#jJtOm19i?EmW~c#v2@)B^61FCP zLRuodM5OSIV$_n@C5Bmsi5P{G4DqUfP9{H6Z7E`4OSKvj0Yem90l^7&y4#9}Fjd9L^G{P>Bs4KJhDvZRq zoL*WJI$MY4bpPf16^jMmAv1xd*dYv%y1goTQJ7H>epC$?=0pjBLTyV5cKVEDsAA|%Vv>tUQ0z+sJ zhwiKP*I-ER>%E0z&NX4?m1GFTA(n_5oGWtMz>0mzB2X6NG2qVon(Af|8M+51lE30BTBaVdnGULi9k5_4 zQ+m^`_(q9HvypJ9*$^tv;jx)xR0(w};*~)G71B~zSJI+2SPvy~6IG>_mB?V&&-k&( zV)}Lz!*1zpYf^_D1Nsl~%P5Y~S#GjpF>Y~D%or_&vi?QyPyayDHhtOt_5@=nkQDb0R#s#hN+R?2stQ6XB1>iI=Dmz5Kl|q zqU@lJSx2ds^i~*130!hqhFm!Efbkn-$BWC!0Bizc&f!N=c7z?I*%B@Eu9LG3ST~by zk?V$hsnp8UDCiCK%tioc>XB)3;z?Cpo#4t?AW3Qg1V`0lFsfvR zF$|FG1)r#~sNmv>z^Y#OO`F8F1SVpa#(@*V!A7`p;%-3pF0zn={?Y|3y~u@13K)ea zQj9{5s!C_ZvOz6w%uuRYDhzxWObp7S5JgTJ(kIwqiz@=_aQ%^2+ z-84{t=UuofWSs6 zDm3pFrCO+gzC7rS#N6R(1PEp(c=(&h{p7$NrAC>c>Q$m=8gi9-QU_|#tT8a)5v}); zp#}HA^oAxw&v}*FN0H$i!pc4GD%pX~P(=)Snl%_l?Ij%v^IkSUR~#NT=1gov01?$@ ziVhz>M!t|p13@hvZJicAJD}DTwZBRjF;mH8666S#>=an$6E|Z?dI-BLV1gX?1(C1B7$=oq^2U7J<=4YmOEk0)Dl6-ZpsOp%Bsw4I4AbDlS59~ zim^|0l3mWI%GG*cWXPj4vmU{7R!+0lkfxFM!3tbJi6bS50D?vCO@&$|5HVpll`A^| zSridpBz5qdg#tS!$`s(Wf{3))tiWpHE;W}v!<2|BH)c{HNHI~W_^jlxhAP!CAFCvR z8E27zPM=U!>#FC6p0A?G3M@GnqrkWH=29M+AM!~=!Xg9|T&fBr5B-yJ!iK z-STTq<%K2!-}ufh8)o3WsUCy|o@YQRx%<5%~`|6M|G^tOJusFrrW}Up*<=!&6BX%W?h!op-`)C>vS^ z(79F_3=$1sS%29Dnc6wIPc?HR0jVkJt9u4aN-PfVWWTNQccynBIQ6v}Nj3}uZwcBC z7fHfbbcDG;ITM;|HH-WyOf9O$pXBT5*SeBOgJcpG=L-V|w+`^&?MMH*u4o!8CiCWI zts%W@Emvvz)WtpA|JxtJKYQ#do_+O-9X;iF`pkyic6Kut3qvkiF1MDrxo^01y(7Be znWwMhD_2%_&pju7v3(S`Zg!hjo)MFGcplka;`F&K$Nm8>y>i8loZ7+8?MHK-JGNTb z>egQFU%8Ik?mU9icWh&G32ZK#n{VUT>0>y3*BQL;o#)zb{+(Y&fBe_cU;T2du*~oK z@BX5nKf+2=z_0=^EjXQZG7npL<1Cb(J;GK2N_F7rwh@y}?%E(rGfh8C%bw*y0?5ps znX~QpG3y}}r*mlOeh1nEjvWFd#a%-0|Q1mH!<6rN4oA=}U-q4EfqMEcyoQt*5YY-zjW- z^tWN_z38$=1FYcwv)DZfa_m)4%1G0#)@U_?|Ls1TX^-yKZX9?S?yT()7?l6<@i4Syo3FVi6FkO<#%B{8i`0ps^T>T!$;`k z2DWEX{G~HFgleFfiY!qa<9W8V84L~axtYi+;b)yKoj&6B5igUH<4{Xt-VEUngjD&A z#-xYfJBt~vxlV-Ywf|h#^-M3th$0+Xce( zc$R4-F)VjtBsH)$DeARfvpW)~VZfnv3dQ&pNoQ9}xlT_PVTcCI2*$Em{(_ur-SdcK zT$k*ko#H{*9!SQhD_#kTm-ymk|LeT+f4O2nTJ@&$Lc5eMj#gFhDZf1Wl-MB=V*Onu z7bPk$VO&-J!y0EI*8Pw$G^}A3+ko=7bvAuneb_Tpu?Cc2(d1w062$yel zvt>X3&S%hXfOp3#VVuMbp#&x1ng6Ee>Qnd9XZ~p+YzP z2K%}}1UCt9I!f2?y57hQ8YIX**`|YJQk;6IVgTIiM4)#;4>>rKQniTqtn7)2!88p` zF{lT&4zixP41NmO)FCPwmnDoO6T}S^2aW36%-i2|8GK~H9o5E04vSZe@16X_b@0#4 zDq;;$4i zTrE%s{g5G&&E)rF=&P+p1hhF4K1ro?oLl=N+fVtXpRJK@W3>YL9MnEwG zV5uUVM3qpn+^X8yROW;3NM}k1IDOEh1RoGMKDakPt!9 zHH}CKq}+&-W?H=@iX%0prS55srn{w z??lXx*m3Ry770{kzIX5U9TR59jvX@j^K3$7mJ?SL9%DTSo(s@qrecjlOvw3!5m4~F z(D7yR1AuLIg-()p%qMIyl?*PmIdbKBhcGE7(31<4h>*Dlhtvq9%ryqmrITcUCAlAnq{^&C^>HsW_n8Ta#Gn^pBI=IN zVaq#6gCFmgAfdx8=yVx2he>0HOx`Vm!lH4xThL($pxiWyH#GwI2-eUl=*_VM1XL>> zRU~uXC{qzkc(c7sP<v381Ii`lMYh*mV(Y#e5Aa3lYeT+>3#rMlz!; zwi+dp8tYqR;v2d5H9-yr?V2{nqCHhCj$gL60^w6FgMHfWkWu3eHR^t5pa!%KmiS)I zkpUneg`cnK8jxtu`w16V2Y~YkVkt}O6lw{FJBm6=II-9n3-+ct6MJFtLMFj)9>1)a zI}5vM$1_2L)sP!w0-iLcDg+t=6KgijjRC&rbJhmfbxuDgQP>nP`Ad^*5zio>n;EF8 zpiovys%7BQ0@Q3u%5hc7ghH6?7XT=^|C0o>u?8i-Gd%{ALHevh`@glD1YqIU4ZS!H z@7n&A0=RSkT+FM9g`5B?*t7G*vsc92?H$MFbZ%IEYHny(uB`d;@(7Fb(aC(64 z^8=rs>wIRm!$wu9m~!hK8-oF+_Riz{s_2zlW1pHC%Jt?e^@~P`Me_;tL*VnMN zI@SXx_WGmWa1V5LPOe|Lg>HTxo14Jq(kkX=3szRv{r2q@NWX>$j?JNLA7JUZvzR*l zX~p?Z0o#xI@Bh?~Vp`y9Ua&bDV>~iwsJ;rSySuwc(Soi*2C6p1P)cx#RlNe}YfKXs z>bDAt3`DGpNznpT7a6$2u{5qKfdBBrJN)l`@4fc+#}E0@cOJpQ?9fK5o5038hSSyS zwX5F0b{6YTKZn&nds6+-N%QU7z3+iqI-7gwK3ROnV^$6wK{G!*Kf^x9xj?GA(lJCa|`FwNF2V@snRfZ<|!&V zirSzXK-|!eHv=R_k4{iI$HY5zgcy*cD+R;SVPms5!10$KUi88CJ2qw4P;V_`^vsu0 zUps}(*DqlC|N5^OfAM(?@7V{Ln}Ku%WiaD|L%Uq}Y{%f9yKVb>9>Ua--O$BF$o3sT zU59(Y+LB{@V+nZqX$&8D3{xNebLigpA#{riF1N0tNQLg(EtoFu>zi16`pZ6g`JD9^ zulUC2o-su+OhaU2Lj(o&xzA(v*h$QM-Txq3H+-~wqXN((>ILFv7^9lIStuIPt1K?e zylMoGA_i1I1AfsG1rmX5VZ1ZeVZ5XrvOp;7!iINP5)1nnF+8NUGpX5{s1cOp?2!Pd0<5*PQ;4%{%!lF*M5m94qG`RW5NJ*S zn3;HATa4r^cquUuFeZ-WoyeL+r+y1kA`c>=Eo57H1~QaUM*qYX zaW)fKFt|+Sib*R9^1NyQU5e~fF7ZK7=5;cOLHYae0+E7fDdl`b%iAfFJRl5L2$p+6kZnBH&q@$`wc|QKScKYw_pu-qa-I^!5f|pylte4e zw2oa?*=dX#P-6q^iL51%P7pasI1Z--xB#wA`Ys9qEQV#?Pmte9+5&TNqYX@TiLequ zc+2@EnY%_oD4tDIdK?0HhmN*P#apLC7KL*rr!YrJdz8|saRvu*hD+pulfq?bemd1K z1b~$eqST5(%!!Cun=z{qMH}I=c+C5=22g^800k<~IYIEmTZO6>3TKf?;3y$Qmp-m# zF(Ks)U(JC;x!F<+$Tf@c0`lq(?22qJ6c(E)A}SOt2LdPCSNW z-b%e%p$+F>h@iFk1!fejJw*c4vAn363z{!X(tH|M)5IQmsPzLz|G!OaE z4gf`E-kU=0RZ0)R-}a}7h9)s{rZE&o{vq%oN< z`Ex83G~(Y`^Fy0nB7~;Dg)rWAjrU%#x9+=3!Ksx=`bVy z@fL7oAPLKAs5fBIWHOw0Yq2Cm5%Ti`9#N4P2n}n+s;IzLf}M#Jg>ehk1e2+h6^XKM z`(F}a<6D!7flRjeQ6T80;eov8-(}Si%Ah6!Ez9yy+P+whNJ5mjw*y@!8U#UUHsOH> zL50O9c2tC&v2d0mA$cS1cJa9pEUbJFrPbH&WeM_$#f7j0}pyM1-#1z!;oofJo+_ zPR?cf>^$Q}1|7WFDYHq%UIc8Fm$v4fl1@zOiaJm#S3B-+w3?BX0Jh+ThhoqWfNLhF zjwA}z0Ny!6qHup9A>jj$VZ%b5+~{gx!l-#}rQI`c?}}zC!Bd>w1`w(*sm35Y=bN;I zFO5_t#-JPIy;b3PiB@-JENokye5It5@j}TYKrEPR3GT?-KnsfHI{}VPdlzw07g4AbaVct<1*#$%2Si*=a-e107i<1bSV;@; zEo^RdTNDCS>=;vN01o9zo0J?gTmS{>6}S&xO00#tQ(FK{{)Cznd}sh7`U<*iHl z_~ChUeJ?AwM!I*;g6v)#%Jl3MMh0{~0;I~VTbpv>>KZmSHZeCWe!Ds@ug%!ozvW&2 zweLBA9rKU_hZfOqRIIFyapc5y?3gxx^Xb#LdF}?5*G)zn72Ef1!`!Y#y!rZdyz{pK1@eE-MfuYcnsB7@FRd#HMJ zxg$WK7*q?F0_ouJQsHoS^-`^`)i%&$lQuiD{R+njW3AqoaMLE$O~f7B=ceSR{?6Cw zKl~@}(S-+gXgRh=HU|Q8$kd)$jK(IbSJwoKi()&sqmIlo%|=-7tFPM#>(=W=ztL^>>lkg0%j)I|`tb<88%A|gmN(Y0 zw7I6s;|;8Bj(oN6U0mVX!Brf#DOMoU;{Id*`tQ30O`)8)7k2p)usM>!BMBbyi3H^b#$lK zz3(`R!F`Xz(8I1?z-G4xn};5;YPyHJyKZffdIS6E0?umd$B zqDf7Y1@Qvf;?N=%Eg^L&icTOxFm_NnnV+5Mp#%KXuRrmtzx}!Af4*8p=?1}~DSY^v3$= zWJOoDZ(p#fDUIC7C3NIPAt;e>7lnC`90(dOH}N&Dg|U6a!b#YOoJHXp@oDPMx0*fk zrAfy!fk4J@@#AE>Y1s4POgI>COA;)Eaji-a$rxKiyl5?7>L3%TI^^#M!7O9TkW^v( zC~1$S+3FwzgyU~4L}=totvfl`;94>nQLd#hZVG=Kg@))j&Q9knTt|Kxq>+&Cj5V>! z_@aSanV2QOEnL1rkRknC_?+~)PGBh+wn!J=7*vHZ0iRbhR+*5O8fzL(cDeyYn}lPM zgSbWfXU60X;?V@rN&uumPVtE2*gc7q{V>i05U!;#4mJ*YCLxWF9c$-gwrAA=1vvm$ zGM_ZEr<>q4iyJ_YxC(Ri%6trl>LE|X(v=h?@X?3}L3oL0jQCA5F0TB3?prQSN=rm) zB$Jp9HHaD_Fm#beF}H~LlJS!poM2z@u$X%hw26-J*e7Mu6y5Uij3EusMO^3XVpMQe z5*gnpEC6}SFXFBX2|p2P3PCtk0ZIoglo0~EA9ye%aSW%;fJ6EyTx1^P(lH1VB%x8f zFvfPq;q2Pg(quk02~>i}X_6FJ+hJreDulj+G9Ls>YB&Ku^~W)SJv z*_V3q%;OyZ`cR3e)e8!8IabOO(=3Xt8+Hu47(NK7ZU*FIhBoLQukjpfz$(n8CmwRAP=z6@x(0L7Kd&LSUMCeXK)L zy_MKrve0R1%eieSPn0q~3q0*7+#L#8%!=g?uLjRssRK&ih}Az&MJD6AA=K`>+H0KOgEUY;KZ z^D)W!eH=n8EHYP0=;Y^0*i~caL-+!nC=Rgj;%cqaE`au&LO_4pWf>uhWF&SA$z4*z zj=Q6pLW-fcNiiy-x?I;FM~ao!r4_|~X_9u)WhT5qf}GRn)sgcx+eRANyMd>k6;lQx zfq^@VMXo_6^{f;-eVha)>C9E*0Ps$VQ+=Y6oamI?6+pe=7l5`RKy{1Dr5x;z3Ht6H za*%O%;^);B=;K~0cee9n;sFgLOi+)tnK0azVM6M{#o@0RNM=&)2?EimabrTljh|Pv zF)b}G0rlua(wPwG$cjTjXlWr@M+>#Z6F?DaN(*HJLb4(cprBY{5d^9jVnm=Dj;~7P zD3LI7$0QSmhM1R)t@_J#nG5!K%?e#U(UJ6S3X9joKwup0NLcY;@Z9}{m? z!^{>O-q^Qch&l*|o`UZq?6_z}9ds;~ZiaCp1rM6lvltg?)86Ct`_* zwtd{6tn9~{@G4Tnm3PboR98Csv|$k(L=bK4PKgz$5qNT#gYsFU2#^Ue*W)!n4P!yEouRng%F}$G~7r zd{~@^OrqkjJKHg7R+!{&DS~7nvTkLI#2SU&<8#sH1QRCqD14nlw`gO=fFR2VHriuT ztJA~c<@(0@pfOk)Q%-|1rBL)bNm#RO5QzJi44pUG zf!9S)YG{g<8oK?W!NSTQDiWZWbpu2IR3!F~F)Cc5z||qz z=IVFfyG`z_jIrKV?;SE81LIL7hcm+h9~;(ISM~6b{n+{72|4@9RXO|GEexb!`RX0) zS}Zt!qsRLnUVy90tIu7j(jsl)$O^y_}e|KUIVLA>+>{|cWt*PGc`WmvR$HJ4$C z6BxwJMFs_>Dx`C9x9VbD@#0XI>Z8_W9ImbNp}Oqfxx;_p8y?joJ54_N^@nWdfoYlZ z>%eH!>YD4+J-ZDzuB+cRk?DfzyLV#h*b&IxciHUGqrjPS+8tPg?3zb?<7L?97zHMn z-UlDAq0CIxs!}k&2z~fb@!OZM_Ub7NckRaD!IKyq+y}dL6R=H;uV2OBzT<$7;2RDd z4uGpSAp75f-&uieuEG22<>Uz&z4{tPpE!;AZ+;(!kDP$tT#`YV$9TNzc;mF(^N|nW z*S_=HQR}p?UwlhG{i`3x@@N5P&M)ES=DIAo;Npdg`26#)`_l3VRa6ueYVax|1!5L$ zfL39uReXf87l?&IqST72kL=xHyFT5+I9IF^mPk+|2N5#>F9*m;gz{ zxt+&cBZwkfrKNZq`bK^@yujQAQw5lto%WlzSGN7cumAD0H}0$*g$z&%P^5#2TjwI) zIl8JMojBC6zP{mraRhT`oel&7uP`0?7y}&?>#gs)QYr=ljCwP}#Y>m({^|dI^A$H= z`oQB4{oQYR-@`w%wzh_~&5=|y7b_SG{Rw@ISP(H%7dr@z4)g?ZKyU$}Q9A~0DUw;7 z@o>ib1m{iZAFZ+51ILd9UFkcrP@p^$0q|&x*+c9C znVXhOx}z`(`><{AK*WyGH6#wYP8oa8czc$`cNqqa<79+fe9w&5{86N1d1Ys&)(KA+w*LSfq3^~jBCcn+c{P~lqxTg%S0HIc`0Z& zCYWb*78O{Z#VUFU;zP)p8M))+XfqT%NOZCa@PabI}u`%aEY5}|o zI`z04nTKl3I~5jFD=Z3`4xUes?n0+MPWw;4+w3C}j3-vYG*AKbETRRGyMyQ$Y8tcp zgtBj_D5B`A0;O-=BFW-SMHtUB3w8=LEIT@kn%pzvmLx5VtVh&GH{c<0tZlDfdPD)kz^|byV{Yh zW@?mxAm0^|&a?q;0m``) znAdi&b8W)mN04i7D9JphfsX?bYf>qJp)_D|*;!0UU|izz_mUIPL1RltM&p`QGyoi! z#!urVHw~>(@@b;TM3%DK#9?Q!!;q(4Ob{@}7M3_42ArA$Ev$Nb8W{%l;tT>KpoNiz zOeY;H8xAU_nmZGq3CL!VHUpG%ffTqzwc9t;rivcEV zc@8H~5rLq2wE4Ij2TaB}sAi#`su_AR7?H^WgrN_|9p4A)(s8v+@`8ej zKJFvWj3SbE-y*G&LpZAjD@e8+snEny07O8$zv|ivnM{SjK7&q)>?>Q)BwN$C<{&5z z8gQgNqnYs%#ybZfw+D7aA%nIkT3HL_z-Xt0i8XC;+z|!9;jEK0b6%@dAU}lB^e?Ht={&vCESWAwlQf;7PxY6@_dV?L#9Cq)IBVM z#T-aQ6LFjP39!QpWD+sqHXs;B65VE97QhWG*hMfeDf6XdMp_IK1f*#m_Fy4V5(LlS z6F`Z%FB*E90xRBF1FZOG@F*+>W@0K#fWd^a@Qx%P0f31WHx)vE#z56PSYVZj19+bV zP#M5Ix^tYmgJJ^j(K>%z!|ul*W2aVbCNQ)q60OAwAP2Dv05w4^)+7rYX~3O#1GHrv z-s{qWPb~%TBCdw1!O*6r3hLN#_15YmUwHN6|GGKucU8yw!JUgMkKVKQKkeQ&`{~iR znu@!)VAR)$v*E5<*#H~&H4AXiLiR>j-C7;e5-rVC1sx1MT@Ku-x9d@=>Q-M|BD23^_kTPue34U?H!#jg2j z%*?C1xy&xin2l9yb>Fdjr`*1HMW&Xo`qTih-sJ3s#a${YtU0=iPJL5V% zr8>U7A=~!vw88v#z4F3!TwgWZS=zuoM`mUFgNN*{2Z~;Q{tZZX+qdtVhXL4_nv*?` zz8fpAzU1fs%YT!5_Z;xOkAGPI?$`gU{mTFEmvP{(k62$v5GjCHuWT_f_W)+xVCDih z6`=Mi*14B=o_tvU)_1=f@Bf-(a_IiMF&L^07CP6#z|oBam!J2#FeRIR@CUf|>Q(Hx zXD7PtyMY~hd}?^nubeuC*FOG+JoNTGICS3wSo!3ab$0JO)?awT%YnU+*$XDs%jn`& z%)aeG*!-f|waY4_UhCYv>mzTMjVHd0%fI$%?0);A;MzI&8|OtHxDVyv0~r0$A7gZ3 z3EoXXr1!zGyHGFQ5xIWZ^sPNQzOx2-@r&Mf1DX2p2hg274!eE>*jO`Yr|YL)haNlu zUELIW_(7`|SJ2I0RNV7^o4fy^^3fmJV<_7c)7u1?#|R6xU|JMw;_H{HVYbw@w?us` zgV|Y(Zd{SNx{f<YMUh;saq zsaP?<#j4lRfqjmGK{vbuMMz|LqdGx^c@OOoOrwjA(PGEsGX1=|VpxE=`31ak=JI1d z^V?7U@%m`AXE2!A?6kP~=9G(gK~eLVlhnJ3VQjVzIL25Q4x}2e*7s7ahiRvss#~u< zEJa38H#6x}U_LAs9e?A#_kjS@pZvnJ|K*F%o%#pg^KBpauHy%Gom$)6#K!sth915m z3XR@aWllRO1WvW(WC@0N(|ATL?4Xr&36cL92jGzf7ae=S*Gwi{OlnmEsmwzJL3$}6 zHDClNTj5?vKa;NtnIbPy4jL7N6h}&H2;-xy*BU#BFah+Hh1cj}6nL@8U`3IL>)o0^ zGi71Hn5ZE>K0S_;AYSSL-~AmeeyD4y}X#`jyW3Q*k8x{y7)CM)A#%5V@| zDp^<%<^<+Yjkquf8q$aanH4f9Oelrq9B0n%d!9 zf0XeS?`y7Y0`Sh1B*KOuo@j!=iMt@?Q1n3PN^>3}Y7k#y9vd+ZpzW!{AYBKol%65B z0eB-J@o2=F5fHSfpvI4qWTfCsGlG6D9Yp%Dt-eKC%H#XvoE9R2B$AOxA&f8MXEYO& z$n9GA$$Q}?y4#@~4$FM4Xp0$*UF>1A`0PnM5)Nc_YjdSSRx~_Akp#387$h$wvji3f z1=#X@j;h>uCnh2wJ^)HuchGzbr!5s4A^xOxK9Ld@w5&eXBMWZaa}VlO=gf(;1b|Of z3{{`_H>c`GN_!9oiv_W;bCESL7LP;7nlGBhx|NVbfg z17tDR1B_St7jp?)Z4UPiBEXokvYE}qT`w_zO_W6-(2l2EPz-2I5|j!!pA8Mfjk6G7 zPT~4CYSxzGR$Nr#1ngSMuCA1~lR}_g;~YDL?~J&o3Rop}iOj_!$Lk#!I3`la;waUT z6~`RfnZ zrk&7`BcvUZ68^dsazrDK1G~c{{HseA1L-e`%efC=s4VtGR~NE7Mhxz8zugt8m1~QL z!(fe=$42?cb2ai;caP!GR3FF!K^BLTuphE=lt`15uuGgIA;H*x)hwUI_jcknT7aDf zg@8p=YPs`lxhIM!fVoQ;+?YOZuu4F%Ba;Ayn^B=sr~zr=Na2`N@gk^*p)gS)JumeZe2 zYE<$$bi{#H5J|mFB*RiX>%wW?n-72jof|3*N#RqPI;016$DBLJ3&MjL-E$G(C2#{X zR4IT26IeSMe-aH%S+dSm@H-~klX-) zA_tJR>Z&H-71lM9!)QS@38MlU1vnrjfb`0ijT{meQ@klj!}H4e0l@Bu;!G&uP1Z8- zIbp|M1RD`7*G5nff@v@^l?piYg_U9kN6CaPl7nUmEvZt`M<(~oX%Z~--dn|z1JH~Y zPO5wruoYCza2zdIGyc8{6wy+cjBCvbD4M+E02zOxsgz*xMAv(zff zPQak>u2jHFIB(;F)y_7Jq zNx(Y)tWMYuLT$@P(F$7(X&+p$RWc@%^bX+&lZ`mJ+Yv=LY70`+p5=2Y3oDkz6@vY- zzsX!TL8fmF94Y^wBrusP~x=h(Q?dtk%eH|=?Lh;M^h`&-7WgHtJ6+N zOOCR8*O;({3lK6d4B894^DUqNe>UwsgYD*THGMV%XznuTH}3Ghh1;@+|d zo7EUF?~vGAAbu{)eMndt1bt&?Mlu2xEyJ`kG2tD}HPiMJg6Zkbrv^h@y1laR`4`^$ z59hD1e7LW5ySwyYCI7XH*N3mZb^W^_vbJww=C!Z6|E|A%X!raVr;A`T>b(gJ(f7DA zF;h_5fQd)Gnb2o>6g?Cb*&z|j9qZhg!_hM|%;Yf=<%bXN_)n*AF8>gKnCjX9@;xs_wGaKe2l?V!TLtU-1L+z-Pyp+TWh*)VPNyK zs^i;N?b2139oUe%w2I~Bu^rquUAiK6XJZ7#*j6_-F&va~=XQ@#HSAj5kejPFeXuws z?>xMYm(Pvx!l@-pAGje$AKG7Up1WLDS4KX4^_G_Dq3=4lvmfqR=oWXq7b_Qk!e z=XK8y@A7Z>D_^Vg2d3=8r9bg|k9~_SudjKW&2Sxq zPaixYPyOOA$nvdC-+9k=OdUJuZ~V$<#ILVle!Ke4ci$^hcOSrwKl@DC`OpFH1}b%A zkhL}4ym=c%2BI_5*gXFxUi$ZcYWt2%>H5YLuKw!t*#FMG!0GEKhxYr%?-?A#5C4nn7+(E2me&_W`%{o-z9cp?^j#l*TsBX?<+p$L z^D_JR5$K}_QRa6-hud)U?|cOH!fUScJH*#E(ErKDwfpE_fNk3ied$@)^t@nk9{ZdXXEy_avVE#5L@>>m}Ut-klijIF9*uywhy;j*c#0mZ{@+yAGkY;^+<@!C-2^ z*FOIV8J|BZGmi_(^px-TzVDOnX6F>c;VgdtiKqY1KYr?^ zf8Z!SJsggq=*HtZmZGAymtNGwt8AKy)LMJD0(AakfA=rp$Nup@@|m3{v3&WgzyG~o zt1q9sjK0E(PL=h#DFd0RhR)2!>@D{yT8c9867SYlHb%#P_E-PtE649T@P{A$hOha7 z#f90?+Ughu6~RekTRcdPAV8M`?knTP>=^RLFRU@u26qM?XrD{Sck^~nup=0Gc7seA6*1*e*FQnxp0qPZ!iCCTz1ngWRHY<`V zG?CY+89!*mB}RY3=ybAAU@QbcGCYI?1}T>fkQQ)CCDN7Sp;oNbmkC5q2m3bFEeaRk+AExMM&T> z7P5rB$Jz=k@K*X3Bx$kIzl*d2RivFfKSb4Ap-qf-Kldfx$qXpQ{HkHGboiP$U84&G zA*#))_vX`0<^kN8R&%MP4j7LC-L0F;X*SA7Xb|pk)=U>Haj*4P}cgF299#@_Z zwz)w|101s@4{l`70@535NlBwThtgX6tZko#(R0N5*Eq+nne;?3mPthvx-y{xq#7(` zR|(DrhLk~DIDsevDGiph+sC7T!}%KOG>i;;8QQiYO0;c<_0?pTNHQ=S*$!9{RZU}D z8=XV>KIyyzuui9<$nW050BIni10{n@I%FUme+KJZ=fLyB-Z6EF%qcMCt(wEs#DzE%0L6$uSn|5H2g|XD;X5U&lDzJs)F7m zza(~o8xT@(Mw4LeT~L{ju+>>SC4u7PDU+t?5aN0DEk$3jjoHaE$$&6pfyqlV7*2)^ zZJNjHgECN+_hZsxN!|l>bG;Q|vk-??tU!2Bq>NG&0>VFur`6&41VNmjA;le($Vk*J zSbkH2p%&cQsE0oF)C+%bYia!v0MH`UyKXGw+Q$`=3h^2~P`WF(*B|};FP{3`-kpn| z``QN%{lE5ZpL=d|vyb>j9A+G_%?vaKGAW%S+sWz4 zm&cHycvm1(-4OjoFE`i5xNFBOE}grHerW#Sky%U+R@KZ=I???*3N|*!n4j)s$pu9W zIs(p~TS6^s^3D%GfSX@=4jZ+@uq(KJ_KFPZa+#i;@}<>Hy?*vK4!r${!@S!(`zEH2 z-{p(P4q)Z_I(EPCMVUGJKD++Q{~CM0_ixFKwddv6{?XsT&;Ht%5O(nj z`a5GO7($oVP}f!;LGtap5X(XIgNqA7e1H2j$p4bo;mI+NYm` ztgWF;9~ZlQ6L#w|e7p{`Y3SnJ*j!q{_=!)tqnB-W-48LB!H$E#r5Cjysi{t(-|TT` z)T=?6wAR2u3?lH(#WtC|mEo|gsY=M?K-gUycQBew0x(XtUk))B&f+R4(1Bvd;v)X- z&;RkCJom<>537{TVK*h!dMK=x4#9kqQoB;rs+jbfrMi{fyAJuE{m#Gld*AzE9ghL4 zD?YdXE_v?Ed3@EX z<=cPam;dn6H@^Svf8nwFkA8e}V-ubD1h6%0-MJZfxH*&{bd!K2n8YXqkgnxZ)>x!0 z3OHIU1y3Nojj0SkFaa-y5yEn6a7=t6+n69xC2-b!uQbpJ;?eqF__JhIdMy(j{vN@c z&HR$G6ahAAI+kGaGu;iWGQ3MQk~g^j9W3Hf0bD4#$(+=|_`K!IDciC|8it6AB~Y3m zDA^~;fDcS82q=-lMw}GxEe6R_MKpX3Ni`uU5CjdUZwaLi=4?)1ECQ7d)mon>64GiQ z3u9I#xF0f{+6qL0RcFi}{yoVbWcr0hK1o3t=OYOP21GYDAf>SQ;%#3fLeXqO4S!F7 z#yoswodl(gY!saj5z92`k&HtL3<{sw$XboAg#d9%%NIc4p5UV>&oE;l^PfC-yDwZ1&Nj+_J?%bc<{```qn zE4(Q#wBn_MN(ju6Q;Qsg{5AGY+$S9?WXnryQ#VwP0#PSaq2SL731YD)-U@Bj$Xy*A zlpGF|(G(wIYk9sso;B`STAxPeL3Y@KT+pyZ1`sox5NhJ*-7DWUj!l%DlGMbta0L0z zt(})3K*oIpq`?WjbJkDdJtBzV#a#@1Py3h%NbrY{>?|R{(A|(TAX!IXQkxi3U_EK0 zq1lD#A%Tm;1tQ!}>RYnUgNz*Cqg#tah%=f5-zYf7UI~fFfrUuk9Cj>7V)UrBM9!Me zz{Y~4mZ4Al z{tx}o$C|TAAU3qWLcu93r)j9;ViO!-#fh}L2;kh>v2)3xJSmi%kci~5!=#@mjY?F7 zQK_qjsNRK^HkGB**;-75wnQ>AK$Qvew^%aFsUgmT<_tKZx*pT)YwGj!d!v05x!mnF z+(FPtnihHs%nSsa93Y?!uAijQk!C^1JNpb3DR+jPB?7VWJBtSe_YV?xV1#pF&N=82}Uv? zN+}F+YEoyw$0}G3>w!nt2-&9{ytPfb2s$wa{!ZgJ(di2*ia2W0)-Q+2fFO4mn_SlAFyi-<PtfPS6|ys!iJOX$NA+s-foofR4Gv_YsA= zYt!3{U|!q(2g0E_IJZQcQcc#1K*5+wmI@lMDGcyTgT=2k0`*GAB-x(JM0wJp$Ut1v zJ`>ze83AKnU$Rn9+sQvmt>Ok;WUa1_mb{L|wV*CY|`TEB@BU|HKyuvpRd?IMz09VQ}LXy3Vln>~p?(@s@1cHH-Pb z^%pUE>moM3__{AG-I3YR*rtx|!Rl(2vsX6#=*b;AH6Hmd{OgzT7yil-nLRQ<_rSxx ze)^Vl+ZUjBZejE61q>c~)W^53%KX87*tm27iXMZ9PoTc|IyT?Bis9aUxcd5KT=}gl zm_9u82mbR9IYt|TbJt|$D=)jPjb;4G70m9M!pwW_f!=#JWO)UUf{kaMhtAGGkKc{K zeGkFbmLV4}!4K_)F0Y}#vxM>a3z&JwhvAD0@QwAb`E&D-v#(-28hiKfW1^SNz;y-+ zK|T8hZ0$A%dk$h_EU?veoB4C!ul+NB8XhV?hkWAoLE*tm2H(|7O2@Z=HL zT94u5?}gvKf&R;1@R@hKU2Lq-ZL`4i49d2>)y}<8#uqPPc=Az<*EigT11URqqCfRA zHeY=j>$BT1s?#|5V?XB?{?-2n_x|W_$Uvqb>gZijLYoopy(q*-waTD${ons9A6Xcv zYz&JbhU1IjdU5$#Xjd*t7J)B7I&=N;tQ>go!l3`A(C4eln2 zu1supB%={Khs+rwsP~D#Z*#gN*v7#~WKNj2%$4zY#Gk?nuWRI6?cdWsBLTo5dY}<4 z62=j1}r$e(yCB8kWO&!%I2z;S1CvDG^ zp-i+}AZ1}vo-vk$#i%6ofE+q;z8B8|^Ar)zFa)60ql?>_zX_P1<&1$0OafqxLEj+3 zfM*1NNY@H0tt)biq!R$j0`YtoA_L5?5@+xRNRjY?%%cckWeiPOj-2%tcmarIkf_7= zh&@Yfh1jE7qsSDDRi4Ad3cRu?n8{6cEd(wQ`44~Ad`s-h{MQYlK}xDsQM96c)E0XZ z_!75lJJ>;;^&G2%6)Nj;eZ zTAcUX}`DN8PQQ+U@&4zagXRG z5%^yhyJj^yf4IJ(<`B<3$$umMtt8V*0;_3(B)*xT7lQQ8pCB0&oKqkPx-z2;(jY63 z=}#KY2-@Kqa!8G#Zb^FzFrE2b$~r}X8c2Dx_G!e^L}IV2rMn=A+Pi04Xj8l)?z2kf23CRMkN(>`bai|q|p@5Xrf1qLl zQAz^=@}7wMSK*5QaUIssJ0R3eNY+&v@WA+Jmq<>{YGoEyXiS((hW{)cb_L$UP*Bu? ze$uU?lEVQV)LvlD$n!^R1s+5@wUET^Qm2=z14MxjEu_%6hlPHJWC0K-%R*}#*v*Yr zjo+y=@uS%nuxo4u?Sm(;l;0@(swW%blprHsoW5$D9EHy~Sc97ZBLjcBX7 zG01iSBQCNI9ZJT2?;zl5Eui!8fXJ29A{;SEK#1i;G465G{37t`p;_J9B*^?PCg?R9 zEFc6!dCARV=ytmdl3;l{dNRBvp>#B(mIEG2hH|`I4o9|dwTd^a6{Zs?YKI2|df5&b zOy+zZB?v;JZJEHJZHneWW>gp9O~MGQ1`*UF22A{m@1%w{&E9xum50meCdtew)O^ee zZ%FFIyO>6hD{#~*O%I++y`?NPVQlB3#Jk43sYi8MQUb;dy#(k80I5?Sfo=v8-kfr) zxB^jNz#t3}GWM~y*OhV~30s>xIstm&@R%B4dAwD^c{DB_#TkJ`H-$x|P^?GHzf=OD zJg<}yiu;ij`T+U`WCJ(?bjOzD!WpC~OE_5_bb&cr#WYVAE8LU-X|p|Om<0x?G-gZK z0A&zMFtUsL=K!phDDv=ZNlGvQTh4f#9V0s^q)mjA)}a2<9f6)+z(POacGI7iR0o0hIkvi}(sMuRuB`lObJsoumD6(itXX1`zB_#Vh z{E{>Vc!CF>jB47WNCE^si-&QGQ>g%r{bOMW8e4_0fHddfypkIbwQGp68YvJ^a-=0_ z;V46s6bu+LNaDS>fGffGQE~JNlw>q`6oQI}J3+Q&mvFXV0H;94x~J=^-=E}|;p;z~5gtGnUSjpcX!!ILka`sjP^dvG{a zs`Y*FUp(z`07ntrB8?5&kV+}2EaEsLg)YGzMX-3l8W#G~4T_vo#{Mvmp%BMfE~({nSp zet8xBXzYGNgyP*LRU6`Yd0Ym-wI`~I~Sod$APIS_>Idz?SXsW z=H2`rk*jB6mo7oy`9btw_zZMvfa24@u3adbiqVa8I(p&D7<}LdW#5r^p)TJ5X79o5 zhyEO7+F^rv0p=mTfhw~C82tG^6P?=)pP!fRo(Fw)+YZsgC*VsLp@$yA^atL7GCd8H z4jV7Lis^Sg0++GN``)YFwjHpI73k_R?DQ$%(RV@j9fj%uGjDr8=7tLU;-^tBUO*iT z&~L7zbPhdu7`Sm=^uQrtEK$InpNHMKrnb2TId%d#`H+=c7j(G34w)Nb@R5(8uHV9N zV*}d{ABFfuzxmpmB0v>2adQ<&%sUi_RT-N=Mce?Zv%{{dW2b~5wb5DM4&XmKiZv29 z6=)at_|V>6{)HD#KlWdK^Rr*Ba8XsuL3=I|jan{(zW0hAgKi)j<7I#B$X@;QCx6Q3 zj(^aq-I4y{XR&_kpHtu=w7_QxUL;m$Y`DgNv{?8w; zeGgL=ohs@hh^Q9t&3w?QqLymnCL$^duYJ{5UOW5u&z(L0Kfdo>kNn8nAH4fN_2cTB zn;WP-LLM){CXcx@4gD1XdV*IHHb3%I!gQiA`gbrKV5A50F8pc6a|)P*9y2A;BgbJL zQY9oOh3+t=Nh>7cZH9N6f6utdGZ;$02!c)VwShTECHaB*f-tUv!)ie(1QA=@lU;EW z$(oow5Wz!}USMvVG^mKJw~9G7e_}4bC|} z$#~;=X)-~=;#~DDU5m_Il^~ME88s1tLf)iff;pZMZ{~Z-B11fHW>=n_*Ni#1sYqx; z%wbC41UaLL2{~ExPU)y9YE6m}l+tEyp2P`hct{baGNX9m9m#>nF2X^leZy2@uE7L! z5Xl{7zAesp8zil4$pwY^GpY8Pa6(noEu=o}BL8d*3X%|v@nXt41^5%7asbpCwLr$2 z-r_;t2+Dv7moqav)CWdE=nVB zM(j-m2AkxF6Eq}#DFuasaL9|N5=s|ZF(Aku_jsbN5Lm4?mb(kj@|LcZ8p&RKmvTQl zOH&%3o8VFA`>ozd{KAD;A6hZjXln?aQ~pR&eT(ap#b)q6wImT>7lZ?0zltLyP$mDG z_o@VG(OD!VwxPr%k{kuDZ#**bQp=x>qVZP)=md0K8uZg-iP@2P75k33WOK|eSU7OaL+YWT(Y1)xgZWlj(il_ zHFaWHp|K6e*8C1pXz#Y*Gs<{`HWv|2#u|I#R|tGV`nVrTNns6gJrMrUJvxALFnyM^ z0>9EpoWpY|TolQ7fuguV1=Q9OKu{PEDHqs~1G2;cu@VLrf>L5NoUD+Doa38J6sqyL z(hN_0X2NM%IR)=R%C%@3`>fI@EtCgcB*6czKu7v(r?H^PM7G2rWr1W8)CJ&O19;@4 z$M3`iDJ<uaDDRYb`^K(4c*C*j0|$&SPUc8{PumPz>e;2_n> zni?ze>G&kqgl8b7YSO7>zziBUVFe<7UV&11VAFUS-zzSiijZL~EwJ*`&5;CBC{M-z z&%cW=q^^GZeh~NyLsc|?Jmq)O`h2!j25!gx||z@jmTFMOvIn-LZjJQFAe$l>pJE(n%|eJ}{Cps}_Ho4^DP zOim);L}Pvg2rLkiiKwFgoYqYZ#QU;WrOHpuiA6@i!@q2J=EF-xjvJ zWI;3wF3=Vrga<_=DMqO&Xsm-oaY~Is5Y6TbgR3~pk+`x@nZbrf3#c=AGLOy7L2@oN zI@OSp%xE?qJVOy=gF97WBHgtN@#Ak)KRK90Dzz$&{KpxM5P<|9)= zEbW;z&;qotVdq)zfw+l6!8BZw2;(e!Z!WJ@xASN@!_i%4ABu%Xa)^kyf+#?hB5 zChy{Le&7V&GSP^PF3x7g`|3@bJBo@fRjkaEA-ZmW7tdb(@UMRMr8{rkT>ER`X}UT! zkQj>T>h3O`Ymwq8g>Csd5&DQSfUCH8hoMR!`*wSM{p9aF`O-_HzMmg<9HC5rDe{9@ z=kQJG*?B%4D0RY&=`;%A69W|zQq=)RMJEbTMODY1#km&|_8`j%RfOutQd}T%?$#1E z)qdLOXn?0tcW-vWFhf`?o1VCmYj zTz&Zh-gx$!+`4#GM(b;S?A|>%b7o0C^`%P~ZS+{2FSv4N6Q?g%Id`kz>P^Av3u`Dd zLu}u_h`AkeHotR-<&`yEzp;$BE^J`w@-6IHgv{C+_U@U*)r)KR&0l^QI}hx~cw-60 z*4*nIS^d(}vi8zzxcT};xJ}E{j-BukfSGBy49d2<7HrSHZMO5+ylc0P=YHi6uzB`% zET1~!Ooxe!O0`mFU&!9>~e!*!A2wWw>P18A4Wf%hO3~rF<_nB`WSNL7-m26Ex_(w z@O~5Z`ZbKc{0i{uo2WY$P*;~=qcO0#0lRnxzI+Ql?je^i!QXsA{LFK>`R{)Uo9EAC zc;KWy^GTwBmjKqAaWK}MW>3=3Az$KRGH&+ z!w&m)F5uVx@bmxpCx83XUjbZ13M3}1iFN}QQLP4v0hzU!bl#79|C`_OE&io*&-M$) zA97!M(FWI_vhj0&PsN zvATLuf9!AkMRDt~F&^7Mi**2sxb)+(SGNKwswV30s;VwU#+$v%CqDa?|M;JO@sF=v zxv_Hh_U+p-Gdtyo_)3Jnxggkr2|1R|=~t!UGNH8$(%D!HNV15~Pk8vW2)aoiaHkwZ z1f-7aSVIE@BZiaaKRcbs2PtGS8H9nHFn)|^n?(x7aZq@$>SNSyq+#K!!OzkTk-H|L zgLxkq6RSw;#0*9}CHn{*Bx@r%_YQ$^_+NCUlU5~P)u-baia^Pw1D+r&La7jgK=EIcqondA-*#^1u+g&mbh zUraykN#j6tiFm}CUYUC!bhjnbNfH{=JYpBm$d?3#JQ>{I1SV@>5iXfm8W8N;APiM- zXeUEkLkYkR2msMRnHYk~%&pw4#TuUZoeCwEHJ*SS|2x=q3`9-= zKASmUF>p3sj)|Qh@R^1-M*JVR1BY0HcY~5YwZ0L)X^v9Aa@iNug%1{(lV^jUbJ9SBtrt|@PeYW#lmy3!exACfa>{p;TJ;o$GHw7Xvzq! zutO{cW$XJHY6*K1SBu0@Pk$GmIRUCC`<4bcK22!?*ww=4R_~CqZCNagJUs3{dw?jB zOe_T;`(LPZA8S&Leyd@Blm8Ttd6WqV1a~xkp?U~~#T7TCWLw-JZE=H`1ZbZHZUKuP z;agoKhG{qQZ`j{HK-ebh99Xte{wQOn@Neo-sO=E8uhnvC?>&i$h25Ng<%d2NHl`p3 zO_Eg>4Al5wPeVrVB`>O4$R-3^!W(!B9(EY*iwRt#4KU@Md6zI$B_WlkKXCWUT}+-U(pY z9f4puL*mkA3rUkvfufqViRtcwB5XG!xTVP7Hx>$_B1lXxs!E8K#t4FF$T6v8B8?n@ zn3NdGi;}~GBcPzoX#2-~z5fM2$!R#$Tx;WKBlz^G$8Dyn1Y<)^G z0c?9pL#+V&6?w>`Hl7pKqXN&*N(zA#C|eI*YRJQo<=t3Hbc7HBrdz7U!9Aje8=amd z3l(5BHjJdv;zSjcaRZTN|Eon>?EboB_$d?5{^U1#D>wwQAxqkWEWXB|f$i&HD zVDi@h$^bB3jmHu%PX>q z%FmY?c1ZiyGF~;32{1WOOc-L(nk6tXxD|wS4w`->L!dY>4WJiz(67++7?W_Eks23W zXmoPm&1Akqn*6ZUVQ-_DB-COQM6g~3k??suZ!(Lb@WN+n=ZAWNTpwk!*E*jphLwu2 zEzi>7S_D(b@)h4BnJsi`RQr$nm1jiqd}y;#U|VLcxrmU!l`OaH3WQn&X#-ewx$%i4Et>n47&Eg=CNSM)zU+(i~V*sSisqq$7I&x9ORxD0w;-?01+@s zjbNg7q4OAlgM<&HjX@?r7KP5#rWOeap&(Rncypf&phzlH4KUl`oGrJO)ji|=rIw~L zan7!*2{=!GQ2Q|P2%TbMcT9GA2^`55X%mXmUi1FPJ&5mhK1cXRjpuPkb6m+%;8jo- zGlS7UAYC!pZ$P@z`Seu5#jC4d^VwI<{NmbXy?4-crrK5O$D$&|y;?p6;36XNUuJMu z5jBW)ZbADB#SZ}nD!sXMhQ7L)8FVmRF#6VaKXl)oZPRBq$76V{ao`M%85%`lVM^_B z-o1g&W`dhtHq=zZE*BpXv(xb)&{p0ieG0bAPjJ zf9o~;+OI!@ulvaTe)Hl@*(vK-SnP1;+6`R4x&bd8riZ{_*kRw^Maa~gpE`X@Y&6EP zeI0J!TE&fW}r*Lrp9A*}#u(@eC`tAo@78fwO zwk&1)A~t)$%)#vt6wK_HvXw7B3z=Wgu~ew9LwyRr^?&?n|E+)ZzHaIC4V-@YCJyfu zbf~bYA&$QDAZ}k+#V0;<3m^L0y>Q>Ou@2RyI{efxpS6!XzD?ixjrU-%cLuj#ynst< z#qQZQ)?3ft@T)5(`yV-sT_^Uy=cXaki`YE<8fG3m;WFBk@s;ZsY@b8_@@d$#VEy_X zY+hKxh4bc*eDB>dy1C{TKYv}0e%(P}Ji=h#HgpFMV|?W%d~=L4Ti~~EqkQLgVB=?h z731YiZ2OVF0q<8K^Lx?Xyac^?5&cUqV*KU}Oh0xUKAiUM=y5^q;hSSvH-vOR{qobe z@_R31JO+;Z&Brmmv1wBu_^9Hwr?K{>FZ$rocgyhpce>9{iJy5EYUWagg6RdU{L#m8 z?l;f)@qhju((OOwa`Tq-H#bo3K5VkEpmn$%IDHD;^e_OLnOWe?*D<Z_8f%n*ay7z8c@dQFIQr|Lb>F?{yLmtR^PiB1{>h)XL!^`e%wZ}jF$35jRjiu1qwnrHul^MCe$PBvXW<`8DKIh2&kis*y?}rDv%mLqFP**mu`X;$g?fqMdl3n^ z!^NvW)T)|ngUY}DvG2oQ`=|d4DrV6?_uIbq>T?**59Qi#|95n|hB*Ae$8qtqpZ9L$|n1_-96hBEGZjQf#vQt;5pyZ_zSz2p9WTn1PfjcWih0`xFwPrGU!oto(~ zG^JfLDP_FJ2n3jr`y*x$}ey4q`wM6NE9=|cWFMd zWC0uP149BRp2avL0huo+Sp{eyX2!~m*A(dx8J%=c$QV9|D_JzxVlc)onK!ybr?F>y zYKN;=MZhoCq*Ggl$TbR}Ibyu* z{BUEs!#pVfu$ZajMWB>SFpYf4GHz<161C}zL;5ThO!hAoEM0rVkVX=aB(#+zwQRFZ z-kI6AE)1WA{&s$ zo0vt*6$o!fBHs89FlV=DN?pV{8DgdrR6|ynv8gwk6n!);zGO}pzy&ZFCSBl0;gk|x zx^BseHHdUDtF#|Zb}+k#C@~XVz8yp>ajO6#O#w-PaA@2QIJ5@K%eWU|&N6=mpVctw zsz584w7G<8kfQKDyV~m(+&DYDnWQ@ioP+fTY3JA3(U1~CS(s|~!;A#Cj^`Q7=S#!O zqO(O>zLd%Z-rA%Mf)3C&x-?c-;=TsU&Eefdz9(jyI8y4Ay8&sqA4r^;oVQjt;lE@d zD%MAU&LF)3I+-zoUMauI6O-?fSYS$~v^+cVFKb#ig=p%Q+%_ZpH2lJ%mIyJO$@x@O zSZ_!@de^)cXnx7eNN%!_$fBKg#GHeieGvAdghgieiSXV@3BBNIia{a1qk!}Yy5-r6 z?>1CuDJ^$t>uB_)Zc)7OkWlZOm@F+r6noIfrcQs2N~tUmUxa3@rx6Gfzl^%Q#B2cJ z)%Cc4Nr^M0#F|j;Low0s3V+n@KRYuDoLCw{?WB+5Inq`+F)WehPXi}P8C(I(Af2*+ zPJ*t`4l}>a&Wo+sqC&!ynL~@CddxObCDa0Gdsj66K8GQI6we z2(Bv`3*Ihi>W~vh1H2F50|6!_J5;vZcqiZ!wR}2UI6-X&b*?dRkXACKg5si9cz$0Pt{93L;^xSTq4Sm6wpgt~yc&yAx;dByaNJcC#XuPkVL%z+ zRFRZ*iSyQS6#}MtFal(Y=M3qsXvt08Pjv>ky}$}@TP)qA$k22<6isWDwjyjS?SMt# zUa~O703>XnvjvsOn@dYpk&dGivcF@Gj59r=$~s9xi1s&!6diXdqr~TTX~h$Deui?= zI~<(^6G2?jw;|o>+>N$^8nY1A&02)Q_XmIiDV62xNw6(097Yu9FXuPppr{1Xg?GPA zhEv`Gk2wT|Err(Zlpq*TM){a5bkX@Yrj4ySSbtM8KJU`0!G4xOi5J_1@GZ?fop~56!%$zgp zJ!|=I~N57!-HM>?gi* z?mwTuaq}-Z3I=!zx6Mxb%Ej|C>^87{VH)cz z)w@o`#$&9mj&XZw152Z^Jom<`KYrIh%m?Vp93FX~vm&OipSp_v>TNlHz52q`0H1ws z4exw-7WW+4<{PVwt&s`70leT$LCI-K)rcgUj3Qh@wvH9_n+90Ti33m zzp;cfPoKw~_1e$v9G1;~SpOeCezm;+!3F%#uHM(zdhxXlfAfj6*mHCN_a7bNh39Wd zzrL<7Tyy)L@3~tZePCW+dUMH+>^ZNyk1qPa*5$+z(N})^D)v3PUykkF4wNaZuWn*y z?>-EU9E6lH$ng`{e$Pc<_X2!<6H8w?uiFlsLigZf znBB8q1XJj5UKPE$26WRHJ@>2(9(n+>?*QgM@IIWF8_U`seFD?(e3v+S*z7jl~XX8$Kav+V8eMW zYL5ANfvNfVQ`(<;3f+lEU{|l>+E4u|cKw~dj+t9mF{qo4Bln2jcnib9G{)C&%F;8> zVdsZ-VX!y@3}+wQhxN`{L*tbmp2}SC{(;wlcGMza9H4O>Mq)KHtI(ZGk@~e{uLhh z?!V?Ezk+h=_eEa#Lm9nw&BjyPyxYA^rxyl>Iq1yMdoVYDwx0a+?=G{lVQ2osPwMpS z&!c(Y9XcVy#Nd5|W5LMKyeaBW5fZB>=QSy)^P!vUibbPDy6q z1V3X0)aDQ*OE7(EvYL~`rUVPb^KCUu^O?aY{_Gs@9&g+A#o!J9RxGD!%4o0 z89NbIX%(VK9LCJ|HxbTg5O@(dXL&^t9+UH0OA9_dh4CGs6YhQdPGB?0VVRlVN6e%V zA0(lH5m2~qmZT`_pp1Q$+z7Wmy8Bo#GD?25LoJMXvE?{s4#(~cGv&EpOlt;6Wl_T? zU@~Lo?0zXFI#P3HLdI3rBS20Q4&nsk;w=Od(KttWD`^sh&zXhO#3bSh6F63j+^@e9y#^?dXC!52L84bB@cUKLDSQ_39OcR9wg}SmPB^S-uBY&)TZME1 zCP?Nuk?bSMn9h3?X{9#uYVubMf&t&%a;178<#8iNi6tURgp_k}iyT@20SEw|d^YJe!tmNaoKDftN@C(>y91rizk8B0um95F66T6t}QSyQ$Ut&p1d#D{3^I{>{1;FXKdy^8wE@S4o~a0^5#^U^vXoRJ!1cUXKz1FJY8V1G~}^>mS9{D7r`uki)aCMu5gxl~1|jkc=Td%+BV> zkG0_=224h_*3!t#jd;u_LTy<(CW<5}i3)bmOG61#qA#Bf#Ft9(m_6yCx{^6-7M3!H z1~D90Kq~zKVTn>{9*eiGBRI_+Sfq7&Wd+3hIQ!h^z>&hDwOK{Pje@ut$*M@b4H-%LOUn)bE@smxP&}1 z2Md9$wE*K(6(}@9_SFC@48dR}KojjZGMLUKmAVQN*ASBcQ;lX$E%D zZ_~abgRcZga?oNL3{T(^$tDS~F)wanZvY3z@~R~`oYlV|jFZ>kO-h>=B%E%gArlrc zB528?fW@Gzm<-|#+-SOu$~g`Un%lc5lEj-5Iq_bs!a>l1QYTJhOb{np6hosQmDit} z)+TkcsuaM~ghd<0k?79Iqm+)LfCU3stL>9n?FrdmysnP<`h7$2&bV3I~ zrb004Cm^SLdyqKv%3qdj^+W@wMcA-JcDRv^oWrsr&MmOM2IJBZ3|azP;toy6pVed@ zm=>3@`Yg%hNR!6uNr0!du|U!gI)p6Sf`DwDF4E}{d5`EUg3XL()U1TFbq@gA5sZ_f zib587XsJ&eLWQAdff=IxDqC>5Z_a?e7|p0B6DXux!f_L{(g1L!6qwZ}UFQI@ASTcV z6w)lyo~St4V~Dd+CWfsDT1y;~`9k9yvshS-=a~uyxHV^#C5=|3EbNAm2!On>2*7`j zBNY1`l~VxKV5K1DK~PW89aY$3>)twtKo&~sW%d#pjh+sZl0><0fKa}M=Y!@c3cFD_ zL$)9H0_%c-p#=67DSyKRFYk~|?zgzWJA~2T8DZfa&HXaTNcNX#tfO^dKTLvkmCg{3 z#$s2M0MQFmP6tz$2}%F~002ouK~%yja8Pj=uP8{c)v$;+=_6EuOBWz@23+l#QmSo> zfkj1;f?5HUNMypEFark%cq2+H#cODSdYnP3rCgYsiwE)mcIGkj)h5ZUUR_OOa zB8L)i5`B0fg+TVc)CdGK%JCfdG)Z`RadZF^u~@4Nc%p#F08=N4R{%o{Xv}%9JdG=~ z(7&k%^H41S0uELZD-f;p=@a`J$pwK5CY))>R9VbK0OIMtDg>n~Se%{4xy#G%d-9dj zzq7hw+f)W)6&Djxujov@7KjyhwFp??ox@FH+()(QYT`8@6E&1b%nf~Y4z({X9jq8s zq(IcwAe(0W)E__n@)HYF)6f6F2OoWWfI1pkGDd0EnXp8cUkm^)0`%r648|b@d#LYP z8gn!J#Mmmf&(B;|M>TKhMum&Ix|)fXqHycwsWVsn+urq{?4K!KuHW`;cWtY`^V?5% zzPyh6b_<5HK+z#q*Q@JHCnoA|+^9HrYm7(tJLYE=?b`KKU0K?Mu59}4>zgP#C2w9^ zmHYM$aD5H9vQ+WjcOR1Tubs!!FWiQ0-o(QvXVEP#U~C0@4)20Yb#-=5<&z)3fVZ98 zVZ&-=_3E=WmyVVdwiEJ|y$U_Mq&T#m1dApE`6v zx}%3|bF?b5Fym!>Tc=O##EE~n55xP8xZJ!X^}=;ud-f9f=JW+!SHVAzcyI`-*D4$9!6 zMx7}r@A-hupL;_wGeVu+kCk8eJ<((PW!p!-$$fqScHesi zZ@uKYe#^DEj@Q=F-Fp&camMAoN5yyU?MF}iQ8&IZ#@x5Q2X_7qNPiL7zr%c>#pf0j zb=~daRl)X)z{N{geDof4@A;_9-N!^$-je=>&jP1k#^y$W?m38UU-KxsX*29tRA>im zt~o|yv0i~AcVYIx5sc5DlFgs|r#SnwpR*|y8Hqzr9`$=aN=O2Cyn^!N%_WR#q>(4!{=YQdoc;l?g*FL^m`&+lLGTf%S9=Q+w zsM^|VugKMN{~LC_|3ltA@+~^p{Z5SQ9{<31|24UBRq6 zB^v%nFu}yPn!pOes;Uy5$n6e~x5$thxG)LEDG6f}h5Rns1^gvrakt|`c(&95u zj1ChQXInuH2$OhepOKxi$)*$-jJbG$qHd9lj4Uo#p6nIIR-O3B@iM<==Y!>+D*;tx zH2^@au@EfqkgjDh0*&JA-r|rh^Hab|iO^r-`70UBk};_l{UMc0H8L&v|lEhdJWDSpWPZH;Y(4QXlHIGbYN; zQO2%?p9jk41gkoTD=zHb@Q{7z;jLQ*>?{FDa$*kDaz4c8WG8y&Et9+(#80BTSIl8j zxL%CS@+>>g0~uA7@p^)Fsl^oxSBse6Q_9I3K!yYXNx+CXYnAy}#Kw6yj6WA7P~tpM zb%1mRs~q;}lRa&5C`lpW$XZKa3naM+BERVP0`WM4oH-)QSDi$xm_HJLRkfl z7i_Va^fns#N4EucQp9Y;BNT-m8#6Qhcp zHRp0BhUOr^s*(AG-~?^8QH8?1&D3#;|1BwbY+-j26Hy+AP>ua2I;Sh8z3?y__-Gjs^DJw=>BWMZ|4RZjZBPw>DhLFxd^UHU z4qqf3i=fr41Gv%_1qEmmtkTf5BOjN>rYKN3h&H5OczT>*F4*{Eap@8yNX@+fmBYA; z$At~V6v4&l&I>nYMJ+l?-F zFAs|~TWp3?7EIgoFyKcrstR)cMqt}%R|sB*dEY?>L z3<)K8+6u~UC>kJfYR-o~Y6zeRs|3*{GD&KxIa_PdoUt1NXMzF(N*YPTKslr)3NI1x zu(3UCsU~$sntcp^Ps>q~piKiJZ z5iq8Fk!aYI%CoBKD2B!)F*?oc?iFO>7fGY#HO_T`qeBdQg)qV3J!u7xmUIKI#u~A= z#C+2IHv#9H_8GsYil7)QTKc6W&r0Tl0Pq_3oTQ1c3zox|@^|QY;y@tuH_;?`BFXV) z4{{BVL4~l!T|EslVpw-1QQm=!jQIQP=xIs5D8y=ep4_7-L?}9?WE#*C^+8uKoSG_M zICb$~ym0pF->c@PT0*hNr7NgCv>S^VdiMh7^oHn<7k9Vb;3B2CiHTHoN9keCJkb>c zu?iV$a3+d+n7RnMy5V5hkFA!a&GCId_lc+9{MZK{IW|2ku$!9RSaR)GwrR!s;njG9QZM$|3_3+Br1}A24X=x+}Z?9rz#_hS+S9Eb^ z=rTVoyLL|5BgbcS`|K13x5pTbdfd5r9cSO#!1J%IVdp~EA6Thn>FPC^tA>8xv|Yco zSq|)-w+A2Dt-IfL4|W_}v}b?$DZPGm8Nk=Ym5iqc2MT_6<@FOn7MY#Zk}1y z?X%l3Se%0_%wloxPO-5#>aq^1p&z-_%{wj!4$E-QcC3B!Y3XmSqi(E8cV$VY?wQAU zY0YN_4)lVl<9lQ{-Mj3Vm+8yv?jw`BeBE{XcG0`{V@d^f<$7o?FU(=>l^Ym7G=sVC z{h;H{s?@qE!-tQ+XB=hcUd;XQx5BTl!tSg9Gt;OyZ(?x#C@`(!*DeD)c47MX9vu6g zF=YE5tp3E$$=qW{ydFI+IP;op-nxwGZM)qU=S6D;Zr_CLIpY1^lRCU_3FD9d63Tt| zV8{Rbw_TQ(MUI}t_=(>KbSScYyKFx76>L2J9A+1`+wk4*QD2-F`|_87YuCDZZ3)wR z_F{bMMaaf7q*L@yoh^e0j|01Rqd#*&x`*!vdWGC|0<$0ZHsIQ8BCD5C*VkY#JOiH^ zK4)t`{`eQ>ff99Gm?E>0u>YV;^rdi zR-B!>V(77}%=XW}{L|g`!zXog?PVXF|72ah@RpP#hh?~D7kuTCZQDEF+4e=;zOjNk zH&-#+6+HUwZx_FL4!2*wh@B6e#Ny#SI(O#)PW}E<{?_Y%tjE7~9XmcSWxDG@)S`m< zJ@&=tJ|VyOFaM4H@IU#t*xVdjK`$buibxmW#c<$#t+h~yucDNJ_U#i+N2rI!e$)@(2Yb zSLlx${38VAJwae4OFr?oh~<@ePm}YL%z>nJJUY|3Ec6?ls}|x)UXb&A+WIr5cS-g+ zNR&%I!ESwF4A*2YCE};D#pjc}VSIi7Ee6ZdmXJZme?x+9v9%F<24T&aAA6)#m17o# zd4^2#yot0UxHrj?&3K(_=IrDoifuyBwaGh5i&q5MJ)c{^SW*(8rm8_QD9Z$2a8N!n zYU-&x6MmZ@yJvjK_${R_z}z-u3XK5dB*#ic#9)FZd(_Yd%z>mRo3QakI3K9(Qv#r9 zn2B;7W5PMwUkcOJ0>Fz#OlDEYtF|RSB(bx#t}D;K#$607P@{-fL1ob(AE{z8=v3k! zN#5mr7I2>p5hD_x>1zCYY_AZg53-LD+(QM5lBm^m#o}{CYP=74hcJoLlY;D9y3EZ3 zoJ8i&h&+-RN5Uis)doj0Y!g#yJYyBORpt(Xco+f1C?qI9i-Z}8_cK!nLUKb$(Bdtp z+CskGme`ksTTcmV+D3Oo_q8MP=0ZsliDFlf2f@NkVhV9*dY~zC2ojG1ppO4SFUE$gD&ODN-%_Lue|3T@0;Xf9#k+2YTn8UV8N zmiCXibdY|%5s9LO4pQK6DT9$*RVLOode8ma-|Pqd}|1wGF|ST^+l#FfvS`MMQAYZe#1<))@2 zmC@#Vc4e>_?!@{aAwQJ9KD>CWi4h2i&MjWP#BwBA<$+tp76?x|SmfvH5_d_T8g5+y z^e`=uo;I8I(s?M%CjKLf!g>Fr(~G1|#5$s3Y+ym1X9=8tLo#Ym?t?V$FsK&{I*IO> zf*7vM&b)Lv(MdlcAUM~i4S*-6r7V;u*3gDJPe9sci=v<&-GzD2qRUUBK+zBZXVJ?i zIX%e;Nc`Rd@5{nPknU+8d)f%zw=P;42s$Bwem zrZprJgfbZEyM#tqqk1N06DBY#p_+C!sL9^I-z~i|LOO`C((PG1$sQU|uaIoiQ0=zn zBqCr5XQL&8=ZV%6nGh_fs7R~so1k4`MA#q4EMq3N8W?rQ0{r94*Kj^yyPc#V)(9w@ zaRGJ=Vwq}BtTYXY_Zf%xn=)`%> zLYhYSJF!_|>5LIXp7$Kcm92LGL0o`cBoRO+FlTTSSJbVu3(|OUXs99InU08OHS0r0 zDIz66ogiYHYmk9`x@@+gCNN)(46CsCOeO@`zLj$}Ky9{cSp^GYv0rQ#YmAo&IE-xa zaNcz3;!w7yW>vNs{A7UVotRXk+8US}R9OjEc0qyTagwpYcK2$mZWro0BG-q(9coylc9_X!4&Sn#i~-Aci{zxEtxhHq5z1g#xw8G11s3;7+9DP{Ju%(Snna5oBlnbY_gy# zs%w+7GDHw6obi+ENrwe$Q6UGM_ZHm>uEBg6b^|PLjQ9QS7oPvZ(ptT%DEfi8o4JUp zig@qd^>7f+kW#>G{CavJF z68q;B5Vqq)rMyBgz}{{1pFewJ>ARyutT1RH>Mt4 zKvxEszg=bN;;PxDWt~~t#L}e|86KI1X_4DE#yE^#d~pG?e=Y{h?%Dy|wI5hpLU(3} z@fTn4GHv4KsAtZ5ckf+N&t8ESbz4~z-?76>1;#gSNjba^dhap#8)wn48+5OtJA4mz zzVFYYKKm71`Dee3smD%YaOfENC|oPI5h9G58oqG zkDf&T`f1cl!0_Y|lx+*Jg$0bBI|IA%71)NNzjOyv?|vJ~(T9L*=U_GhOmXLDehsrn z_h9O8|1YrL{VDXH_&ph)zJT%i$Y&pa2gHHy-H$-;eVdP;d;*Z64h|nhKQ>Gq+a|M* z&tm@l_oI9CeWjxe=Aj55rOQ+8Hj(#0wAb9XQJ_OS#y#9wzRN1&uwmtsc=uW)7%6QYNuazJ8fB$2A z&tLzm{;_ZSLH+H|JtGyBq{j*y51>Vgx}iF%hS+Rp#d{fa{ivG!;itaz@4ochn?LeB zAARrJXQzhC-uDEr3`X)x1I#?)uG;K>CbSb0Q;WSNe1{{X3Ct-e3MCoDn=e-&hUiLC zV;CP&cQ%r3Z9b>5(1r151X+xig?UGYw~C?_j;XG(>o!oJePd{cbG6Y(Q?`NXCsJ} zYh^qD>MaT7XUYTwWpSfPLlS@qtRP}=VGP=ktgj+AqQ!$9K%x%w2?ETT=PyY)m~`E^ zTWEJ1J0rzggN9dY^)2K1i=5Wjnaii~n41`TLa>PdWwL<#8jSJmj`!-YPS9C^R_;j# zo#YFVAJ8foyBv!|?oF13MDi8DwNC6tt;QjpV0=#!Ujk}QE{wC-M&e^?u7~V{w24nf zwvv;X%c)&Wox(`|(#+N3vDnc8BsT``ttjZ~P@Aj?+}ZhVEY1mYHvcLRSw&G1^1L0A zSQELP*Am@Qh;vkel^F51lBC6AXvB=MpTe^xh-ZkdqF4`PyiL&8_~#-q&j4B}=5Mr)EJ0E5$QAJ{5oc*SW zUAP6lKx`zK>G5n)f25Q$e>P{w#M9(GmFB;i>7m`LJSEXn#Ex)Hd%_&8lpw&7tl5Ah z57h$>0}7l9LEMb(bQW8>IBO)QLI6X|m`f})^0P@^D?HEeC}c%`!)LI-2waV4G;)h5 zF56f6=qS7eaZB>|Q!<9he#1`$>@Z4S#WUaeWX2})osly2VH=S}Gy>A}iQ#7|`P?2- z#h_esk?0x#vDbDONz~)IF2QMDb`6Y=!QcHod~Q z*#t}&xMX{gJEB^eMwTF#NQ8r_SDZL;9Qu|%vzkaS$HG|%EQTiJ%NNQE5-Fk!?*=2mdHl@b(d|DbYyIgQ$k~@37!FqOKLdMxF%yFP@Jd^dNPaYP_o(&#sU^# zsFd0&y1|^EfFt4x>72S+&I+)#HLGcW4Aih95DVeK<~fzgKPN~nZL)kGP#Q8NVBvkt zJkYoT>2Skfg+r27AqTRV6~ZAan1H>FL6c|HqmTj`UlSS$f{0mILTZtM>|OT=vKqUA zuavhg(HF*Ut>d$S{b6`BdQ5;n?jhU$7&wThxVP|gd%!xNi|@@~0xeY4X2h#Ut0L_o zq_C=P4s>8bl$Cxopgmia6NHQEcG`yoUPJe7k{t0|C5perktdKYxvm7&gN&0CD<%%r zJ?wxC1XjJREhPvcWS;~A{ZaO-i$+l@s>6U;*d-0LuDLR`WDN0+ zCeuYS6{B9F1e4%v$eYrhR2K{cVF%QpeE!t(jnjixER|#exTWPrN@wvR$M?G+ zSb3%WPW))BL7bOZm$aAKY?w4Amn(t+#{!8UikVrEi>qku-xZ2H;35(5rpHW1UKCQ| zd7W$rVE`VWzPCUMVEedkNfeL|8vapgPgW9j`Koj8Szt`&oEyLZFdcc?p}g+kesYL4 z0Ilq@5XQx35QzznS|f<8077HJTL2Gt>0BM1z}!VueQGcTC~)=0%Kk6Cdf`jAHbw{H zr8^mPVqQ&q7kA0(KD@YUmFh#Uj?#%(Oaid@2JAg_pM2NjNAQ3A&)@5d#}2wo7lqEk zbPs;`yZ^TT^dEl80aGpNfJ*Tkq%5rcc;tIU+Q05k+s*Y&6C7+e_c^n_qt8w;bXfii<#dcgz$;@9rZv zh?~6iOMl&GZ=IG`UcQ0{zvdo)`je+*`OXFo9NvRJd-6@(yuE@GN4KM!9pasDJA}pU z1FUR1Mwo)%x`BRm*>5kq+&;#3i_O4wrb8HVrOBFx+PoBh)!&5kLWE-A;`l^4!_uc1b_?M4$-PllXtz!70_hEV#xb#b(_KmZ5aO9tUuXM}HxcIwIWAo0c&+OkWPyf+* zpFO?<4?eIUZ+`KTEeuo_w-+z-o!q!G#@+|_W5?SLyU#45Zfr=mxC>`~{J&%4_Sn{j zRqsAFh4q;o_`>I|V$lnRW5e6tzYS%_Eau*QKXlLC=#Jmz_0~1N@=tyWt5?UmvfN{O zN5So@756?gg@vy@gzngJ`0XW(Upt4XL%SeHk3#P{1dP^E#j*A~pMhMtgTc-rR?n^C z)-$VExLYuLd$N=I>m^@bULRjvN3kUqu}& z#K-WJbsOA!ua4h1gYo~LtN#wLEIrD@;iu|7_ukHVx+kZd&AYQXO1lcHgd##B2$0Ai zlEHv6V1hBWu}Q`l>>tq>FhW8g$r8$8SK6G@%&-djhS64VBp$>UsM+W%iSw z;pMMP;lykPH8XB|^A3#s`j6@P|M?HpdhTTm-**VTS6qQ&Y&Y7+pF%OX9T@4+JULA- z{MrN9|KYm}+-Ejc4?|R_UMJ)dHKVj$x zKcE}WK2IP9PmCa+Ifb5k?-NX)WbGaTuDK1lSpcm?@X89fZxGVx2A2)2pMDiRx88~M znMDj=_OEh_nCd+}jOKvL4Bv4BHqV_$>L1Wl zDAD{BsH2npH{ygRkDV|AB9L-OX=pqup$+w~-n(G}{?O#zjO0ELk2PoT~U)tAc*SHWmlP zTriUhuw@KD-J(JVR-8l<;AlwkXeHUBUvPlm($A2ou{bGv zzGy&0e7bDPk8R9*M^|<_9fik9g6C%bUchuZfb$c~&f8k1d#^1CJ2% zvZ@?PBOY|nb_;PPlf?ls_s2RbgSe&ELF&{+rs(>!n9}~$lBA087rC^@>yDc`cosmf z6J1;d0NNq{d6=^0`Rp^fOjQSMW_3MsBVvTSZSbMlixeR-LNHXxAy0ocaphEt!?RG; zfgZ#^@wl42@IVz%B-QydjKSW6sS_`;7l$0@v=HCBh%G;K*+-YZh-JkVAQ~RSB@MvS z;!kmKm8T7ITtGQAuinnste;}%Y)Q&>z|6$8DvAyo|T%R?^N zN_O}~+!jfOkh8z5u97G+*>aU?l3Q6iR#26ECZqW07Sc#aOqG;z^0ErB?D#)@9@O%86i+|AU=& zCgxY7l9t^2mwr`J)s1AI7lq=G>Lx$`;+QH0R^_(Vx;q3EKzc=*i$qCHX2)?hC4n%b z=7m8&nVuti{s^~!QH*o!Q^|{9%AWt(J+RIdd$#DuHsUCm46S&PH2^aMs?eDUXIDOZ zL5Cb?0deP^gii1`NC5TD zobW*8>m=1WsTbYtnL_x;RdhI}OL`HWE0=(PbP!7)1YodzE2Yk!e&|ErZJJ%d(saWD z1PJaLbQ~C(Ayanf)ENokEZuQMh1tK4CSzhycl-snXkyx+maX4V_jDssQx}EGlg1HOLCK3V*~`iBDx0&7?bAKv z(txG5R=WM1#URf}MA+BU!T3tQFjyDfy%AeXm#gA6+6VL+8Xj|RZ>7O{xB)~ zKveq<8?qzSDN+YyNdYeGjK>j)<}mTV$+XnfF?(a8zztbEBXJInhA|T~_`zX~fpD-A ztv(12ySD;)MO3R+P5(aim1f=2?urV;Ru6uJ0V@4$a5$|nR{s2*;~zPc?UO$v``Rdb zq9|}<7*|i+aa)C$h^oqTbkjte6=1-A#WD)p;}*S2D+pU!4&%MUImfznf<*B(kMHom zu$LqFLfTFzkPWh}OnCNC9NrzEes02nbP|Io$dq1Wps3dRNj3XndgKvQ`3@T(52@so zLVpy}N%AbAWhmN}7ArjH0|Ho%)82mtch>is0VPjg@wiSzPb*vLZkfaXV|MelMam&a@vnGLz2Uc|edHG)Q)99pIKK zf+14mtnN51kqG8PHK#)3;iE8WOd?R69eV@vOe0624Rz@QYln50YK5gOa}nV7Dr*#D zftaBIh*3^81ga9CZ2(2(*vl+t_ZXHaRA&ty!ZO5? z6mhVD7$Jv-|39Xr`5tlGVD=-Cq9nFi4Q_KOq|o4cvRQ0oM`bhsLLzXcqE-mk3Y1Ny zXHQ=IuO}|f|Ey>(psZ}jN|DuUFF=YyRkKA;3e|#zAwS5))yMJ9AOAhHsnj|p0#PnAabgf$zAHa~Qf-lV&)o}kT=P#@?= zBdJ_`^hF-KdJon&6g=3Eu7PfBoV$RrU3DzHbO|~zpd;7sA*$8z@<*RW&%qt&sV6jt zcVOFhyeH57uis7eCDr+6n|Qs61NU8lblDi%7Z$Ph)OoBvb4mtYzncc`y^ZpPIcRR8 zaoe?c{QLhJAALIOd*9NBTW;Nk&DA!Yed!|l2kSa|-5B)_cOiH8W22QZc>8ORr>8LY znXhW!;R7`D`RCAk*$}?=U=z!8ZGF#A-AaR3>_UC_I8^JvU>|g89<(?Oba$gX@&c%* zPo-?r^0Sk8=Kr3<;TsYre&Q}jD?w(KQ4IG&R#&0D{b-&$4;t@7_gmhlt*0NS^?&>- zhQ9Moo`ma3* z+So*~V=uJ12}+DSxI^nVzR9fB7SSO{eR2(iLdI)JOr$+LC5z%nr*E9 z(?4Njauy@^y+(_}R}-Cn6;y-DN|SKY8f<2P;oJiS~<6VB3%VvaXE0 zQ7_+iJ5> z_$dD#FD4Kf=p6BVH9(V`UP6qmKpi6fb+AKd3mX>XOyN%a97G{|PS3zCSU|9z38;!0 zD%pq$-chI^Cto=oLnCA*B+Ays3?o@2;)*?}07F2$zaVEpa^**vf=%uKUq$X9h#E^) zs1pZQ#1TX{qsI!+4mq#_s$$CtF|?IDKV}MYjRB&TkD;1RXJHSahfNv^ftYXhgt+6LNDaS}0Moh3WpHa_Ifx_akbnK6v9q(*a+e2bSbmdy-Df!y^ z+z0<3$JwlK6RHSbh7&jmusR8y&V|m}+gUcym#VzUj;5b4f&AfCH&cAwJgtO z&pjd!L4ccnw!mEF+YUtnB_PSq8?37&`+YK!sPDOdcL3d};xF!CE3lZoERESL2`|g##@ToGJr^ z0*9z;o>PUCTcIq}HMHu2GP~#4g#_8E0wWOHsw~iw&@mrm_)uxcgXI^r1$62ZyDBaB zj4H<vLa228k5@qTSE0UaV%UEnykni-8Vrn4>X7@bU==L-f_p0#QN7MW zCXSzF8>kBci@$;rO1JW{5D+(>YR2B$$9!e{WhIXdqa{wIKf)tDIJqCUVf6ymg8cq^@fp4pPjCaq^*z z3b2^tR%eNupssgqE{3$waG;9xf!r+Ne_^z-Q@J3>bk`OJI?A7BG6=Yv~aA@_J zu6flx_TnFa=w1-DLS>5NH`bB}g5=JYD?1tU z7woBwVV2kvLNdQX%GLVOmVj0~@V1u1PNA6rFlXPxY%P&W-twD3k}Aem)mG{rE8aQm zU=&t^cz^&rD#l@~H9K=9KnjHxV%<})gcSlXTWcw4R0PypPW_`QX#-CXvVr%k7Q8bh zzy1o4$sk1$+fJ)J7jvgj8m;lkw}fE4*oe4?=PSEapLyFYkv*#CY``i;RUp#hU=HG}Y z6OtriWy-|PeH0>_it~^DFZttt|88_GUcmIRqu5wn z#hvec6G{jb?KSS!d7XLU8+gkH-k{HY{`a&f8fZyY(VUVUa$zzt#G7|#Sh+io}5?vvg0!fmJBz#0*lA&@c&3F?jdd9tF1DspBU z1Ps8(ax+6g^8da*jlSJuxt+<6UKa+X%4HP(=gnhaQAH^%U9t`WmpBbMyQ>F);=%+lDJ|?Z(C98S77+ z(apz?VD;Pr^3pmMAA3bFe*7`u(jw%UGg$ghe+Yf$Bzg|-x1uCkI{2NhL)UFrX+Ad# zEmuKfV_J-kpnlga=>ER%MD5zkvH7`=qH)z#82-1vsK(R6-ymFe*T9Be|5Y#)Uv~&@Jum29zMke&k|N2AJ%2_?XbXH$^;a~V|_uNK} zlvT9UoLjk7wg|aYk6oCUP|5}w0PWUZjcx$e&=)kjt^flCsVYR!-RNfJ0`2yi_Mp%c zpZoXpreFGT<@PD)v9HkPKmIW-TwIaC?V~h)csq7nF^c8s6?Bgky7BC*Xs@qp|Gp8t z@=BY>w$-rb+A%c7`{csckI^qHJjF zyQqTO!)(EQRWJxfxUzcuW52Hs&cJPE%$*7{R#1Ax3)k?}jIhO5gDY@IoqZ`pphRG> z#j@NX9(XwGc_1pF4(h(#e}LKY49bj<4NxMNROQOQR@%Qoup!Gph{$4m3JF+?CkhTG ztw-^!K3r2>w%A$nkykpSGDuUAS49W7vD*V=viFZz$-Xmyaqkj!VnE1Cn#3zPSmV++ zP$bbR?h5cWFqQazRroMbUo%w)CCGD-K=}-NFu6bvAE}dhMmDVeycM7ZXWTlAS)4S2 z04;s(1 z#Tcr46Z1KOyce<-c6@Th&IOs|NX&Wz0XE0a2r#U1cDy@P6-3!$&IL)*S{XkExyQ z6iK!?-UnNU$e%+VjQlxGf=;cALOQnId`uwthIUg7U-kQ7MF#b5qQE=s01*H!oU{bH zC&u$}90=sHN$T>(Q7s>AAzHI*g=a2aL1{$3cBSZjicse?kF(li$&Jf3`jJummC3 z!k(X+0)iqs9f%kuDUxu79gwE#`$N)}{f-g&2o$$NRR_E8EflC`*rf14>Sr1*UmXni zD7Gp>4MqK(Lp~|y?Gd=@P>J(NBtCT5?3^``Skf(|K=R_IGFX!hZie|r^S@qB4>ut0 ze+c${Y{jcGG=a23jAb&Gy-7P|!;`$jDL#(aI=-5T(sKoq{?J_R}5a&{7z=Bng3;_}&-tFU*NC9toF5>SJmXH}Gx>^_iG_tw5k zP{eSMsyc#bJ9N_*QXIjs$Z(c~MT1PnPY)+zh+Bf%gh;O#xs!GFEV3XM=J}FuI3ZZ9 z8KMcC%y`BSk_h}5jHC=M4 zmy#3t^m48A0JVxt#DOGtDqi>q7QBIR;sYcV#0ipJ%Eqb|rkns{ERdC4v9(fJ4eMc4 z1qlN)y)p|62AR|Y7!S_W0s_N;yv0d;Sg%^kXs{EhVn{giIun9cs+H6Ah|H!)xWi^p zatBAK*aG3K)tS7}11B2Q`wAth3~&|5P=-oTU25;TzL&s?^e^CnK-hGs^Q5`diD zLAy~-Hvb_cd8#%rixev70R^&GFCoc-Dyu>GdPT@@Adr2&pJO*L2H2?w4XE}DF+^7Y zN!c{M$%8Xk;9y&=)jFG`PJ&RjrleqfIC9uYC>*p_8@wzYppt`*LSZD$C}wYsiej!? zPWwzISVJWF`LI7v!A52uD(p$AO7d1MuabI8CE}j>XPREC1x8lQParO#VhnBD!cKC- ze(%)-b|`F`J=^CCS#YfmWV1UAOC~%BcJ_)53L;}NvDuJH4yf{GZf6jMBX3<~wtJcA7uI)YU~?Q26|K+K7kq$t!nGT4JMCRFWm#tb0X zd``EKfHpu=A@_c^o_EYWK~KzZZEz5-@2e=@+qhz}cbJsiYm>Mg(vIvq`2kiUOCG zHx531eDYIsE1TCjk4V)}4+5*ICbpqTNlArV&k01tBqaopte`p=-*U&z_}$2HUXh^5dOw#<~Dn|G0#aI94Rl502_vERE{)pcC zz5j`ye)Wt6r~*!<87Y?JK)#>=h>E&wN|v_d;g3J?{PB0+b=}^bL){n4R_TdmWwh;_ z34sz@PFYV)nH-9-7fzk#V2PoQU5<(=O(%Cl#Q3dt#p;4{DZMZCRxkQ#dj z(YRqd<#RJ&U8l{nQ&R5+7mYfudfhH+Us}b#eC8~@c(RFizJ37X<8@vi=)tz{dk6Bl zbJRY12{TV$K>wb-=-Saw4}ak}md`f1wgG(S+qQ#R7lF;50#X1yU7(}SA`NtbNB2UB zQ0wUiQX@6y=0Pn&>TY1~zkNHlef%-ZK68o2U$YlI?GmY*F?8!?G}J!=ElT9akD|7{ z7xl{qu<+;IPCPmU9J<1a_*78qQ=dTl^hMCrGr-a;Fntzs*{w<_NOvB9c8_7^kN*fm_g;{E zZh_Wk&SCP2i*)%roVnez0xf>}?@`=vBlTXl7rZ)yb}gZM$1cjRykNfl z+&Q6}Yb-0k%JV1Cy=Q`2=PpoVY!Eau0Sxp5dk(Sm_d~z@PdxYZMU4KdU!;8HJ*b~~ z2|aIq3w6Kr9MbxQl-u*zf9=iq^aKBbHv06^{lCwzJpZhG=+{4kOUuoq0GW@rVsugh zC!dd^MC5^J%AB)}{AOaPs0c(;tyafIa~*)l^%MR4;Di5_1`b@W?UVOwI`>eb+0*F$ zmhVQRHHS0*?T^7n&ZFz#UL5?s*I?n%BYfo3Cvf=NuhL?qpO9L5#jOL>Ue6fbGt5KV zw?W582xDW=X2#lQzmC?>KAwK{f^NThCvLcQ6lr6cR$ko1uG_B%32^#<{{^!wSaifTfZZ zc@taAFOp1dQ6v5_KPMg!DZwOuJUiAzmM?fDVsnfl_O!S)^w`Z?M&8P1w8MYG@_@+a z6cz(k0Ai3zyo;GV7puU-@WrTv0PMd!4@zW15rfG|5J-yL*o){+Kru;lcjoHk1F~X5 zHf>d{=J+@<2N2gdHo^w6d~=?Qki6_@hg%+EKpewC3$i&3Q6u^0;e^JV3=%|023dS= z^VlMO@&X!y%teSbckLh_wkW1;<3JR-N#NIK0YTc?XcFzOJf6Z_u29n+3nE9X; z5O19gmg`6I=-s9+3t^y<{eI}RCsLAV@z;c)GgBlfevYf;GkcEX9Ro^6IIg1%sj4&u1<2oXB_C$>!o6s+MO*@kgL2J(siNV0cG#&qwhHOpdn*K*__Q zEyW-Q?~x-f_V|z#qzR=+H7~(pC_n#Rw6WvUu@e?sD>yl*uBEM*Gv_n>jx$hbLUzIW zAON!86;KHx8{$foz?@BufLwb!`S)(^_7FJHMyzq%@f6DNc)g-eS==5#Ff7l{p2?}^ z3Xehd4sf54T&WX~<1sFoYHKQ>!h%+NAOClS|Gt6x+3kcCQw+Zd9EV_^ZRl-+l=05$ zIU~R>$zc{T15!W=$6w;?dPOj2*Ci;h#jZvdnc+|FEZk1|nuNrt7m{)UkZoTz|<1PuV*j=Fk*2euAg7(Jj6u^3fpEg#wFR?J_b&xV9c*NH_cE zM;>ZY#<50@EvO<>0#S*a3s9ln`0swt*PTQlR2WXuwt>t9f^rFUL3qsq6lPB>@AvLR z$A1xa9R2A;?`C(4Nbxsq2aLPEiTdofUv{pHzpro3ZY5i~GZ zJZOPe{yU2gKjfsP2Y#VF=j{3TiKs+pXDfnSGQ*zNM_SrO2>c-UWf63oP6Uxq5-}q| z8phRwvZMef7$emdSxg@YG2z^{$SYDx9cF_XaHxi08^9XZD@BxtPU|H*2pBadxpAG+_tdyyCs32#_Oy3d8FQK#9Wz&+1*m?4wi$X!?cap|nTKKyvlzh;N zs)5LvTwBrt2}>ZoyF$H#Lg65(8IHo4B$7J;dPt)rzh-uXeeFR2WosQ$_Dk$%*o_V( z7Nyfm0Er5$TP1&%Fqj(MBUvkUK_UleIdvE~+1|z4l`U8V5n`~CIz`)xYE%WavDGPi zmD$&i-4L3NY-oy`5hgEQ*lT;B70eq?GB`3#-?JEKQzcO_78${-vf;d7!KuyDpz1y& zt2+yJa2BpX>j1Y}5yIY~BQX?u?iF*wSKino>b{q37`dvmYWyy01ZsAW$P zuO@krL?BO|-ENVcHG2%Z*8~qT{p@rYMj=n*`v+K%tr6r|vdvM@aTY-mcKa3U>*uh# zTVWLa`Jw0x!}B$9CI!PnHbdXx&*w+e84~dpOqNtw0OCd+7WmnE*x6(C!Y%;`)^?c% z-z-Vx#Sta}Iin=*IRp-zvlmr-UJNTFmlphalBHz#Ai64|U}1*df@2PU;Ci*{@91XD z)+b^zb!SWrP~qK-5nQ_;0?db5XaN!nux-25&z`uQ_0ksumBf!Hy%Dk6aBs5<47UM_ zibVrYK$R^qRroV`5Cdf|Fgi2MB383A9?x4G5x&fqN9^pdinqoBq?sUAKq-~Go;^MN zD_?u=#7i?P&Fh4;Y;cjCegdMbstSk?L7~#}I>)0#6U#Cxe>esP< zsD<aV}%ee6Qe?aS*r}T+G`6w2je@gFp*S$!C z{b_jj9(wev{{y#PdksXQBqg1-WGhILG7$+SN>otM&PwT1j~zX~(rgblx*Eo=BLJ|Z z*gCHagtS>m3CWmD#3^BHxQ@a8ew?0Nf7d^L_4fXoGf%Z~7ufofSZ+6Hpz z?D{$`OtzGZLjT+UeUY9#vyO|4ZOkvV@%XDNbarM9t1ZSeXV-Df;eE*M7S{#`uP|JhOnJo1yD#q{~ZS$(R`Lqrt&0tZXV;rJ|oQHMpSOZpPx`D!O`W zAS%$>DAC+3seiN=L%W7Byn7TSCuD8wg(pv8{pHhWo;ZrJ+b_e!;RD!w^&Fbhi|Fd> z(%v2d=N7gd=*GK#>=wSTAs8BO=;ZT9bgt;vjlnLiQ-Q^)1>`cJSSPG*sy1q+>eP(% z?HSOnJ%d7ZLNPJGCm%eo?RG<7{=yk>ZC$_RLs!y=-aDd~AFNULV1o|*^jop{>PwjZ z-1E3_|5^0kbO=NHNAU8megsDzY2twy#=ri-t8w+auSe_I6DZHkBG<>DZ4d?qfGZCJ zgM*-kP^u*qgIy>lh9G?dkfH%Fq5H-Otj@J@>Bux@kIqA9*Rb;HB)B($c8-B=JAm5T z?S-Xwx>%+w)J5Bv6JX}|NAlU18>CHms(ig$S6j~k%^Gc&!V{UN)&hB0lM-s z@T*6GS6>CroFfn+pL!Y1nK_KU=k<19M-Hg=jVbpG5XlB~c^z@;xdjm?Xz=(%zi=;rItnqLQY9z=Qk zILn!npnaF2`Q%yjTy-Uee&|E!e$AU83)9Gpb0n*anum8u+PhzSTT5s?{x2Zyf^JNM zmZq?gdXUOxr1lD$GcRi1oJ75xq`h~)1#kM9-{GmHhtOO(M!)m(->LO_%9cAQR7(}f z%9KocS3{b`8`MlRni80cMAB|=f?4%nz3p}U^vO@7>(KXztjr*v_!3Y5-6v(`)Ee5C zPG`CJDi00!L0iDFe|Q?@%cs#d(u?I)K-!Atr8V6?P@|367IdwNyuOa*nK@u(5q$Eg zJaN|$q^BRfyT`ESb=Ogux_R-!oJe~O=O21jU;X?un1Aj?luY{MAN@VP^nss1>$$H3 z>ocGvNHwC|yg*d+=^NkoJ+!=fjQ{LE{xTihzaM3L1DZ3jDo}!@)WiS>YEU$~iBT($ z9y@vX(dSEGLa+Mphc;_NT3}Ne&h#Y{0KcC01nmVAc7eK6|!1E`M+-w-G6G_B} zJ}WuV#ltu)P>}*uJzv-YN^=w}xI?BOMMq|Vs<@{jMtBFh<-$&gav&!1&x(~UV)FU*PqLJL6eut=2ul0iZ092eOxjV+2)4L^tU=(5b%iMqSda(=$OntZB|tKDk`}zz zfna&QV-?ZOV0j)@a;_DRLLKyXZHdThH2~3Q8YBm{w*ah`zj=m~wqPmhhf}l7<{$-8 zu7LmeYl~p1%E1f&Rj{isu*H4Zqf?Hkmf}u3!IEJhFycDe%W<|CHIWqvlGt4V!C2xD zBif7gr3Y>USSN;f7jXB+u7xSovdT{QAp~RmLFudQ4lA_u*dFV($3P64z(^3 zlXuCAN;h9D#Wk`j{5ize)z_3w(+rousbC3F z26+sx73Kz52a+Rkman=saJaxQ0CJpAEUr%q2mjp~cxM9TPF@>qa8cN-PBx&Oi9oh+ zl_dwblC5F)BV0*4ISk5hg$2h5GKPt!inB<-#$KHL@_aVwx94B#Lhucfpk|{N87`SCYw_OSB@9 zMm{Aj^BqilBLN#ALY~{2LW=vY4tfD{;;(G6{r1v+H(ci?g^#AV=^9oF0!GS?+nOQk z_;mkBaeHoffp|9nY~Et>d&C0D2_gR#@_p=*^OoN-kPIt^#|L&D1HT}c^f*~zipX<) z&;MP{%T!EUg~g40+`q~}xmrcwjkY5GOp&+y|5L~F`8*fj^B}DHy;N8+Fr@RNk=yK_ z7s|5xG}!OkHMe=UP!CZwgEJ$r7p>;+xpCLP>Fj>95~xIl9m4G@ecy+^2k;>RRtG8I z-qMeVA1oNK!(j{xzZ9;uN6{YX8^J0!z0B6}#08CcZ^tC0}oPl7l zY|-fV!lVbwVM|=2Fw9dp&N$>ir2!_cYZ$dMt0smxhB#1Xpm$oAVni|1L zTxg9TUBDcy3ok~b00KJ!cbsGO_vqXsgazCZ^v545qIMdECX*-$ryn4jT?+&4sJeF% z<62>)a`$EcW6-m+v^AI3ZQ=ou_&GC46*$Abx{dbD;)N;pv+hN@#FeQsgF>DJ`5h|# zjM{Ss%lVsw3xJ#`Zx=*RB;2XY&3=29#i{1A% zHdo08BFokQ(u+HGEhWekULerw{2}bGO9xfOSrM0X{N_Dz+#kv3b;NKXyMk5#l3>SG z{y|Vls%2D(8by~Cxe?abMe865MmS(TA;UU()DOG08YfheX3>(T>MSa9ojs{QcC&fO zs`Kdl9{Cj%vS1>Dw`!df)%tge16~XzpC#aZ(AKWa&V=AqTrwX7@BG_;V2a3ZskWFIi)PX6f-=n}j@=v<^=#c5cmt+vOy1ITqBtvkwmw8=tQ(qaSS%^8x~pj%c&qfy85W_!ou zN6&s~cD;Empe>?8nJJ0pRA_>dii)ybWz9&52~4D-S(OB(LP3Z2AJqTvUw>@Tc+nCta0~N;f zVhgLAio}As*(R>Oaul_0!otOkylvk|8rVLJ*;7;4T-nh6-hu}9jAQVso!XjT)Q!n` zZmwlno0;c*?|U0w`N)^CG&zq$*9;>y3QW9qKhQs_U;dr1(Y0^bhu)zE8XFrp_4Gyk zldqTZ<2SVV^4CnXFCL#SUOL(0%XatTHw0QL?fTYR^2W?kDh9f6`u>yH zb7e2I1vK^zW|S#4PtD54%rvK-VXU5A#75c1#+0Dh)q^{J@4cA*%TMAT|7H#c4s?}o z{PUkG(hJ`}?Je&IYAU!m&$_&(Qm=uNstXRa40`nn)m zLN8oIxdA=>@t3G6ip>SZ_?0#6|M%}fUR^_e>NsR}MV8JiaR24ow7uA(%~Nw2`kC)W zarM>M{KtRP8nvi)`z>fa`=YMBc!v6}-wzD!16{EXdgdf_@{;D+IV#3SP&<5^%IVXT zdkgUOcYu1X06q07(DiSCY;Fjjdy#UfMECv>Wc4^|)5p+$UiJxGa_I66xYTFOI0q` zAASb)L;Jw>0=&73++Nqs=`~t=;3Zu+vWzw*y6P`}4fV^e1eRu1Rxc4ZhM-;Dl80_% zt#>OoXQ5OOQbSmlS-Y=OG<)UYPyHFc>AQcCQe92&8VVt?URYsf!Bw z=l}jw<(ohJ{vsE9w3vUIT2KBpnqR&jseiln{Os=l1xTOyJIIk&1q5Dv>J)UN2_722 z>S~DtKk+SC{>F>?)jxTTUiX3B=)YC8O(`W5wwZD^&Wjaq@)foq8S`mlNY zl$4Dg3>`kqFaG&I;pL|;;O=+dfNgKSM>o%%r|19pli;C--u#=th1zAWM|kkPmv1Lxh96W6eKn(}H7>6W$y%pGVXxvwyl^u{Uf`X7%U>rQY3TYC6 zz>yProJ*d=QFKFuf3ET!|4r|_r)sa&<9P4VaNq+TgK99@gOHOvfs>Ht)v9=6%>mKr z*kMengKCi%#s3JX)-*tukPR|yTP?p3AG#Z45l+4a21Z6sYT9z%Op<i>v#8^E_&ZXG`xzM2wLO1Hay|Jm+H1tv>IVv__4o0cf-5Bc|JuUL3- zNw~V#QAkzCcnDtbpl~gYw-Qykve^|0umdqmFeHNoifXp2+d8qf8qbhB_#QNHSJMvIP=i z*snM_Kwy}fhG7!J;R63A0_Z~@{9be54xZYAxg*Ig;b60*Vax2$5(SW=6%ZT)Mgp{w zs78aT>T4VvB6v$_40AD$%E?*D3{WOyRUgJ{7n0)NiA|G^Iz~|8F{T?Rzu{IC0FcBO zoDv2o7e7Q6j9D?kf{H5C3!m#osH16y${EL6inp#AerM~z zV#ccaLcjx1L8Va+fl}c>tQi{h03wM`SFaquS4e%YC5(-_Q>+HQ`tNKBCPGTW&XraH z0{IybvEYgdHiXm*9_Aooe^3Eb!PfV?X+Yve^%h8_L_<)U1+P z@yjjVQWxy%@YA*@p1e_KCB-GCjFA$zXY2dJ3s=t6Qb0I{w0aQhKTBba17NM%y*lTY zMPRc$B4!8{yq}HiEofduQn);pJB#St(L~-&8mL7tlECV(ZUU z;YmD!+~V_nVIyEt0HtK=sWRr`}6-tKk%D>DWzm) zFcn1-rX)l}nl*6(vQQf+NhGDVv^EHuuG+ipciwpYfnQfql(|F{RZ%DO*J|kPZQ#=4 zdf)xepZYJy&M$mWfo?M%l)c_X3?!*0v$L`)rNpWkS}@R-5&+}mM?NgWgPGbJWqS6b zpT=_+2v=OO7g(MHFVErSIl*UNT$MllrQ3AuhHI3{R+@b187ipMuAzQC{@hs}Y?RtF zK1%K7Wtl#|#NGXMj1Bi{v(=_lE3mRsqKyLeF3SBwy=im34atJqP&ZI!EKjeBwlfWl zB<&d*K<`K|caQg>HZrX3wM-}q6k}uf`oH@d9p2rGlg}?xTYc9UY_FvVfeFFpf;4{-aENxv`6YAQ8UUgkBXh)rjCDHS9 z>vZ7oAR5!>H#GMMb)VlrZF`}^@3?`uAheej zm8l?IZe#ALGoU5K$oJj?ot?+>(HRW9`8uR~Uk^Qd7V^SztbOr$^#8~^k+$zZIXMk2 z1akfoHoo{gj-6P*ZU5un2#xO~6r-e5N1+pkCD&?9N56rWf9Vf#wH==g@n_RakxE zCA|3cS?s^A40)#KRq`peOtY2ngC$8qrXA#8LFq4&NU zKx4Z^XBJsEH$g>B*S`7?)w^oY(Gk$Lx?%~s@zNdLCNN z%OC&2U-7^D?LXICTHwVxs7SM!S0$^;!nzCy}WKJaq<}lQU>et?CP3zldvo>Q)TD=Upm)|0(|J-#sU{ zzGjeeOK5dPF@DWX^z7)x+R1q=PA+2P&?t0Z8@*FVmXpg2h3GxEUiD))UVY#%*Vi_{DcLM5XIdMu;`tj{ zQQRbTEdDPX^fxRa2rfWM49x^B>=&yJMGpBBOZrj8ZynJc3xq7Eta<(+9^)~m3XHLi zU4uwXA6&uARorFoV4r6MxPTNDF*G>he~8BlOeW(RaZ=G?spAL z37Jj@?Oo2Nle-v!#y~Y#_guvH0n!DSE8$<^F(f<#kcyPV{<+==(0Mp#e@8*Y{@Q^Y zi662Tvbe~KGMWwa^t96Qch4mp=`qlX*#K^6)!k^(iUQsdYJa32r&Cqr5g4O8x*8Z3 zZzGX+Wt${Pkb>-Yl1r2TaIiD`84HykP)8^;q*p!s1*nrdsjBAymY)FXz^xaBT;_t{ zOyoci3DrBY$Jfbm5DTQ?QV#5A!9i6OR9G;@AQC@Uo|sdWA9r%@P9dbaGKTm2`jqU- z2V^mGb(0)RG4hgj?gNp_Ra#C1s1=Zcp+|5cN8}Pg@C&jPs$vZkU{`BUmjH?!uLGK* zvH|dTSH!^5ngFE((5571XUTF(u3~5QJ4G(VW5=4ng@dHQoPm9Ykv2<^Cgf0^@VrM| zB87=7;2u8Alzi`vphp1NL{G`$#83bH>|`}`$aGfJqYl>Q_>Fpg!5-cb%N8ba5ZP?6 zO*U5Sb6j3b91LYd=5q4GgmrNNICnjfiZgoEVVochqI4!f!CVmgjyYaLi6FZN8B~RWU2>xETRk zH&MUN6`owV4C~zd(1*S^meSY}+WB_{I*dTJ3rWuM)kyvw(1M4~U^CL$jW{_YAwX0h zE@l{0xZ{Kw9CEg@Kd2o#F~CJr6|ayp3Jowa8I%h2LV$&Fm{N7ANIOBBO?`-pUKIm5 z7^i;G%|nSBt!PY$0T0opWKu}MBJrxAJ4UPYStT==1_Iw02TbBQ8KqtBFj!lxi8_cP zl&p@VhzCa13grj712%6l(69hf$bvUc3MyTPkmAc+>(Hx_Id?!_V_-YnYafh6UZv#( z)r{l}UN1lSq26lNJ6Ak_eR88}ohT8o8VJuw#-cUB%&OpFALZ?Fh+y3TUk}_&yBdfA zEaE3${0vvsRSHMc`F@Xr5yN2JTA^ayNAOJ%Jjb=Q-|>!NcOaeAB@!d@f}7tWzo8!3 zkiQc=0IM{*sjB2@6hlgY%%;A{5gF^r8y|Bf?B4qNy4Fj^^yc zNf%HlZ67$^(+g#)s8}Nm*Vz{<@(DmlRy54fh0)=l*hwI7yRp#A*{qYO*(Nvu z3BO0|&cO*nRq*4>R3%q{Iy1!Yl}$Zz=94)^(_eIUcO*K9Bq-X@t%?rLpv-Qk*nciq z{@k%eeq6xXDK=?|N}pCOFep5cw)XbUb4MW}iXj$MyMr*(?%`%|Q2a8gyJv7kVKw%xo&t#4wYw3R3 z5;Z%!;=b5_R-$mTB>@bETJl5>RCO{T0zL&KTUVVrpiin+j3V(aIQJ#c$~H>QsA50_ zBh&-e7>=!CI>wyRg_-#`JaO#e=Q2oBVk*FzC6n0X!K^?L{09cvs2o+5EG*!RT8;kI z_k0`u*MIkJYOF5ekSy|ZN1LH|H z)-$L(@$6DYe?!pUn=m(BqTbVs3$>kc``hoKiMwAzt1C^>Mi)0{SMftX`v>y*=Z>O4 z5>7=y3}uOqK`DixrJ&H<+OV4@#rC28&%f=~E5D~!=$f_Z0;m;OSlZbA_2*Cj{q)k> zodVPdv`S2gLG2Q`&*(E&>PgVdBHdj*>Db3VjIkYqdgh_$Y5vHI z_{bN}U~*Zoccg}EhZSgL?ASSkd*6Oo7R!<@o|*%#EYXe~J=iR>)>>^kdtwf=Yl@-% zlxcl4^^bL--L}@^k&!`6Pj8?U#f`5&fRjgOaA|4{BO?tA?dZqc^d?fft;0h#YPZ{1 zonJ>6w=sCx4js61A1zKUVQB9d8iU<9`Oo)jYq>?oPHf^`KYSCi3cm8`Gq~^DE{Du6 zpmqKNhQITzxokCP=ChxpQ_n8R&O_VN;%*;c>J?P#!h|JyEBXe~A#d)NnhQ0Uh$N&9< zC-9Lc1;72P*WlWNz54E-c#J;w7wZ2uan!Ee4O-j8 z#&f4p-#M;plMA%)^16=QI-xyRj>$dS8I&haWBU0PHu@L`f8edC?-~c? zCgwl(Ma(@rjgdR{VC1#e>iVNk(BKDt2-vn8IyVKSZfGws{qz3;1NU4G9@z)9R)LL0 zbYHO>&HKNB&CP`FYxg4U-Hp{}rje&6F}JXap^+XPe*Mjq4jllv3oM(en0NZkig~4+sf! z_ouO`Rgk_9$|&e$P=TL$yT;*R7w6(OW-tC>(x5Em8M3}k*9q%JjLd4d5Z zTIB~+5z9J286u7eZTte>p@s<7D<947i>tw!?%#4niB!{}b}|5fDt0&OxaYAI;BMd( z04vb@93U1ku-D^JMuJNAyu^Y(jyWowjBcEHSc^raHN?5pO+b@Xw(@ z0A@g$zZ^W=vDQ}yKXq%q#-0y&KIv;7^WH2rbS-A@hzOF4h4r4-YyoR396Q+89UR2} zB0%(zuZ-w1@)AX`@C=A&C&>l5!gE3gUJ>lys$kom zvilIZrv1GGOMb@{RBDy;2d)!lBF=RXvLgNux)GE?$>LHbg>mK_c8>xUsXw{_-c{i! z@~V)8i|*qs`7rx>dJl(Z`Sx$DE|cQtK1gXM_vqi?40r>=waO*L^Tni&iICfvAY+Q< zj&}7U$Md`GSPxXInG#0o2|S41j%vpShm?{A)i=7c$?T7C2SD^ZTm3Ua#@l!)65|Uk z|KrGi%w}`sv(!R@0I#~#vGu;gpEt08kX(jKa{1wpOfO>jttP9wC-!V1p_8`&y$S=IHTxZ)z!wz3 ztR=GP22>GT6)FjeYz0N?0!XD16b1gfkzc}|-wMu=y~2IJ7Yfz=3U$t56sfc0Qyc{g>7?Ic&<1R~)V|9l zM66Kmxv*n$OoURUgHvu{IGa0-XX*GNa$9AE$p9U^xZ=Ji?0v^C+VcgOG+ebw2}>A# z2i|SnY$k;xcNCw-Ro78qL2<7^R&W%G@1#nSSsml7=Aj52-|Jj+IH8!75E^at!SDMX zyIg>2fNxo0^)hZ$YKh3?MBL0vu-QQf-(lSy+5v^!7`hMgmjt51Lx_W5ha`SqV}n$; zFii=;(I8S&Nq|;`2e@+yNgvw)JARo3(88)@J|W(SncAu3AXw`bpr~K`6xv@=?E|3h z5CfP2)Y|;Aw;+m`!xVD@?96^fJSV)m0#v(CY9N>&9tHexT2a81XJD(=lLGDbgwa9~7 zB2dl-PP$VBncf=w^C*U+D10E6Su0g%e@DO>PEc)6)eU8eV9zY12O!jO+Fn8J7|PD& zwz-8C6EcD zPYO#0G(gSBDZ-)odb?c-*&jR8p1>Fa?raQO2l3K=uy8{5hl0Tjf5%8*D7hnbr{#v6 z%H&`vRqcqPUi=GvF1HU}W<)2d6F)DOV6YE?1(y<n0?B#ZeTYm=f=Fi3o=?tl}Nc z*XrH5Q*@NndFFU0f9?p*EGe+S8Zk^u-J~SD(^fq76w29r2>TjE6t{P&V#-?q$?mVM ztFUF*)j(so8D??ESr}8o-$a>x7K|q$9A~qWnAv%@E(c4J)R;N!=NpRPm5UdZs}8L2 zRc^D$opCY~U_k|})m2~tBeGOlt}(kM?3=AmIQuOoP+@nVpz5qwL(Kgjw&o6aOB9s1 zoMH8#)mvPNa|PsE$Aa5q_f0~Af{cC1zM&aJlAT*u1y;sHa4&&qao3p7pkBQ9c_>jl z4+ex4q_TJ8ntiYQhD70Li@brB&?wx;Ijo9u3`HjLAc54=c#kW(dK&ob6Q{qpxW4jc z3-}!tCukxj6_B7^C2gT2oyBf3Q^NJT_v`=qH*cexZ$2oOUOpy${bgEPZR_(-9Aj0+ z-G}?oT3E!w`6+PD*j!mbp^E9{maex6`?u9-c2Q(xhv zs~{vw(#nLUsP614=@UPDFW-3Yb(lVN5pyp;k6y}Hl>)oA^`bsl!^_7uF}GP_`~C?` z?AnXTsU>VQ+qnN9zoxr~lHPLt7@a*etAqVD8X2uqZ&x=iU0hTlQ2#);t}kv-gA_%L zu;a>IIPtft$En_kpII~cru zi2J&_pef<(D=R4TCI&|b_1bstCm!xYd1e{YkGu$O6gc(xJodkCRLAbT9_y1U=-)r8 zi_f3qC!e3w`yZI0@4qEs>`m9B|Jq$5(---de*Q_keouj0ZtOyL7ir^)YpM5#e*-%6 z61d!et}I~l=rbr9H57ZdD~l4T0OJ!Pn;F90#H|)lbIulMb_)5}NywfZn0)vsw(so6 z`pH?$POoA0+$MJ3HHgux#&PlSix}7jP_u=Nsf@XcC3fCAtm_+X8r@Yx*SCK_z+ipx zIZXcLQ#kVMCT{xfJt)s!LeJ&fG4#VffcE3xK)!GZ#m#r2H8X|vZ#}_EGTMmPk7FCf+>H}zx??U~+jTsvYiF${%>^)4~gGp7Dq`n6#Ly|S~ zKm5^e>#zLsA8V~u@?U@Cm++eJ`mmPMc=-aJ`uL=bj0%s9)sO~zbl{2!rJf!VVrng|E9Mu_fBQ9b?kg`~`|XD` zudUG9Vht1D@pgRi$NmJozJ}dbbZK)Pbk*HEw6; zI@RiZng|dQ)e_JQ7R{xk3}oS}5AONrx4rJ>Z(mwlw>&0_?4l4ZoFt`QJa=G|16)lN z@MH7agB54-uZ3(LUnN3v!iq$^S)oLP4u{j(>=cBnNQCY4s{x_j?kLKj!t=x+ml0sK z)Dl4!FqS`@P+?>R1CcBaCOD|#GqAD)$m|{K=K8r4%VYx)Ayi4~aD*3(3IwyFi@-Ob ziZP{1lE`E(J-IW`#Zw~nsK^T|Q~?s&iLWECqX31R(m`7QLKv7r9u9iy;qkh~$ z;20gEoLau!DN4ZdR5gZjMNq?5f|!9vfzNabOzLmp@iJSi$`wJ;^Ly&#{gF4=pR*O8 z0Cbq?TmeXi){291j$4>!NmcmC$p;3<-Sl`>awlgYA_F1`2$GlWx2;o02-nYU@33v+%81|UcG@h8#67h_wigb_&Vo4p znR3OZvKconbt)O4y`t@xj2W7y*i)BO?uf)sz4d4BtcY{L(<} z5-u0R1QNS9owty!Fe1gRb8pUmh7ihd=L9>JK>bboG+>Tv{=dGsf;kmqeX_BI7%boS5 zE$abP#jEI)3EapWvfDQIEy{)qW;Nn<6mQ{hA5^XLMC~qE6_6px)FVs*-AIlxn<36& z_;Cu`i;U=KtLzXMiZ+O96`os$y;bSpt1ffQN^aNKhDB@8gQ+Sc!T-CkVu2ZpXfX@$ z-_;qbAPXv0l~a)Hiy(HunOyfD6?kI5=U*iT0-CN8xeC-jaBmEiP=+jmPW8H0wT%~;);Q46;acj1AOn< ztFo@8O-vB6^@GMb+c`9;6Jy8#6!1Mjs4BL$Z*H-?sF0ndY7BgFRtiD1Q^eX*2l6=& zuHEIJTm+dy0?CTP6BWwtpnb8TE2U~_Q!|UK!H72FYeQ_Sv81RT>58e0BCG}e27Hwre+`FuRPh!a3-`@)vayP5a%f7RL|f}F%xeAGf@>Dl6QGn zjwVPcS&LXae~1Xe?OZZl%J}^%qzQ0YBbg*;s<=ak1$+gPNlR60+X+O4sTy?7Zbwzb z_&mOMCOPT4@KM=|GpvOtmDWpPZ|@*L*jshB4!JD>oQ-bwo5f2997%|mZOFq4v4Bf8 z&XL={uq$xm+ld36S?5eLz~%?2Cn;{0O*ON_xbPIEbErIUVJ{-afOw8|b3YVJh2+VG zF;(K5JxC^n7T5y*yN^ricYuK$KE>8XQ(;MusO4~8EQl7#Xz7e1clcR^uL3-H@Uo39 zVC9F!6EbEiBv4ih#<_G^IS(`dlwJhQe%3nOfoiKLq!fsRU#U_h_4d^B3ui8U`{MfA zn_;<#2o(g$NXp1+yJY6rdXw6Ah={m{?z#0^{MpaF9hdDJ)YjB_YF<1`U09*zlXLXk z%hTu|AImq~y+18I@fePun8xzVaxT|f+|>XLbrBXpaM-QBNeo;gCx^DFtXx4i?shb~V`FFlWuo!jv2*M38O=l4HFzx&ZIkV+|u z3$yKFQ>&Onm1{_(s<|eaGCg}?`WK#`n*JG8BGTMYkk)L(s1_+v*3xnpQYw^5J>Vw* zNXcg(cQ}BXrNo2>{N!71!+-w4>v>^j9xLb0qj_l>UwwQQ_uak^=g&=HWoZM$2M*%Y z!WypJ*@Nq@8AY>q5K9;5^`;vpsDFBgE}oy`OH+%;Q1tcIsc)c1mzGPK+aT)eYvk_X z{xmYugN5@mC>n%k9yx`9(LRh$j1X&yjg2M>QfwdTk+HoaJbQi)NKggS=FB?s z@>z^rz7xCNax;orM*hqZ%+5A3`shp2eND;QMR@6t{zV55Y^VCj5NM;swu4qF13A*9}JO#JZcP)@e= z^#6W@`uFtm!Pno6o0m&^>49k-y!#p&{^9S2KKnG!KKc+QYQUA3bz`8BkoJvG?_F1e zHcn}|aEWO5L214CBrm^w6hrsEQOkCN>fHsP8!FS&B*LQg%sMat*-R*p9RYd<(AYVG zV$Xi){IhuO*^@Z@hJCp5zN;|%^m%MvxP+DSi`e;&n~}QLu<__|6gi`}Pe9!@+L&%( z<=iH^QiEi$j`pQF)KkJn0#1G59JWsY^`Qc~x&jhWnVqGg2JnGB*m&+ZNzWK+x4#im zZ!p>=>Nnkp{OYSHUwsiHhp)ooU;H!V#?#pLhTBM&PAd)6usPU^+WB>ieCzGdi)YZD zT|@W&F5L9?e%k)w??SCVAr0+>?%0m@vrp>jKl%j5c6V{(mP49G>(qbq9Vpio^x$(? zK7J9~-*G2u*WX07=biylQ+uzun%0g@q1Io+&SC-Wv#+A-j@z;F>`CbA5>odF`o8D2 zkiJ3g`}${56eSu5_Gkvt&aqP{E>1&E9HT~mFV@d5qI>%Q(!?&*y9a^pE_7di5W9B_ zp>^>Rit%yKHP?}xdPRACN#&8xu|9i$qOJzg_x(CyeF^Qg261jl?rLgtwVk?#cj9}0 z?q}!&|N7_Ap8Yy{Mz*0m_eotme@Xh%GA}>$7`^9C|A~?q-bqO?%Fwq z+IVl`o;^DJ{0#5EaSV;FF4^2<=8*wP3~etqwd=r6v>F94x=lAlXmfgr2Cv$K#mN&| zPM@Im&>-elO6+PY_4XHN&aLC*u_KsS&U*KEzK-@@zXRO^{W3Q>#}|(`!QEY8v@zaQ z$glmv?R?~gY0muZH5ytpmf>IHm7fsn+o+|}2F)j@dxnvg0W#iLG--vYBp9`6RD)Cx7ppnS9W1 z_5zv)Fzop|oXxGQ)~pwy0Ns;(sXKCmjJNZx(qK%e7qAq%c)>BBYCjJrD5DRtO|H;mff$qOgAl7$Ov~F_p_2sA}4VZOkNhD zgyKaQB-6>)&Y6vV3x5?`AEMWOnoPkci{O= zaX-m^Mhz(_$gf~9sKY=g2`Jmp3B(X5kiCdk%~b+K^I*Vln;EnUbq3UjG>A)Kxa5Qx zN3l_M@I$~+4Kza?j8hBloZagVm_ie(!tA2p5S2tb;S~cSf(r+H&05-lG6!RjDXU*B zcT$?-a}qkk7aS}P;GAF#Niudw46FgO0i)Rwkf_=q?uu`qb_^d==dx51OcIBMJoz`{ z)|nq*2QLAYLk85rHdv*M<2T`l(w2aIAEMnYl*9mcI37rwwiQr_Uwk;w?Ez$g;2ogy zq~r$50P0j7Ui%>fl&c{^>g{Av#6eXv_Rn-99pEpcYOR7Bk*NFGo~RkFU`g1Pf+?6m z>L6HWKkcJBEY%bN9SKZ�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%0DJQB~o z*CWzGIB7!35mOP?Mv=pFLde??5u`)gJs5d=5=IMKY# z(mL&ZZ& zUAAYlx=O02=azVJXZ>l&)_O*#XJ&BCl?P~}wGP!3tE=-^ zZ*}qdxBV49`QeY?m2dd90C|AbC5b2XO3ch)&GVca_4?WyU-#N`Mz zRP~0xu?4_bLr1F^!+-mtQX?WreIH*j+l63rV#o_w)nu4ZSS1{uTreN)gPjo@gyBER zCAbfG6P1z;Uyay91mq0^qxiqA1E0*S-7u>l$}}amVHOdai#E$8rT~SrAB?} zOVKFG4fn4QB!;yqqZHqoAih-hGfX8P++`6>(*tB-H7VKikKnWRt#!kIX6lP_Bghp+ zlLD*xO=PR(50t{s3mf@<9ch_g0BfvKRfBOR7?hV^OqjN0BXVwP<$NW^ACl=?4Z2qL6#;kDXbCnf^b zh#zTqUVU37HPO61P5X>EcQ6*m<+>LIArN7qKEAMvCp=P-xCUb$4$E_Fd%pJPU(;8I zhX5QD#1#I!KV&khA5dOA$N;uJWo0*~h%F%;U$XghMP?`fZ+&0!;7f-7Mzw{g5v4WFwWrXz05woQJh_0Axl$Dz>}moEV;xB$ z!7~s^4Ezc=Xm3a@I2i~P!C=_1l>ovTu&e!E09eOFoNIs>h*iS?%ZON7^id0P&H{2Q zrkz2-G03yM-=Kuo;7LX0x0WDuuqYH$|Hoiq1CZ?v2BD@!1ajqI-EeO~^~%v;g8B(@ zso;&^o!y4vcLpd2<}5I(VjUvZ_7%G!A`ppa)55lm1S}!An}#1M`D8sULXDmmE7CR7+wKHoosd5-t3lb*Y#I3X297 zmf}v1s`*Hki6t7g?ljzEusovDVJcXH`p^Cqkc$A=|-mjh2x;KC|#n1t^Jz{y`V5#f;k(J7`#q zfV1^wNsU=ogjf?*m2sa(awon&>fZt=#y=0zB*15gsIk2x4LW~fABZ#GpYZ|vPJy65 z$SIOEF$8INh8*TUST9Qdz-KF%tp zz+%D}lZ>*LN)gt&5hKiYh>NKo;&qmr8-Z|*_bKtPwEd*vcf%}9>wM5y*rSX;F}?+2 z#Fy(SSOvvNAR$Xrn}xu3KMW&DjbI2(Z-Pjn_xomo3egt?=3oPrI>!A^o&250PR#yA zHLVtfDytOAaH`}J2zz3%iYKpyZk^sqpZv35*BfrWSeF;(x!RySYs0PP4rk{(`VXJ` zq5F@oeNz?}W>mBQ;Dm{+Ns0-gtPF8x`kAZGSt(W0!emBBR6vdkF9NTc6M@GYwS}wp z?s(^}trOo^UTqNR>gNUX?@(Qcdw=*IlL`|MNSE z&adF)(BAi)slw2>3GZXPNIha24T6@C2F22C`XYKc-SXQYDz zxOlp$hfgh2W3YyOTkHPpf-uz6fqf$=g!JUu4H~E=sMag!_Ht==RWIE=Ii^n?oaI(0(?-2QYa2O;Rkn@SIqP*)Dbbt= zn+6j)dTLp7Pr7&K1peVG$N2p0BK_)}2edLVPVJ3CS65p!xv44ZOG}uW?eOkx4h=AB z164GK1^_7XURzJj9Dz*$)wdPW^GEcKT^%Z6sN*xc^fT4O7Q$sbZ7mP<{SM~Tp>;Egd18M^>Lr)1Q z2L`(ADJx|X6!xO3BZ3gI6A`ieJ+$+L!o$=aw#6K=CY4lc2?HwBOcE#+)XlxBCwNsV zP>6F04^->Aw$Y|e-UA@|@*6Ircfa$E7~Qi+ho<*xyS+$%|L(uW@4oxfBz1f}dVFTui(9z}Kk zb}an+1Gw)*4_o#P;;NgsAsre)vATpxbp*2~&SLf0ENWY(u=)AdpqO1k`{}1KeAQkI zT((nn-?Q|sulOte%da1oP0cDAY08CqX$v@2MJ+f|XyF~Lb_zHqRFa@5BNbE46y16=L5lG?N@jg-E?>;X}EVkVB(dN2NkiPg4>p$a_&QM7^TW+!s`cK#Z+c z4<%Q+wFZHY_E(BPv;c^$$cxkt!Dix=xvsOOcCiXW37n{ik_L^KHWRqrL(X43)o|N~ ztLQ28=t@Q#-CT-7(e=VCiYft|5EcrD*`DJ$W6J<}H zM(gA$)NXke9{wRB1NUwb3Rx~${qjmf&(&m6xHBKlkS^)XKKaB&cKQYu`b0dMm0Ub!e*#8fxnL*=3URi)dVO5omlI zG=B)^zj!|u<}=^mlsCQfdU8|aXdc)Dz!7cn!m$h5WE6=KHehfla(kz?NtS7@&` zOv`5$wb$w5?3opvo*trsx}#=O^qxZ*edfzY@RIANapmP(arV*2d^LqTw+7I9TkrVA zn`p}|&xG6k5?woZH?4J9wp?^2-TT!a;0b(!9YbyXL96Ng1kH0|Q z_4c>%j?1qFqaxyaym8`Nq2TZZx4SKLHWZ_qccM8yjV$Y8`ON(~xM>##r!R*0EGbu= zlE*`LeH*{`$M2E5@4HVDBAVJXNtH@U-AusDx_N9+AAag79UW*UXU{yWoK{GB8*o}+ z_0-dtn>&qaa~P95uhz!+IDP5k|AMc7=_`1_9k=2oZ+J7hD>E3~e8B(7@BbFR=y^BN zwJ&^)T^^oH4IHm!UNjrw5aH|Ab9|le9@Kqz%UOCk0PlJDY&4DW9e?RIO`U0PLU)j z+IbH^1;Z1QNSv6@JW#9EkYzo1-$kC~>ev%IpgA}Ob~T(i@+6*k^f7hKaZ0#?PJ0bV zQ#e=0u_MQD#ie_&wzjUcdz#cN(bFuzBA;Jp0+N#NjhDnlPgf5D}r~fYpr^ zNK!@ObCvEId_F@i>!P*MhGR%|cuHM$n6OGY#JHRwNAm!dL7OQc{tQ7RjpO4VYfKanksn}bn^^K zjCQA^?ez`vMUI{iy?cPu@sS$+*<0SguX)2SqCPq)8)pyklMg+nt1GM2s5g;G7g;;U z#>R&BvVuGb3NMfXXf#u-t+kN#JjOMeUb_ny@7khU z#z$y)WKdT&TI8VExpOsu9oXL3oBu-7mE z0$vz`JlQ_A^@q1V_vRbBy87^xdSQ%Fle zrHTYQBkkh|q0S9hN4PhMP*50lEYSs|Z|h7T1dEv9HvkH?sTejIYQ|9Sivk?-XoGaL zJii=b$GMRr21Nz(fl9fBS(<>shRMe+e_Kyh?}iQ#H8Hp0odAR{Kx#B#Tv4zlYISZT zg*d42xpeU`lELoLBM2uW-cw?`+Q%CrXAp=DjtsyBbvw$rui^i(VQAVXNCiT)H4X4tBpr zj3F*v!+<&9XQI}%7@G_XhmZD9B`^rPm&nik{Oev*di+OZMdLPO2NGW{K$vHC_=0G= z(ZAt{f|r142~tM9%0O?nw-VJBcH^a|yAxA#!Z36SLokiWiN9}MBqahyh;Q4}Mi<~x zkcMOCrEa&a(d zY`0O!3w zKE8aE8!B3lI1TMi(BNV2%!M`tPc7d?0OH69B%t)zhYvua3+su?cO6;Zp!N-i2=}dK z6y;0?EtwPxAle5vW1C(4v(V9D4~5Eyi*oJ(yRdJ}UaEYPmI#DS1S346&6WihAC<`p zBW(asY<&y+v#*dQ>uiwzf13&_Dw^Zq<2VE;s0Dnfz6Y_{2*n%W5*P>wF#$GQT;qE$ z56ggHkS+2uo=JZwN>mw!ZD$rO6olvD{ObeqAcJIM(TDK9nY1K;qE|8OGsV6K5|a+| z&@+!jvLU`=$5b5bV<>Of4;GWWhP@U+3>5a~QE>s-Itm|3uz@`q z4sbX-7$aLjk!*#~FG|4vu7^^q;-PR3*-UF;7CMb%b#lzlp-0 zbw+Y}+w&AH)+pLFg#{`0%wQo?O?w*OX}C!v%{;=ODIt)WK^LJfI6yd)Tt5<)F)xr( zc94{;JS>p}fC35w2+LSxzimlQN&JzGIf0Za4pp)E9Br}e36r(z`ba;9M24&zLu2;q zefUlm=P2>9qeellQcdK{-0IcedGM+GJlMG~n#>a^1)C;ir(VfHdtS-8if%mgVJDT&PV?V?^h^4MZylD|bB{QsTu78s=hQ1yMVxbq zs0RZco)i@@JdvuzNjO2Rm8(Pz4FJjs;Dl24RHz8Jk|fBAJcN(1I~bOLt140mhAIub z|G(XeJ70M_q+XRH-@b=?OH1hW1P^@oVZG_12Gwg-|NUca3=LFh`+#V@R;9;Ib#Zp3 zLyDBfMygm}?P32^)$iCo=)T!}0Z62#(_WTMGPLQODD3m*^ ztLSud-MVEAXU{Iv%=rzerp!YPmca(|<=5}Sz4xEfx+CfdX3$v;cAN10qdC{_X;M`ks1?&(5xmHt~;bmIK9%vp~WuNGA}VJHk4PXWWEB? z7*yYp1~-B~p#H2%zCv(fT7R;xA7%vQOc*+4=a80X3RJC|EhXmr<)B+8f!c1%t>FgazWm1QTdz+zd8x0`Ux0Q4dd>>nVDL$9&i8bwi@x|H2(S z`?)7EHeJ{5%o=*R(%kpvu(~n8F=n)_}z-aJd?uT6HLu$UYO8B`(xU=l7nXP6TO zJQWgScAyo;Y88F)zERpgM0#W;r?sxfOs_yY7t|AnloMUa3R>PMbb8QHx07RTy@#<1 z~t&M^5j)J^OeUOkekw1P9alMN4)}IsJILUJ#_yFYT!`fme(?9b< zPKK&<@}u9yKD>P zC(hErk3Wv>&)SP@by+8Ge+E7I*(Y)0iFv&Ei+`(r?F{6|)6m5^Dtc|LUh`}~=BRk^ zNvz-h6oxL}iM-QAzO;en)-myUkIz1M9<`}q3?0}h{@gikpIgJk%kO|29`;Ya_3wG` zrfHhE;$p>mhk6SuNGpUq&v4>Lr?LC`9d=f-E*+Yoo=Y%!@h(XkDRq`sb>xaY)HyMa zlZRJ}`@er8dG?F<)AYV+JoW8Ey1drI;I2s;Z!~dcu8q}$R0BrIjjOedz%uD4#wz z;|H1zJ~MNMHa0fUSvm+F-U(ejhSuB(%$_`q>215v?RNaw{u_vsDnIt!yY$ch{C#-a z|NM2jb%Dj%(KPw6V5;W^(|$_wLsHd$;J!%sg+|JfQ=Fb#g8Yia&bfgjB1E8yy|Pz)&5% zb{CEkb*aPJ`YO%Oo|kUB$2)iLfOwB?uY-Dh0OVMTLU?d^07+6o*6ku;r&+IqwY7D4 zpHsC~1Chwe;ySWC=SHLM6>vqK>)`N+LM+QGYb0K1YI?JdjStbvS_c!8qk8=0IeO&bLm}G|Xj)^+Gf^*|1_qjFcfD-d zI>JNEVGPt#96E9uANkDJvC-*->WfH39XFc}%ZtmBR8vLwJhe{W%V}CiI7(um~Vr{jBcDI9SQrC@MhdcmL zuf1MRQkOXIRXeRVRhu;_a^WL~PT=^IOlNhQ-@HYitgMxLA$n1%Yz4x^3uv0HjNGAr=R-_8EMveV$&e@@0`YZyQS4y zjjGiuT#{nz)F%D@eGlp@-tgO8*}PvSYE5hu9;8I-h~PZ{cq{rG5$R99==nEIPK@8X zy1EQS3L-&K7=A*4OVU!X6>EnmrV?SK6}FCT>SGE9E}2mcU@dx~8a7*%h?hYS{pe$b z7=?$yRwm#A!9Fd*+@ZVK%wx)mEYySH`y;-_FhDc`P?*rp>i>w9l(>O?x}h{>jT`RU z?#DXTy~S~7vlcGI9Q(upA+hJ82z5I92(Am1T=@BN_G0uOK>2?T(cUKDKheb^V1YJ6 zP6d>3=tx%y1a#DEsxP}Z$m-+(ImLGw@!DXa3A=7J>?^3me9$p6m08F#7xYf!b6lCwC9X+u zVHlK!FV8_a9)2!jm|ctpH`*|?F!?7r;rwV&mrSgC0TM8%e21Bmg$>TEb^4VDqHxI&3XNQQFglS8BwC^g(Tc zKqc6D#o4$)u4FAv2wL@ETN2i9^g|aWu=jxBKM}}@jSY%GRFo}uLPl;!g*3o6s8Hkg zMleWXQAKub_739`)(aq83)azREq18@HguLQhzT0uD~rZ3(vWT0d$X#!;Lf8bTj`T# zvh`rjYF_*j2*21Vq!x!_5)&EMKC2z*vap7zBm@W{RuWKJEd_;rxnjz}?9pS7Ndut) zghPw^Nlzq`#F%KZf5&%B2=61tiKqsM4<#fyS`N6jpaW-CK9NX{jC4>7__E-IhNnoj zKO&qH;{t0O{u2i1x(kxZa8N}u%#t@RrbO`w1BZh(PRVEdm-NxDIc5-It)~PVB%}y! z{UOe%y;Bhc5{d0S**WJec_ACp(;wy>-k*w^Ws)=RWe~S@OYvE7*vF=IIW~f?tzIh*=3*1PFpC zf8d|rnp|<^UV8BEN3eZBaPrhy6s={w^s;T#>SUs|rteBM*>T0Cl#Floi;FGd%69sL z|NT$+&?i6P;WHv;Vg)lhg@Ow8LZzo4EF)xMo5Efwks}0K_K;TDj(nS#&z{j;6IDDt*F(XK>4^avOjLTE zo_yo61sbkZoJ$kb8a1@DLaT|R^Ya^0I7j>TZ>6l;!N{gzBre6=!iG3j9vKmcX?=k>?bVFb&lmme)F1UhnGKdO;NjRGq?ST|KeFv}d$x_?)LaXTEzyawA*$C2YinJ6 z_uG%+g}3eiE3mNA12JKId0xM~iDu1#1?YK2=0nMrI>l%$Ma3~D8wn^$aC)UHPt3QuoqGV{9h?h2_=eaLAgUDi z10tZ0P|P4IwHOcyR5Qi>FC-L95}@WOM*-g0B zkNP)!`Vj}sX}r-u=0$rRNEqZ`vwcJ%j^T?iRM#=vj1{QBk*L6{iX(6?UW!6_VlYKF zS1fmX_>(J|`bU3r4O&ljsk(VYc~hOVqhLxQ-F5VyoCLx1qn%ka)meiZE50FNQl3f9jZ(#O934f?=8 z{U^Tm-6zl%Xl92N14>LtIn`PMt~v)Vz*;vC-B2J^p$n#=gjg)5Zcb!#J`+^Z%e z)KWq>(_&_&#aXYQ+lCl__6t|j_B$^|ZO0y!@m)Zd1;-y(hjH@3MeNy`V)Tj$RL3@Huji>YJfOW+2d5u6iru$dit5-Xef?uU zLLw@+ykI9U&9?O1nHJ?qf=!bn_|B6pJb9{xO1+Mi-0LfD*-FzBgIGE>hrz0Vib&U#5-*ye?+M6|BZuzr^PdX`B_Wr`J$#*~f#pL;~e;;K+K6NQX z9he-kb0p$PNej(AdFj!!Z@KBk`!6~0we_`C%e%|c1yNfD11dt#Qm7*=6#+5BOKt-n z9av(gY2V*DvHXi2%*z+04Q0Jnt9|sJKXFEUF-}Ces=C3!Vcs@9tw)X?!e77rcj=dY z=eKa|2mgV=dIR;*5v^7eT3=ky&;0w{^xf}0hJXFm_b@d!j*GVMki#cW(?-@otJ5Js zaL2V*Llf^tvuWjDIu5Wx4k}JOS$xq8w*WbW9 z_wUiUGiRt)t7Cm}PMo*Q3rmX_85u=muz}Mj&*12hlYV4q z2$x*8m!CX%oHkZlnA$vn^XC^ZFxW(qdE_1{5OvJl>t=AZ1n15zpq5s!W$OeUd*nFY z^}&y0wY3fg;F1J+;nA$sWp!Od}FDW0+%ND@M$T0^zQK%uJ4ROEt2BLyi?saIq$tq{ZO>G>rbJv~Dnf_f#@ zzk1uR@vDCEPLSq!@OuyHvEyg3dCL@uD5MZ{dp)debU-dqWv9Jf2by~#Ch}g8rp#(QvzF(5Giu)fw40et$ z-MLjoJcsW3^jG5+aU<|1XKmQ2go@SUR0}Y{namj+0HEQE@$3{+R(sl^$JQ;5KP2tbz1Di z4mGR`P6-zXv4WnJ;T*wxDQ$8%b^ut_AL{$q9c^9pjzQuB&XiEVj!4V8G1S!&(F%A$ zaFyr}XN~xHfNJ72HT1!6lUOobs4rs$Sa!=(iAR*y*6|C~>SZHD)P@h2R>dKM4Rx>( z#F5#$mXqJgb0W;cGXXF~Al_UvtimCR;#tE4tO`D6khAw?EKv)%Kd99&?g8}vdfR5)`^j%^P6ee5@C0W1%!aUUAuj5S4SPs8sEeA;} z%tA*4_7F}!l%SMBEC`jU;dSU+c$f1yBWMp3VMc;TOY|+kgNB)eTG@oGCeqb7>n|vG z5e#F4U7sVMa6l@A!p>)uvmFBbB}_=5C@4I`5)(uTv-e35dme1HzQ)|a+0|+|-&F;a z*!qd28pZW%_>`@gh`$CaZUy^=mwy= zUoxouZo~(n6b2lSF@>g(R|ASm)pL|=%H-vJJq1-x3=Pi~Wz&JiKT%rFY!m_6A9<-6sU57(^rS1Fs-!fe#-=rtXb^ z97~Ec<;AIl`G2rE(90zhQC0qTW&s2@Fb@6)$&tR`%k9) zQ|kYH>>ALx`6&b>vcgsSC#HFe_gA~&eAYD*-eK^bvw}7v^cUcQAe7_?jP;G{IJQ?Q zEZ7)H!vY{dSPLGe5LSSk{d%}&Z_lk9cw^TfYEv8STFcfeyRbOB0H$t=icPge92nd1 zvrcWjMGnXUXqX;?az2DT-ttf-Yki`~Qc~ZRC0uhk9<}UJU?3c_aqrk{f@twoda;{+ zFxci(xtHUD?5}P@Ijlqb2TR#E7&a?0oU4II41}&8LD=G2 zDlAIhIY`-37lTB9heXyl-Wwqdi8WB1`y>Ww{J-Eu9}k{zK@!%4wcGSn8a98!zS^q? z#2JyMb|9K}zu~!R>p~G(c%a{*5G`uLvl0zncVQoqS?dLmClIL$MD;@ae2v>#O7f0X zjU3l<@5fmN078;L-nc6*6C(+yUf51{;ELKot|6f`#ZkD2LJ<-)E|tK+$I$?KK!v~d z#s7~-A_G!@TxjPjf%_N?EMCQV0pcZYtML8S$rT9MkgyA>4HCDsieg|MroF6*_y60s^gSQ= zcP!03ML;eL1tm2{MNj(<$XB=0RuXTiR??X=tROPd&Y;%*YG;6Hm!xiL(Did*5k&Nri5#wF!yC z*kFoIPf)3#IDfvA96Pt6C(gHN->y+VIa-HwyROl!=-g_qtIIvERN?2(uej%4wF#AG z6Z7X+F)}rx?QTK6Ru|{bt?Cu~CusAIF+Fp7ogRMtxITWih3_0bkHZ^^X6m$2Ntj4c z6pU)Bs5;g(Q5vhIs3(xzJ6`JLII+^hd|L#_h>!qm4aE}FR4xv+;gBw?IyesYFk;0~ z*?kw-J7T0lB&=dloGtPT07oPe%w$3`4LBiD5>A~%uP6|-FhnD1O@IBxSL-kTw_9}c zZ7-1`ZztrKibLPk+3!6{%cqX(;N&m{D+#bZtCgLXaDB^e&6ZDL=()F$ES=Wl|NKL} z;T`v4MGKi6tR)Fj$-GyAxI_VB)?7m1^I8xw;Fx_OAc(SO4&B{0ki@H?U3hFAs!^+x z$y#3MH-32^Kl|oH)>fi3_-#O@l_>!TQZ(*xMt7(gR+$OJl20ksN&BOnt+1%yTtil(*9 zqf&9WdLqS%wVobd_EfJB>Q#q!N5yN8mpYjg3hH&fPLysJI&&{CJpGhz+BGB?*vT?+ zy;nDqC`i`N{E$BLfq$Sce)~ASecvO}DFhx4fH0HOdL^ZHmLnyFL#lZ=W5PSOW6UEe z>zp!#gbB`~Y0wv04hMKJIaPp_Bn-sk=%lBxj_OQ;G^7Y#E9wBcY*STVuwzJ?b>&Cq zGdwZhp&TiuYNTU{2PGBsM6@Hq^F3hpdGK!%)uEg3s59-P{9_QWv_xF&sdXnFJFQw7~ zPfZbWQf%6a;(>1f)g~31`{MLjm(+$uriKaoZl>RO&U7y21f5<%yN5jX?Ha@R zxedUj7${b-o+oH^Gri@yF|4lk=-@Y=(rptp+WOqfF#Mt)m!fdkIB||>(*Zwt<8%1w zAKXvZJ?Bl@rHU{pQIHTN23SC#Ib~VKY0674eEuCjHat4|K&Qxp#exAPu^v*(FA#Gk zQv-(FTA<#9CuQ{;3MXfUeQK6K#Ab*QM66n^RWUnv{)J!p$~V6R2*6AguHuGgUPIrz z_Xl*t#e47%?|-MC-nrMc=Z|YEYiT2`aIFgb^C!NEuYCIfNFnm0BPV$OuHAa%#2M=L zIwB(Ad?~h(#Wvh{?G;)ZnV`un+jU}cLh5zLpcIwCF=cL|KDCp` zCG=14eTV5_j1pmrB*Cim*#vf*(En5Z?CRU!{NizQ09p{uHrxk!>uXmuKp< zKx5A>;B-L0{qYa-um6v?%V$3R|LBriUqt`>H}AtIKKW(&=*Rw+-~P_O!QcMFM?E=W z^^OupU}b#jgMXqw{`%L`!S8$(oo*(Zw@>rj%z13vu?ysTa`Ne8eD=&aot&CbCZXoQ zAdVe7P6GpjXf$f5R4T{{k4~!{^1p-?c}@17?-v3n0qZrO<^9=uNm1_x^$9c<5jfp;ywD*lSk2Nw6!zDnLc^YUmAtE?_at4)(lWkkJ(l7kZTXFHO zeKObw18^Rn0pqgquAaW50i~>WmXa-P%WUO!=kR<%Rk~2)i5)nce+R9v>3u^T!MElog zc!R`woC?FO3{N2-igML};DC=(iIadCk^^85BG>QccRtMdjDV(zD_9twQP%Qge-|Gd zL8FOE2|lY@-=(8C95Q^K3;Dj<{JwCWh3@(&Vy0+2q(Pk?gq((jMDeqU;MnT?@GNaH z*mDgfYY<}wVMx5dus-6%yYRe?$S@K^Je8PMSUZNWQqY28=<8jRu)adqK)4UF zfy-n9$0!B}@LeP>0M$}aZn#(HhbtQD3yZ&r_@sYT@F@_=w@6J z1{g>0|G>#>=KEQqujtSf+_T?hkamyNDUkS^U&H|u@$?DGDe_Y?teqkddaAFhYZJMz9IG86qgQ(U6$ShdH1bT&a)M$to z4nVaj&y26OksB*U}j^s_G0wU>Vs@OmTL^7~Hk3h{1DkfMO2?s|J9}nxp zIz2=Mgan`>96B7^7XvXU7LNn@+*2Iz97!{>_@IiAEII?fl}ctk?vTXRQvv&a z@g>0 zeP2juthLENc(#rYi}Px8XGp{6A;u$Xy;D=A$94b#h&&2MwhY5{fYb<7MmeNM!nqY& zW)^@ZEF|IB)apQOp!dY7Q$PFt$BunG zRAsaZZEvit@lPjcna3*Iu=a51m-Tj>|8?z8h~8sZH>GKRhh&_^Z$G-9NZjMLR?Q zQUXL1lonATWzp0n@JdAR`v2kTy~8ZKsw?re_qq4JTsd}E=b)BaSwcd9kY%C>223&- zY;0f{GuXzM8L+W2w(-~=V;jcU1Oq0RU~*1E8RgJYtJOiBQ|0vP<#+Gd`}fB==T*;- z?-O5lSJkU~PuS<|wbovn0AwQM-qASWuZZVsZRh~uBD1OBU;gBc_|=IvYKse)80$x4 zZV})6%B@fZwr?B3tu_r-CC9xTsee=g)X0-S;a_y z36>4ooWnplhnQ0Ijr7Te4TF5-*gP1leM3cBS?!?KCge(aSy`>i++sVbw=ztORlt#v zojb>QZnmx)MvEH7#7SacB}FV&JDHG)6X~{v*Vbwn9V(*P?4p=c&6$YK&DS8_Rxyh5 z*gR3f@$)tO^zlVpx_uBg?j6AS#fB{wN(O1FhYp^iYj^fzXf%(-LUf?^>LZg(&{ zy@1i70jyLTxbJjL56w1lXtjf;WJrjK6&iVCsDZpeF)}Dbz(792ax24JJ=2Az#Zo&Z ztC<3E&jf7!2q$4uR!=5|-XF?7R*9%u2le_oBzKY%sk%MvWl0KH7rg@+No-Xmq?Yb1 z0I6h>F#|eLjP;ja`X9Vu!Xh``XTce_m(*6PS(Hx&cJY*)y6Yh}ePh`As+XwY8fDYV z$oKUjy5tIIV_6pd>qord?XSYp-S^1<`rC);b5BgmhQ5+vHRxEY8AJ?H2Ry6w z?FrS%&&hS=ae+Q!Mmx*6o?2`h&g*=&O^sA!`tPpdku9p7Mu~FIzgp#`T3I=HFMs@R zJ|$oN_CtJjt&I#88QeJ#6Z^PpoEx4$msS0Jj6&roxnvMtt>xpMGh~clU0YS(x`q&u zyGxL}x2dXvm5Ge25y~I<6zX`Eu4>uYw-CS8?nKNo*cjq=q(b7CS#f+01z|xd_qN z6zrK}8gJMNQ6eo5s19rpU7jol7(A0?7JAcXb{U>qssVdgA zjB`sZy!pXzfV=Z5ofO(=kk*%g*^`jzGg#U86h>bET99o5!$V4|Rhs$uH!*nacI2KXFLv_M@No#>aw@&ekD@W4O;wOSn~9-hWhwXHY& z?(=EvxxXSP538A9Ftf9ZnELg%>)l`Zq5kS`e!voO%yCYbBcxeIP-IFPk(Er*jRyJ# z5B=IJZrR)Db{v4Cg3!lH{5`LyGYdW1DBR_lBohsH`JM$JanD~kCU=c6zFd}}uvv!w zfj)fmyFWO;vb-|kCFF9|C71HK*;y>FF5qJy`UAY~H-1eA$_1J^`84u{1o;^F#HaoX zU;ojgxZxQWqn&0rcyb091`@nB2Mr#r_IRQo!PwS;WLzYpzgZc}`BBn`Keb zd?8QFtd(+wHgDU7t=BzEYs*#ijZOg^)06l96xYA-jSz|S>dP;aEK3d9E(AuOKK?Y_ z{jE>onwPyEGmm@+qnr0)b>WQ0aRex+yz?f7ZPDvqa0_hKmhawuAI+aXBp-awhs=g8 z+vRyTKZjrWmfy$H(h@*~TwH|B+PMD8i}916e;tKf33vbS>*%jk!1)M6ef^l+woT3* zKgLI%I)ZK6x1f;EE0LnQTBBOMp>ZyUEK@2LVzk?Bw41G-xMOW?4MRhN$X5y|Cq>j- z4FEtsNsuHts9JPVi%zS9%nI^Jq?uYGW@RGEGHZ*)q5)JQW-|F)mXC6AyW57%Qb;Dq zm-0yBB0l%Yf7h$8zm~3i#x=+#2~IqH6cbY$@$K*aTuX6`XWei)EL2XPnKlYWb*+xI zYF)SO*bGfUr_Y?XLd0Vu6*_ie25Yq@e)qRut#{u282!^{zK%o3jsnbxsGzAdC?R0( z^b;seT?9LG0O{OOn0ygQU%x;iQp&^>2U$5*O}k8{Bpl};5s9FWD5;Rz4t?&g|A^l8 z;ZGt{QUgPUa#byf762O%lOZsx5Qrm+prYtz7M3(4 zM3HLN%k&5ag*ZX3RKWP~AR;2v*6LWR)ll!WWT4W|m+jexh#9A6R_&3~Cjqr|^L3Ze z55Mt$w7s&*KmEl%v^!mF+BAyg)w;HtDcV^F2^$Czbvj*S-40Y4Rzyd~hUnDAi1dDml98`n?z)EFz9#v^pJZ*}4^(&2aMYetG_@-^Qc6uEI6f zJQt5WwZ99Y$S3$t3+)ctE-}S#e9gJ`CJx zbOXkV5j~;_40`P9)CP+h_^L+Vvrom< zrKp$n2E0qv0rMIvzb?QI$pPiYV@H{aXP#FW+}UQlxKA!~~=49Bvt@cL?B`bj7Crt3}6Mn5Jxv^5~TxST>v-EN<4}>5gg*q(KFq{<6 zlQ0f9i5$KawDQVeC2|`_70TXQ!UHBj9Z#MYaBW?ks{%LKWVggJAU9wlE`pv3<+I6p~oYCKr2^tDH-c)|*=kVunBG`%kCubK z6r;B&;YkNr^uS&~JwSOuyGmUL?A`qMMJ*vPyLI4TSpOdImL8jIKL$d=-fL6;1>q19QQJ!R>j!2Lu<8P7eGKe*h3= zK1PP;b4myG3UUAtHoZ1m){}dtR|P@d;wmf_7k|XZD($T$PfqyX>vTD8|1s-&WrJ59 zcu}Yib?(CG!n|KA4he#1Xxx5*Q}c%loU8tTBO?s_#R&-A>)jdboqGSDaz+h-pvS&* zu&H7W5|JJm3HEAc%e}o47+x25j8FF6`nOP6223V?P8jU>H(B@l-Q~=K1fE>taIjNY z5pMp8eAE+PHxVjXG@L8$b0SYGHb zY7>$)SFv*92t9V^{TSAU(&7vj?)?QV-upv5dv^|ZeD|;H(Z|1u-+Aftl|kq#)FR6O z*oaA(7>0elRQt=uvLR4Xlw7{7g+k6=zrEj%loMK6YIB@3xbljv znAkV~lf=m7b4vMGqg(ECANn*2O(*Snu9F>uw z5M`ANwUZ_gi=;*oW8WvYtDC8q8mJ{VDhloWtZW__Ub15Ahhb$EY?08^;Q=ZK7!RpQ_uL8l#vmpj=>>nCZ~D27dPN8Dydu+c1nwBTV$? z@a(IG@ycJn3b#HrjlaG1G`@Xs8IR61w9)ROpa6-g2+=^^U}_+T(PE6jJR?VplgnK^ ze7=dp%Wax(byQSf5K%-5?bS~)DYLti62p1t!P}Yn`@g8W(EHLPcK=bh14k|hxF{i! z4+^TJnvVYHeY~;1uB-bF>HK%@J)u zMgwDrMmO=Lzx@gnHw{3oqO)d&H}BBS^1RB)12F9>o7SRqI}Po-?oz&bAg@G3YwfOB z*T{t+gp{n`H(qI_fFakrCL#l47%{tz1w)*Ri1Kj^sDP}ZnOV(&dH5Nl%9mb>q~Cx} z93vT>01q&d@j>JV29d6HarV)3SU9l&G5}gBa+L_?%AJU=xr$c)@vAuh#2j*$Z-FF5 z6t-`nA~9J@WHf>(h*S}=i;hf&RDo`0nIoow$RGyOVndM_!KS_l%7k{;iW-(`mH_~M z_?7<&h(h5a0IQ z8YYvEjE>|Zy<#-N=Fu`%l;uPF+xq$sAEjTu;}bSIeLu3ofHn@#vW^d$*3vBO`J;^0 zd8*!fpG}wRpe=jE?6{a{aEv5QAdOX}#p6sQmWH-MP92c!#3Q6o;;e?X{fD4WA0Yem z5p*AT6!O4B=-zV&R=)Xl?EPP_0UH4)G3Va!yDEKyh$p5*S~ckDgD5}$`I@$xs!d|E z^zK~H;^wHSy@_T8^xR}=Ma}F+U&;K z$Vb?I(HNcn>HXS%=yvU_q(mFGXQQU2^FR4k_N+JlEMGLREew=-yFq`~bs`DN z3Q5QS)s^aVs@2B0tEkefTprM^nVzx(Q&uyLe}fpQs3D|KnK8fa&2DkVl2XHV%%-|{~&|HOCj@SWe}U3+%x(??Ix z2mbmq_V#<9kapW*&#sFwcm5piyyqTiw$^lYX%UBy9M;Evd5_%wo$umjU;Yod`$u1v z2k!h9F~LT~3XM!|(2ZL*>ocEs6K;IruSj13a`M1~`s5wol|%RbRO{#VgE+F6KKqsU z;=lf#SP?yZ{3KWF4JbLQm*Jr?{Ki|~3#1m~m)xvYJLuc69a+1jQNDz%u>@km%U<$K zd*2hsv@w5LN2m7ijW=J9Q>V_*lSfbL^KZCTgLET`4NMftzNe1hga7k`P!U}H%&Wnq z$VV~GPtV}!fhW=JbW!Q6V0Cp3?X*K=Vl55yNj{$=!!bq3wAJar7=v=9A5p|=;sis3 z14z3a#1sLMm(_xlO^mL!s5hIiR?um8G}BBhn5<)tkah&MwT4-%t|Cn{UTf5lwmWe* z&6GGoTqwds5xU(Jovedvu73sB*Rmp7EJjvxNiefG7r@O@v#fBnm!;rHI~3fi-E1B?;0(l%CCSLEo4Q>d-A z?9OddxaNvWuw&B{>diKO`S6qS`UdQ!)Czlv8@s(AUYJq!JP zIn2+kAx$&n3K8X#gfdZ8Rmmk0EJp$YqKK%~?qGCmn9?l6rl~3Z^yj|@X)oaX>61)k zP;WJ`)@-4_Sj0-BMkmhA=%%qD^p(m~tF>S)Fw|d$l9*=K(%GdIl=6A{#iK`Y|D%V{ z?xg5u7KRPZPR}40#gM3idvE&@+VjWtd*Aphph(;y$-?0lCIAt2RWzHzd9SWE2EX+cjs4KJc3z*k;q52th1=;Ew>{rfwZ!XYaTdLnNFc!a}r1SWO7;kT*Zq6uV z5FQH>fAjN@9XNpR!XV=?kkD+I)Peu(i3tiogm_X%d;$X}?lbVhL9eQJ6%q#Q{jtU4 zFQHN+fd3>8Q-UxYDMjmjHi_5gN&?;-uq+Syc)XcHU4tjbG+@0RPXN3y(XZpsmr)fk z!4*QnGIIC~V0t2J_WMmF*f`nV=Q`|2LBI7|Z+0)fPF?i^h4XWZGs`U*mGXIX`*f?ji zEOgJZgrE|<^5A^gLb((JEDlU`BN?6wJ;p*a01=_r;DdeX8qljEaH3_$@`;cm$-}r) zP+W)iLdR{Q@z1azmq<{_8D$WFmyfv7c4}UP}x;;=RrK6sazW*L_StS!AgC|Tp zD=y;t^}2FAuP*mLr@amC4gmL5o=COo?8$sAL+>rz`f}gx52oHEt0ywqUHl-PoDDDS zX}F-~4@`3)9{lq%xqcdIy)&ZUH|+NW!d&_br)Ql&Jx1SOq-gy;!vSyA_n+{YxKkxW zaE+*Z{}+O1%zG`D9l1c{V_NW$HjYH{F^D;kkm0OD&sK{4yQ|+vq;Q`72pqku;_CS^ zTJ+9I?{@)WMJ8S)q2c`UUk`i2zd!u%BC!CuS|U}iFpzLLR!0~_41%HlQc=Ht>-~2x z*E-K8!%CzIVuA$`kut(?6p!EgGzz98L*pZywz`sKEn4juB8@P;($cFg8AHkief-coHJVM`GgZ-Y zA>mrB4V8>8x^xR*Vm*F#mF8AD!nqQU59M{BZ0O{46|JVlYm0Y^(^3;a01wOUo@%s~Dafww*LHkwWWh zP4o{IsoqLuuwXDblJIIvFwj@f`f6S07HT{-R@T$=bvk~grh@}T)H+tSPn0RkGCg+m zoaxIk^7#TZ7h`B-5I0{xsz)9?NcSFT;ot8%CWn{1Tq(pzyQvZ}6=I{tFk*s^mJ{wz z7%+_Ut1TQ`X`_)jm30K;LivUZ9RP zGo-4lA_B09h%{qS7bMwLEGjb*6T`Y1S4WyN&`P@iiT&jt-(;@5vQMfq(wR793q zZQ5GS;pAGAM{_yM9D1GTlV`bo=&UAF14wHvAWJFUwH2~h2bBv#S(95w7cC7An6%nL zX`&ytm_xeK#q5{v*0JY~)4+?b04n{Ow)(OASHDd2S&FH084a7F6i2Wka90r41eVGP zpLLzDdm`HxL(c5N@axwrE^P z2xksJYgM$@79@-NO)QKCy67}>GVy}fb7ota8GVjXE|Snm{mH+7kzV!RKdA&zVxnLh zDQ-0=TlIHV_WrJpvGyk*9N0iC!~$5u*4GTd-(JXzIl|$lN=l*(Lz-Dv*zapm$-1*$ zFBvV;%eR*?-|EWgl@2dAMH53*Obj9-#IZqaEb1NARcp}7ShJ;NdjH-6-to zoSG?XAGwFS2Og)~mR%ZMb|pz_!HuSi`NJC^tE)(-kAo8f9p0koSTc=S@W>|7zERBo z-3KV;n1-&r$nrp$({nS(ZJI)|`yyR=`ZUGuRdkP^)WMg(f^~FKy7&Bq^OKWWzwa(Y zm0=X#@OG@+dOJ#STeVq3e(%McUHM#SBh${^cT)DmUEs~TQNDB!j5eja+#rq&AyI+J zlU-b(Xu}wA?u2$u&Fbp$MXs$hVN_)N`aO)!D$;5Vnp*9@Rrx;z{XLoJ@q(b(=IJu z^9Fg>Ykr46^Q{MzScy3zB4b6siqyI#D0;&UH@tPrj*VYxH#$CNl=Zugzc;wz%wTH( zC*lC1YcseMe_a)-L|)TRzB#vmV@58?A<0E3=89NaSoq|(zVrRJbuxFkzhdu|X0R0F zt_Sa@fBxXR@Q!!A5kxur)O~jv+o<8p`6c||r}ts&)+y}VI)q=`dkEjX=SgjKGP2S| zK1t-{;m2rbY73pX^WSmjkAH@~;Z6F`gNJEuWzoLxegBQmovX?(A9&21c=~C%;W^Kw zo1c4yY`x@4(`|PZ`3m|cw?f)AvLeE)Xg8P02sCXqXl3ra&YwAl@BHviWSrA?{MM^z zYTG#3xE~MQd6#8ae#WmppW=b7M5dyzfAwqZ_inul8zwhI`CLKA2g_6{0byeu#eKoqvHOTfy3i z+q5_^O3BbxNPS5_5hE%K7xIkuA}r@DxI{KnrSc>qGW@_d|K2|L^?wp&%38`NGSoM~ z^{$n)-JvvXb62dWs#mWe8z|@EfBeuN$eZ5zzc?ujh-hS?8Z(omX_XiP=`_{a4kOLf zTBvQ+sWR9P$}=I!D<~nPsfr|MtS!-JKlNGtn}7TSt<-7)fo>R|;O(0xDQ{S(7nb$- zxfxbbnH(MAQXxU713f--P9nqnu|IvA{?6~-!pD!C#?SA5O8Y7W$|aFDS{)Tp@A4s< zisd+AwH-@hfwr|;tF@`wXyT$>oA96JApa%6UG8<)BHDxY1d0>pal?oG6DbU+_GaFkyDoQv_yYcIz5*sz{HH%lAG$7QY2 z;f48mY`y5B>_u;UTl9{%{*iq8i~q^QY#}|^m6%NjDx{?R>X+VfQ>9qAZ>`mE4NpO^ z>~RNw+8QV_B^V`VqibR(UW9StTAxQVI}jBC2O}rwW3yfvMZyk5v;=zMQYz!iNS*i)|jT@T6N=a8VO_KU2Xh4TO05<3*rc> z8A4Ou0NgA5yO0-PTY~fG_5=j6Cu4k%f*^hDxg~^gaCl}QwhXBkaC&@}Jj&+rS#}bC zU#Vgt>V-?}`WJE#uj)GD=&Y;UGsBZ1^jmLwvoGb=|EK&WY~1h?4$QW_GDvu99P5Fy z0Coq7y({7Hjc%DC89?NKI;WgfU$Wzth_gOX?=7z$JX$YVahuvNJOA14BIde!JJ8%K zx77tE1dvGsi0ucGd}%~L8UwT}9_}W$vD6YMBBySJqxPwXnEKKkB1G(2KOgY~&;YIr z1l%hVvLG=&VuXCgkCo_pfb&2%ymHtC`!8frj@(}iJirh1?29f0vy5BVJ>1_fB?MJG zp=X)lFlN8$IgFPCIlMnS0%%9hF2=uv_CDEfFm_3OXfne-Aj1Q*YyhjeUS8CDF7YKR z{u3zxi0&YBAg(`1M0-J3*c|{?)PblT0}cm;YXGgV;^AV09xLk9)Y=;$cMh!+TU*^ZBG z1^B%|QTYspri_2k;`DV(!Il1up{8*Y^PzYnOUV`MBAZicbc4U-`s_IX-U?bG~ zXn*JhYbL;{3)lli!Sj**{&5)gIw*QU9f>FM{AX$K@iO~+&oFR2$1XD;QBO}UK3{` z^)6q*!_Xb@4y^a&oG0S~n+#vV1{QyL@x3+RtCrNq0{Dj6#;-{aviArb2FSY4RSK89 zutwqcv%f$vIn|qA|NpP2zJe%nN{>*nPpQjNUuAi%mELU2I^# z&NL|P{R$9Ito0h#YgjXG9UB&B8AV=!5pH6>#13u=xYeW=u%NJIEDEk%G_WwA)kwJ@Z|a5d-%Yq ze^a8iArk`%W+k-|xjw*3qAHnyzwqb3gEzkPa(VD)cgp5%Te-7*j&A$Oz4W~&7UZhQ zB409*$KmO^#>PmyE2dzq7L1@=jL=ufLo#SgDNWC}Xl~VF$DS?FgymUROrU>q14-7U z6X$Ds?F(Os@>Q2X@&kJ4m;32o|MPZy<=eMmtzHMXLl7XMSU6&0kcv2?rc9J$f~L|{ z0Q?89eJTF-&tGnJVV>uoI;^IWXL4p}~TU z( zp1|w>&)cbT#k0^ka!_^u&!LxHM!B8a?CiZK=oxSN51r`}?HTE#S}N4dQfJcvLf0xF zsvMDKsU?u1IAX~}*!Asj-mftk6#`ZoZQ9V6*i+ROKWiX|dmnift$p_)t)8yZ4<29HV{J z^|oVmdMKK{n2Iyu$!qC;Wkd+L5d4r`6A)gpsX|$=@ zZsT+Be6fAq-~12eGxt&Yz-=hp@O(&RLKz)Uvqous4Ysz5s8t7IMwSAdu4-CqAWjS= zyDvhnSOAx|Av1ZjHf+;eW0p$gS1E{TD4+9p;s{KH$S7)^6s<0him%}GG1r|nqQp$S zGeuO1S(TKn6&QwsN!>Ny#a#79Knk!@rYz(NqnSXGN$PJMTl-@A)h#8vp=9`Mqk}_p zmfERBe=$KNX0Tx>lNcscJ6)WrDy3^J{PD9U@U}PZru?qWO8q6s!Ya}uN2u_M-voxn zVGlh9S(=3zoP=nm((I@ZxIH_As9Qs_>oU-WOHey>1j)id#GAG%lTb9Z0rvc9WOK6; zUvep1E~&Lbg{f_5-SKs_pFDulMN`OKbTQfoo&@Fkq0tDEty{9j!N;Qfj!D&p2C4^+ zVddN+mA7w4bpAMofAjSjS8|aySD@V#+0i2!RVu_gE<-kRQswjswKLOf;{>^>37q-i z0n`^-C~h9a;08ir!$wJ$mN*{?;^AR!F0PWMT~w~Q3XP*D^}+8Q)16lh^Y&L>jn#c; z(OzvMKRJ%5Sw-BRLwlhnE7LVDj}%e5Y`fZO8*}@P)7aJ_uoZp!k+V9pkWywrty~V1 zVdv`Y7CkQGy{_wZ7R8ZApw z+^`cnw{ORR{g293SKUD0{n5|qp~nvB^PYVLz3Po`(yiA&UnyNf#yL)FtH^3Ah|7K2 z>9#39IE6SVDcPpZKKXO%8=gXOd{U*;pl(~R|KW%6zuy00>dWQjhj;y$=Fgp=qX(Xn zyKn!6zV-Lt&BNO+#o41z=;hCREix#VD}y>Q)Q?RY#%OhZ7W)q$)4BO$$mN)jwUDJ2 z>Dn@qViAZ6nhb5EkACn^^#dRNS1d0-B}xB;`RIo}q|#s4KNKY@L|G znVEA)k|K4wb^Q77y@~$xL+{n;lgFstY=Akz*)ykQY-|Mm{R6yKt7|?s5Q3&6K$`LV z(u(wzOR!nSRt2#!n#<*}Qms-hiqTFxQY;j8d1;vk2m7h7uMBGmomLGdiV^3F+Uhh> z%oT~4QL9yvS!h0HisGCWiaDg+R1y;#jw794n4_WL5mX8#X|)|Oxl-rmS9orI2^%+zV{v&6Hq8*lF$Ah1QEe? z*ItdUeErAx!w-E-<2WLb43RPDbW^EX^Iohu;5}`21JDtsSvcF64Fdn zx3Sh}>h_5V-ZnLaM-HCE>RLEg8(OW_=!G}z!HqXuicThIH#2mtpwVh$ z%Z@FwX~R~U+IxleOxpB08Z%0UUkkMgOZR722g`FpfTwE&*y)k_W&_pAZA^+$8m|C$F#knq66fe zfYJs4mOW+!a=^dOp98)QPprZd3hrGDM6AOkeO?w&a|h{YFMo8oE;*br2uZz|5k5Nw z*gs>qqc}j>1DCx&2l1x^iQ&bfKL7VZ=m3F;$775KM>O1b{CH==0A=XeS~I-B)#v0H zU^#>FUhhKG!;Ls5Wa8dC3K#-{5Y~aQP7G&3?8l0n6G+Ipo%OFL6?$L}d)(;)i)sIF zY{=!}!BQ92SAcl9C170=-k)4gQr|G$51CgTYmZ<+P~-b*e+o_zO7N70$7IMi#&r${ z77qIeB$tD-*#90~e^xJI4zrEO3;i@Wzxd}Shd+tO5&~8Y@28L6czD67$A^Nr-Pv+; zZ|(`|tNk4=85|o_9meTbd{68hWSnjd5mc>{O&#(2m4_i?fwa%g<^9nI$zVlY8znZWpy{0jIpl>QBNNDK%-Fa zp&u$I7y>A>_6j24^cqe@OU412Jpg?`g10mhBdwM z3USJlv0=yrurRLbNL^)zi=i$Sx@rLfA@8Tio&_iCE(H?e7xxIqz(O;H_!>4xxDXh3 zIZ}5RJN3Hw#^`=bYzku2+wUAXaNWN$0N41&RT21j)vJ7RW2i7r$pOdEbMIc@J|x_| z!Uwws@IDk{y}yck26a_n8k7y>nSOWqQx{ZV44}#o-&~0i2oddZ;Gp%27*cmeMG`Jo z0A-F4rEog>vfB_EeXs|6%OC6MtM$qbPdvB*_Lo{uHW`2{Beg;%Vr_S{f8UYQA15Fq zC}$8SxDgUXW(caT99Q^5?|vKJ{PthNPyhBK*t&h(m`;sW*J}9Mz6G6#iOUgCZKjg2 z=vYySON8NaPCEk1Qc+_widfO^q^R`g^`h-19G_mr`Q;{$Hs>)oKBGfhHppPRtEV1( z#FP#lL}_Y+OpI-zfBEnm@UI_vhdz1Fefq!t{>OaBBl|R!4v+@QClcd}eNzSJlOp~5 zdtalkdF2gs_Ky2azFWg!pCKC?{NnC|NMc~)c!BEmx@I6Mmip0ErfhWy_nZQrec2dJ z9X&56j?HkXlIYoaE7f|Jl$g5hwhjzcpqx;1ZIuS2OtqXtOCy?FsAF+CQWc<7EI^Ir zj*vcmu7hTyh7+@GWZjPL+%Sg7Fwd>Dw9yrfO{^=mHZLr<Dr5iXneGUhP5i) z2F5BS?7n=LJotDbZ@%@ak&Q_VpP8CpdF*!4?X6qj3)Hj%q2f zv~_Ao=GQWF@Jy9;FrvQUA-wI`J1{U*#^3+z9r)yrj$oA{s+3}s6QFHDuzM6i%RXb`^bn301D& zgXXbm@Y<>=jP_&rx-CfO=P~=}jLJwwwQrHMo4U>`3Qm~C!gB1A4YEe0tIDx;3Ak8M zF-&YSFbJ)#B97f9ceT?&DIs~o-~Xji)3NmjpFq@JV>>?$qlr>6W;EMkB4Vy2YDRYe zg)%HkRLS>IyK4}|qUpXLlOz#%gTmx1QapbK3n$WW`;}Z0^H3o|E{ecRV$+l-$~n~A zDONj~HoHo#u0`s4)HrCtddo(I!VsyX#GLp5s{%{xtOp=qW!Gj~6{^nYn7k%YMFq?e zDJ&^Y*Q|c+U{$yF&AcU>VU<(YI8OoD864W>N6(rk!-n4};IW0rk_%=$v{=hc`?JZ`j00>YIV605G9)so|7MpTWR5O-t z2fRFsq*S6-wN6wjqOfHH(uGyDJ8g_#I*69dA+jx9e)up`&ZrI+iSrE48Nkqg0{fVx1RjH6rttH6!l~EapNjj-!wHoC>h>{F_6_WGkYaC?} zZQRt4q>{jz0v4A$!b*J6mNG^PvD9N@?tNlWFME#RbNdd-#N0eL+p9A6$Q^oiCTC*A z(qW>ER8=V=0t|5m(F~+iU0S$-#WDfb2{kOl`Yc^MK@a2Z{_I6yqEPnz0#p&Pf$MZ5 zP>#UFd4bh^`<{By;X{Yt+i15gCe;E&;xtPmfMD394qGB#Tw111r>R$8b`=e6yNG1@ zq%NL0t<8EHCr;03y_vF-VEe{V-1f)`>^pQCdBf7S!k_z_cVptB%dr0kAH)5>xF3_- zFF`R$P_M4&VE+L9(F)~m;M zKaMoZkPM8gbgQ&-Vjqo_NA>sq@ZI$1fBSFpoiBaC{KoJ9DPH`%U!f0v_~Y2Kb2F~F z^a}pPy>}r_ScnXF(+(n&;1gf@0p9y(e@x{{9~x^ljq*UbSVp(grEc0$%`B`jl;jMg zBg9dpu~z|E5vWyUHbWE(MFKDrj1YG^DFz4o5y!DI8;X(`%;EreWfY=<%i*#Nr9#Px zMW8|van|Xm6{c>KDcT+Mm&!28XtWy45u?4T~6QBQ%=1i=)TtfMH5c4Z@7^oES zrSJa&%!W*J8XQ+ZxriVZ(pmr)hKQmfUYG-N|5hW&0 z5*;6^V7^)<+sQPwT~boJZMb6o;eWp$uYAk9#F#`aLo*u#^)u9-KO$M&Wn=})4R4md zk*z2UO;UNXp}CPMVndpBx&*6ub`+sqUr}QsdgAum_5AcHI`H%?9{A-)bb0L@z2VKj zkBguG2CWoJ_~@tqMgQjS{sbR*&tK4geD~*c^wfEs7#_jMKn1N%%B@zW(2N?LE=C82 zX{}brKmW(K^xg;d)AzplPjvk=F2%uv$C2a{B43#(V!;5l+g%iLImCuBGB}97Qp!h9 z&S2BV2|RrNe%-j|GXB(O{;&S**4t>Y-jpOts9<8MHmc|^7BEn$XuFm2@$=^}JW#Y( z?b>4Q-hYUg4fY>Bh2ctx$^%1s=fh7^As6d2pLscTS~az4m!J$|38zmS!{*%=^QZsu zuk@{d_yGv4Q}qc%Rbe77Y9{Gwt-ABnndvJkmGTpvZU+I}QOR8X+RLn66~B@LKB4OG zUoI01e(6ROV%8P!uE}lY9Ss0abwV@in!xr{#~x~QrB*$#!E5SaJun+Aq$V@7)RDLACz}-*QKZRVOkgI0pnGAXRZfX0ZE8=ywNS*)#7>UQ99HZfJT$gu~NY4<|^;vb5 z70xAK-Nsr1Fs=eN{>W5c1y2N3hjpo8&z-n)lAx|6#5!S%cp;tjqFx|S3-E-DcQg^F zj(32%7k>)%synO)GzlID^CDnUMWzAAbNB=cAYz^Iv=_R2dl!)UM#4h9I{-Ys0KcZ7 zbb)=mCljEqPo~f5Lq&r3N`Uz1f!~7&?jZrU3-8ohKicaV=rA(xI01)w!dnBe$Brp! zfD`}$002ouK~x>tLI8)}4!%}~$hmiTfhiM#-t^`-d6vjM00ra?(gSP!+peqM-8O~< znWtx*JdB5RW$d~=2z(QQ^)i@1C^&^RIKaN1fq?^OdSH)(ue2pv*6a3??phpnF%bbhJ~f% z=gNbXy{ZofKn7(rd;sJgyXrx0_DX$Ey7U&kKWoSz6Tz#?cx5kq@a#4FHri7bBPesp zvsuc$!;E{%VOQ!BlOvr%%ypv}Ks!GcLe4QMY-A2ZMOc^QS6*1#e&Z29)_(#VfKtu$J(yto^965pY=>@y_ldyl)?L7{MLa>|( zWD?w%u_xXXzM{jAsq14ANR4%9lzn7yLBYDuH=YOy^Xmy5Ryak0YpQ_ID?`awo%sDC z?4HZ?Fm^|T7eR=|PPX=<2EKwgQw0BJjEVWzr zhH1SC9)*MO0)Vd_TrgaN>0afC1f{-p@jWs<3#UL-1-q>f55v3pqM-G6 z@dUJI0|A6fS!lw{&L)Y}tyMROKEC?p)}jl}L(ifLF_5Lcy2I}rT@PkNfY=O?$-x@Jt@j^1zEoe^M(R|nA~3Et zfuOE~6jVrVxcD;u$rpZKXAeAq!v~II^TrX{R#?NgzWQ@KJ{MuQK-e>3P{~JldeKTH zr`qW%jSNJHDdE|gpqjzvC`Hn38xu1M2BYo_a$G`Y(jC2>M*w=^C3k_}7fx);%XBJXjYk)4lsC+K9LR9KVPQ2$UF<-R-y%L%%apw(5ZthA6dYUreys)?x9 zh4dxF5l5J=ck$GjrjC{wSMC}_LnFH5(K%ebb3pqFG0oL78SBsUqX$lFLP{y;kTWrM zZcMOgw1C~4`{j|R=6N-Xb!xnfVgihf4AO%K7cjrr#IvuQ)Ox*%QYE44T2srV5*~>kHd3*@;^;sq8g|BvR@M_O7zV2^D+*^HAQ0!3S`r1#=ITDFO+>nI?%Ga6IGD|8MWn%gnN z?b&5{*3JLKPp()Lb1@1g0a%bTIY=hjR_k^t8??KrtF`p`5z;Q07%>}Uq-b)0js)$Vlg`%Ei zU@~I0%S|OTIw~J~`6m4Sm;V`Z{2^ZZ#H%`%bUtVKX8Y$(_7FS8D z1mp~`+H^@`%$YV)P_>(((aGGo8aPpL1?9cFDY4}UMl)~82vQ*-?NzpF$cKD6zi-kO z4s1B(l!aoX7~`t(B6bfX$Ot-H>(YGFq7pL%s{MtC)EKPPGFe`0^HQ^miGtDJxq29{ zyD?9tOZR|pyagP!5gj-QEyl=Dfi9f`7YYC;&^Q9+DhiX3)K(!2=cH9#Vanx!R!g{A zMeE#Y9(>u$z)_6s{Ao?Ddl6A%3H4w8R2$O^H2k8MDGyetd*7`r0K2m4YIbrt zG^gi4?GDU9L9%L-JF~0kbTUPnp|WL!K(RI!R)`~#v?0_IrG@#XRv=WGC}8C3ok)@# z7EZ6>{E>NV9F0&I?AOvzL`&0k9DHI~1%!c-9F@|h7ApywHj-i@d~7voI`bH0W)V;kW!)oLjw~7n3(9p^vMMr zpKjv$&mBc$p{hsEc67sNfyOS~L$l{*G4YIRq;UN$dg|+6GcW((?P~hVbmH_`amjwn z#Y#o8EJd@q!rP`cf8(a-J?ppD)*5ZH!j@D*!%Tv8*L5#ig1;{~z$}UfDwQ-}C~&jg z8d_diyJT*0>7}bnE6-hCtL^G^ZGWp#Gnuvip35*0QerI>^3=%$d35c|e&u?(_3lTa zJBV!>fM-Qah{neC@NOhVaiPc6|AHMCgyzPpsv2^BicK-O&(Z@@YjBDJ0`}*k&6@Ty=W7( z-A2}F;HN+PicsG+T6pSqD)jZKsv#yqvsTCO#W(1?-~1Zf_P_x=arg-`Q4YWH>%WC& zZ4Dp!oA=>)zy1y|TeR91YqeEaD`3O;;y?chUi^Y*puyi{q74vzND-~h` z)YfVc3k;18;ppL~k;@x2YhA3a)zRNqL9v`etJy_n1%pF_Xw(}hl?%w_3eYSAq8Pb| zAt3ce2#_pQV~j?TA%T)us|wb9WQdHBG)=kNPSr##3X0;0Y^&Wi?N;jg#YK!LP5`l3 zUasNX>^vev7#$tbIF6~+>gwuR9fSQ9N;5&b(}uM`92=dUUZAx`2SdXHxam1p;ZvXg zAwKrGF9U!K42|&W@-jvT$~e2QjF=d!`#*<)?av0qWl_nPjRDvI6pLE~#A4fEuu85= z`@Z>gT=$0eK`b=lh`_EnJ5e5;ZVdv9ky3(3e)f6Yc*AQnV#^k7l{AA=LfTq^*bd0H zU_n|O7$Gu70K=`?l5*PBh2zIKYc+9xc2?Uk6j7x0c86Z_g1xYf6z#PIw1tsI1w3%i zKFpjugKndRm;U;zuDFn z_%d56pL&fc+N=I4NKZ6sjKr$>70YC3y2dcNb=F=d0@? zwt&e5JdGf($DDXv=>L~L0~W%@<4isH>cVW@C)MGPeq4Q?s2TuaaVme~<|I^1s0X)u zc$uMI9|3?7jB!H`%60K?zysYgLL8w&>_yYGE(RA-M6QI_JC3+~*|5VKty&Nwuqs@Z z;O%a_5Y*+v9I|~F4#Hsa^G-eCXuvxo^?e?_m9X*og?K$ZL7XVm6IzZ?2@66HGIOjC zE!4tQENIBzJ*MTYj#S~Sn=?OGp(jF5biR%~1cw+>k5`7$2#*a51&;zZzXlH1fXAo7 z*4rxw{J~#dDWGf?MBJ-xA^)r(3)RRGMa~1ulNCJ_eZAhmI~X{~MPaQM;KDOr>~M7$ zAnJ9ORyg~Z@KWL@hP~fZAO$?sBg6sP^#DpxEyMSCAb{-!@SU4vFD7*l$$+uitE!3I zUC^^4?s?Rg!Z>0gh=Slj!wZN9atdm{Z@v;btSSGGE^9%P&kn(txYtS#0Xe5eNReC>hoPWbPh$=YCt;sRoiH&X}B z^_VUHzpz1ib{KxMAOw(5+U3h>18DBLqX(6_KYZZW)DX^k;ex!EJ&X&cs>t9~{Qmg^ zLB$^MQ12V&NI3C;ojVM~Gu3`8`mejSX;r+XkO8r*1K9rm)w4Q|fpiBa15l&Es?7c0 zx`^BD1b=#kGt@n-+W@W!BlU1NFR<~w{w4799>|aN*b>G+G)nRd(62kc zk$_&13I%Y!8K!?%b*gW#d^a5Sh%b}#LTJ}#!msxLTI>3%cl!kw{64pa)&G6HJTVX; z@Uht|$O8!^p}A4m`|!IX`0TqiK;eM&7B>a~RAJcAJg0YI^4@nWzCn^Z znPz1LWzriTk_aG$@&5PXD`Lo3T)4(fu3rOrW*sc+*DSY$+T}%V9CAWe-fBb|=mQ1YfoSLHVe*QgLKXVvp zWmGDbuzPc#-um4~^vB1#eDTIIN>K+{rXWd?H((LcwT?<{u8aPn=;%P6>dP6;uPLq{ zCA2eZQ_DQn9|4-uLbZc!n}=vLW&PH759(ih@=4ruaUb6N`YUw%)lpP zSSBkm>Mcug9HY@mC9NxU2vn0yQp&T*=OCRHpoT^UOUUNys%o%v+aQLPYbX-v(mlgi zTIonJ7t2joP10arj>|C+MNJ}Y>&@4U)3w`6NGUJ3KRnBGt4%#M)1V{g8hq96A*8EH z%mnGAs5ZMgGSW}2l{#`PG`Vv~r_ZgS-4SBVAQ>}7gg8fNR+}_DIjXxh=IM?DbNJhz zox-ujCK4zr2_s`dsul%~v|yML0F@}BR5LtyzJ;Y$*PktnNZH-Dj6$tThQhr8{tP6r zh^uT;CXi7PC1&yaoPtrRGYEBe4`0P&2p|(7h9Dw>8YWg1HpH1VAOjRQQWGgs%Va~M z<9m4|F+nmGcbaA+q>lIyg1S)a|0YVz}m^2Y+-7T?Hr; zj8qDcOyNv_7{$mSpBQZzG0hanM-kdKLl=q0q?9l;0nkl}+5iR%th@J)b8g3|r1LeT z^&;}m+KcVKCfK^xglW|v)__*mz~v$apLrSTPaHuvDS`#)%&&k85h9KdN<^aYIRdYzVtmMMklopwa7978|J1!yEdaD3BCQ(e~awN zyQsUcg349TMeF#ZMCCGcau@jgG~&TgjdxrJDi)CtLr1nKvW(PrK_tix3=o(5l-5?k zE2n{pGV7xEgHO7YgFEqaXdED8$ z6+FAFF;}TuC`022w$=tkS%!LxIiDjo5imT)QLBk0F=~qgoK0?o$;Toq%dANr-PM|! zrPJVZM-Y`tGg^%E1`RSL8C$fphH@3a@uTZrb3ks{nTD< zqqSVutlibPkZ5`9IJK9Xn$0ZHWmk_;*6d2V)k6PNnP;9@L8c;o69YWBqYv%17Imr} zj9xs3J;jR7O?M%UD(27CsWM)~);%L8t*7>~9Yw0Pn>=e3H(oXl%ZxOwBUj8}bTrn% zVoGcE2EOr;A7T5hQIswk(R#g0{S!m5sZe*Vj#8J4@P# zF1qm*Z`8@FUQFYc-ePTc7Qgt%aaP zTrAS)#?83>&b#=QUw^&4__XOAODa1}i{+e;I{B9$DAIS^-orGrNH0ZhUcF(t7SiG|@j7$C$EG|NCR1U9y7 zB_d~fM@FqS+Z`&D%EUw&GertS3Q-YbMEspIgLG|&V}W$L9bQ;iMr;g9r7|)r6dR~j zk&TmMw7jxL-A)&UN&yChTB}V_6l2e>3B6?RHv7brr=rh%<$C~tTt3Ium1V>cKOrz`B16_f z6V4%u4Aq-eL`3>`?|2>F^U+T!atcb9fz+*aP8-nDh-M%%h5n3k{ghjt=jy?S?d|vO zH)oEXMZz80|HNVX(ftRpWAlXcahvBG0PfKo0m zC(h5(mJQ=HIWnlT3#-)bq!b&%LZg9PA&0gy9X+*x>#o?1i?(mT!;e0VC?+mIY`6Gg$lEe!l70T?4&DmGf!mI7c;eIgT=N&E-l0|2i zZK1+owqD%G5cO5=eg>_(+PMEXbetrIPxy*kwWUQm7eE5dKioo z!uj7Q4wxraSh(jQUl}2+j>PmzK@kNaXU!v|U~vv1L5LLc^&T-2Y4cGVHyBEE-*0Nz!`LGjM&QJun;E>PJA@+H7S0q+uzaCtYFz=65JVFc6{ z6tD*G$YQ*B(QPre=3@1(96i9RhpD-A%D9HUzNcz${KKBTkaQr2En1K1kUHWlNS*^W zUo&{nvx7%Fd5WKC=dZ~@|U?&s%<_78+HwQYC2Y19PmP2Dr_|0f_T@R~ppg&pZ$#Tit ze1vir_392+#^M`G_-ck8d+0%WaZ-Y>JvbWXLX37zEnloDOMct>?S{`cY~#gTN6GS z`v79evtt3sLa^)cfUh-FE?_xlVq z5M&(h;a_|0d+y7tVp^YsoY z%0P&a3lb`hq*3zSs_iM}1IQZ=Sm%%LOW72?^$UMsl0W1fIi^0~`hAQLuhc2P;V&raXbTr8 z6?8$BLm2p=?p9Bjxe5jcf^%TxeIRu!#>X7;W7RvN-KENaAi|!__Zn9}j-fvT`O8!9 zg5lrOVcwp&QC}_LXUlm6%KvkKxw1}L_e$)s`eBV3fE`)oH4HrxiNwz@GsFh6z_a7N zdIB2M7U;!%sAsD^N$8t|y5Aj$4|OGJ%IqYXfIHv_=rslQ<&f%QG*R%5Tpv$@D|54c zcQ|#5I~Ul(H!*U=1+lY%SigiibV-fB^l}Kg>Z6>G<$+e{J-qup>aDeioK25Yw+7(e z4R|1j1#l#%uO0~pF4S4!xhfax1-?*(>1ZymU|{#Vi%|}9YmFUG969wxVu7IuV98to zfa|O3)}rOel<=Q_{w5uyCCs0lrLisja@nQ`^ZOs8C!e0 z57g#l*(Wj9I#0B^pnapmSnFoIwynIa`;qL!GcYrc|Lw}2|G6SVPveV|8U2=J~)?2&OncyoX1t; zO1B?rtCWg*@y-F-FkGS}&&r9B`PDX^Ip4sh$qF`%m#}H9z~jSt%9mmp-`LM1!!hzX z=u)*Soy=<5O|fM>$HheCiKiDaQc197B+?^i+S0U!wUhCsoy9ci@CGQ zm|tmQttHyDgpt7*69dL}(+o*pQFl%aXP>$I4Bq;sLpV5HM}GvA6C+^2fMJES6dNi; zF$VIHoUM0o$ElhwwL0PwG)5d^C&=3(vM0I}q)=jVdrp)M8TQ#B+Q7T2vHPkE{YJv5#^&u4S)y{n3b#$R3WOWsf0pdw_gi6qI_bQK-!;A zkmrcr_q`{PyZ*VbQAw(|-9ZK0lnr|}W>JB)a@mzAU39UoJ#q)meeu(qxfoGwB#8`Can7(EOVrLR8XZ9~VkJ?uQ)p&0 z5M_v&P|h<3@-cFe5i;(KRB~+znE*IJh3|bPuINjZgvm7qa3ugFVAuAYNR*7feo@e< zD5<-h&(u5o{lhi7>r4%$h+#myvp=HE0|pT(cdU?M!bE>UedPkSk0kVqlO1~HCy(K8 z-t`k&`TRGLL>YK$oLUQWAd`cMBbd=asH9A5%g}Zchy+|JptyM}lHFGzot~CRMF(H> zN;1WYN~5XS@(P*ZAw(NCQhRzPrzNjHJDWNHV2X1D&-RBu-$ftEfNpONykS+*stOQc&r3loLjKc@^5IQD?P{l@qJF zaJoh&pF?4=sL&McS_`GY66c2dI9;luQ*Chna0$hs1f`*vN45^ISdkBZ{3x1D!?xW4 z(iC=nNt?6Fh&0p5i$}2Q#$CL5&jf}xlu@bVb#0|787mit3)(V_i#GLPML<~ zX_X2&gJLPd;P4ox&(0!QIfrx88T$H4l+%=~wO&z15EbgC-7GP2x07ar+D&8lJeZV( z6l#EoRM?aHlFKJjE|t(|buPc>-UomA?eG1xdgq;Yf91%rW82qiHA*e1kg>#SBeqb< zQW9p@S4B(=g)u})67le0g>ojwReLXr8tn!Eq2GMfuOXL|rE%_YJ@nY4nA&@}9zQ(; zP@)?)j`4kuJxveoKdDQt4iZxQ=Rf`#O8t4-cgOAWtFL^8e)(TMO%L4nC;-ME{O;>; z)AO#^sU3UKUOq4N>XIpMyH+QzyhT(R`su%UuRimV%d>6Qyci$)$IsC6N)sDKhp_vi zoqF$qWAuZ&_UV89@J@aAYi`l|zWDb_c8--|dcm9Dg%{m)Gd}jGZ<9`STFRAzJn{I$ zNEP(`+a8vO?|qzWwWhx4WiOILk3E3r-TZ9)?(1(sU#Sd%%Jl3aOdM&U)F)s3#?PTp zn;YKfa|qG2Q^(-wxZ2u+?tSKs*tvN#ZoB;sh_(2gKm22EXIc7RU;e5-@7dSFT2)o2 zh~y|C0r5kRAJ&tnrqLBbl+PhwD2j;^Nz;_FG}Fwg#>JfGO9jl#&SQS1j#Fo5F|)9O zdaa?=>KaIo}0z_nFUb* zt$GKU1ymRV!vpB=FQVHe{_=NjlSaD%<~)q6T9JSL%Xc9u4T|k9sw|ze`Kdh+Wii~4 zZhf94VrWz%B{G_=32{NeIi%f&Y`^kll7cmfj3%5zDOc1^x2E;x3bqVX^uSO4mHy`^ zzCaWgncHn8CKc;UCu}^b>G=mW;)cdj=lajSfCvBi&*VG*^3UePeRt}kci$mT-1`{j zRvIW)iWnX&)8;K(r7r>I7Ut@1Z!1`#RSEC2@5L=c-E`_NH=cV!53e=lU7!1D3=SG!THK3`8*n}4t!a&mPuDQAA`VgF?02ZELgDf>_moN`X_gbb5AH^SPMHl>(}b zx+YPq-FAlab4ws0Jo3~zz4xKRSXrs-)YK5#tuFcs5e`3fG}2ZBAOHO4t;?xc#ikxC z7KlcJ4Ou|3R%tW(~DJtpb1MweDHjL>>c zXFSg4efGtJ%49sQX#!RjQc!o7cBF~N`xsE;utip%pZh#g15!i|!?6ons30SPdJ%e~PsM9_1qX>9JsK5t;z*GQG=MH$dTuhV zir9~dg~L@8V8dR#8n8hJs0*S9&bO5ha zLCo-eUFv+W#RJa_geJqT_i+dY9(YylO}1qQsrA%|n;7xHYhW+~>MPbaJthb0vl}M( zqUj#EEF>UnKqi2l>In${IdDGW?%&;JaX_GZE{$B70g=IaowWme$pR7y$a?iEdDUvq z;)r_lAGV~A?C23mzM+f>8^|+!?3r6jUP0|u+aULF}Jz5VTVdTKPK|Lty)}uc|-KH1ghzu{IbbvAS8o?T+bw-;UdEkH89cW6P zmGdfU^4;0Jve;cLj> zyTt7~|JnX`Td!&-I2C~SQZ8~3q+7Ad7myHMEb2?-#5Zt;|2eSlAE55{hO!AJ;|Lj& zUKyYvAT!>6$_6&nfu}_Ncao0*VLcllG$bK}Ib^587jlOb{9g97L-@THdK>~+XU;uI zLB7d2Y3MECs~G(L3wBaryd$z6a`VKVXXDj-SFzs@B4J$yCfLm}lVh+ob7Y=Vru+S9 z*4K@*hjJ|%>Lw!kY+)Dv3jl@MXytj9g_EH?c9a>N5U$X){R3sB_d&&4`FZ2(v! zxBXasbam^|T`5D=iT2`v8#C@HJJ_p5LK8rR_&w`l8TY`@z__oUE8?FItm}k|KQD>h zo(EhX85`EB`g706`$nd8+d~HrxXL-sgkWGv#ehKuM41`_r4r!-Z@ST3w!2SHJn|Hc z3>uZjs-8b}7AN+f0;dh^9W^KBrJXlG5DT6eyy-y9Q`_ImM}kHezEaD(162yT|z8 zq0{JZc64$m!R%_v?QVwtLSon2b#r>IgVQs0x_sN9j!l*kb(_c=rCcG8;fX;I7*R2g zvC$mr)jHG)WiYS;qO6TgLnYd_v4p2jbQo<{$!z0l&YHm6r<=Jv-lsn;>S zWd~u?b{gF^f{b!#tu1PSbF_NrgVc#~I{ut%ke)chqqn?RZ`k~8+;wJ^7+t4mf+7J^ zh5#uEVq-8_89=44jEz%c*q&SCC}lcudIgof5)b9N_`q*njLmx|Ne>;C0x5UTO#`(R zNVSfod+Ip;^LbqQ(#@#NEmCgB1Qdo=?>&j7%wYS=Gt3`6gM2xMp%+|({N0Mx!)H*) z$0!vG*g^&T-`~E0{!+`h`>xaagS)5A)5{HXvJ|HlmZ&CHH0$tOmZ@qJ{uEG#%Ple} z;;v%b=peo8-~LQ>cqD6A8LG&`0_3=}HfPl{3~5?0L=$RuMX$%^P)h5RF3+Q|c^4&<6GUg8 zLMmNX*flUfa$f79c<_CdJ$=PYwvs zZKH3nq|MbftPWFUYr#~PbhRfQPFgu9KX zr6^KFY#4|XOeV4nYX!5j3n=6iFSz+yJ$GiF44}XEvKJW16iY`Q$Jx`zaq;Y&oH%~o z?7CjG8|3;| z+(Mn1r>VPi9PQc~4Q{yvC{FStzxWQl>9>AQPR^`i&%_A-`c2nh_qL5VH?xRZyUq1h z2NQY5P$}U`7@~{4o9)0wHzF@c?BNLNS9vFhy_UGl4P(+yY9Pkw$E-t*TjG4TKo^%vs* z`KSM&fBf#Zq0%?vZlKm8lME3>SXrvkiR0(6bLS>3%q(DXe273Ls#dGuBBNNTP<3UQ zX6EKGx3sFQZmRRA<_M$^RVo+qn3x#B;7}O}8%agEQYcDNh*?!Mj&g`1e||Dl3=;_; z)*V_a9naZQ?^9HIcQ-c8M`JoUv`nEuIm9A#8N0m zSYE9vp!m$6|2O+PfAS&2g#jR~L7NLoxjthx0_Pa%+PuaqN05w7(b5CA(xbQDN)H}5 zf$u-Lii6WtM7bh0n^j~U!w^7E%vPxo5fL*+h6jk^rtBRQKGW#phX?EO<;NF!e6WHy zU$+6*k96oOpZkn%*)~NJTX)h6fAtzUbZF2#@%WS2_rxJwcl|Yd%X6=_zy52_=l}7p z|4m={@y`&~6P+9zp<*G2)nY&wJL6U`5)l^Uwj6od>#i69;N=#0nE&- z=;&ZSwL5JzTU{2lD3uGaX@){Mhg!X*^|d;E?=v68tKaz-{C__DA-w1PA4HA~x><^~ zW)uCD3gt|!g*cD%v&*<>(*_LpmvDY|iCS5TBr<4rI_N8xaq|2!ot#}pU!_PF@7jp7 z)2npu{32d*%d_!`kA4*Y{e2%sU%rG|yGbA?JtSrWwE<$2cBeBrGd+L#;BaMs*0E0P z1VGhQ7?XJGTK2$rrcmSaDaz1O-CKug!4lY5K#l8VMhsTz4SGPQ!)&~zPsnk_1F+)o1Pu*> z1F-9{hR_euu!p8Be4|zGM;|KB;S}2Jg`fy{m#QN+$oeL_Ua7BPd|VYe3?OU~d4j@d zuW|!HWiH+zTH$kKBhbu)-T}ztC!i((k;kE|zn=#H zaX^m02)x%Nz+rRVyPUje(br_ah!^XrvvKcL=lf6SeU_-t0kns&sLwkT0?FXk18Ciz z>H-|jxnnrj0fx&@hykV0`_zq{2m_oUSX8O6Ar4l$>em;M$3fJ1b-%++tOa6rSYmMG zP*tcJ5Ty_sIm0Omw&@OoAmjh+Nf##T_g4Vt9c~^-2K5-3>kQ*P3@B(m-S|@E@gs3A ztf7}h*pssRyL|Y76ZX0N)_em#vTohT+ug&d(ja(x&j^@N7`e>j^)xBJK@Z>V&6yjhUTGE3^Jk~vx#m^j5*R#PcS{4{h!Mjume)nr0qkVI7*%~!4Y!U6 z9>w*&5kkWX-*N#SegJu;v5T4RUxS~$BLv+z3prb+5L6IASXQ?|dsa^VM*;}|x?o7W zPrZ8IvakZAcdWRerV8@qTGoFLjPo{Azk=Mxrwe*35F)>R+@q-nlpPxy%G2DL6`sZi zYQNzP2MF2sukar84kKQ-Pf}0L2wc@jSf_#4Vh1{l5{y?agf-*rgxtPh zhoA#${93cH>IgQnU zoi$I$`h6K|DD5Zz`zf5JuCdKL5k>%Iy~~@M+YoQVUeKNjfc$|R zd>lbO?mM|F2$^3b0_GUEJ@)8Ny4@@fA{ZlvExTc|7DTL(fpo3%P1j$C|Mu!@b?)R@ zo<4S3x9u9ENA7;qJa%AFPs~=aV>Cx+s~I*AGV(_C&|*sMEaA-ql7S3QHBg>d&*1iIhQly4dqe7%JRU2q( z-W)kHLm<_3qM!N-f+Sa@vokfds+89h8wYZ-Q0sEFlcCmVqnipgZ|c|iB}KhMw0SIx z&K^I9ho71S?=17=WDyes(0l=aWV~UtfU%(>j-OlAGt(=mSw(HBro#g<6(R+UfiV$Q zTNYyz1G;IbNRoBPL@|3dJ8+EumI+H2K1kjM}>6Q$4o)(7#nzx^rN_P$>Z!nGx7oIDluhmn~6A|+wO zJvZHo(YODMn#u~b&OfJ7xgTb18xk-zF1Bg?)F~Of_cmI%G>_);iu9d7YC3&+{nvl_ zNxJj({{o3J_`{!lg}mh_?%`eflC*uIkNyWJcLkc zph7R=P6zfpI9XmnV|E?6(K3c#xE<@qmoWBwfbddhOrugPMNWc2!Ng3Q3xL z@|))oWPsCW&eNf1X0TdIs2Sw(%}1X_mI+zu=o8=nZRKx$6t<^`aPMxk9$Qvwt&zQS z4xLU1rB}ZR!TuXSDxmr-bahsO-XVff()Dvl8my*gkYs!h?C}So?Rf+fcfi(b__I$R zQU)}a4Oy&cT`a|kYERDjWG5YiFtjA%lzU;|54=8asF*d|%#1^&Hw)TvaDavNBbb1xG5Fm&Qjy$_T<&gldymJU~y@tLWQ?z#GGV$%zC2tF&8IB#DDS0Y)H9jL9n}`OKji zTbx;?-LHP3{i`odo4@?dX}*490EJv$E6t{+9fuC6A||nbB4HrAw!D7p*i`0{LRc(o z5QLh^WIIH8%v_pz{j7$r6+4 zBr#N=Rs_n>M!U+dyX$5g+_gQv|MUN21WGsF^D<~s!@~TG=KCjUX=&92hA}=+!Uw7T?$KJ^uIU~-Ut>1{95Td%tk|L-&3#z#K=4F##*dgUZ;-M5{4ubq%2 zQJgP;$4B~Q@Ae-0#`m7IuX*Xq^xyySPt4>schMhw@E`2|`P~n2b8}6~qr2!eKm9K5 z{k^}D??3XidF6|5lP}!=HG0P{zQ>dYhA=cTgnS`~zK*4KC&7iw3-W@iw)5IX6Ce4j zf5NZ-<%hIWt5UYyOT}`JCY_E>pTB^iy$ycJT`#a7yZ;+pnK?OwVCts85q5q1BZt z#kPZX5^E4dR4!x?W->T?VHP8eeq4KCC$DYRQLoq7B8zfQk!);{i9!cSxNSCUVns;3w>Li$)8o|*sGxWFr{BhJs=p^Pdt1a ziOJ&?*Y3eosZIIeO}y-i5HGm;CR*NT>rkMN$`kN@!#G&8@5iJ>8s3wf-rRl#a0FaZp8Fta?5yI%bZbo}wp zqj#W$M;?AWS$vvx;3KJ(!ta zK`xiUX03_quDepc_Tbl9J1hFB|N4l&>Md_4wc>D5q6ErDNesbQQOi#}^UOcK;>GvA zkSO*-RPtwTcYY^!o#{kAlhdDnT~|8!>`m_~0ezlDjPINmcLpPWK1V8`O))+XI4WEQ zni?mrbV6Qts3Z^6v!)n|z*`4Zb;45bj_;Yku!WwsmGrb=vo1LoH!NLF*}^Vfqo9FU{Z+n-$Cj5pMAaoZ3%4EV|)BOaiJT| z9-Z_ko$=S8srmDkb#zMnq~w&tdjybFq?zKF>i6lWlpzZ>VDWC+; zE|K$-b_|ZYef4073wKOI9@B;i_r~31Be;ZQ>jszWH+SH^I2AOAoF|rLrzS<(!lNmw zw)H@ef;S4H03hqdz+Rb|wlTRf)CH)>13vIzJ3Kq3=|ooEDl&#aK8ZY4a;C~Say=^| zM9N;>%$fqC&SQ)@?JRHw!Ca#{$#Uo`s zylUT3P-%yOCj>kI=^m@|Y)g~B;or3z67DTJF*kJwG}7=+a`&Px6wos*p1DIB`sqlM z)Otz8fzoL)g8GFAlthZn7X+`P`|MH%O*EcU8o%auwW02G6*6r zh^K4CsdxO9{hEs-$&{KZ2T_P6)!(e8QnHA?#^%q8TKJG z77$M^Nm}I0)_hK1iR$wd-CohGj^*w$c7~jc2I(AfK|`(pr$e0ZydQ&oqfqLT?&N~v z+7#jEQ@0jaSihNZf9$&v$fet}Sil5M;lQbi+Z9v)DcJIy!}GcY+{L)>NTV%%A!a}4 z)Xz~et}b}K-7)#;?g5?{^+Zk@#_T_vKwYNZD6q8@`8pv00>7yvzlx*)GmHbCnf>@T zDTN1x^#BPWVSs(!hfQ-q05^8KmPP5uJ7!MN7ctj6>NgMG zddL&VO0Lr^&A#=+2x-q2=y_wv6MI`V08mLYI@#R|`FZ1?f+{;A!uoZ_?am+uKBI-x zeFl7ouh%lTapzps0!Ma}YmH0;ido!%WU%*c^m8x`obtn$#1p#gNG(@;+>NUDQFO1y zHz<-KFcCKDjj5H*_DhJ7xULUZOi5tLFat^*3v3_Tj<5ggyCqqj=0i^{>i#PSWMgsB zoH%?z?zn1-`-3`)0ozI^G?&*C^yCeOixHM;7JWHJ6j%&oBO&78(5eb+!dDKncG_+G z+=c|>eTNymhWj!Y>dWfl`X>5{ zSsLi?!RT;7CNE3PaqT5g5UegZ|Fb&;H*Z>GFl1{2BF!gbGi{F#Fkfs*eOvq%>~6)(U5!;pnFtn4>` zhL}SFOyD-*txgBl(_RJvqA)}wPS6)Hl%T{y5gR9A5R2Hi;6epW@rT90^%4fm8Y@Uu z5s-0ZngkIOcR&(=>DNB`l)mk^?&IRaIjvHgYWot24cFRaYkP?KMym!O`CC+ zqyDQz(MMSOM+#cAbpEps>f|rKNht_98W^zc%g0RNnmaUHnj`LPLQXtRW@uEkJV4T@ zQu8}sME(sw4d@`Wm?OJ%Q8}AYDi>LDlR}1h_0b>TY%8I@C`;{*DtQqGKxkMiokU3k zAXX(3f+ayn28Nw|BnzRLfZ8^---Kq^P)9_ds@WhwPcDL5i(*!_+7@cG6EqT#c!e6P z>sg6}RRWNRf>i`o9Fvv!CIL|u@)9iz2n<4IghsU;gO9H?b*9px8^<$x(|8H}dC>HF ztR@gLjz*V`8t(52_(G+Fe|@@&x%Yk=Z+goC-u^2;54~_%?b@1}K&gDy71TI?9-WnS z487=1bmr%h%wsvJIn{MZnpo&wrS8n>a`f9@e-nfYX5ji>+>5l|I`_T0paSada&JQsaQ5TH@$)=$l&PV zleE6trr-XRYxL1?o}-1+Yq9GWhc2$h*gxKf`ep@Rcw~+rzHnY&vA;-f+PRJYGZ{I2sXNkSr|Ibhy6?wcgTv3BR1+G?WQhWMp7-9fK?$qO((F-TCx(#kruV%7V^%D2Av7_L6JgGUET_Jbe) z2L9|%|61Sl#-q5rP{A!PxDgLM@SqMJIidId#Cy!2{LZ`hy}$Lh`1yCg&Kx>=OuqBQ zFWNW$^iKybd)3|g`EUM^RtV@V=CHWB!AmP8**!U^U;oad=2!nbk!rIBUS8Cm@oijP zUZmb~k0#Yc+<3#)9ED7abC*!wex3Z%FZ~?;?jxTuk3D$^MiR|L8EUkeZodZ7*v7O` zX@EGy)Z_&6g{;n8UO@jqFD_3n;0s@Uh<@ugep>nm`?%Te(227bG1T8jt$0(%hWlu$ zP(Y)d;Mt=W^p!7p0WGiA5yu^5vXKD9jaCC;&QK-_VPIerz*@_RS}{@NF)$T{u(lIP z66H*!Na94JC<6o$B@!orYoQHVNdjAK5MZH!QA(7UQfZ~3<;7JD4-ev*!>2JkGHj!O zO|9NQwO*IA=PvP8SMS%!;XeJ^k*De0rD+MsFbqSbP1o<(gFP>JmBMaPXYB$IU+I&)(grrbxON-Wm4H|A*h+&cI5*6h;1{e`*nW7C*#LSB7fD7bQ>q_5syrK|UE z17}APYA*%Zkvz0-5|ztyw0pvExd$i><*@IiqiCO9)!CD?_{6stX{ieA9ar2kVesYG zkKvman)IEs>-hGwrx6#25qD~8f~@T5f7)dFN3?+)n(Yof`NUxv=qb{tKK>27;Z=9) z)mQGtJAeHzX>o1Cj*bqPF!KHbBAUyV(dbn5;`B7V{wIE2zxCyR(I*~xmh;6d)oKl} zkmiaxfEBhaFcDK^3|etZ%cTM}8g2W%FMk#+&2c$8b@bZdK!n2!gQnxs)DM1)$_S)QOzE5qZI|XlnPv2q4}vPJL&AKX;QOBc7klXyCfl zp{aP#f#*(rE>JSv`%Vw6#00Yb5ZMKD4U`gh?cO)u*9K<*;MfBvq$C9+=vsoOxqPI~ zu2;!8d6{epu#u|U0{|L;#o-!Ai3ks)Ya00KfE@$`BupSlg|n&i3Ty z+6rNP7lHwi4?{>*)JT=K=mM*$BAY=D^n_;!0nbFbgM_ok@XyUTwv)XK=X7^B5k8_U*HFj8-CWaVCnO6HN~s!jUsUfvEK%{NtUu%-3$N^w8I1GNEOa$ z(emo=E|?EDLWG?1T0NNU0Na%Pa`sPZw!r!HP86<#L72Lo9I02hO4n`MFJ;e{@WKP> zDU=V-pt+W`lwfeh(>*H}3a!s;gGztVfs?6P9|Z61<;QK>+T)G7iO9ERx%ZMLpbNw+ z?zIb4c7Z$bzTX5F#N74OcMB!R{eHr(m8|R0=C~UuyKVthI9mqKq_eN~X=j0ZZ{*vj zQXt&3i~eyDd(wiOwTO=-^JI%F+^%yZ%@lCpYU-Wu0ByI}yAU0BpK4v$3#DwN-%#Lr zU^)D_NdX`DA_H>cS5pr!CZtQfQc4;)@(L<$F+-{}Pv5VfJ4$YBxI{n){*&|1Ll=mK z>r@f)HP$r2lhcO-HjC7@1!g< z{37NMZuguM@f$hzb;sMGrLAlpdPlb#E4{vS!A_?uQMYB!)oFm<{Yo zhfH6Nw466+CZv7&5aYcW?CB%!4Cm|v9lcaRlrcCx-^7njENQFR0gS;_d;9g)tA`K< zi48bG5QTK+!m=*Su4=W~q}7eOH74Mt)dm*kHqcXwC<>Wc9RWc!E3sXhndL^kM%#Cd zL5HjDngye=)T;lF|p~Y&O>Jn?cEr<+ZtX#mp;R04$ z3BG$_9m|b61fUQ>s>mW|hiHVDtiTvwi~%?i0Aycu)x)QWdWtG*OWZztlH%nx3?G=#r9;PL`I!qgWN>G56^%2q)Ohw3 zc={+>r=OCwPy7>BKJlNn`Rv2g$r-Ia`yAGuJB?Po87v&RWNCOD=E@hKFu9+3ayK?E zu25XziN-5%msprYEN+0+}d8VQL8R=^3p5*B4MfISp;_$SzcnT$*JHBJhqWjkfJ3438qNSAYv=2!|iVg@64L zHy`;sbiVUp)V}bKwDG_vC|b%tdq#eV=6h6l@StFua{iX9Jz33!rRC%)}Lh-Vv5g6UY=8 zOPBD$U;i2aXvP?+#EBQ|xP5b@op3F-lnVor#1ZlkgH9sI7(oEiW+I3MWJNV#LN*G# z<0z9OewA8r;&viRR0H3!i>~3O8S`L%;EU(|`Lx>b-Lh6ol&O z8M4`|Ui{*ZaPi+Cw3|nHxjJRu27}f z(SgZ+F;PgHt94o5=xC4$HOfU;S#Q(YdP6mFr^Cn3)UdXh;D!VJREY`CoLk4IADSbn zb@YxA;`jW_byOHH%lp54)Fu>iAp|`=vnGcx%&3aOupwe)CKcDI$V|jcso;-T;)CZPU7w-mBOJLL{04YZ#Y6)y09Je}cv^xoPL^xojC?wPF zbkIpGSrA9u0U;&`Y0enUW&=vJlK`S6BQ(9R5D=06#A{zBNn?@bPd*Ed@<`e(RMt0X z`?hhdv=gW#SX-~58Vi2;CtixaHUwOO!!LPpouX*|HnA|=^CX-i0 zIRu$3RqJ({Us>mvK+m1HpuK$qc;C`Zw^E}k_is0+W|nPz z_PAz)h?Zt90wl_rNb1chZLTh$G(M%pY>0pU;D=y46*GC|jmk{+i6ch@M5F|7%M(Ha zCgMO&oSDWKzWxxNIeY?Z>s8_)KrvsSLMFoCKv`SOHpfnnZ zt*k*r^zg9@^xzMVAP57=W-=0)h-;M=66?M%ZYR!;H)I=RA|+-{tUyFHPAtWp7$5@< zIk5^QD=6i%hysRK;byx-omK~ZJw3?fGny-uP>k}3G9jWULt!?gY$k)vT3rJZNIsvV z>C5vR#|fsU#)yb`Xs8dnc8+0oVS^q&d=dg>1PqDWq(u7NhrbF|ptX8jYl{~gJS#2O z>H;Aw15pu>M5NU~kRO6ZgQhb5w7&l5|C9lPzH)@NwNz`?EEM#`zx&eswglC=xW zwX;H*0)(Nqx+;jP#Mv?r?=8uX{^~Eyj(<9bhUDoy^ojv}>F^Q?K~r1pC7U!i zIku71S2qyn6O^u*kg)?}6hr|QFD@&HDZFMEZGZi(^oPHH4gUORr*Ql32;VtX#aEuZ zj3XD8v2QSoeZ2uRZt!x&;@d}NxUyN(rOW4Ob@r0(8Z9EyHqV_oq5b`NeEtjHrFNr2 z?|SRYQOpLW(`+LOBZOfwBj6l=V zqd2Td9r!GsB;Zu_40Y;$w*LG{DZSwEEOO%GK>hhX73zu4oq__CxN{UqS7A?*p3Pi0 zf-ob2SN#)pMOw}h)>+`XAffc^Nzb!H)~*Ol{nb%wf$Y!8qU!LE^bBuP^u?b)yKWF3 zoF(yMwJl5U6xw2>_Ql>qU)}jMP6J@Y-QSkKgnPyb0P(mFc`VZ9BRPyIf%j_A6bE(R zC%((Vs_R5Zg=*?W-zh98>akD%TvGg%y^$!OzSDxc-|5cvwu@1AMUP6|^DjI$p`17o zUAJ2x#q%6~VIYn~A-FxHh{Jp}?fQ2(q$(j0LYnOW<8Vov;v4=v&u$CZz4la0?H~k6 zFAXW?>O@d}{1ZD&Bee%2f*2=~bRu?_JINl)O7TZcaak|APBC-o;;*SN5lDlU9h>0a zw#O}yV&6!yR5vCB(iJPZIpJ{!cI1a*OQ5ZA&%k}7e+u4jpFIiT-XOV$={gJ4w}AM8 z!fBg`2W!AxAW1caQv8>Bw8}aOtOt7BBvR``J$;y|SO<7$3f79lh0_pW2gs89fxjM; zs)iL%G2QEdAJ|UZ?g3}@AldW4;FOI?0Za9RJw;BL*~3C^f~2-B&hS>C-sg$a@onLZ zR)MbC)eZJ;e+L`@Y9Q8qA!&frD_{LHC84e23)dY06>n+b%ZER-IFG0ltaru7DWmmy zAo&)k?^xRB69@h~JqU>u)Rz>9@ek}q7a0eBD#$CVU8jT_hm?*1apTK) zvIiD!4ERODUE`KKT0MC0fccaqO~(&)i78jG)d%;W3pA%|EIcUdzQcMOq;x}&DndO| z?WdaY-6bA>PcO+AEkbv*0fK8qg6|MlRNf~VqW~=q~UGO2%P*^ySJ5}zJ zI=39F(j7ytQ_|H%r=s9)r-ka)^CKus>N!u;W%3>SFMxHebi{t)AatLZzaw`);-0l= z0th28>Ip0VyXni+R6U{H#gLi&M#*gkk@_X3iuNum4v-|Sk--f}H(t^)?Yn%^#kgy* zM}jaVV$%(ZNym%z$_;mK)?FN!Q}R#!{7j3l`%KofW&x~;d(K24IQt^!ed*ABCfC;I za!(xVj)0KTCu#PFyEb+89j@ihWx9~}yL9i*Z8X$vT>ShXNuP&yErgihh%>+A5b3U# zz7APH#Q6x4bArr7jHgdr{MSmma|ID4M#QKBiJM=lX8HtSH!v z+)qROSv6sx!@W5=cBz6R7b|+?xdjY|O1T^(pN}xJu#QH(Ba;(l?HlOPY8+^@%}Jxu zh0VCPU3 zh7rY9kqsC_#R!9i5YH|)@W|x~8gT~z5VCPrrs@iS8KB zM-Q9&sS9eGO7+vTRD1TURF*o5jV2fRhhgj1kd2^)JViTpG4HzyGQL}iBO^v(5let1 zlR?r}^k20bVQ&dqOR#!&fp@+3PVKpJOzp-xq?3>-6wsVsL*wjaOuYY%=zY_xb@+uh zVDa0JqVM**Q2ensfOkv+nIgiSdr^47jmS-HLzoYNFeDQcpdE!>TZJrKRQciew0Y_< zvXfU*xbp>I7>e`5TDoCSgD^mN;5uY)egm>QZ-rhuPuf^SFfxQbQ`8^*=Qkkjr&Koqh8F*LRb3@b_@kO>J^N$YJzEmpDu z5Rn9ID4z)s5ZvR8K;n&YsUEA<(fP-SCG&_3WyN}tOI#S zF;tjBq|;QC+y3+OuOwUGLG&b7v%) z8nzoxJcIW19LiTr5x2!!b|=WBBiNX!>iTn+s6Dq#$wpg4aaLw0&Qx`=*3tgqjJ8)> zSgjeXZCF(fg_%vcH-wOAwH|9>utdGXB?Pb-*gl|zi2;sH2Br`qQ^;bVKZ8!A1KYHi z{=qS2u|JrvkJT`&z=P&E! znFU)e=kUqTeGeuGu~Bbhu%`#FzwZ_-&o3&OKrdWcrpHgua)19I{oddFIiz|KYtz$| zDfO!<@3jB+=YPeY{Qe1T3+(=Fqk8e|IT|0z^KZWAZTOY{^&U)2?Lhy~gl76iknJ6# zAX~!d_FdS2_0=@7eFxt9me=Z4R~?k|=P#Pe7tfKsJ-7i*rjf+}~>t?%PY>`s%kh zTPzAfLvgbXO)RzB31-ioR}&WK&9Au^M^BuB2{KSHin*eRTOD5C+!W@(&wluGxbocc z8h-T5G5z+#&&X##_W-OaH5wHymWp)6-W_PQ+SIJouvu$Rt=7_`r!MH)dKHEUORF2G zRO&Q3+=p*H@PyWC4YcBfH>wq^tgmWsZ=Uk`3=&TOIBdfysYL{0J?un{6rvyvSQ0g{3dk@xAcUC!nOsN|IE4{g0}coS{k=55v`*P zF@}cvbz*Xyo_X#RzWvZ+0C^Kh72LSz3hEmh6K>B_b7_`Z%^La!M}VXbX)XiY7S;sP zt`P;HQnnXKWd%3idN0+*V7%N56NCvMMn(Cb{`kG-wZHP)T3{q6hS$oGBZ1O|&`eC)Mly=tP$+xu&J`<;7n^<5L%Q>d71zD1R0o0eym zG5yeaOh0;(7LS}l+-yK<3003@LhI5r>X)Z={o*Q`?HUeDTKwia#_?-!n$UOMR>Fmi z1SeKwEG#V9&^GP)xefgMhaaNLD{br_4EWh+PUzmN_Q}}T05vx^kk5u_bsBi_?bqS1 zTW&zL*+gG&8GYrlhCxIQAh*aw83X`*=wtVzTB~AmVi@RHn1Ik~wIFJdF#+HOl&s)t zwZ@%Rj9R0OqmO)>IH~Y^-tjgtK)EPO3gKF-PK|n93;8^?6HAvDSGbhVqNkWwR?<#v zA!3A-C~h?A;_Mna?F4I^4NhXwzyP&o6UR=R$L8Dx^SRG|)Q@?m{0E6UA^UD}QRwNj zXFfoToU?j`!(l8rg}YE!w3cFZP(WA^r{X!UITq{A!s^d9e!mG7Cm&XHaZrctsq>0g zj{}PJE#8jQM#qJVX0uq4IHj0dGt zOJCUn=T+1EJSQH6s`FJ(1%?DzAAp<&*NTHPx>%(s8ka2=qkAXRy$601~yZ1dd;H;7rsh6(8 zyO#LB0XQ(5G)(|tK)5TsR8^<|B8kH!*kizR8A|XXLYKK`z3Npw36Wye z3J<13U?p)xjC!*M^Y*8^>vBH$b)9wV|o?&sHe#^M9tGt#RRtzRRrkzFwM6UTjT5@9$6KT3$TE z{gCWT4&mnzoj?1;AyjTsS z-bfcv{|XFT{jvaz@1}6JRc;Qzv-)YxQLo%^c_#p?4>O0WtFYYIu7>(<6unzy7(m;EJ(G@Bh0` zpnv-$-FfS7I`e}Eb!okcY&KAhn^dbA6k(+=$E-xukAN}(VY!iDEEm!Cp$s3Mi}gnr zniB0%9304SrQXp-TWn9pm}U}ie_qgv8$6a}9T^ERx4~$&LOW23xG&FPr6tfPhiea( z^|=e1I6v2>{vLzL!3;j~{rO<3%yR2^hW3o)5Qj#VY9aTI57^C0n;PvVZQDMCZQ7*y z<+^SgDkFv=)2U0n&Dz+A%`FGUam#fEi)&5XbYK{T;XYkyke-@b=jD|Rvs{n);ABzS zou*#eu+)s1R;n%9J5e%naY?H&(eTI+Y^F^n3^3eV!qR3Prx&WUeY^*omAZ}$Wa!2N zBRap{;fb+64Axp&Zwo?+^~mWpvtzPfYnz*h;{=6l*6iCmX;svG>5+MJ>%ksOjr3}U zYE&L5ppz-$++sx@dTfsO?jE6spP9vhUHvF$1Ny?(o}^+ngIC>=*X1+k!@v5khw-t; zFQd~@OcwHPsTD(+D3HJq^=6qOVsupT(4`Gj+jLBWPDKk+o>`b&EAo9@+itY;^xOL(@ zDre_VIdx9Q?l?fLOEVg@8`PHz(Y`Q;jg@5-dy6npNoG%6q#ZB3h7flUcLYhJC7SDF znjC?hIfO(=!(0z_E>2UkQN!SEH^GdLBbl3p24!T%LV$We+jam$yAW^0ps)`?&kiK* zCt=2>(A@sxy!Pea!q}VM1TFSMm#0Akdo&y6NhQMJ_kR?Vuet@JZ+{Ci*S`=ZKZ^F^ z2EO?#Z^c!wnxx6$i0bo;XtfipJ$_UNZ+|5{_0f-E$IdaDeA&$?-t=OsKJgv2zwsH7 zIN{vHxQ6*MH!od4a$Vv$%uKmlR^l~x;U7$J-{TFTq| zONf<`VGFfDrNv6IP$@7nRt#vq8l!0wx78Nw)-NJhGRTH7vADHLK;&!>NXQBc6d6NM zWmR$N`D{oKRo!SQ|6sZ)hvqH+^g*V(wnqpcbaqW(ZJ+~r(q<-ugJ{rtQ}t&)yMmV; z`WpW1wWoCKJujvF!56{&*O%q+pZ%@5^1W}NCqMGAO<*}%ThQdvB`R&(t}9>pGUX=v z5f&9!-8!MipI+kj6@tk(-;9m(7g2w58b_a8(Kr6{PvYM19ns#TWsZH|bNKKNE6BBh ziM|VX)wOJfx8)EF^h$0=iJB*7DOVH}?zu+h|NBR@Ykxt9ZYfgp+Y7KF6jFfPjuGsb zf*$_HDcW(}7*#GVXg(0-3^-}EQN6r`Vt-ynx8+Q&My6G*NdHg|`uC0!NMO$_VgB$e zP99nY6^nHEcvbJab%c^l3+*t9g)CKCv2NDeI58u^&DZqUv1~`yHaqB@9Ac@}R9i9C zO%J$ckk190E#^@!C#$-0~FCWTEe((Q+uL}r!ETJ&?7oJH9#-f zouzFzP3ZJA({+FFb*Kd9<{e{tet8pC0xo2T9px!73`i1cC+?6iv52bLIP4gMC5j?=9-U4b7wc*w3->-^H&U!WOdX>(}->#K`&)!nbd*=N2* z|Ms~@h}jST85-!Nx4!e$dg<~Uedqg6;QWPY`mr~>QhP?nu(`B=PGu9sM%U&SsNU{K zzTAT(?(o8T4Y}SC9D3#y9sq#JWRfBVtT@R^fmEe9n$^u$qf&wVcjL@~cSOWVhWFi_0l=<+-+%&i(@jDF>RzE3Z{ z?`Bey(`L0s_00-)?An(sUOp4pB*riN!n<+g$XQLSMW8~z`Ezf^@BG6@k&j9|HP(k` zkFTIyDq?+e6C#SIjvUoL{*8Chu_I?_Wut<%<%$-v5iPH-Si758y$+WS>%f)G}|!} zLkQxw;lOAn4AAH_Gzbhu*$9jbZ&a#i)#_AlwzRjm2ZchGqFi1on^j&|UO}_j!T9hH z0Hs9R5G#n2q$@Pb+7L6-OLF}5C7xYa#;LQH_4Tj5mtK0$4jegt26xDXfo2Bz`+xU)__5#q zAT?vf-@IfGe(I&HMXu7)MnQ`=?CYlHiuH9A-8; z`24q@(%Hqmv}@bA&K^5~J70A-_DnD0Z~y+|IDV<1zxk{0qC0N9QlC0`fvSxJ850wm z0Oec`?RH1&jRxhid9Ah@^p5xZ8NPA<|3T7u9JO`_dw2Ap-fTl8!QfCom>GwUtWaNH z872tv}6P3^UqqA&soxHz|n-P{*;!o5vuJ@KwuGV2iH6hQO=rQH2Iy{`lLVyBKF4*MJA6RAdfuG^9hTxgmXVNnZ+Pp}-{RaX7%85W z0zU9(FfTTSOCuGZeV|^frD^b{Ckzw+Sx)ro4v98(2=E;Z0W(-r5Z_&cVF$hoJHf8; z=XPUK;MsQ|c|Fr3up*nzz_>M* zcke>HOMrGwqTKWFeoPQbF{88>BgF^cF)t70f_#Xw#~t9V)2g=tA~!bJTWb5x6BqdG zFltzF=m-nJ8gC7rs%zoLnJS=+#E(yvEizU8DcRu&9zz4V*%9jTURH(}|JMEZc|OU3 z#5e`NICljhaW>FuJQm|Es$=)d#HNc2z@O|1?DB5e+YEX9#rIu1;iJbUQkM$#n202) zh@AmSJU-)|Z;F+s56zEKj}NA}pL=fX1^9-@<7%GF61c1iA1JL}1?!w$9Sb5|2Fr_k zeP(9h+8F|n>uc#w;?!&2St58~#Sa<>>-dM~14R?{{#o80!Hs>}1y;z@XI-$F{0+c5 zaNYx;;sHeQ56QK(c-oD+j#98-qI-`;@u0s-%>XJAS!wI68UNvVUEa7DTx3cc_@t9{Vwy z7HTKcH6HBqw1B$BLwvDM#lfx~x$)`Ve9C^J+iIpMLz)s>a4kdZ?VrT>w0B=_74AJT zlV|wgf7dU(KJS21D3A!`i@$5vav-5vAKs#FeEV|PC2=UVUGn^K8fN0UCj5x<;{ilI z)58UVfY1%1O&32G3{0N%a|^nHoua@m;?9|!eEYm-ce!h-_dTOt_0;5pkZ z1?%%R3;-xKW>ZgIiGawt3!+M3cLO0WuV zl>^uHV7ERO-T9mnjw$FJxUo$s8REx?x&=8^Ex7ryWeJqdSGO_r>VEQ1!%sF>SKWQ6 zIx+>ujbHD4>*^gT2#H&0{KkmWO{H-c(Dm*YH_%BH&U(+?C;5OLxB2iyi6^YmP74=c z4Hpn){bt6mTPX~mk`ey3gMH>g8g5R0-Ej3*{if5A0q*C<6S(N!2a)eg@N-N2eDnP& zPNku4ZnGM=?WG^ney&5=1L8*ypLxhH_bjeAO%+Jo%S((ZV|-{r z-}APc>Cp$D#_D>D?!MamS8L}UFSvRUShrj^B(HA^*CC`kg~@^`zw)XaZohhh!c0ci8yzz^RM2)NkJXh;uGcyk?8~CnR1{eB z#w&+(XwNtwK2^hWiw*8=v@o6zu(;9EFfvpK6|pE9)fTB53PWK3R4-3x{z>`E%6#7_JnE>K%ZNf|;Q7Y4;dt}BYWLE&uF5MXVL zy6Z}_IfnW9EA#lR_gqV(dox)6>#yj!r#GoL4~)L*M)dr|i&6RE6KFkfKe9K!5np=t zlelsCW#;&L6T?N7T;6cT*BdL)*x5`{Cx(U@Mk!*nVx`#EJ^~~l;uwncrd5VeF*Nx8 zY)fB%xh2=%8*y^!1YLgO5L(l#2)B)4a%u;3{*v;bmCw=ok>@aZ)0HT1 z8->YafY7L|*I+AkL)jdp&_lLVLTCOm!eR~z%eGcWl*?O57Uwmt*D1(k$ksc^UU>kLUsXF3#a0f&J zbRK>XosBj0{@9ygGC9bFV@S@|A#ICrY==smAU<`NP_2M&yhlx@MZ+(<7d$=+xqMV? zGvP2>f^DuMQ|iIh|NA}2Ubz?X%vn&T1}l$gwC}}q)yrZFD}L#9;36T(j?(U5 zzmLrDe!X?LNI(4j|BL0X_UfgvjbqBuz$9AE%W3=)6?SWz~<6;X(YDGFKh0n>V0@ZlrtIJ{cY zSMJWy?c0E(D+w<(6}_W^rc*A_Pr+$d(D8^(Q}p-t&{&T}cDN6hPA+Pr(Zp80jySw2@d|UEkD>S_y)HLJlAzNMew}k}6wLB@s&?5+a}w1(IQKNRV1P z)|?RepbK79S*LnNwr@6W!P zOcdzq^d%bGdleW7{`t>8$S0;3G&GUEp=!VsLUo+tr$mWHJb%47Hkddi2p}w9{#87)H3^x-0R$CyvU0ec^lNj++i}Z%;uN z=a(=wHj2fSO&uDp>s43nCxGaIho7XO;a(^WqSLBjVsr?#N*!^Mpw)?yBnjFrK{l7e zvD263;+adVY^7EyQ_tW4NBN?8^6^J?s?(x@(Gi4(N$bn1xgIALG;TjC-a5ljfWU+r zYm2NV6bs?k-uou}+b6z`i*t*#YxlTJj*jW|H(h0}zwsJm%Oz3}uDoK09=o(i$Oib= zPkj^Zw%{k;_#$jp>XgKaBgf9*z8Bt%ss1wZxr~gD4e{XAIGW84!c2rtvx-8lKtUL4 zxi=OPGRlH%lob;MW}y?KH=D;me~*YN*4Ng#*@{stiY6(?9;-^BLqLo`0tFQ-mVYcXG-iLpL{#ONe~xKYQWKYE7FUc7)P$e>*4lV)qq z$uDV6z&65<^8kiON-T~@V*EQ-HB5BnTWs0iBDZ{2H&=S7-;r~tdfA5%pjM^kI zwPr(uFr*?{^w`tiR)s;l^dykP6y-`tEW`|LXUUY&IC}`M_{|RqY{E+)zFUU&C5)jR zgnU7V9z9A@+XO02;ari-*eI#?!B*NV?H0nG5%85aqP04!+G{nxZIJB6OIkU6lFXSI z#5qNOPI3PD3aYgPPtL2BtkRob5#yJBbsx6fe@ec1RP_flO}=R=C)Kvl_ntULm3l*m zdUO29SHFpSfASr8?|a{jfBd&E;?Mu`qj=vhz7^+}R`8jxK8#E*Kp_{Q*@-2S3ANb@ zxYg+pKzQugBly}k9>Lq+a3B8RKR$=edei2!8B=d`AXX5X0EP`3tr$J!BAPMDlTSaV zfbd=S-a~zTMPA>iAj>p;B#7F&Cj@EpkytOpp*XAR^MG^(xIT zZ778X!vno$b){`V0t8kKLUHJcvhyKUsI_?J*wIhz z-?yiq+ii5gdG_jc52-rFAjNE)08|*@K)e9UWu_s;C;&LIrgn1!ogx{&WjhrxT8Oa2 zpYS{&-L*wyD0f|cL%^0p2rpn0#Eui?0$}N$)w=@+9=A*JzpkhefCsUijkUunNCkm)R^eONtH*PQ zJT~X^P18r^74=)a6>#^IT9Bu>sQ7cgQ>GyC=XLVRcqe;uq!t_MzH0HfT8e|D7+H$A zq*w`jhls;3Jcv&zI;H6=cH&F%&L$pvGU_aZ$!9-wJ5^Gw*MVU$;<5u$!Jzn;!rqy{ z!5<1|1LQ>Ks$N(Qk4k!6Ikl^D$0Yy45gw!eeCH3oeAe8e@)Go;Ge5>Jq z?y3Mmu;q=#9&mQ$#yEsGg?qg?d#e~BWjsVZVCV)vh+###Ln&=_Aq0ThG|$?rSQ*Z? zN4?d9rgOc^<^kFTiPDe+2PCT(6MKZ1J=5fU>r>D%Ri?X;2kA~yBIl!)c0Hu_L_iu~ z?10o%U5zfNm;#y(taEKfKBqek>SG7NrmY-+)2pWe%%p^^G6zqf_<#&Nf5L2aYBp8iW8~^-GIxZMQs@nCEk+f<69{eXb zMp`|v>3q2yA(RG$I?6S-h~IJEk?!zy4_|S$G;hNe@Da@Ir39=tD{5J zSsh85j{yHX{JZViI;Ert;O@hBg+N_pxfo($yY_Uez=XBBhk7LHwj#2a0EbizL8&~G<_~x)RBN)trEA`x$E!? zYxj5k81h|IZoH5WuVzQo`uFe3J$J{Gsk zZ{-F*_rQ+uBKSNGcU{6>!Qlx{?h;sjOsgXl#4p?~q!OMn_x0VsdtuL}vqHspudu7n zqT~rjPbzo!8NQ>;cWXcf5GUq{hfEv&C8h=fTv~5)M>{BHGtfH8QcLJ{SC{DN%T4+0kxiak*+|~^ zswuO7sz<_lncKFLY_?)k@5D4Vn587j;qm7-Y%I)!{bjPu$QMbqV+lzI&3aR}?;6!g zE#}9M&dccv__f!MX$Eatt+!~sp~^uZHJg}`d|ozcvAq1|UFPt)WjuX$)odmtaa*Oe z-r~qGwG*pTY;e_7F9v%uB%=E8=?y)*PzRIcougT-R1*$O27~<}CCWH8UC}5I%?6D1 z+NK`Z-p{>-CN3>(>NWcYsi(IrC(kUBwqm;F>T&Js>!J0A#b%{~b`r_;yC!ht{1X1~ z@4muMU9MOYuo=h%5*R~F&h;`d&|T#$1rg$B=bPblrA_cFQJ{gSJ264QL=0#`q=tl4 z*a7{C7`PEbl8$14mBiH`%S;AAKvo1sAjlCBX`(f21u*n;H%^-0{)s8{+Zu`!A{)<6 zbG_c;sn=d7<*RmZu(^i&-}pC}-3W2}oqZU2ZWi1B*B{|Wr@v;mjlaaK)Ecy{r-+s+ zA_4+pn9%izT4w6W28ax6wFR`31a%7y)KZpMH#!N8m2&io{k{0NAI-o7IcoQn>HPQ4 z=*YosS}JC6eoc93j5W9KI%+S?!mh1r&{Je8^h@>hkEpMwN8=cp+qakEW=xHhHRVjC z+HBj6C!Yx(`qUG+?v*#{-W@rT(7+VS5^rphU0FkJ?`{lM>(G{HX8%UQtZx)Fvfce?dxd6S_yV#QRc-GM+VjI=M`?o%wT-dDgs3ba+FDS7!86s|5mC<~b zvjI@Z7z`F7sdqB8P;Jw4GXbff(TUZNAPfxU1EQ8O+G&Hti${#Qwiz&#Ny%D6q(n}m zr#1vktgH{sRB&RcuCF`TOE-*!IJA^tq2>Y_i-Ez;!3aSm;8Pn3-tt$6^*swwprOS^zCWZpC4CL0Dlo=UDb8U^vJN9Dm-uv`5ufAYD{@Rb}lV3VR zJKlAZUVGbis(<|n(UWIL))#2kU40sCAEW*&`ykCn^@UMH-}s*eT(>=xp6NNReR5HH zcl4lnVTFVKBGzUbdiI$FH{L*W?>&QRq81K6wocdFokgo!L#7Kh-{ORE9xd(F!*nR&z>{r*$trpY|Y6JuCft%EuZgxZvH9uyXG6h%Nj z%h+5OG$}w&A&Z%FYgk>c!IpdYsV5e3V%6YHH;>Yt2aEc*-(JQae&+-V`8;l#D&fe* z6;y4aWGyj=9{W!yFrkux+Qd2P60xx&NfaPhuh*eUDiDf{fm)CY{DU}4D$+zO$F5hz z=E6XG^HC77+Iq`kt=Z-vAnfVQ=z;zSml`qZ9cB}#Z8oi`ciLitkgc^=R4ALx@T+dW zUjOP}Kdp(fzWBCl5#}SE-)L}8KGFV>GEN>p&FxmA8|@}VkwM!Ec1}$I2=w1S{T+Jl z*crU`#W&%pljkWDWwCSDkhYf2>c;9C`X~3%gZKZZe&XAY$Z%h8aNU93x^ui&m)16P zd97wky?Ha-TLuEQYpW|kWxa|*Umx1dmdwx1Q@v56LcS!ec3Xph>H35F`O!lsrC#q) z5U`Ra_`&1Hv|P%BW&ck@<@ENJDE%MNg ziKI}97)spgw8XGs24S;a2L~V{f%Nwca6X&Ejw|-c+kWgNl+9;!YS(TyZ0yMPNgHPJ zCd_2yEkFKhXmgXNXVtM4PRO+N8!SL)D|LGt8rwDuH~`ji^$Yg%ZRD0kmoq&6a|w5{f{Cg_V*k_y3g zu=(XrVBzb}P~R0pl>3FZYw10{9j-Et_DJs2@NOh zwt}oe0}>HkSY4%qJ0>)r&yaM$0Y|XfQc~txy{Xfy6-*2i`O@O58YqbtWwgHsCr=%x zPGb}Q>zCg}AN|x9{kc?95DDZ=byOil334aSoc-C|J0?Dw#4#B%nx1jl3tBC!KX<{q zU?|d@!qg6i5~svW`_IWAP>E=(>l_Ze3_P}^UNo8l&Q35*9-G%KOuB2uo!Za1E?0es@6*i{#X2Iu-Y(fGz-#>q=06hBNTuI&Tl5sYugX z38nxgB?3qQWoKig#4yrD+`LwAix9A0bV(i?v*cVgoPg8g3tnvJH|@?1A>c0PEGd4W z0MtSyaKbt!cbSr{RoQzys{2oNf=pGr^_*Y;#9%R9+=;wHi?DWW zrBf9>d4N0Z0AOV&YJ7Ea9P#NY7Pkg|H+C~e_#KsOJP(sxHG*zJeArcMCv zhn&7!bYFLR)d~-KoFbbMy1WflBPV z5?m(@#Mxtk1Ocl9yPS8v>4KhJa7I0lVf;fEN@Iile`CvAIt9!Dmrm^!%nsmm01#0E zRRf<>>A-8RDtG?aegGM-Vo$xxrF-N>dU2%e$E#<$d^iQHLV{FK?16IczvS-QqqHf= zD5=#^3hWuAFr-ln^@UQ?;*q`#RWK_gZJT0p-%UW8B28ZT>P1mtE2%OQoVIe1dcfFt z*f0eFQ^l@zq%PdMaN2F@78^y%nK+={fFbPJIC6z9{kx(9bthj${G!0*te=RTGMND1Zk7%YNna!s#vK6D@9#p$o@}tDTTC4q?g|C@LaQEV z1jDrec_27N&K)7?+OHfJ;6Y4*n@`H#q6giIoGz@6e1ab%&Xb+`-IUx4jh5 z_C$c2o6i2q!?+&Y)~$Ksvn!bVJ0(xl!2#1k=(Z!d=jO-;Lw-ym1-?BiN!(?T9eJ8A z_Tns#x&#BdYHtS#ssDX9&eG6h(k&mjRJE->R2zN~b%is1pNs&`gP*;n5vRa0c@H+L z-5~LlaBzYI3rGMU0ZHJM`&;kY-J`Prl9UB!*P7?xa=#dnn}aHFVKM?3l?H*&@o-9qbR(4tBhrozS5kco z8&U$vH_-T5O+xP7`R-Enj*Z?e&0RD6^X%T2qHDKgyscZeQlu7JzEv(An|^cThJmZg zoDwBo`K(lA!;YV;BDdQ1xL= zN^W;cObSavBEt(iD3|tT0Ox2=RBdjGPJyAfn?#KqCC4&PaS?+AL+-n=hc7JD^^*@Amt%9Ae07d+3z@$NwC~ zg_TW20dpoGgn@Es+`I}6>z=+WHk%0@o^Az|qzyj{hz$9-5hnGFq!CiEl1jn|+=;>& z%aPB#@Wi28m)xlHq6I_DnUK{2h&y#OglVvM5MOxL9=h%2gOXfWAc9cq@**#vS<%7K zekxxx$c=?LG-`_1{oT*ni=ThQ42=#UGt!T>Z+rs-FMT0D_UYfmb#MGjxwKiQ7i=5h zbIa=p$f6KsI2$U;5h)XBz0uZYoKQ9jQ6^AdHpF;;h^4g_UVh`G-nzeE$1|31xot0s z%}qK}?W2)mpUn<7&Hk5MjsCF#;+{d6wH1ojmk{)p&{*H#!uFk7+&MxPghr)?C=`Cd%_!{4Ixn%8nP*o*MeF^c!z4ch(!e(qca zS3UF~O0ODFTUjB~Y9TRM;$Z;04{C69gW3x#$o7>`d;Cet?%z$(4R={YS+m<1`gdZffqX!?ajHyb*IQ_F0I@Ohxd1kfO*K|D;shay zp8Vb)bN@Z>M~DP(`sH8X9Rv62LbXYW5|88}KuJI`^=30@iy)3Wuw=MD&svN!G|&n$ zx7mSd18o5WiMEmenSd!92|8lX3_4&A-D%4QNQvK50S2O$0VBpJi6ty|68eurt9s{n zfnKyDhpZtwUbTpsZNb2dM9P@~gXh+)zVe@s$%i(Zc>VkD=3sQ3uKwiT6K0QK=3hUH zaBNu2%U*`;9os1W_BYUpTWCLXM9V!yuXw`*MLQxuVwyO(9ru6XJl$dH$d(Hl4)<{7 zky8i<@}SxV<(C>bHZQpQ`V3`9GrBR?;`Q?@Xg3rSw@;#Pt%hKF6WJ`G_eFbY{wvR+ zU5Qa$uAtp$qm&D1YUy}?1Xb3}mZht9hNvY?ocZz>&{xiIPa#KZ zH4ADglBgg^njA*VQ5fLD$yp2y=RvlE@xh2R%u3i-WZkTzQOM!lpPiFZA>xm`V=wmS z+xWnLpTyrkSEs>ZMsC>N!_S;wGV5_01_Wb5g%i}cxkUznAyTjkC2YkiF#-|;v7*cY zA`YmdLIw&lq(sCPki-hBsOF=P2FoEAGmMr<(rA&1lSD^L0c|gb+Mf?-t{!8vuHaCh z#_(#r=8h$CEQu-=Gg~(^LXVwx8R3|&r+?~#uvVS7z0CtSgTvT<=Xv>I7WTB!3(oXxb`I@`sia% zV67o|{hbG-FPGtflvmek8is)x>Mz=ni4g=QGV7}wfHFd2U74RVCJMlDRyS*Hv^p`0 zg%Sms0ONywTq?(ah*_^R@TKoQPCxgyS6Bpw&tIH3QIxTlXBT;VY?Sux+@aGmGr0De z1M)Bb^=0$!cfJ*kT1~C(P&NuEwiX@jpw;S7CR0E=w&*0#omU<(rNM1z)ho#4veNEY zwA*WT&;C7Tpr=e5Yil~V6G5d~2Qwo{EI0^JF8Aol+6s{}5}WY)Miu|~pI^X-{^PT} zeR5a}xg1};e}^nDEmNi1#(^vMqOU(kSM1q|YNd*Iz4eu-RqFK2=?mDbG*EALFgDbK zLawBD+;laqS8B4fsAP=d;U68t<(Wmi{6)8N|4_die&!fk6+#kI5CswhCaBk&O2$AE zLgCP9WCKIJeI*ooO0u@P6mG5=V*o zK}5}J4N0p7L;;916en#B!yYopCVuX1?_?pBT)xDdSgN(!9CupDi}#NQumAl&6{(#= z^TILCk58iAtWr3%mo*qyd;URs_nUv47F!J*`-uVUyM3IRb2DTMV`v{gLuAfqE*DYl z@G)dE5z#$&!S<95*J~$!t>8lr>#G~d ziNg!9ttOJBWp4Y4pT&EAzJ@>hi+{&UUv?M&_AkE`zwmp1tJPYAvbl^lS{>w~klING z&1QoD#@c2h`Sd5g73|+WimyC)nEUcmDE0JWZoZ;nn5b1jyWOE`qk+-UVa&`e^NB-; z^oG03bjAK%TFB(7(P^TXFKS=|Byr4SoF(Gy(lYi8Ex^=?g$x3E?tw4sHLv_h4Z|!Yal`B3+(}nc^wfF7hNn)S{q-yM zZU0!3Bu-1|6~xZ!Mt$ZW{4(gB4OEc|$lWp73ChTN^%Dyc>nv^!YZnu8Du3h8)~P!| zN+giGA`wVLU2l3(a`tRq#0B9lK9Zi_81CnQ>#lNoWruGu04vx!OR57e91P<-*F6ZD zVs{|%7U2#%Vki=Kn1%CoCkPva;)n|eY54$LCU@c&M}V-T9TL<8n;tbMn%fd(`^$jK%@L@Y z=ZUQq38esj*AK;G{_4SeZ@~-#8D|j;crwMS`mD#_9DW>llFNy1g#xJcSg27iUQU5| zc4J1>2^o#`AfD&!jLWQrq>cn`U^?uLw=hwEJ?exl2;8B|jc;!UMOGjoy6;^{JvU{x zFk_=zcHtl>Tc`#AEK+9$v2NbL$sHY0Vbzmg>|F*N&gbSZ`#I^Jl_(H&ftQqy6Cj0v zKxqL`kZ(P4GsJp^C2f(>E^wGKEO42OUXAVsjRSgo$3gnA;gy;4JRsVmwduK4Q;Q%) z*Xy5s34>a%ly~0$4*c=$NnJLHQ~cJcemuz9m1d_cMJWjEuY;iw;|s}FFOX;W0GDl& zf~oE!*@LiN8SWr=;|8&MFZyol49K^B*sk3V`!0&quEmgbul#u}II7;ioPDacqp#d# z@oZiC{2VXh+nEGiW;eYXmGoUxSNZOU7(W61eUq!b>D$GY^-Py`_7jb}gsWrdEJ#@u z2E>Ug&gsA)pFR(TSb*7q%Fa%M(r%(IXit(B8|z#>$@c)LI$)1EjY97dE6(@J2O+a7 z6wc$z8Q_R|kk_mG(?DcO$SHu~pS$lTu<-tNX^5*Y9q^w5#p-`Q?K)6TBspf6 z{XB4mP8_IC9vo%gbzwaLLh6{@wChK_c-gqmBXyp4?7KQrz|?qUd79JFwH|@Xa4@Rg z3(u2O7S9XwbzKnz_g&=2iQ7LA$hbMAkgfO%55^mCx1|Y`7FM6x0Jk`*z;{&mx$FxL zc~yY2TiCYRz6c;k&UIDmT@QHw9?8dD3cBykktZIs2YetjwulhY=UEmRHy2XY+o<<` zaiD-VB}_R7-=*QI9DAYyNEd8RD9Tn>2)Xs!JzMyD^6iAA)LMz*Z^@6xlsa&V0NNrlU_Ha_YhOU#)-CNw0BqWY;_GBuS6r=ib5n%? zqafQ2q1yV~lyu`QJDv22vLB1$-=qHn7)!p|rnSn|i9}PiiMI;!oeJqjL5N_;5s3-h z2FeYSw7bS{E)r+W1RsY3aJpEzOO@2AKXIJ~7F~4)3n13Qka71Q=!RmG8fT4V6-rLU z;u?k0`xbBeqv+m=RVtVB`lCZ<|Dvrz21ZGh6EXsVWmOWt?2YyG>wDgO8$SN;Uq@(q z`R%VCm7@gwRY(V+I4d0%KC5*u1xq$1oto~!O%bs*sR8=wHcO~CJRE_LZhl3Twb$u<#0|0 zN;#UXv~^!^z`ezQk|5FpyCNOR0xK)P_;?QUjZpiBhuC%!z5cfCnC}VjxBqn%W0C3= zJsFzcjI{&Bj-6S$aHfN?z6?r5!qkDC*r)~imtQ?D*KF%EZ@RY6j&C1h>NMrildITK zEOId);MSfDbrPe8&Tr6vKDB^qoM7CX0(bKRnBl)P_ay2iVeT^*n3hbO7P7*beJ zEJCd$kwh#h3|+l#K)?9jgEZDx*T$ifym+aNOsk?|g>uC#Bo|@h8&4ySEi(JIA)t)e zvA2Y!r=CN{9@McPzYm>ei}u`ojXv=AKgloo)lcZsW*wja9R&)an#2Mj)of7_CB!*n z&{GI8RE%_Eqe@54H*n{UUb%OFnRi{Yjb8eTH|z0#e~@Y$736aTyKr&Vj1Bk7*p*{! z5g?v9uXcTrOd&7Gyf1&#&pwmDg)%m>O&A z$nDsvVglk~PB{vxefUSnj19r;+=B#6i6$@zVWT`WUqZ9lKo}W>jTl<&C0lJGEDazS zp91=ZF#J)fFT&mxxPQ=;#iiwH3zM zBZ4R--Izn>me)fHgW$)X;?4sPf_q1ex#M0O{DWV@uRQj<_=gJ}X~u2Jgdt@Eqq#63 z0&L{*XmVHBa(?0^v`$3OAzVDO%IqIT#* z$R}$WUH=xIuRow)`hySRoqzUuIo@butf$Nc6Qa_I6>7nmh**KuMw{{`!ok4^88Voz zDy_9GR71*!PLzW%L{1cejSvK+^$uy`x^c+|%ZVmJ6cE6wtV*tjC6*ZAhvw>7X(f2| zo)X{Ln=O9kxfR)S>o)Fx?NyS@);V6T;?P2@!$UFM_5PbVyk;M8=qNUR za2(Q`M>g5OdtX(SzPvD2Vocq;6ZLbe2saaGtAmUQ=-zi;iO$jzPJR3sdW#WmdGQb$ zrl?VW4^g89XopT5uR#eoFcBdt1!%{t0fe48-NCNWHT0GvjE?nCb+wLawS~=%I+P>R zn*|yhO`tzxHYy!m*o<+4p^M>8jdh94R>xM`B^JrGupiBm( zQkMG)9c-@FB$F{bGLV&gz}#wdq}dkUb>#@>c8%F{7aHb+-@c&x#{2pHxA!626UYZX zH_IPA)27{ny>_fOq(@H7X+x}r%w(9A1h7V#nboin7-%Q4U{dEC2zEqhWR$(|C~^B0 z37AQQsFjG?1R4aYyM_w7yEm^Jt%MfqF*jOblz{PKM$0)vt=Q7V)wZ@1g(c8t%VMF< zWT6_d(ShC~-E_?Xz59k;`nnh2tVfPr=GnD%1SS(l5O5fAB7&Ym8S@Jp*r;@1t);$F z0flT1acr?;azwxS@L^irtm9XH>Q$)Ln}}^9w_bmMSPfO`o1zFHIm;LVu@ zs%zG+s(Q>Is3oC1AwiC&QhFfAWF+74wwTgfP zJbml}&Rn=i1Z#sJbha<5`l~eV`yfZnTH&%YQ~Q4}1~rb0;Z3JrCV|Eo`+;t)&^nXD$Fe z{V3jj5W&y@qOme&zVah{?=u(eoojz*TL#jAM5hZ|UL zGbV-trj3T3s|F??B>Kl!1AqJ+^khZt>g)#Jydw&BkLDEZ230NrUUeu?>vFY(NVG;mrqzKWVP9862x@{|KcD0J?5VLqnjCG-$I{ORl_PFFp9( z@6&a!cq@MFNF4ajp%nV@&&Fe?>XrV++a{BENZSh?6YdfMU1tbMa~hmH1OGptnckZt z3A*nO1m{2L zEUZCpQL@j&C>&6auJ96G*a&Zvo#Hp5b6cqO}G*Y-o{bMbaP z;+QHJa)F*6{A1%mb2sxHSj9f@(ud@_XYB4pn7d%BQ|YG2K{`tUs7LtK7jHurme>u} z^akO5 z$EJ0WUqb)__n$02sG7FAnbc2g6$je+dm*K+AAG9*?dJZn9}}KcbD+IrSw+N$8oMHp zl3r=>Fvx-Ssnrr|ikLcvJPmbDK~bppl1s@D58^wUoi3Z==b!gqXX;vyq+v78`Hy@@ z4!dzl?8&!O-RAoVe4y@@$6C-0?~#;Df+s7|>w_YIThzNiGz%c6>&fYUCoPbUes@^-^vgE1`UVGO$=jQuz=zg7Z_e@V7&5R~! zl!b(ZkU%7nOc1sS24kCGgRlXUY=X^45C#z~Ku9Q!kVavWCZ`V5Ilbes3G5p*wp2G2wJWUouz0~L<%ICBfgBqg0%~X{_BK;S0-F7uv9O zGK{_XqqkxzV* zY*?i0>oI=i6EEm|y+vbrL;1+*tP)bPDX?=S;_+OhFDSs^3(*x@e3$c=dXzCJ+jvh~Bz;NdNXf+#>P$OXjnm zUy-ASiZnA`!rG?c;o%UK9V2w*%!VwUTj9Njhec*@@abpgabPGweryP{UwVPs=Pv7k zAN>GqK$E{Py4$Ahz5nLJ{53MT|KELF381lJNIk2XV^FRbVEb^HwhgPkcxjm~t@d$h zQAuI(racq*t&hGLBipCYxV)@4{_!bVIB^XJZki#4AT1ZM)>S*Q+Th&81nRFmL&4}6 z%6krSYEzMb$ToY*y%r}3fb}&Zn}FMqnp^>9Y8$4vZ5c0qB^C7htX3d#A2!NKpy0x>gHrp#mw4^M5_VLEfT3|J-f=&YW>a``gQ-+j zPGbbqGZ;Q{KeQ2pa{+YQF)@-b`gOvQ2W4jey{zcKiU8H^;K^e)?KO-JjYuWwQ1=^O zr;V3SV)Bl|93Hq6$%T_jLuI1MPCE1UZ%66y9zF6iAE55#1q9J<;`}&x=cMY$6zt|2 zFam_p2-LO^>?kALdAFps4W@P?X8+y%tIz)kIVq z-+YCR-oK0DjW!m}t)SHlY4(|G_}VAWaahXhh)K~)z<=^Y6HC{h&;tjbl_*h@pURjokYPxi3Rr98Ry+;$?=n;PFlN<6oA3ctI*rRB8 zl+4cUxc>DEm>Sx^_Mw6*BG?v2GhHAlFH#$PE=0B(c(RU3Gdm zrSHB!ucxoYsP}3ZA1~N<+f|IE6@9;k4Pt_U$FUJlnwBLQS4{uEozb^I8lo{_;C^AUB%R_x#RjJ+W!A zZ?q_levh8LvW`Rr#uz35sc$u9H8u>G0U~RO)70fdShp_}1*=gq%KnUHp&=8;Lg-p6 zc^2#&jc|0Lh+;mc7dAV*UhktXs!F881*18##&~d`Yg6PyLrn`^Z1#zW@L#_3oA8zg zZq}I{6HugdZEjUpS2pnY^RFopbgWw8>kDfv{f=&*9HCr3QZY(lK0waqHBEce>UI%? z2F!+P8x7QYT^!rDOCNjgGz35rcWGs{rpqhK%0UD&!}Rr6E}&G%Yp31D;(E=NOL?x8 z%Nj6C8po7IA?nR078X~jR4!N*LnC7&MwM{(l~Z)?;$@wfp3-75hl@9ss5(@%2X<_u zVm`0OkL{P)udnf`(^vHNtnsqGWpP8xKf3(==#d44v$p%+Vy3ORLjV4 zghsasX3~5VYNy*{1O}V+rdGzr^!(SK!P3$iALv@-3Pox*8$=89+HAIHWn~FUz`{zM z8G;}TkZJ;(rVtU|&`c1u7#|(M@uPcj>B_uaS>G`Iq^D67QMoXIfUS0WT~5VnF<+oY zyGzfXIEhle0BbGU{hnsoaT|>W1;qBs0@#2=#hMgQN>b{@eeJ|4tv73wBvys2k}#Md ztD6C-O~D*cYK4~T8*=f=HMcAarDs|jl%&?YdfM$NjWGy<&}ABs((*=4bNPV!{XQoN zAr;k&S1(Jzp|P4mi8M4I(SVr)G&)Tfkp1~z`?WxkLgEH&vjr>8>OvGKR)!?$H8~pJ z11`=$B*h25^+!knDin&+?e?K0ENbz~-~CqH@xgady!fQ_YYnO#Jt~~UA|v~VOjjG9 z`NQBnzwrzn+&)IX{If?0g{rm5Dw}Er!XiO6#~k<2dE_4u4d*ET?)O;qdqnfsn3or9 z@zy(8Zn~L*$w`&CO}cztOd+D3@4c7a()$MY*EX>7H=n}zx4akmyKh15r3;w*$Fmq2 zDPla=#uxwjEFQY6gcs&4mJ-pvRebL;L%))P{?t>JZzPP@=GM}89@}LSNpXFCRnI>0 zxZe7XcbRv*{a*W@e(g`pt+zgkcfR>fdE}{ASzr|bk&RQ0!bo#rPP)C0VFJf}i{;f# z`nLDoZ@=)h(`Luc?P>y0rxUBSR)f%R5{nS0x_ieoox5~Hub;cdGuy`HrbB!5h0|wD z-0RzFrC^8+Qfn#TP(@=}S#RsksZoleKtW154v;!K4_oWBj8LR|wvD6P?dedp1gmO< z#dew-LApMNH{W~Q{L|+?gG``^LDHbdx7nfc&%gBQb8ju*d&~6n)NH-k7O&89VnDCG zQb|Dw90mXjf`M}u!XN+`UPYg|jd-L5S!O6@R?r?01>CuaIe=&i1m33CciSm^E*kq> zL2`mIRhOYiVEB+KWM1-2fTZwPRp11${@lp^{L1Qn-m-Ci64{xWe8!^39)uYK7h&Bx z0}i}=@%pp4c$b6>6Y!V}d;1_&@9yDjat1cZ;+5atz8c7s>K+Gz0u(ySAyRKe?%t#a zxEwx39-s01cpX4U#^HywmAOD_pyE0ozyLElMLIj|BJBBvL!&}1646{;){4xm?#*t6PovE|TR#k=}g*678 zsuyW*VHH3|l6dueCMZ>c`iuz#~b| zl-zfzI?E{{Y<2d)cQ|BD1epk25U3`eiGv4p$pe|5fuSu>PLbJmxPeZVd@!PJg*JN3 zF7x^#-{K*@C5OCXT|JPa{^6(OewNv{|G;^PJ21}!pYHiNpp0C~v`5>09GM4)D4WFM z+bax2EDQ*2GSd|JBxE_R*cB}vgt)qA zPeNXo5h3WK8XUvf<%0}Ho>=nxR;pW%r+xh;1;n# z2(0SBA}1^Oj@a|0k0-z^98u&z?F@wV6Pzqk50rwPH@$ii#d?bdtLg~|KkjUnl>pa5 zX1zS$k9YWRQuRPO94v_dnP=G6LP|_t#jV){0pR9?_*tI?%VxrI7i8lV&*Zu(pl-ez zW^ZAYg`tY;<`dU?#bUNvlKcXxAaCjA^Crl#>O$U5%!A*9XUqgm6>7G|j;j}r^isb# zI`BIy*6x~(U%XV^V&?J$oTr~59&{R_Xjtu63C zzIqZ!wycFfo%F5p;x!_M8JOC@?K&I zEJjL0cC|4ySz`8<<_uhS+4;&rEW1qcj_Dz=X&|NclQdG&n+W|3%m{e7re2f7ivF@+|qy9j{L|_;YEK(H`t2Tu-@3{ZYzc`RR9#mK(N?Avgin?%U0^zk3`*hYFNCa0Kz%3QVC0 zY1CPh6hU>2+ow-}_9xu$#1a+DOlpv9Y?}IsS1@$!2-DD{N@bEXNm3N6Ce}Q0vm3zn zlq#b}H`i5!*cgRI5wzPx=e5^ZTTN8o{{fDU-j2pg|BQHP9?`BN64&a?`BBCYB#DKC zu&B|_?MS*Em|e$I*5`@)O-kop1&!_^lx9eK8!(k^YL~7e7#bp-I$}&?K~wEA*4NQK z{VZ}xN21|Lim#j}S-nKO^H$+_j(0q?56^w>0`0nb3D>{&4cYmw_j6%riIf>KeUy0Y z5U_dya^?|GepsX3M=08NE1RnqfYv?Qj5qRd{ct1CyAzN@l$v12tV}uzhYBUqhczsSuQ`k`l!NRggx3p$LLl7*<3hW=dlxeIp2riHO8|AS+ZM zwAxer&lei_zMIST-G|HO*&AJbWu>RvOA+sLPBy`&7U)mUcVx$B=jn%bo?cZ8Hx z!!V#B6HB{odHY15tIbpkL&Ka)J9zngO>Wv-rq}|VR$}(wwNtoQ#6m-O$IXXya{nY6 z3w7MMw2XrX#^_7Su})V=c2^O^y>$(90S%9qHPtTJZkJO;*poE$+iuHKk}vDO{p&e8 zv+1;e=TO7t2bn1WLT#r#%XC~ zojOS>-Cm!qBy??Y9Y>GuNHx~Px^H9$bR%Y9WoqJtH^@P<1Mk+Gy47_w=Kp=t$*6$;wWMr9~;Hw zc!fbM^=8*}+jSi+mu)wRSyH83K18up3hIrPCcP9C0$~(ts~uC4#8k{j7#SHtA)kW? z(5$bcA44u(TOg?L-rd{e)iYQ5vtM~eZ_LkY5E(7zOWbSp_3+M}L1An{$+lQpHFO$H zgi%4637jiX9Je`%V-!YaKv9JGmp+L{UpfP00`!wUQvgk3Ye#d0fBy?VYEdN9IQ=q8 zleM9X5IbqlacN zcIym+P8;>rwoVp7jgF$d-ox(cfG682PHqssbjjjv2MIrVi0HS^s;+d^{P|-y=m+0= zNK3_#ugtF@cz?mm84pFekgBbt~`N zzfJbc?2t>>FPk(?kT(IkR)olP#a&xi)}wo8P|W2hPArTes2T}bsh=dcGPg|Q<0H0K zYx3miux@NLsX5x@iHR|sd+}*}$A{i0KmLoq?zM~rQJWoFMb$7%s$jCQr1`Hr{_NSe zK79XsCdNj--tKmw36V0?x!+|LCh*~{9w;&1<-v;+DLb#L@!i)38B*q;BPY@lac4Lc z1qTMHq+qLH=V{~p*Bwq0GLU!|gG`7i-U3C~xv4wRqCeYa*qIR2IQ_W8U%Wcq|BTna zIT4ywXJzX#CNQ8rBGlQfI>JNzzJvfE%NOwY$rcVIo@ns6m&eqyKwa|Ju9_LP_-hwH z$bgK3Rgp?|rYBed*xTh2JfN-_Q0wu%O!z!Nz{O{xnnAXnfyY&hJI{*8g97lb7z$_r@@_cdMW24w8z(2Wb^MJ7&D?_-v~UoR zr7#l#lDhVj%yNd)X%@~R#DR8$AXIgOgw-p4Nw$D)vJUKjorRCemWma$m6mP%WU_v6IsLIy zL21S|GJ({3o%)tnly6D^2_yBy034v~o`?t$I~}S3Zc=!lO~nnwz%y9{@m53_gw{$n zHnYEZMoPq+6Zi@40z7F8RP|%fz4PpuS}=L=!_mpk777_y=K*8Q0)sKAN-i9Q5KvZB zJZP;M*r(YMz)cDl;NW9)-1Am)plwzt{M3faCvf+d1)F5nKSGWe$^uJFHh5GA-3!?> z60sTU;>i>Cm*K806-N@t>lOzGX!=#fU#straL-U(VPsKQ>&F2+NvG}zWQcrNjkvIH z1P;_E4{NGdyAO~i_pC*>-X~>?s(LmxTU0V6R@5)dKHx{3%~1xdXA{*g*{*OI|E>Z* z>(l{Q0#8nQ;vxVbK84<}*MF1v?hDstk`>{>c*=+!SAE=E_lr+vgX5dQ{5#Fm;qJZL z!72u1IUU)eMM|*jm~e=K0uSlX*lE?D2e=2>&z+Np>qTuCyOhj`H65oWHdA_d4mBqL?T=QFrP zSSWkq23E6RVYs$g0R3K!%U73v1d!Baw!*k@DIio*Q9`j$=3o5KUDCX^%4=Q4?h2uC z<%0gzmoLz*)1ij2xVDjE|5U^UQ9u;i$3kiM9ODrhBCCNmWA_}&`9Q;f^uSbriJYOa z0x4Evbdwado}kl?DKrcw!cd-dt&!l$D)fN#xtxn|ZM~1#4d|)GuDt7D#Z*jR-?S%W zCdOtT^yTZ8wiN@J9?LtuOs8e$=VIBuCo;F~F6-!cRdS}T_sncFd#B5I{G~Y^spNQS zY6J^wf_*zHwEIv_&z!m{hbMA8IZ?uQzxO74?~y6<7yoh*PoAk^xKcn@3<*JByu2y5 z?;GRqdFL&9a<*l!Tv_69M+vKoi}dQ#S5V89@vd)w6Mpj#euS7vwcp{hC$8f6KK2-W z@~LzBnUnMQddPa>#yY>}_%x18hTQMtJGI`D3ET`tC{W5{qfxmJ41*$L5HTUP1Zx3h zVn&KT`-#0~q_>3Lr5kFtZv&WU@3v7;AXM9E$$B@TiIDWlxd!cf;|x`9-Hj*z;Au>Z z2N)UNiAKwE@61^(=b45kOSpcyWwy7@>u@9~KX6RPhAm6016vt~X|G}B+#Ka_5^1dk5n)pdMJgrcT3h?8n+QrJ3J&c> zuV-O|G>UTEzj94$*KSbt_PbeUreJdsaw3xE%N&$L1ceB8WmT}cMs*wE)Quk9a`Q0> z$3~cf2tm1m=BZaunw|!d6oL?8BATC?;V>kiI1JrvlCCYGH+vnG`*+dE{clCGawDid z^j=B3O<;MJxU!9OY&(LeNa%DNJQw5<-t-2H95@ctYtX2Q@GbAcp7AM!WHgwZ=K2fI zp!V|fy630=E1BU*?Y#1J6elduYKg{mvKtGK`U(a40Bk}~lt+@bHI2(uJNX=jj~oF9 zB~ZW=X%ANF7`^Rw)S7+Lv`3q#U&ZLmlt{15>D5^~{a^psy!+d}2%4DD>I-K%KQRiF zN}6u0l9@jZ6ID?A#^*r97=HT$6jmybYiAJ{wc1yM;b}B4+<-m(m=4|iFmCz2pQg`! z-w$c+sn64Q{_8)XM^De|QoAdSzU7(WD!OR`N(I%NLBs|rQuGtmX1_-^75dRPAH(l` z_V+ZkFyYz>V6+J7m7(1dqcJZC3nr3S=+fue?sx~@`O`m-_4mI^j~xGgdh$w*9^N~G zV^c+3t#zrHq)0$0gaj)>c@Bc1P?6_A>%D~701!j5v#TQzSW<-vS<9g!P6>S>wK>wX zmqLwUP6=YvDHn;zcyUO_TK&rtE%VxRh#$JWphG#PXKr*clPh6YMYXEHb&2SsFZQ(f zk7x0{zx)=qm*=qdRWu^A)wn-`kN~ek?j%!P2V>G`-Vcv1atIzOo$r+lR_}&+!TxwOFoPsbRB~pi(ht)!O*U zckHFg*f{>^`4%3%)X;Ls==Uu;R)vVvkQ%4p3;cnb45>m%Ra2`>##p4;R>dC@h*Ye4 zMJb6W`iX*>u&ZKdqQpo=bz!Y%*Scv)U@8P;^F$_!j23gO}Hc{sntp@ zqW|(e@1u|Y#!tY8Wo@j@)9m~PcPwLK#|+;2%@669AAOm3PEJs**_OH0HJz^Ju)4I# zX+HrQ!u5qs-q>s+PORh$dETtG^$oY|;9NcjuptKH+Tt2|y+i@Vwy_ZnnW)j~V0?Nf z;$8;~R%3E@b+bv+V-=d78nH}7{a&AQVNTM1O6@qNTW>pzZl}){iqo%MqE54eLa_iS z)B0u|S7sM6J~5&7W{1A`l^4Y(mPv`AjK!5Ty>M|3qE%~ap6ecjv+0_asX@W%57KVx@40F1^+Mv<#A&gCqNweAE z)x|aHbz5jQdq}OC#ib@hEcN1!Du}FAWR|qqLBCopVq&<8)%8sZLeiWPMN#DQNEGE< z4r!X;%8eCtnr#j9hQ^1hC|3(+da?==27mxNc1&@jAM4s$4Wrc|9jX+dY%o-F?aPE#1a*YOoR}*oB=q5wF%|&MOfQKK9{3*qm53d zk03OtH9KH1wfa4D+fCb#yR?0>qN2=0<$^wV+cACdYviEjM&wt70 ziX{pPWu*Nsf_w=^gwB2ZFZ5HdE#v1NJU|B?*oXPAKg;>3Pc|7<2vd+}pq(PvKZ6}D zYwK5*jh(#?SzV#v&ijFpamd021Z^NmtOof!5GoKbh2vu`%(N#M9*Pjw*U@^-qL5eQ z#u=r;FuwVgE^6%rXXaDfy(`ih0vv$gwI#(XH)(!>k8G!vg&Iaji%1fSC=96E?VC7FP|W2h7qa&IJ)Av%jqbhYb{#2~W&iGN!IkS* zkR}PjC!j-5wY7 z1zdRT0(Rg1fH0F$)eLb5$asK6B@A;&lEe^56G_cuPd@#H_r3dFyEur}tR@OkSnCB? zFkX1&1h)qMeCITBTMiCFaBdR}upm)J_&Qa(>i~D^We|{N;4T@671z<8orgVk1aH-& z>fPkUouL5u237$Of>@ARI3Sl8swpz4(FqP2f)s#(@c=T^ga28!0RXlc4v)MrH! zQuXvQ8>n@Z0cGb=vHtw-@Dyh;ik`o9rZ#hknC5TsxJ9{JpQiY`O%6JE`i+66w@&%pv*L4aR4-8sy z`J7JoEAH&e?(kAgypR*{ z%!MD|-m2TVaR33>&kKh!4sdIz7Xz{^#jf z)DQry3p%lI>S#c=ME;)8a9`@^B=*c3G#iu-JcI`{DYL1`ii&2|8yPN`-IJGZdeGUa zj2&p~`-EIjgwobPG&JzpAGCsKW{X4KddvrKkPki)uj&I009r?A0Lo4Y4q>0>n(>vc z>}8>}q_1z=a^Mj&sR}zLHt}s$4#oy?<}vPO93xZAyK5)kdLy3X0K5f;@hW8U(~^L| zgUo=tUb5=CM@XRFL(3I5S031_X9t2uRY$B)#>%OGr+x%@u17OALg6|#;66WVsDi7B z{`tuuC{-aK%daDZ6oCLXP^k5V-M@2J3_aE2RsLHcFIn3a0h$g-3^s0z!jm%YuU=`L zO=9sNw#kN}aW+R;xNEi`cs_t!ddQ&A!>h707?=Fqv*O;j<4l|dkx^`Uym1!l<9;q9 zd0ee>?OFi~Y>ELG49|{hMh=my0qX5ijDNm(U8aVsy>0?!V}?W_#)He^i6TFa95^q? znj%QE2x{Y=n_s*@*iv9;p*Ma=3^oiRK1@ajbJ>v%?%&lf#+of&9(Y#YaRNWSmAnE% zd?!anCT4na&rUk;Q9?%iW=y+gEVMdejXcqz9$a^zG=pI=aQAVy;f4Wu@(*rf#cZ7x zBO|@klMHrC(XXBmg21aI+`>ZsjI6#!IQHEwA{l|Ip6F8ce*Mm~38c>UhW&U^-=1KN z_zk6NsZ^Ui0KYyM9gu;P0rkTE!hB)zUci)9uZ=J;XGuL%yrmE*I-oP`Tc%HUTj$k8A zQO=WAa+V^FbZRW3&Pp3AE%16nFsAkz!~{i)N{RHJuccH+Q$KLHKLQYvV(3p)GCJesYT%iE_Bn*hP^2u>__^`22f=dLX1 zXP>!FZ@FV9RVIeaNFG?9uVa3tW44bEq0x@D(Tj2CzA-3)g#%n(sLN|tmgU@)HG1f- zgS>Wq9ycz{Vst2nR;^Cs6BBsx(HBTpuV8F=l;RXblw>kHa$ z_wa=i8}#9OruEX?JbmT7(#hpHdegCSR7glVJ&f)SO`(`mn<|~W+y@#Bof=iT+)C-D zU8A_`_&7cB+!gur$FA{WJEmH%k6a-_Ld2cEf>=?4NG@l%kPGqRjh5Ep#A*DQAgWG6 zLqgdeBJduT*?x%0b^e3|N<8fa7FA*ds-(hX6%-h9!P9KfP5j2+7$jCGh3J!?dzruM z1H19;nI?Ai3<{Cz^7;~HZks``(L-Lv4Da8GMzO2cml!&Km4-$u3NBJ{TNSyHF*ARC z2{VVb>r|~;r>I~TWP3?m2m70m>8YH2Y2LID@7Em6+*v<^hT4om{7d5 zsja1TYOS7zr2s?wcOdS!fhfhHU5x6n?fk@7XYuGioxq3QwU4$B2k5P~P}sH$>uHV( z!-TLB(w+xzNB!(|tUdlT#vi^P^~Gf@efo>obMGP8C@-DmI=AXQz5L0~(;MG?tF*f@ zr)ORRmkL$38NFPe$_??yP1B1rlgMFtuL#GN*h?j}05 z7S_M^FH{{WYf>($+Ep^wUZcXkqv#|tYIEx_u|;*G2Bdw^&?rh15!U|pPf^%^RAt+4 zYJBmtNMAXH>36<`C>Vmhab9bWeU%!;0-|J-M|T{AIdok4DCrn+<5UMbYtl!Mkon=?(Xz`}uFMU7bg+ zcuHmdDvdnwV|e7$_n>>`3-poq{8xN>ZWEU_+9;64WHGP3#8R3n(twddshx~ZkaLIYMZ>Ou=sn~8ErQ*uj6AVdjLJh_zO!sC7Z&zmSpP0q|JmbDxkFNdXpPTZwD)L0O$*Gw<5D{%3RiQlgy<vpH7gyKl z=y&b1Q;#n4kAJ34_gzcy6Catx#%vu>M%rj0%rk;eamT*Ej17ml(IgojtI}AKAivSY z)UZlYjqu9#F28Zg;E{7Fo_@89q7bT_>Y4e3Y82vI8Y}wf0wI5*MQ=S?!k$ADXf|6oIC~B2^|p=-6^)9;<=GXgcM{xpdxAo~1i?C9 zJa+?0Dg+2>^#(OIYglPn+{rlDQ!KAHklF;P zT5!mac275JHLjG3{Ee?YgL4<=aqi+GcJG+h#HO@!YM5Sn?V^14>o4#x{@l+Zj4G(b zZHOv{a#bqjLyVRRw6vN+QW@<1PM$rBiLnYEf96>+6qqE9p$g51d77FS0h3`XDTXIT zQO@T$3IoLb6w0E8l$Z_jxg3UyktS(M)#?xmr99g zQg5`#5J)-FR;MQ;rH}x_Y=AId&|F|dRZTy&Xm{E;v~xz{G~ta}3%OzuyS7g#8=`W# zg3VeTM*3U~fgTB|3fkR1pFTf}t8=qRt>v5vwAX7ALG?S{`$jU-SLKkB9$~Gwp+O*S z-&L(hePxkvf9KnQyg_&A6u$D(Jfa|vfC(uAq;XqvVZi_9cm5BcvsgL#D)Y8oB=!bK z73Sy%ZT-Yo_y>RW6a2=>68`fC3%LBnC+X9lTgSisz!0 z@`dM6Di_dMS%+0fsTgvBa$rpngLv|C2uo z-v7=w>DQh5b zL2RGB`Z}SWC3SF;VNiyLdEuL?3`B0K*|n>)ip~VjiUA;G}N4RWBZ0Jhto}h*u~wXu#kM>^ufvMDXv{gZS!zP6xIE!dYmuS5*5E&Hkob*sr6CoEJWP z@U0KLU{8oh7GO(*?g&RnWn_p4011O8eJ9WEg9pH?i@u<(&-O3HLP6pzr(6e0R>|16Q2~_tIn3@^WNmQX$k%nk zkoyew*QIVSIy)C^Ev^G{mj+t~_gOZ3@7Wyjoe#bfNyJ-EWh!~{T|Mwb8)2|uIElFW zv5`F@SD4M~x;xa*Z_ft~vK~O$*mgvu7#_5J4MrllVvj6bnz9eDZqvmyn70Jq8kdbx zamo+%o2jgGCutRB!8xDZaJ7(0n?YH`^unPGWCphN9s--Z9 z=*K^JU%Ynt2A+HAN;En?LTBdNy0+ZMBrJxEV!9Zh)=uq8%bEj|z(_f-E1N>GQCI@E z(?HObbgd&H09eCX%_(-26pL0lwIYT{bAj@iO{PkY?Avw%OLc+~t5Cwu3gpnRnnpXp zW`}t1c&G;tjN{ruop`g4dMDB0;SzR@m2tfr;mTUfOZ9b>E1~WzMS6L&O|#7=9iACR zE@Iw2U81-c!EmID-H7tlg5L9{TUExEY4yZBPA@btQE%yJwTQX(E|o)4O)Ncde1^XI z%2mv-H*sXwBx=nB^;XOe9p5E;#|m`m%r)KYSh@M`yEv(>P_bIVo$r2=2IDih@YJ(} z`VwxubW*o(8>Lr2^97W59-#NW{SEei{OLc^&wkT!eEGyIe&Qcq)t`IEQTo8)oc`P= zPT=P4RXx0G48QpCm-)j%9tU=h(aUG%VU52#IK=6YG^)6U}}?2CT+0)9}IK6p$hXJ4-eqWhP=zG!t=F zpM^x(f)V)ItGc|{rk#7HXmM^;d9_J9?-|8YUpS9%{&$Bc9AT6uN6@@H zi~g1K%43rp9k?0g(gpC^tggR!mBIocE#{Oq)~UWxgO2S)V__Wv(uw2yFm?CMTz};x zu08e)R6{Io^l_l~Dt`a}T(u9n77(g3j6o=H}NhzHJzRC3Mn2x7~dl z==JE4kAE3=zVjgtpa_Z;x$(j|ES{N{TR-?9N0l-r?zxGzJfYYA@p&3OydNPkUwrB$ zcHFcdfA;ir&>rR2-i`yt0CH zYz)!e52M$tLF0s`zwaZ^un2kOUtpvIyRbx^%V)H3^iB#luYyL#2~iHcwG9-jQ*Oa1 zk1KjT(zuVPGNzS1xA5lY{|@=%H=%OhHv!SG+Qri>-425CC{RqbwC5=0J4;A5mmtNm zgshC=8AziE$(KNryP#nKVcJs}izzvGhV;xy=*)hAL*y!xkWLH9#TUqSx{Ax6Bs5o0 zx#jKntE(^4>=*tU?s)%SpsPlENgu3&GzfIF*(cTn-#i`R{$KxlrSwI*@Q1&Skz5}` zyZ5L$d^dPzKS|>hf*?eG+ms@#AUHaq+}%L$i=RRC?GwzU5Wj!!^LWQk{wjUv|N5fL zwmY(;l4lMBwBwi}HrO>D>ZNta)mCas3`BuyB{E1Ev=;l68HEx=m_bEj5E;^LoKRnx zdX^9gBp`znDXWshm(`GpRZu_y1j`+f@A<-leBymG!4Ds+;G-|LvC>R2Rmvfe5Y0Hj z|9ECYnsSmq`k|e8>C1{dPy}OKdJE1rh$rE_3rC8{P*p;%ZwJq0z zkQyzL)s%Q{J>XJw&jyXHE zijoFIs;X>NtdJ7Ouu}@AY%Rg63Jch|w~7!cOX~WkVhdr0OqKFxM}&-d@0u#HaF%=dZKauf~VeWThFVaY8a%xz+-BiE) zjWZ^Nm3_OXsosh)((AycM9o&0m|3FKa1@2gP}FK|#2`+R6w4bO8{PO8*c<$sCL`--7^W~Z@syN>!s3#o-kkpMs%njH64F}turstPL>y{oe@VT3{$AypA;l}QDuKVy}1 z5kL%^#2Twu0}e!?njK6@iH(6#QWKKEl3`NKueWc#+krf(*5kaj1x%R%kRY;nE z4ZFlQ7Y=A54w0xuViQb_j8Qq4S0UJK6Qib7F5;zAm$A0F3K&8mUq#ZYAr}yCdFbKP zq8GFlE+UN+jP0B@YjX=|G&``p9>sARL17Gn5I00@i*BRNg4FR*O( zp%D|NM!*x3FjLcnPE9aA!n8CG)N4Sm%PwGD2-~KiVL@eRR86kJ#iQpDmFGFBH(*vb zQM+2lL{voaj@>Y&QS4n=!>&CYeB-$uYHf>fD%1*-YM{8(0QVBbJ!7D+R8==>K+ggn z|N2$^z&r2LE1N4E6)QNrcPF0v#%ok-bTBbg#%QU4x#gBv5mfRyUTvfZj3G+X44uK_ zubjhoe&AjZEK21f*4Eb1>n3ahr;P5Uu|!c```sSrqKKkm9uwnLoIHO6#}6GypL+f! zj*);I=uA+iBz0pgry;oh2n3a~6H&6(wh=KxC6)(PY zifZ+>v{hfj_~Z=t;vS3%5SS4C#EBRUL97}9toGu#c;V{x|8>Xl!{28~6N1C-JahoE zDJ*yZWWt|I;m^P}bFc8?F=9oQ&z6blh@9NbdTd4D@f*%O^%(;P1txFp>+u$L_yyEJ zZ6-zwz?^tnAfFrHPoo3;5*Y!Qsk#SK)ME=C)A1htng2dH%M!qgH(i6i#}=~#APqo1 zsLv5)s{>)G!#ZT(e&Wu=POYEW5&K(%6@kf4>>1b~?#nWZ9)~$uulCN~1N}c;1?;;9 zKu&b+!4G8i#ThP@2|lxoB$tO^2R1Z-f_>1hWWS}lg&X-!2s=M$k(TqYxDSR8w&61S>k_=kf-$+^~e;LriK@xSL z-X6;!Y~2I11Mc0>boZOttP2=q1jf>!Lj)d6WWZsBY(eU6fIN-@kMU-LSoT!m zN(}H&aXDB(##XQcM!aj4d$F251_vYw0fDMd;m!awFTJ$chr_F5d7#Wyr~{tZ69WEQ z$OrCPKgWz8L|I^6=B4D&Ovgk@7ND7dwq8a0dPFCK)_DL33xo}LpjHiBLb)FRgJ5FG z>`O3^**eLTYXo8z54`(9VSNDu;QNeRrD5^&I%^er-Q=Onl1B#pX~D-LE{s!L4z>Y0XXax z?YdRDU8&71rI0b07=UvmSvLt~ZY{o+`r-o5SUUE@k4N^PxO!(FKW;TEx)_WJ7s(^e zs)W4%IlDq+Al{z~jyTHzc|eB0ia+49BOF-o63zp6oz7FrfxOJVN6z2Bx-oA!>(t4} zCa#)}DW8dzRCW7Psb-I?}LR!4V0}1NYCIFQNbq-kI^h9%maRzd7)$q65V> z%UvLluRX}RAgm__ZI%ST1ypDC5ac^Cd^QV^jaOuyW`L&tz6SK@VC)Gw#yy)u*|mWN zJq?bCacDgJfOy{QCLn$%jE}sQ+2t4dON~G6;Lh zE?lkaLV$nn+1OUUNIFw}1+lLcX*Pd7(Fg$ErfSf=;_IyXO%i2oh}m=THE&S&G}}nH z7m``(DLFF2+5amv0AN#W)?4oc7;G5Uy89CHB&irA6j5QM6fVst==4(AX4`mZUxi;v zS_tZG92gF0$EZQO6!Bss)hlZ~%|{VO#>j1BV1yxFToFE01&t=Z^q8pnDVj}#~pT3~0 zwIyN)wUZQZkDgg*4P?qW3?z!wq5sNY_8!p0N}P38SrIZ6Fd>9e;!-bRGEIV} z#3lr#iT&qu>*m9shmH*AsgyF}6mr|~8D3s)nz^eTL{SSI1~_o@BrPs?sX9H5XuN`4 z5>t6{0D=OO{|{0jId{wONQv=EBc9ldYaz$_HCGd_AIy8o4V(=J&<-y z;zpM{3ma%iPe<;1fGU&Y2m(bozlvaD1n>CKH{;PieiWOnrriAFKS*|co%<`RYKmp4 z9z2S8W8IV+eJLJ1%$rLa7`y8sEeu!DzkZH;SFfa;4}yF*k${^#^2Yn{-~$g((yS?l zc9LD6*R;7p)i*pKb5B0abon~QzUPNDUR@(;)sP!6h!&?g?j^{N?}T~aeds*$=g4p0 zj?(?_g&|e3N?h5dL3K>c&@@Y96OtruGoQ<+R2mK_BIVW!mEUkbN^f`@P#Py}&bci_ zU^uBSYuIJVjZPqV_xA$bRH;~C)l_72j&sNF*Klf_xYL4kmq59^($szpDMvDQ4tnx2 zU||-TtDyIdFKe{>0BOHNxO__U`)`7re1y2D*nj`q@VWmZc+U@f9QA$)hP%@0cQHi3 zFTL+}{PbUc4^iVEsQHa|gz$me@Rr~IWxf96-_1Yx#vhT-u6I%Fq&iUmZN`ZXr6HvX9?moJ0co13 z=~EUyD3FwpxOQ{S4jy?!0EJfL)QBjog3Q+O7%EIzKRLs-VCOhMCl&MlPtW1gAKZ!G zejtb6ergRM!E`y$TpS3Z0{z9SEq&+F4(+&Yn~uHlC|~-Qa~OT=O%h1Qr1=pIXQrqy zbW+cs?a|RYs`5WS)ns9j7q2bR1H-`1@l=}E*BP5J^mm`QL2VmBQj2~fvT2pY13e1Wh=~OPu^B0kY&Vx}N8Eb_IWn|jAP z-prT3@;SRPzo0k2=>giDTaw@UqfhbM?>?xz_U%eU4)my66~R8&w50=jVdhQ0InKGUehRL)zwYv-6*oCj9c8#Z5vIEgLyqz^U$ zh*V>>)M$3K-H9Nr1k0cx(9|lGiUl1XR%*67sMlJ$XJ*p2+X>Bd`V^ zsJC_nKui?al$cE-l7^s2R8vZ=WwI7bq(TI?A_=EV8Yr=$jd}z9TmmS}+D2VcNs)>Y zh!Igl&2Ag1P33KO9^qhQCv(z}#S14mv7(i+30j?BLKuZuTA0(LNA{5^ZnLS9`PiTS z2>?i%rd%i*wHB15zz=@cTP0aIO^x-Inb@&i3zY(z^G)OrzeBlo9hYA?V`CWl-f!6j zES}QkMbPu}z@4XSw72szwcD`zX48hZT%#e80=(Ncn8LIgz*0Px78FXB7D<$fp=7FXAlz?2Jl&<#dlW<%2Ibg432 zmHOH`@7gw@Ya0!!luCw-f$gW_bk!D&1Xdz#_Y*Q95Sf7b{X`QLLu@oO5hZXsVnP4` z002ouK~()z7gy>uK2+vP0Qx7~br-=F4+`L8Dy08Hjy;;=5WWsXCtfTiq+4wFqa z_sOshtwIKUkppcoKnT>G{R3jJgf;__88Y>}KWjSvK%KbK3p!myr^{kvc>E9K4zm6z zCJeB6`~qf>ahG+?x=W+M+1B9%PQWFqZXWyJ4#Zjcx?p$$n4Dd!SBD#MSb$`qddN&= z{aKW+5j}kLkiI*au(%%K)Du2FQ9`N5lnB!nzy;kADHadtWo$#0&c}jL-{tv#@2#EU!U> zKW74Ehss$%GBtmY$==+vpsZgaLxQ)k8ukt%&PXN0YJA?M$9|mpU%h*WXa7CkK-L0g z>pHWsXvO>GbA}hVLwx26>~O2sWzj+h&)0yRkQJUpQIC_U%d2!6PV&#uKR{2&U@&If z`)6m*Fui}5gEJRox55{WMsaze4WY~2pIAIE$-@BhA?iqR3k3Ep-mHDnS$OB!O4A#K;ooCE| zWHrDgWefS%B>)`w!4tT7Zap039*_aZdT`JOd}KhS!iAa!j(r=Xf_p|O^Ws7l*y0&W z8cYhuoI2K%+*f%ua@OXO5xt_>pv`h1TrnkI)RnRU3k*CS-PFVYu*|Gde356TbR1ZN zWL;Jn!9bERcCMvHy~^3+?qGF294^4rDJi}7-o5XPSm2DA$$r;QDp4>Q2RI`m3& zvtM+OsfQ(t1@H$;@-0SQajk$+&oV1{FEGchTHR6?OQt#}&1~xY&5#eKv4c6R)&EAuEB8lBNAn{g0fx@Wq0JgKU za>?bs1uwI^fPgt0qwM_pl?VAFmI&$rSjt`^1{?UTP9jxg`5O+z)~v3&>jr%8hWLu_ z=8Jh9U=6^NaLyhmV^v)skh^ad#{m150JoNt48m@+%EcLDsRIfE7>w^N@{N^T5Yxc> zPBK2m*Bdt3y>f|;R~ zRwLz8OI-}-3>}%u>LhaOwkYT( ziGl-k5@I!>EO!(q=2O~UQcVOD2EcSN!fVS3D*@x>h$xrSZme{4<4V!M=JQ91tyR zb~IF``}XHiE#^@y<*1zkJEq3C9lLm|wkdE2eT)oQYV;Yqr^|>XB~6HmFj}j%=*Z3? zwA&pdk{}-vCdZ0&)6wlXad{aq0p*K1Tw8CbwV-c*_$H)mI5#xJM|S0v!vHTl@uIF= zyCK!laXxz2Jy^eX6_?L`m3v7Ch2c@WaApJju%NRymPp!7{pe4AfZzBd|3lx>Xy8ZR za#(-qOV{wk*>$<^@C1()NKC}MeWb#ZQ^Rz`*J4Yd%H`|m2u z90UM)(=V$U7$Wt3%*2Aw7(fhVU67=S>nd=&J|Yf55aff9>v62hg(1A<`)|gDPdvxZ ze0>?W-nt!kee*GCEqAH2QbRYf*j#FnL}ipJ5tM*vYz)<%qiA2<#N;hIp`pR#o>5$$ zUFGxtat_DdvRCuB?uCs~Bo{Bz!gD84Dgwyw!pM<5FqIOLm>}IAl2(U;G)8N&hStg^ zCiZVfp*sAuFlo7}h0vJ5S}eV`qzAs`e(EgO5tc_Wd1!{# zUwVzIV@15}r@xi#pFAcLho(5>03*965S4P!D58~9YiMq~raDsM0}tH^4RcsHdjaE9 z!w5}ZcfMg7|N2{hmcw#Y;$EMU#wxViCC(MiW^DsuA&24Hj&gr~5%Kz_fIU}_t< zQA6_^pW*6l4NE#+bgCwD+@dml76M7nVWcJ4A{ZJErGJ1M?)9-SK(qI($7aap%ZlZzL}OEgG*%8nBxha# zHM@A|n;*uBkG1rkANxn%w0YWoW=}ix-ewQg168XEzBu2d$)zQfhZV+zxW3$`7Zw#$<9UqqdT6D z9aWC;#mAR%|2;dYkoK^-lJN3cg4^~_;BQ}T;@2L(A~QuYEwN}MJy>B9^%_YgusUIY z6-ca>0l;vI3f2?@>KY?88TPn?L*G|APH*d;@iE+>lPaXZ9Sw8DIS5*YMH*^^Yc3 z$m6E{)B5>m9_5Wjn||S^zRRvI*XXZ5`vj7tgM6U?&gbm)xmB}!_l!Px&u!+))mfZ8 zKZj$7cVpM|xC#+<62-RZaT1Wbcqo!MMY&XBtU)hbU!+p8fXkP!^U?i#P_8J#kSU2( zPhVS-{o5wY)$1#C{OB&JHTuEg(iO3)NMZ?whRf)-dT6$L==8c|f{=Rs1f5QdZeNH4 zqt)R8-B{T`x7SviRLpv(2b)?%xq@2TK`s~S{K69MzHL8~O<4#!QYqr%<#iew8b+(v zLqG0nlnom8xhPOU&J8r-Is7~$OXD|HL zUz+>xI*y^4y}0($lYzJpZ}j?oTH9=)-|uDHP&jx}aA5ad{KhZ-IA6VfMQe>V)z&r@ z3a(VD2y!86^-Xm9iCLOkKp5uGX?JOTV;zll7sX;8X&OU%33JYM`S#;JazRM#6qNR3 z2gIq>S{DRZ$_ECiYh?~>nyM1P7}A5grcuh}5UU_xC@F-(^;#Y4wK}JXpxw*tb_Gyn z$)GQd2|}7!ML$l6jF;}IklU*|`J9L-RJ?0Uy8r&6s`s5eye{VkQrA(rk$YqYy*ff8|T~ z*!hHy6avl9U)E%0m2N#6V06Om*VE+=q-e-gLU6AS>h_@v^M)>-L%cqTaCaLzzKtnY zfL5xYw2$PKr=goQAj~7!cNk)rb!{E(D@zm>jCA507k6w!qA_TG6JPnK1^o6at9bNq z2@kw`QcwKRbvnB!G+Y641~e3aPFdj82Ke4dmA|}5QY4-Lhsz{z-BpYl^LpG0Cs%EcVlJ6)<)%Gj(m zNLgXM^?|5zE)2D{S)&(TI)k0tCaK~NYZN5LiwS89AN1#4 zXQ&_p;8^|n-r;J_(ZFF_E^L^ToFf4FE`GS2N0rox97!N*U^qj&EHWnucaBb>5`Z~7 zn|e8U3ZFfg+1q4dIRzOX7VL2+XJ6#c#wr7wC5Pcz4_fQs?CjL%3IprT6aGIl;IS3o zhoKpc<*`lj_#(UWh{I%@Xq@11LDy9QIP$`Rl?P-~CPybWfECxBVg%ND92(fdoD{Bm z!1(TbWa3_*U7^+k`|7Q(95y68fE}RfohOuFtb$B-cEaoMPx2U^A|ORd7RF~&&;S%s zmt(=%GlhSyb`y%_k_ySL$9Eqg3Y)U`8Eb`Kfj zu$6k9)hBrN1(MnLcpxeR*L*MnXR2_`ym394WE5nLSJh^d)HoJsFlh;}8F-xqer76Y zH));y#1?BsSk6cMW(csOkwK*_(5^9elq#ba}1ddT4hKb$gLJW8^sTpOrh>WNYuKH2lCb+ zSrKOgA2uw2un&QD1vFC{D-@C{!0Z`O-yPsXhcoqh2J&Z}5rb?8&FoaN2{#xvt{5R} zBUA73oplPh{|(Z!9kTD}BGv)Z?G^(b0LSWq_Cc63d|reH0hP%YDc3&Z>1{U#o!r{B zXbE71V6*lOpI)AM*tzx_Z!u-FcdqdAX231A5CdrX`f;C;MsR*?2FO^gtUDn?fH~_p zP}gmfS*^HxC*Qv1vIK;j_rFt^v-di8<4oa-r1+wi1pyHmq^by`P(Q!6eEBnVysu$~+!#bwqrJ_K0$z*n z2@81A&ChFJ$X(|Hx%r-5wjU#IrojaiOQt__Z0gp0^duTP>niy9fWc<~%x#HoRTd$u&_q^hT{<*U z4W2l=h<-2Dw;UR#oM9~2MbirD)eWK}6C^t(3VgZIL6W4rYdl0ZH>9U7E^0L&@^U?< za)GgLs-Uel)AB})xw@iS5ZzHWT5DNp^qAu)CldE)s0f~@1R4fJbud;}8MU@z*Jz+o zE>DGgh?N#==Sr8Vq2j>qaha@!xK^`tVYY!iqecDN0?=FPXc!urnW##>7;@3ZDC7)r{PnXkJwD3sc+bN+ySOH`m8IbR2ach(+Sa9|H7ZSRL%vn#rAyawxo&A_ zWC-i67>#bCFFo@t%GGW1hGU2MizhDYhlWPzZTpAlS3dQM{`Pwh;>g}f{);EC34qMUbQwwK4e~N3-<0P;XU{4*K@NCeDu>V0;&i?MlTVnM64m8F_>1{F_t@)Rbd%y zlt?4>{-W%XjGziiN!2(Qz%{2RD+PWXR*<^pW)%eoMgsz+tR$*13=O~vqeR3=#DW9k zyi;KjTLFb`UllQth03pfb(KHxgMtHhZNp2K+IZ}Rb-ZtSif8WKiO!iky0J>5FPPaq zN{d&nA?65F8bYt$!}N|Z?78azmR~%F+T|O1_^v~={@kmWzpzGozv&2~sR>;F^cS#t zWnFW}wo~oeGKz&z3pt|ZS`(lEEEbLR28tsUo!B`}{mo5nY$gyW~F$#k|7A`L7*sfhVyn6?CHd@lYUgtx%ALP=G0*sB-s)3|d zQ7Q42lh^gOci%;OA2^baEPn(FxMkS@h1ljN<4H@YE3y0pZ@;RJ$8w z+jVeh1jSwZ$P_|S4P7Hu5UTCh343krX#$}@X=po9X#{lRG?E+F z5I0kb_KZqsgj3r=y0S?~n-o;4kf9j{t$}+Th=S$9NliK}3U?g@kL>}LUIW*c$!yyN z8r==;w^h1LGP{nTef9+u>@fEH(0}5yQ`_~$zx@|F_JOxz`yGd1uU&_oyd7q0KSxs* z=yuTh>R%&2wN1mBgOtp^j9xg2s5-+EUqJ7rSG2XTLfe1j`$XG4o_z3Dh#5xxAAVWF zPM)JT--+PJci}4+|5E?y-~I>w(Z4yPfgvp#!yr&Uwdf@VJBD(as-@XY1u92Sx(F6)JOV4`)?K748?nM)BdoTVfw}hc0A<6|*8p&z926|;F(NCUe z&`&?v!GAdz>!XW6EsgXeZ=2$$URj3ONKh)|QOM`9aAsXETwKQO2ZpFmff`EaQ?J(K zS07v8RxIXfnpl7hBP1(AWJHb43w&x&Vqu{|0f>a4tmMwV4CAZ|7!V6_De7d5!DK1Y zqoWaz=NMP&R@b_HFbstOK~tzP(4kz&r5vHrwo>o(O|cMAJ5{~1)G-0#!)*bq9+ zuDaco^XASd;DzOt;I{kUsGtAJ^LXy%GxUSs|9%;*R=BsePG>L7A|j?BBzf)p9GIYi zA?(^Q4igeWV$>ytMS_4Mtu;E->~s_e&`(oTN+qc`d*+#!&S|w$($rd7TiXyKX0a(L zj4c<6TrA~jX4{0VHG3u(7*!Yz^8uHm5bNu8v^yONf)HNWg~_2&h!PeS*OAZVX>_PS z*XLG|TEW7~hF!0>%*J}1<`-TvHx`%ht~cLDX{)9m`?J6F8@&i&6jB-|{_K|tl-x#c zd3_D<{egc28`qr@nhgPrv|k6n8b(6|W|xeUtih)Uem`o;<`udYJlSi`75M8a!JYgk`j=UStVG>Oq_HBhfN5#=k0 zq7eHJ-L8dPNd11_HR-BiY;;J%pup=Jn{;V*UaCW7>UBFfb7_vg`1rF}Tv^pHh#ZWP z#u6IBzCAk`5DlXO&0W5XJvZH~m(QPPn+Vp|H!LD!h7aBaCE)3Q`6M<)2y9&FrvMD0 z2X8;7MvPv+eg(X{!b3;jf!=FhCoPXsplv++=+|{F3Fz@BAZa0P~xGyQHVL{9JNLSZu z{PLN33=IwGO^5da3jMX;`D6abfBJd-mEZiI^bddkX31_I##+0hrCfFUAhyY9i|4C8`0@v(YqovlMV1C;s`tIvD%&rc<@ z64mU8?(h>PM?6>yOJ;xpv(I$&5Qf7~u?5g)Dt^vHw;4v0c^!KpEc+GCgEYQlf&BeB z%*a`kZ;55a<6h)(Fh?lx;5}w%fAWH;fyg_9R){>F(Nna5>LP7*J9=uhr$X5lcag2zvA4qNx60-xceMoPH%4F<`NAS0p zy1~S7RzbubuyS~*2MNh3DaEsa0ypXXjLHBwH!D5J;)wuc6O6LK4#&8t0$CdoysDgB zTZsBPk!2gW@#BG6IJG>JLak#}Se=g&dv?bWJp%-J3qVpvM&cME*T}(w0KRL&3dH!I z_&qQR<=0sOxtlY-dqO<=OXR^urwsFn-#lP< zU3(fkR@N^Dj=#*tKRHl33y;g#7(Zq+WwU0exgUp;0p~7o!r8-#x}Y4m4hImwc)+OK`bXF)0 zkyA4G?i$I68_g=dpTph;j5QmR!C;xN4zb4|GG$Py6`4OE`#K}UKBGVe#nF0lY~W7k zpS8R0tmntC@XVgfp+U!wkS}N=z6(U5{<$*21JmB71@L3itzellAgh0w1(;JoxX%+~ zyp2@`RA-$NJQzQmje8{*jO}fi+yb)I`Q$w2vg`L9FW%NH%Rr#4RS3=!$EphgRfuE7 z#Vu-sipl`1A78#^WQ3z51l-~U|7So!#*?KPxa~hJBX42Fy(41pSY-x;4k4>`&KAsy z82RhbE5C1b*nbvX0XvC3>((P zdQ1_Mj8r2;1t_WTXtjh^tBnqz^P4?%6XGNo(l{qtw~>bEqdJ_&{6^n4dNBt^sn(CB z(do%*3)H2M^0^4jc3(C+J*w6WO^p?4??`A(4)l%l4L-Dc3^(nc)R)h#;HfjKG(J(4 z#kCr&H9S}E(a6ZKhWR3Pk5nlYLQu?Wr{3h#FP+hw4$si=P@XQFy{0=Jcmo=N(wASl zuA>vh6 zzZGIa5GY((CKd(qQH1lWHT|w1epLVY&mWd=`JPhn6TkX`{fA$Dntt*>i+GT zEUaOetxWD2=D1d;{GoklFW%rtd$1;tJ_3x-Ok?@wb9(xT)42N`w-AVt8yx|Sk6Nv* znC6v>dh)BU=$+s79u9XOLUBicc=@U-FM(o<=0-zD_wA+B5~QCXn%;xz#H6BElh!L2 zO*pwjk;c+G^|Hy$9Dz*%v^EiJn-SW3C)3n!4M3`$8e`jo2p6xSd-bg5x8J0?zQjBd zC`}wD3Jgqo9+b9;t%ZaNNfI?f!w9E$iy7I*QmR0jCke~v2oncY3L}Kpic*@8+8Dv` z6w-4ias99V327A2;s5r_2zTrgvvQ3r6@c<2q_zm{w1BA{uvgC_Znr46cRwg!g3i5$ z^!cxXrgtfYIiTVKsJS?)QrU)FE~2CtBkB-F9)1Vzx^WiO(O81kMYbk^E`1HXmPP*P z{YXi)a{B`$H_lVKcvgbyFo)$C1mz;aTklcxCWGMF&m(#Hc{1A%OX1dsn8%N4=b!(W z>$6KTDvI3fr>S*)0l)mI3$Ur;(q@buLm@^Dr>k8JdRDb(9l=~K5PCvLML=p)U@1*g zr~VHEEfQ-d7A+WPp=hL?l8Hso?py8?)R+L8448hff`tjNijYH%MdT;HUZdZ7V3>a3 z=3)8sQ!S8djN|EYB$sP3W-q5S_8(rv&;R!aX#0ncN%Pb^)}NlI@%P=V<##?ny+8cF zsJ*(1;i5|6y>Aq}^?fFpJEhf;r(kOxqDoQYB<12QyHvX!L20+<_bU~ixgq(X620f1 z0xz$}wEg%F35yjqaf8d%97#VxEN*>TzObsT24mZFg}VI^uU%{)W~RFiPvY8(tNNE` zTC}S~nCm2ZdNrkAy}N`5@1MflnV#;P8A7|+q0y0ojiyJrx+g~yjjn#vd-v=AZsyQA zeToiUZ0JvZX;p_K#dq8}h9@ueK-Ds4c2?!h?SxOx_prScNMFIH=Gu7VQk&DX4}x0N z01CirszOR^4XLq4oeoXKq|8D}WZY?kK+f6;HYC=bB!OGznTHDj_74^8SS2)KQ@vR0 z>q<*FG_3hNt4##~DJq44^G3B9i|r>u%7iPm7;%!&P(b=i@4X8@_n&`=R<6&XxwLK` z|LQl8#yz}tbyY9TuG8=S&M)vgKlnlX?H_*}pZnU2S}Ya0kk9K&=PqGkZnsbDPFVN((ESDC8sBs5QZ@E+)rDh=~SbtaiJDFo>wt zZej7p0uCJ5t$*}?K26{M1K)=CyyHRrqrdr-rjpXjXD`cbHy=Vj1{)&)hum!UZKu_y zaxsT~-|E_W2gB70eJLHdo~`wNVXjB+pT+D5HzNAEZmJpb}Jmy71)nE(NklS7syF{`x(Z67nz zY<0NXkEI(YG&)oI-#L2UMpO^wxHDAn;34(zjCKExW znmPcE19f1OQ8EQ^J|cxtE3sNovD@U`a@o(pbra1h9l5K~puYl}kj%Amk7T zLrr^qN|TrZhH{Y8C!TnWO-eX(@e(l-G+R9=poL-%aj#FYiU|#{ci(P^CbrjZ2WKzb zzyt4j7p*OCAYsMYO2dRf4wTP{a>9>%_N#ybCJaESrBqTV2;cF62i3MVxNH+mZ3qr> z+NjsHR4tPswx4+Pl(8^4bkismifuHSec;5JKKfjbCPyJ7Ri?l&jZQ|=YqU|^SSQkUA4n`n8hYAT@LkPBhe>c zy}^g$5qs@r?M1m*;Ae`AMDir;skJ&3r*mHOn zUO06DoAnOjln_`0Q3w$uwN|_RJ`-41R@b>uE?L9I^x{}1N5^?({r~6czvC^-uIf;D z%(-?r`P^Lh)~%enx;l3&bW1I%m5@*(Nr1tan70KkWAzKd|wKjlXAO9vEc6 z29Yd*WJxH;R!f~zb>&<)hm*q&YtHw_TKnAQtKUyQNmcirv-iqtj4{XPAd^f90dc_4 z%xaP*RE`3aswJ3F!tGSlD2p)x0M?z|7DN~A>UP^4T$)8Ci+P+{)XF6QKwK_UDJ)}i zFv7P#{{?#E2RsmH#;mq3ecOJoXYs>a)-~jd__Y=)w{Ro_83ax%u!%c*29QS zH0d%7ME0B(Cb*7J0e3lA!2s%AGK{~6TR8kkyqFBWy533BY>$WRDM9 z_JBPgzB(cZ3053YqvEkL;tB3%2*`-N)x5V+7k~oeLU%oJ0wVaVVNXO9M1aTZJPs>< zAULNKfQ&eCxyKAtU6sZj2<9+72T@w*SR#NJnqWyqTf$>Qt{Q*}2*G>Vlwop(8b7G~OJzPJmkY(LmwQ`Mug)(9kW+DslMj1H$6wg$NG#b4aM0LeAI2tIhqQV;tP?-qmvIP%`bp=p>=Q(D^&KF+hQygKs@Kg-3KVax&6LjpYCq9bZRb6PS6`dr`d;P1+I)Eo1JRwNr zjHH~ZAA2nLt59C@^TkzQz#VS9&5PTx|9U0_P*j#UAe`N#@?p9bg=$=Z$(mM_zZKr^ z;#q9N?)Tgnci+iM$UXQ?WWfG_QPlVlGsKEp$cu&5k7JdBlyvimCzd@<1>u^}wUL+U z`>9>1G#tqz)_qSAp5#;;Le&_eJB7;$U`NPH=0f&F{$FD7S?G>Og7;vIN0B-~NN{Vc%+ zGK)VSxw-1fz**hr7%uGA+4A__50qV!0kirODwG|X@Q&nVn4ui0tB5z6# z0x7YJHgK>85m_aBeRG5U<;QyXfrk$1yN*qxHR|h5YeZ1SY@?>rp~7lT*E>qxq2TC& zGRgtr`dWvkBGFXIEHxsnmYC8kB};^*nFuHQ39VtyQ z#!lZVg%K^*LWrbXiJ_%ZpjS4=m|3jq@@yHan*$nTf_lT?{N|VjVFTaZ$SF#5-M<{c zj#HBlhUjDgs!@PvZuF>=8@%S^jHbEO&@eX}f%C=9Eo~%B%jv$aqSlt#H?rIVqPTECMq*xd{a z!&z9WwO;w+Zda&Lh>b6>A zC|F#?U;Xnx(V+xJ`l+^dQ!L(D0uNdmIc^T6dP(Cvp&MU$9*u=r)DO){NS1=xI@!_K zT>jHfV)}v8^yokPhoqa=kOvj*tlg$_pZGG}@!B)sdQ%lK2S@HwjE2-abyi@<9Mxh% zG;8`RTL_!eRIOF$=0|=X2S0cMMYfi-*Lis9JoGCcrz{;~=AJu&>T40b{@oJR8f@xw zlwNuQ<8ObCM;ET3^uRrcPrm^umsRYT!Z;S0nkUID*>;NtFMkB}2j2oypV4&n0)>r( zq@{T!CDuU;uvSr>M)aM314n14>H2^D2#vSbVCD`ptWk;$G%%pKB}kgW_7a#VKz#3O z!5o1Ti}B5upa)N>nLR-0ZUUth(6~cdu7ScDf>ZAR57t2a3*g=sH6DI5AYjP_@xAxr z*028z_T6(vd(V7inYgGKRwW-)2y(&)$FK=8 z)Z|w1^IzS;&pb3k-*vi5-@G}(THoqimARj=c9NWa^@7#?zx5RT*zf!>)5b2g`w8~l z-XvPvLT_z=Fqiz`PrW@b_rC#&LdwUEb1-hx#wWjp+U+eGU2VyLgy)Vn^bQ$4dxaCx_)iVuB=-#cX}4xajpuY z!}}|^vYudfkf3f(o|KlJT+IoeGAA%OZAX! zE;zowjHoR3&N=1pJ5}c2{KmG}EaTHlb!>DJw0gU|JX6=*>w>RcY|&PGtOGHKI3&Rc zM9fjlIv!||;wa95AttgcYp%MicB%-@ErA8D5opEBzA=_h(65qQxgCBU)NgO(Ig#P1ieNwgu ziTS<%^`yT4Ee}(kYWjfLqFKKx_ypHeul&l1r&;skXWT>&R)dPL(5P= z^V||(xjP<^C~2c!<#MB>S!#89x{jw_xPs;787m;u?(}hVc@gvT(+HzjlVnI~njj29 zPV)@^_CNj+efWpoNrPmJFMa;&^pF4k572M@;m675uxUD`Z$EvOvhi5n@uvHTMD@~* z4UPz3iH=7JjYcV5yt<;ByIsu8%_8ZwDOUpq2~5D5SYK5Tc-f38ZYCfFiA@lU zHdv#o_O`dFRIMPc&p_0Y1SNOkv#Gn^YwphCHc>VVB_c?IK>Jn!697aeB4R=gHLybv zMWodxtU}Vkh(tkQToN+w3QSZFOl+YVi4kFN`GK+~gCXj*GVSgRk>rVTz#Ou{$Q{yEKy>O2ZvjJtTURasL5MWX(Ho919t_cL zcQ7|ofig2A$2Xt91ORF+C?Z0x76BO?+c(9nwM!_?%~51Zkd5akVk@GdwX#c3zp@P? zl19|0s7m?xMn6cp3Cd+iDGoWailAgv#4?RCgn$~B{< zvJyh{&VC)$&NhPSS*BVOG}u5qU#H;kK4`508Fnz-Nx+6totdI&*vE(J5z4h8reej7 zolGs17i!?%7}`rg-2~K(AX{UYeg+K!P%U!!)lrJdnvHTMa-J)KL`Qi>am0u?fQFf>Q*)9D9bUh(-Ia1wre0@+ zN+sm&ZHv)3K@`QX4Bg!6p;4_;(oXR6|Kwlb+aGu@Q80s>w>K~~-2h%dp}&NcT-Xqa zB~>4kNMNfZ-0pQ2Z{Aw{8w*QwA58{BSaJcRQ1}2}4;ll`n_Qfwk0T*1imQzEI0F2A zlL}x@1=je#_gDtO3n$^khK2~aCm)pk{ksr`lE*JZ9JWO8xPh<4X8>L_NGN{K;|i0Y zU4hjiYtuv6{u$ks-mAg|{$5Y+ZuzQvU7;ysamxHclne5LK=G`F&*}7+P$(GIcrh`# z3o09Tm$gK$0>{S*F`R3|B$2OZcLQV=6M-990z!YUFYuiS`tEGU#k-!kE3G)BNh?v*J9y7ko$u9To) z+sF@QDr|l%dF4G#01)v?&pk!F>vZwH_RjxFof6ZnCH}z+9*LYUx;ntog)J%|I$2x_ z_NY+ZkXLCI)*2p0cVHo;K$RS5!!%K97kSsN{haPoVBBg(lYVtTt?z7CN#ff}iosm? zT6<8)`$3TVGN+GM=Yb_`;0mjXf*+ZHWS$pwUhzO-$uSJ+sJoaH###lSN1iBQ?0JN{Qig5p6;e`Iqwh6~~#U*+L42YkhXXI_hd6t(I~()87HfSl&mlP_-jR45xT zTR$cXpw3rSSikVW6IDK=!jshwob ze9ywBz##XKNcPX`R~r9w&Uei*+eL*8IT5J$FcTj}%-&MSZ7444L5pgp$%aJm^Vu`v zu9VI_kmHrq`I&ie)QZ56SLXXzRR=iv>JQ&`?B}zEfQ?i4yRq$=PF9dDyaeIMw#lYI z00sVG3ck}c7|bwYmxBg1?O?dt9lM zBh%nKyr?KeD=KB&7z)UNzW{l_-h2J|L9LTO2ARw?2PgPaJii_(3accaKJP691)-@Fci4)Dws?Vf>YlY*#VPqZSjX9EfoFmyrU-#BNwy(EU424jk-9S)o)w zLGDiGvvnj@Q60gqBu_wqb-~L;bxjdCzgG?7hkB7!;x`e$#5!L_uwV0B|1&JKNMI$e za}a?oDyIB_kUTl+$Oi^;w{NLKk1);z)rz?)eYG=q=CDu#51e?1VHLE!S104?tl?YTaj5q*RI;qqH za61!Ch_sy=sa2z(YgM0HA7X!l&B2E1_E;p%R09NB3Ylz{%fXovwui){j3`ePDMvE0 z(90WR-r7x3HcZiMC?P3_YNeA|3{%FfU4;Y@G*cNPFylO=<$VoZ%7v0#DK3|(6dTkm zc(a}2?Ai!PDtv4@&|0OUC!&xmk!of|N!D5WgT(3Q&UzN zmO|CcBH3u6JF;4tJH=MI(A^FO>)QxsrosF7)AYgt^v_>JrPAm6Tm{|RyV~7sW7tk; z>*h9Qs)F8b51RwxQ-`a#c5zj{_4PGgJ-24=d)sM5ON+Ab@ZI#{C!eOZjZdJquTD!x z7I5?BTc|WEIQ6=d+F9EnrjRfk=*$1@OPWs2@>_rK4Tz!~ot2RcFP-JI*Q43vN0GKW z$a`ICZ+9RX;ONO2ZJoW&E1&y@F1_!aC?5uvUVjIsU-J<1WQ3jb>)>z!rE;tf{mA!I z(pu9m{q|qdoo{^`4g@*%TN|jIIL&dbfvnv@7%(bxb6}f6Gv%q{`#|M745wnASgBK3b=!LIhaO-!X`P<-fa9Qfg%)Y8l{ zSU^d?L#6sM(A)>P@d7kULHE90?d7j&_TslWl%XbPpP=Zwe;Qh<5iY(2G-g4PLX!bh zL&$IoHmFy@BlN3n-ttA6UK{$+<7f?4ysdnOdab=f8;UuRnvhG)qC_J0PVw z7$ll+ZbExKBmI`>?W@c)2f(!&)R1x-P*`hIcKbHy_IYS*v^$ugzudWjxpEB;&NI&K z7-y0{h?xRr0RpU-&cyhxQZ0YP&Lz0XI@`j-cgHews7~X7P$nc>*T?)9Uun}geHO1dHRjvb$LJ3kB|}&~7-4m# zXIDCGQq2+47+XUN3&M6cv;XT{&&<{$or}lx#Cie)#?QWI5yNzZ?Gfo>Qz@_sRatb@ z8KI68d83MxN9K?xW3kmLSAw3RrugoAV`}BBA3c}hr=}y#bd1kk>+7l6GFqb%KYFwY zI=X;wTpQuam@q#i^wY8Jr8zMS2P{t0<4#y=lmWJ2HeRj-5zwx9gQ zS@Wg;_PE>_5vAEk7{vecvtN_{?I(VK|K8vIZv5Gwej5MjH$H;-xdl3TXhu3ClFimG zN$wBm0v75dQo-iYsc&)e~vzyERi=$qf5bIq!3w>!A+ z%xPU&+oTuHU#F=?otEdP=-~2{Zfv!6d%H_%mSL+kKyR?iqfvr@3F}*J3gQ@3wHj*m zuC8u%NW?;|5Li*-NJo_6$bkb$$7A`>cYg={?jL-NOJSMrJbF++`Pr}2qYvM!7cZ?+ zyWfWi4Acs8%~2^;Fx9BhZ0g)wyM#4(hkkm5=iGcye|ry4lEG{=>heJEGU6qaiUD@{;X z1)Bg-C5C1rf{787+3nF{SxHsWp>P;+o;%`$f&hk$1BhTqI0uE1!vut3i~*~Kla8_QRTM9tzlyk2B|A!*Nl_g%DpF&jMuXfa;m8+|mTRMnNcZe)g z>5fL6rWs&LU@h74ux-wsI|p}rl3bMo5v$XcG973{YIIDM`ZOw2F_QHatHm#imhM|W}G8%?? zNeV>==(Y&WeTa`7N8as=wPdfWJo060xbkANud2t?DdyFiz2s4X#ZVKIO2UCGX ze`pcpIrYcT$UsLaXftsR8X-WtDI`_!Y&Ae{kO2UmzTLwQM-j5&2-P@5lIMsjB@72W zG|D9y!;oAN0BV@X8UWS^sWZ@6-RU76TNnb;aRwn{qLLHJrlhc%%T%+rqu z)HEA)tgg4v@AtJ72hXxdpa6sYI92n z7@MswqA0}XZU;fAP*#2E+6t0Rk2J7SZoI4$Z!q@@KxYGJB|z7$ycEl)d0n3_`d@w)H;mD6qr8> z3m+Fvo0B8N*dzZgWupMR0VRV%o}BtNxWfU()g(oE@c%=Uv5%Rg1en@!|#MxDQ zCxT+`GQ71kx$m$}^d0!NcAZNTY%eIl@&f#Gk#qnw2fUv-3V`+1snz8EQal6WzS}WA zx`+OI?;=8B)xZVy2zvBQW1&M)W2WU?G_OWN%QrOxs;0sXp;GqIXWj~Ny`Gjv| z5A3q{M*;!DW)j+|qToVJ?}0#7_JdA~%Ed`1C^-*xH}~Ba7X*a!ch1$ZNd@TWz(BW9 z7V2_0nMmOmF!e3}OIbd`cEbCy4zekc|;6pGqO`32me!Y@pPn)OxaHk2#` z>?;y{K!$qT4!8lyML!Wwy#3jKmXZJx_*J_2TA6rX7wqE%h4u@ihsS(y3OtD6&cu_- z4Bw_Id;R|Epw6Of2)<2S^@Hajiizh-u?ji}5TA44Kc6unEl{X~)sa6I1Y;dJB1Aq> z+#*nh1PaZKuTaoQz%e{X$m$r(z~PS`JZ5m<{ECiQn;Rr=yN2>YrimL#S z0;G292rL7E8^`b}|6&|FlEV*F3$LzlhYBYcCzq`N1zB>{8b&AJ`DD%Y zEIAc_anzxr|5@F7s@73B>^Ahh1a8?oBusD(LQ#Q45ESl#utiXf-;6vdp+3~fEloPf zQYqGbpeU2`a08v=--gka&W08sS0A&4l`I1xGv*v;N z43T0@@P|)#4Dg2;6!|54UVa5JDNK{kQa|reybJl#0|CT`O`%xtjX!o~DZlRIk)Qqi zGp{^lK{>$1VoH9mCJ|7ss>T@I9VPrHFRtsi*2ZS865uV1G2VEzsULr3i=Mom&|`;7 z^2oswUD(a(;+Cc5D8*bQKqE+zt74ooi$E7EN}K%=l_S>s_vL!cSc!A+aAfi9^$Z=Wrry}vW+lj<{le#i&wu@_Myec^N=U8X{H->fI(ZoH zeY>LF=^!A3+dCs2Btq|h^c0UW*5|Km;OVb?oyOe`$3dt!w)+?k5~{M*?ICzP93vnD z!-RVdH1u|BBxl#VCQx^PoGM3PC90MPu~EuJQ4S6D5>c9@rjxH<5%%X5BOn4>6`!}{ zs$rPHe(!}6)Ph5T&&`5ZZ{cQ`LM}=@Bh78Dxhh#VC7`UZq)fR3FG&MLAy5uN#37Jn zLY z4%X3ajrH7%xA@^lkLqZrhYK&P@#>aAbGD3m+o4E89GI=*4fjpUJ>UHx?_65Z^N)Xv z4<0Pz_=ATq``WuS8>O`M{5i~@IfiJuj_Y4}MrRins9eqUs~^9Gee-4W)(;%f>)&{W zKJv+J`o)j`bIPv22pNyj-WiCMkmLO`+CG1i*3t|oj~<7ddmgQ;Et=liMLaW)sgw7r zjzf|lME%qu?cTaTxe+YA?OnRLxq|on=sRGJ-VNz&qVvU%YtX0=O-~~%8RTIVQ8NI> zDR$3YLU8mr#AYZh&Ji!n;e}uQb)5dLcOp9TdQg1|olCd0clIx6_8sqo)E9L7bAL|N zH@_EQzK!yGenfK(X!Q6WA-?lbRNwd^WZxX4_o?6I`iK4zq`QNu@A*j`Uw(=3%|AkL z?0!LYp7X71&@hs4|7n&{M@{cGA*_O?_oH%;A+lr0co#MuA@B7yoK;G9x~SawAZ*eh zs?Jex{4}`SpwXZI5rRukg6mCCBr4?vqNO{atIt86`3!-&zF@omNe0;WzBkF#U5lJvcp3d~Y$L9hVU|y648xT6FuHw~tEWx_ zXYPbN`DxXK1;WxktsI%B%m3lG>CoLvNXIGt@~6*Z0JV44$lUB%Jvkejb|r^cixL}X zpwu5hlyV;DKrOZiRjC;&h(PX z%EU^rRG2Or6$KZU47-`4R5=)u;4r zzy96C3>kj%89My^cT@T8kEmSygr=>`*r}TGObPijw`u>*ZL~#E9`EW#C!?jR+8~aC zJdZFQ4g_{g6cT>wJ7dhwj`Y&Y1F9Neih-HAK)RijUS4rpk7Em@yW0a?Ylrkqi{<7Z zqq#Ve>m$oywIL%;=zo8$0p?4H(@5X{9do*KYnLc)YPC_Ot#hkdn~tz_V1ahFyQtO} z>$f}dA>oSw47GR%OPr)C2E`l`hPO`=ArM5A6G0mt&ht&F2^fYw0q!*?}sW+B9{ zJ>E5uAu7u2b1&owjK3UlprN-=a}IwDQsyMHk_)h}Ud4TL;1U}oq}UxP#;IuCD6w(( z$B1$ajls@1qq$J@;l+x!(~LU9i~^91tqq>I)|XF@5{&Y(ak?g@W*p(?fAo9k$A0Af zsPCJn{>Cl6diF(}J~~DJ@n8Kt)MuJ#?+oa-Kl;Vs@fWV@oyQjSmCLtqdu@YuT05>1 zJIjcJfLq;xKK{&0c-?F6K@e1Fes%^+i}N%Xk4-r;4&<^qc6N7g;c|r2r;g$L&D)fu z2{LP~0h`fijQ9V&UqI{SFX}(|$D2ff(69ZU|B!#|AO8xjuC8Nwwy9wd;;EOfV0&p^ z@4NR--Pj%C;`L2^>cuOxyflY$6kubgk2Fhh{K%3{&o=eyl{Lz9L6VM;W+M%w63tI9 z$lBH>&CkqWeyYl^dEg=Z#izc6Km3c&<3~UEUisYDo}}4@eb$uA{I#dQ3XvQ$)AQKb z-bAg^z|!0ds-Z!5IKb=fI;Mt+p1*L5mgkz7ZPxYFu>*MV!d1-7G$}3z`q(3{qyO+< zK8p3N9$+dEY@iZ1P_5T#bz>cIX#D)MAP%9DVKhkal}~+={`51?$ycAcz=!wEfXgMQ z5xnl6{W!R9p0>MPx_)I9Gm8s!q~eiP90;!x0#SI0zYJ@!L-k3&CoLbeLeEJD9ugICr0WTuU^juw2q;|J{^bc~;}87+-uj<@ZeG z+L#(q-ew|I7(?iHQ{f<|<~{S&c+CmL>UEMJfKE?Cdm~VzrZy~5bo>rr-yuRsz}j`# z{unxU6hU(+)v(6tm20RU+Xt?fU{i~5=`f}b9md1Wn}{of&h-uCoa4e~M%~oXLLIu6 zfGB{Z7C6-e%0Z5+7P!`Dz12?X^0{kx!{7Q|4DgHspncOdT-#`)6dSF?CF+ldSl{iz zs#6Asfnl4wbH6bJn_H}Gb#%Jfq|NP?)Ei|MB1~0cWI4EAFS|Ifob>T$&T~03s8j-6 zyu3=iL4wdQtSIH=O5Mxl2)Xm!N3~kUFv-yy4%{7pRjbtswz@;wzi*!U{gJ-?(Yy4y zYwL9G#uiQ;oZ(aRWi_IhYA&MPTBmP({)_t92j0imzVavfPk#Du2jBkuXYu)G&q0yH z7^Bvbf^q|i0m?D#_m1rD?!Ki`D}PlI>i|)50zY9V=5)TN?CgvoPWWUDY++H&dtzEA zS+-Di-sM&t;7?*4R%m^7y06@JLOcRXj>#oSimJK-rT0QrF)(T%WZnIq2t}5gL;Bfc zEsn_ElX^NtVPe%Rg1ivO0v-z?2e6a31%wk8lggyRfYeopPjWf^9Xy93aA@{lBLbZJ zf)`A}pa^4i0!lAx#a;mcdoOh*^+HeQb;siK=g46vMRkN21?LX4aPn995Mq}%$vzyo zsABL+qKUB1YknOrVaYp+cr3}})Wanhnv#d-$-W$VbAqB6o05^9_+ z<)q?-_N?-q$UFD*N(b$*XQ$I%q+? zWm3T=7K@E=CRi~(3y{|N)cf%OGqLDl!28#` z##TRQiV_*3qSy$NjZDOiIq|Hrt2A?MWL2RVytfxn_|SRy+9}_u0F!|tB-mARI0hXA z1U{(Ol_~)+j?H%7Wp1G<+`@>p;7A>)=owqqVnvl#7k=#7cc}}}DcD6vX!%7Mm{b$E zu6mVP*)k|_f@NlP3x{u8g4@`gC65C^shF3=p!7cH;=ySK!?089!;>pitPRC`_)Vv< zpkXe8c?&YcjXC(mT|HSwUUj}Vzx;R*acn(%Pd)#~Vh>~o71bL)sot0RP~p?=*CE$V zMd-N$Zw=r}!8`$3EV5qNPdAhA{XW?q<(C| zD;VH57xGp~AQ(?J!4o-d4fDO^iLruIEXdYLev1|)s;>soy>*>!aoFvJJy^_TpB3uQKo73*h;mJvIn=lm>OXAn{q8h<9w%fOg@!_kg;MdV& zbi(hYMWupGEG^77pRSgo%iVE$1klXu4h$iKYRC#9B4p}W`ax#t>UIYk0bw*O;o@#a zAH1W9jk&&k;@a4pT(04+rC6&$pDu1F;)o!*+Hz#fp_u@it(4YBgd_(R%DFL?t%~we zjb)(@-svjWS#`c)bhRtEwm!ydk5-YESx2dGv&@JIhJze`{A^DK*6_mzLo_+F=ewD? z<3Je)=VQFGp3+>yAS9zZeUiDU2!sra4Fbo+q?wiss51n1I|&6$C`BY;V92myFdSlP zrcOx;3^E`|M5pUz99wLnm*x}&A$mFJ<*S?W{x_cCt(}fO{p5LEy|zL3otn3mlHu+4 zkn<#i=1nvzp%|_+g%Q<^(PZ30XOLi!f{rXS^~{|IG5oV90BcFCC>zqD6`tY{qQ{xPU+>2 zVXDOL0u5GZW|abRE2m*^apkJ7OyE@f3PC9-E0a=|<*FWhBoGXPgh*6`*|Sv^!jTYc zo@1nnN@$3b5wV*)k%f)~`cljC4}SPgk$%SKzIqY+?>>RJDOkI_F2`PXnu9pNV31+v zz%IpFTpXFJ6J9A)PutFIlU{t1sTd%)&JGonFGuwM~pi0j`~E%RTQ}qC1W)a?%}R z-#v$@wlIser_W>G>+eP|x1WYzdt8D%rSeov{oVkJue*~kfA$3&y=zJD{m|?6i@*DI zKK4Bi(*Dze@7Rt|U7SX~S%!th+VdCq&|{C_m2=nWGr#>!4W~jp`r~D2*ubN|`coLT z#@Kk_Wo;fjK+!Z|)M{hujzd%~1<2AIlH}BS_98_a1C?t)tp=T2M0tJ=dAoz!J@?S?<;P)^!Bs=s7gsbo z-6mvLpoviYfuBP4*!{?NSD@FQ1j=(7-S;j+IE}&8uc0=3f&yZgnQ7%lgCr_zzHx~t zDskG|RaQ$>n*qApu-msl)uzJc;Jiy=7=lP>{KO}~^(L~NHITI$%*_Ea`-x``0!vFs zp8pC;@B9#`K1=46Cp2rXkXb$gdhk17hXXPu0L2ZMB_N1HwL6!IIEU0`L8l&sQUp_r zAyJ8gM?QdH`DKj0{uxcK3@E*L1yre_@~-bgb-F5=bcnMST3`MgHBTI{;roBojGw=N z=3Cx{DDLUCPdrI~acdwoW-133seqnZ%P=1YSZCG_?&6MbbF#5UJAN}MuKC}N*=AQra2f6v?UG$&42>Xqv zK>PPmaPpvrAhjzui3Ta^56)|LZiB90ALEgSrzGtRIEbL23}l$JDxxIaC1s8V`{K$ig_~>(+v@#qb4nmNMhG3`rAaG&jU|%paI&9gj+O{~B9XP<%+(5TnB)o#<}o44&x|J@(JXTSJO)9Me9 ziD)T~2oR)64kIps^OZ~2DUPd{o1Vk^=1r(27Gs<{Lu&C0|MtJ)|N6gv20!$ZKc%1g z_#e}6{Qf8K5dfriJ-AoV#)pmu{}xPPa$< z_s!AD<}N<-)u(uRY6|NcTNsY}TC3J+db*B{^=(?1nZ@_L_sv+}+@*kxe(bZ~ko(V^ zBvp$mH*V8U{pbhzYfrtP<8+9b#tgdMjv5ZA9G5XS*Mw0*Z!pGGy{Z?lu2HMq#Y1-= zmoNSz$xY>vl!S6PjRJIMWb4=X_^t3dAeCgW-|nAu(&jXahjo4ujAB_1zld6qu0OoZVboiM7VPM z_9l>7nVoAg83G3kn+dwTKDymLthES;bdcnTLPAh(sG0$%S*q7pckt8;mr00hGEC_F ziRa=N4G91Y0*R<|j`a3`*4sy1fCS&=|@DaS)(Vt`M`q)~#FKCR35*8JEIPfQ&g{ z8V|=}vm9Bf5G557%EqE;cL&;OQ<>Cutq{7mU?7~048D0waiBh;BPU`}wHWm>j)M?U zXjmZ_wQ^Liu267XRWpNZV~32XAUrTdLJ??l3%Z|)7Vi|9nkH;*k;w+2c#-2$73rm$ zh!^KHzWWS;1vD7IcKa}`ImoC56OlF|MUp7B5;p+q2AWuKHv#6W&|%`#;!`0@H_2(( zZgUvN7!A9m?qGx@$uuwqVPrH+4W%l?;w$T|El?pzM=3X_n}|3dQh_02Lq>D5lq)2c zoJJ$2X0t}4B*ErZ8;x28`)6n5rE}LPvqNPnF<>FNQ?G?gAOso&p+rVa5QHFd5-$-& znx(Y5(H0E|y-~tb^%CZ%YOrYzRf07{)pD%8PHu@b__zP=Khay?{~okQmJY7I#Hyj3LJsoOTJ!YF=l`E~zWMcc4zm&1I+s8Yya~QeauMMb)k+3I z;UQn(Z3>4w`FkjPu!@bp=KA^oQ{3r`D<>CkBNzQiGZ&FQ16*Tb-H(vaO!k|Da5Sm)bNGk8xU{?mj@|@FwTDud__MS zkKgJ9Csi->lj1V2{&&4q4GKKNyHPlo29HzthEQPQJ@2pzukQB(amVTC{fc-B2YiX4!k z?nz$-dKK2(gwRh~@n9D@7QmAMz5|`-fd@_szaj_f1aK=~I!I0y>J+PLTS zOk+{q;DA||nCZpSlST8drA-^RK=4Gl$C$uKlg`7$vVyq)@O?k{_GYiDE|@?ETzmDk z2m8fO5+*k|0S1f@88v&kJXYVgBPz@&iDy(2n z#yIb}y|Dnr#C~Lw0RX3TR`tvz0ZM@*2NVf9B+-DQJRf9d_T2zIRCriYWhU`li*%NT2K6Ax-9z`7?Qq(zO$Yxhf#>&7R|VnU1r|b9 z#<`^jPaOI2ufBZo>pJl^@|6+9aIVZ0LPgmGVy#7%6OUo=)Jg}>uJ&+vI>z_jHOJG{ zp`P1L=+bsVPGg>(rN>zn33XGx=6Iz2DX{bnZXlIz4>8jDt2*#>1S0)-| zs{K)h>sz3H7Gk!}sFh;5*-7cit9{xUs@9fje0nCrzWFL1ztl1V4J0K)H#(s0aiCKr zMJZ+s5}5U#NXSN_P-v+hqmx*@u-Qi@M76SkVWYWN87H}^#6~Nn5L;VqAtFDMH@FbiGVrDUyxd zJ{{dRO@m4qTN@p$byJPPkWQ@bQY8!}SIdzJP%D=x?v609KzAUfH%yUOlB-)?_#(m|3bSdlB>X+BrkCKjrUG1L`3 z`3rzCOh!~bdT9s$;On=zF&m>iGld)HSFn6)k;=0TN)yTz5{wf@t1U3O0_7@N-5i0b z;ov<@x%J|0MhuP`QwSHQ5Hw=&IAOCmjoy__`Q-0i+&KyVk+A7*N zcDTQlBQ*hPd5UpwfT@LP4B6oJ#p_gU1QZ>bmD}IE!tLuTm^(bHS#D_S+zO@#L&VL9 z;_9+?uHB;Y!lE*VSX!vi+W8ea`9t^VLyw)HsNMiCD8Byfr}e&9E-1IV+?Z=(`Al6Z zy36+-t|I=~?;?{8m3I1q*(UdHt&q(URHn*WU1&&HFPZ*Iim=vz?X;1st*brz3?2N= zcX5vpDgt zccM}$OE5LdJm`V~#jw@YdV80u4?U{K{`OB$)L77+$1hSTW^guAo|&i6`P7g(@d$CA ztL?VQRA=?_&;1N7f9M@x9aCxcl!O)L^8Q0M@9vtkwM{&`sMK5}wYPy$OVK<{)Y}j$ zmx%hCNN-=z!G)J-{zJb2D+4jffN|?`&hv|bnhKhaeFyrV|6`1w`Z~(@KLT5-!mM6X z>g*C9x)U5_peRy1ZV{3p?C>H{zb!}yY-X2%at(C!L15<+xYH8bTw*@`2Car=N}l?r zkR5ZMBgm8A*6LjkL2q3_>(jq1m6OYc;-*Qz^*QhZ@5F4ri~JMcqM!W3t1?z2CmKO8 zRz_e+yQ5sEjBz(bFAyOinyEu)%Q1Dv87{X~sxde+1{Zfz%#;|5b)(~4h!Ma9z*bin zB-*GMC1%o8Xq4re`pW?U02>zTtr6U1nhUW2REQ|Bs+RxbGcAoNq`&jJ8D0NImp9rY zl*)mgo~f7@Hb_47kqvy|%*(p?o|BY(?nTRMZ4)mY6uEVs?D-Y$-`djohmIkqgvzD1 zK6h?FGj&7N3ahD$QtbogtkYD zfik_a>rz6>0ZFEWv4wv7N*j+IEaT_{i&#CkVoewt3D{Jp>U#c#Rk?h%!_6w_M5Bq; zDARs!sA57?DrL00x%Qhx9c3o z@I&{`&)9TUe^t4^w*fzu?lqzK!k5ZJQP&RgV z`OxBwZf)Ko3k#!x^O)v9e)A(ArSEv`_4L>q9;5&I+y6s;^OyfIfADYrOI%x9rNQck zh5^I`aj?0wK_C6(7qYKCd6pl#?vtme(B8vp7)|1hm?ZVRmN7ry+IiU@!IcfCV?<99xWyHB6QPOGCYynGIUDI>Rv zEVVS#n35ned|=<4p1rX`%~DwxW~TA=XD?!L-#n&j6%0m0O_B`voH|b5e(55z#Nz1k z5}thaq8vQ5pP#>QAty3MlxR2{2{{!9ia#UQ>+8~5LPO6O;qCXNEx={_KF7;v|jX}{m2YGVon zr6ftg?3nm44zO>2TGuvrXwd6mc6y4>UbsT#Fc!&x+*&Ge8F3s!p}c%(NhvPlsc*eV z^+rSLGgI8%-BpFs?EEao{Q;tKMZ_vU`_$6{fCDyga$hG?Dc7oSa8qde{SMEBC8AhF zc2kT{MV6APfDMTRHlfZq&|8}ct_^^{JS+6rLn$|F(9xzyPg1UxRg(mC_S#r0mwWWq z?-R0N4a2J|wtn}WMu=61JxX>ups)ND!ue-dbEw_j73`a3o|#3qzJ}Vv_ahsQD7|nQ z90I(ttyGCAY;S@oMI45_vfIb4p285cmje_4p+H9hnJvNehVJ?^Unc5iOnE2 zE(3%tvq(})Ad)x=kpuxW8I!V;iK@-0FpSx1_jUI0A+%a84dal4(2#{7&s7a63|OsI zGJz3hFbnHwI6@RM9oWBs3s-u6uOM%;%$j5wC6ba=F|2_Yqy9qWZ*wN1xDr#Irn1`_ z*p-znbN0%b-gR`IhQl#zrZP7@#cR7;97iR6;`x_la}N`bu?i_>&aiCX>gW3jEC7-z_TwAC_AG$2nbxZ6GzLO{RQyL;uHD9zcU>jeMg31qE%B2s@z z74cOB-b#8R67~vz=d>b_z`$4+T1;RELR+2OE!E?JqCOvyJYwbV=xiLSW($iM#oql^ z$$g&s&qX1w^VRL^AdI_5fvm$V)r}#Ct@*4%kDIf%sRq%W8;A4AcDRRl2cDv%JXR#S zH!g~dTJ|mD;NQZQpByO$^5l_sNhru5U-hDeIMq0?E+FsgOys~ho_sw#2=750b^w#N zb@p~NF0jKouUZF0Ndbnr$#1CeKJt^p>VyHAECA}%9OOZJD8m>FvFw3r^`MlS^nv&L zRuB9a3Vw&`1ITsH%AX3Qy!V*)03k_HQsTiZ&tB|V6cH?w2m91}Ruz#HzTkoib+BjB z2w){uC1>AT$n=59zZU_ys!n-ad{+_13a`kv6EeU*AA8>_tB!d>?$pGlP`~;mXY%|O ztOkWrykMq^@);L;%N{t!UTKoJY6&tHY8^Q1CgYw@n)6)u{_X66HxJxHT;+rm14%tQ zNQKhfmp%FNh62dOleV~5Pa6^wKRS{0H?157fw}1G6Vuu#G zN$BU-stp9r#{! zYoT~Bv3P#R{!vkRQjjoWK@?y@e!yjUIFiiS+K^|~3ri;Q!~uC=vp`PWb6LLt1LBiN zF=2jvUW6zNvsY?6{kc~*khF0*G#xS1tU)CNd(pjGmc5cj5`Q8@~3Dv_nwO4VCN4~e&dIDLZP5D zh@9ma5rEvavjF5P0^GsNGw|@C)E+$-h|Aq54v2o;Mv*}Rw@$I!F8m?KAG|ziL+lTo ztUg!=fZyw&)*rm~4s%+R&?te}?>}(+l!Z+r+oNYhwa(zrIcO0RI_Q z9kE6({8O_ur-S>azfn0KUK!-sai|mf7l$7w#!*#e$Gw3el4F=<*0}L*{=*YDu{{R; z_ZMSt5lBh6J;>M?*L&STqOF1DS~) zMK=aQE8Uc=5|}5_6n9Oa-03<5zOK#!O2*l^5i93l5LuVkD*~oK5E#Ffa&ZwF+x?*~)=OHel+h>|ZVgyRX-1h%VTF)cM##qHNkJ(Jjpn&R zRfrhGqGpCmxN)m1r}7X~Z4dwqM?|I+p|iac)MlC})f#yA@k@Fn9%Fi8hD=1*TpvLa z!?)MFSbo=%#xpax@&|uR3&-YAK7J7Kk%Rc+zxeMscIOQC5kbST^w+m}_O*9udAmiU zS_6`fv2XtrB+YeqqmRXt%fta=`GF-^3k^lSymU>jQ(pG4_x@6~vwPFFwk zC3NzD?)uR82la>FtXXG;?A8|0ZDF+4f+QVz>8T4WgPg|kmvKA{Fmu-(FkA(PIodZ? zG+AGxV7$w+Ed;rZmXYjGVyo|@YIp)j8OqWV9aVUA3(PAZ_ zW`iX~$}24qGT`Y*U?rwp1)UU1B-~9Dq(tR_5F22SD3>Fa?kGoMnTC=|f2^EAF;g;V zhOAVJ6~mNznUiHv1~Q?qHWR2Ag|SRdr6#H>hKW=Z_|>O(RN0yzf8DhH+t1&|FbC$V zG47l(e0G!Yw}0_#^aoRHrsC*rQi$y|#kan^f|3eKM3e=J=1d83J;o=W7}C~|Pzp(UE%23*(YctR zWN4II^wJz71^w(h45^_8uWe*V&cc86ADA{fop8Y0P{ zCNgBj=>*Tr1~@z&Ql95_y_cK)vo+qagcon@$nBx!cRX~8|KhWMhVtw&m1KvK%`3cf z?HV?2UAJNl?K^%1nvJpBO)`yYK8`=(T$Y1EZrf(NL(nOQg zQV<4c)EcOi18PoJ&}sLvHOeqMT|*owUA%T13;SlVJU@f(aD;Yu1cG99WfyTd(CJ2< z^2{Pha|{P#1_N<_fN~fsh-kCbM_4MEUVl|vy#cCmi4Gl_hao|uT15^)o@XG4m@wpK ztpXyTSuGRxH8ogh(&EAluB~iin2((uq|IS%ihyGfvsz2A!w!18En}@9HU?q9)U4Me z3PWy>QlzP6rV#DHfZZJ+gaVw}Tma%Y3=!9=7$j=CgCW97MMi@zkf(}DoyXl4EP=*i zv^^AB*jKgpG+=&8bNr`ga(wBz0Y3Dmn95bg%IzFB1?7PL$vIHKIqti^jhXk|gKA^J za4Cki2g-4Y;!~%=<010a4m9Z!Y(|t@*mf5>OawC#qc=p}-$89@0hW~v3u-eldK-PU zX-chxU|6MD0*x}40T37g%E_{&`IRT(vcK}j@(P&I@6k#+A|h;nAQ!df z*6sD5xa0WYe=*Fxr>$ggG3y@KgaIUnasZIRT34aJcbDZN{n}akFgsw?3(G9|0AIL_ zzyc^16qYz1^cD6NwZ(nc%Sb7N~ja)N!#6B9hRaK5u%S}L=ga6 zU~sypUUv6IarbQYs&4hbzEg@8#Q_CMpbjq)c>DPR=w}biTX!FJfd~Hntqz>kJ@*Kj z_^Y$Ch|Miv%*34qa5$incQNomzYc5{_xT><6c1iGA+94K3Zq?8J8@cY!@#{WO%MW4 z$@uRj-*zM(cP;F`JwWaR$X>Ww1PD)rZcYfzB#v*iuHTLEs>8`8sZb$`#~Xddp%-DR z=1?+w0@FYsmWvBK3Y#A5u@Atx8yN3o;DAqOY47Y-^T~Ix$H(^EZ5(*X*5j*IpdabP^RXZ$@#E%gvss!xbduUOyg2~uc^;x{?NDnV3 zbXW#^62)i3@~bLfMBoCUy;z>WKwe<;PV~s)K~PxV{p3D?yoZznGn{JHmCwi|P{XNP zJW!+pzz;0)@P&}~|CUKuFBzxKB=P?G4z>0wOZR)^OE<`as21cWpm7t&`c5uDaseRL zgXlV80aZPlrv+dyC_+u}D*F+S)=sYL4y)h$Y=@D#Hu3n@q`b)~l-w{A~Nub_R!|^CiSxe-YLuHq^F2X1j$F2>Xf0de71!ii&dili( zE<{5;>g|XXzo@}6L`>usd+W0k$YSE(t^j#IefFrN$M}8Kms{Zl3bqU?suZ+1mwC|7 z|Ge{h_lu2HUu{tUo4yS_z@|kgh|(Sy>F0^FGjYIXK|~Z;1tPAG+|Rkii`gwKwg5fh zzZV6efJuL-cm}*!*u0Gud5@`L=sTAk@tx)wWB6%N1Zg7s>VD6F zz0#kdxlVx4Lfvk3^2C1Qbil8(L|11oy6*U2OI+h*zU(Pv-8>WbKH?7 z;^v0&5W5t3sw)p;U@wS=itG(f3iyrOm8ca@MUdQi?iKUHf>5Ne8xQo7UzA}L>}`?2 z;zM=FuPeG2j12PY5Bs_1yV$=oVUKWe?Q#h z8>e4e)sGwX16zqE{YEU4&EAcD_dLdvb_91&aqFNPsIFSdlNZGsio#V{xqd6u^8&z% zub%K#2dwH2R%|94ovK$t_-BF?hc@yozu%lm0oWo60?u z46(wa%;HV=-SKEptds<|>yRj^s<$^}zoIEAfrU)5s^-?}?>&7L|NH0HVZxHW_2dlh z+Fzq<9Yrq>^vG-#4Do#YQBmie3Ub zvVRJ-N`#25zIM5cM~+l+&vI4YcmD!CaI}uOav<9SqV19J(S23hD80s96tT z451nabf6Yd2^L0$j1}5n2RCCQd75CiJBH0Y0hj`Dz}8wJ3R$=NDZ1kvrO@b1EyPqc zl&NY7h=@bKi|}Mz42}`eNUTtIl(D!N617m-=%uthOer=-0yapja%7+) zirul$YA-{ks!Z^O!frJnsEYbi7xtp9iOA`aMMc5NLY9~`F>aJ9 z>rS_a3%55B1%bZz{$+g6!zc6u4;+(2(`9>ecPJOvyE;-s(^FO2H&sEcTt-YRq?5RF zQ3VAAl!Ab&VT|d>U@9=!8Rzo#R*jplyPHELVliYjfLfrrIFH)FMNG}t!HLlPVuNba zF_JXXawUL_b1a|OuclI>o%2^PeQFuyTZas4y?X4C#GH4!O5T2W%bd*!68bU`YY@ z*){3k-bHDus+b`_CG76@2=fPV z;w_KBreztetfBRpKf$*@^kH28#Ah^5h6tt_81xf<&oBH{{#(DySz3agdW>k;hiD23rw|?3ujMzr zMUkeYuRMqB%1a<4N=XOGs5AE5f%-$d!cVbso?K=KzK!_ALa7-4V?}T!{jmsg;rDinUIT-LXhLHXv&d8t77up$h4Z1%pKS zcF$s%T7Bd|olnd}(oS>9bCoy%O^3`=C1V+^xm6-V;_jL(O70mERP(l>bKe%{_xixH(Td6rFW&JR;^J{Y3{3I|C^2> zs0U~qnL}w|fvOb-mjjAt>NFl$FtLrMOKOcvyK2-zwA&euHI#-U!bV$VG|I8Lks`@M z%v58P%Q1Cq05*oA(4ZU|8Vgfyfq)HajS|owQ)jb}G*wh)r)cib0v)~Ym^PQDbb4`C z>+@4$%5?;_hDJmO1-YMoa_-Q@|!qtVqm;KX|68Z$4C&FJJB1&z$S%<}e|f z6JS(xCP_1hg;Jhb$#WrwP&G2xXeWBJ4I>D(L!o}<;-+025&h0@{yIMO zX$~*X;O%d?5A(APIkoTw&}#3(c(_c(YHEdzu_%RQO7jsu^ppQemzNLl&8ye+cYp7b`d|O= zU($d0H$RAd(=*6yP9dvCQKSKfTnfwNXeyB~@YXUcYM~e<*3Qn(>0^(+Mt|j>{ayWc z|MW-YTTeWP-}}SQ(AAr3yt6aF-}=xy<>tmNKmPP9x^He4&pdx#TJ5eXDT^f#7}av! z-3tw{y0NQSZec}n^~NSO>Qx+Eo<+0Spg4|j^~RcJWt;TVfk4cuJW!B~~HH+I~a zQ;jkr1SWza*F4YM(F{(i2M}hbnt1V*D*zMcRuFN(3MB`OSEisATR3;& zCRt@UfBB|9aQe6gK|rE87^-4{B+USUEyYG9OK4`grqyZ%Dx#UqRVCvrx5!n{=?{=6 z16;dy69Ci%{_N{Lnw1O$W!-EK0Ad@KDm?1+xj#rLjw>itW5gcHY4>tXhkYK4!G}(V z`u%4@{OXg6-R(?g55#EiLPI7jO$D?A###zc907ApHA~YVLkhBtN(t1c!Y=LuPTvLd z;OjJe$Zv3$BHPL`kh(j1%&GYyR)z_^TT2=XjZ6OeXVJ>(V$;~2>}A;5r4pvBD-5HK55 zD`lu*FdLLi1TbinxqE7o3VOXhZFl>ILTENf)fj_%rHqJK&tAT%aVg@dT1AIRqPbO# zV@A|G#%o(U`rMblfe-(k4;JXQyJG`I}SPW3LPB~8g(xv{E=Rs}f^UHg}Xmx~u(c(TWun>n| z`KzWXpgFv1uD}KyDM4J^zdeTJajN28SqMD6C%6aqbnlK12c{EY^2{!;(2JCL53_KR zR;SozaU_F^`igpjb)G-)prgYAJO<>j3RlBE5s9*b41+!HD%O=ECS zzU|n8y+YjW7OvBbSLi#$+2J%&^n>%C^2CXs2NR%iPXMlr3GU`r*22E0fC1GzgLooK z?5i+1!NlIFAR~&U2SAZaTi^%I`NDm!62W-)8x&O+2R6$Ajl)vj+#PfC)w?agcy#d7Z?yua zm~~!vc27<1C$RW{St17%vF~ID(($BkP=GC-;j%^@TUDSld+@KH!G6jKxdG?_A1&sj z6kg}v;sk!+C_J0!7ZFu0Kt-o=Rv>_X<^nuY!1x75;ncwX{lx=(AfA-BDEz=P>J-65 zDC#Fb8At=~OAZtj3dLk_)6bXtuws%60G$jLw}2I(qj9+E~wdHVlU;_{34j#LHk~XjiS$8HyAKPbC5A$ z3tvg$=YzU{6o&Z94F?QE{ei&38Tp_izwk5hB>%uE&WkXaVh*^m zQCQLdJ`5MG4cS*c6-6vg9nXI6VH9}Y2@c6wE0bF&A`l=v5pFLSh#vgP+ z$jGZTlqLijv+?_bOsWycA9UEyckz`WMRkn&wVBA;bev;my1ssNY4H~?uWkMc)OuY8 z3mIY-wM1%+Dv2)_1OX}mkt!L8SP;H-a}5_-UH#DqmgwPq71U15>h+x=o!hjwOo@5$ zNFDnYrs(UJcJPhW1miL3ktWNjr6zBuf$8*fd1gbYS`KukWMp9~pl-s{9i@;`mF5|G z-$DgpwJgtH>GMigc)OLM-_3Afnt3o5^b$+um=Q&>WXjYU6B;pFA>n<^5{@sF^v3Q8 zYn_ZTAqGXTOwu0Y+9(qXGckkC9IPWZFi}g z%Ar1b&mnyEN(2p^%@%P_zNAS$$zW(Ybp25}CU9qGb!Jt+tAt=W@ z9U26sK!&3+=ZOH!s0Bs^LaQCCxmE0&j`ih@L|%Em%XfeGW7zumQ^*D*X`I|oSy-Vg z%WXOy8VUnU9hyPLWiW&q4b_=?K*$muzWAI_yUXP}4`X+;Lv^}=^2{+(tN7yQZpe3i z@B|-t^psxs!a1rnLV^r+mX!o=4aCkK zXdoSoczA0YC7aXq;W|bp)Y_552zx#Bo_tmZxuL0jQ)KF8Dpf)p-(Mr?ZK2z46IwfV zfe)Hp%8_dC+R6Fj_e9a3swe*TE&?Q2?V9O7{4QR!Y; zBNJ2z&BGX9KMUDfK|hQ1kAM9O^g|)j{yS)fH!n&sw-2aHGnHm7hTF!rhS>hvGhDg*vl>3~y$BDTf^6Rw z-1|K=_2zez^md_ZH)!~^KS1Nbw~<|X4eZ%3!lXCV9=cz7^%9rT7R~?ghhgUCMQ=XC z9F>IkpClUYl8_-Cj{r%awW?(k8#ERaqk-DpP399PpqE~NQUEk&h4!6hsx}n;4WKqf z@$23XO$MO$1|(S*#1+QwCg{K&T58ObY~55FR;cv0??bqCP0_kcqi^p@1fu5q9;TN* z@)>>X&$p-#BL^A*Sq{<5LC(4i))Amr34Hbx3gas;B9Dw%5J>P0hu|FR;?1{x4aPU7q$ zZ2%>wqf-SNko0Y;AO5Qy`qS@S#E;!Sh2MC#!ki*VImjNH1-Za)ioU1A{?^QZ|sRpO85=V|H$B*tu!QU~Krx%~Z=48dd`A z4v4a`l4Zr^4U21|(9SB;Le+3CIm*U>Nij@SMJ)AlrUO$UW-5eynCT!>THP99o(+O> zfMKhrt@RzKRaFymP>NBGBffHOOUJ_=G$Ss>fmU-X*YnJDdO};>F{P;m8`Ap^mU)mU zI=N~)GgJj5h?GU4I|ISK3e$sgWvsSx&2phy6hIl2I2#3-iir=@V!d}?ML7uY-=Ayo zOPhVJg@H_$SjH}Vg(O!>Y)+)e#js&k3kv9FH>2ILCBuqDMb}qXaL<87{>HiU2rG3R zock2Ya|_6}Z&8w@W_P!z9F+9%sXM5)y(^`X;by&tmD?L~dwrX$aYU7JjJ1^wTwh(M zQ>RYqbhD02H`na);v643v_QMNeWi^ZeZxbi=_}uQ9yiyw$gt|QTdQ>O(p7x;$G;1I z@MoXKU3VUr>np3&m}=0*<_?$$$vDA751q#2&%dM>uipm9kXM09npzkZ3WE~g-nfmA z{Ljzhg)jXN{MP^T-{@cc@_*L1z5OlJ8zp%0>=kUbd)R61u#nYJmXR?Ar7$+5@lZfS z)oM+C@B{CnG)w9I?|76NwUS(0*``1HnIuX z`ODWZ91a;qb5}U4CJsWxafsaJ$Wn`8no+%8Ln#h4Nm48?&Wnn2DGK!Rtqn{yYJ6p7 zO{SYwE!Rr8bnb?py>OjINvec^oIoRksv;91npgl8(V5NV2lA`g4`U#^fO?o1msY$%3NyHa*W#M@{OA$08%UH_DATB z61AepU8JE^5re=0&gV@4)v1|jMru*5RWRreD2|PYS|Sdu6-$!mfFblpIl_Q-W4EW* zZ*K5CcOH^qzel1~-mWO$UJj+pv0}5heNrWxsL=;lUK$45>bVfW%GM1@| zil$HzqQJ=d>K0ckH95Mx$XmNRnoBM(zkJa=`u-G+sV1F$`4!yt+B+4LiNlR*m(W3 zhlL7E*FC?-Nvv0A8+f+_@;EX%!a`}{l3_(%sI0mVG~`}ZyZ~r_4$E@w%#-ITKmqlbm4%yI z#mSVQV*6< z;eW0G#JMaLequs_56JK;YPj;IB0Hc60TEk#Ur`7GPj-0ltRONFcp%&To@GzysDQ|U zSVd@uQ^Y#3w(uF-<1!}&PT(Sr#CxJJ$P1>u(zUP|k|M}LL4`u!mj|I>xE#ji08;S~ z9WzvIkpb#M5IvX(AE4qVcL7=oIcCgFVz;pT|66HjL5>g{837b*K*4N4EnrMxE#&}k zr-t_+EEm-+UZ7d9z`l=-e`m2e0j?)Xa}Q@GbGWs@k?Mi+lBCAkClRk2L ziT^p{7}JSooB)MCny?_Sh2ma8Zk>5m{(~>~nou-;wP!&6t~^o4s{^8?I5caqiLwLK zU1LJkr;ft`&ECUe0)EP*QpozYb>Hc?JNMq6C8nY#Np&(8ZQ+&XNt?-0-mhA!ZZj3% z=Y^NL(><%(Fi|MA{rAK7H9Y%F*vq;g1^jqtxFBKWqLi8^-iCW6Y3>~+7CP$kIc(v1 z=gY_3gL`s^-21B8BiTfYx#fr^XQf5%prD=`@&rx6^s4|cE<2%M?hC~~{AS>Q^MW+; zb6lN8lY68B@McghFhTLW>c<0n(EC-J4_v=;QL)5;PQ2>K+1>@bHPNgn(b)iq*__6?`6t$H)ENE#?sQ>x#YkKvr zW%|DRk6=0I+pnG5rrC;WxHiUX4+ZqLVV_wWpOhP;ON8!gfwOLK+5! zHU^obIdLy#y}gp?R0$+XIy-MT%>`?{Oq+G1TYbyBgADzYbTCp{o{zO^m|ohlR1a0G z5)V>nKtgM+6zg43sz#?{APNFlHk^&dI#Xt%AVfb`TwNb)rJT}oGtyK0r_6eLjLsNj zqL9K+6^Y{LY*Q|-@6fH*kd~**I@gSKs|~uo)z9M~;O;2ZB(>BY=X8Akw4ORRuh%wO zywOQ?ly1|h3#1@FG%CS(qyGRGDRUHz%uvg9{CL`c|KJlSHPgA*q0J zcL+i^v%EFTHMN2eMCybN>dy$I!eouA5h7&)SyHeH5iuDOS0)M=SV3smimF&qB_d`R z5r|>Sq>O-L^pYX0X8h4#{b{`SN8W?-)o9xfpEf5T$^)UMb~`a%|ExldZwfjM5Ba4e9>lhwYdD?C0rcf9f~! zum1e1{_gjFryPFMgS_(i(_9G+@=}1_ATjNs#gWs?xOKHHHXL$!b{2V>5vq|&9x!&> zd9_w0VL{{gA?;jQq4j_N#~Ai4P8_XswOJO)Gj7gSwLag}=`&5f`N9qCwnuvC_4{eK zwnLIDo_%pw-};tCjW4ay{<{u9$`zH~fNwo>5eM%-hVIo3t=@Y~-}0V^8Dx+QGv%?G zzx>P!K6TN`um8e5oaCg#VTwi|9FDg2j(d;N*~_It=Rjc%P=H?LeB;J|EXTIc=)Uh_+T8_mOgi&2+*&%Z!TqAh%_o83|L6IEbI=7)&xk~TU?&4Npj^`y7kSkWBGNb#FFwa{o==Ier!>? z=PvNU10i$Lg_P_aGdh#^~XnL5N{^phj2adDYAd3e~fnizki>j z0}B%V;BNp)%fzGG5RP!nQ$#uG(&?M1EF%LT8#`_n~Q>Zss!Cglmn2y@ld1}w?JRH zKGdmFh*B6}k)YNnZnqOCK_e4@BhVnvU8uLJs0dqO12RxpcieQF7%5b&KWU@_{^5_W z;(vVavi|f#b^7<;Z0k!|KyNd}f&cgV`&=^!^f=n!)BbuhZOvhmdV| z@zk>;x$kWUMEk>_v)aS_;Tny*sR#^JssaDmS9=)sEq(9}W!ksDj2kybc40a+?bM)I z1EO(cW}BhTR3cP+Ba|EnMnkc%LP*oZF4kgfZI8{uT9;>L%DU6e&>3cwwo^1qma2hj z&M<>yjA}j5-f*n#{uuizA$PJ=>eUE#0N&`2v^y3GjnS4^y46X+#^`RE z0+p}?WVxkb24x}`(!dau111YK-Hb(p7-U$tx7&2j>3iv0&wWKH4vCW6w0ZSqo$W7X zyXza~#_cuJ?u@lIGeyh$=kqK{!&^5t^ytw;(wM4otvzs{L;wV(m}cq?qwJEuD$CEC*Pbp=jlnBJj!7t5J*A@ z0Z#^m00Z(f*v0{a;XQ+&!91{yz$V%l5E&U1kU$_%o{=W!=?Oj4`S#7>+>^gld%r)b zzH{fnPnsU}y(iRHwX15awb%Nk-^VCPEk^El8{~_mMb+Xmc zWRws=Xcz~&y4j(h`4>Nc|Mc4*!}$vrp(4a4hLxPWSVc@2+lfL2Jo9Wg&?%_ZF zgFlfkKKK+KfBHq*-fnZ2rE+L#QI8&5;>kvX!l-IL`oI5{H@CJB1)+@6AuExRDiZ|| z5E_j-Lc_>2U?dqt3dC`wa}y1EZg^D}W?RHi43mV!S{z(lkiUK4alZZRX)Ld9-^=W2$8UT>zmH>B_woLlqv&X^GoFa@sMGox_U?3PieGb(+!!&CsMj7?C`Z~%$Sz%$S0WR%X zy3_}Rl@8aTyBTOZ11v}y73EPMs6@b2lj!=8D2LUPrw;~FRI%F~03ZsZSkppiILc_0 zq)5{o7HX^lfrbiXRLY?iW?Cq+zJd*PdOd_e49g;EVL49=cZCO2CMt$P15(>fMnc3~ zt=Ak{V6}`DBmyB9px^1C@PZ=-GlI}fbyiJnp_MRX$qIrpO;np&2`U&QDTYN(IY@h> zglg3q4$aN!m5o(8ci}41-79qPz?^+{bCa`f4?p~YZ^bYFuRnrSYeH6=BQOGiQ6^(l z^8$SC{NVhM(<>-_f? zzHX*D{K(yzon4KR^Wx{y%Uw%RYk4E|cWwd1kE_F3JQiYU-|pH7_I>gF_?F%CUa00k zC-HXPZlFuJ9afwT6Fi`%9y#}8R*GDS088a9dt9bVRUEu~yvGyVo!Y?+1%Lj0zix>x%bLkKP ze;N07+ok<;iE}V`j9)=ZLdM~&AaOvv7e;!AF%O=Wr~<}%RwaFv2)o3*JWcYdz+mw+ zUCE2h{d`w(I9rMHNtt`guEWCh#&{To44jvfYKa?qkjYs#h!|+$N7a@}&VA*u5@3BR zjP)vLrG58y)lwb(s+mCKedpDyS+#5=fT#s|ix9FN0K)#ncZ7xe;?5F=JOJe0%K@q4 z7qM@@alJhrgz+$sTF;WW;!zfsa-Nci4-s|1-?%-4{pTrLHyj(|;5!fSyKy7WRvK?Z z;fNC#jOzTOOHf(FV{!h0gUGeJs6xfKf~W+wWur=|CN90sTv1i;k6lh02C&~|;GY{i zKvjG$jB6=z)+0{f`l=$UKC#;u;{EOqM{MYriSpJmW55t@d_2SDewxPfh9D?xsfPAI zvnZ(WjF*$}`-xowdCtnJoJP(+9w26vqFu4&GxR~j{$UabMOmxh0LyZLk`H-xHc902 zNklfruc zedThUvt#ptF<4uQ!^K)C89zdpACb; zgZ;!Hb-_DC>`53O4pkNiDHCGcCTLa1DibBQYq&biu;cnEPK4m*7b&q=RZ`1%-R&n| z7a7j|Lbj^HOins#2})p)`W|K1km-+GAc3I>WO8fq>E~AT$N%a@t=H@3-8ao}Eikk* zwDjf6uz1>Hi7y1{ET-5*b*FTN5 zPDkgP6`qU&?CcGxH%f3~uC6RrFK!R8(1;NmgUknW71rwJpwQeZ1Y3xgiJYlhs79H=tO1A#qcqp`&Jg$Adnexe!S_kD zdktUv$RE)1Qx|C<(24n$o;bNgalXUJ@*3Y_y87?G=Vp20&wcP&u9`~kGXLPW9OmgtU;o4R{W87$=p{Y=wtJ8d zI~ZQMfQlxVn`@%c3b2B}4X$P*p>?7zE@D6Z?1AA5l8&bAs8$<=2r z(ew?caOSg*C|@w7o4qjB=6F1_wGIvVz{_VveMFTJFu-ND|+{*c!{^)Wyd@#))8 zKX44Zxee+pGkQDdKmE9ls!cZUcsH&Ot)9GX0tfH=7R_IJUYUieCvL!P-+BsrPh7@d zzwsTo^2p;9&&?pX{uoq701QT3%aqa-%*+gS{_@Mrl)+y8A_iai3-Hve=)@uJ?uOX< z(?0`(NQbtL&c{E2{L#-MU%9AedXnd-A`G5=n1Xx{Xv|`#zo*5e=b+PvAP3KozVaZl z&;OnxsEVXrNCZFvXk!vsSRzc#K}IQblmpxAkgZkF^dZ&B8H8tE51yQc4tF5KT~K2R z+?s?I1+aD=y0>Nc;0-WyM`2o%%o8)vOV6tAwP9_9(F0%P-3Pyp{OUzyU;PK@%mk7_ zt{=YVzhS3{a5T0&SqYKmIeMd%i4+l$_Ok-lb~7R{%~k>w1Z^h;!vKk>z0%E*SV3mp z9$=M_Tj#i##q^LvFhLZ*=w-AM%tb*6=?K_e!GDs17Zd_*eDEK0&eti66&=`t8qZJh!L4kn>9u!7hP=+>Hg&mNw1H?^D!AFjCzG8 z{Sdowtpp5WLneT3r-F|@+19mQ z4g*ld7%fz3kU~c}$!6cuxwS&iZ6r8QH#pQFe-dC!N1;ws0#!A#(n;yu#z2z-R1FQ) zD~1A5DXglsgfv&R?vA2L24P^x5Mz{E*&L<}fW#K`+PiPZ7a#rte&WY|jQ-&de_Pj| zydN`5$8CRiC%An1DsS%W*+#2IwJ6lRc88fs);9O(YhQZ~S(+oRhZrU~c6J76R4RJ= z?I#P#EwU_wsL&|O6-;Q>D{PCLu3TT&)LQ#5KKMRckE=m7iXpK2k>CDPPWHB`S__Kh zm2G|E>6i5K@*19c{)#^L(nb2?zx)Su`vZOL4JUE<@L>>0txX9~DMTP@IY2;_xTeEl zUtj-C-*5lpM}D8)`L;LEzx(IkkAM2X_w(V!d8$MqeeKa_@X+JW>%{a7{oY4^1;6%d zKaX$urnk|{7p~Ah`_X@k-~7W*(kK4r%i8Pq>D19B`G&W=mj20yzKw4=b5b|9cI20S z^N(n4V*?E6C>b%ly+qldS&bvaVT{orMV6$liIxH!m~B#)6-bj2fk3rtMF*n{Nn-KJ ztcxG5S2JY zr`N~w$}T;B{t9;Xx{@S0M^OYKXpt9uePxq7y#!m zq09sm7z%?BwKzszSoHgSjIsin7nqu?0RW5%AVL_WxdbMlFbbeq0SX9K3B6v5>nq!| zvbt{bEJLT=BT)edgnGT|?$45e$wg^Gh_*I2DXKRyF*!xgK6in3S69`J2AW#tA{ik_ zhqPf?G9f;)SU4!f!2#?sjuL$J#D(?U3SQtT=`jq&G!jA8~RWFjICx>OS4aS+|S{gwp8;g`z`<(-{%$ZwlTbK z7i7u%{X2}nib4!~=EY$bQr_pi(}tF00QouO@tYEJ5(o4_yuZEspB)b6l=3`=2rOvq z2s6g6JV;W0MrP~rYWE&vnA76}2I{;b1W=gq-l-(Zg=V;%%$m7TkA7Z~u z$#)E>?_}7=f1QPPnLhypsy^_-vlm33SuhsD#)Vdr)0Gn|SbRFSxYky9yMqz{Vsh$D zws4GbS` zN>N{k)PcF~!L$GDeo_~{?ZjyboDB>7`W@uDL5b`(!MSPx){e=YVt?&V_h1TsoS3D%8-st@ zI5!Vy>_6rwI9z+v{=Eer_@)w`bm7GC3y(_@#sRph`=FlJ&5lV3mi^#N2*G#)$^{>m zwlc<%48s2JW!&~tc9lr!(eFDT$Xhc}+0)~{7l~^Lb2==SfKEc=08sJ@cbAf`zQFl! zDFh`8D&RU&Ec->Lo&a--d1lX$!@KwR<^@NPSU0si!|PPvp4{;BgZ(os0nu{2EL@9L zsdxtjE`8l^#BeyeH(zs`oKcYV%pOx+%WZ4Puo_a9iH$wk8)qP)xc=DC}dfcBk?mq$=x2h2=3jdu@YW6(=LSCIvK0i+@ zDg05*1-B5`Su6QansK-gmj?*f&_?1uH<9l+5U)l6jV*25{!V`G1IDlejLX(Pa-k~X z3X~^w9MPrT>ZmMr<#+bQ2BjiK{hP<3Q~)sr)Ef6%{&zrS z4dC$sL5**%gIjNI^Cqws5M#z5dl_Ub%l~uX`t8GO-c|91w|$JAx6rswOIA$_1ogXfDJCA*m|1 zx?A*bKb7E9KXfzZDlL5Gg&i0M^|FFicl)^c=mFjs<%$^S5mZyd1si^)r!t)zO!Npt zkY+aE>1IuL_X@pZKA_WwV|nIcpPP*eE$^m?<48|U2DII`sIWq^f``gF(+F6s=th4; zjVPAc7U@nm*EnLWRShPqAzj!QVSAWkv01l>glNftL>a0dwBy>Q!N_4 zyh)Q)11n1DsGvKJ&Dgizbeise@w)Ezhtf%M&I+eT>h*JM^!j8AqD&QHGXzXDS*t>c zFvzT4{rY)MY=Kr7;B_bFHAxF>b_Phazzs_c%tT7}U)bVIETmu#2{0(sT|~f!T!&d^ z0Y%|xR4&M3aA*du6xv4Ur+&9D@+80WVl`pH82K}7Z_xT1{718b`gN} z_y6$!p?a{wfAM4g8pjV$^Jw!Gj2_#OdZU8y-~w&W9mTKy?qf7r3ut=wJpJQ$9mo9P z8GK-F3m^XHN6i26VRic++hQdgG+x+OGdbB;D*=Vh`ncCp+jfqZE6FKdjn0E+th4SBnl(0oIb@pO|M^LS(v5CJKidjjTb4n z^=&A&Ht@_Z{xR;=SK-6sO3BB@w1|p;f4%CH!yaTw{R4t<2U9x#Xv~U>6GT4n3 zn6r07R$l>`NX((LOhnM)5bWN%a(_g@^gN2IPl2-zc=b98jv#B7VPuz_yr5!ZPy{0jKrBs7RVc|6-Bg&FQIA-s zY9SYe>Ru*184>NIz%aEW0AAV4kXog*FjNnr5fnpfVGMD#08(bn0Es|$zY9wOBLO>g znXo&RGRP_7#OWuTr-g+jtdADcoJW)kOGu;1lu3vZ| z<17=r?qrN(^MOhqxN@z>KYedi=jQ78(rOROT}5bE7i}(SmSLu9f;udYRRmwU$hh^) zJX+Ho?C$nyt(#(_y-A}{LEEDO)00&!Ot-WV7)^R3eC29NPi^IN`(muu+8MIANwqqF z?XJ#8hB76jqLicsj!jq4%ayws0Anf1avBx|f>5NF1%MGc+KOnV!6QH zx{C)Meu=*RiC+|stQn4mI(Lj<+Ph#iGBI5x2s8*IzVGdCwGVy$5p(W^3v%rE5w14` z#uy2rm{vFYCKKq~{45WWOuuyh)AWYBZq&1o)akZKz-Wdc-E`v#oH)FMJ8nLu?e;)F_4g0p{zsppZm+8h zLS#Y|N)!dLTB}lUMv6d`4Ch&b_00?g3Ir73#L*?}?G12fVIJ$dJvD4-adrmXVNO?; zx3RU;LBIiSz4@eWw>$Lo^Dk49<_JJaCZvi0If1+~mBbdWA^;p-mF5;VomxVgT5W{^ zC27WkB*%O;hG9Z)n4&RA&}deXrWsb+J?afJ9GRa&tsWr=fyqXTvO*99u69&|5IHRM zy8{Rd;@Dtwx1*IXq|qp$naL(XRZd3ttsy;V=w!quoIz3}`S)X`&HfbA1;xvy)nxn54y-=J<}8*-VW0FX^Ns z-FW3PV$0MYDh?i*peH_i861<|T%9(-nYU}5e}+RSy)rDo(Gp3c(Cv0X+y~AsGSvc$ ziyIcffe4d@fJ1_+Wi!=86ojxHtDW60CT1CSyQ9fY7nS)*HAMkxOi(THmGx{lHU$tc6Z%!DqlZgF?eLw}HZ5(Mg{c?6GNf>TK8&|* z;r;uX3PFv(Z+hXQiok{VdW#$bs1_azC9rjSDoDU;9M%Z(%4vrSIIPwvq# z$jO1i1ZM%HTz1hr@iE{;jZ}U{N94nJ1Vy>LBCEIMWq1EA5eo6(k0>nD7-wMkaf7$D zDM4KIE(~1K5Z)btyvp2nz?Uj{G6Jgvcx!Dc6k?nUf=}=qtM2(z;jw6i>;CueM`S#9>y+;_7Ux=zpL!vwDy+x(*m>)?ImQek>%@;np`NHx zZ$IpjX+J(5TQKnWtUxXKi~=WYggPAAxr~bsURIBP17ZmQJ3A#}LLsgWL*YZD4ZPih ze?}#S=5Z=_`N5 z2p)(9R!Vg+Jh)N{+|_?sZ(ZTp7~{csf%Se_uTCiUCkL^fsBk?CrLXoFyz<%G4o&AV z7^)x-YWhYCfB!d7_mBfem@qp~$Pph76n6lBNtwFEH)su->!Fv59VZlV{-E z!cuShL1le&)%CNwS`pgP9r`#fPz%9cUL{Hw7 zOo+aUFmo9M9-sAdgFLCj&@pIQ0;#?pyWeK@-2i~*4qSJGN&D7Fp8Zt+1q3BA0hCH- zkShjUdiXd@(Qz(*Ehu?VpUbeCvQ?=p?lj&=+z&V;Q(C+6 z_XV-+#xXpuL5BSE)d0#a+=keXonL+9q;ISEPFuQd&;}l^=zy^e26LQhxgMXzhL3pS4!|-U8N-Uxf<}# z$(D7G{A-lKzdra`{ig3t@ZEd6XDj7;CUQ9lWpP*bz_gn?ZtXc%*}w&sJ2ga^t>WfQ z+4)4C)YUS9-3Ff2@&_Z*F<|eqG~D+mWx(fFxYux_r({5dz-Rcm2S|>TQBMvr={TfE zq2u{0tiC4tTIxv#VW+%z`hE16!k=4NmBXxSQc7Ur!LP@&EI(QskeRZ;b$-Awpda!DIn}(5SaQ#H)g6!kEq3)=-U z%K(uQ5qF0LHv57@CdYis(2+@_tHT_vDpR8o;_0i2x!yN8G{ss8L$WFqLZlLalT6W! z2uehIy&Szy@6g$J5a#h+XBET4( zj0@^+@6f4}i!95K{54+L>(flF0#V{_Uf9CsW|ZeJF7HG` zHVPu{3=6d`%YK*03jJ-ih-BFH0g%%qX$r7b6tn6}yp^ZwYhKWfE5E*hJ6W64X zIr2-4D?02mKgdh^$uPh~mIC7aJ|$Oe@?4bMsUMLs#0CgB^atmH07AV|p<$Zp2!{U4 z&;4^8IatS&|L#XHoupXbNf2g)$6g-NT_U!h#RdHM_uYu?y#&AfhfiZ}qKa?2 z6FTaQXywtD5XRSV6QWlw7H9Pm|$umM(3$Z7`$*1gP}!pX%a6yxQyz}&+^=(AqNL!q-vNnRs33!0_$sHL`y>``K8X5#?@*bID9{*GKS)9L zb(v?&nGjkN72WOTWC*B6u0wa20g+*jxIj0zs4DAB6%-i8YPT@PFcu<4En+GVz``O7 z*j5a<9s&a;&8#J6PzHipl|;Z$MaYWTdZ2{`wMVXVxfuXM3$YP{tz{;I+^Q*+f{d~Xbuuge^|3wv`8Ur(S@GFdhBy=jq%1f%Q^g-WpXl7gE?$2o zrb?v-4Vjmgmaud>)#h{)1q8Dva`~Z|DiMK3?L} zT5KstgtVu~bJf8x!;33@RKkFwsG|Su&KiGxSMbQ%K#ngezp&ZYL7vfM6sZxxAQxI{ zMlu_MHv2g;0g6JYo2mv-sz-*Hl#D{dkgyaQ6av~95=Lo;y%b1=d^5Ec8CesMGhoXK z;iMoCt6C^!xuvasLA@-6vuO^{8Kr7CQh|^V9Ht6DJQqh-hhHPVc(sM!t4s6CeJrZ0RU4FBMVb%D z*>EV>M4aU*{`>#@efr%${*-?Ax4)B4A6nr1-f|~?=U4s%zVpLBg-cg2$$|Mf8f8Ma z-*ifEK6RLGIKG4+4E4gL75(DZp2UNXKTG{lhe%l%j7qgZd67s!46Bwin}gYVe?YXz z-MyCp%*{1Xh+?7@W2#=mBTv0dM~^I`)~wjA?LD)-x2H)i+G>P+!|_8{UEjf8H+6&@XRxmLcVzOSxD9te(CCCdwy;VbOoQI(jVXrel97Z5wY;EsSk_y6zQ4|Hz zJXIAU3t+O<(4$K+FR$$&$ueU&wuZ^9t?l5-@)k}Uokgn>QCg{>9rV?NOd%UxTAHLV z2(YrcgXUx%d75e%vR=EsiJ6%eIpjjgion?z01yk!EyW>AKS?F-9g+vnbnpTZKZ3MxAbr`#vsk{;uBBn@l!|X(&aUJ@$tuT@7ZtG z@3`#%{puqtmIRch#A#Q6Ot96nx)1%OJBY}ntyzclEA&BXBKK%#=*~r{+_yhpP*4{|1wFubQG|P>Jg@JJ@ zpwQ1RCM@1?8ZSM65eH{yz#t?^#0||(XS0fdY!-JPp6ou~ex^|-3GTlKR$*7xn_#oDI!h4aVl!7wj z?&#w0xo)2N`#tXqzdS(XaES7L>8k<@!35S}UL~pE{szPfQwFllK^9^i$5mLP%0 z+5BDA;WO?&Tnc5qi!PJ|1!(_HJQkrkti_!HJlMbX}eo^ff{IE+)8Cfg2&9p zYH;g-Y1eh2kid&7z3{BeH)Ve_1$(<@ErqdO5J|3s!~073XXSzB@)B>=VYeQmf|SB> zj4=@^u~%~6$)M~EC@~{HE^cuAn0eexeYc4E=fE!O!Qm@B#)G8<$lw)?7EU-=az`GU z75JcL>ja(F3!$Z)F9a~uby|=ka7>^+tk~huqz>RO{rI_@;B34O(2L~(Pk_8i1nrJ@ z5aaIuE+fIB@X|d(87ttdlvvrjEBFWC?X}#qE=dR{t}NJ*R_rm}a&D?xM`}PkNkFh< z#+V++eP4%VJFBZ;-*#bNEl(cVbpR##mI61|+{A=eb(as*u_&H{bCY3g=|LVWcJII* zpmHdM$8|gtU`quqdEf|c;fZ)~P|AnpRor6Tz?R^D*&?W}2+tSpw=>Wl*wwzEgs{Esb0Mr7D@6odwE2y9Gs3g3>-%vLq(S=zu4iQfqNJ<1~&-=1m)s&0ClO{Xa9PZ05a;&Bwle1DkmQtLs@oJ zxbIxPzIeZWRuAEke-@(SjmHa$QBq>A!1=`iS2)Wy84s%iK4ez0pI>223Ci#L--$mY zu-)I_NX=MPZC?ed8+IV4Dmhl%&kcfge(hpW8cCGXlHhH2Jb>$LqRhCRN4-}*ds4;M z|MD#ERv*JNrWlVQm+MVw{Qbp)n>4n(@*pdh>vwafCLKY;>o6h=nJos^Sb)*buFAJ)Be;SVuJlO5)hhJ-sRW1d{j527sT#%lOcJp4H zwHJG^nn}k2#G+17Pa60&t1#XhA7hIx^2&U;^`&lYxbomF!rU+WHCI5%nV@4F2)y4# z1$tF^(pMdH)E@#$>$7n?q5CYv3|Q-=+rGO?e8&#_K@l=89Vjj3MA?N6`}#NzKoU3a z+<3Czq{%BS6wbX%J&Eo9-u*nrWUo`F1YohAAa~Wn+9G|^Z8yH=!RKClILYm4CAN+` zB6qeIW&)E7y(V^z66(GN3q+_;)c^?SdM~37eDaF@*Kc0JkG=gg{`TA!Mp=gSL4b*R zsK*xBNEj4zQ%xS)Lay!=6o-MdyGqwOmLw!iE$J{9Jb67umP2$c6D5WJue+fxfab)EiGN(%WuX!dIVN!QLp9N*r+Hk7q54 z87g2GG(n(NmDPey)vcU8(xAKFdYqDUh>c5ywgy9d$6JqMvz^iEr5$Lq zDTBr#{^nn8WxeYyiW|r!Q<{|wdY-bOHL5?U9 zY0Ne`TAD`~Ri01MD>W0%?hfgX0W&U94>rm15=AYYiSyHeCNH$1{Ud~&m!IK zYJFjfOhlMC&_ZQl5u_Qk$QW6s$!MUK47X-$sLnQ2c6KOT+dyZnjj3ixS)!^I__jAK zAc#U5tnH!btyAU5f=--1Lc!2#y0$^H-}FXJR#rhlOi?Yw!IMp`)he{QOlq1f3b_xm zBUygvIjywn=D=$vQJW;`u181)1=pr)YIoO2Ds^o(Ej{_0e{PShx6Q)0zuW2!H<_jH zdOt=NU&N93y#r?TGI0JeY&`S=o_%_#H@|m^WOsy2M%a4luR+?zYyR6WDNIZl4Mb;e zUXz>=UF0R?*oY2?BQpuhc->o5(j;RY^2xPLoa@1VthA!ov^~Ks#;XYE7vX z5jyKu)5HWz$DooD)f+%Q0NatG*&<~It~{*y#aEOk1LoEY%uHP=$Y4??iL9V{knjG# z{t^AgmH&wkKf8x%R*cA?5eHfc3{va-_$61&)u5wXs1+LY6G3~Fp)WQa+fK2PsPsl+$cShh z>rZ_?rT-E(>05u`unaG^Davyxtfh3POTknP^M_^-o&gm>tk3<;B|b6Bn$65mHp*nG zX}Ef5NyS3sLbiqZcc0zD_n0Lj zg!;_oHcgr)%{C3vQK%yfzC9}w+P*rv1 z-JNAs0WH*WZr#x!wMxt?!(1@387qK*4S|h_SPl$OjUy0|uC1@rU?f;vn$y4h+@qLi zHSjY({e#+Uh9(`T)EgD7ZnO;)%&bzpe96qrOyb7dZsJitk$!(bSyB)KuwoUSj39-! znho07?P7g>7q{GWO2as$U;CdQ$Ft8~)WyXq{(*n=P8lRQKK9wa*Un%MzxvTXv!oTi z_3TOd!(abJy7iV*=EUu<5s`u)x&J{t@#Ir_|6@B)o7yi89%{W4u!Tg50D2mmo;g7OfWCIdA}oEvqPBi>5W!m3fD%n?K_8ubRMQ3KuX z0JoevgsW>?80G~|A3Gq!eqye!Z6Yv{s`N40szC}%FJ4?05lhxtbXqH743Q{VvR22} zO?S$2z3~xObzyFbu54^UiVUnQL12gtQ@cCDM6-hFsg|arls0#E)r28UH)}9KgyE<_ zlI+1+L7HT!H!3>SsM07YXpm)EWI0Vt)zGX|Vc5VjV`;vHUT=urFhzfuP#lK3Fh4~^ zKyNUV!}Bw=(;K14Ev;;Iv{8$7dMf5DQ|Z!>PMKE zX&g{&0$N*dYc-BMEa)!ux$_=Do)@UpD>!-LC_Vb@1sU`Qytp(+NuDE$s|Zwa?fQle zc6%h)_k(4y!kE&-1S=bxID70A42gd2!58Q|zwHfrePx$kcfd^n&a6H#06PMV?9$tgC92!g!<(C!0C0kl&f04OhDC?veHt=h|h zQ3zBGu$BUQDUc{o5R(;=AN=6A5}5U+^Q$_@goPC=TYKnr29#!nHB4MM|6q00qrzHu zM~e_sT$$3xp1DBNvr|a(0$~t1;wvv83K|WEQWS*dM9o%fp}Bl@LtB*^g@K{m3ba&s z!OP+zY1tNy}&|6Q_$OQ9h)O4fy85}dB6KN{X@t#$WH za-pg0Rl~#vY)dfEDYC6N3@<1bB-A@UIN;eDg2~Bw#v6|-34E?)i8;8g@G%TWa6(@n zQp+%7oKS_K#wqa~Hc)^l0C}L+z&UehAkO{3IdftR^`KN(77mLLe~&XX##smia1NGm zEL0|9r_}b?lzQOb`Sd%&fK1sPPzw0m-Q1M^`ySwTudm|{c~!ua=71$Q?WIBvlQsL; zkd{s<{-Unp@B#n*P~tisZxHp_pIX|;c&7n&!d?sSLg8^l=OkhPwovgGU7!7+Y&`J+ z?^xnUloHEyfA;ttd66W$_b1u^PEJ$^k2mh$y~$^%vI1f}Nujil8F~-#i5Gga6HKeeU;qnC zidTmc1J3Tpco&k=k6#@O<^+=-zc5+~hSlRef}yCv?V~TSJ1N$d?-;Dr`iUWKs!M^a9t|$)q~>XTOG=_ z8-epvhC15}s2Qg^lOIs0{wI(r9P39s1{;|y6akEiV`}_F(2^mur9$3djx~PdU zKwm=BuJHNbIT#RGsE2r|EF>k1@v36z*n%=H-ZO*>XO$!B=RrA7oR53S>N2~|8ih}z zS2tIEW05OR9ylf?&%}E&(9b1XmTz)ipE7P0+CU5gaUflqOSaIDS>cfPo^tCr*L&7mn2oEZw zRJV)Y1YF0H*s|vAuMKB)ylRyFLC3$Ikov9>U%S2kB$Wg#bUb-PUDphh zP=@R{!p9$Ny!D%Vf8Uj$uAYluTI>mJx8B^IpoYgbY#>h}Sb&)!ws0Zo;;W_q{m@|d z8}GXH%-5fL@w2;w?A->Ws-l7OB~^tA2!_aFJRBHY#fQmmj!>FTB*o z&)#NpwZ73C z@4bwh7!F3rQcIHy(=@p>54B2@GgZ9s=y^FXSLe7{ zhbXh4Mw4&6N86wK z0#;sJrkP`l2&)mog(*zmaX@!oTBo3?NVaw%c>zFl*v()qq1LKXw!4k(=dWO@6(H+P z;QWOxs?-Q^0J7bVPQB(Nbzi)SaH0VU49tNU&~6*~?jDDgNToLbAgD|>Fj(Kk_O%VV z`RzAiW3@-!m2EPH5il@X+r;uCFYv+}ZpZAIMICMKf^tG!4=7w{;`SfBkH7feKZ{#- zcg(?WeLLcXDIhzH-Ov0T)*g8V2k$-!G$wHDwmI6qI>6>*Uqnt82Tvcw+=&I~^=s6B z;d#Wi!{OOG5KJ{F*`2f3e&Tbo6FW+6Sivq`w2&xe97bQnC7y z;q9xy(L0GoZO{~84xUmlsSf&}C{~r6SOv7Rf~4Jri6Zda3Eq47^O&mDU{2f%O%rfq zPE``pun(=b2)pYjEGh4yl}8X#RRZo(d!GsI?#xqc`g(Z zX~e`(gK9(wD8QatR0-HrMVbo?6K6!@W>Ge30?R1Wf(a&6AP4aGm-cYDM)aMxP2*!v zZy{6G)LKkeLemZn{@WL}@s`)dJaO}qrsvkp-sLWA5J)R4xV_dTiXzk(XL%Gds?C7v z&6c84hu!UA`;}edC;-DC3`k#l%OW-BrgaoF=nuZWW==2GP_-!~RuDyoB7nMLaH%)K zA3wIL-*(F^%{Cf%>~bG-4Io98uJlqJ7P$^m;>702B}W+7v>qw_%P;SsQZw}aQ+4^+ zGwWa`3K)Q8RE#_KUEEEO0hp*5$`ZgTqZt6k5DGv=iP%_WFl9v8O$r+2Krd$zFck`^ z27(YK$e}1iH51iB2)S6OyDw4(CsiY2vLFc{3_~hLiClLqkqNQ4yN*#Y#H}};r9b)G zuY*&CLxw|I!uyrT_3xsM%`b_dfP% zfE57)&%AgJANh^n!yo_NFC)u|Kl}q9#I=IaSBse*Pg^oSibapE-^ri*xwu zLyx*MpIYRai(z9(MXfl#x>=hfW`j|hnIiAYr$6^4{`BX*f*_1oVF?0QTlhO$>AB$K zphOf102Lu(Mqo%?Sr#QC=a>NnTT+e!g%+sARWutlbbEVPoSsFa7U02Wui&+}oJNvm zwA1b*FoB4*q#!zT^dP?e)Qh^;8?s?zEfvPN^hdE43@>CE=Z(QnC;)M#O0_tKiXb#G zDiNqsi?P@3Llv53Aziz^McrhC*;b3lD25}#_WBOijN;JTG%B?kI1n_VDs_7ay8R() zaYVIxBoh;}-05_YWf_u0V1g9YdKH_SZFG7A967v5#u&YLd7UcN2(!m0$qWWoiMT%+ zT0<1fO--ZQ?Q@|4G$1_k^h>ySZ3C078jc>AL95Zi?9>!8DKPByb(m*lrEo`Kqhu|S zl7(?96xkc3)ZObK%QL!g={ikMP2-h|*CAk0RaOHWT$-nu(|4mfb%g=|1q78!orcLs zhz+Y)`SPRB^84OwVQV72S+Mg;)Fghs3|s=C<+RlLaCF!Aa@i$cJC3uGcX!=P{Z z(SL@)&IVmt+oUiw2uvj1!HBXVRZ%r*GAh-=cC?WNReuq2Wmp+Y2E3kFj1(JQ%zcLcc@m6@P*Gm zsNeAJchYoy0-K#3cg2E|I8~r)byk73Trp!wNMHGZ)xg8ZVE!- zI?>gGnt{J#lW}_Nz>8JI0l5f#*Ejk5CiZh6)hpE9J>FwpY&{m_?tad8#|bHk9Nr-g zH1Q_K&T0sx<9nV*aGk)*xYsuTNG&w*R^lEL*auEs{-BVA>wR|V9XdqFRhFj?jC8yf+%$NP_NJy zOEAW{EI553x%<4e4kT9R(7--F6ds3F^_arg5~u`LoTH16IYnt{?Qok?VebKbC{R9A z^$r;x>QHzsocjAb05RgbM;xvoL?F9QRsag+0A#)ByUaQD#DM$k4kPibio>JeEtcSI zg4E+fEbfe4=JP?o#%CUaLC8@uQS7_)OWR{9!F2I>2??ynr5p~2u}G6jQp*d5$y;WD z;peNzPfDD&6hnHq3uiA>S^~M}jd3Fjm1<@{EQCU+SnpWja0%z!!5;GSHc6^ZyyFDy z45&*7F0(g@ysd@s*aONxbN2x}Fy$7jzUrwuaEEB@zO?_kPJvfm`iqON{QtM7CnxLywPDxjw%P5`KN;{mVq zWky(ztA{ho_9XR$76AY`A`9YuzIe z{_vLysPRm_C!c6Mq`nA?Z{hN40Ke`XY3dnjvVid(eo(jDm02US-&G(blg^%X_cI2j zRI_^ko!ntWz3QIeU&qgVQLol7a|Z|@cOUYtUv48Ikuljf?yM0X`tI*|>WR=X15Sn8 z5iM;b8K$%zX>d$ zg<7>jVDcP`i^y^rvj9{ai4OKvzz1Eq|9^U`hky4E*Rk4Ty7Scw^`?UhdVHp(^}uK~Fd8x$g(ArXL&=d@ck!qi z#(b-Wi73#JoMNf4L|cOto1I(@kuEhNnv9rcs{wKVy+kmwN>W%AKm%4HBIlyznI8sV zxYU;bhLvgoD{)BGN~DJ-nsjz)O5c9t65fCNAu=Ywm8~H*hF1Hj*eHrHS&4CYrcSRp zG{wdinie_!?;rUtOw==Z`oH`lM-?EdhS=O0fuYE^w$U1Oaq@;m{WrhzVg0UmpU{WS zZON53=z+&q@bV)sxHy@<8yz^!{d(V>d z2JUtxw@Qycw2ry?CLKOHL#?Glgm?m1uJy4#3b1(d8RS&K)X5WE#8vEVbz=jsL(QH7?C9n$9UW1xvCsU2Se zNkW5Hu43Zo5+=_ap!%UXMO-ssp6Kb@mmmaGL#qV`*xFOs-5J1I!t7jAkmgu^_A-TY zb29zLd(k|3h>;|A@BAys*EePv^|zuH6VjD6jIOUyWwMU$i!b8yKmJjTPra6I|IoW7h(ip|y@Kt>Uqsfo zkZYH5^sdvGI(q{1cO1uE_Z`4wQ*i9oIcS<=`BRUedB=^&x2|C8@4f&N*FeJ*{R=N4 zXkRyz_s*m8E$@SNw?WwmDkJDzi0*?=V*8;j*o__-Lqya;Ff)hf*d0U@OOW0cMT>_} zJ^3bV{IB2B>p%Z9BwH6qE6<~6nv@#7F*P){x z6r?UBzhi6%85s__?7%SL0jk>I1}I(YPY54X$*6f!6XLZVzS zH)-(V0Ql&iZGk1DtWOe5G_+EWcm)diOg|qt~|5TWymTmV@~jRO=yP zznl2o95J*0GoRWs?`{i)tDxm4a5OtuBtdxi?A}v>Cd0p!b(rE zT~u&kmvMbJ!)hm^ejdP5pvFXcc5zzI&eiCF3mu%>9_cq8tzms+c`LCTF{x44NWz8@ z0Me?2x>Sz{7LH&Qm7T<*R{(Kn)T&^R38z-b+5(+{*ethLY#LG`DMXZ%oesmQ6yij? zh4n@!P#qPj1;lq|i5L)vp;2~55o)cX$TKy>YRE{^8`9p+4ys|({^}q8E!M8B;O0AT z&hCHkX{k19TCY?CfN|p3AqWb*@Zx12^hTn}5UZ%fF`~H2fr;e6;vB*_#Lc(fDsO(n zU3B^Cb@|*EpP=9V{m=45v!P3KP5b)0Z^goN3okr>UVr>YzFoiL?QaGN$mTgQ0zB~4 z)A+9M|JU-7pZj_I@mov2lC=gqh1$wPGTH3tmXC1 zHr;jeDdB+a%NMVcA=0$4M9Rq3lMe2XYD?z=c&G334%lqgFx9AIqFx08MyEHz%K8?K zl8gpv#@*q7l01_}6hla`*BL<7LZFC(7*VZ)fJLV#n}{kQuCDGV0ccKCvA(s(D=XVN z=x1sIgG>sXduav3!3d2;MW-j5D6#_Wy)GKHm}X~N^!HzTQlB_?+04(js9vd>c5fin zN}z`i%%fJ1b$xXU*H*T1aBh+gFU?VrS?qPY==S>Pw7U=`bb2Fqj2BChiT(Z6fIP}- zHOEA2k_v0l>7}U029u3C>a{Av0`<6pt#%LHofTAPj^q8`cn<&|O;a$G42%NcKmXL{ z(N7b-_s*N-!DlX0dv8d!dNW80gIB)#_jJR1{|{-#WU4I1`GHWEn{;$C)XQDqlh+tA zLE~JJ6>tET0Gn6$cZ7%L>Oj?Dlq{@35tLNC;)3M66<`g zO~hQ-%$cz=gUKa=y6iSKgCvp7?Y2x!){v$a^;)D!USL!xft1xcV;@@-Sh==ES(3mO zIc~o7G`{rJuhGPTgLvm#?{#-F%S0}?N+3oR)&izb2-Y_?-$VZDPw@9!@}e=aV->Oy zch45aO$$$th+yp!yHgzBwFGZ0Fyd#C!CWQtGDs--s{ey+`vVj ziFeO%K)l1I6#qXlqeq*?3m?^Z@WNvb4k%?GILr<+0mk+cz#X9#h)KwG`wqOe#J8r5so&yq^}_{4c+!vjQsTF2+Pvp(Sic1dwrWJO&+0_6*}M z>mwtNKMj zb1NKW(zSa8#*rqa%>_H)M*TN&!J9x(2Jx0EW|W11eOHCT z!WG+c(lYz!>%pioB1_)71HNm(1FEu-(%*)dK%!*>r3ZuQ zRY=dTT11EcFduxx2}-Oc)|J*QOhWUUQqsy`0y52X5Bi1 z-z)`VU{HN=75|2XxNaIP=Z*kSGY0q+Wvf-0X+Y!8N1hn4WiZIAIzz^i13&i+Ii}Qo zKDWNv2+G7&B64+;42Xk$LWJBVQj!6}ygy|<@U11V4!@_fUuWubE%H7qEXp^a@nR{tF=h5k(N7{FfPDv)I)civ+Ya^Tl4Mc%15jzT#J=FN zWA)in++YvbySB9PhNH62dY1$w00=|8HCY*e<4IySN8I6WT&MQ80?$S(yYHkW=DP}#Xr0`ye z?n>x7rPv>Ie5D;b=V{>U2*%7e!6`l5xsCSgs7qJ!>(JL`1Y@GubyVrN=9lkA1Rvt; z+9w^y%V1`>uB`pvv*Zq*0K4{Ax7oP1JbyS*U?1owH~tKT6@RFLBNUn3-opMs=`81* zO_h!dxvz~vUzsm*@8i0U7d8Cq*Ja~M_js< zr|M0|2zX_0h+p{XH9WN3!P{a;Xju zKu2ckxM8V=(^G*)2D+D6Y1IO)nh3x389yP{P=(VzisDBe?X(%o>pe3Z8$lPxLL(udk2G!EmX1|`p>D^m#L3I^@2E}dP}iMdH^uI%cbjnE64IQ6=-SiJQH%$_)g#&lB} zb4}zFNuH9;hAFdH7{drBC#Wct(w(;Ia46a8RmiXnGrfQ)uA+JOJv#sPw}M#^wIU2I zUXq=s&LciLhyHpORs@6PEo?t?Rj2PdWhd`BrQ7G1(Z9A$hZkbR^_X9LX-}FF^u#So zsy4@kCzdhVY17V2m$bdIqq()1JaUNYZ+V-}yz4$2&(9$n3=uBQqPjSxm1fp zm$zi~(vEJWMw?YeePR-oMg>tTlELbZ_BYxXb_aHFeGQ}4Z7kh!jHsSt;kG%nP8>$< z&=CtO$a`(fz4=S^>}+H9Cw~^nrB^U|<_VF_s}df&5!E014Vih*yLItU4NE`rL&)1}=wE&bqw5zm zUAX|RHpJMWa&r=L)9VmUFVN=s4zfoc1l6m`6EgsSK!3kNJL^ED32sfpZm&YtuMo+I zXz?I${5BXvszsqR96`=K3QD@5y^F9feFaJoEmDvb-1L!Oq@_E~Qu6R8RCPo})Pg1{ z8D^1D4?5TbPfP>F0K@{GnueKdDfQY)*Dhi7#KXu3IVSErp}}HPgEI#)ao-zM+iO6@ zKm$^3G%;G=Lefv|?n|p!`K`aQyFdM7D9(JNe&x&m9C^-23ej#Z$Z}x|LZO7j=E#*L zF9fhwlcKU|Q6)xUmeLuV%^1PoZ~ zqz^R{&~!B*LrOhskz|Tp7ZQwSV6=czD`piH?qp))fQwW_n1F>Sf*~Sy_hzyolwiaG z9B})u2#H|?2w=hZ`LDGl;eg(CBtnx!3s#+B#nFiXKX)$EtB+)8F6A_F;~bH)L{Vgq zz3#BKZdjzaDwfD1nr?A0F@>Zv(j*b7-+Wrl+#-diZ`Ang8I3~GC@2t)hIHSJ4Wz?V zi&Qb&j4@pgg{VpqG3KfUGoit5mg7&KT)`J#+QH{9_Vj`4iL7^1*%{=tyqD3XJxdQR z59n7OSix7X59FSS0QJb|m(TBLJFy7aP-F-Ns}=$q2ZmG}L0bt4&4^J6z>AFl6BUMv zQY|u2uyj*JJGBr7*DDT>s2Rdk#Za>nXe|suhS>@NOCm}tg%xC$2uiHp&Kd-!fHe#P zsaLBU1OYfOAQ#d`6h;iFT)KQ!=B64{h}c`-`oqMPRxq@x*H?Gw)R`l?v9qVEtE+hB z(p5TkcnQ^7g$AP$R7ASTP&Ln?P#TU>w7WyCHtNPg^nd)x-|DaZ!C&gPe#1RDb!=V_ zEXOEgMS8l^eJ7C3cm9$^?s;cZd2I$d16 zwxvNFNE`(cM>RTqbRMgldpa785JwSh@Ad6ozh4ZKjFwk-apb_9)*2P$S&mAzg1ivj z>koCS-Sc*uN)wF+>WvyIQ8dOB6a_%cD!|%K8-so(ClAk|)~e~@BeR&9Y9T{`)U$`f*mNzARPUgxH!5yuVebw|3gxr6Rt2(ZyK zO-WTCAhFJ4y-e!U_q_jGY~JtS%MYK!?rxVX6o$$6M>*|v29l%&0%py@bZ}-$$dZI% z#WE|ZQ6xp-vL0Qxv7%C~g4ier4%11}LZ!&DHyF8_w0a6ooQSnjiP0UTCP_00DLQ+7 zunFk;>L&8cN)$y%bE^uWLJD-deN^jJOw=lR%MC}dy0#13+tTm(_IKD)4@g14OsotQ zRaGA|iuJ9n4>N*s79Ys?kW_aAwNl#C0&D@|zyXk6>E~=!9pKIW4y7sxh+id0@?u6_Nsk$*`@BTUt$7|G+=hO{e8gK;T)kCU^+<437tjD!Bemr5E(B3 zcCYC$H1(L1I2C5QLY`1>%!srku$ z22n54wG6c$2lU{V%fKxCAmByfT4vIXMS`W6++*kaB3xB~7y&#k%dS?OGmEuOp{T;J2PYd9-F{cUSa*Ok-c>#Omf=e$!7u5!(!29R3 z!vMW9-+>6uDFrCJRlAlbxwCm@hwlQ`=RuJBr{BIDjKyv&OABZzVOa0P;RV?Y9e*xo zXPL8x+dt@i zrLxCd{hPu#wXjGTpJ<$F7Jh-M^HX;|#-$qGx6F|9^dj{h_ts6gu~K<#7vpUrgxmx5 z9${1_+V96`;nK^#-mX_pKlDp`tuD`#T7N$2l3&O%NgWMQ%Il+ z@2#bdxhn%=og%hO==R=aDz43nJ;183N}_hN$*aUm(!trs7{3Ii^fB{91$i|)m*6qP zO+LXm{8In~;#fFOHI56io1dN#Di?yy zyhNSL`KJDJr~m~#%e!Ch$QSyO2Ps?7Al5$zby^qy{6sxyttBAt0+Y2==^E#^@2+^R zz&m>-!kh7YbSm$Cu-%qGD3AAPuQI3chROAK&_)0O002ou zK~#9v??Iqa=3W405RFSh_hZT>LFJ1W;FZ?<8&r8fFFgfI|FN>bqwGfT??Y08+Px^@>aLy26;APfD#kzaaleTtDV54pc@G+kS2K83wqsr0z!@%QBizcQSCJ~> znQ{Y&^K|r^rXv=KO6J%ALtg(A{$?`Y)OEX>w^3*`3<(TVe`D3V~nl3+DDF5a0|}8hx!Z!t8UYR2rL1C zmK&^VdGu5Qg#GLj@!cr?`S=bf&_3bG0*E2sVFbS~l>yP7j45Xj>v+8V$!WY!$96_w z7q;x@1$&Pu>w|}VUzp#&#zPkZB-ZR`q!mU^K zdx<+ZJL4?BMLBOp-<@E6H-q~wBu168%<93}$*%q>Ru~fzs5`O8>YDZPz#4=8(OQy=JKwh)9+|20L39Rj3b;~ zh~?7i4sQ*V-g(Q6zUR()`7Mhn$UEKC43U_>F2ilUcVDJ-N)KsUFXT6g4RG6+~?R9IG!#G#>P6d(v#549q> z>tKs>5WTV!$x^GLrxseYGfZ*g(hNEm+Pcvh(c)B%Uvp%F>a3E9fYfla#+qBkO2_bL zpI+u6Ab+3GbdwyN~j*Dlf< z-*Y!!{N(3xX*oe_X@;)t8a#FXWsO=j^Bu1}qD!*@p|fSref4FYJyhq{zV9}4*81AL zz7xzIB|SbX`sA0+p+3{lA}cs61V?W;fJ0)a+ex+BifQ-CYB9Ai8RS`pCqDInSv-5l zPMn-DHfmS{i(z*MCJJO`agM23)zR`YqWJ}~{edI}b6jg^P>ZCH#1uv_x_T8s%$!}@ z)!{%e^`@J!{M30ptOp>2ArA&Qg1I@~dGrd|+9Y0j=o)UhYXOptv}%a%`R?0DQP9d} zj+@_j6rarMb-v~i_vZaXy% z=8$_?pf|qmIAus>@A5UaNs7kOEORA9bl!W`*1^k9ag_Ec zh-#qOoQi8NBftJ4D$~Vo!9^cr=Ae~nXstr%wvjKdk?w54ZtTGvpGW1LZ_>e2FHk_h#P@vw zdc*A;9)1awXRudaL9)Jvy$4>P>3h!b#2p8bCPOnhSJmwA|A;Dg9M=z=i18XA_i2)VecX<{wX0=hHGsWU2IMJYfads=V^gLj>ora%4j?>DtO?@+QMG8Pfg76;0hNEn7J44}Cd^pOWT^sC=EEw4Yw{I!(?P|`z_tXKOvzyG%`>Ysdj z6*qn3q%_agxw;#vNRHuVuBK8AIv01KT!E>E8dM{aVM223AbJ-!wRq$)TE5uDcE6A_ zrw?dWr2IYaI1Q7I=*i1{*-4l}W{N8eO93*YSZp$Mz~~nRUhXFvC@3@*SGugtC?!?G z(B?YK2qUZ13=L-?+ecSZS|8;ItY{t@3Jjwb8-!L(L8M|tNt{a8umM}aWYtho2(|_V zO*(N76@^7=8O$INLchqVSq-Qaxm=czfLsj3iVQ3`&0T9Ffs~ku5P$+Q)i4$l8nOyg zt5s}~D|bgDkQU`x*~XQKvoxh3WLu46-Q8)+V-G#gKlFqD2YvAiU&CI1Byk)Dm#!|W zG;t@^aCIGMt$nV^H|^ALLA37w}r7qp+Ea8zk}`eE`IDs zKS=-Ucm9lab*Net+^APEJw1VLf5fXByV%}t>uookM6cJU=U={t&Y%l2A!TW9MXj?q zk;1`VF0=?1mLNoi4U|GsvKDX#*5u?HuuT3~T_(s114am{90trpsDu$f2$L*BmSs3` z>;M>q&7Cd|EzRKK)m2H69(2K^M> zy`l66DW5re0?$AD0tE(g^E!b>XilH}o3G(LZ@Zn}d*8kI%KeYx zmfOx~eR>KT*OwK;9)9o_e_em=cRov3(?UM+N^agfA^54+h3I}MH&5xjk~DW$T_zW_j1WMMN;O7v{*Zb6?>>P%FA!H^qOz^ z=qM{dl%U#(sXZ7W3=LJQu@nFo4qNkAhY-~`BsPRN3?NVphC)Sdk!E)PE}|9|EH#c$ zk7FGUM^p4(oS!H8*e_YGt)El^dnEvEw`LD zhZg5_d2O4l6|gEsfI3D1x&O2%ME~ zz+TiPUTCfAEr8VD``jgyy~nEoJCT%UUL5r0z)WTyV=z8%3&h^1-2>T9psOgI6)Y*B z*5B(1rR}eHix~G*{9UocI9y9T97-cjJ&jV71~`jwCkiVC?(8vyS4qzHu>+5>lmb`S zQq=4Iz3?bzi8l7~7lg zcQH6D$_WxZc&yGo*thdLyhY0Us>1@sW1Lp~-QEjtOZ?H6V5l$C4_K>=OO~X5R`mzap0hogpKv#8{(}mJjP#!ufQvQ zMa3<8|NYBWC@X`|u@XRi(hj0B~G1Mvi{ZNQ6q6l2a0{PF%S{4cQQ%6f!&lg=+ zSk)5(1owj8>BRl->hcNprS{@fy1p1Y^|9B6m!P0uZMGzT%N8j&ARcse#jEguFG0o@ zC2mur680WH8~6O3+K7E;gC+9TBW|-{7aHW}CdTbh@EZ=wt%DsARwlc2g`Jt3 zXOPK(zhkfe5_laKb%27h$d>s8J`+RT;w}lR()ZoD6M5aR2QG=+zmHq3T)FhXvJ1m5 z$HRyRx5aIqF6Y60o^p6q3D&O@=MAVZYTeKJTH`ieH=nuue6HI0P+B)nN-s3>Clh5~ zSJV}LCFAFm`VFQWZJvc5gBsr%p8`#Fx) z{NxD~w-MP_O$Yb$Zl`tQD%KN^~b-+!Uw@gHYOC_u0<*ssSW zsO&Z{N01o!4PX7CLSDV``}*$3*#cnSMc^_U+;=I-4fhOO9d#{u)^E~oZ9vKATIl%u zl)*j%=pK8An#+75BzKhOp>;C%_lnHqun3`z3`1adwI7)`r6(EQj5+x>uurqP<%(jB0D0@HL z%y7<*-fm6Tx&!@*Pd`up@-NTx>`Y7F^XB6?b6^5BSPCSi_RwOG7if<%ah7u-)_cH} zc1|G~9p$R?O+&XVMiMd976qCSxDt@&7L?|qqrz%#Rc~3W+Y|FObaGaCFaR6q<~mYPu1zp#ipr5 zf#wD2k=Z6HmDoJLHsIBrR5!Y*9-6MwEeBfC3Q3;0yesE75`B5C&kw%1srSFIMZN9_ z)k+|re&VXU;|=%nYrf@el)U(L%tUS3DGV*|kS<@_qm|7O0wzkcj5`9fjxXxm;YHed zd5xa>ho^OZGQ;h6A4a7@^5lg!Hc~>ZQK6GF5pJmGI5iO?i|@ zAqAOLu2eW5rW#fZS|^sYHc`ds+8R)dxX>zW0q#Hfv?iCXDN(GA#luuYA+pf`RH>kQ zWfgW*ARDGQaMw}HonAn9r46w;FP=DrYk&S_OmfD|33k5tS>1l(B1Ts(p>p^z8u#3y zJlav&-I3zzWdIga_ui$omp+H;;4-4uz5}BdUV*7bklHM2wH(cA;5sPJ-UW(cm?!>L zO_uYao90kGaZsr;iDG*Td3zmN3?OMv=GbYjoqP>+&_l6u6{D~J1LX4ah|k^w96SLD zBZ6iyQGmGK6bd5n!X(1UdE^(K(C#OH16g7r2X0YG`Y5(H!Ie5l3S?I=B02XAitTl1 zI)v?ZfskP8RnSa~%bz)ijovAhiX{Ilpj_B^sH*U`A^G@_Xr zg$Jhf&r_A?-?Lja#abRd*i*AKC^sPS9P_U?(w6ML0-rsgM_qLftD3k%X$aPvKDp)d@I;x zSy=ohtyr7@0b*s4MP_8i`gYZ3gh&t2No0l=_wrkK~DuU!)`;DjV}QX}(K>aU8pjXARAShT9jP~JRGDjFW;WJN&FC{vT;?0QecbWtBlwAL zTavX_&T2u`NNG~4HWJ2MHNs4lalDh@rglTxQ3NJvLWN{SfvepKHii?OWF<K`yWajhRK1I4y}v7zP`ih;mV?6E8A}0a4iFXKD>B%`~`KNu(K7l#HQf zvq|-8qGhQHH2|qG93wI@9)I$T%yv2vk@9!`_j1Mi&=xrwt>j(eU`?OQ5BI3xjYYnL;Rmw}E&)@Tq{?*4m ziy!~7@04SQm&mZea4?i+tBzV?=-8nJ+yj|=i-#4zMwd=*k+!?E%dP-2iO2WxDjL=;6Dn+UOqjR8}=R!2faX`WeID2^Oi zK_!ZHzuSlL0Nv$lTQtct)T)UotwlP?@Wiv1bZf7VqpPbJkH?f1sVED#5J?d()>{lk@nv{s3bWd*WHNkvhj)u`g; zo0gTqG#(6*=N9KLU)Rl@9`3&NDCXKVy}G?kc~M|~rm5{_4UsW=bZu6@gY1& zTMaTynx?r-Mj2|=n0EF?RINAAXjM^3Vk~z$Xx9=lCemglfmlH$icqUE_V-8F-y5LF zN)&~~u%DqUg^D7_U^Kz;!^qBL7o>VvK-g0Y-7LM6U5B> zdws+P==J;P-*}Eq+~SwteI#5;TynU;R<&;2U)&Yh8;`+t59M^BtYVJ*s{M1MHuqAaM9 z7z`&Vtdlgckkf`o{&4=@?|vsWniYKZ3-@ASaSk^fS;nwG!DLc$VO>HQ$4rSKYBp=w z+wIH7W|zvc)D!C~97l{iFC2 zt$TcO^_4>a0qv2VsI0iU_P#SnGec`unHCyX<;YSG)<3I@Hl1c=J2)mD9AA zPUSvDY1Bhx65xA;{8GR_kFrmNWEfUh4Ow-73lw&LNB!L&DlRkCipMAgS~}#*xIsf< z1x6emV&VPt74G){P$?ZQWj*ey1ZVZ6fX6CWy{#`PO1S%?6TCg|?@nvD#|IJaoiY_8 z!{cUd)IAX;?(dQ(f5ZzUgV5KTaeLy#yD!KTMLW2+QxH|UadLt+3-9Ib{x$*DN$wF` z0Mt(s^6$>76A-h!uWAL_-K z66T!89o&fx!4e;E*(7f6`%VL+P(#yaQS0WA_^yyJDrCHSiN};!JPGFUgg_2qib;`& zGy^8+#!MC7LSH>8=jPV|C?yVuB}IhL#z2lGF;K^{X=qPygX3I*4%jml4b%mQjI$gN zMgp%^X0N`63tkll$S3{=ur7o~GGSUwT;PHPoX53#=yZMnK|xDC(9;hphlQ%{_Xltc z9<;OSKF{|Gc*e>NQuu4|?LrQ#DWU2o>a>lBJjh4x`}zsy*Rcb@C8S$hC_6_i2>`V? zg{-iDq23OI75?wKv4#hD0S0>l1cB^Oc(mNJK>%EPrh7i}FP08C7I$c4Ky2{*QqO7y zWi9yv>kFOwRvQ1E0YLFx6K;qiPJd?=eLyQR^ zZz{%Ope~No5z2x3_W(0{w#P@WVw!dzHe>d{vj0xgbQp1=#vH)qu-<)m35Rv%yHi3i zP3Qt}igEY3&yVMT`g*6Hb78l>Lz@ZtXY>sZ2v$xMLR|b3fuDOWe$a#G>JLT?C>gNG zw4;Lp$m?34;0uQX-dzKXqhttvq4@PizS|-I$3d*%YdrfpSrWmB^?Qf98lyT5I#Pu0 z8S=I?1`0vs=aC3OjSoW)q=W?Jf=)@mK)Qfj9TvdN6LqUyw&chD@ELsIyYA$A-O$yGL))svxMQ_u9=tF@$5^x86z!!s@^L|PhSZ2sqgkgL z6N~MQk`N^%0IrP%`JkY7#OTx_CPQ+3Au)UXT(0kzsH$+SUX??0b$#>ZwDl4iJd z9#)VT6d77orX!6ASG!hc>M_|dqgD~zb*!y}476VwefZ*#56?z1gVBgeS)H$9VWxs- zukB%{JK^|YN zwG%>O4DF09Z%qn_64xC?Mro-eM7&gwu`{uVW5%0rnx*yGI#LDpM>)mBw9%bVDT2LG ziT_SiIsN-g5E^+_+k@9Uf@%YZJE7Eh9k2T{U<;EawJcGj5a_2 z1--IOc=5}R!i>jsbw5Xe7+77Wq-DT)q5Dr?qVwGm274pSRzdssK8?NemvFRWxUL0W ze^VcPR|mUWeJq_y=)MP-Uj3<>f2*hyU)~=JJEj zpy+Mu$)ks{fAt!%AuOIagvr(}jvk*SQ;xxQA2;2(1WQoUSfuA3dYbxsV?B1qI_xCF z{`GxycL&7j0LNc)2W*}}VgcXwO4>iWf%$X`=F)TA&SR8wZBS6#&&1W~YclH|EYx7j} zN2-&d9DdiEIosF}WEtD;KzVkN@<$&*I>@m2+Ly~)e|X5J&uw61e*&|;gJ`*FsYM+dHHA)&}acZ8TSxQSA4%+_*%^>I|Z0 z1gg|A>W=W(A3ctlD8~BhUJf)G;H5f}6SvdOHy=i=n(-Y!_2bZ5RkKk>(WKOJ>p2>q zew;W?kY3*btkBYrE<*QCtGW0%HDCKGVC81;`+bm{ppC;~&ppaisoBAEkD2X9 zpVRrby+i59D%mm>s#KIwnqqTHquDv4_9CK_F9C0z14*t)cZ)R3AzK%~Gl!5IJ5EX! znA`3`6Kv@48cb^eoL4ojM^vQ~3{abeCO4py9%M9DT0TM4y^iSimq4#v0IVW< z@oT{|bKs}VzUb_xGdzNI9LwEN;hi}q~O{w?!$FOvgVJ8`ePwkT_ z06~n#v02>stuJHkUpDA({`Cv-hX48qZA=QxCqTwZS*hqm5yl$92yl0c>1SRyhj0DX zbu7OBC#Yzz2p;(~=~q4@qjP7dacY&CgHp0j{3)$`=TG3Df5(&ZYoC0aXPQl2twt0v zV2*rO2?d3eJsk{M^@e@xeDOlFbLv*EVv@*MwiOTEm(B0{`gaLwx!LbCBwc?(K}Z zWeb?OMA|F!sNcNKd1^J=9D<61&}p!(M3_*l^RK^~^xnsKD7%2LKK!R&q3e4Ezvkp3 z9@`koGdEI9Ec1kbdSub4I7L||7R!wYdl^wLvs{+$d{|mSR)PwDB8iDGTQyuUER_g4 z--u|TQiU;AM}_b(2bzXxxgKd08{HUyOzxC~<6OBAXknQu5hEdkv4AE;2@t7BNfoVt zC68{Tg$`4z#t^h1&b5F;hRK#tqXZ=(BvAw=!e)02RWVUylx@j5r-+Hrswa@bA}tj~ zmQ$rxlOh{NTe~}!D57zi(x<=hh`#1qzXg|{yGTj3%@?ko!Q5;c%Zu}}wX=)u-L7!pT&z|SqD?Jz!;juH%@xT1V^AMwSY;6U9^_joK zowpq0yH2j6zchn-tv!shF$^0dhP2;LX}3SXLZ?G3twp)9z02ctEFe(LR4L606lLLVBT9@Y z0*k;38Fxx{cV+c=&{0vKKOWJMwOjDyvsXz3==MgaH!3K~0xE`<7Fvi+MEmyug`DJ-`4`cP3=DF`sA zR$@7OVS^`WE(^0A+}P|XnZ8vEQ)p?eC2k}!$|6If(LjGRL913pyH&$zJVIU=EX-Ev z+KnAVag0NYvtZtb)eHteVU_aIAwmzGeiqgEZ4zn0d!wPwwVPB(slDAUG__b-oW`r{!8{bJ^dFVF^0Fgk*sc1#I{XReO)MdQn&UNZ6-6Ws<{KNdNH@%3K z*N@{%UwM%4_}0hyJ^%cD_|=d6A?;fWl)&F!RC>)iqpwPvW2K=0V*`9~hxAyt;5+(- zuFinQ1*jyJPMx5IN-SzFY%BVCK|;w^4!GJca2^y6KA}ygHYS$aMv9XJ8F@%ak77A+- zM=?Z2R~F|e&2#N_yLxD84tu>3C?=kyCB-I&X;;9ehHP(_h=B+RHm>f{yWaICz4yMS z=;`y@Xg6l?(35BIedB?y9X><=tB5e8BvHf8(Vt^ydIvuJ?D>Ci_ls`+g|Yx_SvVO{ z;qS&y|LCvv46!~i*WE|~1xgT%mXLzHcGn4;j2Ce_!KJ&a3Y_?s$#oL2y8=4iK^%Ci z-lEr#1KmXe!ExKyn?%Ty1-xs+hFtJVFd(RWN%>uCzd5PaNQbSq$XZerv%ax zmqw*&Hvl|z$VwhJji6FOj84VC;#~mP<9-f@b6A@DLk((OkMTJG zTLZ4bmE33LB8at-R#h2?05rGe9s-@$T~hJgNjMset2n&X zyGp3XJ;Zk;xbA&I={boYsC9Fhr$mRtPZ<#Fl=1-^69Z-I$IoLD;cZ2ZRA2!j65ko& z94oX8qFQ&)XK(ie5L7Kl2$n+!iJ$8p&nA$^M+HVXNPVZKJt8`FECCUetvgF1bn94; zv-{tsC6pteba}kd6uct$uoi(ibAT^`o3;mn)q`BZQ$abV)d1oZpboqU0hZ!B1=(Bs zP+$^Cz}B~Tz=N$`MI2`KG+dA1L2k!%s1;WTJXmT$FjMa-@q^3INI=#VlmIX~e|>fq z7M|fHuP%0k2Llwj-{V#H4&!x7VLkW(|M!8Z6$-ny9)*k6v2f&p^N|+c0!8k?5+p(0@WoyN3aewhx?uZa5C(RsaFDf0f<*1`(@=9 zS_ybNCOof@`AOzkNM?5-@KYJ2;;oEAdzbo_EQKKhhzna%<|&YU&>x^MWFd%LfzyNb zD)ynE0J&}o$kkbLBYMr850*Gt`XZ@T{z2E2%+HlB&+L*41kaZB6$t3I)Q?T@aTmx^8bX-;W<~IujZRyIoTr#8p3c(CP6J#H7*kKqm=N0HnMeSz z-usOd(8$kG_5Yvz`<1X`V%mxa2d%GpE9m>5Z^uG*?;xKrJp`-{=3a9l%e2J@6_`y zTfvGaBz%*KtCIk+MJeRL3PK^K|LBv9rDd%DB4f_I#brCG~a5D!gTzo5L!e zs13hI0$JeSuev(yY9;v&1WW^*LZDITOn?u5ROkKdE1>mV0iJO5EwI63F{o9X2bY2s za%iUW5fL%ZT-*FrC`440naO2>goCXRV5~SFIM)bd3=9L25>=TnF2z1@{u;>MjEh?% zBOp|&6>difYG#Zah-U<|sDU*%@PNC!=5^8tciha?hh#)O<>p{j!9pA>%2B%=EJMAN+qa- z)t~;0v!n{H#jFz%L<&k>d!rHwj{$5?aulMr5;2ico|NuDoT$b1!33=&(f8i9hNamG z&hDhNGbl0Nh)8S>wIx>D6`WY8>0n}Im=|W0T3Abn$nspJf=)96+MwrlM<~EpTbaRA zPhQoxzu*WRU!KFWpZg1>=WbB5mXM|sT)8nsZLWjm8sWmmNR#Cnu`Mvkd$iw6QBeR@ zqmQ25g&Bd?7i(xP%t>XDxqH2fLBGI}`5DYM`$*FgWnQRZrNN~QDRVYf6j8lHldT)1 z!(Gg`2-TB^DL%A<&SDdn&Rj#UKf%KCJhmQv4zsg0G>*?hbXD*}M*_FYS9cnDiQ>Rs@#^H{R zwtJ|oERj}gS`G&aSdLeg5HBxsIm(cozmCbp>%eR71*HXRK0w;B7no)IW&KhoR@65Hl~PaqI-j z{UOXtR$%5^;AS1g6W^d@bqU3GAGq)&fE055IgcPd`st z>t?mjd=*JWS*Ql;ZzyFYNuMB>p9VELpz*#^nG-D?1(f&2?{5-@0%z}8K2^1q>Yaevu1}=T` z5*F8*kZK*Yx(0(BNFwmDbycr&iLf)a&P9`mDgt5-+BetxrmAE(rbGpg zZ5Q@`d~?^l|BjAs=NX;d1{PYPYjZI@biR~d{P1=B?9ZH}V{d+e>^^axhnxFopIC(w zWAFS8N=G>=&5CGRFp>zxPM?aw7^Mn{h(>I*H?-L7Wg1ngXx8g!RZG=Ukrs+(VpK#C zR}EF;h{uKKY}II5Dh*0OW`RLr$(AIlh7>>}GTNvJ#U?TdtB7T~F-$p%7!fnXTCG=^ zx;bbvEHNmofWWa~q*joXLNj&NW+kRcAsA+YI3ZObQW#Vs#ojnae^QVY)+C7}D@#^o zvMNL*kueF>w^YVSLTVUVgnb`K^GxC>K{biF*=R~x7Fvu(oM#HkGFE|A2q$r5Z#{mL zyZtVX99u^^9HG14)x)cc`pmOesoS0C%JQt7zj%#ba@S2DV~|v1JoDUT{O>>fq`v37 z--e(5w?B;G<}Q8qvtLzZqXh8GOhbmfA#d*O+iGHvr5(1S7>_12nWTtg16vfZqIkj0 zM|E>|pGMgPL=i*^{Lc@4oc`lKc`x4a`frijZa*ePE@pjo0nK_sm#*HRn@_Ca#kZfN z(`PPlZbjeps@LQDzT>s}_4}XTKl{|@H7hd2Q58-*OhT@8-s!DVhmQdId{eFtrMA+#Ku)EjOrMY>k zR1>+fy-B0-5CABmNOQHMS^@-ez@NLb6e?4v*l->PIq~BBTnD}W2w7HuSX_5Up*D^p zV->1aX*4dVEXJrLF-ifNwHj8ITRPKe(y*7JKg>{;IoL#4T&QDxbrxa;^-6?-0F@H? zNMXGNWtq9)WS2R~Xx1uJt0fdg2F-?&&C7C-On&qg(6%eyij;iV;%XFNkXtpYhaF6%rdMHVnrF?a}tL;_|*RF5T)?SH5qhgx% z7W!$5S!G>YUZ$s?I*Z}8r}5AK_20(_{`>DlnOH<*VAZOLB9vu;FFkw?hgasXyfnwp zT)2*VAAL?=a@R>6jGFvAzxEsY&p+@#>Am0eX8Nr^|D4_^f&cb|#S5D(w={v%`=F>n zR8df`D=1^&8&`q17}xlHX&@Z+pm_;XO-KhBC@lyHtEL1UXHF-~3?39fu0Z5*!chht zl`dzX1dtd|CeZyHG!sKw6{6h?7_vdXw1@%zwSWFyIR5H4;ZOh1$MK1K?n5<>?X}Ha zQ<|J@pS$9&6bxY^PAXNfst|+gwFFYCPHajJBVZ*~V$mty zHW{UMONBa}ChGMX@AU>4j#A{dKq(f9WveVCBy2c>lm$piWZ6X54lPk(t>m>T&Y5#O z>Fv|X@+^WZQ^U2#%jX@q$rw&X-^(2T0+4&#>R^GQPPypsDoPGhBk}p3>OlF(|FePm ztGN2xNQBTTP1E~70aN_Uf&Wu)lIguk4n(yw*;R3dU63SOrP^>@06 zrdF^4O?6M_ErvYgq)f0RK3mk&2jZ=}*@;NOI_*%m;V#K8(NfhMST3u@LAD@!t5`3> z^I*5=0bb|Cl?KL{XS?yCApCSc!#-=!U4uhUfEzdC0dDd|(&hd+{KMJw`a37o$5IEZ z%eePRu5*Lox)Y|(5nceuYP|5x*=9S@WPrsz9_#VMV1KOe#E!?86y$}>PSR-=0nj@T zzcHrs!;;6@D1iG;@EUA?r@^=iFJyPvm-u;9BH%s#f30`PC%2ziKL^6b;=-q$AY0k` z&I~sm!8#gnYG5Xv3Jn!*Wx3CHn4l9+`fEKSfC&Jp{|PtzAygPvp~hPo2W$Ay0Rjsm z^0x8p=YgGyvdPb@kU1rP^T!OLX>I4FPz zpZ)&l!MthP4H1-$OQQFSnV+|?!)gHlHvYZ%1uubh^cxA2xX%dVs$LmyJmBmBcp^Zo zf4{ z?%id@r)yg)!?eP@m@4|?!!T-Uch!+`;1XN#m^ z^@L5oWlD2zAwkVKW25r5^*YVi33krgd2qAy}PUdz%B;{rTY_aM{^Kxx+0( z$p99v)p7da{-6>LnZOVXWKnXR#G_cLl%h`B5fX(op|(9vX~rB#Yi+E`0svD&Dx#>_|z z$;)o)=$l_KrzXoavn6giTt%l=1qe1*MJ-`YDzRFMFh5&IZvwja*pR3aB>MYa>&9)+m z^F9U_ES0-Po7S$Is%KFFc5xRd0F23vuL*BQTL-Gy!C838+@UtS}7C zyZad5*wFs@YpBl60IeBJHg_ST3^RAWQ1a5~xyLs3p}%=bf8|Ag2lk2k5FegHymkaf z-t!JDz5FgzBSI8g96K?Ol_T?F8kH!CBQ%y~w7T5VnLAc7dwdD~>pc`Zd#KLOD48m^ zUv#%t?z#i*7vC)LT$^Uz{5sTcI-$DPRq6GS%*|W1qMBQwD6*BKhe4etbeN*^(i7Mn z5w2~FsPTqZYmKC=v>HG*fsTf>^3vnr?w;&DdmanN)=@vciu%ztL&r@&oUX`FDLQIEmD5-T=xH+0Gs+x7`F2$3p$FYIlHg zYeQ{1G37XwqFP1cyWXOW*SuOAuY8Nzqy^J%s?4mwUObJ_SN}%yXHHAmIs{%jrnBtfoPHEbZ+jD#zW;4RN7vLGTUTjR)wC*vGhfkW zcAh`^)32aLp30fMu9*~8_p<_($iT!z?0Us%xgJ4?urmP)amFM`g}{a=VntDa%F&j$9{h)v0x88Q=NQVLy)>4OK9|v(SDUijigBT*$VRCg znT_!$7cGDCFE_+)-{9JbLu!_mHQ(OlNp~o*=7=KKMO*IdYm!8un9$qlVRw6g!)r5C zYedYN>(Rq)9%m&tO^$cn)!}3FRUMSTP6p)47+aD`OjvCvw9rU!axT_mErX>R>rL%g zUc6Gls}I-lqSY#n&Ba_dtX4p|!jxonY(*y}$dW}VN;d{2u6A?nmqF&K7?*;=LYJBq z%v56!HP2x$m0~DN%&Mcp@)< z$qV?Fn~zXo)%1obS%LP`97IO{=5zPT|N6bZqM!S>@5lS!_ZFOc>@3}P{}Z&hJVz@F zv%0(2(`=H{Xq2K>tC&e<(H-`Xm8DuD+T897vB8OBt7x^Vy0*MTFTLwl=`>m}#E49S z%hxvaCqMAp`nqp@88zbyU*Fu(2OmF64?S^KSC(hwMR(nd_x$L0+n@TWAJ&D1S^dbL zep0{m^>5&pKk(1+jlcY@vKrT@EOTY!NP7j8MBMQfu!WRtt+3S+rC1Uv6{27^L}a8@ zt7*c93MmbgwNpB{byji3>cb28~=SLB%1OlYAUaC5c_4NNyMG_mtNdgtcFiQcA-RUwSPNG=cSx?X( zkI@@v(rMSRFjGgZmZ(@zKFN?tiAoY9i6cF-GKYFK!El(NTB(4TkdIT8C2LxyD2v>Q zSgb`+6i`uADlw8uBxPBM78XgIpxJ2f{9IF-?Yd|Q5GB&8MY6myhr4fIM-)Za?@x#T zlzEBF3T!FJvK)&GZBiJ{bET8(ht*I7Z+hYNzD|ntz~kq6loidNx8R`qi@ryt6et*4nFr+sc6_-0PM6()8qn_Zx)jitpjWx{*bho;C z`Oz=o=YH{D;jJ&eg#gxvy9WQ}OvKb6edDr9J{B}9iX)vVh)eh006lyI=%&!E0kAm$ zF7K*NGI#3FENGB|CKf0K7?zNYF>t95qy;Fo1ZGer1_lMRn?p+hu8ctA40^l?zSt$b zXUEXq#6nAzpZz<>^zZ%GU(iRs`7r+Hhdv?e3-c0j!s#SKr&SkWNT=S=-EJSAAD1rd?X z%`}l`IRr-1Ji}y?p(sjd%!W#45r9-wBSxzcW9Q-(UYKjj^5P85&ozjXhBYL3-78<> zabjkL5~~s^8JBM5Q2Ehhbkf5}U>^YMb5P-tN(3dk%k7gX&}N=@uTwZ=mBAi66R#W& zz_t3DF-@&>iG9AC7yrS}c4sN;FsRV=KDE<@gTM&nvL-1Ay8^-Bv6DbLkn7@i;yQ-$ z_h=5Pvw#nYN5VX=#sMCJ?_>|p?QMM6tK|d86*}aJ8HO0FNaCg@!4#(tW z)jYlb1)v-LeyGnAWvV*yBzy8ey)f8eljOSx!kyn=+9}vZyMGa|H&z0(g%ywCT927| zg2rLQg~yycRw@q1A&;%72jkV>qeG`c0PMqa2MoeY@h@@WLI2&H6|~0|;8gqsb8zqW z<3AN0G6506UDQ3G?w>h42Zx`7?}89Ot-`1yOw?CZ<87FY1{~K5)>RLHK_6Ky9+wW* zMsA*m`QdR5HB%w&f!m138k8_~DS#jEV9D-DBJx;t$lDYzly-tf7r0HN;0T^Prl2Wy zq=J9<;<08I5bf$5lzhQvZ~MUROFJ4v0OKCgY5c+EN(Y1hd3zWiW*%U^0Ma0Y+6G36RoyW7 zXP6?1)38=w5cObuKz8 zKi2`Q(1T762M*HIx7`(9a_pK?aNzLI@5m6hu+&?P9DFy2*RxwR3_srp!K2Fsp2!ru z3*8YCb^{Mc1^|_&8<%?EHvo$s=%&ym;Wh`4w)++>SLAsL(mn6{x@`^tE!EKd5;j3` zOsiAChm{Wxr2B=b4%`fR5utDfB|7;QILElc1wJEu7xisg0laj7&g97evQB-i0oDx9 z?}<8uVjFB>T=xR|O(<+E?p-=7EfKelre5d4H=Z2%=7L_-1vy7kb4k z?t!MWn5^rDQTX}hpWpi~2Jqf%2_48Bt_&gP1b%_4OMQU?M%|n-(-Rdrg4=JbDgk`f z>CADPT-c1&|B;_jUTNznhyg9#njt{gcbE8it)9RRc?kvrGJ!~ToiOhGnrR&o-&KRK4;ght ztUtm5>dFzh?jvi0Lus1R{@9W&OK!$Qhh`FhBbsX&RS>MYsHLnZX{}{+I4NNw7(z*qB7&3@Coz)5 z87j7036-Vb{EZ&cNkO}NBR)D?p*z=;npGIE7MDYf%VDMWb8_EHtb98}B-Si~A|Qbar2@h^j5nNz`5ROw6rj z#W$H0np;b2ohD8$w|RFkLBo)_>rfS6yU;Zs{`y5)pKH+SOamgKU_8VKFI))6x)u(315=5tr@ z;V+<2I&BhbX$77E23AUfPtj)zajT$vDF=yjk ztBtDe-{@0!V-K~e!R%tguHAWD=MK$7vm7=Z!ITqRyzfbT{r}#l_uO+%u5b46 z=w99eG~?w{b2@*^ELaP*X-e5<7tmNKigfqN9?a|v@rjeDyy#Ajjvj>wIPVppEQ97L z3@n>UM0Pwf>7`332YrT#xExHdc=K`O8(WHEjMv@-=(!!(iK0FgnTq{0*%rg&kNO}m3)w~Ojr8%Pq0@-F&M zJi(+H;u=wHaTZbn{R@{-4*Nio@Tk8_<@N?tN{VJ?Y*epvu|I~rdKGf!2`W!NNVG5u zoVb(vpZb(s`t<#a&w?v0#4mj(aO8F}Gi#t@cNpXr#WRnq4E7Mst%2810!c+FGEfnv{Ttv)LY+6h z6Y<&!P`ySlMg__`zf7eCihDl?zV?W_bha9RooIG_8yEi9U()HH|0|3hJ&oF_!#MmC z??&asA?U-860Ti<^m}9+vwl_{(ErfZ7-z?#*nAZaDHu*^1g*(V!FJ6$w&VJqpv=Q z-sMeDdluN+)AEUPB;AxXFKG9nbI8x`p!<;z=_`Nu_4GZjIEqPD*t!U{BgQzh7>;rs zt1J9BMuqN8N*!my<3gwwGun|+6A|WXJ`2nUpu$2HaRhEunCmffBQhE}+?y?Qx*srs z0K=*x8302N!02B-+mrKyl7HalD&k0~R7R(!RB1-`m%lOLPyE5-pq(x{Z#=>AaICFH z!ciQdQIE8>*y7=pYc#&Jfm*YQ)=WbywHSM;=;^C{edKJPd;JVIAL*b(Op{z_y=8F6 zVnr_X#&oWm>uz51&Y-~FxWv||KsU39BBQk!REwBXtJup58sv&$Q6Lv0CQ*S%SttyF zVz!9AG;lu$CJIUnG#A0J5F|vndA?2{qnEn5_Ob%iSZ%Ww6ESF52=*r##@4B6MF?3@ z$T-WQ+&Y~jN0EwQ6)D|GOBE)H3>%4==j=R=oJm<9hMh2Il8Fbn56~eEw^X z((nA)SMbyS`1|xb-}`oa^Zuv#tM@*PJkL;1DwJk9Dzyss2Sd4fV-Kq<^Lq05A-#NU z8xKEm4%cq%ps*$7Wr2FLiU>-ZTRT`^ndevBbu&7R7NR&&VnTm1#QXo%f0f_+=;!(R zc8~K(ruRSkEFM37i9`x~=+{3&zxTU;1}Rg1*^BO^N|fk_{`a5Qo9{Sowzp2}3va)b z$}$t7lGzwmR&w+eF$m7}ScO2sLd0qSW0;7D`ojT+lM!htQcc)UWFnJ9R7onNY^2j^ zpi!%WSU}7)p5*9_#<=OoibuIr`*}_`cJ{Q?l9^l@F_V)&iI&!#UzsA~wZxhwAUTs%Jn|3 zZ}(A@C90Jw)>jv`UXQT7yN{h-58L|#SW6HQ8jlMdj518J5_xW^EG-cctSz;)CD$8O zYR%NO(~LQal=9L_Z-2yTRzS;w_j_a7+v{V0IL1SdUz9T!H|Xl-KGM>G3|U#AH_SCj zVi;IZ!tRZbK;b$yL{!Lgh8x>Ew7#%_*u-d76Ogi|X$dxj{a%+AW;@`hM&JC#6DSAU zcFN+KSPhD-+7?e|r@>5E5(0oK! zHa3tJLQx!RY71UnT|!n^&C*=6G((z}G~24-?3GPSiV;T~)AIZ*U)x)9?BK}CtOyw#JGsvFW=-Z7=VWtl-(0)AfwlED1{-x?YotP|N(2#0;^J~CFUm@u zmlZNj5w5J@(pw)ZrfO^UmbvQh+yNvFxFy2fn7znKJx1bjy#Q*fuhS0B@M#R{F$6B* zf6O^h(DUwv1XvYk>8(CP5$e?T0rMesjtCy*078InxIfxy*zGij55}wK1sW-cN=&mp z{TgLF8~C zqXFA+s&OKo;vG`G!|1J1tJQu#y3bf{MVb%spOSBp6I(3WQrrX@25eWOu;@nSSWdPP95GQ(=HG3B!|a!gHr)H zd`=-#Uw`rVbik&>5T+LNzT3o!={*Xp){`fG-V1q`9fC^f+{X{vYMdnz0g<;z2f>p- z2jXKUpISS$H1Piw1i~Qq1=$8P(<{b(7=nl!%%Btx^D`(YCD@+8gQ8Ae8Bk;oa(Vz$ z9T@B$)V20V_sgi`iO$P12P z{`oc3EvS_#Ys)OYJ4X<@k%ISsup#n7>@bRc5Un3)_2D4_=m(&#l`3?MH~`Wq_my4I zcOav6YH(uDLlFWy?LhN`ML~Y?ghdwiF!w$E;&W)O`$WI!6%LqIBCxO@Gx#|lDugfU ze$I-8`+0S1i@i>l$Xk_!Y3(;O0Ml??QD3qHvE>Q)5IP%zZr!JnCqn#sbmt2PxM~QD z#dHo6g}$7yWd;%~Fu+0iZJcF~-;|Ynu7?s-L(3HW`*qE1LXIr3;OX1~1q&y4s4(JM z+nB^1IN$^sj-+zyBG^@73eEfJOAIREy9pd|W4+oNaBGmJB#a|7bxNkOe>XnRb~>J+ z_JvOjpGs33Gz#m?e;4>LKP8@81ck^5#lZm}gn+wJ<;UB17Km$s0@-koac_gC;J#le zz9gt`XJie5yzJvC+-9ZZ0CLwsVxVeWjrE5H>j7=IiwEGsw+Q;f8p!2nkoYiX6Dp

v355W%42Ty{A^$!nSha%;PxWJ&hKX!{Zvyem;98KTlJu{Cgo^bA-UmDhgu-^3q$^e<6yab3ox!nH@b#>MIhdAwUhW zRRBUvq(+HU*AK19vBUF9P!y$za7JdQ>#tf zakzo&I|E&*6BcUBYD@GoV5Xg5sTQFg6XqKcw6rL!)kE`bEX_A)XOPQqV%1uO%`9RQ zX_l8rYBfH$r`SyyIT9pEOfNp#(QaDM{xIXbEKy~k6*D3)K{3RVM1;MOrAb*Dm&ZY{ z;*N-__j$IigwPafNavZ0nyidd;At!#EvOhx-$f zRO!%S9Z@;fji)!Tf9|@eBoXah-NxqDP`h2mWKd9ju7lg(_$qqsd*6bSH_hN}@4icU zwoPAo{DxE}16nw_uJNfOxcxPE(|7%c@5JhQhd%OOKCdtPfj6Qy*T6j=dqlVQN2smL zVCI&iFqJ0K!Gy|!b-17N_T!gv@f*+L>A!x2>L-rT+_57t)rv-QbI7-c7(e`^9i2Y! z+GC|~B*w}zDocx6?(87n+>z?aqE_Y`;A#ccH@sXYJNwkT_dH(uzE@(dX3_uhH(@I! zn_>c+XQ-~P5F0`?Qv(^*?CHla?)P!^%a4OAK-8#mdHDv$n_FZn5x7x-CJ6@D2goyn zbf*U!wXl7@kM#U5uzVPH?YP?yCVky`?6TYlG)sekU4ld@YyPw~#*eGzRBxfX6wcw~NX3T_7#7_~Spy{Oa$6 z-Pr(on@Vb7C)Z)tZzWnh0iHjmT4|83-lDX63enML|IScn~uOfd7tk5?r)&?q5lQlzD&Ibo<&qK zIQEJ~z%YiVuVDPSuOR#4*QwatB`mCA{M57Pf9YQ2Pd)>P#rFN@(R=(dNMbUTD$znq zjl?*6F(+H^(E9O??mf4uaTK9a0g^@qSO5He?EL;;WB(&xMDgrXh!TUiEIIq;BYOI` zzl!Z{fy&K?(O5eMiECQ!^})56WM|h>mI7RAw7#aTW|Pa&rvB0g-@?l=@s3qlpKG8V z8y%NQ!iGy>9b}dw2g_+MQx$>qQ=!sYO-t6uTOpdDwzJS?L|AD>NB||@F2@Yd_YOM2DO3cu^N zc`y<8QbB4JxfO^KS+D9NU5bLK#^fvuhlfE zR2AebmZ5@#jl{Kz7$%$MxlSf2vSPyHNk-khecSE#v_BY8f0)WBEu>wq$U>)s2*&m0 zv5_x7aKF6gd;XEcGmG+ym%RkLJH2Rq^$@OJ-_x&t;}Kn)Z`1dD$D45TspI(IZ~Uoz z=5HUy&;85y@XKFv7asoFgB%&srG;7S?e{Snk8F~}hAEwW>5u%- zyJdZCi5`0N41MIIU&On6S)oWYkSO3R{smdiDe(cNm zgWvgYs8;JLQVJ1i94G$5%>WxGYfwlM8?DAwsV7ZcTRX(HYF!(R238j5c zZ#BzyqlRiFijtTCTY||QRK{h7LvynVB0O~ZY3%g}7>$My=LJcsOzhM&)6U&+>=7y5 z)yuIFps9@19haC4Ruh7&``6qt#j69vAy zN48s#pj6z_Ao=vy|5R&BFEGFP8y~}k>)Yrw8}#ra&v2t&$4sN9SFT=1wNk}?Z$OiD zJOzrB0A>SQIF#;(zw6z+c=O%(GK79VB@m%nOQ2Bn#~Ge{ z;yfV0!fXe#t(sik*n$;h!x6zSRjU=L#Ss#dP`$#a#!iG~-91v-ONo>fv-P?*Yjs44 zF@}}Kc?OlzIkFNcVpdgBGNfRTAy!gCt6stUOpDWWgvlh=^%F-;QIvf4@-^Mx-3KQI zm88OeS_wX<&ILjURQTIVG#d9$MZ^#VY#A^RLdXIoabWTDJG}|kh4=z+icx0`tKuwb z+2d!d(NyIe?ytfG5W^_@j(+t*L8tEaB6E+2m?>6cln$(%RpIJ~Vj9Y;4(|xKqtll; z;MCt3r}z=E$6x&YkCfdt7!H_nxETEXF&MOlL_?3aO@U?)SbLzJ{JM3``#J@fVLeEz z0eAD*QNUgOz24m+b(%FP9=Hzn((1c2Odw8#fD+zH-4|2#_B|58Wo5DlmfiRnbr>QC zATHP@i+3_H42E+HAaWfFQ@dgE7@mf%2~XlEP4ftd)XxuB!5nbyx+Tar;TQla#^bK! zR)rT=g4}(c{5ymOd;ow1Tliq%4jhCe!jT{ZXH)K<&v=|KfHMv+tjAbF*rIxsKCxpi4q(*)pgUzd8+8gywt!4yMjakQ ze)0y;(F36@4uFDTUSx_5RQ9`&jQWhUp}5z$(FqcX=hf3r6)tOhN3N5T;=bcpl^DaCR5y z5W-PFbYL~3f^fE(iua!fb{+&!(6m^<956>V0J@%Kb;Z`PuZ|gWe}VP+p&t%#ovL%4 zp3|wW;q}SliLxelziYWYD1Og||Y2BQ`?r zLdZD?%2^K>5)p`fV6z96L!p2Nq?KX-)&rlu2pyDsC^L+TPl$KG8$bxz7pxH+%gLCg z$EpLCr^Fj{SQW{<#_63dZ^ZANEypA<1k!P2zy(0PZ^9d>;(1 zp>Boe2M8|USjG5F+TZ^@>+CWKN>G5O{XB(HSAR)-U3G+sQJxZlKXWMj%kxjUSVna}lP?A)MxXeWR&z1b&S<)r9&i5l>3{2Mzn1YlXDaE(K)**YI>zuT}z);Z-2UjYA+FowcNI&C}35<(_3a??bUK83>vif3Oq9L6-&_kg*840xnO% z?-fk!$X-}-46DBS_TzWo^W?enrIjTHiv#&BoVh3~kp!)V8dZRD1;zTW-}4&X8|Gx< zinLd23Y4OKw`0)rA`Gc891Kq8vnPGi}}6 z?a9X;9aB9?xZS8~caTNH+(Ma)@nmGSuJ7w#efe4Q*mIk>^&Pk1@ZlNk^t!s!o#0zu zzCde-Bh<`!`R`xq^7(C5E=O|PYGPh_dmW#9c!0|{#`ZhzsF{t&pTm>a#(3{tEq(2J zK_7ow^x9yb-tiqP`pQ=yru)Bf&Ft;vSUa^KGi&o?Qxz6VS1)XGRR#Ur(Co=M6j6+4 z9^c0DT1|U{6kmAw2EF60w_w5%8cU1Re!)U1y}gK7?f%}7<6@UC-x%Wvb?Nx2Rk^&G z(=BVWc>0kW_~7q7gSXwig4f+V#Ea(pxc!IjK<(B;`qE!KM!kC;k@4lrX8XbC5FMJw z?5#&Jy1b>M8~a*2G=s`qQx3&yN>LytWP7_Bw+*ohcv$FUJfi09#}UPlX#F_s<`$QO zRHRwg5;1eTt;MJ(@l1~8Hh_8JQ#kah7g7G`Ga9|{b~Tk(v1BBOOHf70+oqWy$Q!Sc+VUYL z%|thQCb|2RuDtYZR3?n5w+ZHs^3{u4mWJ%b=MdFf)IPO<$&-(wHogYCbwiUQrzl!p zx0A=eWXz#;NNoYSd&TkIE4PY0^A#dyBg2tO0Yqs^QKbs4H&lqU9AzxMvD6M7hko;K zIDhU5M0dUtroRQUx!Qa}TCIR7((!{&AiuPOhKyluI|52`nYn$QX=Vl(q)66gP-FyC zZy>qtFwkmSx$jX^fBWlEnV-er%lD)8EyuNTa-Ec_Vpf-dc!9q0sjuP}o?!X-zqp_O z^Xr%v-}xdmZdsFjV~?`#1PjO8TD|QUP3l)6Gpo@4NO`$prPYXLUVW=Be#cwIv|_{E zU1X;pho~T4S`<6z)8y&%s5h$0!vU2^gz}m5+Nme>(I2{1-}d1%{LrNyj?UJ!QDI^$ zAfwcX7^0+uv87xDX{j_QND`x(a7m3SBQ7GRc_X7%Km)7Nh*;}YLuqPZ$dDBwF~&Ju zvIr@|kdP=5mF`%YC`)f-`Inzc^}oDwmY&*8>6xxYEl#M-1+Gqve&7o|{XajJ>5ISn zF!#^q#5&a4+Jdq%sCU{tfASDD+BHS30lPiaI0moJ*MU=Q+Stuyub1+2Gl9S&Rnl}+ z&_bQ{Th?oIu~%R;Ds{0QQ@hI8PYcS{M zE#k`q*WpxhfQ;sa1#zVHs?k=ff!*DK zp1Zt3!(oP{nHj{@n6j)ymY25LN~qOt(h3=!qy=>vRod%~aPv*awA&xj1CKvRqQZua zy|LRhKmEb~SHJVyUd?x(I*#3)zW(ti{+52?@4ic3`r=zLKR-`VHPPky8Qgs0sP+d# z{oZ$dKmFuCeV_i__kAb*op-+jZ~yimmajd0pXQjjLyckQNa8O1fT$ihyo5sw3mPW| zo!gJ=ne*2)%~Ke|24by;=Tj3>&>#BnT3^$wS%(lgIp5DN>#Ow2}z zh(%SM*EX>wD+E$v3fE94QE@HR>`t2+;6yMPRV^tmN)&3bx!uLqULVb7RsE5j*%)fo zYC1bpr6h{AJ506Il13v?Q7Y0&hEjkeHX6l|rdiITagP1o5UoxFl?aFvVck0L>!Y+vstH6Isuq; zFiL4WNij)F)M5h1krsso_mxJuB{Q1nEyvgB#M&C2zIa{@DV0P-4iKQ--blax@H6zn zJC16rC6rG}XtRd>{s{RbMOKTEBvsU^HGK9n_u$*V=Lhk9-}`3#!Dqe*K#(MLO^XbS z7*;a;>K}aqzx>lbEUSkW`Rc~D6f7K z80bxatqdpxXh#MxirtAKsYm+sP;qSnF0Ih1Mr^iaxxr;aS%KjcFRHdbb1t?f|yM1`1m5dmTj3EWo!qQB=p-EzB zT$DcX%=hUlsbND&r2;Eft5GDz5ZlsHAua*Yu)A^CvYWv*SBS6ro%72>o!b8Z5&t3@ug*b=JEw%HV_ddDV4ya^*xl{Fdj6*QC(^ux z@v3084C?_q<)DK0_egfaK4S5ANrzuVYMjuG+23LTW}oB7?pv$J-86XND@`*i$=}x< zL*qdLwtz;?Y83)_LP7jJ-r;hDNF5HtaCce!Oo?k(=lX}xe4?1Oa0Wh;Q4D}#l@XIz7TbKh{!YeCGg79e%l zuaExqV7eRE@QR!uk3n9n29Lu?5ZQSw)rixpsdX|_QD^hRKFHR&{g|ofPeKO3^RN{% z?$4POPM#P((`{oEoF}|+)Wh8l!w`orkhk)&0T1`MtpoX;EwQs8XD_k_N)7lDyEmr} z7Y`Vk!$l9eQPhjr4=}^$;agtO?{at@4uv3uMaYZr!esA0FqPbUdul^2@Y>-`-c`VO z>M7t?{u4=(ROvzt810xI2P3W?V6 zVF(ZdW;<1VlOF@8a93ZP4gf0muN)a693n#9qW291j*nBos2QpIOx5AhL$^cRgVw?+nE7UP{DKo}Z+ztJwMU_F+Eb!Z)m2$`;lQp}LKP(`UbMa} zKk|LwO80#6UTj|3q-(~=b}vUQVm`UjfRu!-!NklpYRD~NSXgdUBQ1&&-7LjyJ(5ul zzCOtG#8O3#Ay{I}))hn~%_O4Xu+SH-RP{f{%ebpgMGAs2cq6<4?q@|FF7`2#by_O(Ogde>+(0k7AWmipva1t5w$jFU zcSH|f7~$|r1yoLu*^GbgT`QWUCI7{J6P{hFYI`hvb*H2gD+bnBeC(kS-g!%mSKKy3 zKl`CGc*l!s{KC5r+eh!aW>$_=?HzY?sNHFDbD>53;RKmw)2Xt?VllT?*As8NlcIWr z%g=Q2;FoS-?XERmh(~D5k6~u#ZF8~CgZ_l-wPrLN7dpOj$wW*dGi^@lnWn-vl{mWV z%`e3g@2O@PKKLsS>SsQ&hhKf)E&7U6vs%lnIrq6o5N%$<;vGl1{qmQ|=*l*auU^)u z)6n`#2i1ic9$mPs_1PNLj<4x>0vesUfY$mt#4_yO81c#y>MwdVMRQ9iANeAi$-YKM z=G7!s7%DkgnN_XCEMTIwn<*ZC9{p#}V&?XBNVP)3nXbS8ol$!KW2l~7F(_Ge(x-B# zi}=Jb=r~1mY@M)j8|7#3$I3fjClpy8Ke7Qc*D%q^WgzQwnW{?MqDoYia$}QuW|1n# z7PYsV0awnj89WU;BY5_n^Eh?)(GuA>s$4lux_De+%V_hFM}aiM?C}-k*J3fqhx1b~=QEQ%c_X@?c zD=<`Y`lT-d?HILJy$PDsrF`~rW@AA!D=4pB;^Em#XuawsXx_R4?d?J-LF?{yPL9rF z^J7mT8s@0}t2HF`Bd~*1%Rxa*LsNVC3jr|Fi&qezI)=((o6w5O%|HBX)VlMC(%K@l z9OFN~t;YSh4(W_+ve1FyPW&557)|OPlhF@4rc3|LIHk+_i}w z>QqsQ46?!k#^u@+suVHMsIWAQAwtPUoM*CHpc0d&C8)HPh{%=}Jh9+rg>{r$Fq7uF zzcUh)KrEsVV<2v$H7 zOS$La%lx9d*6_l+TlDCo+j!B5 zCLTQ7#glu5)FN;sO7+O##7u-ijZoSG!_1&nHDHErPlQ)z6EtGhm3E{oYPu6kskJsM zl=d^?%&JV>u~e)mM+DQXu#QTgE`&qP1Xf9(x-mjGFR5Y-?@vm~t!OuOSw5|#O4Uk? zv?!2GQZB9aw^mX^%7^FL=*-Q_>)-r3{wM$NhxIpq@1y$6>GSl&=`(u$`c+Qz31(Ui zJv2XyV}}=U+tGP_Z_dj)!ilU(H-JZ_QHmOyw(r^-4L&m15GsN86@5%T5 z$baPD`lWvo@X1g78hzmB|6lr*-}x}qxsWqC zjkf}p3#)SZ`X**)TD-ixj3>{W!}S|`Y(=P2No=(eGaG~1RvWcSHR_J~$O@r)5~C3% z-0cr=V{a1z=Ezi_N^;O$2`4`fCn{AE>m3_40@Qjd5VZnBuIbr}H&`K7FdpY<)nZL5 z2~E-hgYkq^i7JsnTS@0;>o~l!plOy-n ~qExK1Er_ECDgu)vAZFg%>mw@)*&U83 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


N?mXtpz?;;naS8J-~p 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

gEL8dO=8l$caVg`DiPRm_1iZwaR) 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

wU`SJu_( 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

~VP`jP@QtfS7|GAtU-`@5&3C`| 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¨ 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

?Yz8qrZf$po9ErxjBh9gkiY@ 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%0AUf2{pMAETKyY(>T)Q)^(k3+_=H*#kvl| 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%0AX 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�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 * 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%0Dka&Pkh6rqr;DFcQe%Oq>$YyijpL$j6o|{eH(U= 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%0DJ zcU`@>bQV|}Zj+~L)T38;x_$rrcYfxR`J?Z=6Mw_UUe53R{5vRYvE>HZ>clf--BgH3 z;w)@0?)Uwh-+YN*2l7{c_xFH6^QG5fKcA7?BLLC0U!qao`>3|gzyjNCckQ1$fHMF} z{W!OnV$U`^u>mSb@F>cZfR|EiiC7bOtue?BZT?$*U^cs^3lF0<_F49cE-2EYrNPy4 zcsL0fp8*V(smX7JwgTO{8S@1NgoW65rGU;UTvsSBsiyA_OXz?qIQAZ!g)$T0aSSQ4Cdvv zsqyqHKZDo5Yq|qArafB9*vw<31X8>25*kW0{Dl>}>*3 zz+ImarxUKX>yBg=XdBUsLKB

_UH2EV{h=$<5%&C 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

u%K@SD8Fk} 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

rt{EQQ2w5&YLmw! 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≠K9qSNZ1{uK6%|RhB#`Ab6OReIqT&L` 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

flY-wb7H3buGE2ew`2Wn)TU4 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

RO%TQtW+_EXLZCgn;k^ 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

`s{UNZ0jXp{oN+dT@4@dQKXK?+6!vF*c$ z&-35iU|QltceM=3dFk7aid5HV>*(##x=G(IXB+e_}0lWCi)z+_V@XTkY(cvNHCR1ixQ~PY1Q`<(_ z75|6q;(DSn4}bn0wYqKFWE-~7A3hzA`zZ zip1v<=SX|`ur77|5GUY&;ER;5Uu6P8zj3ioZ-eLhJA++$#Hx7M4&Oq_OmR;8tEoJ{ z-~w12y>bC_umo5Z>&H34VaU&G1T$}pp5>JiH)s82iR9C3s_ix_lKWcNL4`jmghy6*Uet?o z^erv5ceIlZnE`I`g+UL$0Ezafju1h%jk8T2-NCt;sD;b5qM7(u)x8FF^F5mivMnN1 zxoJyE7OqTy#vBN)gEPeVjk80ciUx%Ypf$L>kkccFJ)8?h;sN|+q`}=>m%$oAb%6qJ zi>?LJ$EnvfDC-wIXI`I;QYla-?SpPxCCk4oESxK`bmh$q#=+@A(2aO9THs5XJ{Vlf z()V+ztUcP_WZZc(2p%t1l4jDf9tU7Tz96E1g(JTPwCT3!7(7U|>OTSA{(c@uPMlQw zf|pFAlJUkk6qS>;(#>>r2w{woSf)KouHM#D(bQUJPkTb=0%!9(mu#Jo#MYa|BR_0KU7Q?3C@1Nn|?%t6RSy z&`!n5JZ*#eDx;J@BO|%&TswE8lIFfKV5-$^KX#-a8 z`>;fh*uUmWedZ!C)H>l3k>!lMSjN@ly3P)V*y*xiYv<{aH_PZ&Gd||Q#iu{B=g&es zTltXm1DW6o0PgT2Q_P?rz%XpA(rIEj7|q{#=!qI9r(M!z-hYBPqxwfyU6v15lxhLp zF^#y+<}U4#GDErmdG*>zwVrXB-=9=IssJudyqv-Rw4D4vN8X4tvhS&&ucf*OaN4(C zL7GR3#m@8IaqP-v0T!_}`E!%gAtBfsgSCEv^K}BcV7ijLS-`fd)UdEi`|Ldc)_~MJ zNPJI-umFqwd__spVQEo6AZuuwZwD~Gu_^xFSsrX%ty|;bf&7ejA6p?;Ni zMFQ|=BS%fuXew8r@E6QR@RiXwnN44FXse~Ap0jt8!hQbBWW~iKxH_^(I;X`qGcHO_ zwpA9WH#lUS6nfj;u`La5O?~j8^B^RYgzsl;TyINfA0BJ4!v1Fr^8^FG9-HyzmvjCG z;4u>MN9B<==xquI8r-qGuYLIaFvOoTSKB@pZS;n&{{9$@dXnsGakA6)v@?ok9Y|!? z$fyjs3m-CB4E|Mq>IK`@-6rVhmVRe7KiKD`NFc;XY)^Db>vuTwD!Ojf^KrLU^(%G# z(DhLSW01nw!ovrKTeMMWzS5P?Cxif9WRBGbshgKzv+r7}N_`*c<0BN6qDRGG&Oh>> zu`?myB7a^iT^beuA5~aeCsX$Rzatww>=^(i3_QQJq ze2CV;Rh+Mj1v0=%V=6-t^iYqn&y_^*913Z2CwjV>%2LNVCLdm>!ZMO+OTXxqzki;7 zg{MqX-wB?NfjA|IHHeYx`)X{5RN&IJpGZuJKwI~h^JAqOQb!oMZex0~&a4l(;8 zZQd1pj}LSQR3PID2FM` zlHBbLp8d`}_`34S+=XA&H|Or306$RQ#Gde+wTwvYmuz}PiP+set=a4{{E8b=ED)?w zTk1>VM2>Nt7X>}-y3qBlC@eO`HJVOmXV^iwi$6uv8 z*kl=)y+1vvd$hmStyBc3@bd(Fw0DbT&ryRpbnFK+sbXc_Y z4`6Bi`(L3?MRw&5J?{|m@8eGVJ7Dg|xs+|KeNj{7%S?MnKo|Rc$-Yr3-MG(tw(;$4 zk?7g?V8&V`G}d?wh-h3h{MRg_;|U5Kwxqr6ZY(+v@+^Ds6~+q#W*x>NHN^pvd*y!B zxo9O`owZz0!seJFU3;A4RjA|i`+ZS}&?KRu31XM1b&%?0oBy;A2bGG#lxsj?YNtH!bBppng8yqYbZKFWf zgFNEm%vG|h3u9WD+obx4dzP%cnP%@H0N|AzBMN?2^GkLY;^~&}!*hE_b0HKkaH>nJ z7f>S{T0zVjT)*sEmChZhkG98q9O8YX2iJHi&-$0GQYwwlnxGBXYK(vg3QsM>`awk z=Lej-R=*;7Fk^xfr=WEw$gT3;jCoJ;h-nA${@vZ9(yub+sk$_GFz5smjB1Fy*)h24 zSFb(4)bbLV%zaiBGpQ}_M?TjD{6CRHsAIhHs;!b{ylnURe6rIm_5HQu3;?Uo`Itnv zE{=+%**w`Wd6m8sgVU2lAYjR3Qexri`@BEjQP;8cGx)itDWA_hHl*V~bGrx*KX6vv z{+vx(^dY{U|Wf30zlW{I1--Jsz9n?xFxzg5brTOPpmWV)W}L z`o)hkf3munXGc{eDD@*n^(7dVfCSyFYMdo@85{Ppah>XE8;;(jNm!tz(w)he@#h%% z0;*8w$+_p)_nV8UHK_3YSU-A0{*sKI-$x7=W4BCddE`}=*1xt#sx30n%@NAc)~~vM zcplrOYa!NR)eaG86_x1q=~!de0IG^c>mn>Zf1d^bKI9=#`Wkz07-%_Cq=@yNv5RF1qJ6P-aZxN`^Mfi?+#WnWbpZF z-@Pur&iS*|y-C{X1tYyaUxRY%!A}A;k~@oURmihK=fpGI)}E`~qwdj}dQ~ZJ#y-D( z>b_;wy>k3L=rrZ@mVk7=;Vjp;!dbi_0 zpQArpaJ2>5x!9gt(sA*DJ1z;}BA>r5d^p|u-Bl|AxlGo~L5^&90MF9z@#p4yb<}%x zRc{u(SjzWir>|E|KEA^#U(I@XWb9}EdDmG2A?)H`uy6kl!C(G7)1DMmaNGXDOA@6FWSSZW_{25Aw{!jZS|^+p z-?e)9#?7)3MC)U3>;dt{f^W?zJRi9s-npXK-&aW}?h4HIMx%gBlXig;xBL}rWJmA& zTtSR|C10gCCg9lb%KGUdBws}BNcE$wUu7?p1uUI-4AC)UqLQ7uF^L5_i!%eYOi*GlyL~Is9!J@XOI0BbF6U`4=yevg&qx9sTw98 z0vZYbw8Yf|u5u!G|LB*$lV*P3U$5$>s@mf%jPK(TO)#dL&A7&X)Oc*AJ;c{wZ?I3j z4zbuFLE06#Jh7qu{dAHU`YHqznMcKQ34Z8T>NAh? z@a~`U;t+=_xqAzT=dN1{d&Nxs_4}XrK6r$#n0^77lpSKv9)%b}p3Jl5T$nh5O%rlz zkwQ;HG82NV;A_23knjAk@oC}*Nfgz1_s*QeM?SN&V$|1{@LSIl&GjiwkV!O@ z{EOzFOZy}BZ~g*)5PvlgZ8hej(kW%#2kd>9z`tFH0+lMs1vS_jkM|3buv z3_b&nfzLC{ma25_LXj9pRu!1jc=qB`9XG7*uG-5sG$MY7pHUf~+KSrF++FoKE_7(R z=ST*H+w5-5f7a8?v5pVl=VGz<6u6tWiyVDjoqy=mC!Z@(2($bzT`^0@aH99I+rb_M zKD&}Um7&XcI`LgSTMLd7anxs`!RRH*_5EIn51cW?SOeZIiv0x87yAXnxss&wF67#D zSuy615$$5O)Sou)iqkSFMqa_rVrh?oRC?_o`Z8@hS+wV1G|t$87bNMf=7$O}jLou) z*hc64;cWZ0qpW0Sj^R+zy05{Vhm<|qwLqGzo@901$dYUz&dvbI6%8}Tgy#xnNt?0H z<#$W0Itzw*LCyk7MW$zP9$n>%wp}|?GEi}1eP|h0y)Fp_w7;LV)4Y&Ax$BN%{?L}c zr60yeefb1`WrPP>AL}#^aN?O+Bsn_kVXI9lq;OZ2ubN~GV<~{ z6##0h^!Ag!|I^Yqz`;UWi7U>S5jp!m3LweV3v*Y!b^;fJ=}H(^EBvlr_4ER4oTa=U zL6>r4?)7U8hBTeeS$Xyy{(huy@#8))@Xe3y_q>@QE{OMq*-IN*mT$Qt0Ao9U4AXqw zFo?MU)OF%u_Y1^B-kP0USLDevlK=6n+WQ=2fJH%^r*hN+F-PJvdLG^(LOq{kGXf2~a^uWAk zJ>#@Y(|Ud_AbkrG6l}w|mr+@Mz<^o8zApu?R|)k9j^`dtKJN6ZLR;Ar1|X+EJMmGy zGvo^=zRMu||9WWi(t3^ekRGwoA^Vq6FMA$YlN}i+$yE?dj~Ct~*`OL-$bXY$*1uHJ zr&`PjROEQ;<8JZ3yV4+^(Mzo~XI*&&KzuE(z0Y|ra&9*Xk+2^Sz9ew=CRh@-F*RA% znb$g5amsPNYrnHn?-0-ofA6ZFw&*_q(kxx`ZCQt>THm5@y~KCDvy5$}p>lZVN~Og? z=Va0)-`A^c)g(K$}MRbB9b-_Y%O76~UCEelxO@>ySqmwn@pq&HiV`?}bJ zrqY7#55Ci7@g;uWe^y_@WAyx&P2cE1O4VRnj*A^a?mb0`97#H&`ZtwVAn&3IKGlaN zm+7D^2Se$op9}EYqIxNELqM|zVKwYxKn@2&WK>#`XR7tw(v4SkH(29OPFn_M402Od zrYfB};r3sbT_YK~RHRjUr*)77e&iRj0cLdp{Tu~+RyrWGvcH(sn;}gmrNECbc^`E23TKYeUhPGB#|b}zcrC$z z>IL2DXm}vfMjf8xpjY_o4YtqEdNG+tWmy}~* z4}`Bxq0{%Z1oAVQy$X90Lg+1gZ$`i@cyvt~I-!2}ECbaMV;Lx+i9H_L&~LS|;pB>4 zKw#fCj3))Rs~psy?^$=9aCB!#Y~BTbf^TF()v+?Eq*@Z=_4bRHFqO8h)W(o*a4mNO zE_i(KuSwobzD4i6F18?}5`l8|3u(b8Ibb~9N}-BL+0~TlhD1!a)R0U|V%veHywwIf z1u=ySQ7~`D&!kvsrR0J2cZWtpAa0iJtqF>ZZ|HTk9(=J(pIjBV%1b&;z=SY;Bs~OU zE7heu$RA8#jKnA$86VvEr~Q(WAxH}SmIS#(j9jFHa`@b5VvVm0#(3qfvC@}_-P(y1 zS+0bgSlOS>Z_H9ZGP&9|*5hK0?~{b+kFe@W_nOK{f$WE>jQS|++cl?ANh~&_;_d)}@!UFQ&K2i)brtL#>A~d%pc}%Gq;f?h>&x zw#Zv(Jo+n0;o}#ciSjSks@azzpDRB!fA>t(p+GQken|BqCfUckEaSoS6Pd9i`2#V~ zPrhhLEQdrb`;l(^KDb8@gK+Tu#Rmt&@AZDf$13eDxeU*8dPHmk$V{hY{C?t?hr3L) zuy1Yt_`V@7{bHm~*=@Jp_@nJirPCYh$Ge2Yb-<3Hm_xUQpJ`M)ALB}vjs@ayC)*-_ zV7XK3il3;*i^yC&U$cbZ{v4INPr84Vu`-YJL@lZ^h6MZm>wENm%yELDn$A5Z7Jp;J zRLY3XU`AczQpZlCuF;)vSvf20_5J)~lDerPU+|sanVy}mcBS^hTf$%N!wEKMRYTVs z`qTe^PRo0v;6oD7D8#7mX-srPLZlt-J%3^XKDRBmLQbpajo}j52hv38R+x2vQy~A@=z;%p$~b#9bUsn8Oh^>hUGsSv=kx1Ax8)on7R`Ik%H8*gAE)7|gTt1{F;+UU3B^WW z+@rGZf}8nUgr_pcrA~6e6>`;`20ESn*1)9`)WxTnGJ_w{K3&Y@l}(3v&!%X}#;FLh zYouYIN-d;DYumu$gp?7$1hOzH-Wd(DrOe&*L3-v|D*;P0FL%F8X%#PJ#N~L?nK!rp z49e#0R67)K1t@f;aS~T8VLn?7yxn*&h(#yudBJ1cXbJ(n|>qVVV5v4fiN)xNn zn%z|!uxg5uHpCe0<$V7T3l(xq7Rn#3MBv!<1#=#2!TCaPowO6`OBDE9?V(PLH5p0E z7Y|2!CxZw7DCGL@0Dhi1XV`W2YuWL;>5p;V7sMurL^SQII_<@{NqaMVvV}Xc*jJBy zDk70r)xg&8EU@kc?2ABaM@4njOK>beBu1)6r>I&5xLALdU}>M9RUjkslRG~l2$MJ> zVDqN)}JBV$NxR7|vQ z=d1(JvzXIlc7f)+R{&kpQI@u*{jXbZmT~}(K}(1<$Ye=X*N&`8+a|`{ib=(^^52+S zxiX*owZp6zj1-495ceX<#1X0L@j%Mxk7XoC*Pk`T*n5il=e@z*jh%W?2O(bADpx83?PW8H`nGs($2ae2|7dwPOb9vC5cMefSqOu z6W&aF7-K@fQJl*T=bs;4JNhaoEQ;}BAF(fvv`lKY)yYX4ZN{%2PHxKg@i6I*aP&Cmao^lKePb?~GDWx%iKe@h++`d6cn$Q`pXe=G~G#T{Gfm_0yl< z?}?SJw=2f6;`u6&sYdcMmeP&m1h0L0=MFYYchNuOtWo^^t} zt_{f4uVO}OL@~u-4ldY_t^kuk>w*sKlY$$|!PLCugrD^#d`V`MEL+-i=F+3`qn8rz!B5{d~ZQ_NFrgGL5t-!{EqY@A1 z(Xusu%N?zM=V!dGgd+{(62X}Lmng6PIs@AJEzaKN3Tf)mY0G90pAlWfPPh`=XB=Yi zTYg@f&f_X^hM#Pt^4w=LpQ;2CH;J+RaG{sKf)97!NQ3yiud^M0d~znfk4>Dj72Zsw zL5SHPR?6|w4`1%;Zt=b*?vu>?o0tlgSZscD{gm%Jfy|c4lh`sR-`LBgRjS;JHnPUD ztME<81M84XVg$^LAVth8y=rZp*JTY@_(=Kj=kG}O`aBQ*Qiu36CfeA0sM)cNXo}fZ zTE^qxEWYKE%M$r%WyezR^~so3X+56M#@5Trt+#clEH3Wx4zUU((BL=o&+@a);@=I( zZ2wjyX^upJ#2{;V_Kuw6*A`N-R@j%TRLR#8lL=im9@*Hn7l(%U9ozLcYO6fP#G`%f zJ8JPnsYFMn1Xq;qJkQfcK2n*6FYq+7{p595d!uU*PL=q0^~Ex&Zg*^!B!R}&_TKLp zFUp9W;D)ikSrV4+yy8seXmwOS;Ks-kzONXAQhOZtq|294fJ?&F+*0(9q)*3lgJ~tH ze;-csSzaYU@NjqiJ{uMrqm3TJ0Zduh@oAE2=;KUvma8)zpxe|@hF z&!ohc)epmHymPRQ3HBx_fg&io@cPGoxbMCsc@qo7FH#1e?DdLgalW#opCNuUmdOI- z{QhoM;96G%{!mEwk~F0u=C6{bfBwV{Bw6sq=3NfpQ_?x=ik|TQejSJQO7+u!M(*I( z;Z!TKhfT!9y_}ITX1dRP#~FK@^k``qYdaq%8$E26u5HCu{P9I6?s{GDC7#b6CrO?N zyY%ON@JrCU+;6|G=2GcL^)N=MO#08~6BPM{p9-h_d=K2mg`djO?D6bg@M%4M>viHy zM4r)$r=FZxt<43+cBg}DCOA00VB|5*!&R7i>^2u1gaq;Ai!tHYv^pFc-}VXDc(Lt;X!iveq}&!p=mQ)H)STIe91KwB zySA<5r;hRDEoYh(FlJ?Gt%EudeD2DdkL_q0qM|{1`y2OB-`p&mnOm*>oGm$PiGi~7 zaNbya?xGqAsO^XYPEfqElXClYz3OxAda)1}Qu)PzV@RhsUX{L1inQ9I0S-QK)X|_` zst<}_tL4S3KgwKXJN}{)9cM!&eqt7MEdot&4x<95P$bgi zNWbqAK<6#y+P{EPkC^xF2X6;Q$`K=iyN%_M7ho}RCZto665FdwMSd%as<)6iZ?r>| z#1L#R)Ucym2jehQyMF!zGtwVNBnJU8(t&EJUXSxjX;CYrzTeUJbO3||9xLs-O2}fg z4pwc24cr4V5^!j>2N_e0VQEvbE3&6#8WJxU;Iv$ck8znxQp|6|Eo$pN(%jCg`2GY{ z237qMO0*7QLsA`{E%dwfxy6Q-X1+SE^1 zK&DB9rOV<>YumHH&yhr>X24qJn&+;FDE(~LBRCdY-};_kI9UC8j)q{c`*}44u6pNP zEt5VMNv|7hLf-VKu4e>C=CU9!B4HB6VA+Y2?@rqf>U){!vvB4lu%5`#{*0XW7R$Z; z9ar;pt3()kHCfz7VlaCztp5b0BmI{3e3Yv2R@Ei>AY~!;Y?HT)v z%%g5cE$uH?4yb;Z$;Aq(;tQKo_~DRgsZM#ngP;4@72i$-i zR{YH)y^PIFy49ce|Fz6*Hd=(pmk#=g$uZ9m?+aV+1C~d46m(6JW(5ILbm5JwDqXc}rgvYm5W^Mdv_D+N?pRIFqFog6R@OnceMK5Fui)xz-&>T;=o3kUD7|z}F<+3g3*K z(XMn`b42$H=aPib%U&}g5t$nCUMYp|dB3kcrf&KCU3V=n@uTq36G?l1e%Wv zFaXHO2~N4|uppDiex`YT#f~A#CZl;P^Z)=|o=HSOR1lHTbcUUP`o@9c9&-LA^^8Wx zJnwRzg&c$+{KNBXEyWfKej(2Ifvm+gm=ykbF+p}KE=ht_?i1msC@l$>iJjcS&zn?) zBPw^jaKDaIO4!Lvfv6v8(rGFGv-YzYqv6kp=~hp#s;|Z8*HP=9)y(~L^Pr3KB?MD= z8;|Kl03P**T=Q;W_ue;VGTI!Rf?a`UzBuyEp4A#=_I*IsIUkK}}$1imT zqmaDWX4Zd3k_}_JYV_knbkb@WZL^pEwLg7i+O~0(A?$KoMjq>N9ZPL2@ur-S8aqzq9_3={hi^S2 zKOHK*qu=LKoyM7$DAZpYHcN*HSSV(#z3EjXDob?OEIKv!6>lYB;oX!=7o+{$5?7Q2 zuV)cEV4W0%8Z}^RRPa{&FuRr!KP9@PtPEb$l=x{()DL{t4IbOqUFz5$?gP%ZhpyIb z?$v(7J_qNeru#PBRq#J&5qKBggaQHcTgBq`Br*K=*&ia=?q{L6P0rSHDui@z`DFL9 z{LjJGAu|+!5n`-0w1FAavzM}X(4VCl<sV{g$#o zx}zA2cR)Vu1MQVO#$_SIBR5p}ka>Tgn)`W`)v*pn28@NLefm#!6>dqdG8~VXKs0za zj(E9;vl%@G@EGLDiueKuXROnOz#Tn3LJ!2`w)STQ>@1}4h-V}ycEIk0?8<~r_^Yr+ z&i?^kv5i~x%{nBR)X1s%!gY{*xR?1;RZ8~!W%dj3t5ueat$gpN2^xmKUpvy>a#lU$ z+W7NqTkf+{+vCc7oZ$OE=)Uj90jls3mQn0!mje_M7NgbIhTPf^TN?ld)zYIMQty_F zKSa&iKe)|#0Os~7^|!JdTU?YYKEgl5Rr%fjA@_A`W9_T~oz*1Asyd|RxNGf^QAl_< z=Y9heE4QLp2Jnu-%r-!fBaJ+EeTfw86?BU4WJT8%%U1#C5xicSRzg5d>nDVENkvQd zBx!ps_nosXLajx|Q;zY-z+&FK-#nyLfR_W`eQl@B#r2;=U6Kt|ZTTuE?^c>euF$e< zYMS1u{c6?JNnAw_46JjnAt-8Fa}M^~fbUSgj>&ztss@rPsIOD0=-=(t^L6jM6??h5 zbtIDZZ+Jq`cTJikbt?0)Lk4~`&P#q~9@P>=f;RgS3L?6s?3fjB&}Y7q_7YUp^DRC^ zCs91N8ok4&X1S*;&=ycFDp_6WmnzCIG;Z@(#-31}7>P!*M4_Jb~{GCoSBwu>10&seli|68_6_0w5>89^}S#h3TCe%3UDaXyab zeSbaNX4i&qCP|tO+v3cIs&i4?VOxM+hlm>zN$E`3a{IpA@@yW_|PkIz}(M=IOWytSP>=fKK8;92>| zv~1h_gTx=dMdg|QK4XXa=NTo{f7l4HWR=v%2mAw$T4EscSl=@&%^AoD*RNd3Hgc)eIpKqGsr#=KXj#2`A_n)3EuVRj3yxRJ>TEzb>v@q zk$~+FCbg+{2IFO)P{m?bdbEn?ch#N0?u#?4OfK7((V0{$B}U+@lNi!S1yRTbW8ZJ# z-}8pwuRi<42|iMzm6Dwl_gM}c^G5fH^OulTu?^sh9AW(1P@Nh32BK<4o>*l3REh7N z|HEvNc6o%FNe(|-2zPg*GghSc#T$*-w4B^D$AEkbJJ9bzAa<>dxa;_N}=a>MBHt7eHf->ONgmeV?<{ucL9+acT-^5>s1; zoQO=KE&TWpr23r77@}%t7B`7pT)3$Hv3^y*=k)Z5oV)LMOYDqux82TV>_#!N?|_Nu zGWrE%kd?Ckx6Z`})SeiTTdFqkUOc2kIFG6cWw9XF{*BS zuu$Jw4SQ(9KWUfFlK&_=8)AR&KlC$3DeRvbxv3oz>z2>@vqR6Ol(>eXNEd8Iw&R<@ zJnL>7kEtZi>T&{(_|pYxbdj!$9=kcimc09}pHEQf6$wt6+mn2sJ&tEj;_dJk7d+3M z9I%--m{8ad5<*_^=D0-ze`(x)h^>FZ!0dfwIqh;PxJ+ptmhcsgR7ZP>^ZH^heb%0@ z?{g4iznnNBmES)~VOa`+Cx6>164pDL_}~?OqMBk;Fi}w`x85JxVCB`g8%5UZl;z}1 zZ(14fqaP0G|0$vk_i=4_eO@8maZt~HCJxM9^n>xP3 zHD~aW&fK@w@vFnN#lF~nRKBt3ZjJpUIr=|I31kE_EV0k%sUW^1p}01Q%7(9a4BvjQ zT9A&_Ui2X5JGKl8n>OR~=yiyqW5T25N|j?LFPx%Vf!2nmHm~(EE8G1MZ(9x&cxh!h zPKaelr!OiijHdn&XZ)FtzWJ5?0IE)XZyvC{%$=Tj;O7E%EW7o9(}Ywep;3K2CWCoG zMQKvuk-E;S=zSedWfIf2DuA2kc`X}h$CNWiWO=IfepZ;34LOehYf;SdRi}cKXzi;? zB|w>Of;FG*VJl0Itw%98Dq^$r+1P(L=yBjP=wGY)N2dap>gk=Y&gbHmrt?~CCS4z! zWC9Mc>oe}rr&<$EkWT#!C&q^)RA?`gGl$BJLn6Wi$s)@|V9{Nge^!>$$uxR)?_)+9 zM?(Y?#=j}KZJq)sZ{z|&kNiRnO5rhk@_2rVK?k*uU+3wu`uQt z)sZVo{OWWXSO78;+JDhXP-jAz%Jj?&2(d-mSB&|TXY#845Dw^r7X(8Bq*XB;JuiYX zcn~^M2}~7yZs3sdVfDbn0(9u;z}R*JHrIq?mK3|trQZ8`>_OpFZC{;3{88<-V=0_e zKw8CC;y$p6ohrmF>Cib9vaA_r1Ib_0YDQ+M?J#}JIQBMyqLVaVbkJm}+ZBaV*Gq&b zVR4mGlQ0DOvFA>19S3$QcmTIeb}H)Xhx_AGsvaO7+6v!7MQrsM>;(xax8-x5KMod0 zsi5Tk5za;~MY2iAuSS~wcBy31p5GfltSCRuwi$;~*21ZFqBt6XLF_-(ELTl?Xe#`C zo`=P3wzbut{Qgiu^mWP@!CdV@ z1V8Caus;=dFy#>vCw5mRt>+K0Tdhu0sZ^GniGP>Lyf?QSztFT_pQ4(o{}TTGnbYWd z>EV_YK$L_?b_}@44xrEd9q^0A99=6Znb7L<#tpe;cpo?wf$`Q4K+d*r>Y7Au-oKkU z{?alhyh6rQ67vDn0$g+3b(DQYEdc3*lC5(`sh&Q0wm>3u*)5_+t;n{2dn#4=^$~R{ z+l10L%I`FGq5q&y8G$2fs|oorK3Mv^7_v=!*k^F2p=$F62{^}~)5HXv7cR zL5N(hUP8?J%K0g=7jFS675VOx^y`?*v!1^|*1T*31hMalCFn>LM0sH=hCq31o{XC* zwf#!Wbay*N5{5dhs-I7`Lk;Hhyn4PeV|1MCY6xyOXSX}SvrvVCu_WluHVL+Ua&W+-VV+kqG1ou#+4vC4dV}+& z3a#UVBCdkPFcyVB3R_qKyQSX__#s#=~E8{2sn$aS#r$RmSw zj(rqZq|Ydo=XrkBI$N8B!GdrxHkmIs)S9UsKX=w+}&XFzItONRrWtBMplf^{@5P%Pe0$}2`0aK zZN-wh9KU7cu)FpIRxkBWNfRCV0Ur=oF&0M~tXJezN_D);a4(5JtXMDz^9nfI(Wy*G zSoQd>yXqw}Qc&bial56>D)UB`>RbGaej=hoo(Ju166SR%T)*SA*hJh8SV#hxINL9yO z#Mu0wDRuuyyWXgRUKJ z@f;z{Z~RQh=Kg5fpYdCcbxI#UF#Ypd>KK3m~O6fp8 zqmWN^>)(mVC^~mYevE(bP|%Xj;3f7*0o%S#%!>r z4g)YjA4Y4Jq(iqFT+Nx$>4O>A$DzD=e^qMzsH^nT^$I34LfBac`;WI5q_gq0AJXZu zZ~m48r=)}5Td8Vv*5l&M4;{vdQcV9NMqm9?1mG2x8q^W9TbCm@1ztD@uJs(x@VVcGG#WC+BOk)It+=5K1r+7ndy-5`a2 z^gk8Gb?jt*xC8;-w!|#|`KpXMGtzx9TUsYO0K_dV6|AdL{iBj$EvRivV2wUWEgA%ogDFl@9x}JMGwjFtx=(|KjBO%cSN$xaU`q zqW~&rvM%yoJ3`>ZV+o>c^@N zQ2PKL$lJTm4kh$cm1+T+E%)Ptgrr=o0iUDp>dIr`xB^I z%E`1%}l0`09-ZIq@)XGe^5e*Wfj`GZ|=CnmFqOP`${?Bc6%>z`+rcBM4}piiE?`R!k5bqWmox+sk}e-*2x85&e;yx916rL^~is zU&d<5HUU5#QYOncwGN^dfU*+6b-+IsnfTJB;$2G6DF{64^AO>=n2LgfB)Zj)L|930 zAsaYKB#5LVFDO=^^-}@8pwr1i&ou+9F8djH=0N(+>?$*u*k}A1|5*s!0Sgo(65K6z zrMZkbv>e|@1p2&!PefV(nJVc!TLiT`y1Ep0@2kvn6rN`mq zg$(EWPr`;j#P}cF)t@LM7a#V=0AlYMQQIWG=``8O_=~GomKQ9$P8hm4Q_qI=q3dhw zjWG^N$TH&XYzGNFEM$c z*M+fhu>?CKN6(k4Xf40nqzt#{(gs(8)ily!-oHuP{fbC@u*gStmRw_L;;!JGKE>|^ z`wqzr4*U#>q$N(#=l_dDHN~&{uci8Z5rJ_(aFgj@d7tugWnxQ4(C4;*Vgd=WDnl^SJ)JkthsHmx*j;rj-1ZeJVzrZr}kmg*8X zk2Kqw)VazM0?!@GY^7;kjnWs_^tK#ko(%+s2)_C*?J;@;?OnjwN@+}MQRzy49OGSj17SFB3w=a&`rjTpx``|tBSkT|~&S?E;IDx?Q(j@zj= zGWlj8aJ1J3XGYp<<$2B#oei1m{WT<4mTEd$<2Dt}xwE1|WyvsYKstovKw!MtYtP@4 zSTLPtr{jB0myX9^=sE2Va9at7N`;c1!+(|k`keP}{?3l`lEBIG=v@eHfJBsNe!mcR zC6<5qZY!e;%9Q}a!Y4t#MN2#2ZyYRTl9m0|DkF_5z9tC*QMtkI>zcOK4s+r@U}?RI z(Q+zwS1(hV#0EXDN+roKx+4bX3y2_lf1fFYnBcU#{NcaSQDz2GL7%H33V zR5RKI0G5T0#=dqyyVPv|;IPxWj{kc^I;3=w1=i@RdL63K`29j|iZjXE4usF=^{TjmySk5<=r1VQ3xorRP&y7Oh`dsq4|w6!+@^oq_N^bOLiaCEclZU(wd ziZ;?k$kTPy2wm-d)wd<>q)Hb(ClS(>lE=qEoOG>&YXRo>Xxho) zt~4O!%oEOGIZCg3!byY>YWR+Fw2}7W*uvGZ3>eap>?vi5@=Qhs6;df$diC*e?^Jkg zqKrq-jP)wZsr?77RAMUR#7cYR#qjv@nR>FES??`A=NBSqGQ-xvYNDK)B+%}&xAjP+ zq9Y*Bh(AUsnk94F$M{195d83fAhiRo6>u8c(nWQ$PsjKB*>cIri&?imYe{zEKc6iN zkejb^{i~w2eRaMC0Nzvzj)CQB!@l}%JNjChIkcV|cYM1hitYlwKl~ikU3KNL8|6eR z+zC2X#!4H1#{Wv6&tFM(o*u@miua_Kz<@qLoqKICkm2Jz43{wl{W2PIl^1GqvMZp% zPp)2Dg+Ykt+u(LT36UwDvu6 zi6H6)WrZzXW6@F{x4}zE3h^D-lXT=#|NI4>GTHqS zzqg!Jfk5?=^0*g#IC3McM)!Xb3mRi&FXYV6G-Dtwz(>~=q$1#c1f^}!TbfQ`K}LZs zw!ft}m&?SGUS8Jm-xvqAUV`rtYe{~Vd?)MoNsuq_Z!m7+f__9O9VlIlb};^JD!OBj zOU+{DoO?Zc9gVeFv|Z^Fd52J$Hs8^5T$@FeX?m;B;y{i#RsdM1L2HK(RC8yuMVzN-Q)? zvNGKfqk0Y3%Ytz)TO9kNxjGQ08zlB`;}+wClcZkY+l>~<%jMkcCS_ZOnj01cyGPftff2ajF?ryjYxZ>-)E zx}nlq=%*7QrBm7btXPWy3-JWW&FnYj&M*(!(Bv3!a#@3@ zVS3W&j5(7RF33haHlTDE>GA7tCp!cgxNN4mZCn$WUaKnHo(?9M$7&w z3VHfZl5?K?nAjKmsYi3#fH|*k4{%dl(St2&y$*hK{p9CszrujX@04w3zB|PFl|*73L8u>cn|3) ziJk0&pi6%BI>TdF`XwrsSb+0|-{P$#u*^zI8(AqnD_}1%faRbU!Y8q-t7eXa;jI*O zLMSD1QO=@|~JI@Vv)Mo&_Xit7yU6)zN-cM=vnm?-?e5E`XZsz3S`M_(MJ|?0RWfIz!v! zt_lGv7A{)^)_`DrNA?0HKl42+e?E~L@oN1EHf&9sS(j50aJ@`wh_5#`N$U(@1zbs4 z*z4cVm;&xqLmp6wJR@+gNmK)e)XVrizp)>mjC}h%7BJ=P@zkj9 zva_O<@a8h+<1L4z8nMV?2e^5H!9MU+30PHB_nwzc54r55M?d)vAyC3`5{%b%s?-4} zvxsMv<_pdE{2@}jr-d#LKu-1Xs4IyImHHALJLvy4$PdWGkmiGeOtyJq}jaNp66@9oQf6|`4>uh zsTY%MKXL)h8lTTsg;v~?+pJx6XSs?`Rqzb@C9Rre)QztZKBF{tNjbZKTuJ}!J}`gu zbu6Vt)uTU1Hb;h(<(&6tVZB!bbuape+7#JX{fX$C)?-7dD#zxE`Z zB&oslt$o2qDRR#5M@R7`<85~S{Ug;`kDdH&{;rV>p~F6hxyU|eF+4x)jY09la`dRB zGB&oiUN0O3Xb3&M3cS~$hb&5{$1wldEU`bwv6`#5r+f~LzZ#d@6h3208f44(!Lm93 zqYKdANiw0wT(>g5s%G`e(O`C-?}?pv0m3K0k>#%Q{;ZC%s40zB{Td7O%u57$q?}r`zC?u+GgNi%rtaqXR=c~!NBW*h zo_D*;Qu|>RH#lL(g&>Xxu74IB>O>iV_LBB5eT5?`%Qs^`XYMCQ1XQ&Y{zUXb8sp0k zV@Mk^<5!ML<|cTv9#5q(iVGfN;2l1HJSNKV$Yr*l7?0u4yu!YX_!p@z)zh<(9P3>f z7a+b7dSmaW3(v%lehE}{+jF9KJ;ys-vVuWNS*+}FQ1MTk(_mZw64hhhw$}w>%lNGy z{Nr+_NV%@YGq*QqZxU>FKE2t&>iT}K^v1Y2@#=L6yH~E3_1LXZamHm|zp-CmrS8Oe zyjaQ!@SNvRNvV zId4UV36-YH_z}9VR51VFzfLhr{0+bkY$j!w(OGxp%w8aueYeT@`t!M0As$ynx6Sn; zQ2bR1a%q!B(dWO){%k8m6EV)(C(K-?Ed)o;BXInNKK!|Yd~}Dx+@&CLo(l@an}pe5 z^B%#Y3I{_XQRtU+!TTM|%)jS|2Y)LF%5VxZ_MNs*QaXo+Lde?jve1+7^%%y!q6*#m zm#WUjM%Tn1p)XY)OQ+H4($5{v*w2_w%zGh<#@NZ@QJQ*+eq^I62^da&Eu%Nw!JXY; zs$Khsjm=M@5cIQSvz9LVyVBlg_bx^)g;DqRD=ghB{VqvCialnXaJx}H8KcEV#=p8S zVEAlgP3xrQW$ca!DashR#yP+2!dvm@(!sZdjJ zXxXeg1i0!k{`^(2EVfuCO1;zOem19`5-U3wj|Ohde&teha(IR%nJiuHGf@6A*LA793xnk6*x&>Hxxfdr>o|HGpY|R7rmGl*{M~x? zL}h#sn~;t^gWh@m6Bg)?y`F~;Myu`Cz5e}?;L?Q8DxNVyLLtif`L%i-H@EHIZ7)Lj z4)5Jm?$iCZBsF%CABgztf?4%9bk@vFZf;A)!AToaLJo+>KrE{di1pj5~(v z`Ra?E4}TF}*Z==l*@rjlgsfxz|LjBX(=Np)8}_pJ;DCMA$igJ0THP<)Pk_96K8rZg zg6n&S*dlAc&-mM@)lIFRbzrcTYpmqT5UOL;QjafjZbn_0sdbWx3VsZIMwUqKtgJPe zrHTP9HPXtk=>dm997WJ4s(uXC`nAM3L+YTdus_5M0#ZQiq$;r9xjCWc8S|R;s19x1EF@@u ziMi5Cx-1nnam#`@HJ{)hWs9noZGtX+RpALDu*dEOSgL?LCZa@#ka%H|Sq59Y0rpTn zI?o1g|BiRGFxy_VxK?S;)zz{efJJ`#TKb|3COV)cak{;9lr(m@&LbKqj8N(7&9JNX z48SEI%)KRxql5zXH^Vr%s&qt=RO<3o6m4;grI=pg6yHnpJwuS2aL^7O+2pKdukNzI zb#VaoJ^U-Xat3sx7zK5h;>m??o z%-HQ*8Q`0MLwclczI!3`EN@unBKW3CWCoIaOHGjDyGv%bUt7Lq(lVBN&?d-3#$;PN z?|ciO8-wfjO#*w?Ro8=GkR(0Dw~ z%zuCN;ik-1_IQxd%yrUp8y&AlD&ts@UG#v8dhJLj2|Y+?K(bn@apkOjNqo$q9b4cP zX_lP{&p%)<-7KrjoOh66Ki8wzE?$f+JlME5E)Cg=H0Phho$mQ{bkg7Gi7e|j#!JAx zPDso?Ldw;50a^GJj>^aKjc(W!sbJUptbV$92|c0#GlqYlDID8bYAWk}ZmHnc`d+ru zm4q!PX>Ckk`8qIAy$*O(%hEs@uY&{aGwR8o6a36R-I7ja-L;E+_JU*c`~GJK^|o_2 zLBkq5gp{x^A<0BhKnj^kOO^V*F&ozn2=)hQ!_>U*&PW*F&v?{_R%)n%lJtZ90V`Iy zK%t#7VefBCpkBvPujBs$W;){10UAoNdZe6pV)`w?52wc}) z(pp!ub<0aD&pzD0%gzccps-65yrILcyWnLX#pSGrJF~fM^j@zRY(iAa?|UxzMfFvl zIj}H3qwr%D;>J3jt`Q%4pZu7^2{-5Q;yX`>-s$ zUb6Qa<;HVq^+w=!8JE^y`~M{?;|CHiPV|IxUzPS8-#>o6VlJ73Y@A4Z9RE7(7l@6+ z5Qe1tW8SHv3`r!Pd5E=!@Qx}6ugQ9zQ4RFt7>CNF-JvqmqeE;Xvxh7lT&ksdx=FGw zuSNAX#P&NEh(Y5J;@Lg!ro=u-i~U6ih)rFj_Wh?SWRa6%l_EeAiJjOLo~0qWy5eI! z5;KHLS0ZcQt-B5W6gqL|83EH^+qFZ7Dp=!*bT}WM-L#maF1n9EyJT&4BNTk%mfP_v zk9SP==l(aY99)Lq0mfN>f6%`QN$uYsL5NGQ;<&oiYs=7KBjed;v~p+c$em)19kXu1 z@1Se;lT^kd-z$pmAe+5lx}1~{@^_KH;EV$wf?p`&P#2&r>W7a`l6=c{==mSPbA<>V zJ@WWxlreDb3e*>~4suk!uR5)|DTqq9?^2Y+=Sxy~B=(Wsl!oPh4>&lOD?RLc<(NLB ztvr37)65Q{R;s{?q*QixNRIFN`M-JHf+odn*G`M`@#l0p#mWiq2-i7s5$BJ;tI@;5 zL=DgqU=`VoJpcI_#YUE1cTvfos~L*z^K-<+21m9#eDAJ{h11;=yF222wsa{flhF6V*=o@JpGETH?n6tE>Q=JgbOjTS3%q|}0(^HXm3JOy)KcP$B<~DE zGsVF&@wgWF;Q_xK*&d%_cSa|E#xCw-YxSd2#uTsW>wpmjFY@!5^ReCWR1X)68c5*) zW+_&}O}G_B5P-s&)XS)blh_f$+>DmVUx-Xi$G73o7Qy^mnQ21F23sC)x+VtylD8_j z?u(Jxa_}xlF=kwSvwV5M5~QaCL(h)l-CMNG$w6SRTL&?ei#L8oW=mB~cGb`R=69tM zVh)bnhw4D=sF@p_;6Fq!_{|&JcO2-1=-s3a>W!C(iK$d@cD-=`wPIv~4Vp>KhMcp4 zGyr|&pv*~zt5=4zhFCr_oMQpl0ro4s*b+Rw!3HH3Swj>sF;hP;Z;bxnBq8 zpfBrnU6W=N!-est-_vs(O+NXE`m0cpv_B5mUeZXAsn~#0>D;dpv?UWgn_vsM2!-%S z9UJ2iTQ*Zkra@+u3DK?A{+DFSpAj{Tq}t~YKf~65{6&I{NpOsS3=?wqwLtHdYOKR8 z2RSOw+^cCoF<`+0?~FcYn$Z)P2d|92T9cx8%1P}49VJlaI0E#$T0hkW!{v8QGxt{~$#X5Xc%53RZDb@Zxi3IVoy3yk$%_!8|+qzj}Z}1fuaTU*yhxt@lGZaRL~`{zSgKjHsRry}#$9 zoFujmU*yQiHMgYx%t7aDyIS^Tee|lt8Zf8&lB)LAfL+Nx6dPUG=UKN`FMenM73l~{ zmj-1pufp;haW+rhL_6sUz36&qU?D<0u;(LA-usip+xTMh)*ne1EP@YQ?ANSyBfef6 zu8?70=)HE;jNT!aC{;0~l%Rv|tZzZPNOHBZG;NXjgY4MgS@%LVxkAyFFtbjdNpm}f zJleqes8XTKXuBE!3&s-l>FYM=A#unSCq5~ls`vWn*t^}QWa{J-F&t7~%T1G6H zz(ybp$iZeiZD2em9UQd2r?8J^B#Gq^?6~-qkev7)cYhvNZI6SyuA~0j;qiy$DXo`v zEw}{yRkQZBw;-bXkxj*Ek-ueWvL30PByNa+Rq0f02o<0Bh!g=-e29Lfz4k8`zXLIC z2Y*SPS!c*MsCI2XUUDi(kOH09pHBEZE*MA`9Ctm~QQfceFNJN{3|@dC>{zK zyyqtbFsUWv{B@i*-(S(+dcNTqhz@S5S9CI!g__pgCHazFQm^}$q`4@p`GFirg2@=j zJ0g-EtR9agNbv>933pwaSz~8AcTlQ7^WdYGB^Jt#0WnPoa``N~)7OOl7o=>?BYsNmNVHwHe)~~A+|>B6bSkWh z1;b8uCP21~yYQ;tvd~a3f$zB!+tcFr-L*`y*FpqB>?Nu42=y}Qyfx2PTb&A=lV^co zK`!0FXPex}3~Yhzs668Aw-crCCHs-m`r@b9 zu-X8nulOT=H$I`CenLQX2#jy6#w0PZiE)X0`$5l7uFJ`cWo#pFjnCw{d6#s8x@g9E z#^`xSoa3O;%Oe5pbHRD-4tU?&@R{HF25~B~gUtGSi5K~NhpAv&MNW8L;)@G8;gKO= z$!dOYvEv6~DI7~8lMlnr5RU;@`WPpP{bR-<#tP4;Eo4%mhd7Qp#`;MJxOkGdXIw~j zdaxgmoEgD+O;QFi6u5AIrOkY*=YOz}$#C?x_Zv$F*=BkM9hswaf)}xD1}H} zj1o!7lIAi8-Zm$D^LnK{#9QMS#53AQ;Sj_$j_BqkXEB# zx*L`+&KQ=ss>c2zZu$&6&hB-L*kWmXF7c^LL7;KG(*;wG5^CMGsK%^_kvqu50SksZ z4bUz9BTunX9e3)}m1+o5>OS7%@naWetP{+!s$X*f$)I1&Hx(kmc3USh|NbBg2m6hx zDWhS7N7aR1mg-0Ddg9(jC3WKuTl#q>-ha1W0w~2WugH)B@c|ckS6t#I%kKZ|Nx@c~ zl9MUh%D$`&x3RB=FPQixkNxTJKt=Zn& zpU<@p4f6Kc<{>%rGmaLEfZsI;`|&Yj`{-mj_KE_}i7d4ZrCr3Rmhrg?cCrutF~C;s z)$Jci$MGDh_KGetk|x3MK{!IXq^_2t1UsQeW zw-^s++dRWL^{U#tZLq3~Hhq5Q5dBislEnPp&q)74uL#4nV+xZpyyM81O6A-;>;wuJ z1j%Gb_kDk^IA`3RFqC$HsR*q9At&07tN0uam4wW4F0-yoGzohkdGwrbVg0~E4}g(0ud<7+aY$y5<=a;^*lsn}pD-5U|YuEGe_)Y!ke_ zT_MBH69dp8j`Oc`Oi)9`>`oBuYW6x1Wi(VqpS<8vzxbW{0G@0#swDj@XO#KfJ&!80 zvvbYcla*BaQuMA=H_j$Y>Xgk1{YHnwNi{7=g>A9439FqdA|jQqx;xbV#vJ%uo60;f z>Wns4XXafqk%i`}1Wfe~y9BVLYO)!plck&rp&wAW*tS$mB~d|U|7b1uzmoRw467Ve zdr63isBVa0Ck)bVn%XLH{&n`5$2f<2q*6WbQD$dfOS5N>Q?;7`&_%~hl9U>_K}NmY zk*P>0MJFiOTtRFRas!!TKhT0&(+g`3i%r9ViT6` z^HqHVOp+=p_UMSD{3P z7NbC9V85c?M%Xxr%SzVj^3bQZD|wlTa#aM7f~d)?j90K%#RI6PE&l=X{% z#khdLhO-ld;;xfLM371+Pivn3n&X~{$dv-)erXL@B7;Z#ebqX%2>aWtJAc8 zmWB+P#sAAV%&qlb`e1scAF9GCwlc(_J3Th%KlLR9cf3?Fda6|&%Tx$(RXQgvuWuGK zwxiByf853!SxrN|QJUnIVOz$4`{@+a*gssQsx@XRq?Ch@1cOQVxr@M+v2zLn($({6 zp{`9qO~|JuxH2v({XpJHQ%+~A4x>y=xELmY%kLLL*0R6s2YIeg5I5h+>x_3kO=kZ(3`de>@m;lQXc*IZhl8 z7%s8J@6$~w-C17V=xQ?W9AJTWI-5JbS$ef%zu-YxzYje4lfNC?jAMdCKMP5=u6P9_ zZ7~wHos8WO8pyaptd+@n%MZ2%A+q}@HSO{{t5fdie0zo7Jtm0KBT`i^t{PhUMeuCd zw|x=>UdZRd>LK;k%?p0xQvy*nc7uJ@^FSEri(8} z+?^D9?0fVG>~Nli%&92_D?_YnxJXJRaePC-m#p9G0+LgS00^Zp6qS3$%s-sd#1MmD zR*FFyV2BP~DmLR5di@Mti~*t3Wb6HY@0Q<>7zN+y^F^Kt4ESOUE(g369`(SFI6#Vr zkn|7iT}=lbK8Rw=H_A9sR8>M>-@)PT?UA5uAi!)KrQg-=F~@NGvnec>ZAOl~F6CVH zg0C2LB)J>DRL{;-$38m&rgwhs3{H1h_qrptQ$*v=(Z*-G^Vjyi(0fBWU-)M46=!!8 z97mMK&pGi1iJLh1e+mtK-{;ryiF4LN!P-0mukn9pj^^h6_0C`5+R~_gheVZ#U%a1g zvS@Q0lc)PMv9^9%#pqV&piJ@sSHMR7$x%DLv`-l)REl$(GLKfrMRE9qg*0>5k*iH= z64Pd5$tbCOJs-Odf9d|3hgi8oBm_Q2r72j_i_aH#m3s)s6~l8LaqE2@*qY;KCQP%9 z25+5mQb!k3ex*9U9y64l=b~9qsF=nKLW>=JA5WS1RU3{`pPgT%s!3{BMx`vza{bQ7 z7&7*ua=zDoyZh(NT+B<6=uI3(A(uuOJ8o`w^xMR(bW0}TXRhYL z4=nO(ypn{03ofnSHh0a=%Y~cx?A8~*`&s*q6l^9l7!%Xw*4lA~MX8!&`O03x8mfIC z$yIhfZ?V@(yH~{)M*DFT4_9N9UIvqex~?uSz_W?hy89AQA?4nP zm?&{c^J{PuBj!c1NJvGlrJkg3(D{rHqK(*qrA{{2m$2ahjrOIw#>(T*?jD^wuH0m`_f6Kc0Dsa)dZL5oJN+5f zz2osv)VBas#T~{x z{_&~7G$GCsuuv`1kdwz-;Ge$uDX@v-Y8=Y&BglY!>sspXIvHi@f9%|kBzN*5tFJpx z>THpWe{e>~?_W-FoC1evOj-z%YCETejr+#b@S&eC0|YPM9G&c?T7NR~BLfqHA(1^2 z116IS@{&Z)1`|MbPJc;PYmxqU?@7R^w9NpYHCSh9pI>28aZDmEin&FFlXdv~Av_a| z3jc4ijI-(ay3R_P`cZbgSfgUUODPD+Sce*YNsZX}l7r~Vk+ZnHJZd5VyM3i+{F?l< zpC8(Uf1Yp9Yv<3nJ$1T7!^GhS{zJZ}^>g-hZ8^qHqjNud26{E2{hJ{?)}MbW?NUs! zB;U#yK*}6-J)+AJl&%e)2MlT3!hux0j{Vk@v_o%9jp`>!20_wdzqUk)C;p^;C!C-4 z_QqTwr|sGEkS*r2l&V29pJW}w#|G8;> z3$f!^f{yR@JLTX1m^;0B?1 z8(QWnQ-xl`?`&|VNw?&#J91nFcu}p^bQc!U?-}YIX6!yLCA@N4H zzVpm%Lm3wiD0Z^rVf;NfP@Og*vycbNGnlG#JZWrn0%k0bzmflt*p{^`>tB*F(tL5B zoGgjI9`p>as(eI;LmUf0uaa{y=|Sg+*R+eEad+rRfX zr8;e#GJclDZ%hT(I-b8#ie*}Z{E|gpFNw#U(a$&*Q@2i&)@%~fZ{WhmKlNR3?`p2& zndd052~L`1vOxhsmqqH*{)Sy^^u+&c`&p3p_I}P)0ocdn?1&L%^(88*+k|EKIqt?# z+@I$}MB)ZXjMnPluS!&8yXxGypY9ZP9?Wbm(YQDy^lV}abk!}TN^oG#Gq#&^G%z>M zQWX27Kr||>#2S#UODtB#Q$^R!<3FNnWuiK^=7K>S7Pyn)PspU!FgA*Uu|4cGpj)k7 zsP`5rJKKfLcA;>;KLQmlv44e|EUA9J&L)lT6?<=f4u5@1wb(VhV_|oV$tplyD--69 zQ`n8jpP3jhSH)M8C?p2Cha$iNdom`exNDMDNmko+`x(DtT}Eo31HVkSiBbZFT{=a4 zp12K}!B4cpCz?y%oi_=l%04_ry6&{apXI|!`kBH%T^Eea#}#c6y9EM3Ag9z$MW^Ne zSJfFV*>a;WSm4gS|NG|H><@jiCtI~u$-S95r`;HY0Kr|j=c;mSC^*k?;mtfg=iffj zMDe2WMMF_fZaNDus+zkW)3M;wjS$5%fw6iLU-98qbA3Rw zMuL1a+4k8e;?Voux+%Hyg9~Lov>7Y%gJcork;kxW9YyD$rlg;AHTM|b)E6*Wbi$Xu zp71=pun)&8m0Amcv8f1miB5z+-CmNrgvLMPmtWVQJYFb3h8?{+l%rJBOq}F5mKqh+ zC6hlbIs-GNTOSvT&f4w^%&s%UdQ8LwRK}tbWJQoU4**n2`lJ}>5S)&?_tWvY zIn!#F+0{~iBx6i|v^*-t_gAl*FbW%~ku}%qPnVKfy8#iML~Tj+$xEZWz|)@(SW`(W zV7f2hc0m7dY)gm2iT5|my(d>IEgdhlNuD6IPl=gu0y*7Pf6lR36z%)fO2^-+oCpA= z|2)48I8MN*u&rfhouP#2?iQEblSLu^45Y<%{X(RgZn88)14ilkcEi5JH4;BgVpFaDd-o0SjVX(`a_Dk^;=+HUX>_FlhGl^6 z$SA2ig4x{^a3Ej8^iPOK&WY~LyWngLtcp=akH~K!Y$)2>?B6LGWIb^Mny$v`!T#~k zRkEFy3m25RFUhe0m!&epqq-77H6Q1NeUQ)`x`@GjnHqJ`JFG@N1d2_dWWQ5%pVWb=F1f_-+i=u@7Ggks#H0q_J1&?rN~8 z@B?0)!Susc1DVv_cZ5-LcVxBwL7!69Qmtk=nZJi6PCO%&@o^XVj9t928lq^}QL*vI zBSlw|hFtYnqR9Jx3Y%I=n`X7Wz-kDc6wD}yG=O-t{oV1$ej^{!M+b~G@A+wlmS-BlcCGU9= zMU$eCf#plvF*y@D{l`wbJnhgqJCN%{tDYj}N2iiGIB4>5XJH+>xv>>Ne-eDWZ3^D(5n)UK3 zg0)8HNjp@z0@t#=PYSM1WLKLUU-#sav~tHOnC70121x+hw@)-}W=ol%KAMjGP06J1 zd=lQ|QsiSB_t||)5iRk5`J!MWoG-pV#5#0~_&}vg)W6quxPpzGAY8wFi8U>?)+5pH zv~pituUu_#m8F%EKMn8Kp7yL(q%D&RyRc}`;f5G|eQ-y$R)?HT>_A?x#$-&%@$>lI zE`EOr91P(-GgT{@FW6a2y;7*LU9O_neT~mQm^lVkK`pxYqYUzV&+8QmYS}jXWFczo z%0;QF;MPYPnb31HNOo(4P&IxijXw4G+zdDH!v!}2j&>)$-`&0rZq z{HXYXsn^)&H%*fux1*3qjH|1;U9G;P-V3s8q;{jssnY)0KUepk=`PN?^LsykzdEXB zf@NYdV4_2=U*D7PYUf4XsSAElh{U>aDkRw|=f5JRreiXEcVq=Sl0QhCOGw8qWf`h7yQ9cCN505K zTKpHjyO(*01%Dw8?=;oT^3+%RJBcQ$T|B-IgrLh8lpSHZ{)zi%~zJ8EH@|`R@lZxL8OLB!tvgzgKu9Yy0wih53eH?&*b92 zTKc9`+809?+=X~A<_p%vw3Fg={O?F>f!T&eVX`-Wc~@Y3ako5%=mh5sn=DbF@Y1p8 zkgGzBl=UquH=aw#XtHrXfe8|>0cGYt0Qv?KGcz?cbH*ENet-qlk689_~7q8TRqmK zH5lcLM%X9BLI7``v+~&J8CFXRaEIHkcGY(T5UMz)94>M=fIL;*X@Wum;p826|K}ad zNcCC!c*t}!}N$Hqf{A0hnmM*MR z#Z_Zz6xi{}eFc1;Um*!auS=JKa-1gq>2Iek7~ki{xKZqMjhEA8iDk`pz=U`pe{hjg zCJGurL-yigrqaJC-L5Nwl7s9}SRCwhKN7#)H4!q}{^`l-OoOAi?{YSdPG|x z;njb>W-Uv=%xJn8ADtVlRPs1&Mo-u6mGZNPgiMqs;W|SC0GWG2LXk89`$b+&Jd6|< zPsB4vsz}AUuNvJcvhj%E5R0;Z!mftINwz1IeN)EDvtCgEJ)O!X0*WV{q? zbfw>7Z)Lz3*&^3X{4VCif6e_IV-A15B^COD;-Xj*UlZbDcsC(+B*^VLsbQ$+O>fLYo5@JTGAG5Fd_NkQ;BGv5j@7@(_jpfS-~_D^TdU>7*EZmVY$isE^BKAEWbmm!YsOr^ zGph6oC`~H`ku>~Xb29cXzku&`yr`V-t#rke3)5*Bu@7$4_OB`T%ihZFX|xC4!(ro&WVND?Xb0jSWzjqexFgR!QSK)pGL$9UHdqrVv$IIxcP%CqAnoIYmyEXQaeX zm41~sqTl((U6!zm)Pf}qhPy3pusg^JLf~oRIDAC9lgqDE5H1iB?g0_(Fu*K&(hZhN zYH2wgEU1xyip^#MPqvNKb@9H9C!vy}1;y0?yG|p0R`cK7v9X_ubm82bE^#!wY6b$) z-N*Qq0f8R-oI9=6m7cOo+(y!3Xv(vF1b=alu(i>`&WwceR{x|rH^++%oe3mp<$U$~ zbG8k49!4_iPa#g^5fC1Ub3B6IS0_hEV}|X%;==g+V96enio1lu0C)LNBq;mm@EFy3 z9vf2ev$nsDyhcc@U>M(fhkNkWB>oJ3FTB7QD{FKmIe;-yX*$IDEQK^~{d;c&Ds4}n z<&3KIb_qFWa6uXjHPZTy?YrI`_7}}01o=U@5r{dv%hA+Q`dAl4SN1gB0$cfSZ2(}X z@)?|WqjEaBWN1O?k?UNa+Igqoi4JkiG*OLe=bcI6PEz<~WwtCju{ z$?s<5uKC6<&(Y|!e_DxQ_yZuUV!w+?pAl#012}(VZtSBeg0#E>OySOmiSzEiani%P zrT6#FVYwICtHvdDZ?6AfXeb$Q@R4oDJ&WeS+>`?r5yUXLVrPo6{7l2Nc$W9}8ON4I z^T{do_qdiJmhH+talywjIZNKr-a>FyBFDZ;9W(kQOXOAae=l<#?BD`2%9$noS$JkH z=mfJWxiC&jN2fSTFj;|nhdik2HR+irK=vg$PNY92CLspj0qI+%Db^aFvZPL3M#A|B zzQG}dA~0mQhd&|MWinoBKA+zBI{H=LhS}^Wnn5mdlT#E-Seeia2o$Nvir5jRl7pgma(K@P97nFg;e639jDp<+}dd z#c_1@q#z} z7@f1No}a5cLOrTVSpaNe-PO4w!Lj@giHgf#iYBF@d;+LX(7KfV!c54y%W~!}P;JTG z(!xoHEa#usMS@40E*p2wcm%{#UqOudegL9vJvO6v+yu#o^F7v zxkO|FO3*=*RJIs7CW$!m*k8wioIygQ{o{a2=sWFmTzy=jHvUzmvs)e!?7X|f3qFTd zgVF3?pt!qND@xn|@jM$0+-ZZQKBYQ?#DIT)y1qlu1c+t~Z^j*bO`*f1e*0;e4nt>| zP#G!u#WvBU)1{5fn94+dv0Uy>5r{5*M_qSH00zD7z0m$|C!zK38SeFxCXUlf-T=FjHEvD3A^Jb>w8SxBw0LGULU@h2)b9o%S7r6z&{Z zalO*jzLlk%4#SMRF5ju8c_deHS0?b6yirN)3>>d?j0(vN5@`83_9fgJ2?q!6n58aG@F2@iGO%wfOiqV3o+oZL!?K#qH;}iBxQ^;uI2hZ3t8GGfAoNUJV)wsCa&H0}c zaE{4dO#K4-l75x9!J}3dpB0_cFBSy^>qzxOm$p8~^uv40?;3xY@dw}a?qJ~DvA-;~ zQe~2&UU&H+<`1LHvpqdnBk5B*Y;s2=DH^}-c=Vk-`FZIkrq-uj5V3Xbd1;7&_~)XV zl9sE=^us{sjVQqQ-&e&yFLaKLDLuvFq-qyanZE=~W5|PV$g>=ZDpr0d7r|519Q&d3 zj{?M`apw>NEy}XfbgK@KvZ^&-D}^snG)ujtnKBV$%L_5@`+eltS>W=Tph6MHdB-=R z!3UT0VIWiZhhCSkP_$n0F>W?A-QaO~V+|N}9lb?}DrtU}dR#LsLAG=1#l7U&6LXaU z735G)mJUl=`zD~%O0+4v;&B{lhBS5~sPz`no<(dg1}wo(cY$)D^~U2D>U{%sN0hdaLR_f9lB+_S`A ze_gb%A%z;eul*)-TnngJ_x1Nqc{zbhAdmFnDCdyatFG@){JU3PpK*t1h?Bd`b(r=X z8Tau_pi-zssPkjFfi56ox2oR+yDKdCzyCY;GEhnZ6xeqkOoSoPZ zzQIkLo@6{qvsSgIhY>O1>ok~Zz`uRtpWqqJugnvajFnE_^CRw4h)@bRN9tWxQ37Lz zvl&IM^!fMWUwx%ri@bwlg>xA0C3iv*mlso!|*dU#|x1&*Z(Q|>Yj&iPOND02R(i!~K;v|`V5W1I`sVz(84zv2+3>Sg>n=0IvTxrqHt zg9(1b@*>tnCC89<^rPBgk9qKg{u84=#~WYGjen+T0kS`ZNdcFX~FS^*7z^}E)5#-uj{xO>Z}8g%FiShhC@0t z+Q(Cj8u(@GTZ78QmNqIbGgAMydWOOk`S%nuPKgcmINE9HZ!!MBA1!11AJ2qSQ1aMP z-<% literal 0 HcmV?d00001 diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..be3f7b2 --- /dev/null +++ b/LICENSE @@ -0,0 +1,661 @@ + GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +our General Public Licenses are intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU Affero General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the work with which it is combined will remain governed by version +3 of the GNU General Public License. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU Affero General Public License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU Affero General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU Affero General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU Affero General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a "Source" link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +specific requirements. + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU AGPL, see +. diff --git a/NOTICE b/NOTICE new file mode 100644 index 0000000..de665f7 --- /dev/null +++ b/NOTICE @@ -0,0 +1,7 @@ +Crank +Copyright 2026 bsodfather + +This product includes software developed for the Crank project. + +Crank Community is licensed under the GNU Affero General Public License +version 3 only. Commercial licensing for other editions is handled separately. diff --git a/README.md b/README.md new file mode 100644 index 0000000..565c560 --- /dev/null +++ b/README.md @@ -0,0 +1,269 @@ +# Crank + +![Crank](./Crank.png) + +Crank - это свободная платформа для создания MCP-инструментов из REST API эндпоинтов. + +Сервис ставится на собственный сервер, подключается к PostgreSQL и дает веб-интерфейс, в котором можно описать REST API, проверить вызов, опубликовать его как инструмент и подключить к MCP-клиенту. + +## Что умеет Crank + +- Создавать REST-инструменты через веб-интерфейс или YAML. +- Принимать параметры от MCP-клиента и подставлять их в путь, query string, заголовки или тело REST-запроса. +- Преобразовывать ответ REST API в структурированный результат для MCP-клиента. +- Публиковать только выбранные инструменты для конкретного агента. +- Хранить версии, черновики, примеры запросов и ответов, секреты, журналы вызовов и статистику в PostgreSQL. +- Работать с простой авторизацией администратора: email, пароль и браузерная сессия. +- Запускаться через Docker Compose. + +## Быстрый запуск через Docker + +Требования: + +- Docker; +- Docker Compose; +- свободные порты `3000`, `3001`, `3002`; +- доступ к опубликованным Docker-образам Crank. + +Создайте рабочую папку: + +```bash +mkdir -p crank +cd crank +``` + +Скачайте compose-файл и пример настроек: + +```bash +curl -fsSLo docker-compose.yml https://git.itexp.me/bsodfather/crank/raw/branch/main/deploy/community/docker-compose.images.yml +curl -fsSLo .env.example https://git.itexp.me/bsodfather/crank/raw/branch/main/deploy/community/.env.images.example +cp .env.example .env +``` + +Откройте скачанный `.env.example` и перенесите нужные значения в `.env`. + +Минимально нужно заменить: + +- `POSTGRES_PASSWORD`; +- `CRANK_MASTER_KEY`; +- `CRANK_SESSION_SECRET`; +- `CRANK_PASSWORD_PEPPER`; +- `CRANK_BOOTSTRAP_ADMIN_EMAIL`; +- `CRANK_BOOTSTRAP_ADMIN_PASSWORD`; +- `CRANK_BASE_URL`. + +Секреты можно сгенерировать так: + +```bash +openssl rand -hex 32 +``` + +Запустите Crank: + +```bash +docker compose --profile local-db up -d +``` + +Если registry требует авторизацию, сначала выполните `docker login git.itexp.me`. + +После запуска: + +- веб-интерфейс: `http://localhost:3000`; +- HTTP API панели управления: `http://localhost:3001`; +- MCP-сервер: `http://localhost:3002`. + +По умолчанию порты публикуются только на `127.0.0.1`. Это удобно, если перед Crank стоит nginx, Caddy или другой обратный прокси. Если нужно открыть порты наружу напрямую, укажите в `.env`: + +```env +CRANK_PUBLISH_BIND=0.0.0.0 +``` + +Проверить состояние контейнеров: + +```bash +docker compose ps +``` + +Посмотреть журналы: + +```bash +docker compose logs -f admin-api mcp-server ui +``` + +Остановить сервис: + +```bash +docker compose down +``` + +Обновить Crank до свежих образов: + +```bash +docker compose --profile local-db pull +docker compose --profile local-db up -d +``` + +## Запуск с внешним PostgreSQL + +Если PostgreSQL уже запущен отдельно, профиль `local-db` не нужен. + +В `.env` укажите параметры вашей базы: + +- `POSTGRES_HOST`; +- `POSTGRES_PORT`; +- `POSTGRES_DB`; +- `POSTGRES_USER`; +- `POSTGRES_PASSWORD`. + +Затем запустите только приложения Crank: + +```bash +docker compose up -d +``` + +Если используется PgBouncer, укажите его адрес в `POSTGRES_HOST` и порт в `POSTGRES_PORT`. + +## Запуск из исходников + +Если нужно собрать образы самостоятельно, клонируйте репозиторий и используйте корневой [`docker-compose.yml`](./docker-compose.yml): + +```bash +git clone https://github.com/bsodfather/crank-community.git crank +cd crank +cp .env.example .env +docker compose up -d --build +``` + +Этот вариант удобен для локальной проверки изменений перед отправкой патча. + +## Как пользоваться + +Обычный сценарий: + +1. Зайти в веб-интерфейс. +2. Создать REST-инструмент. +3. Описать входные параметры и правила вызова REST API. +4. Выполнить пробный запрос. +5. Опубликовать инструмент. +6. Привязать инструмент к агенту. +7. Создать ключ агента. +8. Подключить MCP-клиент к адресу агента. + +Каждый агент имеет свой каталог инструментов. MCP-клиент видит только те REST-инструменты, которые явно привязаны к этому агенту. + +## Что входит в эту версию + +Этот репозиторий содержит открытую версию Crank: + +- REST API как источник инструментов; +- MCP через Streamable HTTP; +- веб-интерфейс администратора; +- простая авторизация администратора; +- ключи агентов для доступа к MCP; +- PostgreSQL как основное хранилище; +- необязательный Valkey или Redis для служебного кэша. + +## Структура проекта + +```text +apps/ + admin-api/ HTTP API для веб-интерфейса + mcp-server/ MCP-сервер + ui/ веб-интерфейс + +crates/ + crank-core/ общая модель данных + crank-registry/ работа с PostgreSQL + crank-runtime/ выполнение REST-инструментов + crank-adapter-rest/ REST-адаптер + crank-community-auth/ пароли и сессии + crank-community-mcp/ слой MCP + crank-mapping/ преобразование данных через JSONPath + crank-schema/ проверка схем + +deploy/community/ + docker-compose.yml запуск с внешним PostgreSQL + docker-compose.images.yml запуск готовых образов без исходников + .env.example пример настроек для серверного запуска из исходников + .env.images.example пример настроек для запуска готовых образов +``` + +## Разработка + +Для разработки нужны: + +- Rust toolchain из [`rust-toolchain.toml`](./rust-toolchain.toml); +- Node.js и npm; +- PostgreSQL; +- Docker, если хотите запускать полный стенд контейнерами. + +Быстрее всего поднять окружение так же, как для обычного запуска: + +```bash +git clone https://github.com/bsodfather/crank-community.git crank +cd crank +cp .env.example .env +docker compose up -d postgres +``` + +Приложения читают настройки из переменных окружения. Можно использовать `.env` через свое окружение разработки, `direnv`, IDE или любой другой привычный способ загрузки переменных. + +Сервер панели управления: + +```bash +cargo run -p admin-api +``` + +MCP-сервер: + +```bash +cargo run -p mcp-server +``` + +Веб-интерфейс: + +```bash +cd apps/ui +npm ci +npm run dev +``` + +Проверки: + +```bash +just fmt-check +just clippy +just test +``` + +Сборка веб-интерфейса: + +```bash +cd apps/ui +npm ci +npm run build +``` + +E2E-проверки: + +```bash +cd apps/ui +npx playwright test +``` + +## Документация + +- [Настройки запуска](docs/runtime-config.md) +- [Развертывание](docs/deployment.md) +- [MCP-интерфейс](docs/mcp-interface.md) +- [Английский README](docs/en/README.md) + +## Участие в разработке + +Перед отправкой pull request нужно согласиться с [Contributor License Agreement](CLA.md). + +Правила участия описаны в [CONTRIBUTING.md](CONTRIBUTING.md). + +## Лицензия + +GNU Affero General Public License v3.0 only diff --git a/apps/admin-api/Cargo.toml b/apps/admin-api/Cargo.toml new file mode 100644 index 0000000..4b745c6 --- /dev/null +++ b/apps/admin-api/Cargo.toml @@ -0,0 +1,39 @@ +[package] +name = "admin-api" +edition.workspace = true +license.workspace = true +rust-version.workspace = true +version.workspace = true + +[[bin]] +name = "admin-api" +path = "src/main.rs" + +[dependencies] +argon2.workspace = true +axum.workspace = true +axum-extra.workspace = true +base64.workspace = true +crank-community-auth = { path = "../../crates/crank-community-auth" } +crank-core = { path = "../../crates/crank-core" } +crank-mapping = { path = "../../crates/crank-mapping" } +crank-registry = { path = "../../crates/crank-registry" } +crank-runtime = { path = "../../crates/crank-runtime" } +crank-schema = { path = "../../crates/crank-schema" } +rand.workspace = true +serde.workspace = true +serde_json.workspace = true +serde_yaml.workspace = true +sha2.workspace = true +sqlx.workspace = true +thiserror.workspace = true +time.workspace = true +tokio = { workspace = true, features = ["fs"] } +tracing.workspace = true +tracing-subscriber.workspace = true +uuid.workspace = true + +[dev-dependencies] +async-trait = "0.1" +reqwest.workspace = true +serial_test = "3" diff --git a/apps/admin-api/Dockerfile b/apps/admin-api/Dockerfile new file mode 100644 index 0000000..a80dab9 --- /dev/null +++ b/apps/admin-api/Dockerfile @@ -0,0 +1,68 @@ +FROM rust:1.85-bookworm AS deps + +WORKDIR /app + +COPY Cargo.toml Cargo.lock ./ +COPY .sqlx ./.sqlx +COPY apps/admin-api/Cargo.toml apps/admin-api/Cargo.toml +COPY apps/mcp-server/Cargo.toml apps/mcp-server/Cargo.toml +COPY crates/crank-core/Cargo.toml crates/crank-core/Cargo.toml +COPY crates/crank-schema/Cargo.toml crates/crank-schema/Cargo.toml +COPY crates/crank-mapping/Cargo.toml crates/crank-mapping/Cargo.toml +COPY crates/crank-registry/Cargo.toml crates/crank-registry/Cargo.toml +COPY crates/crank-runtime/Cargo.toml crates/crank-runtime/Cargo.toml +COPY crates/crank-adapter-rest/Cargo.toml crates/crank-adapter-rest/Cargo.toml + +RUN mkdir -p \ + apps/admin-api/src \ + apps/mcp-server/src \ + crates/crank-core/src \ + crates/crank-schema/src \ + crates/crank-mapping/src \ + crates/crank-registry/src \ + crates/crank-runtime/src \ + crates/crank-adapter-rest/src \ + && printf 'fn main() {}\n' > apps/admin-api/src/main.rs \ + && printf 'fn main() {}\n' > apps/mcp-server/src/main.rs \ + && printf 'pub fn placeholder() {}\n' > crates/crank-core/src/lib.rs \ + && printf 'pub fn placeholder() {}\n' > crates/crank-schema/src/lib.rs \ + && printf 'pub fn placeholder() {}\n' > crates/crank-mapping/src/lib.rs \ + && printf 'pub fn placeholder() {}\n' > crates/crank-registry/src/lib.rs \ + && printf 'pub fn placeholder() {}\n' > crates/crank-runtime/src/lib.rs \ + && printf 'pub fn placeholder() {}\n' > crates/crank-adapter-rest/src/lib.rs + +RUN --mount=type=cache,target=/usr/local/cargo/registry \ + --mount=type=cache,target=/usr/local/cargo/git/db \ + --mount=type=cache,target=/app/target \ + SQLX_OFFLINE=true cargo build --release -p admin-api + +FROM rust:1.85-bookworm AS builder + +WORKDIR /app + +COPY Cargo.toml Cargo.lock ./ +COPY .sqlx ./.sqlx +COPY apps ./apps +COPY crates ./crates + +RUN --mount=type=cache,target=/usr/local/cargo/registry \ + --mount=type=cache,target=/usr/local/cargo/git/db \ + --mount=type=cache,target=/app/target \ + SQLX_OFFLINE=true cargo build --release -p admin-api \ + && cp /app/target/release/admin-api /tmp/admin-api + +FROM debian:bookworm-slim + +RUN apt-get update \ + && apt-get install -y --no-install-recommends ca-certificates curl \ + && rm -rf /var/lib/apt/lists/* + +WORKDIR /app + +COPY --from=builder /tmp/admin-api /usr/local/bin/admin-api + +ENV CRANK_ADMIN_BIND=0.0.0.0:3001 + +EXPOSE 3001 + +CMD ["admin-api"] diff --git a/apps/admin-api/src/app.rs b/apps/admin-api/src/app.rs new file mode 100644 index 0000000..0022148 --- /dev/null +++ b/apps/admin-api/src/app.rs @@ -0,0 +1,3957 @@ +use axum::{ + Router, middleware, + routing::{delete, get, post}, +}; + +use crate::{ + auth::{require_session, require_workspace_session}, + rate_limit::apply_api_rate_limit, + request_context::apply_request_context, + routes::{ + access::{ + create_invitation, delete_invitation, delete_membership, delete_workspace, + export_workspace, list_invitations, list_memberships, update_membership, + }, + agents::{ + archive_agent, create_agent, create_agent_platform_api_key, delete_agent, + delete_agent_platform_api_key, get_agent, get_agent_version, + list_agent_platform_api_keys, list_agents, publish_agent, + revoke_agent_platform_api_key, save_agent_bindings, unpublish_agent, update_agent, + }, + auth::{ + change_password, get_profile, get_session, login, logout, update_current_workspace, + update_profile, + }, + auth_profiles::{create_auth_profile, get_auth_profile, list_auth_profiles}, + capabilities::get_capabilities, + machine_auth::{issue_agent_token, issue_one_time_agent_token}, + observability::{get_agent_usage, get_log, get_operation_usage, get_usage, list_logs}, + operations::{ + archive_operation, create_operation, create_version, delete_operation, + export_operation, generate_draft, get_operation, get_operation_version, + list_operations, publish_operation, run_test, update_operation, upload_input_json, + upload_output_json, + }, + secrets::{create_secret, delete_secret, get_secret, list_secrets, rotate_secret}, + streaming::list_protocol_capabilities, + workspaces::{create_workspace, get_workspace, list_workspaces, update_workspace}, + }, + state::AppState, +}; + +pub fn build_app(state: AppState) -> Router { + let workspace_router = Router::new() + .route("/operations", get(list_operations).post(create_operation)) + .route("/operations/import", post(import_operation)) + .route( + "/operations/{operation_id}", + get(get_operation) + .patch(update_operation) + .delete(delete_operation), + ) + .route("/operations/{operation_id}/versions", post(create_version)) + .route( + "/operations/{operation_id}/versions/{version}", + get(get_operation_version), + ) + .route( + "/operations/{operation_id}/publish", + post(publish_operation), + ) + .route( + "/operations/{operation_id}/archive", + post(archive_operation), + ) + .route("/operations/{operation_id}/test-runs", post(run_test)) + .route( + "/operations/{operation_id}/samples/input-json", + post(upload_input_json), + ) + .route( + "/operations/{operation_id}/samples/output-json", + post(upload_output_json), + ) + .route( + "/operations/{operation_id}/drafts/generate", + post(generate_draft), + ) + .route("/operations/{operation_id}/export", get(export_operation)) + .route("/agents", get(list_agents).post(create_agent)) + .route( + "/agents/{agent_id}", + get(get_agent).patch(update_agent).delete(delete_agent), + ) + .route( + "/agents/{agent_id}/versions/{version}", + get(get_agent_version), + ) + .route("/agents/{agent_id}/bindings", post(save_agent_bindings)) + .route("/agents/{agent_id}/publish", post(publish_agent)) + .route("/agents/{agent_id}/unpublish", post(unpublish_agent)) + .route("/agents/{agent_id}/archive", post(archive_agent)) + .route( + "/agents/{agent_id}/platform-api-keys", + get(list_agent_platform_api_keys).post(create_agent_platform_api_key), + ) + .route( + "/agents/{agent_id}/platform-api-keys/{key_id}/revoke", + post(revoke_agent_platform_api_key), + ) + .route( + "/agents/{agent_id}/platform-api-keys/{key_id}", + delete(delete_agent_platform_api_key), + ) + .route( + "/auth-profiles", + get(list_auth_profiles).post(create_auth_profile), + ) + .route("/auth-profiles/{auth_profile_id}", get(get_auth_profile)) + .route("/secrets", get(list_secrets).post(create_secret)) + .route( + "/secrets/{secret_id}", + get(get_secret).delete(delete_secret), + ) + .route("/secrets/{secret_id}/rotate", post(rotate_secret)) + .route("/members", get(list_memberships)) + .route( + "/members/{user_id}", + axum::routing::patch(update_membership).delete(delete_membership), + ) + .route( + "/invitations", + get(list_invitations).post(create_invitation), + ) + .route("/invitations/{invitation_id}", delete(delete_invitation)) + .route("/export", get(export_workspace)) + .route("/logs", get(list_logs)) + .route("/logs/{log_id}", get(get_log)) + .route("/usage", get(get_usage)) + .route("/usage/operations/{operation_id}", get(get_operation_usage)) + .route("/usage/agents/{agent_id}", get(get_agent_usage)) + .route("/protocol-capabilities", get(list_protocol_capabilities)); + + let workspace_root_router = Router::new() + .route("/capabilities", get(get_capabilities)) + .route("/workspaces", get(list_workspaces).post(create_workspace)) + .layer(middleware::from_fn_with_state( + state.clone(), + require_session, + )); + + let workspace_scoped_router = Router::new() + .route( + "/workspaces/{workspace_id}", + get(get_workspace) + .patch(update_workspace) + .delete(delete_workspace), + ) + .nest("/workspaces/{workspace_id}", workspace_router) + .layer(middleware::from_fn_with_state( + state.clone(), + require_workspace_session, + )); + + let admin_router = workspace_root_router.merge(workspace_scoped_router); + + let protected_auth_router = Router::new() + .route("/logout", post(logout)) + .route("/session", get(get_session)) + .route("/profile", get(get_profile).patch(update_profile)) + .route("/current-workspace", post(update_current_workspace)) + .route("/password", post(change_password)) + .layer(middleware::from_fn_with_state( + state.clone(), + require_session, + )); + + Router::new() + .route("/health", get(crate::routes::health)) + .nest( + "/api/auth", + Router::new() + .route("/login", post(login)) + .merge(protected_auth_router), + ) + .nest( + "/mcp-auth/v1", + Router::new() + .route("/token", post(issue_agent_token)) + .route("/token/one-time", post(issue_one_time_agent_token)), + ) + .nest("/api/admin", admin_router) + .layer(middleware::from_fn_with_state( + state.clone(), + apply_api_rate_limit, + )) + .layer(middleware::from_fn(apply_request_context)) + .with_state(state) +} + +use crate::routes::operations::import_operation; + +#[cfg(test)] +mod tests { + use std::{ + collections::BTreeMap, + env, fmt, + sync::Arc, + time::{SystemTime, UNIX_EPOCH}, + }; + + use async_trait::async_trait; + use axum::{Json, Router, routing::post}; + #[cfg(any())] + use crank_adapter_grpc::test_support as grpc_test_support; + #[cfg(any())] + use crank_core::{ + AsyncJobHandle, AsyncJobId, DescriptorId, ExecutionMode, GrpcTarget, JobStatus, + OperationId, SoapBindingStyle, SoapOperationMetadata, SoapTarget, SoapVersion, + StreamSession, StreamStatus, TransportBehavior, + }; + use crank_core::{ + ExecutionConfig, GraphqlOperationType, GraphqlTarget, HttpMethod, MembershipRole, + OperationSecurityLevel, Protocol, ResponseCachePolicy, RestTarget, SecretKind, Target, + ToolDescription, WebsocketTarget, WorkspaceId, + }; + use crank_core::{IdentityError, IdentityProvider, IdentityProviderKind, LoginOutcome}; + use crank_mapping::{MappingRule, MappingSet}; + use crank_registry::PostgresRegistry; + #[cfg(any())] + use crank_registry::{CreateAsyncJobRequest, CreateStreamSessionRequest}; + use crank_runtime::SecretCrypto; + use crank_schema::{Schema, SchemaKind}; + use serde_json::{Value, json}; + use serial_test::serial; + use sqlx::{Connection, Executor, PgConnection}; + #[cfg(any())] + use time::OffsetDateTime; + use tokio::net::TcpListener; + + use crate::{ + app::build_app, + auth::{AuthSettings, BootstrapAdminConfig, hash_password}, + service::{AdminService, AdminServiceBuilder, OperationPayload}, + state::AppState, + }; + + const DEFAULT_WORKSPACE_ID: &str = "ws_default"; + const TEST_AUTH_EMAIL: &str = "owner@crank.local"; + const TEST_AUTH_PASSWORD: &str = "test-password"; + const TEST_PASSWORD_PEPPER: &str = "test-password-pepper"; + const TEST_SESSION_SECRET: &str = "test-session-secret"; + const TEST_MASTER_KEY: &str = "test-master-key"; + + struct TestServer { + base_url: String, + shutdown: Option>, + handle: Option>, + } + + impl Drop for TestServer { + fn drop(&mut self) { + let shutdown = self.shutdown.take(); + let handle = self.handle.take(); + + tokio::task::block_in_place(|| { + if let Some(shutdown) = shutdown { + let _ = shutdown.send(()); + } + if let Some(handle) = handle { + let _ = tokio::runtime::Handle::current().block_on(handle); + } + }); + } + } + + impl fmt::Display for TestServer { + fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result { + formatter.write_str(&self.base_url) + } + } + + impl AsRef for TestServer { + fn as_ref(&self) -> &str { + &self.base_url + } + } + + struct RejectingIdentityProvider; + + #[async_trait] + impl IdentityProvider for RejectingIdentityProvider { + fn id(&self) -> &str { + "rejecting-test-provider" + } + + fn kind(&self) -> IdentityProviderKind { + IdentityProviderKind::Password + } + + async fn login_password( + &self, + _payload: crank_core::LoginPayload, + ) -> Result { + Err(IdentityError::BadCredentials) + } + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn creates_publishes_and_tests_rest_operation() { + let registry = test_registry().await; + let storage_root = test_storage_root("lifecycle"); + let upstream_base_url = spawn_upstream_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let created = client + .post(format!("{base_url}/operations")) + .json(&test_operation_payload( + &upstream_base_url, + "crm_create_lead", + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = created["operation_id"].as_str().unwrap().to_owned(); + + let listed = client + .get(format!("{base_url}/operations")) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let published = client + .post(format!("{base_url}/operations/{operation_id}/publish")) + .json(&json!({ "version": 1 })) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let test_run = client + .post(format!("{base_url}/operations/{operation_id}/test-runs")) + .json(&json!({ + "version": 1, + "input": { "email": "user@example.com" } + })) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + + assert_eq!(listed["items"][0]["name"], "crm_create_lead"); + assert_eq!( + listed["items"][0]["target_url"], + format!("{upstream_base_url}/crm/leads") + ); + assert_eq!(listed["items"][0]["target_action"], "POST"); + assert_eq!(published["published_version"], 1); + assert_eq!(test_run["ok"], true); + assert_eq!( + test_run["request_preview"]["body"]["email"], + "user@example.com" + ); + assert_eq!(test_run["response_preview"]["id"], "lead_123"); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn updates_archives_and_deletes_operation() { + let registry = test_registry().await; + let storage_root = test_storage_root("operation_mutations"); + let upstream_base_url = spawn_upstream_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let created = client + .post(format!("{base_url}/operations")) + .json(&test_operation_payload( + &upstream_base_url, + "crm_mutable_operation", + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = created["operation_id"].as_str().unwrap().to_owned(); + + let listed = client + .get(format!("{base_url}/operations")) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + assert_eq!(listed["total"], 1); + assert_eq!(listed["items"][0]["category"], "sales"); + assert_eq!( + listed["items"][0]["target_url"], + format!("{upstream_base_url}/crm/leads") + ); + assert_eq!(listed["items"][0]["target_action"], "POST"); + + let updated = client + .patch(format!("{base_url}/operations/{operation_id}")) + .json(&json!({ + "display_name": "Create Lead Updated", + "category": "marketing", + "target": { + "kind": "rest", + "base_url": upstream_base_url, + "method": "POST", + "path_template": "/crm/leads", + "static_headers": {} + }, + "input_schema": { + "type": "object", + "required": true, + "nullable": false, + "fields": { + "email": { + "type": "string", + "required": true, + "nullable": false + } + } + }, + "output_schema": { + "type": "object", + "required": true, + "nullable": false, + "fields": { + "id": { + "type": "string", + "required": true, + "nullable": false + } + } + }, + "input_mapping": { + "rules": [ + { + "source": "$.mcp.email", + "target": "$.request.body.email", + "required": true + } + ] + }, + "output_mapping": { + "rules": [ + { + "source": "$.response.body.id", + "target": "$.output.id", + "required": true + } + ] + }, + "execution_config": { + "timeout_ms": 1000, + "headers": {} + }, + "tool_description": { + "title": "Create Lead Updated", + "description": "Creates a CRM lead", + "tags": ["crm"] + } + })) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + assert_eq!(updated["status"], "draft"); + + let detail = client + .get(format!("{base_url}/operations/{operation_id}")) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + assert_eq!(detail["display_name"], "Create Lead Updated"); + assert_eq!(detail["category"], "marketing"); + + let archived = client + .post(format!("{base_url}/operations/{operation_id}/archive")) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + assert_eq!(archived["status"], "archived"); + + let deleted = client + .delete(format!("{base_url}/operations/{operation_id}")) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + assert_eq!(deleted["operation_id"], operation_id); + + let missing = client + .get(format!("{base_url}/operations/{operation_id}")) + .send() + .await + .unwrap(); + let missing_status = missing.status(); + let missing = missing.json::().await.unwrap(); + assert_eq!(missing_status, reqwest::StatusCode::NOT_FOUND); + assert_eq!(missing["error"]["code"], "not_found"); + assert_eq!( + missing["error"]["context"], + json!({ + "operation_id": operation_id + }) + ); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn creates_binds_and_publishes_agent() { + let registry = test_registry().await; + let storage_root = test_storage_root("agent_lifecycle"); + let upstream_base_url = spawn_upstream_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let operation = client + .post(format!("{base_url}/operations")) + .json(&test_operation_payload( + &upstream_base_url, + "crm_create_lead_agent", + )) + .send() + .await + .unwrap(); + let operation = assert_success_json(operation).await; + let operation_id = operation["operation_id"].as_str().unwrap().to_owned(); + + client + .post(format!("{base_url}/operations/{operation_id}/publish")) + .json(&json!({ "version": 1 })) + .send() + .await + .unwrap(); + + let agent = client + .post(format!("{base_url}/agents")) + .json(&json!({ + "slug": "sales-assistant", + "display_name": "Sales Assistant", + "description": "Curated sales toolset", + "instructions": {}, + "tool_selection_policy": {} + })) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let agent_id = agent["agent_id"].as_str().unwrap().to_owned(); + + let bindings = client + .post(format!("{base_url}/agents/{agent_id}/bindings")) + .json(&json!([ + { + "operation_id": operation_id, + "operation_version": 1, + "tool_name": "crm_create_lead_agent", + "tool_title": "Create Lead", + "enabled": true + } + ])) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let published = client + .post(format!("{base_url}/agents/{agent_id}/publish")) + .json(&json!({ "version": 1 })) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + + assert_eq!( + bindings["bindings"][0]["tool_name"], + "crm_create_lead_agent" + ); + assert_eq!(published["published_version"], 1); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn updates_lists_and_deletes_agent() { + let registry = test_registry().await; + let storage_root = test_storage_root("agent_mutations"); + let upstream_base_url = spawn_upstream_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let operation = client + .post(format!("{base_url}/operations")) + .json(&test_operation_payload( + &upstream_base_url, + "crm_create_lead_agents_page", + )) + .send() + .await + .unwrap(); + let operation = assert_success_json(operation).await; + let operation_id = operation["operation_id"].as_str().unwrap().to_owned(); + + client + .post(format!("{base_url}/operations/{operation_id}/publish")) + .json(&json!({ "version": 1 })) + .send() + .await + .unwrap(); + + let created = client + .post(format!("{base_url}/agents")) + .json(&json!({ + "slug": "support-team", + "display_name": "Support Team", + "description": "Support workflows", + "instructions": {}, + "tool_selection_policy": {} + })) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let agent_id = created["agent_id"].as_str().unwrap().to_owned(); + + client + .post(format!("{base_url}/agents/{agent_id}/bindings")) + .json(&json!([ + { + "operation_id": operation_id, + "operation_version": 1, + "tool_name": "crm_create_lead_agents_page", + "tool_title": "Create Lead", + "tool_description_override": null, + "enabled": true + } + ])) + .send() + .await + .unwrap(); + + client + .post(format!("{base_url}/agents/{agent_id}/publish")) + .json(&json!({ "version": 1 })) + .send() + .await + .unwrap(); + + let listed = client + .get(format!("{base_url}/agents")) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + assert_eq!(listed["items"][0]["operation_count"], 1); + assert_eq!(listed["items"][0]["operation_ids"][0], operation_id); + assert_eq!( + listed["items"][0]["mcp_endpoint"], + "/mcp/v1/default/support-team" + ); + assert_eq!(listed["items"][0]["status"], "published"); + + let updated = client + .patch(format!("{base_url}/agents/{agent_id}")) + .json(&json!({ + "slug": "support-escalation", + "display_name": "Support Escalation", + "description": "Escalation workflows" + })) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + assert_eq!(updated["agent_id"], agent_id); + + let detail = client + .get(format!("{base_url}/agents/{agent_id}")) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + assert_eq!(detail["slug"], "support-escalation"); + assert_eq!(detail["display_name"], "Support Escalation"); + assert_eq!(detail["operation_count"], 1); + assert_eq!(detail["mcp_endpoint"], "/mcp/v1/default/support-escalation"); + + let deleted = client + .delete(format!("{base_url}/agents/{agent_id}")) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + assert_eq!(deleted["agent_id"], agent_id); + + let missing = client + .get(format!("{base_url}/agents/{agent_id}")) + .send() + .await + .unwrap(); + let missing_status = missing.status(); + let missing = missing.json::().await.unwrap(); + assert_eq!(missing_status, reqwest::StatusCode::NOT_FOUND); + assert_eq!(missing["error"]["code"], "not_found"); + assert_eq!( + missing["error"]["context"], + json!({ + "agent_id": agent_id + }) + ); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn unpublishes_and_archives_agent() { + let registry = test_registry().await; + let storage_root = test_storage_root("agent_statuses"); + let upstream_base_url = spawn_upstream_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let operation = assert_success_json( + client + .post(format!("{base_url}/operations")) + .json(&test_operation_payload( + &upstream_base_url, + "crm_create_lead_agent_status", + )) + .send() + .await + .unwrap(), + ) + .await; + let operation_id = operation["operation_id"].as_str().unwrap().to_owned(); + + client + .post(format!("{base_url}/operations/{operation_id}/publish")) + .json(&json!({ "version": 1 })) + .send() + .await + .unwrap(); + + let created = assert_success_json( + client + .post(format!("{base_url}/agents")) + .json(&json!({ + "slug": "sales-routing", + "display_name": "Sales Routing", + "description": "Routing agent", + "instructions": {}, + "tool_selection_policy": {} + })) + .send() + .await + .unwrap(), + ) + .await; + let agent_id = created["agent_id"].as_str().unwrap().to_owned(); + + client + .post(format!("{base_url}/agents/{agent_id}/bindings")) + .json(&json!([ + { + "operation_id": operation_id, + "operation_version": 1, + "tool_name": "crm_create_lead_agent_status", + "tool_title": "Create Lead", + "tool_description_override": null, + "enabled": true + } + ])) + .send() + .await + .unwrap(); + + client + .post(format!("{base_url}/agents/{agent_id}/publish")) + .json(&json!({ "version": 1 })) + .send() + .await + .unwrap(); + + let unpublished = assert_success_json( + client + .post(format!("{base_url}/agents/{agent_id}/unpublish")) + .json(&json!({})) + .send() + .await + .unwrap(), + ) + .await; + assert_eq!(unpublished["agent_id"], agent_id); + + let draft_detail = assert_success_json( + client + .get(format!("{base_url}/agents/{agent_id}")) + .send() + .await + .unwrap(), + ) + .await; + assert_eq!(draft_detail["status"], "draft"); + assert_eq!(draft_detail["latest_published_version"], 1); + + let archived = assert_success_json( + client + .post(format!("{base_url}/agents/{agent_id}/archive")) + .json(&json!({})) + .send() + .await + .unwrap(), + ) + .await; + assert_eq!(archived["agent_id"], agent_id); + + let archived_detail = assert_success_json( + client + .get(format!("{base_url}/agents/{agent_id}")) + .send() + .await + .unwrap(), + ) + .await; + assert_eq!(archived_detail["status"], "archived"); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn manages_platform_access_resources() { + let registry = test_registry().await; + let storage_root = test_storage_root("platform_access"); + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let members = client + .get(format!("{base_url}/members")) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let created_invitation = client + .post(format!("{base_url}/invitations")) + .json(&json!({ + "email": "operator@example.com", + "role": "operator" + })) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let invitation_id = created_invitation["invitation"]["invitation"]["id"] + .as_str() + .unwrap() + .to_owned(); + let invitations = client + .get(format!("{base_url}/invitations")) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let delete_invitation_status = client + .delete(format!("{base_url}/invitations/{invitation_id}")) + .send() + .await + .unwrap() + .status(); + + assert_eq!(members["items"][0]["role"], "owner"); + assert_eq!( + created_invitation["invitation"]["invitation"]["status"], + "pending" + ); + assert!( + created_invitation["invite_token"] + .as_str() + .unwrap() + .starts_with("invite_") + ); + assert_eq!( + invitations["items"][0]["invitation"]["email"], + "operator@example.com" + ); + assert_eq!(delete_invitation_status, reqwest::StatusCode::NO_CONTENT); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn manages_agent_platform_api_keys() { + let registry = test_registry().await; + let storage_root = test_storage_root("agent_platform_keys"); + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let created_agent = assert_success_json( + client + .post(format!("{base_url}/agents")) + .json(&json!({ + "slug": "sales-routing", + "display_name": "Sales Routing", + "description": "Routing agent", + "instructions": {}, + "tool_selection_policy": {} + })) + .send() + .await + .unwrap(), + ) + .await; + let agent_id = created_agent["agent_id"].as_str().unwrap().to_owned(); + + let created_key = assert_success_json( + client + .post(format!("{base_url}/agents/{agent_id}/platform-api-keys")) + .json(&json!({ + "name": "sales-routing-primary", + "scopes": ["read", "write"] + })) + .send() + .await + .unwrap(), + ) + .await; + let key_id = created_key["api_key"]["api_key"]["id"] + .as_str() + .unwrap() + .to_owned(); + + let listed_keys = assert_success_json( + client + .get(format!("{base_url}/agents/{agent_id}/platform-api-keys")) + .send() + .await + .unwrap(), + ) + .await; + + let revoke_status = client + .post(format!( + "{base_url}/agents/{agent_id}/platform-api-keys/{key_id}/revoke" + )) + .send() + .await + .unwrap() + .status(); + let delete_status = client + .delete(format!( + "{base_url}/agents/{agent_id}/platform-api-keys/{key_id}" + )) + .send() + .await + .unwrap() + .status(); + + assert_eq!(created_key["api_key"]["api_key"]["agent_id"], agent_id); + assert_eq!( + listed_keys["items"][0]["api_key"]["agent_id"], + json!(agent_id) + ); + assert_eq!( + listed_keys["items"][0]["api_key"]["name"], + "sales-routing-primary" + ); + assert!(created_key["secret"].as_str().unwrap().starts_with("crk_")); + assert_eq!(revoke_status, reqwest::StatusCode::NO_CONTENT); + assert_eq!(delete_status, reqwest::StatusCode::NO_CONTENT); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn returns_community_capabilities() { + let registry = test_registry().await; + let storage_root = test_storage_root("community_capabilities"); + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + let root_url = base_url + .as_ref() + .split("/api/admin/workspaces/") + .next() + .unwrap(); + + let response = assert_success_json( + client + .get(format!("{root_url}/api/admin/capabilities")) + .send() + .await + .unwrap(), + ) + .await; + + assert_eq!(response["edition"], "community"); + assert_eq!(response["supported_protocols"], json!(["rest"])); + assert_eq!(response["supported_security_levels"], json!(["standard"])); + assert_eq!( + response["machine_access_modes"], + json!(["static_agent_key"]) + ); + assert_eq!(response["limits"]["max_workspaces"], 1); + assert_eq!(response["limits"]["max_users_per_workspace"], 1); + assert_eq!(response["limits"]["max_agents_per_workspace"], 1); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn rejects_short_lived_machine_token_issue_in_community() { + let registry = test_registry().await; + let storage_root = test_storage_root("community_short_lived_token_contract"); + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let root_url = base_url + .as_ref() + .split("/api/admin/workspaces/") + .next() + .unwrap(); + + let response = reqwest::Client::new() + .post(format!("{root_url}/mcp-auth/v1/token")) + .json(&json!({ + "grant_type": "agent_key", + "agent_key": "crk_agent_demo_secret", + "scope": ["tools:call"] + })) + .send() + .await + .unwrap(); + + assert_eq!(response.status(), reqwest::StatusCode::FORBIDDEN); + let payload = response.json::().await.unwrap(); + assert_eq!(payload["error"]["code"], "forbidden"); + assert_eq!( + payload["error"]["message"], + "short-lived machine access is not available in Community" + ); + assert_eq!(payload["error"]["context"]["edition"], "community"); + assert_eq!( + payload["error"]["context"]["machine_access_mode"], + "short_lived_token" + ); + assert_eq!(payload["error"]["context"]["grant_type"], "agent_key"); + assert_eq!(payload["error"]["context"]["upgrade_required"], json!(true)); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn rejects_one_time_machine_token_issue_in_community() { + let registry = test_registry().await; + let storage_root = test_storage_root("community_one_time_token_contract"); + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let root_url = base_url + .as_ref() + .split("/api/admin/workspaces/") + .next() + .unwrap(); + + let response = reqwest::Client::new() + .post(format!("{root_url}/mcp-auth/v1/token/one-time")) + .json(&json!({ + "agent_key": "crk_agent_demo_secret", + "operation_id": "op_sensitive_01", + "scope": ["tools:call"] + })) + .send() + .await + .unwrap(); + + assert_eq!(response.status(), reqwest::StatusCode::FORBIDDEN); + let payload = response.json::().await.unwrap(); + assert_eq!(payload["error"]["code"], "forbidden"); + assert_eq!( + payload["error"]["message"], + "one-time machine access is not available in Community" + ); + assert_eq!(payload["error"]["context"]["edition"], "community"); + assert_eq!( + payload["error"]["context"]["machine_access_mode"], + "one_time_token" + ); + assert_eq!( + payload["error"]["context"]["operation_id"], + "op_sensitive_01" + ); + assert_eq!(payload["error"]["context"]["upgrade_required"], json!(true)); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn returns_community_protocol_capabilities_only_for_supported_protocols() { + let registry = test_registry().await; + let storage_root = test_storage_root("community_protocol_capabilities"); + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let response = assert_success_json( + client + .get(format!("{base_url}/protocol-capabilities")) + .send() + .await + .unwrap(), + ) + .await; + + assert_eq!(response["items"].as_array().unwrap().len(), 1); + assert_eq!( + response["items"] + .as_array() + .unwrap() + .iter() + .map(|item| item["protocol"].as_str().unwrap()) + .collect::>(), + vec!["rest"] + ); + for item in response["items"].as_array().unwrap() { + assert_eq!(item["supports_execution_modes"], json!(["unary"])); + assert_eq!( + item["supports_transport_behaviors"], + json!(["request_response"]) + ); + } + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn rejects_graphql_protocol_for_community_operation_create() { + let registry = test_registry().await; + let storage_root = test_storage_root("community_graphql_reject_create"); + let upstream_base_url = spawn_graphql_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let response = client + .post(format!("{base_url}/operations")) + .json(&test_graphql_operation_payload( + &upstream_base_url, + "crm_graphql_not_in_community", + )) + .send() + .await + .unwrap(); + let status = response.status(); + let body = response.json::().await.unwrap(); + + assert_eq!(status, reqwest::StatusCode::BAD_REQUEST); + assert_eq!(body["error"]["code"], "validation_error"); + assert_eq!( + body["error"]["message"], + "protocol graphql is not supported in Community" + ); + assert_eq!( + body["error"]["context"], + json!({ + "protocol": "graphql", + "edition": "community", + }) + ); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn rejects_unsupported_protocol_for_community_operation_create() { + let registry = test_registry().await; + let storage_root = test_storage_root("community_protocol_reject"); + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let response = client + .post(format!("{base_url}/operations")) + .json(&test_websocket_operation_payload( + "wss://example.com/stream", + "telemetry_ws", + )) + .send() + .await + .unwrap(); + let status = response.status(); + let body = response.json::().await.unwrap(); + + assert_eq!(status, reqwest::StatusCode::BAD_REQUEST); + assert_eq!(body["error"]["code"], "validation_error"); + assert_eq!( + body["error"]["message"], + "protocol websocket is not supported in Community" + ); + assert_eq!( + body["error"]["context"], + json!({ + "protocol": "websocket", + "edition": "community", + }) + ); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn rejects_premium_security_level_for_community_operation_create() { + let registry = test_registry().await; + let storage_root = test_storage_root("community_security_reject_create"); + let upstream_base_url = spawn_upstream_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let mut payload = test_operation_payload(&upstream_base_url, "crm_elevated"); + payload.security_level = OperationSecurityLevel::Elevated; + + let response = client + .post(format!("{base_url}/operations")) + .json(&payload) + .send() + .await + .unwrap(); + let status = response.status(); + let body = response.json::().await.unwrap(); + + assert_eq!(status, reqwest::StatusCode::BAD_REQUEST); + assert_eq!(body["error"]["code"], "validation_error"); + assert_eq!( + body["error"]["message"], + "security level elevated is not supported in Community" + ); + assert_eq!( + body["error"]["context"], + json!({ + "security_level": "elevated", + "edition": "community", + }) + ); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn rejects_premium_security_level_for_community_operation_update() { + let registry = test_registry().await; + let storage_root = test_storage_root("community_security_reject_update"); + let upstream_base_url = spawn_upstream_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let created = client + .post(format!("{base_url}/operations")) + .json(&test_operation_payload( + &upstream_base_url, + "crm_update_elevated", + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = created["operation_id"].as_str().unwrap().to_owned(); + + let response = client + .patch(format!("{base_url}/operations/{operation_id}")) + .json(&json!({ + "display_name": "Create Lead", + "category": "sales", + "security_level": "elevated", + "target": { + "kind": "rest", + "base_url": upstream_base_url, + "method": "POST", + "path_template": "/crm/leads", + "static_headers": {} + }, + "input_schema": object_schema("email"), + "output_schema": object_schema("id"), + "input_mapping": { + "rules": [{ + "source": "$.mcp.email", + "target": "$.request.body.email", + "required": true, + "default_value": null, + "transform": null, + "condition": null, + "notes": null + }] + }, + "output_mapping": { + "rules": [{ + "source": "$.response.body.id", + "target": "$.output.id", + "required": true, + "default_value": null, + "transform": null, + "condition": null, + "notes": null + }] + }, + "execution_config": { + "timeout_ms": 1000, + "retry_policy": null, + "auth_profile_ref": null, + "headers": {}, + "protocol_options": null, + "streaming": null + }, + "tool_description": { + "title": "Create Lead", + "description": "Creates a CRM lead", + "tags": ["crm"], + "examples": [] + } + })) + .send() + .await + .unwrap(); + let status = response.status(); + let body = response.json::().await.unwrap(); + + assert_eq!(status, reqwest::StatusCode::BAD_REQUEST); + assert_eq!(body["error"]["code"], "validation_error"); + assert_eq!( + body["error"]["message"], + "security level elevated is not supported in Community" + ); + assert_eq!( + body["error"]["context"], + json!({ + "security_level": "elevated", + "edition": "community", + }) + ); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn rejects_response_cache_for_non_get_rest_operation_create() { + let registry = test_registry().await; + let storage_root = test_storage_root("community_response_cache_post_reject"); + let upstream_base_url = spawn_upstream_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let mut payload = test_operation_payload(&upstream_base_url, "crm_cache_post"); + payload.execution_config.response_cache = Some(ResponseCachePolicy { ttl_ms: 5_000 }); + + let response = client + .post(format!("{base_url}/operations")) + .json(&payload) + .send() + .await + .unwrap(); + let status = response.status(); + let body = response.json::().await.unwrap(); + + assert_eq!(status, reqwest::StatusCode::BAD_REQUEST); + assert_eq!(body["error"]["code"], "validation_error"); + assert_eq!( + body["error"]["context"]["field"], + "execution_config.response_cache" + ); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn rejects_response_cache_for_operation_with_auth_profile() { + let registry = test_registry().await; + let storage_root = test_storage_root("community_response_cache_auth_reject"); + let upstream_base_url = spawn_upstream_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let mut payload = test_operation_payload(&upstream_base_url, "crm_cache_auth"); + payload.target = Target::Rest(RestTarget { + base_url: upstream_base_url, + method: HttpMethod::Get, + path_template: "/crm/leads".to_owned(), + static_headers: BTreeMap::new(), + }); + payload.execution_config.response_cache = Some(ResponseCachePolicy { ttl_ms: 5_000 }); + payload.execution_config.auth_profile_ref = Some("auth_profile_01".into()); + + let response = client + .post(format!("{base_url}/operations")) + .json(&payload) + .send() + .await + .unwrap(); + let status = response.status(); + let body = response.json::().await.unwrap(); + + assert_eq!(status, reqwest::StatusCode::BAD_REQUEST); + assert_eq!(body["error"]["code"], "validation_error"); + assert_eq!( + body["error"]["context"]["field"], + "execution_config.auth_profile_ref" + ); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn manages_workspace_access_lifecycle() { + let registry = test_registry().await; + let storage_root = test_storage_root("workspace_access"); + let base_url = spawn_admin_api(build_test_app(registry.clone(), storage_root)).await; + let client = authorized_client(&base_url).await; + + let second_user_id = registry + .upsert_bootstrap_user("operator-2@crank.local", "Operator Two", "external-hash") + .await + .unwrap(); + registry + .ensure_membership( + &WorkspaceId::new(DEFAULT_WORKSPACE_ID), + &second_user_id, + MembershipRole::Viewer, + ) + .await + .unwrap(); + + let updated_members = assert_success_json( + client + .patch(format!("{base_url}/members/{}", second_user_id.as_str())) + .json(&json!({ "role": "admin" })) + .send() + .await + .unwrap(), + ) + .await; + let updated_member = updated_members["items"] + .as_array() + .unwrap() + .iter() + .find(|item| item["user"]["id"] == second_user_id.as_str()) + .unwrap(); + assert_eq!(updated_member["role"], "admin"); + + let exported = assert_success_json( + client + .get(format!("{base_url}/export")) + .send() + .await + .unwrap(), + ) + .await; + assert_eq!( + exported["workspace"]["workspace"]["id"], + DEFAULT_WORKSPACE_ID + ); + assert_eq!(exported["memberships"].as_array().unwrap().len(), 2); + + let delete_member_status = client + .delete(format!("{base_url}/members/{}", second_user_id.as_str())) + .send() + .await + .unwrap() + .status(); + assert_eq!(delete_member_status, reqwest::StatusCode::NO_CONTENT); + + let delete_workspace_status = client + .delete(base_url.as_ref()) + .send() + .await + .unwrap() + .status(); + assert_eq!(delete_workspace_status, reqwest::StatusCode::NO_CONTENT); + + let root_url = base_url + .as_ref() + .split("/api/admin/workspaces/") + .next() + .unwrap(); + let missing_workspace = client + .get(format!( + "{root_url}/api/admin/workspaces/{DEFAULT_WORKSPACE_ID}" + )) + .send() + .await + .unwrap(); + assert_eq!(missing_workspace.status(), reqwest::StatusCode::FORBIDDEN); + } + + #[tokio::test] + #[serial] + async fn seeds_demo_assets_for_live_ui() { + let registry = test_registry().await; + let storage_root = test_storage_root("demo_seed"); + let service = AdminService::new( + registry.clone(), + storage_root, + test_auth_settings(), + test_secret_crypto(), + ); + + service.bootstrap_admin_user().await.unwrap(); + service.seed_demo_assets().await.unwrap(); + + let owner = registry + .get_auth_user_by_email(TEST_AUTH_EMAIL) + .await + .unwrap() + .unwrap(); + let workspaces = service + .list_workspaces_for_user(&owner.user.id) + .await + .unwrap(); + assert!( + workspaces + .iter() + .any(|item| item.workspace.slug == "default") + ); + assert!( + workspaces + .iter() + .any(|item| item.workspace.slug == "growth-lab") + ); + + let default_workspace_id = WorkspaceId::new(DEFAULT_WORKSPACE_ID); + let operations = service + .list_operations(&default_workspace_id) + .await + .unwrap(); + assert!(operations.len() >= 2); + + let agents = service.list_agents(&default_workspace_id).await.unwrap(); + assert!(!agents.is_empty()); + + assert!(agents.iter().any(|agent| agent.key_count > 0)); + + let logs = service + .list_logs( + &default_workspace_id, + crate::service::LogsQuery { + level: None, + search: None, + source: None, + operation_id: None, + agent_id: None, + period: None, + limit: Some(20), + }, + ) + .await + .unwrap(); + assert!(!logs.is_empty()); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn updates_profile_and_changes_password() { + let registry = test_registry().await; + let storage_root = test_storage_root("settings_profile"); + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let root_url = base_url + .as_ref() + .split("/api/admin/workspaces/") + .next() + .unwrap() + .to_owned(); + let client = authorized_client(&base_url).await; + + let profile = assert_success_json( + client + .get(format!("{root_url}/api/auth/profile")) + .send() + .await + .unwrap(), + ) + .await; + assert_eq!(profile["user"]["email"], TEST_AUTH_EMAIL); + + let updated_profile = assert_success_json( + client + .patch(format!("{root_url}/api/auth/profile")) + .json(&json!({ + "display_name": "Updated Owner", + "email": "updated-owner@crank.local" + })) + .send() + .await + .unwrap(), + ) + .await; + assert_eq!(updated_profile["user"]["display_name"], "Updated Owner"); + assert_eq!( + updated_profile["user"]["email"], + "updated-owner@crank.local" + ); + + let password_status = client + .post(format!("{root_url}/api/auth/password")) + .json(&json!({ + "current_password": TEST_AUTH_PASSWORD, + "new_password": "updated-password-123" + })) + .send() + .await + .unwrap() + .status(); + assert_eq!(password_status, reqwest::StatusCode::NO_CONTENT); + + let relogin_client = reqwest::Client::builder() + .cookie_store(true) + .build() + .unwrap(); + let relogin_status = relogin_client + .post(format!("{root_url}/api/auth/login")) + .json(&json!({ + "email": "updated-owner@crank.local", + "password": "updated-password-123" + })) + .send() + .await + .unwrap() + .status(); + assert_eq!(relogin_status, reqwest::StatusCode::OK); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn switches_current_workspace_in_session() { + let registry = test_registry().await; + let storage_root = test_storage_root("session_workspace"); + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let root_url = base_url + .as_ref() + .split("/api/admin/workspaces/") + .next() + .unwrap() + .to_owned(); + let client = authorized_client(&base_url).await; + + let created_workspace = assert_success_json( + client + .post(format!("{root_url}/api/admin/workspaces")) + .json(&json!({ + "slug": "growth-lab", + "display_name": "Growth Lab", + "settings": {} + })) + .send() + .await + .unwrap(), + ) + .await; + let workspace_id = created_workspace["workspace"]["id"].as_str().unwrap(); + + let switched = assert_success_json( + client + .post(format!("{root_url}/api/auth/current-workspace")) + .json(&json!({ "workspace_id": workspace_id })) + .send() + .await + .unwrap(), + ) + .await; + assert_eq!(switched["current_workspace_id"], workspace_id); + + let session = assert_success_json( + client + .get(format!("{root_url}/api/auth/session")) + .send() + .await + .unwrap(), + ) + .await; + assert_eq!(session["current_workspace_id"], workspace_id); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn exposes_logs_and_usage_from_real_test_runs() { + let registry = test_registry().await; + let storage_root = test_storage_root("observability"); + let upstream_base_url = spawn_upstream_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let created = client + .post(format!("{base_url}/operations")) + .json(&test_operation_payload( + &upstream_base_url, + "crm_observability", + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = created["operation_id"].as_str().unwrap().to_owned(); + + client + .post(format!("{base_url}/operations/{operation_id}/test-runs")) + .json(&json!({ + "version": 1, + "input": { "email": "user@example.com" } + })) + .send() + .await + .unwrap(); + + let logs = client + .get(format!("{base_url}/logs?period=7d")) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let log_id = logs["items"][0]["log"]["id"].as_str().unwrap().to_owned(); + let log_detail = client + .get(format!("{base_url}/logs/{log_id}")) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let usage = client + .get(format!("{base_url}/usage?period=7d")) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_usage = client + .get(format!( + "{base_url}/usage/operations/{operation_id}?period=7d" + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + + assert_eq!(logs["items"][0]["log"]["source"], "admin_test_run"); + assert_eq!(logs["items"][0]["operation_name"], "crm_observability"); + assert_eq!(log_detail["log"]["status"], "ok"); + assert_eq!(usage["summary"]["rollup"]["calls_total"], 1); + assert_eq!(usage["summary"]["rollup"]["calls_ok"], 1); + assert_eq!( + usage["operations"][0]["operation_name"], + "crm_observability" + ); + assert_eq!(operation_usage["rollup"]["calls_total"], 1); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn preserves_request_id_for_test_run_invocations() { + let registry = test_registry().await; + let storage_root = test_storage_root("observability_request_id"); + let upstream_base_url = spawn_upstream_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let created = client + .post(format!("{base_url}/operations")) + .json(&test_operation_payload( + &upstream_base_url, + "crm_observability_request_id", + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = created["operation_id"].as_str().unwrap().to_owned(); + + let response = client + .post(format!("{base_url}/operations/{operation_id}/test-runs")) + .header("x-request-id", "req_test_123") + .json(&json!({ + "version": 1, + "input": { "email": "user@example.com" } + })) + .send() + .await + .unwrap(); + + assert_eq!( + response.headers()["x-request-id"].to_str().unwrap(), + "req_test_123" + ); + response.error_for_status().unwrap(); + + let logs = client + .get(format!("{base_url}/logs?period=7d")) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + + assert_eq!(logs["items"][0]["log"]["request_id"], "req_test_123"); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn generates_request_id_for_test_run_invocations() { + let registry = test_registry().await; + let storage_root = test_storage_root("observability_generated_request_id"); + let upstream_base_url = spawn_upstream_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let created = client + .post(format!("{base_url}/operations")) + .json(&test_operation_payload( + &upstream_base_url, + "crm_observability_generated_request_id", + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = created["operation_id"].as_str().unwrap().to_owned(); + + let response = client + .post(format!("{base_url}/operations/{operation_id}/test-runs")) + .json(&json!({ + "version": 1, + "input": { "email": "user@example.com" } + })) + .send() + .await + .unwrap(); + let request_id = response + .headers() + .get("x-request-id") + .unwrap() + .to_str() + .unwrap() + .to_owned(); + + assert!(!request_id.is_empty()); + response.error_for_status().unwrap(); + + let logs = client + .get(format!("{base_url}/logs?period=7d")) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + + assert_eq!(logs["items"][0]["log"]["request_id"], request_id); + } + + #[cfg(any())] + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn creates_publishes_and_tests_graphql_operation() { + let registry = test_registry().await; + let storage_root = test_storage_root("graphql"); + let upstream_base_url = spawn_graphql_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let created = client + .post(format!("{base_url}/operations")) + .json(&test_graphql_operation_payload( + &upstream_base_url, + "crm_create_lead_graphql", + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = created["operation_id"].as_str().unwrap().to_owned(); + + let published = client + .post(format!("{base_url}/operations/{operation_id}/publish")) + .json(&json!({ "version": 1 })) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let test_run = client + .post(format!("{base_url}/operations/{operation_id}/test-runs")) + .json(&json!({ + "version": 1, + "input": { "email": "user@example.com" } + })) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + + assert_eq!(published["published_version"], 1); + assert_eq!(test_run["ok"], true); + assert_eq!( + test_run["request_preview"]["variables"]["email"], + "user@example.com" + ); + assert_eq!(test_run["response_preview"]["id"], "lead_123"); + } + + #[cfg(any())] + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn uploads_descriptor_set_and_lists_grpc_services() { + let registry = test_registry().await; + let storage_root = test_storage_root("grpc_descriptor"); + let server_addr = grpc_test_support::spawn_unary_echo_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let created = client + .post(format!("{base_url}/operations")) + .json(&test_grpc_operation_payload( + &server_addr, + "echo_descriptor", + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = created["operation_id"].as_str().unwrap().to_owned(); + + let uploaded = client + .post(format!( + "{base_url}/operations/{operation_id}/descriptors/descriptor-set" + )) + .header("x-file-name", "echo_descriptor.bin") + .body(grpc_test_support::echo::FILE_DESCRIPTOR_SET.to_vec()) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let services = client + .get(format!( + "{base_url}/operations/{operation_id}/grpc/services" + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + + assert!(uploaded["descriptor_id"].as_str().is_some()); + assert_eq!(services["services"][0]["package"], "echo"); + assert_eq!(services["services"][0]["service"], "EchoService"); + assert_eq!(services["services"][0]["methods"][0]["name"], "UnaryEcho"); + assert_eq!(services["services"][0]["methods"][0]["kind"], "unary"); + } + + #[cfg(any())] + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn creates_publishes_and_tests_grpc_operation() { + let registry = test_registry().await; + let storage_root = test_storage_root("grpc_runtime"); + let server_addr = grpc_test_support::spawn_unary_echo_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let created = client + .post(format!("{base_url}/operations")) + .json(&test_grpc_operation_payload(&server_addr, "echo_runtime")) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = created["operation_id"].as_str().unwrap().to_owned(); + + let published = client + .post(format!("{base_url}/operations/{operation_id}/publish")) + .json(&json!({ "version": 1 })) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let test_run = client + .post(format!("{base_url}/operations/{operation_id}/test-runs")) + .json(&json!({ + "version": 1, + "input": { "message": "hello" } + })) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + + assert_eq!(published["published_version"], 1); + assert_eq!(test_run["ok"], true); + assert_eq!(test_run["request_preview"]["grpc"]["message"], "hello"); + assert_eq!(test_run["response_preview"]["message"], "hello"); + } + + #[cfg(any())] + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn returns_window_metadata_for_streaming_test_runs() { + let registry = test_registry().await; + let storage_root = test_storage_root("grpc_window_test_run"); + let server_addr = grpc_test_support::spawn_unary_echo_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let created = client + .post(format!("{base_url}/operations")) + .json(&test_grpc_window_operation_payload( + &server_addr, + "echo_window_runtime", + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = created["operation_id"].as_str().unwrap().to_owned(); + + let test_run = client + .post(format!("{base_url}/operations/{operation_id}/test-runs")) + .json(&json!({ + "version": 1, + "input": { "message": "hello" } + })) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + + assert_eq!(test_run["ok"], true); + assert_eq!(test_run["mode"], "window"); + assert!(test_run["window"].is_object()); + assert!(test_run["window"]["window_complete"].is_boolean()); + assert!(test_run["window"]["truncated"].is_boolean()); + assert!(test_run["window"]["has_more"].is_boolean()); + assert!(test_run["response_preview"]["items"].is_array()); + } + + #[cfg(any())] + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn starts_stream_session_from_streaming_test_runs() { + let registry = test_registry().await; + let storage_root = test_storage_root("grpc_session_test_run"); + let server_addr = grpc_test_support::spawn_unary_echo_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let created = client + .post(format!("{base_url}/operations")) + .json(&test_grpc_session_operation_payload( + &server_addr, + "echo_session_runtime", + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = created["operation_id"].as_str().unwrap().to_owned(); + + let test_run = client + .post(format!("{base_url}/operations/{operation_id}/test-runs")) + .json(&json!({ + "version": 1, + "input": { "message": "hello" } + })) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let session_id = test_run["stream_session"]["session_id"] + .as_str() + .unwrap() + .to_owned(); + + let session = client + .get(format!("{base_url}/stream-sessions/{session_id}")) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + + assert_eq!(test_run["ok"], true); + assert_eq!(test_run["mode"], "session"); + assert_eq!(test_run["stream_session"]["status"], "running"); + assert!(test_run["response_preview"]["preview"]["items"].is_array()); + assert_eq!(session["id"], session_id); + assert_eq!(session["status"], "running"); + } + + #[cfg(any())] + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn starts_async_job_from_streaming_test_runs() { + let registry = test_registry().await; + let storage_root = test_storage_root("async_job_test_run"); + let upstream_base_url = spawn_upstream_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let created = client + .post(format!("{base_url}/operations")) + .json(&test_rest_async_job_operation_payload( + &upstream_base_url, + "crm_async_job_runtime", + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = created["operation_id"].as_str().unwrap().to_owned(); + + let test_run = client + .post(format!("{base_url}/operations/{operation_id}/test-runs")) + .json(&json!({ + "version": 1, + "input": { "email": "user@example.com" } + })) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let job_id = test_run["async_job"]["job_id"].as_str().unwrap().to_owned(); + + let mut job = Value::Null; + for _ in 0..20 { + job = client + .get(format!("{base_url}/async-jobs/{job_id}")) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + if job["status"] == "completed" { + break; + } + tokio::time::sleep(std::time::Duration::from_millis(25)).await; + } + + let result = client + .get(format!("{base_url}/async-jobs/{job_id}/result")) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + + assert_eq!(test_run["ok"], true); + assert_eq!(test_run["mode"], "async_job"); + assert_eq!(test_run["async_job"]["status"], "running"); + assert_eq!(job["status"], "completed"); + assert_eq!(result["id"], "lead_123"); + } + + #[cfg(any())] + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn returns_structured_context_for_pending_async_job_result() { + let registry = test_registry().await; + let storage_root = test_storage_root("async_job_pending_result"); + let upstream_base_url = spawn_upstream_server().await; + let job_id = AsyncJobId::new("job_pending_result".to_owned()); + let base_url = spawn_admin_api(build_test_app(registry.clone(), storage_root)).await; + let client = authorized_client(&base_url).await; + let created = client + .post(format!("{base_url}/operations")) + .json(&test_rest_async_job_operation_payload( + &upstream_base_url, + "crm_async_job_pending_result", + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = OperationId::new(created["operation_id"].as_str().unwrap().to_owned()); + let now = OffsetDateTime::now_utc(); + registry + .create_async_job(CreateAsyncJobRequest { + job: &AsyncJobHandle { + id: job_id.clone(), + workspace_id: WorkspaceId::new(DEFAULT_WORKSPACE_ID), + agent_id: None, + operation_id, + status: JobStatus::Running, + progress: json!({ "pct": 25 }), + result: None, + error: None, + expires_at: Some(now + time::Duration::minutes(5)), + last_poll_at: None, + created_at: now, + updated_at: now, + finished_at: None, + }, + }) + .await + .unwrap(); + + let response = client + .get(format!("{base_url}/async-jobs/{}/result", job_id.as_str())) + .send() + .await + .unwrap(); + let status = response.status(); + let body = response.json::().await.unwrap(); + + assert_eq!(status, reqwest::StatusCode::CONFLICT); + assert_eq!(body["error"]["code"], "conflict"); + assert_eq!(body["error"]["message"], "async job result is not ready"); + assert_eq!( + body["error"]["context"], + json!({ + "job_id": job_id.as_str(), + "status": "running" + }) + ); + } + + #[cfg(any())] + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn rate_limits_rapid_stream_session_reads() { + let registry = test_registry().await; + let storage_root = test_storage_root("stream_session_rate_limit"); + let server_addr = grpc_test_support::spawn_unary_echo_server().await; + let base_url = spawn_admin_api(build_test_app(registry.clone(), storage_root)).await; + let client = authorized_client(&base_url).await; + + let created = client + .post(format!("{base_url}/operations")) + .json(&test_grpc_session_operation_payload( + &server_addr, + "echo_session_rate_limit", + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = OperationId::new(created["operation_id"].as_str().unwrap().to_owned()); + let now = OffsetDateTime::now_utc(); + let session_id = crank_core::StreamSessionId::new("sess_rate_limited".to_owned()); + registry + .create_stream_session(CreateStreamSessionRequest { + session: &StreamSession { + id: session_id.clone(), + workspace_id: WorkspaceId::new(DEFAULT_WORKSPACE_ID), + agent_id: None, + operation_id, + protocol: Protocol::Grpc, + mode: ExecutionMode::Session, + status: StreamStatus::Running, + cursor: None, + state: json!({ "items": [] }), + expires_at: now + time::Duration::minutes(5), + last_poll_at: Some(now), + created_at: now, + closed_at: None, + }, + }) + .await + .unwrap(); + + let response = client + .get(format!( + "{base_url}/stream-sessions/{}", + session_id.as_str() + )) + .send() + .await + .unwrap(); + let status = response.status(); + let body = response.json::().await.unwrap(); + + assert_eq!(status, reqwest::StatusCode::TOO_MANY_REQUESTS); + assert_eq!(body["error"]["code"], "rate_limited"); + assert_eq!( + body["error"]["message"], + "stream session poll rate limit exceeded" + ); + assert_eq!(body["error"]["context"]["session_id"], session_id.as_str()); + assert!(body["error"]["context"]["poll_after_ms"].as_u64().unwrap() > 0); + } + + #[cfg(any())] + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn rate_limits_rapid_async_job_result_polls() { + let registry = test_registry().await; + let storage_root = test_storage_root("async_job_rate_limit"); + let upstream_base_url = spawn_upstream_server().await; + let base_url = spawn_admin_api(build_test_app(registry.clone(), storage_root)).await; + let client = authorized_client(&base_url).await; + + let created = client + .post(format!("{base_url}/operations")) + .json(&test_rest_async_job_operation_payload( + &upstream_base_url, + "crm_async_job_rate_limit", + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = OperationId::new(created["operation_id"].as_str().unwrap().to_owned()); + let now = OffsetDateTime::now_utc(); + let job_id = AsyncJobId::new("job_rate_limited".to_owned()); + registry + .create_async_job(CreateAsyncJobRequest { + job: &AsyncJobHandle { + id: job_id.clone(), + workspace_id: WorkspaceId::new(DEFAULT_WORKSPACE_ID), + agent_id: None, + operation_id, + status: JobStatus::Running, + progress: json!({ "pct": 25 }), + result: None, + error: None, + expires_at: Some(now + time::Duration::minutes(5)), + last_poll_at: Some(now), + created_at: now, + updated_at: now, + finished_at: None, + }, + }) + .await + .unwrap(); + + let response = client + .get(format!("{base_url}/async-jobs/{}/result", job_id.as_str())) + .send() + .await + .unwrap(); + let status = response.status(); + let body = response.json::().await.unwrap(); + + assert_eq!(status, reqwest::StatusCode::TOO_MANY_REQUESTS); + assert_eq!(body["error"]["code"], "rate_limited"); + assert_eq!( + body["error"]["message"], + "async job poll rate limit exceeded" + ); + assert_eq!(body["error"]["context"]["job_id"], job_id.as_str()); + assert!(body["error"]["context"]["poll_after_ms"].as_u64().unwrap() > 0); + } + + #[cfg(any())] + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn allows_completed_async_job_result_fetch_without_poll_delay() { + let registry = test_registry().await; + let storage_root = test_storage_root("async_job_completed_result"); + let upstream_base_url = spawn_upstream_server().await; + let base_url = spawn_admin_api(build_test_app(registry.clone(), storage_root)).await; + let client = authorized_client(&base_url).await; + + let created = client + .post(format!("{base_url}/operations")) + .json(&test_rest_async_job_operation_payload( + &upstream_base_url, + "crm_async_job_completed_result", + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = OperationId::new(created["operation_id"].as_str().unwrap().to_owned()); + let now = OffsetDateTime::now_utc(); + let job_id = AsyncJobId::new("job_completed_result".to_owned()); + registry + .create_async_job(CreateAsyncJobRequest { + job: &AsyncJobHandle { + id: job_id.clone(), + workspace_id: WorkspaceId::new(DEFAULT_WORKSPACE_ID), + agent_id: None, + operation_id, + status: JobStatus::Completed, + progress: json!({ "pct": 100 }), + result: Some(json!({ "id": "lead_123" })), + error: None, + expires_at: Some(now + time::Duration::minutes(5)), + last_poll_at: Some(now), + created_at: now, + updated_at: now, + finished_at: Some(now), + }, + }) + .await + .unwrap(); + + let response = client + .get(format!("{base_url}/async-jobs/{}/result", job_id.as_str())) + .send() + .await + .unwrap(); + let status = response.status(); + let body = response.json::().await.unwrap(); + + assert_eq!(status, reqwest::StatusCode::OK); + assert_eq!(body["id"], "lead_123"); + } + + #[cfg(any())] + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn returns_structured_context_for_missing_stream_session() { + let registry = test_registry().await; + let storage_root = test_storage_root("missing_stream_session"); + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let response = client + .get(format!("{base_url}/stream-sessions/sess_missing")) + .send() + .await + .unwrap(); + let status = response.status(); + let body = response.json::().await.unwrap(); + + assert_eq!(status, reqwest::StatusCode::NOT_FOUND); + assert_eq!(body["error"]["code"], "not_found"); + assert_eq!( + body["error"]["message"], + "stream session sess_missing was not found" + ); + assert_eq!( + body["error"]["context"], + json!({ + "session_id": "sess_missing" + }) + ); + } + + #[cfg(any())] + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn uploads_wsdl_and_tests_soap_operation() { + let registry = test_registry().await; + let storage_root = test_storage_root("soap_runtime"); + let endpoint = spawn_soap_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let created = client + .post(format!("{base_url}/operations")) + .json(&test_soap_operation_payload( + &endpoint, + "crm_create_lead_soap", + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = created["operation_id"].as_str().unwrap().to_owned(); + + let uploaded = client + .post(format!( + "{base_url}/operations/{operation_id}/descriptors/wsdl" + )) + .header("x-file-name", "lead.wsdl") + .body(SOAP_TEST_WSDL) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + + let services = client + .get(format!( + "{base_url}/operations/{operation_id}/soap/services" + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + + let test_run = client + .post(format!("{base_url}/operations/{operation_id}/test-runs")) + .json(&json!({ + "version": 1, + "input": { "email": "user@example.com" } + })) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + + assert_eq!(uploaded["version"], 1); + assert_eq!(services["services"][0]["service_name"], "LeadService"); + assert_eq!(services["services"][0]["ports"][0]["port_name"], "LeadPort"); + assert_eq!( + services["services"][0]["ports"][0]["operations"][0]["operation_name"], + "CreateLead" + ); + assert_eq!(test_run["ok"], true); + assert_eq!(test_run["response_preview"]["id"], "lead_123"); + } + + #[cfg(any())] + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn returns_structured_context_when_wsdl_is_missing() { + let registry = test_registry().await; + let storage_root = test_storage_root("soap_missing_wsdl"); + let endpoint = spawn_soap_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let created = client + .post(format!("{base_url}/operations")) + .json(&test_soap_operation_payload( + &endpoint, + "crm_create_lead_soap_missing_wsdl", + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = created["operation_id"].as_str().unwrap().to_owned(); + + let response = client + .get(format!( + "{base_url}/operations/{operation_id}/soap/services" + )) + .send() + .await + .unwrap(); + let status = response.status(); + let body = response.json::().await.unwrap(); + + assert_eq!(status, reqwest::StatusCode::NOT_FOUND); + assert_eq!(body["error"]["code"], "not_found"); + assert_eq!(body["error"]["message"], "wsdl was not uploaded"); + assert_eq!( + body["error"]["context"], + json!({ + "operation_id": operation_id, + "version": 1, + "descriptor_kind": "wsdl_upload" + }) + ); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn returns_structured_context_for_missing_operation_usage() { + let registry = test_registry().await; + let storage_root = test_storage_root("missing_operation_usage"); + let upstream_base_url = spawn_upstream_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let created = client + .post(format!("{base_url}/operations")) + .json(&test_operation_payload( + &upstream_base_url, + "crm_missing_usage", + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = created["operation_id"].as_str().unwrap().to_owned(); + + let response = client + .get(format!( + "{base_url}/usage/operations/{operation_id}?period=7d" + )) + .send() + .await + .unwrap(); + let status = response.status(); + let body = response.json::().await.unwrap(); + + assert_eq!(status, reqwest::StatusCode::NOT_FOUND); + assert_eq!(body["error"]["code"], "not_found"); + assert_eq!( + body["error"]["message"], + format!("usage for operation {operation_id} was not found") + ); + assert_eq!( + body["error"]["context"], + json!({ + "operation_id": operation_id + }) + ); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn manages_auth_profiles_and_yaml_upsert() { + let registry = test_registry().await; + let storage_root = test_storage_root("yaml"); + let upstream_base_url = spawn_upstream_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + let secret = client + .post(format!("{base_url}/secrets")) + .json(&json!({ + "name": "crm-api-token", + "kind": SecretKind::Token, + "value": { "token": "super-secret-token" } + })) + .send() + .await + .unwrap(); + let secret = assert_success_json(secret).await; + let secret_id = secret["id"].as_str().unwrap(); + + let auth_profile = client + .post(format!("{base_url}/auth-profiles")) + .json(&json!({ + "name": "crm-header", + "kind": "api_key_header", + "config": { + "api_key_header": { + "header_name": "X-Api-Key", + "secret_id": secret_id + } + } + })) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let created = client + .post(format!("{base_url}/operations")) + .json(&test_operation_payload( + &upstream_base_url, + "crm_export_target", + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = created["operation_id"].as_str().unwrap(); + let yaml = client + .get(format!("{base_url}/operations/{operation_id}/export")) + .send() + .await + .unwrap() + .text() + .await + .unwrap(); + let imported = client + .post(format!("{base_url}/operations/import?mode=upsert")) + .body(yaml) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + + assert_eq!(auth_profile["kind"], "api_key_header"); + assert_eq!( + auth_profile["config"]["api_key_header"]["secret_id"], + secret_id + ); + assert_eq!(imported["operation_id"], operation_id); + assert_eq!(imported["version"], 2); + assert_eq!(imported["import_mode"], "upsert"); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn rejects_premium_security_level_for_community_yaml_upsert() { + let registry = test_registry().await; + let storage_root = test_storage_root("community_yaml_security_reject"); + let upstream_base_url = spawn_upstream_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let created = client + .post(format!("{base_url}/operations")) + .json(&test_operation_payload( + &upstream_base_url, + "crm_yaml_standard", + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = created["operation_id"].as_str().unwrap().to_owned(); + + let mut yaml = client + .get(format!("{base_url}/operations/{operation_id}/export")) + .send() + .await + .unwrap() + .text() + .await + .unwrap(); + yaml = yaml.replace("security_level: standard", "security_level: elevated"); + + let response = client + .post(format!("{base_url}/operations/import?mode=upsert")) + .body(yaml) + .send() + .await + .unwrap(); + let status = response.status(); + let body = response.json::().await.unwrap(); + + assert_eq!(status, reqwest::StatusCode::BAD_REQUEST); + assert_eq!(body["error"]["code"], "validation_error"); + assert_eq!( + body["error"]["message"], + "security level elevated is not supported in Community" + ); + assert_eq!( + body["error"]["context"], + json!({ + "security_level": "elevated", + "edition": "community", + }) + ); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn manages_workspace_secrets_without_exposing_plaintext() { + let registry = test_registry().await; + let storage_root = test_storage_root("secrets"); + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let created = client + .post(format!("{base_url}/secrets")) + .json(&json!({ + "name": "crm-api-token", + "kind": SecretKind::Token, + "value": { "token": "super-secret-token" } + })) + .send() + .await + .unwrap(); + let created = assert_success_json(created).await; + let secret_id = created["id"].as_str().unwrap().to_owned(); + + let listed = client + .get(format!("{base_url}/secrets")) + .send() + .await + .unwrap(); + let listed = assert_success_json(listed).await; + + let fetched = client + .get(format!("{base_url}/secrets/{secret_id}")) + .send() + .await + .unwrap(); + let fetched = assert_success_json(fetched).await; + + let rotated = client + .post(format!("{base_url}/secrets/{secret_id}/rotate")) + .json(&json!({ + "value": { "token": "rotated-token" } + })) + .send() + .await + .unwrap(); + let rotated = assert_success_json(rotated).await; + + let deleted = client + .delete(format!("{base_url}/secrets/{secret_id}")) + .send() + .await + .unwrap(); + let deleted = assert_success_json(deleted).await; + + let missing = client + .get(format!("{base_url}/secrets/{secret_id}")) + .send() + .await + .unwrap(); + let missing_status = missing.status(); + let missing = missing.json::().await.unwrap(); + + assert_eq!(created["name"], "crm-api-token"); + assert_eq!(created["kind"], "token"); + assert_eq!(created["current_version"], 1); + assert!(created.get("value").is_none()); + assert_eq!(listed["items"].as_array().unwrap().len(), 1); + assert_eq!(fetched["id"], secret_id); + assert!(fetched.get("value").is_none()); + assert_eq!(rotated["current_version"], 2); + assert_eq!(deleted["ok"], true); + assert_eq!(missing_status, reqwest::StatusCode::NOT_FOUND); + assert_eq!(missing["error"]["code"], "not_found"); + assert_eq!( + missing["error"]["context"], + json!({ + "secret_id": secret_id + }) + ); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn returns_structured_context_for_missing_operation_version() { + let registry = test_registry().await; + let storage_root = test_storage_root("missing_operation_version"); + let upstream_base_url = spawn_upstream_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let created = client + .post(format!("{base_url}/operations")) + .json(&test_operation_payload( + &upstream_base_url, + "crm_missing_operation_version", + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = created["operation_id"].as_str().unwrap().to_owned(); + + let response = client + .get(format!("{base_url}/operations/{operation_id}/versions/99")) + .send() + .await + .unwrap(); + let status = response.status(); + let body = response.json::().await.unwrap(); + + assert_eq!(status, reqwest::StatusCode::NOT_FOUND); + assert_eq!(body["error"]["code"], "not_found"); + assert_eq!( + body["error"]["message"], + format!("operation version 99 for {operation_id} was not found") + ); + assert_eq!( + body["error"]["context"], + json!({ + "operation_id": operation_id, + "version": 99 + }) + ); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn rejects_auth_profile_with_missing_secret() { + let registry = test_registry().await; + let storage_root = test_storage_root("missing_secret_auth"); + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let response = client + .post(format!("{base_url}/auth-profiles")) + .json(&json!({ + "name": "crm-header", + "kind": "api_key_header", + "config": { + "api_key_header": { + "header_name": "X-Api-Key", + "secret_id": "secret_missing" + } + } + })) + .send() + .await + .unwrap(); + let status = response.status(); + let body = response.json::().await.unwrap(); + + assert_eq!(status, reqwest::StatusCode::NOT_FOUND); + assert_eq!(body["error"]["code"], "not_found"); + assert_eq!( + body["error"]["message"], + "secret secret_missing was not found" + ); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn rejects_deleting_secret_referenced_by_auth_profile() { + let registry = test_registry().await; + let storage_root = test_storage_root("secret_references"); + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let secret = client + .post(format!("{base_url}/secrets")) + .json(&json!({ + "name": "crm-api-token", + "kind": SecretKind::Token, + "value": { "token": "super-secret-token" } + })) + .send() + .await + .unwrap(); + let secret = assert_success_json(secret).await; + let secret_id = secret["id"].as_str().unwrap(); + + let auth_profile = client + .post(format!("{base_url}/auth-profiles")) + .json(&json!({ + "name": "crm-header", + "kind": "api_key_header", + "config": { + "api_key_header": { + "header_name": "X-Api-Key", + "secret_id": secret_id + } + } + })) + .send() + .await + .unwrap(); + let auth_profile = assert_success_json(auth_profile).await; + let auth_profile_id = auth_profile["id"].as_str().unwrap(); + + let response = client + .delete(format!("{base_url}/secrets/{secret_id}")) + .send() + .await + .unwrap(); + let status = response.status(); + let body = response.json::().await.unwrap(); + + assert_eq!(status, reqwest::StatusCode::CONFLICT); + assert_eq!(body["error"]["code"], "conflict"); + assert_eq!( + body["error"]["message"], + format!("secret {secret_id} is referenced by auth profile {auth_profile_id}") + ); + } + + #[cfg(any())] + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn roundtrips_graphql_operation_through_yaml_upsert() { + let registry = test_registry().await; + let storage_root = test_storage_root("yaml_graphql"); + let upstream_base_url = spawn_graphql_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let created = client + .post(format!("{base_url}/operations")) + .json(&test_graphql_operation_payload( + &upstream_base_url, + "crm_yaml_graphql", + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = created["operation_id"].as_str().unwrap().to_owned(); + + let yaml = client + .get(format!("{base_url}/operations/{operation_id}/export")) + .send() + .await + .unwrap() + .text() + .await + .unwrap(); + let imported = client + .post(format!("{base_url}/operations/import?mode=upsert")) + .body(yaml) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let test_run = client + .post(format!("{base_url}/operations/{operation_id}/test-runs")) + .json(&json!({ + "version": 2, + "input": { "email": "user@example.com" } + })) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + + assert_eq!(imported["operation_id"], operation_id); + assert_eq!(imported["version"], 2); + assert_eq!(test_run["ok"], true); + assert_eq!(test_run["response_preview"]["id"], "lead_123"); + } + + #[cfg(any())] + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn roundtrips_grpc_operation_through_yaml_upsert() { + let registry = test_registry().await; + let storage_root = test_storage_root("yaml_grpc"); + let server_addr = grpc_test_support::spawn_unary_echo_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let created = client + .post(format!("{base_url}/operations")) + .json(&test_grpc_operation_payload(&server_addr, "echo_yaml_grpc")) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = created["operation_id"].as_str().unwrap().to_owned(); + + let yaml = client + .get(format!("{base_url}/operations/{operation_id}/export")) + .send() + .await + .unwrap() + .text() + .await + .unwrap(); + let imported = client + .post(format!("{base_url}/operations/import?mode=upsert")) + .body(yaml) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let test_run = client + .post(format!("{base_url}/operations/{operation_id}/test-runs")) + .json(&json!({ + "version": 2, + "input": { "message": "hello" } + })) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + + assert_eq!(imported["operation_id"], operation_id); + assert_eq!(imported["version"], 2); + assert_eq!(test_run["ok"], true); + assert_eq!(test_run["response_preview"]["message"], "hello"); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn uploads_samples_and_generates_draft() { + let registry = test_registry().await; + let storage_root = test_storage_root("draft"); + let upstream_base_url = spawn_upstream_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let created = client + .post(format!("{base_url}/operations")) + .json(&test_operation_payload( + &upstream_base_url, + "crm_draft_target", + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = created["operation_id"].as_str().unwrap(); + + client + .post(format!( + "{base_url}/operations/{operation_id}/samples/input-json" + )) + .json(&json!({ "email": "user@example.com", "name": "Ada" })) + .send() + .await + .unwrap(); + client + .post(format!( + "{base_url}/operations/{operation_id}/samples/output-json" + )) + .json(&json!({ "id": "lead_123", "status": "created" })) + .send() + .await + .unwrap(); + + let generated = client + .post(format!( + "{base_url}/operations/{operation_id}/drafts/generate" + )) + .json(&json!({ + "sources": ["input_json_sample", "output_json_sample"] + })) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + + assert_eq!(generated["generated_draft"]["status"], "available"); + assert_eq!( + generated["input_schema"]["fields"]["email"]["type"], + "string" + ); + assert_eq!( + generated["output_mapping"]["rules"][0]["target"], + "$.output.id" + ); + } + + fn build_test_app(registry: PostgresRegistry, storage_root: std::path::PathBuf) -> Router { + build_app(AppState { + service: AdminService::new( + registry, + storage_root, + test_auth_settings(), + test_secret_crypto(), + ), + api_rate_limiter: crank_runtime::RequestRateLimiter::new( + crank_runtime::RequestRateLimitConfig::new(10_000, 10_000).unwrap(), + ), + }) + } + + async fn spawn_upstream_server() -> String { + let app = Router::new().route("/crm/leads", post(create_lead)); + let listener = TcpListener::bind("127.0.0.1:0").await.unwrap(); + let address = listener.local_addr().unwrap(); + + tokio::spawn(async move { + axum::serve(listener, app).await.unwrap(); + }); + + format!("http://{}", address) + } + + async fn spawn_graphql_server() -> String { + let app = Router::new().route("/", post(graphql_handler)); + let listener = TcpListener::bind("127.0.0.1:0").await.unwrap(); + let address = listener.local_addr().unwrap(); + + tokio::spawn(async move { + axum::serve(listener, app).await.unwrap(); + }); + + format!("http://{}", address) + } + + #[cfg(any())] + async fn spawn_soap_server() -> String { + let app = Router::new().route("/", post(soap_handler)); + let listener = TcpListener::bind("127.0.0.1:0").await.unwrap(); + let address = listener.local_addr().unwrap(); + + tokio::spawn(async move { + axum::serve(listener, app).await.unwrap(); + }); + + format!("http://{}", address) + } + + async fn spawn_admin_api(app: Router) -> TestServer { + let listener = TcpListener::bind("127.0.0.1:0").await.unwrap(); + let address = listener.local_addr().unwrap(); + let (shutdown_tx, shutdown_rx) = tokio::sync::oneshot::channel(); + + let handle = tokio::spawn(async move { + axum::serve(listener, app) + .with_graceful_shutdown(async move { + let _ = shutdown_rx.await; + }) + .await + .unwrap(); + }); + + TestServer { + base_url: format!( + "http://{}/api/admin/workspaces/{}", + address, DEFAULT_WORKSPACE_ID + ), + shutdown: Some(shutdown_tx), + handle: Some(handle), + } + } + + async fn authorized_client(workspace_base_url: impl AsRef) -> reqwest::Client { + let root_url = workspace_base_url + .as_ref() + .split("/api/admin/workspaces/") + .next() + .unwrap(); + let client = reqwest::Client::builder() + .cookie_store(true) + .build() + .unwrap(); + + client + .post(format!("{root_url}/api/auth/login")) + .json(&json!({ + "email": TEST_AUTH_EMAIL, + "password": TEST_AUTH_PASSWORD, + })) + .send() + .await + .unwrap() + .error_for_status() + .unwrap(); + + client + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn rejects_rapid_login_requests_with_429() { + let registry = test_registry().await; + let storage_root = test_storage_root("login_rate_limit"); + let listener = TcpListener::bind("127.0.0.1:0").await.unwrap(); + let address = listener.local_addr().unwrap(); + let app = build_app(AppState { + service: AdminService::new( + registry, + storage_root, + test_auth_settings(), + test_secret_crypto(), + ), + api_rate_limiter: crank_runtime::RequestRateLimiter::new( + crank_runtime::RequestRateLimitConfig::new(1, 1).unwrap(), + ), + }); + let (shutdown_tx, shutdown_rx) = tokio::sync::oneshot::channel(); + let handle = tokio::spawn(async move { + axum::serve(listener, app) + .with_graceful_shutdown(async move { + let _ = shutdown_rx.await; + }) + .await + .unwrap(); + }); + + let client = reqwest::Client::new(); + let root_url = format!("http://{address}"); + let first_response = client + .post(format!("{root_url}/api/auth/login")) + .header("x-request-id", "req_admin_rate_01") + .json(&json!({ + "email": TEST_AUTH_EMAIL, + "password": TEST_AUTH_PASSWORD, + })) + .send() + .await + .unwrap(); + assert_eq!(first_response.status(), reqwest::StatusCode::OK); + + let second_response = client + .post(format!("{root_url}/api/auth/login")) + .header("x-request-id", "req_admin_rate_02") + .json(&json!({ + "email": TEST_AUTH_EMAIL, + "password": TEST_AUTH_PASSWORD, + })) + .send() + .await + .unwrap(); + + assert_eq!( + second_response.status(), + reqwest::StatusCode::TOO_MANY_REQUESTS + ); + assert_eq!( + second_response.headers()["x-request-id"].to_str().unwrap(), + "req_admin_rate_02" + ); + let payload = second_response.json::().await.unwrap(); + assert_eq!(payload["error"]["code"], "rate_limited"); + let retry_after_ms = payload["error"]["context"]["retry_after_ms"] + .as_u64() + .unwrap(); + assert!((1..=1000).contains(&retry_after_ms)); + + let _ = shutdown_tx.send(()); + let _ = handle.await; + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn login_uses_identity_provider_when_configured() { + let registry = test_registry().await; + let storage_root = test_storage_root("identity_provider_login"); + let service = AdminServiceBuilder::new( + registry, + storage_root, + test_auth_settings(), + test_secret_crypto(), + crank_runtime::community_default().build(), + ) + .with_identity_provider(Arc::new(RejectingIdentityProvider)) + .build(); + + let error = match service + .login(crate::service::LoginPayload { + email: TEST_AUTH_EMAIL.to_owned(), + password: TEST_AUTH_PASSWORD.to_owned(), + }) + .await + { + Ok(_) => panic!("login should delegate to identity provider"), + Err(error) => error, + }; + assert_eq!(error.to_string(), "invalid email or password"); + } + + async fn assert_success_json(response: reqwest::Response) -> Value { + let status = response.status(); + let body = response.text().await.unwrap(); + + assert!( + status.is_success(), + "request failed with status {status}: {body}" + ); + + serde_json::from_str(&body).unwrap() + } + + async fn create_lead(Json(payload): Json) -> Json { + Json(json!({ + "id": "lead_123", + "status": "created", + "email": payload["email"] + })) + } + + async fn graphql_handler(Json(payload): Json) -> Json { + let email = payload + .get("variables") + .and_then(|variables| variables.get("email")) + .and_then(Value::as_str) + .unwrap_or_default(); + + Json(json!({ + "data": { + "createLead": { + "id": "lead_123", + "status": "created", + "email": email + } + } + })) + } + + #[cfg(any())] + async fn soap_handler(body: String) -> (axum::http::StatusCode, String) { + assert!(body.contains("user@example.com")); + + ( + axum::http::StatusCode::OK, + r#" + + + lead_123 + created + + + "# + .to_owned(), + ) + } + + async fn test_registry() -> PostgresRegistry { + let database_url = env::var("TEST_DATABASE_URL") + .unwrap_or_else(|_| "postgres://crank:crank@127.0.0.1:15432/crank".to_owned()); + let mut admin_connection = PgConnection::connect(&database_url).await.unwrap(); + let schema = format!( + "test_admin_api_{}_{}", + std::process::id(), + SystemTime::now() + .duration_since(UNIX_EPOCH) + .unwrap() + .as_nanos() + ); + + admin_connection + .execute(sqlx::query(&format!("create schema {schema}"))) + .await + .unwrap(); + let registry = + PostgresRegistry::connect(&format!("{database_url}?options=-csearch_path%3D{schema}")) + .await + .unwrap(); + let password_hash = hash_password(TEST_AUTH_PASSWORD, TEST_PASSWORD_PEPPER).unwrap(); + let user_id = registry + .upsert_bootstrap_user(TEST_AUTH_EMAIL, "Test Owner", &password_hash) + .await + .unwrap(); + registry + .ensure_membership( + &WorkspaceId::new(DEFAULT_WORKSPACE_ID), + &user_id, + MembershipRole::Owner, + ) + .await + .unwrap(); + + registry + } + + fn test_storage_root(name: &str) -> std::path::PathBuf { + env::temp_dir().join(format!( + "crank_admin_api_{name}_{}_{}", + std::process::id(), + SystemTime::now() + .duration_since(UNIX_EPOCH) + .unwrap() + .as_nanos() + )) + } + + fn test_auth_settings() -> AuthSettings { + AuthSettings { + session_secret: TEST_SESSION_SECRET.to_owned(), + password_pepper: TEST_PASSWORD_PEPPER.to_owned(), + session_ttl_hours: 24, + cookie_secure: false, + bootstrap_admin: BootstrapAdminConfig { + email: TEST_AUTH_EMAIL.to_owned(), + password: TEST_AUTH_PASSWORD.to_owned(), + display_name: "Test Owner".to_owned(), + }, + } + } + + fn test_secret_crypto() -> SecretCrypto { + SecretCrypto::new(TEST_MASTER_KEY).unwrap() + } + + fn test_operation_payload(base_url: &str, name: &str) -> OperationPayload { + OperationPayload { + name: name.to_owned(), + display_name: "Create Lead".to_owned(), + category: "sales".to_owned(), + protocol: Protocol::Rest, + security_level: OperationSecurityLevel::Standard, + target: Target::Rest(RestTarget { + base_url: base_url.to_owned(), + method: HttpMethod::Post, + path_template: "/crm/leads".to_owned(), + static_headers: BTreeMap::new(), + }), + input_schema: object_schema("email"), + output_schema: object_schema("id"), + input_mapping: MappingSet { + rules: vec![MappingRule { + source: "$.mcp.email".to_owned(), + target: "$.request.body.email".to_owned(), + required: true, + default_value: None, + transform: None, + condition: None, + notes: None, + }], + }, + output_mapping: MappingSet { + rules: vec![MappingRule { + source: "$.response.body.id".to_owned(), + target: "$.output.id".to_owned(), + required: true, + default_value: None, + transform: None, + condition: None, + notes: None, + }], + }, + execution_config: ExecutionConfig { + timeout_ms: 1_000, + retry_policy: None, + response_cache: None, + auth_profile_ref: None, + headers: BTreeMap::new(), + protocol_options: None, + streaming: None, + }, + tool_description: ToolDescription { + title: "Create Lead".to_owned(), + description: "Creates a CRM lead".to_owned(), + tags: vec!["crm".to_owned()], + examples: Vec::new(), + }, + } + } + + fn test_graphql_operation_payload(endpoint: &str, name: &str) -> OperationPayload { + OperationPayload { + name: name.to_owned(), + display_name: "Create Lead GraphQL".to_owned(), + category: "sales".to_owned(), + protocol: Protocol::Graphql, + security_level: OperationSecurityLevel::Standard, + target: Target::Graphql(GraphqlTarget { + endpoint: endpoint.to_owned(), + operation_type: GraphqlOperationType::Mutation, + operation_name: "CreateLead".to_owned(), + query_template: + "mutation CreateLead($email: String!) { createLead(email: $email) { id status email } }" + .to_owned(), + response_path: "$.response.body.data.createLead".to_owned(), + }), + input_schema: object_schema("email"), + output_schema: object_schema("id"), + input_mapping: MappingSet { + rules: vec![MappingRule { + source: "$.mcp.email".to_owned(), + target: "$.request.variables.email".to_owned(), + required: true, + default_value: None, + transform: None, + condition: None, + notes: None, + }], + }, + output_mapping: MappingSet { + rules: vec![MappingRule { + source: "$.response.data.id".to_owned(), + target: "$.output.id".to_owned(), + required: true, + default_value: None, + transform: None, + condition: None, + notes: None, + }], + }, + execution_config: ExecutionConfig { + timeout_ms: 1_000, + retry_policy: None, + response_cache: None, + auth_profile_ref: None, + headers: BTreeMap::new(), + protocol_options: None, + streaming: None, + }, + tool_description: ToolDescription { + title: "Create Lead GraphQL".to_owned(), + description: "Creates a CRM lead through GraphQL".to_owned(), + tags: vec!["crm".to_owned(), "graphql".to_owned()], + examples: Vec::new(), + }, + } + } + + #[cfg(any())] + fn test_grpc_operation_payload(server_addr: &str, name: &str) -> OperationPayload { + OperationPayload { + name: name.to_owned(), + display_name: "Unary Echo gRPC".to_owned(), + category: "support".to_owned(), + protocol: Protocol::Grpc, + security_level: OperationSecurityLevel::Standard, + target: Target::Grpc(GrpcTarget { + server_addr: server_addr.to_owned(), + package: "echo".to_owned(), + service: "EchoService".to_owned(), + method: "UnaryEcho".to_owned(), + read_only: false, + descriptor_ref: DescriptorId::new("desc_echo"), + descriptor_set_b64: grpc_test_support::descriptor_set_b64(), + }), + input_schema: object_schema("message"), + output_schema: object_schema("message"), + input_mapping: MappingSet { + rules: vec![MappingRule { + source: "$.mcp.message".to_owned(), + target: "$.request.grpc.message".to_owned(), + required: true, + default_value: None, + transform: None, + condition: None, + notes: None, + }], + }, + output_mapping: MappingSet { + rules: vec![MappingRule { + source: "$.response.data.message".to_owned(), + target: "$.output.message".to_owned(), + required: true, + default_value: None, + transform: None, + condition: None, + notes: None, + }], + }, + execution_config: ExecutionConfig { + timeout_ms: 1_000, + retry_policy: None, + response_cache: None, + auth_profile_ref: None, + headers: BTreeMap::new(), + protocol_options: None, + streaming: None, + }, + tool_description: ToolDescription { + title: "Unary Echo gRPC".to_owned(), + description: "Echoes a unary gRPC payload".to_owned(), + tags: vec!["grpc".to_owned()], + examples: Vec::new(), + }, + } + } + + #[cfg(any())] + fn test_grpc_window_operation_payload(server_addr: &str, name: &str) -> OperationPayload { + let mut payload = test_grpc_operation_payload(server_addr, name); + payload.display_name = "Server Echo Window".to_owned(); + payload.target = Target::Grpc(GrpcTarget { + server_addr: server_addr.to_owned(), + package: "echo".to_owned(), + service: "EchoService".to_owned(), + method: "ServerEcho".to_owned(), + read_only: false, + descriptor_ref: DescriptorId::new("desc_echo_stream"), + descriptor_set_b64: grpc_test_support::descriptor_set_b64(), + }); + payload.execution_config.streaming = Some(crank_core::StreamingConfig { + mode: ExecutionMode::Window, + transport_behavior: TransportBehavior::ServerStream, + window_duration_ms: Some(100), + poll_interval_ms: None, + upstream_timeout_ms: Some(1_000), + idle_timeout_ms: None, + max_session_lifetime_ms: None, + max_items: Some(2), + max_bytes: None, + aggregation_mode: crank_core::AggregationMode::RawItems, + summary_path: None, + items_path: Some("$.response.body.items".to_owned()), + cursor_path: None, + status_path: None, + done_path: Some("$.response.body.done".to_owned()), + redacted_paths: Vec::new(), + truncate_item_fields: false, + max_field_length: None, + drop_duplicates: false, + sampling_rate: None, + tool_family: crank_core::ToolFamilyConfig::default(), + }); + payload + } + + #[cfg(any())] + fn test_grpc_session_operation_payload(server_addr: &str, name: &str) -> OperationPayload { + let mut payload = test_grpc_window_operation_payload(server_addr, name); + payload.display_name = "Server Echo Session".to_owned(); + if let Some(streaming) = payload.execution_config.streaming.as_mut() { + streaming.mode = ExecutionMode::Session; + streaming.poll_interval_ms = Some(1_000); + streaming.max_session_lifetime_ms = Some(60_000); + streaming.tool_family = crank_core::ToolFamilyConfig { + start_tool_name: Some("echo_session_start".to_owned()), + poll_tool_name: Some("echo_session_poll".to_owned()), + stop_tool_name: Some("echo_session_stop".to_owned()), + status_tool_name: None, + result_tool_name: None, + cancel_tool_name: None, + }; + } + payload + } + + #[cfg(any())] + fn test_rest_async_job_operation_payload(base_url: &str, name: &str) -> OperationPayload { + let mut payload = test_operation_payload(base_url, name); + payload.display_name = "Create Lead Async Job".to_owned(); + payload.execution_config.streaming = Some(crank_core::StreamingConfig { + mode: ExecutionMode::AsyncJob, + transport_behavior: TransportBehavior::DeferredResult, + window_duration_ms: None, + poll_interval_ms: Some(1_000), + upstream_timeout_ms: Some(1_000), + idle_timeout_ms: None, + max_session_lifetime_ms: Some(300_000), + max_items: None, + max_bytes: None, + aggregation_mode: crank_core::AggregationMode::SummaryPlusSamples, + summary_path: None, + items_path: None, + cursor_path: None, + status_path: None, + done_path: None, + redacted_paths: Vec::new(), + truncate_item_fields: false, + max_field_length: None, + drop_duplicates: false, + sampling_rate: None, + tool_family: crank_core::ToolFamilyConfig { + start_tool_name: Some("crm_async_start".to_owned()), + poll_tool_name: None, + stop_tool_name: None, + status_tool_name: Some("crm_async_status".to_owned()), + result_tool_name: Some("crm_async_result".to_owned()), + cancel_tool_name: Some("crm_async_cancel".to_owned()), + }, + }); + payload + } + + #[cfg(any())] + fn test_soap_operation_payload(endpoint: &str, name: &str) -> OperationPayload { + OperationPayload { + name: name.to_owned(), + display_name: "Create Lead SOAP".to_owned(), + category: "sales".to_owned(), + protocol: Protocol::Soap, + security_level: OperationSecurityLevel::Standard, + target: Target::Soap(SoapTarget { + wsdl_ref: "sample_wsdl".into(), + service_name: "LeadService".to_owned(), + port_name: "LeadPort".to_owned(), + operation_name: "CreateLead".to_owned(), + endpoint_override: Some(endpoint.to_owned()), + soap_version: SoapVersion::Soap11, + soap_action: Some("urn:createLead".to_owned()), + binding_style: SoapBindingStyle::DocumentLiteral, + headers: Vec::new(), + fault_contract: None, + metadata: SoapOperationMetadata { + input_part_names: vec!["CreateLeadRequest".to_owned()], + output_part_names: vec!["CreateLeadResponse".to_owned()], + namespaces: vec!["urn:crm".to_owned()], + }, + }), + input_schema: object_schema("email"), + output_schema: object_schema("id"), + input_mapping: MappingSet { + rules: vec![MappingRule { + source: "$.mcp.email".to_owned(), + target: "$.request.body.email".to_owned(), + required: true, + default_value: None, + transform: None, + condition: None, + notes: None, + }], + }, + output_mapping: MappingSet { + rules: vec![MappingRule { + source: "$.response.body.id".to_owned(), + target: "$.output.id".to_owned(), + required: true, + default_value: None, + transform: None, + condition: None, + notes: None, + }], + }, + execution_config: ExecutionConfig { + timeout_ms: 1_000, + retry_policy: None, + response_cache: None, + auth_profile_ref: None, + headers: BTreeMap::new(), + protocol_options: None, + streaming: None, + }, + tool_description: ToolDescription { + title: "Create Lead SOAP".to_owned(), + description: "Creates a CRM lead through SOAP".to_owned(), + tags: vec!["crm".to_owned(), "soap".to_owned()], + examples: Vec::new(), + }, + } + } + + fn test_websocket_operation_payload(url: &str, name: &str) -> OperationPayload { + OperationPayload { + name: name.to_owned(), + display_name: "Telemetry WebSocket".to_owned(), + category: "telemetry".to_owned(), + protocol: Protocol::Websocket, + security_level: OperationSecurityLevel::Standard, + target: Target::Websocket(WebsocketTarget { + url: url.to_owned(), + subprotocols: Vec::new(), + subscribe_message_template: Some(json!({ "subscribe": true })), + unsubscribe_message_template: None, + static_headers: BTreeMap::new(), + }), + input_schema: object_schema("channel"), + output_schema: object_schema("event"), + input_mapping: MappingSet { + rules: vec![MappingRule { + source: "$.mcp.channel".to_owned(), + target: "$.request.body.channel".to_owned(), + required: true, + default_value: None, + transform: None, + condition: None, + notes: None, + }], + }, + output_mapping: MappingSet { + rules: vec![MappingRule { + source: "$.response.body.event".to_owned(), + target: "$.output.event".to_owned(), + required: true, + default_value: None, + transform: None, + condition: None, + notes: None, + }], + }, + execution_config: ExecutionConfig { + timeout_ms: 1_000, + retry_policy: None, + response_cache: None, + auth_profile_ref: None, + headers: BTreeMap::new(), + protocol_options: None, + streaming: None, + }, + tool_description: ToolDescription { + title: "Telemetry WebSocket".to_owned(), + description: "Streams telemetry events".to_owned(), + tags: vec!["telemetry".to_owned(), "websocket".to_owned()], + examples: Vec::new(), + }, + } + } + + #[cfg(any())] + const SOAP_TEST_WSDL: &str = r#" + + + + + + + + + + + + +"#; + + fn object_schema(field_name: &str) -> Schema { + Schema { + kind: SchemaKind::Object, + description: None, + required: true, + nullable: false, + default_value: None, + fields: BTreeMap::from([( + field_name.to_owned(), + Schema { + kind: SchemaKind::String, + description: None, + required: true, + nullable: false, + default_value: None, + fields: BTreeMap::new(), + items: None, + enum_values: Vec::new(), + variants: Vec::new(), + }, + )]), + items: None, + enum_values: Vec::new(), + variants: Vec::new(), + } + } +} diff --git a/apps/admin-api/src/auth.rs b/apps/admin-api/src/auth.rs new file mode 100644 index 0000000..7548ba1 --- /dev/null +++ b/apps/admin-api/src/auth.rs @@ -0,0 +1,124 @@ +use axum::{ + extract::{OriginalUri, Request, State}, + middleware::Next, + response::Response, +}; +use axum_extra::extract::cookie::{Cookie, CookieJar}; +use crank_community_auth::{ + cleared_session_cookie as build_cleared_session_cookie, + create_session_cookie as build_session_cookie, hash_password as community_hash_password, + session_cookie as build_session_cookie_header, +}; +use crank_core::{User, UserSessionId, WorkspaceId}; +use crank_registry::WorkspaceMembershipRecord; +use serde::Serialize; + +use crate::{error::ApiError, state::AppState}; + +pub use crank_community_auth::{ + SESSION_COOKIE_NAME, SessionCookie, extract_session_token, hash_session_secret, verify_password, +}; + +#[derive(Clone)] +pub struct BootstrapAdminConfig { + pub email: String, + pub password: String, + pub display_name: String, +} + +#[derive(Clone)] +pub struct AuthSettings { + pub session_secret: String, + pub password_pepper: String, + pub session_ttl_hours: i64, + pub cookie_secure: bool, + pub bootstrap_admin: BootstrapAdminConfig, +} + +#[derive(Clone, Debug, Serialize)] +pub struct AuthenticatedSession { + pub session_id: UserSessionId, + pub user: User, + pub memberships: Vec, + pub current_workspace_id: Option, +} + +pub fn hash_password(password: &str, pepper: &str) -> Result { + community_hash_password(password, pepper) + .map_err(|error| ApiError::internal(format!("failed to hash password: {error}"))) +} + +pub fn create_session_cookie(settings: &AuthSettings) -> Result { + build_session_cookie(settings.session_ttl_hours) + .map_err(|error| ApiError::internal(format!("failed to create session cookie: {error}"))) +} + +pub fn session_cookie(settings: &AuthSettings, token: &str) -> Cookie<'static> { + build_session_cookie_header(token, settings.cookie_secure, settings.session_ttl_hours) +} + +pub fn cleared_session_cookie(settings: &AuthSettings) -> Cookie<'static> { + build_cleared_session_cookie(settings.cookie_secure) +} + +pub async fn require_session( + State(state): State, + jar: CookieJar, + mut request: Request, + next: Next, +) -> Result { + let session = resolve_authenticated_session(state.clone(), &jar).await?; + request.extensions_mut().insert(session); + Ok(next.run(request).await) +} + +pub async fn require_workspace_session( + State(state): State, + jar: CookieJar, + original_uri: OriginalUri, + mut request: Request, + next: Next, +) -> Result { + let session = resolve_authenticated_session(state.clone(), &jar).await?; + let workspace_id = workspace_id_from_path(original_uri.path()) + .ok_or_else(|| ApiError::internal("workspace middleware was applied to an invalid path"))?; + + let has_access = state + .service + .user_has_workspace_access(&session.user.id, &workspace_id) + .await?; + if !has_access { + return Err(ApiError::forbidden("workspace access denied")); + } + + request.extensions_mut().insert(session); + Ok(next.run(request).await) +} + +async fn resolve_authenticated_session( + state: AppState, + jar: &CookieJar, +) -> Result { + let (session_id, session_value) = extract_session_token(jar) + .ok_or_else(|| ApiError::unauthorized("authentication required"))?; + let session = state + .service + .get_session(&session_id, &session_value) + .await? + .ok_or_else(|| ApiError::unauthorized("session is invalid or expired"))?; + + state.service.touch_session(&session_id).await?; + + Ok(session) +} + +fn workspace_id_from_path(path: &str) -> Option { + let marker = "/api/admin/workspaces/"; + let (_, suffix) = path.split_once(marker)?; + let workspace_id = suffix.split('/').next()?; + if workspace_id.is_empty() { + return None; + } + + Some(WorkspaceId::new(workspace_id)) +} diff --git a/apps/admin-api/src/error.rs b/apps/admin-api/src/error.rs new file mode 100644 index 0000000..ed8e207 --- /dev/null +++ b/apps/admin-api/src/error.rs @@ -0,0 +1,571 @@ +use axum::{ + Json, + http::StatusCode, + response::{IntoResponse, Response}, +}; +use crank_mapping::MappingError; +use crank_registry::RegistryError; +use crank_runtime::RuntimeError; +use crank_schema::SchemaError; +use serde_json::{Value, json}; +use thiserror::Error; +use tracing::{error, warn}; + +use crate::storage::StorageError; + +#[derive(Debug, Error)] +pub enum ApiError { + #[error("{message}")] + Unauthorized { + message: String, + context: Option, + }, + #[error("{message}")] + Forbidden { + message: String, + context: Option, + }, + #[error("{message}")] + Validation { + message: String, + context: Option, + }, + #[error("{message}")] + NotFound { + message: String, + context: Option, + }, + #[error("{message}")] + Conflict { + message: String, + context: Option, + }, + #[error("{message}")] + RateLimited { + message: String, + context: Option, + }, + #[error("{message}")] + Internal { + message: String, + context: Option, + }, +} + +impl ApiError { + pub fn unauthorized(message: impl Into) -> Self { + Self::Unauthorized { + message: message.into(), + context: None, + } + } + + pub fn forbidden(message: impl Into) -> Self { + Self::Forbidden { + message: message.into(), + context: None, + } + } + + pub fn validation(message: impl Into) -> Self { + Self::Validation { + message: message.into(), + context: None, + } + } + + pub fn internal(message: impl Into) -> Self { + Self::Internal { + message: message.into(), + context: None, + } + } + + pub(crate) fn rate_limited_with_context(message: impl Into, context: Value) -> Self { + Self::RateLimited { + message: message.into(), + context: Some(context), + } + } + + pub(crate) fn validation_with_context(message: impl Into, context: Value) -> Self { + Self::Validation { + message: message.into(), + context: Some(context), + } + } + + pub(crate) fn not_found_with_context(message: impl Into, context: Value) -> Self { + Self::NotFound { + message: message.into(), + context: Some(context), + } + } + + pub(crate) fn conflict_with_context(message: impl Into, context: Value) -> Self { + Self::Conflict { + message: message.into(), + context: Some(context), + } + } + + pub(crate) fn forbidden_with_context(message: impl Into, context: Value) -> Self { + Self::Forbidden { + message: message.into(), + context: Some(context), + } + } + + fn status_code(&self) -> StatusCode { + match self { + Self::Unauthorized { .. } => StatusCode::UNAUTHORIZED, + Self::Forbidden { .. } => StatusCode::FORBIDDEN, + Self::Validation { .. } => StatusCode::BAD_REQUEST, + Self::NotFound { .. } => StatusCode::NOT_FOUND, + Self::Conflict { .. } => StatusCode::CONFLICT, + Self::RateLimited { .. } => StatusCode::TOO_MANY_REQUESTS, + Self::Internal { .. } => StatusCode::INTERNAL_SERVER_ERROR, + } + } + + fn code(&self) -> &'static str { + match self { + Self::Unauthorized { .. } => "unauthorized", + Self::Forbidden { .. } => "forbidden", + Self::Validation { .. } => "validation_error", + Self::NotFound { .. } => "not_found", + Self::Conflict { .. } => "conflict", + Self::RateLimited { .. } => "rate_limited", + Self::Internal { .. } => "internal_error", + } + } +} + +impl IntoResponse for ApiError { + fn into_response(self) -> Response { + match &self { + Self::Internal { message, .. } => { + error!(error_code = self.code(), error_message = %message) + } + Self::Unauthorized { message, .. } + | Self::Forbidden { message, .. } + | Self::Validation { message, .. } + | Self::NotFound { message, .. } + | Self::Conflict { message, .. } + | Self::RateLimited { message, .. } => { + warn!(error_code = self.code(), error_message = %message) + } + } + + let mut error = json!({ + "code": self.code(), + "message": self.to_string(), + }); + if let Some(context) = self.context() { + error["context"] = context; + } + + let body = Json(json!({ + "error": error + })); + + (self.status_code(), body).into_response() + } +} + +impl ApiError { + fn context(&self) -> Option { + match self { + Self::Unauthorized { context, .. } + | Self::Forbidden { context, .. } + | Self::Validation { context, .. } + | Self::NotFound { context, .. } + | Self::Conflict { context, .. } + | Self::RateLimited { context, .. } + | Self::Internal { context, .. } => context.clone(), + } + } +} + +impl From for ApiError { + fn from(value: RegistryError) -> Self { + match value { + RegistryError::WorkspaceNotFound { workspace_id } => Self::not_found_with_context( + format!("workspace {workspace_id} was not found"), + json!({ "workspace_id": workspace_id }), + ), + RegistryError::UserNotFound { user_id } => Self::not_found_with_context( + format!("user {user_id} was not found"), + json!({ "user_id": user_id }), + ), + RegistryError::MembershipNotFound { + workspace_id, + user_id, + } => Self::not_found_with_context( + format!("membership for user {user_id} in workspace {workspace_id} was not found"), + json!({ + "workspace_id": workspace_id, + "user_id": user_id, + }), + ), + RegistryError::AgentNotFound { agent_id } => Self::not_found_with_context( + format!("agent {agent_id} was not found"), + json!({ "agent_id": agent_id }), + ), + RegistryError::InvitationNotFound { invitation_id } => Self::not_found_with_context( + format!("invitation {invitation_id} was not found"), + json!({ "invitation_id": invitation_id }), + ), + RegistryError::PlatformApiKeyNotFound { key_id } => Self::not_found_with_context( + format!("platform api key {key_id} was not found"), + json!({ "key_id": key_id }), + ), + RegistryError::SecretNotFound { secret_id } => Self::not_found_with_context( + format!("secret {secret_id} was not found"), + json!({ "secret_id": secret_id }), + ), + RegistryError::StreamSessionNotFound { session_id } => Self::not_found_with_context( + format!("stream session {session_id} was not found"), + json!({ "session_id": session_id }), + ), + RegistryError::AsyncJobNotFound { job_id } => Self::not_found_with_context( + format!("async job {job_id} was not found"), + json!({ "job_id": job_id }), + ), + RegistryError::InvocationLogNotFound { log_id } => Self::not_found_with_context( + format!("invocation log {log_id} was not found"), + json!({ "log_id": log_id }), + ), + RegistryError::PublishedAgentNotFound { + workspace_slug, + agent_slug, + } => Self::not_found_with_context( + format!("published agent {workspace_slug}/{agent_slug} was not found"), + json!({ + "workspace_slug": workspace_slug, + "agent_slug": agent_slug, + }), + ), + RegistryError::OperationNotFound { operation_id } => Self::not_found_with_context( + format!("operation {operation_id} was not found"), + json!({ "operation_id": operation_id }), + ), + RegistryError::OperationVersionNotFound { + operation_id, + version, + } => Self::not_found_with_context( + format!("operation version {version} for {operation_id} was not found"), + json!({ + "operation_id": operation_id, + "version": version, + }), + ), + RegistryError::OperationHasPublishedAgentBindings { operation_id } => { + Self::conflict_with_context( + format!( + "operation {operation_id} cannot be deleted while it is bound to a published agent" + ), + json!({ "operation_id": operation_id }), + ) + } + RegistryError::AuthProfileNotFound { auth_profile_id } => Self::not_found_with_context( + format!("auth profile {auth_profile_id} was not found"), + json!({ "auth_profile_id": auth_profile_id }), + ), + RegistryError::OperationAlreadyExists { operation_id } => Self::conflict_with_context( + format!("operation {operation_id} already exists"), + json!({ "operation_id": operation_id }), + ), + RegistryError::WorkspaceSlugAlreadyExists { slug } => Self::conflict_with_context( + format!("workspace with slug {slug} already exists"), + json!({ "slug": slug }), + ), + RegistryError::SecretNameAlreadyExists { workspace_id, name } => { + Self::conflict_with_context( + format!("secret with name {name} already exists in workspace {workspace_id}"), + json!({ + "workspace_id": workspace_id, + "name": name, + }), + ) + } + RegistryError::SecretReferencedByAuthProfile { + secret_id, + auth_profile_id, + } => Self::conflict_with_context( + format!("secret {secret_id} is referenced by auth profile {auth_profile_id}"), + json!({ + "secret_id": secret_id, + "auth_profile_id": auth_profile_id, + }), + ), + RegistryError::InvalidStreamSessionTransition { + session_id, + from, + to, + } => Self::conflict_with_context( + format!("invalid stream session transition for {session_id}: {from} -> {to}"), + json!({ + "session_id": session_id, + "from": from, + "to": to, + }), + ), + RegistryError::InvalidAsyncJobTransition { job_id, from, to } => { + Self::conflict_with_context( + format!("invalid async job transition for {job_id}: {from} -> {to}"), + json!({ + "job_id": job_id, + "from": from, + "to": to, + }), + ) + } + RegistryError::UserEmailAlreadyExists { email } => Self::conflict_with_context( + format!("user with email {email} already exists"), + json!({ "email": email }), + ), + RegistryError::InvalidInitialVersion { + operation_id, + version, + } => Self::validation_with_context( + format!("operation {operation_id} must start with version 1, got {version}"), + json!({ + "operation_id": operation_id, + "version": version, + }), + ), + RegistryError::InvalidVersionSequence { + operation_id, + expected, + actual, + } => Self::validation_with_context( + format!("operation {operation_id} expected next version {expected}, got {actual}"), + json!({ + "operation_id": operation_id, + "expected": expected, + "actual": actual, + }), + ), + RegistryError::ImmutableOperationFieldChanged { + operation_id, + field, + } => Self::validation_with_context( + format!("operation {operation_id} changed immutable field {field}"), + json!({ + "operation_id": operation_id, + "field": field, + }), + ), + RegistryError::InvalidEnumRepresentation { field } => Self::validation_with_context( + format!("unsupported enum representation for field {field}"), + json!({ "field": field }), + ), + RegistryError::InvalidNumericValue { field, value } => Self::validation_with_context( + format!("invalid numeric value for field {field}: {value}"), + json!({ + "field": field, + "value": value, + }), + ), + RegistryError::YamlImportJobNotFound { job_id } => Self::validation_with_context( + format!("yaml import job {job_id} was not found"), + json!({ "job_id": job_id }), + ), + RegistryError::Storage(_) | RegistryError::Serialization(_) => { + Self::internal(value.to_string()) + } + } + } +} + +impl From for ApiError { + fn from(value: MappingError) -> Self { + Self::validation(value.to_string()) + } +} + +impl From for ApiError { + fn from(value: SchemaError) -> Self { + Self::validation(value.to_string()) + } +} + +impl From for ApiError { + fn from(value: StorageError) -> Self { + match value { + StorageError::InvalidStorageRef { details } => Self::validation_with_context( + format!("invalid storage reference: {details}"), + json!({ "details": details }), + ), + StorageError::Io(_) | StorageError::Serialization(_) => { + Self::internal(value.to_string()) + } + } + } +} + +pub fn runtime_test_failure(error: &RuntimeError) -> Value { + let mut payload = json!({ + "code": runtime_test_failure_code(error), + "message": error.to_string() + }); + if let Some(context) = runtime_error_context(error) { + payload["context"] = context; + } + payload +} + +fn runtime_test_failure_code(error: &RuntimeError) -> &'static str { + match error { + RuntimeError::Schema(_) => "runtime_schema_error", + RuntimeError::Mapping(_) => "runtime_mapping_error", + RuntimeError::GraphqlAdapter(_) => "runtime_graphql_error", + RuntimeError::GrpcAdapter(_) => "runtime_grpc_error", + RuntimeError::RestAdapter(_) => "runtime_rest_error", + RuntimeError::ProtocolAdapter(_) => "runtime_adapter_error", + RuntimeError::SoapAdapter(_) => "runtime_soap_error", + RuntimeError::WebsocketAdapter(_) => "runtime_websocket_error", + RuntimeError::UnsupportedProtocol { .. } => "runtime_protocol_error", + RuntimeError::ConcurrencyLimitExceeded { .. } => "runtime_overloaded", + RuntimeError::InvalidPreparedRequest { .. } => "runtime_request_error", + RuntimeError::MissingStreamingConfig { .. } => "runtime_streaming_config_error", + RuntimeError::UnsupportedExecutionMode { .. } => "runtime_streaming_mode_error", + RuntimeError::InvalidStreamingPayload { .. } => "runtime_streaming_payload_error", + RuntimeError::MissingAuthProfile { .. } => "runtime_auth_profile_error", + RuntimeError::MissingSecret { .. } | RuntimeError::MissingSecretVersion { .. } => { + "runtime_secret_error" + } + RuntimeError::InvalidAuthSecretValue { .. } => "runtime_secret_value_error", + RuntimeError::SecretCrypto { .. } => "runtime_secret_crypto_error", + } +} + +pub fn runtime_error_context(error: &RuntimeError) -> Option { + match error { + RuntimeError::InvalidPreparedRequest { field, reason } => Some(json!({ + "field": field, + "reason": reason, + })), + RuntimeError::InvalidStreamingPayload { field, reason } => Some(json!({ + "field": field, + "reason": reason, + })), + RuntimeError::InvalidAuthSecretValue { secret_id, reason } => Some(json!({ + "secret_id": secret_id, + "reason": reason, + })), + RuntimeError::SecretCrypto { operation, details } => Some(json!({ + "operation": operation, + "details": details, + })), + RuntimeError::MissingAuthProfile { auth_profile_id } => Some(json!({ + "auth_profile_id": auth_profile_id, + })), + RuntimeError::MissingSecret { secret_id } => Some(json!({ + "secret_id": secret_id, + })), + RuntimeError::MissingSecretVersion { secret_id, version } => Some(json!({ + "secret_id": secret_id, + "version": version, + })), + RuntimeError::MissingStreamingConfig { operation_id } => Some(json!({ + "operation_id": operation_id, + })), + RuntimeError::UnsupportedExecutionMode { operation_id, mode } => Some(json!({ + "operation_id": operation_id, + "mode": mode, + })), + RuntimeError::UnsupportedProtocol { protocol } => Some(json!({ + "protocol": protocol, + })), + RuntimeError::ConcurrencyLimitExceeded { kind, limit } => Some(json!({ + "kind": kind, + "limit": limit, + })), + _ => None, + } +} + +#[cfg(test)] +mod tests { + use serde_json::json; + + use super::{ApiError, runtime_error_context, runtime_test_failure}; + use crank_registry::RegistryError; + use crank_runtime::RuntimeError; + + #[test] + fn runtime_test_failure_includes_structured_context() { + let payload = runtime_test_failure(&RuntimeError::InvalidPreparedRequest { + field: "request.headers".to_owned(), + reason: "must be an object".to_owned(), + }); + + assert_eq!(payload["code"], "runtime_request_error"); + assert_eq!( + payload["context"], + json!({ + "field": "request.headers", + "reason": "must be an object" + }) + ); + } + + #[test] + fn runtime_error_context_includes_secret_crypto_operation() { + let context = runtime_error_context(&RuntimeError::SecretCrypto { + operation: "decode secret envelope", + details: "bad base64".to_owned(), + }) + .unwrap(); + + assert_eq!( + context, + json!({ + "operation": "decode secret envelope", + "details": "bad base64" + }) + ); + } + + #[test] + fn runtime_test_failure_includes_runtime_overload_context() { + let payload = runtime_test_failure(&RuntimeError::ConcurrencyLimitExceeded { + kind: "window", + limit: 16, + }); + + assert_eq!(payload["code"], "runtime_overloaded"); + assert_eq!( + payload["context"], + json!({ + "kind": "window", + "limit": 16 + }) + ); + } + + #[test] + fn registry_errors_preserve_structured_context_in_api_error() { + let error = ApiError::from(RegistryError::InvalidAsyncJobTransition { + job_id: "job_123".to_owned(), + from: "running".to_owned(), + to: "completed".to_owned(), + }); + + match error { + ApiError::Conflict { context, .. } => { + assert_eq!( + context, + Some(json!({ + "job_id": "job_123", + "from": "running", + "to": "completed" + })) + ); + } + other => panic!("unexpected error variant: {other:?}"), + } + } +} diff --git a/apps/admin-api/src/lib.rs b/apps/admin-api/src/lib.rs new file mode 100644 index 0000000..51e3520 --- /dev/null +++ b/apps/admin-api/src/lib.rs @@ -0,0 +1,9 @@ +pub mod app; +pub mod auth; +pub mod error; +pub mod rate_limit; +pub mod request_context; +pub mod routes; +pub mod service; +pub mod state; +pub mod storage; diff --git a/apps/admin-api/src/main.rs b/apps/admin-api/src/main.rs new file mode 100644 index 0000000..4339b77 --- /dev/null +++ b/apps/admin-api/src/main.rs @@ -0,0 +1,156 @@ +use std::{env, net::SocketAddr, path::PathBuf}; + +use admin_api::{ + app::build_app, + auth::{AuthSettings, BootstrapAdminConfig}, + service::AdminServiceBuilder, + state::AppState, +}; +use crank_community_auth::PasswordIdentityProvider; +use crank_registry::{PostgresPoolConfig, PostgresRegistry}; +use crank_runtime::{ + RequestRateLimitConfig, RequestRateLimiter, RuntimeCacheConfig, RuntimeCacheStores, + RuntimeLimits, SecretCrypto, community_default, +}; +use sqlx::postgres::PgConnectOptions; +use tokio::net::TcpListener; +use tracing::info; + +#[tokio::main] +async fn main() -> Result<(), Box> { + tracing_subscriber::fmt() + .with_env_filter( + env::var("CRANK_LOG_LEVEL").unwrap_or_else(|_| "admin_api=info,tower_http=info".into()), + ) + .init(); + + let storage_root = PathBuf::from( + env::var("CRANK_STORAGE_ROOT").unwrap_or_else(|_| "/var/lib/crank/storage".into()), + ); + let bind_addr = env::var("CRANK_ADMIN_BIND").unwrap_or_else(|_| "0.0.0.0:3001".into()); + let base_url = env::var("CRANK_BASE_URL").unwrap_or_else(|_| "http://localhost:3000".into()); + let socket_addr: SocketAddr = bind_addr.parse()?; + let pool_config = PostgresPoolConfig::from_env()?; + let registry = PostgresRegistry::connect_with_options_and_pool_config( + database_options_from_env()?, + pool_config, + ) + .await?; + let auth_settings = AuthSettings { + session_secret: env::var("CRANK_SESSION_SECRET")?, + password_pepper: env::var("CRANK_PASSWORD_PEPPER")?, + session_ttl_hours: env::var("CRANK_SESSION_TTL_HOURS") + .ok() + .and_then(|value| value.parse::().ok()) + .unwrap_or(24), + cookie_secure: base_url.starts_with("https://"), + bootstrap_admin: BootstrapAdminConfig { + email: env::var("CRANK_BOOTSTRAP_ADMIN_EMAIL")?, + password: env::var("CRANK_BOOTSTRAP_ADMIN_PASSWORD")?, + display_name: env::var("CRANK_BOOTSTRAP_ADMIN_DISPLAY_NAME") + .unwrap_or_else(|_| "Crank Owner".into()), + }, + }; + let runtime_limits = RuntimeLimits::from_env()?; + let cache_config = RuntimeCacheConfig::from_env()?; + let cache_stores = RuntimeCacheStores::from_config(&cache_config).await?; + let api_rate_limit = admin_api_rate_limit_config_from_env()?; + let secret_crypto = SecretCrypto::new(&env::var("CRANK_MASTER_KEY")?)?; + let runtime = community_default() + .with_limits(runtime_limits) + .with_response_cache(cache_stores.response.clone()) + .build(); + let identity_provider = + PasswordIdentityProvider::new(registry.clone(), auth_settings.password_pepper.clone()); + let service = AdminServiceBuilder::new( + registry, + storage_root, + auth_settings, + secret_crypto, + runtime, + ) + .with_identity_provider(std::sync::Arc::new(identity_provider)) + .build(); + service.bootstrap_admin_user().await?; + if env_flag("CRANK_DEMO_SEED") { + service.seed_demo_assets().await?; + } + let state = AppState { + service, + api_rate_limiter: if cache_config.backend.is_external() { + RequestRateLimiter::new_shared(api_rate_limit, cache_stores.rate_limit.clone()) + } else { + RequestRateLimiter::new(api_rate_limit) + }, + }; + let app = build_app(state); + let listener = TcpListener::bind(socket_addr).await?; + + info!( + runtime_max_concurrent_unary = runtime_limits.max_concurrent_unary, + runtime_max_concurrent_window = runtime_limits.max_concurrent_window, + runtime_max_concurrent_sessions = runtime_limits.max_concurrent_sessions, + runtime_max_concurrent_jobs = runtime_limits.max_concurrent_jobs, + admin_rate_limit_rps = api_rate_limit.requests_per_second, + admin_rate_limit_burst = api_rate_limit.burst, + cache_backend = %cache_config.backend, + max_connections = pool_config.max_connections, + min_connections = pool_config.min_connections, + acquire_timeout_ms = pool_config.acquire_timeout_ms, + idle_timeout_ms = pool_config.idle_timeout_ms, + max_lifetime_ms = pool_config.max_lifetime_ms, + "postgres pool configured" + ); + info!("admin-api listening on {}", socket_addr); + + axum::serve(listener, app).await?; + + Ok(()) +} + +fn env_flag(name: &str) -> bool { + matches!( + env::var(name) + .ok() + .as_deref() + .map(str::to_ascii_lowercase) + .as_deref(), + Some("1" | "true" | "yes" | "on") + ) +} + +fn admin_api_rate_limit_config_from_env() +-> Result> { + let requests_per_second = env::var("CRANK_ADMIN_RATE_LIMIT_RPS") + .ok() + .and_then(|value| value.parse::().ok()) + .unwrap_or(30); + let burst = env::var("CRANK_ADMIN_RATE_LIMIT_BURST") + .ok() + .and_then(|value| value.parse::().ok()) + .unwrap_or(60); + + Ok(RequestRateLimitConfig::new(requests_per_second, burst)?) +} + +fn database_options_from_env() -> Result> { + if let Ok(database_url) = env::var("CRANK_DATABASE_URL") { + return Ok(database_url.parse::()?); + } + + let host = env::var("POSTGRES_HOST").unwrap_or_else(|_| "postgres".into()); + let port = env::var("POSTGRES_PORT") + .ok() + .and_then(|value| value.parse::().ok()) + .unwrap_or(5432); + let database = env::var("POSTGRES_DB").unwrap_or_else(|_| "crank".into()); + let username = env::var("POSTGRES_USER").unwrap_or_else(|_| "crank".into()); + let password = env::var("POSTGRES_PASSWORD").unwrap_or_else(|_| "crank".into()); + + Ok(PgConnectOptions::new() + .host(&host) + .port(port) + .database(&database) + .username(&username) + .password(&password)) +} diff --git a/apps/admin-api/src/rate_limit.rs b/apps/admin-api/src/rate_limit.rs new file mode 100644 index 0000000..0100eb2 --- /dev/null +++ b/apps/admin-api/src/rate_limit.rs @@ -0,0 +1,106 @@ +use axum::{ + extract::{Request, State}, + http::header::{COOKIE, HeaderMap}, + middleware::Next, + response::Response, +}; +use crank_runtime::RateLimitRejection; + +use crate::{auth::SESSION_COOKIE_NAME, error::ApiError, state::AppState}; + +pub async fn apply_api_rate_limit( + State(state): State, + request: Request, + next: Next, +) -> Result { + let key = rate_limit_key(request.headers(), request.uri().path()); + if let Err(rejection) = state.api_rate_limiter.check(&key).await { + return Err(ApiError::rate_limited_with_context( + "request rate limit exceeded", + rejection_context(rejection), + )); + } + + Ok(next.run(request).await) +} + +fn rejection_context(rejection: RateLimitRejection) -> serde_json::Value { + serde_json::json!({ + "retry_after_ms": rejection.retry_after_ms, + }) +} + +fn rate_limit_key(headers: &HeaderMap, path: &str) -> String { + if let Some(session_id) = session_id_from_headers(headers) { + return format!("session:{session_id}"); + } + + if let Some(forwarded_for) = header_value(headers, "x-forwarded-for") { + let ip = forwarded_for + .split(',') + .next() + .map(str::trim) + .filter(|value| !value.is_empty()) + .unwrap_or("unknown"); + return format!("ip:{ip}"); + } + + if let Some(real_ip) = header_value(headers, "x-real-ip") { + return format!("ip:{real_ip}"); + } + + format!("anonymous:{path}") +} + +fn session_id_from_headers(headers: &HeaderMap) -> Option { + let cookies = headers.get(COOKIE)?.to_str().ok()?; + for part in cookies.split(';') { + let (name, value) = part.trim().split_once('=')?; + if name != SESSION_COOKIE_NAME { + continue; + } + let (session_id, _) = value.split_once('.')?; + if !session_id.is_empty() { + return Some(session_id.to_owned()); + } + } + + None +} + +fn header_value<'a>(headers: &'a HeaderMap, name: &'static str) -> Option<&'a str> { + headers.get(name)?.to_str().ok().map(str::trim) +} + +#[cfg(test)] +mod tests { + use axum::http::{HeaderMap, HeaderValue, header::COOKIE}; + + use super::rate_limit_key; + + #[test] + fn keys_by_session_cookie_first() { + let mut headers = HeaderMap::new(); + headers.insert( + COOKIE, + HeaderValue::from_static("theme=dark; crank_session=sess_123.secret_456"), + ); + headers.insert("x-forwarded-for", HeaderValue::from_static("10.0.0.5")); + + assert_eq!( + rate_limit_key(&headers, "/api/auth/login"), + "session:sess_123" + ); + } + + #[test] + fn falls_back_to_forwarded_ip() { + let mut headers = HeaderMap::new(); + headers.insert( + "x-forwarded-for", + HeaderValue::from_static("10.0.0.5, 10.0.0.6"), + ); + + assert_eq!(rate_limit_key(&headers, "/api/auth/login"), "ip:10.0.0.5"); + } +} diff --git a/apps/admin-api/src/request_context.rs b/apps/admin-api/src/request_context.rs new file mode 100644 index 0000000..cda184e --- /dev/null +++ b/apps/admin-api/src/request_context.rs @@ -0,0 +1,165 @@ +use axum::{ + extract::Request, + http::{HeaderMap, HeaderName, HeaderValue}, + middleware::Next, + response::Response, +}; +use tracing::info; +use uuid::Uuid; + +pub const REQUEST_ID_HEADER: HeaderName = HeaderName::from_static("x-request-id"); +const MAX_REQUEST_ID_LEN: usize = 128; + +#[derive(Clone, Debug)] +pub struct RequestContext { + pub request_id: String, +} + +pub async fn apply_request_context(mut request: Request, next: Next) -> Response { + let context = RequestContext { + request_id: resolve_request_id(request.headers()), + }; + let method = request.method().clone(); + let path = request.uri().path().to_owned(); + request.extensions_mut().insert(context.clone()); + + let mut response = next.run(request).await; + info!( + request_id = %context.request_id, + method = %method, + path, + status = response.status().as_u16(), + "admin request completed" + ); + if let Ok(value) = HeaderValue::from_str(&context.request_id) { + response.headers_mut().insert(REQUEST_ID_HEADER, value); + } + response +} + +fn resolve_request_id(headers: &HeaderMap) -> String { + headers + .get(&REQUEST_ID_HEADER) + .and_then(|value| value.to_str().ok()) + .map(str::trim) + .filter(|value| is_valid_request_id(value)) + .map(ToOwned::to_owned) + .unwrap_or_else(|| Uuid::now_v7().to_string()) +} + +fn is_valid_request_id(value: &str) -> bool { + !value.is_empty() + && value.len() <= MAX_REQUEST_ID_LEN + && value + .bytes() + .all(|byte| matches!(byte, 0x21..=0x7e) && byte != b',' && byte != b';') +} + +#[cfg(test)] +mod tests { + use std::io; + use std::sync::{Arc, Mutex}; + + use axum::{Router, routing::get}; + use reqwest::Client; + use tokio::net::TcpListener; + use tracing_subscriber::{filter::LevelFilter, fmt::MakeWriter, prelude::*}; + + use super::{REQUEST_ID_HEADER, apply_request_context, is_valid_request_id}; + + #[test] + fn accepts_visible_ascii_request_ids() { + assert!(is_valid_request_id("req_test_123")); + assert!(is_valid_request_id("trace-123/abc")); + } + + #[test] + fn rejects_empty_or_control_request_ids() { + assert!(!is_valid_request_id("")); + assert!(!is_valid_request_id("bad value")); + assert!(!is_valid_request_id("bad\nvalue")); + } + + #[derive(Clone, Default)] + struct SharedLogWriter { + buffer: Arc>>, + } + + impl SharedLogWriter { + fn output(&self) -> String { + String::from_utf8(self.buffer.lock().unwrap().clone()).unwrap() + } + } + + impl<'a> MakeWriter<'a> for SharedLogWriter { + type Writer = SharedLogGuard; + + fn make_writer(&'a self) -> Self::Writer { + SharedLogGuard { + buffer: Arc::clone(&self.buffer), + } + } + } + + struct SharedLogGuard { + buffer: Arc>>, + } + + impl io::Write for SharedLogGuard { + fn write(&mut self, bytes: &[u8]) -> io::Result { + self.buffer.lock().unwrap().extend_from_slice(bytes); + Ok(bytes.len()) + } + + fn flush(&mut self) -> io::Result<()> { + Ok(()) + } + } + + #[tokio::test] + async fn logs_request_completion_with_request_id() { + let writer = SharedLogWriter::default(); + let subscriber = tracing_subscriber::registry().with( + tracing_subscriber::fmt::layer() + .with_writer(writer.clone()) + .without_time() + .with_ansi(false) + .with_target(false) + .compact() + .with_filter(LevelFilter::INFO), + ); + let dispatch = tracing::Dispatch::new(subscriber); + let app = Router::new() + .route("/probe", get(|| async { "ok" })) + .layer(axum::middleware::from_fn(apply_request_context)); + let listener = TcpListener::bind("127.0.0.1:0").await.unwrap(); + let address = listener.local_addr().unwrap(); + + let _guard = tracing::dispatcher::set_default(&dispatch); + tokio::spawn(async move { + axum::serve(listener, app).await.unwrap(); + }); + + let response = Client::new() + .get(format!("http://{address}/probe")) + .header(REQUEST_ID_HEADER.as_str(), "req_admin_trace_123") + .send() + .await + .unwrap(); + + assert_eq!(response.status(), reqwest::StatusCode::OK); + assert_eq!( + response.headers()[REQUEST_ID_HEADER.as_str()] + .to_str() + .unwrap(), + "req_admin_trace_123" + ); + + let logs = writer.output(); + assert!(logs.contains("admin request completed")); + assert!(logs.contains("req_admin_trace_123")); + assert!(logs.contains("GET")); + assert!(logs.contains("/probe")); + assert!(logs.contains("status=200")); + } +} diff --git a/apps/admin-api/src/routes.rs b/apps/admin-api/src/routes.rs new file mode 100644 index 0000000..a86d765 --- /dev/null +++ b/apps/admin-api/src/routes.rs @@ -0,0 +1,21 @@ +pub mod access; +pub mod agents; +pub mod auth; +pub mod auth_profiles; +pub mod capabilities; +pub mod machine_auth; +pub mod observability; +pub mod operations; +pub mod secrets; +pub mod streaming; +pub mod workspaces; + +use axum::Json; +use serde_json::json; + +pub async fn health() -> Json { + Json(json!({ + "service": "admin-api", + "status": "ok" + })) +} diff --git a/apps/admin-api/src/routes/access.rs b/apps/admin-api/src/routes/access.rs new file mode 100644 index 0000000..51a74f1 --- /dev/null +++ b/apps/admin-api/src/routes/access.rs @@ -0,0 +1,287 @@ +use axum::{ + Extension, Json, + extract::{Path, State}, + http::StatusCode, +}; +use crank_core::{ + AuditActor, AuditEvent, AuditEventId, AuditTarget, AuditTargetKind, PolicyAction, + PolicyDecision, PolicyScope, SessionActor, +}; +use serde::Deserialize; +use serde_json::{Value, json}; +use time::OffsetDateTime; +use uuid::Uuid; + +use crate::{ + auth::AuthenticatedSession, + error::ApiError, + service::{InvitationPayload, UpdateMembershipPayload}, + state::AppState, +}; + +#[derive(Deserialize)] +pub struct WorkspacePath { + pub workspace_id: String, +} + +#[derive(Deserialize)] +pub struct WorkspaceInvitationPath { + pub workspace_id: String, + pub invitation_id: String, +} + +#[derive(Deserialize)] +pub struct WorkspaceMembershipPath { + pub workspace_id: String, + pub user_id: String, +} + +pub async fn list_memberships( + Path(path): Path, + State(state): State, +) -> Result, ApiError> { + let items = state + .service + .list_memberships(&path.workspace_id.as_str().into()) + .await?; + Ok(Json(json!({ "items": items }))) +} + +pub async fn update_membership( + Path(path): Path, + State(state): State, + Extension(session): Extension, + Json(payload): Json, +) -> Result, ApiError> { + let workspace_id: crank_core::WorkspaceId = path.workspace_id.as_str().into(); + enforce_workspace_policy( + &state, + &session, + &workspace_id, + PolicyAction::WriteWorkspaceAccess, + )?; + let items = state + .service + .update_membership_role( + &workspace_id, + &session.user.id, + &path.user_id.as_str().into(), + payload, + ) + .await?; + record_access_audit( + &state, + &session, + &workspace_id, + "membership.role_updated", + AuditTargetKind::Membership, + path.user_id.clone(), + json!({ "user_id": path.user_id }), + ) + .await?; + Ok(Json(json!({ "items": items }))) +} + +pub async fn delete_membership( + Path(path): Path, + State(state): State, + Extension(session): Extension, +) -> Result { + let workspace_id: crank_core::WorkspaceId = path.workspace_id.as_str().into(); + enforce_workspace_policy( + &state, + &session, + &workspace_id, + PolicyAction::WriteWorkspaceAccess, + )?; + state + .service + .remove_membership( + &workspace_id, + &session.user.id, + &path.user_id.as_str().into(), + ) + .await?; + record_access_audit( + &state, + &session, + &workspace_id, + "membership.removed", + AuditTargetKind::Membership, + path.user_id.clone(), + json!({ "user_id": path.user_id }), + ) + .await?; + Ok(StatusCode::NO_CONTENT) +} + +pub async fn list_invitations( + Path(path): Path, + State(state): State, +) -> Result, ApiError> { + let items = state + .service + .list_invitations(&path.workspace_id.as_str().into()) + .await?; + Ok(Json(json!({ "items": items }))) +} + +pub async fn create_invitation( + Path(path): Path, + State(state): State, + Extension(session): Extension, + Json(payload): Json, +) -> Result, ApiError> { + let workspace_id: crank_core::WorkspaceId = path.workspace_id.as_str().into(); + enforce_workspace_policy( + &state, + &session, + &workspace_id, + PolicyAction::WriteWorkspaceAccess, + )?; + let created = state + .service + .create_invitation(&workspace_id, payload) + .await?; + record_access_audit( + &state, + &session, + &workspace_id, + "invitation.created", + AuditTargetKind::Invitation, + created.invitation.invitation.id.as_str().to_owned(), + json!({ "invitation_id": created.invitation.invitation.id.as_str() }), + ) + .await?; + Ok(Json(json!(created))) +} + +pub async fn delete_invitation( + Path(path): Path, + State(state): State, + Extension(session): Extension, +) -> Result { + let workspace_id: crank_core::WorkspaceId = path.workspace_id.as_str().into(); + enforce_workspace_policy( + &state, + &session, + &workspace_id, + PolicyAction::WriteWorkspaceAccess, + )?; + state + .service + .delete_invitation(&workspace_id, &path.invitation_id.as_str().into()) + .await?; + record_access_audit( + &state, + &session, + &workspace_id, + "invitation.deleted", + AuditTargetKind::Invitation, + path.invitation_id.clone(), + json!({ "invitation_id": path.invitation_id }), + ) + .await?; + Ok(StatusCode::NO_CONTENT) +} + +pub async fn export_workspace( + Path(path): Path, + State(state): State, +) -> Result, ApiError> { + let exported = state + .service + .export_workspace(&path.workspace_id.as_str().into()) + .await?; + Ok(Json(json!(exported))) +} + +pub async fn delete_workspace( + Path(path): Path, + State(state): State, + Extension(session): Extension, +) -> Result { + let workspace_id: crank_core::WorkspaceId = path.workspace_id.as_str().into(); + enforce_workspace_policy( + &state, + &session, + &workspace_id, + PolicyAction::WriteWorkspace, + )?; + state + .service + .delete_workspace(&workspace_id, &session.user.id) + .await?; + record_access_audit( + &state, + &session, + &workspace_id, + "workspace.deleted", + AuditTargetKind::Workspace, + workspace_id.as_str().to_owned(), + json!({ "workspace_id": workspace_id.as_str() }), + ) + .await?; + Ok(StatusCode::NO_CONTENT) +} + +fn enforce_workspace_policy( + state: &AppState, + session: &AuthenticatedSession, + workspace_id: &crank_core::WorkspaceId, + action: PolicyAction, +) -> Result<(), ApiError> { + let membership = session + .memberships + .iter() + .find(|membership| membership.workspace.id == *workspace_id) + .ok_or_else(|| ApiError::forbidden("workspace access denied"))?; + let actor = SessionActor { + user_id: session.user.id.clone(), + workspace_id: workspace_id.clone(), + role: membership.role, + }; + + match state.service.policy_engine().check( + &actor, + action, + PolicyScope::Workspace(workspace_id.clone()), + ) { + PolicyDecision::Allow => Ok(()), + PolicyDecision::Deny { reason } => Err(ApiError::forbidden(reason)), + } +} + +async fn record_access_audit( + state: &AppState, + session: &AuthenticatedSession, + workspace_id: &crank_core::WorkspaceId, + action: &str, + target_kind: AuditTargetKind, + target_id: String, + payload: Value, +) -> Result<(), ApiError> { + state + .service + .audit_sink() + .record(AuditEvent { + id: AuditEventId::new(format!("audit_{}", Uuid::now_v7().simple())), + occurred_at: OffsetDateTime::now_utc(), + actor: AuditActor { + user_id: session.user.id.clone(), + email: session.user.email.clone(), + session_id: Some(session.session_id.clone()), + }, + action: action.to_owned(), + target: AuditTarget { + workspace_id: workspace_id.clone(), + kind: target_kind, + id: target_id, + }, + payload, + source_ip: None, + user_agent: None, + }) + .await + .map_err(|error| ApiError::internal(format!("failed to record audit event: {error}"))) +} diff --git a/apps/admin-api/src/routes/agents.rs b/apps/admin-api/src/routes/agents.rs new file mode 100644 index 0000000..faa7f69 --- /dev/null +++ b/apps/admin-api/src/routes/agents.rs @@ -0,0 +1,242 @@ +use axum::{ + Json, + extract::{Path, State}, +}; +use serde::Deserialize; +use serde_json::{Value, json}; + +use crate::{ + error::ApiError, + service::{ + AgentBindingPayload, AgentPayload, PlatformApiKeyPayload, PublishPayload, + UpdateAgentPayload, + }, + state::AppState, +}; + +#[derive(Deserialize)] +pub struct WorkspacePath { + pub workspace_id: String, +} + +#[derive(Deserialize)] +pub struct WorkspaceAgentPath { + pub workspace_id: String, + pub agent_id: String, +} + +#[derive(Deserialize)] +pub struct WorkspaceAgentVersionPath { + pub workspace_id: String, + pub agent_id: String, + pub version: u32, +} + +#[derive(Deserialize)] +pub struct WorkspaceAgentPlatformApiKeyPath { + pub workspace_id: String, + pub agent_id: String, + pub key_id: String, +} + +pub async fn list_agents( + Path(path): Path, + State(state): State, +) -> Result, ApiError> { + let items = state + .service + .list_agents(&path.workspace_id.as_str().into()) + .await?; + Ok(Json(json!({ "items": items }))) +} + +pub async fn create_agent( + Path(path): Path, + State(state): State, + Json(payload): Json, +) -> Result, ApiError> { + let created = state + .service + .create_agent(&path.workspace_id.as_str().into(), payload) + .await?; + Ok(Json(json!(created))) +} + +pub async fn get_agent( + Path(path): Path, + State(state): State, +) -> Result, ApiError> { + let agent = state + .service + .get_agent( + &path.workspace_id.as_str().into(), + &path.agent_id.as_str().into(), + ) + .await?; + Ok(Json(json!(agent))) +} + +pub async fn update_agent( + Path(path): Path, + State(state): State, + Json(payload): Json, +) -> Result, ApiError> { + let updated = state + .service + .update_agent( + &path.workspace_id.as_str().into(), + &path.agent_id.as_str().into(), + payload, + ) + .await?; + Ok(Json(json!(updated))) +} + +pub async fn delete_agent( + Path(path): Path, + State(state): State, +) -> Result, ApiError> { + let deleted = state + .service + .delete_agent( + &path.workspace_id.as_str().into(), + &path.agent_id.as_str().into(), + ) + .await?; + Ok(Json(json!(deleted))) +} + +pub async fn get_agent_version( + Path(path): Path, + State(state): State, +) -> Result, ApiError> { + let version = state + .service + .get_agent_version( + &path.workspace_id.as_str().into(), + &path.agent_id.as_str().into(), + path.version, + ) + .await?; + Ok(Json(json!(version))) +} + +pub async fn save_agent_bindings( + Path(path): Path, + State(state): State, + Json(payload): Json>, +) -> Result, ApiError> { + let record = state + .service + .save_agent_bindings( + &path.workspace_id.as_str().into(), + &path.agent_id.as_str().into(), + payload, + ) + .await?; + Ok(Json(json!(record))) +} + +pub async fn publish_agent( + Path(path): Path, + State(state): State, + Json(payload): Json, +) -> Result, ApiError> { + let published = state + .service + .publish_agent( + &path.workspace_id.as_str().into(), + &path.agent_id.as_str().into(), + payload.version, + ) + .await?; + Ok(Json(json!(published))) +} + +pub async fn unpublish_agent( + Path(path): Path, + State(state): State, +) -> Result, ApiError> { + let updated = state + .service + .unpublish_agent( + &path.workspace_id.as_str().into(), + &path.agent_id.as_str().into(), + ) + .await?; + Ok(Json(json!(updated))) +} + +pub async fn archive_agent( + Path(path): Path, + State(state): State, +) -> Result, ApiError> { + let updated = state + .service + .archive_agent( + &path.workspace_id.as_str().into(), + &path.agent_id.as_str().into(), + ) + .await?; + Ok(Json(json!(updated))) +} + +pub async fn list_agent_platform_api_keys( + Path(path): Path, + State(state): State, +) -> Result, ApiError> { + let items = state + .service + .list_agent_platform_api_keys( + &path.workspace_id.as_str().into(), + &path.agent_id.as_str().into(), + ) + .await?; + Ok(Json(json!({ "items": items }))) +} + +pub async fn create_agent_platform_api_key( + Path(path): Path, + State(state): State, + Json(payload): Json, +) -> Result, ApiError> { + let created = state + .service + .create_agent_platform_api_key( + &path.workspace_id.as_str().into(), + &path.agent_id.as_str().into(), + payload, + ) + .await?; + Ok(Json(json!(created))) +} + +pub async fn revoke_agent_platform_api_key( + Path(path): Path, + State(state): State, +) -> Result { + state + .service + .revoke_agent_platform_api_key( + &path.workspace_id.as_str().into(), + &path.agent_id.as_str().into(), + &path.key_id.as_str().into(), + ) + .await?; + Ok(axum::http::StatusCode::NO_CONTENT) +} + +pub async fn delete_agent_platform_api_key( + Path(path): Path, + State(state): State, +) -> Result { + state + .service + .delete_agent_platform_api_key( + &path.workspace_id.as_str().into(), + &path.agent_id.as_str().into(), + &path.key_id.as_str().into(), + ) + .await?; + Ok(axum::http::StatusCode::NO_CONTENT) +} diff --git a/apps/admin-api/src/routes/auth.rs b/apps/admin-api/src/routes/auth.rs new file mode 100644 index 0000000..7cfb6a7 --- /dev/null +++ b/apps/admin-api/src/routes/auth.rs @@ -0,0 +1,109 @@ +use axum::{Extension, Json, extract::State, http::StatusCode, response::IntoResponse}; +use axum_extra::extract::cookie::CookieJar; +use serde_json::json; + +use crate::{ + auth::{AuthenticatedSession, cleared_session_cookie, extract_session_token, session_cookie}, + error::ApiError, + service::{ + ChangePasswordPayload, LoginPayload, UpdateCurrentWorkspacePayload, UpdateProfilePayload, + }, + state::AppState, +}; + +pub async fn login( + State(state): State, + jar: CookieJar, + Json(payload): Json, +) -> Result { + let (session_data, session) = state.service.login(payload).await?; + let cookie_value = format!( + "{}.{}", + session_data.session_id.as_str(), + session_data.value + ); + let jar = jar.add(session_cookie(state.service.auth_settings(), &cookie_value)); + + Ok((jar, Json(serde_json::json!(session)))) +} + +pub async fn logout( + State(state): State, + jar: CookieJar, +) -> Result { + if let Some((session_id, session_value)) = extract_session_token(&jar) { + state.service.logout(&session_id, &session_value).await?; + } + + let jar = jar.remove(cleared_session_cookie(state.service.auth_settings())); + Ok((jar, StatusCode::NO_CONTENT)) +} + +pub async fn get_session( + State(state): State, + jar: CookieJar, +) -> Result, ApiError> { + let (session_id, session_value) = extract_session_token(&jar) + .ok_or_else(|| ApiError::unauthorized("authentication required"))?; + let session = state + .service + .session_response(&session_id, &session_value) + .await? + .ok_or_else(|| ApiError::unauthorized("session is invalid or expired"))?; + + Ok(Json(serde_json::json!(session))) +} + +pub async fn get_profile( + Extension(session): Extension, +) -> Result, ApiError> { + Ok(Json(json!({ + "user": session.user, + "memberships": session.memberships, + "current_workspace_id": session.current_workspace_id + }))) +} + +pub async fn update_profile( + State(state): State, + Extension(session): Extension, + Json(payload): Json, +) -> Result, ApiError> { + let updated = state + .service + .update_profile( + &session.user.id, + session.current_workspace_id.as_ref(), + payload, + ) + .await?; + Ok(Json(json!(updated))) +} + +pub async fn update_current_workspace( + State(state): State, + Extension(session): Extension, + Json(payload): Json, +) -> Result, ApiError> { + let updated = state + .service + .set_current_workspace( + &session.session_id, + &session.user.id, + &payload.workspace_id.as_str().into(), + ) + .await?; + Ok(Json(json!(updated))) +} + +pub async fn change_password( + State(state): State, + Extension(session): Extension, + Json(payload): Json, +) -> Result { + state + .service + .change_password(&session.user.id, payload) + .await?; + Ok(StatusCode::NO_CONTENT) +} diff --git a/apps/admin-api/src/routes/auth_profiles.rs b/apps/admin-api/src/routes/auth_profiles.rs new file mode 100644 index 0000000..669d228 --- /dev/null +++ b/apps/admin-api/src/routes/auth_profiles.rs @@ -0,0 +1,56 @@ +use axum::{ + Json, + extract::{Path, State}, +}; +use serde::Deserialize; +use serde_json::{Value, json}; + +use crate::{error::ApiError, service::AuthProfilePayload, state::AppState}; + +#[derive(Deserialize)] +pub struct WorkspacePath { + pub workspace_id: String, +} + +#[derive(Deserialize)] +pub struct WorkspaceAuthProfilePath { + pub workspace_id: String, + pub auth_profile_id: String, +} + +pub async fn list_auth_profiles( + Path(path): Path, + State(state): State, +) -> Result, ApiError> { + let items = state + .service + .list_auth_profiles(&path.workspace_id.as_str().into()) + .await?; + Ok(Json(json!({ "items": items }))) +} + +pub async fn create_auth_profile( + Path(path): Path, + State(state): State, + Json(payload): Json, +) -> Result, ApiError> { + let profile = state + .service + .create_auth_profile(&path.workspace_id.as_str().into(), payload) + .await?; + Ok(Json(json!(profile))) +} + +pub async fn get_auth_profile( + Path(path): Path, + State(state): State, +) -> Result, ApiError> { + let profile = state + .service + .get_auth_profile( + &path.workspace_id.as_str().into(), + &path.auth_profile_id.as_str().into(), + ) + .await?; + Ok(Json(json!(profile))) +} diff --git a/apps/admin-api/src/routes/capabilities.rs b/apps/admin-api/src/routes/capabilities.rs new file mode 100644 index 0000000..aa97bbb --- /dev/null +++ b/apps/admin-api/src/routes/capabilities.rs @@ -0,0 +1,8 @@ +use axum::{Json, extract::State}; +use serde_json::json; + +use crate::state::AppState; + +pub async fn get_capabilities(State(state): State) -> Json { + Json(json!(state.service.capability_profile().capabilities())) +} diff --git a/apps/admin-api/src/routes/machine_auth.rs b/apps/admin-api/src/routes/machine_auth.rs new file mode 100644 index 0000000..4c88d52 --- /dev/null +++ b/apps/admin-api/src/routes/machine_auth.rs @@ -0,0 +1,124 @@ +use axum::{Json, extract::State}; +use crank_core::{ + IssueAgentTokenRequest, IssueOneTimeAgentTokenRequest, MachineAccessMode, MembershipRole, + TokenIssuerActor, TokenIssuerError, UserId, WorkspaceId, +}; +use serde_json::json; + +use crate::{error::ApiError, state::AppState}; + +pub async fn issue_agent_token( + State(state): State, + Json(payload): Json, +) -> Result, ApiError> { + let edition = state.service.capability_profile().capabilities().edition; + let grant_type = payload.grant_type.clone(); + let response = state + .service + .token_issuer() + .issue_short_lived(payload, &community_token_issuer_actor()) + .await + .map_err(|error| { + map_token_issuer_error( + error, + edition, + MachineAccessMode::ShortLivedToken, + json!({ + "grant_type": grant_type, + "upgrade_required": true, + }), + ) + })?; + Ok(Json(serde_json::json!(response))) +} + +pub async fn issue_one_time_agent_token( + State(state): State, + Json(payload): Json, +) -> Result, ApiError> { + let edition = state.service.capability_profile().capabilities().edition; + let operation_id = payload.operation_id.as_str().to_owned(); + let response = state + .service + .token_issuer() + .issue_one_time(payload, &community_token_issuer_actor()) + .await + .map_err(|error| { + map_token_issuer_error( + error, + edition, + MachineAccessMode::OneTimeToken, + json!({ + "operation_id": operation_id, + "upgrade_required": true, + }), + ) + })?; + Ok(Json(serde_json::json!(response))) +} + +fn community_token_issuer_actor() -> TokenIssuerActor { + TokenIssuerActor { + user_id: UserId::new("user_community_public"), + workspace_id: WorkspaceId::new("ws_community_public"), + role: MembershipRole::Viewer, + } +} + +fn map_token_issuer_error( + error: TokenIssuerError, + edition: crank_core::ProductEdition, + machine_access_mode: MachineAccessMode, + extra_context: serde_json::Value, +) -> ApiError { + match error { + TokenIssuerError::NotSupportedInEdition => ApiError::forbidden_with_context( + match machine_access_mode { + MachineAccessMode::ShortLivedToken => { + "short-lived machine access is not available in Community" + } + MachineAccessMode::OneTimeToken => { + "one-time machine access is not available in Community" + } + MachineAccessMode::StaticAgentKey => { + "static agent key machine access is not available for token issue" + } + }, + merge_machine_auth_context(edition, machine_access_mode, extra_context), + ), + TokenIssuerError::InvalidGrant(reason) => ApiError::validation_with_context( + "invalid machine token grant", + json!({ "reason": reason }), + ), + TokenIssuerError::AgentKeyUnknown => ApiError::validation("agent key is unknown"), + TokenIssuerError::OperationNotStrict => ApiError::validation("operation is not strict"), + TokenIssuerError::OperationNotPublishedForAgent => { + ApiError::validation("operation is not published for agent") + } + TokenIssuerError::RegistryFailure(details) => { + ApiError::internal(format!("token issuer registry failure: {details}")) + } + TokenIssuerError::ReplayGuardFailure(details) => { + ApiError::internal(format!("token issuer replay guard failure: {details}")) + } + } +} + +fn merge_machine_auth_context( + edition: crank_core::ProductEdition, + machine_access_mode: MachineAccessMode, + extra_context: serde_json::Value, +) -> serde_json::Value { + let mut context = json!({ + "edition": edition, + "machine_access_mode": machine_access_mode, + }); + + if let (Some(base), Some(extra)) = (context.as_object_mut(), extra_context.as_object()) { + for (key, value) in extra { + base.insert(key.clone(), value.clone()); + } + } + + context +} diff --git a/apps/admin-api/src/routes/observability.rs b/apps/admin-api/src/routes/observability.rs new file mode 100644 index 0000000..dfa6329 --- /dev/null +++ b/apps/admin-api/src/routes/observability.rs @@ -0,0 +1,100 @@ +use axum::{ + Json, + extract::{Path, Query, State}, +}; +use serde_json::{Value, json}; + +use crate::{ + error::ApiError, + routes::access::WorkspacePath, + service::{LogsQuery, UsageRequestQuery}, + state::AppState, +}; + +#[derive(serde::Deserialize)] +pub struct WorkspaceLogPath { + pub workspace_id: String, + pub log_id: String, +} + +#[derive(serde::Deserialize)] +pub struct WorkspaceOperationUsagePath { + pub workspace_id: String, + pub operation_id: String, +} + +#[derive(serde::Deserialize)] +pub struct WorkspaceAgentUsagePath { + pub workspace_id: String, + pub agent_id: String, +} + +pub async fn list_logs( + Path(path): Path, + Query(query): Query, + State(state): State, +) -> Result, ApiError> { + let items = state + .service + .list_logs(&path.workspace_id.as_str().into(), query) + .await?; + Ok(Json(json!({ "items": items }))) +} + +pub async fn get_log( + Path(path): Path, + State(state): State, +) -> Result, ApiError> { + let item = state + .service + .get_log( + &path.workspace_id.as_str().into(), + &path.log_id.as_str().into(), + ) + .await?; + Ok(Json(json!(item))) +} + +pub async fn get_usage( + Path(path): Path, + Query(query): Query, + State(state): State, +) -> Result, ApiError> { + let usage = state + .service + .get_usage_overview(&path.workspace_id.as_str().into(), query) + .await?; + Ok(Json(json!(usage))) +} + +pub async fn get_operation_usage( + Path(path): Path, + Query(query): Query, + State(state): State, +) -> Result, ApiError> { + let usage = state + .service + .get_operation_usage( + &path.workspace_id.as_str().into(), + &path.operation_id.as_str().into(), + query, + ) + .await?; + Ok(Json(json!(usage))) +} + +pub async fn get_agent_usage( + Path(path): Path, + Query(query): Query, + State(state): State, +) -> Result, ApiError> { + let usage = state + .service + .get_agent_usage( + &path.workspace_id.as_str().into(), + &path.agent_id.as_str().into(), + query, + ) + .await?; + Ok(Json(json!(usage))) +} diff --git a/apps/admin-api/src/routes/operations.rs b/apps/admin-api/src/routes/operations.rs new file mode 100644 index 0000000..49d6b4c --- /dev/null +++ b/apps/admin-api/src/routes/operations.rs @@ -0,0 +1,283 @@ +use axum::{ + Json, + extract::{Extension, Path, Query, State}, + http::{HeaderMap, StatusCode, header}, + response::IntoResponse, +}; +use serde::Deserialize; +use serde_json::{Value, json}; + +use crate::{ + error::ApiError, + request_context::RequestContext, + service::{ + ExportQuery, GenerateDraftPayload, ImportQuery, NewVersionPayload, OperationPayload, + PublishPayload, TestRunPayload, UpdateOperationPayload, + }, + state::AppState, +}; + +#[derive(Deserialize)] +pub struct WorkspacePath { + pub workspace_id: String, +} + +#[derive(Deserialize)] +pub struct WorkspaceOperationPath { + pub workspace_id: String, + pub operation_id: String, +} + +#[derive(Deserialize)] +pub struct WorkspaceOperationVersionPath { + pub workspace_id: String, + pub operation_id: String, + pub version: u32, +} + +pub async fn list_operations( + Path(path): Path, + State(state): State, +) -> Result, ApiError> { + let items = state + .service + .list_operations(&path.workspace_id.as_str().into()) + .await?; + let total = items.len(); + Ok(Json(json!({ + "items": items, + "page": 1, + "page_size": total, + "total": total + }))) +} + +pub async fn create_operation( + Path(path): Path, + State(state): State, + Json(payload): Json, +) -> Result, ApiError> { + let created = state + .service + .create_operation(&path.workspace_id.as_str().into(), payload) + .await?; + Ok(Json(json!(created))) +} + +pub async fn get_operation( + Path(path): Path, + State(state): State, +) -> Result, ApiError> { + let operation = state + .service + .get_operation( + &path.workspace_id.as_str().into(), + &path.operation_id.as_str().into(), + ) + .await?; + Ok(Json(json!(operation))) +} + +pub async fn update_operation( + Path(path): Path, + State(state): State, + Json(payload): Json, +) -> Result, ApiError> { + let result = state + .service + .update_operation( + &path.workspace_id.as_str().into(), + &path.operation_id.as_str().into(), + payload, + ) + .await?; + Ok(Json(json!(result))) +} + +pub async fn delete_operation( + Path(path): Path, + State(state): State, +) -> Result, ApiError> { + let result = state + .service + .delete_operation( + &path.workspace_id.as_str().into(), + &path.operation_id.as_str().into(), + ) + .await?; + Ok(Json(json!(result))) +} + +pub async fn get_operation_version( + Path(path): Path, + State(state): State, +) -> Result, ApiError> { + let version = state + .service + .get_operation_version( + &path.workspace_id.as_str().into(), + &path.operation_id.as_str().into(), + path.version, + ) + .await?; + Ok(Json(json!(version))) +} + +pub async fn create_version( + Path(path): Path, + State(state): State, + Json(payload): Json, +) -> Result, ApiError> { + let created = state + .service + .create_version( + &path.workspace_id.as_str().into(), + &path.operation_id.as_str().into(), + payload, + ) + .await?; + Ok(Json(json!(created))) +} + +pub async fn publish_operation( + Path(path): Path, + State(state): State, + Json(payload): Json, +) -> Result, ApiError> { + let published = state + .service + .publish_operation( + &path.workspace_id.as_str().into(), + &path.operation_id.as_str().into(), + payload.version, + ) + .await?; + Ok(Json(json!(published))) +} + +pub async fn archive_operation( + Path(path): Path, + State(state): State, +) -> Result, ApiError> { + let archived = state + .service + .archive_operation( + &path.workspace_id.as_str().into(), + &path.operation_id.as_str().into(), + ) + .await?; + Ok(Json(json!(archived))) +} + +pub async fn run_test( + Path(path): Path, + State(state): State, + Extension(request_context): Extension, + Json(payload): Json, +) -> Result, ApiError> { + let result = state + .service + .run_test( + &path.workspace_id.as_str().into(), + &path.operation_id.as_str().into(), + payload, + &request_context.request_id, + ) + .await?; + Ok(Json(json!(result))) +} + +pub async fn upload_input_json( + Path(path): Path, + State(state): State, + Json(payload): Json, +) -> Result, ApiError> { + let sample = state + .service + .save_json_sample( + &path.workspace_id.as_str().into(), + &path.operation_id.as_str().into(), + crank_registry::SampleKind::InputJson, + &payload, + ) + .await?; + + Ok(Json(json!({ + "sample_id": sample.id.as_str(), + "sample_kind": sample.sample_kind, + "version": sample.version + }))) +} + +pub async fn upload_output_json( + Path(path): Path, + State(state): State, + Json(payload): Json, +) -> Result, ApiError> { + let sample = state + .service + .save_json_sample( + &path.workspace_id.as_str().into(), + &path.operation_id.as_str().into(), + crank_registry::SampleKind::OutputJson, + &payload, + ) + .await?; + + Ok(Json(json!({ + "sample_id": sample.id.as_str(), + "sample_kind": sample.sample_kind, + "version": sample.version + }))) +} + +pub async fn generate_draft( + Path(path): Path, + State(state): State, + Json(payload): Json, +) -> Result, ApiError> { + let draft = state + .service + .generate_draft( + &path.workspace_id.as_str().into(), + &path.operation_id.as_str().into(), + payload, + ) + .await?; + Ok(Json(json!(draft))) +} + +pub async fn export_operation( + Path(path): Path, + Query(query): Query, + State(state): State, +) -> Result { + let yaml = state + .service + .export_operation( + &path.workspace_id.as_str().into(), + &path.operation_id.as_str().into(), + query, + ) + .await?; + let mut headers = HeaderMap::new(); + headers.insert( + header::CONTENT_TYPE, + header::HeaderValue::from_static("application/yaml"), + ); + + Ok((StatusCode::OK, headers, yaml)) +} + +pub async fn import_operation( + Path(path): Path, + Query(query): Query, + State(state): State, + body: String, +) -> Result, ApiError> { + let imported = state + .service + .import_operation(&path.workspace_id.as_str().into(), query, &body) + .await?; + Ok(Json(json!(imported))) +} diff --git a/apps/admin-api/src/routes/secrets.rs b/apps/admin-api/src/routes/secrets.rs new file mode 100644 index 0000000..4bb1817 --- /dev/null +++ b/apps/admin-api/src/routes/secrets.rs @@ -0,0 +1,98 @@ +use axum::{ + Extension, Json, + extract::{Path, State}, +}; +use serde::Deserialize; +use serde_json::{Value, json}; + +use crate::{ + auth::AuthenticatedSession, + error::ApiError, + service::{RotateSecretPayload, SecretPayload}, + state::AppState, +}; + +#[derive(Deserialize)] +pub struct WorkspacePath { + pub workspace_id: String, +} + +#[derive(Deserialize)] +pub struct WorkspaceSecretPath { + pub workspace_id: String, + pub secret_id: String, +} + +pub async fn list_secrets( + Path(path): Path, + State(state): State, +) -> Result, ApiError> { + let items = state + .service + .list_secrets(&path.workspace_id.as_str().into()) + .await?; + Ok(Json(json!({ "items": items }))) +} + +pub async fn create_secret( + Path(path): Path, + State(state): State, + Extension(session): Extension, + Json(payload): Json, +) -> Result, ApiError> { + let secret = state + .service + .create_secret( + &path.workspace_id.as_str().into(), + Some(&session.user.id), + payload, + ) + .await?; + Ok(Json(json!(secret))) +} + +pub async fn get_secret( + Path(path): Path, + State(state): State, +) -> Result, ApiError> { + let secret = state + .service + .get_secret( + &path.workspace_id.as_str().into(), + &path.secret_id.as_str().into(), + ) + .await?; + Ok(Json(json!(secret))) +} + +pub async fn rotate_secret( + Path(path): Path, + State(state): State, + Extension(session): Extension, + Json(payload): Json, +) -> Result, ApiError> { + let secret = state + .service + .rotate_secret( + &path.workspace_id.as_str().into(), + &path.secret_id.as_str().into(), + Some(&session.user.id), + payload, + ) + .await?; + Ok(Json(json!(secret))) +} + +pub async fn delete_secret( + Path(path): Path, + State(state): State, +) -> Result, ApiError> { + state + .service + .delete_secret( + &path.workspace_id.as_str().into(), + &path.secret_id.as_str().into(), + ) + .await?; + Ok(Json(json!({ "ok": true }))) +} diff --git a/apps/admin-api/src/routes/streaming.rs b/apps/admin-api/src/routes/streaming.rs new file mode 100644 index 0000000..319a348 --- /dev/null +++ b/apps/admin-api/src/routes/streaming.rs @@ -0,0 +1,16 @@ +use axum::{ + Json, + extract::{Path, State}, +}; +use serde_json::{Value, json}; + +use crate::{error::ApiError, routes::access::WorkspacePath, state::AppState}; + +pub async fn list_protocol_capabilities( + Path(_path): Path, + State(state): State, +) -> Result, ApiError> { + Ok(Json(json!({ + "items": state.service.list_protocol_capabilities().await + }))) +} diff --git a/apps/admin-api/src/routes/workspaces.rs b/apps/admin-api/src/routes/workspaces.rs new file mode 100644 index 0000000..f75cfb4 --- /dev/null +++ b/apps/admin-api/src/routes/workspaces.rs @@ -0,0 +1,58 @@ +use axum::{ + Extension, Json, + extract::{Path, State}, +}; +use serde_json::{Value, json}; + +use crate::{ + auth::AuthenticatedSession, + error::ApiError, + service::{UpdateWorkspacePayload, WorkspacePayload}, + state::AppState, +}; + +pub async fn list_workspaces( + State(state): State, + Extension(session): Extension, +) -> Result, ApiError> { + let items = state + .service + .list_workspaces_for_user(&session.user.id) + .await?; + Ok(Json(json!({ "items": items }))) +} + +pub async fn create_workspace( + State(state): State, + Extension(session): Extension, + Json(payload): Json, +) -> Result, ApiError> { + let workspace = state + .service + .create_workspace(&session.user.id, payload) + .await?; + Ok(Json(json!(workspace))) +} + +pub async fn get_workspace( + Path(workspace_id): Path, + State(state): State, +) -> Result, ApiError> { + let workspace = state + .service + .get_workspace(&workspace_id.as_str().into()) + .await?; + Ok(Json(json!(workspace))) +} + +pub async fn update_workspace( + Path(workspace_id): Path, + State(state): State, + Json(payload): Json, +) -> Result, ApiError> { + let workspace = state + .service + .update_workspace(&workspace_id.as_str().into(), payload) + .await?; + Ok(Json(json!(workspace))) +} diff --git a/apps/admin-api/src/service.rs b/apps/admin-api/src/service.rs new file mode 100644 index 0000000..06ae6e2 --- /dev/null +++ b/apps/admin-api/src/service.rs @@ -0,0 +1,4506 @@ +use std::collections::BTreeMap; +use std::path::PathBuf; +use std::sync::Arc; + +use base64::{Engine as _, engine::general_purpose::URL_SAFE_NO_PAD}; +use crank_core::{ + Agent, AgentId, AgentOperationBinding, AgentStatus, AgentVersion, AggregationMode, + AsyncJobHandle, AuditSink, AuthConfig, AuthKind, AuthProfile, AuthProfileId, CapabilityProfile, + CommunityCapabilityProfile, ConfigExport, EditionCapabilities, ExecutionMode, ExportMode, + GeneratedDraft, GeneratedDraftStatus, IdentityError, IdentityProvider, InvitationId, + InvitationStatus, InvitationToken, InvocationLevel, InvocationLog, InvocationLogId, + InvocationSource, InvocationStatus, JobStatus, LoginOutcome, MachineTokenIssuer, + MembershipRole, NoMachineTokenIssuer, NoopAuditSink, OperationId, OperationSecurityLevel, + OperationStatus, OwnerOnlyPolicyEngine, PlatformApiKey, PlatformApiKeyId, PlatformApiKeyScope, + PlatformApiKeyStatus, PolicyEngine, ProductEdition, Protocol, ResponseCachePolicy, SampleId, + Samples, Secret, SecretId, SecretKind, SecretStatus, StreamSession, StreamStatus, Target, + TransportBehavior, UsagePeriod, UserId, UserSessionId, Workspace, WorkspaceId, WorkspaceStatus, +}; +use crank_mapping::{JsonPathRoot, MappingSet, infer_mapping_from_samples}; +use crank_registry::{ + AgentSummary, AgentVersionRecord, CreateAgentRequest, CreateAsyncJobRequest, + CreateInvitationRequest, CreateInvocationLogRequest, CreatePlatformApiKeyRequest, + CreateSecretRequest, CreateStreamSessionRequest, CreateVersionRequest, CreateWorkspaceRequest, + InvitationRecord, InvocationLogRecord, ListInvocationLogsQuery, MembershipRecord, + OperationAgentRef, OperationSampleMetadata, OperationSummary, OperationUsageSummary, + OperationVersionRecord, PlatformApiKeyRecord, PostgresRegistry, PublishAgentRequest, + PublishRequest, RegistryError, RegistryOperation, RotateSecretRequest, SampleKind, + SaveAgentBindingsRequest, SaveAuthProfileRequest, SaveSampleMetadataRequest, + UpdateAsyncJobStatusRequest, UpdateWorkspaceRequest, UsageAgentBreakdown, UsageBucket, + UsageOperationBreakdown, UsageQuery, UsageSummary, UsageTimelinePoint, + WorkspaceMembershipRecord, WorkspaceRecord, +}; +use crank_runtime::{ + PreparedRequest, ResolvedAuth, RuntimeError, RuntimeExecutor, RuntimeOperation, + RuntimeRequestContext, SecretCrypto, +}; +use crank_schema::Schema; +use serde::{Deserialize, Serialize}; +use serde_json::{Value, json}; +use sha2::{Digest, Sha256}; +use time::{OffsetDateTime, format_description::well_known::Rfc3339}; +use tracing::{info, instrument}; +use uuid::Uuid; + +use crate::{ + auth::{ + AuthSettings, AuthenticatedSession, SessionCookie, create_session_cookie, hash_password, + hash_session_secret, verify_password, + }, + error::ApiError, + storage::LocalArtifactStorage, +}; + +#[derive(Clone)] +pub struct AdminService { + registry: PostgresRegistry, + runtime: RuntimeExecutor, + storage: LocalArtifactStorage, + auth_settings: AuthSettings, + secret_crypto: SecretCrypto, + identity_provider: Option>, + policy_engine: Arc, + audit_sink: Arc, + token_issuer: Arc, + capability_profile: Arc, +} + +pub struct AdminServiceBuilder { + registry: PostgresRegistry, + storage_root: PathBuf, + auth_settings: AuthSettings, + secret_crypto: SecretCrypto, + runtime: RuntimeExecutor, + identity_provider: Option>, + policy_engine: Option>, + audit_sink: Option>, + token_issuer: Option>, + capability_profile: Option>, +} + +#[derive(Clone, Debug, Deserialize)] +pub struct LoginPayload { + pub email: String, + pub password: String, +} + +#[derive(Clone, Debug, Serialize)] +pub struct SessionResponse { + pub user: crank_core::User, + pub memberships: Vec, + pub current_workspace_id: Option, +} + +#[derive(Clone, Debug, Deserialize)] +pub struct UpdateProfilePayload { + pub display_name: String, + pub email: String, +} + +#[derive(Clone, Debug, Deserialize)] +pub struct ChangePasswordPayload { + pub current_password: String, + pub new_password: String, +} + +#[derive(Clone, Debug, Deserialize)] +pub struct UpdateCurrentWorkspacePayload { + pub workspace_id: String, +} + +#[derive(Clone, Debug, Deserialize, Serialize)] +pub struct OperationPayload { + pub name: String, + pub display_name: String, + #[serde(default = "default_operation_category")] + pub category: String, + pub protocol: Protocol, + #[serde(default)] + pub security_level: OperationSecurityLevel, + pub target: Target, + pub input_schema: Schema, + pub output_schema: Schema, + pub input_mapping: MappingSet, + pub output_mapping: MappingSet, + pub execution_config: crank_core::ExecutionConfig, + pub tool_description: crank_core::ToolDescription, +} + +#[derive(Clone, Debug, Deserialize)] +pub struct NewVersionPayload { + #[serde(flatten)] + pub operation: OperationPayload, + #[serde(default)] + pub change_note: Option, +} + +#[derive(Clone, Debug, Deserialize)] +pub struct PublishPayload { + pub version: u32, +} + +#[derive(Clone, Debug, Deserialize)] +pub struct TestRunPayload { + pub version: u32, + pub input: Value, +} + +#[derive(Clone, Debug, Serialize)] +pub struct TestRunResult { + pub ok: bool, + pub mode: ExecutionMode, + pub request_preview: Value, + pub response_preview: Value, + pub errors: Vec, + #[serde(skip_serializing_if = "Option::is_none")] + pub window: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub stream_session: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub async_job: Option, +} + +#[derive(Clone, Debug, Serialize)] +pub struct WindowTestRunView { + pub window_complete: bool, + pub truncated: bool, + pub has_more: bool, + pub cursor: Option, +} + +#[derive(Clone, Debug, Serialize)] +pub struct StreamSessionStartView { + pub session_id: String, + pub status: StreamStatus, + #[serde(with = "time::serde::rfc3339")] + pub expires_at: OffsetDateTime, + pub poll_after_ms: u64, + pub preview: Value, +} + +#[derive(Clone, Debug, Serialize)] +pub struct AsyncJobStartView { + pub job_id: String, + pub status: JobStatus, + pub progress: Value, +} + +#[derive(Debug, Serialize, Deserialize)] +struct StoredSessionState { + input: Value, + summary: Value, + items: Vec, + next_index: usize, + batch_size: usize, +} + +enum TestRunOutcome { + Unary { + output: Value, + }, + Window { + output: crank_runtime::WindowExecutionResult, + }, + Session { + output: StreamSessionStartView, + }, + AsyncJob { + output: AsyncJobStartView, + }, +} + +impl TestRunOutcome { + fn into_result_views( + self, + ) -> ( + &'static str, + Value, + Option, + Option, + Option, + ) { + match self { + Self::Unary { output } => ("admin test run completed", output, None, None, None), + Self::Window { output } => ( + "admin window test run completed", + json!({ + "summary": output.summary, + "items": output.items, + "cursor": output.cursor, + "window_complete": output.window_complete, + "truncated": output.truncated, + "has_more": output.has_more, + }), + Some(WindowTestRunView { + window_complete: output.window_complete, + truncated: output.truncated, + has_more: output.has_more, + cursor: output.cursor, + }), + None, + None, + ), + Self::Session { output } => ( + "admin session test run started", + json!({ + "session_id": output.session_id, + "status": output.status, + "expires_at": format_timestamp(output.expires_at), + "poll_after_ms": output.poll_after_ms, + "preview": output.preview, + }), + None, + Some(output), + None, + ), + Self::AsyncJob { output } => ( + "admin async job test run started", + json!({ + "job_id": output.job_id, + "status": output.status, + "progress": output.progress, + }), + None, + None, + Some(output), + ), + } + } +} + +#[derive(Clone, Debug, Deserialize)] +pub struct AuthProfilePayload { + pub name: String, + pub kind: AuthKind, + pub config: AuthConfig, +} + +#[derive(Clone, Debug, Deserialize)] +pub struct SecretPayload { + pub name: String, + pub kind: SecretKind, + pub value: Value, +} + +#[derive(Clone, Debug, Deserialize)] +pub struct RotateSecretPayload { + pub value: Value, +} + +#[derive(Clone, Debug, Deserialize)] +pub struct WorkspacePayload { + pub slug: String, + pub display_name: String, + #[serde(default)] + pub settings: Value, +} + +#[derive(Clone, Debug, Deserialize)] +pub struct UpdateWorkspacePayload { + pub slug: Option, + pub display_name: Option, + pub status: Option, + pub settings: Option, +} + +#[derive(Clone, Debug, Deserialize)] +pub struct AgentPayload { + pub slug: String, + pub display_name: String, + pub description: String, + #[serde(default)] + pub instructions: Value, + #[serde(default)] + pub tool_selection_policy: Value, +} + +#[derive(Clone, Debug, Deserialize)] +pub struct UpdateAgentPayload { + pub slug: String, + pub display_name: String, + pub description: String, +} + +#[derive(Clone, Debug, Deserialize)] +pub struct AgentBindingPayload { + pub operation_id: String, + pub operation_version: u32, + pub tool_name: String, + pub tool_title: String, + pub tool_description_override: Option, + #[serde(default = "default_enabled")] + pub enabled: bool, +} + +#[derive(Clone, Debug, Serialize)] +pub struct CreatedAgentResponse { + pub agent_id: String, + pub workspace_id: String, + pub version: u32, + pub status: AgentStatus, +} + +#[derive(Clone, Debug, Serialize)] +pub struct PublishAgentResponse { + pub agent_id: String, + pub workspace_id: String, + pub published_version: u32, + pub published_at: String, +} + +#[derive(Clone, Debug, Serialize)] +pub struct AgentSummaryView { + pub id: String, + pub workspace_id: String, + pub slug: String, + pub display_name: String, + pub description: String, + pub status: AgentStatus, + pub current_draft_version: u32, + pub latest_published_version: Option, + pub created_at: String, + pub updated_at: String, + pub published_at: Option, + pub operation_count: usize, + pub operation_ids: Vec, + pub key_count: usize, + pub calls_today: u64, + pub mcp_endpoint: String, +} + +#[derive(Clone, Debug, Serialize)] +pub struct AgentMutationResult { + pub agent_id: String, + pub workspace_id: String, + pub updated_at: String, +} + +#[derive(Clone, Debug, Deserialize)] +pub struct InvitationPayload { + pub email: String, + pub role: MembershipRole, + pub expires_at: Option, +} + +#[derive(Clone, Debug, Deserialize)] +pub struct UpdateMembershipPayload { + pub role: MembershipRole, +} + +#[derive(Clone, Debug, Serialize)] +pub struct CreatedInvitationResponse { + pub invitation: InvitationRecord, + pub invite_token: String, +} + +#[derive(Clone, Debug, Deserialize)] +pub struct PlatformApiKeyPayload { + pub name: String, + pub scopes: Vec, +} + +#[derive(Clone, Debug, Serialize)] +pub struct CreatedPlatformApiKeyResponse { + pub api_key: PlatformApiKeyRecord, + pub secret: String, +} + +#[derive(Clone, Debug, Serialize)] +pub struct WorkspaceExportResponse { + pub workspace: WorkspaceRecord, + pub memberships: Vec, + pub invitations: Vec, + pub operations: Vec, + pub agents: Vec, + pub platform_api_keys: Vec, + pub exported_at: String, +} + +#[derive(Clone, Debug, Deserialize)] +pub struct LogsQuery { + pub level: Option, + pub search: Option, + pub source: Option, + pub operation_id: Option, + pub agent_id: Option, + pub period: Option, + pub limit: Option, +} + +#[derive(Clone, Debug, Deserialize)] +pub struct UsageRequestQuery { + pub period: Option, + pub source: Option, +} + +#[derive(Clone, Debug, Serialize)] +pub struct UsageOverviewResponse { + pub summary: UsageSummary, + pub timeline: Vec, + pub operations: Vec, + pub agents: Vec, +} + +#[derive(Clone, Debug, Serialize)] +pub struct ProtocolCapabilityView { + pub protocol: Protocol, + pub supports_execution_modes: Vec, + pub supports_transport_behaviors: Vec, + pub supports_auth_kinds: Vec, + pub supports_upload_artifacts: Vec, + pub supports_cursor_path: bool, + pub supports_done_path: bool, + pub supports_aggregation_mode: Vec, +} + +#[derive(Clone, Debug, Deserialize)] +pub struct GenerateDraftPayload { + #[serde(default)] + pub sources: Vec, +} + +#[derive(Clone, Debug, Serialize)] +pub struct DraftGenerationResult { + pub generated_draft: GeneratedDraft, + pub input_schema: Schema, + pub output_schema: Schema, + pub input_mapping: MappingSet, + pub output_mapping: MappingSet, +} + +#[derive(Clone, Debug, Deserialize)] +pub struct ImportQuery { + #[serde(default)] + pub mode: ImportMode, +} + +#[derive(Clone, Copy, Debug, Default, Deserialize, Serialize)] +#[serde(rename_all = "snake_case")] +pub enum ImportMode { + #[default] + Create, + Upsert, +} + +#[derive(Clone, Debug, Deserialize)] +pub struct ExportQuery { + pub version: Option, + #[serde(default = "default_export_mode")] + pub mode: ExportMode, +} + +#[derive(Clone, Debug, Deserialize, Serialize)] +pub struct YamlOperationDocument { + pub format_version: String, + pub kind: String, + pub operation: RegistryOperation, +} + +#[derive(Clone, Debug, Serialize)] +pub struct CreatedOperationResponse { + pub operation_id: String, + pub workspace_id: String, + pub version: u32, + pub status: OperationStatus, + pub updated_at: String, +} + +#[derive(Clone, Debug, Serialize)] +pub struct PublishResponse { + pub operation_id: String, + pub workspace_id: String, + pub published_version: u32, + pub published_at: String, +} + +#[derive(Clone, Debug, Deserialize)] +pub struct UpdateOperationPayload { + pub display_name: String, + #[serde(default = "default_operation_category")] + pub category: String, + #[serde(default)] + pub security_level: OperationSecurityLevel, + pub target: Target, + pub input_schema: Schema, + pub output_schema: Schema, + pub input_mapping: MappingSet, + pub output_mapping: MappingSet, + pub execution_config: crank_core::ExecutionConfig, + pub tool_description: crank_core::ToolDescription, +} + +#[derive(Clone, Debug, Serialize)] +pub struct OperationUsageSummaryView { + pub calls_today: u64, + pub error_rate_pct: f64, + pub avg_latency_ms: u64, +} + +#[derive(Clone, Debug, Serialize)] +pub struct OperationAgentRefView { + pub agent_id: String, + pub agent_slug: String, + pub display_name: String, +} + +struct InvocationRecordRequest<'a> { + workspace_id: &'a WorkspaceId, + agent_id: Option<&'a AgentId>, + operation: &'a RegistryOperation, + request_id: Option<&'a str>, + source: InvocationSource, + level: InvocationLevel, + status: InvocationStatus, + message: String, + status_code: Option, + error_kind: Option, + duration_ms: u64, + request_preview: Value, + response_preview: Value, +} + +#[derive(Clone, Debug, Serialize)] +pub struct OperationSummaryView { + pub id: String, + pub workspace_id: String, + pub name: String, + pub display_name: String, + pub category: String, + pub protocol: Protocol, + pub security_level: OperationSecurityLevel, + pub target_url: String, + pub target_action: String, + pub status: OperationStatus, + pub current_draft_version: u32, + pub latest_published_version: Option, + pub created_at: String, + pub updated_at: String, + pub published_at: Option, + pub usage_summary: OperationUsageSummaryView, + pub agent_refs: Vec, +} + +#[derive(Clone, Debug, Serialize)] +pub struct OperationDetailView { + pub id: String, + pub workspace_id: String, + pub name: String, + pub display_name: String, + pub category: String, + pub protocol: Protocol, + pub security_level: OperationSecurityLevel, + pub status: OperationStatus, + pub current_draft_version: u32, + pub latest_published_version: Option, + pub created_at: String, + pub updated_at: String, + pub published_at: Option, + pub draft_version_ref: VersionRef, + pub published_version_ref: Option, + pub agent_refs: Vec, +} + +#[derive(Clone, Debug, Serialize)] +pub struct VersionRef { + pub version: u32, + pub status: OperationStatus, +} + +#[derive(Clone, Debug, Serialize)] +pub struct OperationMutationResult { + pub operation_id: String, + pub workspace_id: String, + pub version: u32, + pub status: OperationStatus, + pub updated_at: String, +} + +#[derive(Clone, Debug, Serialize)] +pub struct ImportResponse { + pub operation_id: String, + pub workspace_id: String, + pub version: u32, + pub import_mode: ImportMode, + pub warnings: Vec, +} + +#[derive(Clone, Debug, Serialize)] +pub struct DescriptorUploadResponse { + pub descriptor_id: String, + pub version: u32, +} + +#[derive(Clone, Debug, Serialize)] +pub struct GrpcServiceSummary { + pub package: String, + pub service: String, + pub methods: Vec, +} + +#[derive(Clone, Debug, Serialize)] +pub struct GrpcMethodSummary { + pub name: String, + pub kind: String, + pub input_schema: Schema, + pub output_schema: Schema, +} + +fn default_operation_category() -> String { + "general".to_owned() +} + +impl AdminService { + #[cfg(test)] + pub fn new( + registry: PostgresRegistry, + storage_root: PathBuf, + auth_settings: AuthSettings, + secret_crypto: SecretCrypto, + ) -> Self { + Self::new_with_runtime( + registry, + storage_root, + auth_settings, + secret_crypto, + RuntimeExecutor::new(), + ) + } + + #[cfg(test)] + pub fn new_with_runtime( + registry: PostgresRegistry, + storage_root: PathBuf, + auth_settings: AuthSettings, + secret_crypto: SecretCrypto, + runtime: RuntimeExecutor, + ) -> Self { + AdminServiceBuilder::new( + registry, + storage_root, + auth_settings, + secret_crypto, + runtime, + ) + .build() + } + + pub fn auth_settings(&self) -> &AuthSettings { + &self.auth_settings + } + + pub fn policy_engine(&self) -> &Arc { + &self.policy_engine + } + + pub fn audit_sink(&self) -> &Arc { + &self.audit_sink + } + + pub fn token_issuer(&self) -> &Arc { + &self.token_issuer + } + + pub fn capability_profile(&self) -> &Arc { + &self.capability_profile + } +} + +impl AdminServiceBuilder { + pub fn new( + registry: PostgresRegistry, + storage_root: PathBuf, + auth_settings: AuthSettings, + secret_crypto: SecretCrypto, + runtime: RuntimeExecutor, + ) -> Self { + Self { + registry, + storage_root, + auth_settings, + secret_crypto, + runtime, + identity_provider: None, + policy_engine: None, + audit_sink: None, + token_issuer: None, + capability_profile: None, + } + } + + pub fn with_identity_provider(mut self, provider: Arc) -> Self { + self.identity_provider = Some(provider); + self + } + + #[allow(dead_code)] + pub fn with_policy_engine(mut self, policy_engine: Arc) -> Self { + self.policy_engine = Some(policy_engine); + self + } + + #[allow(dead_code)] + pub fn with_audit_sink(mut self, audit_sink: Arc) -> Self { + self.audit_sink = Some(audit_sink); + self + } + + #[allow(dead_code)] + pub fn with_token_issuer(mut self, token_issuer: Arc) -> Self { + self.token_issuer = Some(token_issuer); + self + } + + #[allow(dead_code)] + pub fn with_capability_profile( + mut self, + capability_profile: Arc, + ) -> Self { + self.capability_profile = Some(capability_profile); + self + } + + pub fn build(self) -> AdminService { + AdminService { + registry: self.registry, + runtime: self.runtime, + storage: LocalArtifactStorage::new(self.storage_root), + auth_settings: self.auth_settings, + secret_crypto: self.secret_crypto, + identity_provider: self.identity_provider, + policy_engine: self + .policy_engine + .unwrap_or_else(|| Arc::new(OwnerOnlyPolicyEngine)), + audit_sink: self.audit_sink.unwrap_or_else(|| Arc::new(NoopAuditSink)), + token_issuer: self + .token_issuer + .unwrap_or_else(|| Arc::new(NoMachineTokenIssuer)), + capability_profile: self + .capability_profile + .unwrap_or_else(|| Arc::new(CommunityCapabilityProfile)), + } + } +} + +impl AdminService { + pub async fn bootstrap_admin_user(&self) -> Result<(), ApiError> { + let password_hash = hash_password( + &self.auth_settings.bootstrap_admin.password, + &self.auth_settings.password_pepper, + )?; + let user_id = self + .registry + .upsert_bootstrap_user( + &self.auth_settings.bootstrap_admin.email, + &self.auth_settings.bootstrap_admin.display_name, + &password_hash, + ) + .await?; + self.registry + .ensure_membership( + &WorkspaceId::new("ws_default"), + &user_id, + MembershipRole::Owner, + ) + .await?; + + Ok(()) + } + + pub async fn seed_demo_assets(&self) -> Result<(), ApiError> { + let admin_user = self + .registry + .get_auth_user_by_email(&self.auth_settings.bootstrap_admin.email) + .await? + .ok_or_else(|| ApiError::internal("bootstrap admin user was not found"))?; + let admin_user_id = admin_user.user.id.clone(); + let default_workspace_id = WorkspaceId::new("ws_default"); + + self.seed_default_workspace_demo(&admin_user_id, &default_workspace_id) + .await?; + self.seed_growth_workspace_demo(&admin_user_id).await?; + + Ok(()) + } + + pub async fn get_session( + &self, + session_id: &UserSessionId, + session_value: &str, + ) -> Result, ApiError> { + let secret_hash = hash_session_secret( + session_id, + session_value, + &self.auth_settings.session_secret, + ); + let session = self + .registry + .get_user_session(session_id, &secret_hash) + .await? + .map(|record| AuthenticatedSession { + session_id: record.session_id, + user: record.user, + memberships: record.memberships, + current_workspace_id: record.current_workspace_id, + }); + + Ok(session) + } + + pub async fn touch_session(&self, session_id: &UserSessionId) -> Result<(), ApiError> { + self.registry.touch_user_session(session_id).await?; + Ok(()) + } + + pub async fn login( + &self, + payload: LoginPayload, + ) -> Result<(SessionCookie, SessionResponse), ApiError> { + let authenticated = self.authenticate_login(&payload).await?; + + let session_cookie = create_session_cookie(&self.auth_settings)?; + let secret_hash = hash_session_secret( + &session_cookie.session_id, + &session_cookie.value, + &self.auth_settings.session_secret, + ); + let memberships = self + .registry + .list_workspaces_for_user(&authenticated.user.id) + .await?; + let current_workspace_id = authenticated + .current_workspace_id + .as_ref() + .map(|workspace_id| workspace_id.as_str().to_owned()) + .or_else(|| { + memberships + .first() + .map(|membership| membership.workspace.id.as_str().to_owned()) + }); + let current_workspace_ref = current_workspace_id + .as_ref() + .map(|workspace_id| WorkspaceId::new(workspace_id.clone())); + self.registry + .create_user_session( + &session_cookie.session_id, + &authenticated.user.id, + current_workspace_ref.as_ref(), + &secret_hash, + &session_cookie.expires_at, + ) + .await?; + + Ok(( + session_cookie, + SessionResponse { + user: authenticated.user, + memberships, + current_workspace_id, + }, + )) + } + + async fn authenticate_login( + &self, + payload: &LoginPayload, + ) -> Result { + if let Some(identity_provider) = &self.identity_provider { + return match identity_provider + .login_password(crank_core::LoginPayload { + email: payload.email.clone(), + password: payload.password.clone(), + }) + .await + { + Ok(LoginOutcome::Authenticated(identity)) => Ok(identity), + Ok(LoginOutcome::TwoFactorRequired(_)) => Err(ApiError::internal( + "two-factor login flow is not configured for this service", + )), + Err(error) => Err(map_identity_error(error)), + }; + } + + let user = self + .registry + .get_auth_user_by_email(&payload.email) + .await? + .ok_or_else(|| ApiError::unauthorized("invalid email or password"))?; + + if !verify_password( + &payload.password, + &self.auth_settings.password_pepper, + &user.password_hash, + ) { + return Err(ApiError::unauthorized("invalid email or password")); + } + + Ok(crank_core::AuthenticatedIdentity { + user: user.user, + memberships: vec![], + current_workspace_id: None, + }) + } + + pub async fn logout( + &self, + session_id: &UserSessionId, + _session_value: &str, + ) -> Result<(), ApiError> { + self.registry.revoke_user_session(session_id).await?; + Ok(()) + } + + pub async fn list_workspaces_for_user( + &self, + user_id: &crank_core::UserId, + ) -> Result, ApiError> { + Ok(self.registry.list_workspaces_for_user(user_id).await?) + } + + pub async fn user_has_workspace_access( + &self, + user_id: &crank_core::UserId, + workspace_id: &WorkspaceId, + ) -> Result { + Ok(self + .registry + .user_has_workspace_access(user_id, workspace_id) + .await?) + } + + #[instrument(skip(self, payload), fields(workspace_slug = %payload.slug, user_id = %user_id.as_str()))] + pub async fn create_workspace( + &self, + user_id: &crank_core::UserId, + payload: WorkspacePayload, + ) -> Result { + let now = OffsetDateTime::now_utc(); + let workspace = Workspace { + id: WorkspaceId::new(new_prefixed_id("ws")), + slug: payload.slug, + display_name: payload.display_name, + status: WorkspaceStatus::Active, + settings: payload.settings, + created_at: now, + updated_at: now, + }; + + self.registry + .create_workspace(CreateWorkspaceRequest { + workspace: &workspace, + }) + .await?; + self.registry + .ensure_membership(&workspace.id, user_id, MembershipRole::Owner) + .await?; + + Ok(WorkspaceRecord { workspace }) + } + + #[instrument(skip(self))] + pub async fn session_response( + &self, + session_id: &UserSessionId, + session_value: &str, + ) -> Result, ApiError> { + Ok(self + .get_session(session_id, session_value) + .await? + .map(|session| SessionResponse { + user: session.user, + memberships: session.memberships, + current_workspace_id: session + .current_workspace_id + .map(|id| id.as_str().to_owned()), + })) + } + + pub async fn update_profile( + &self, + user_id: &crank_core::UserId, + current_workspace_id: Option<&WorkspaceId>, + payload: UpdateProfilePayload, + ) -> Result { + let display_name = payload.display_name.trim(); + let email = payload.email.trim().to_ascii_lowercase(); + + if display_name.is_empty() { + return Err(ApiError::validation("display name is required")); + } + if email.is_empty() || !email.contains('@') { + return Err(ApiError::validation("a valid email address is required")); + } + + let user = self + .registry + .update_user_profile(user_id, &email, display_name) + .await?; + let memberships = self.registry.list_workspaces_for_user(user_id).await?; + + Ok(SessionResponse { + user, + memberships, + current_workspace_id: current_workspace_id.map(|id| id.as_str().to_owned()), + }) + } + + pub async fn set_current_workspace( + &self, + session_id: &UserSessionId, + user_id: &crank_core::UserId, + workspace_id: &WorkspaceId, + ) -> Result { + if !self + .user_has_workspace_access(user_id, workspace_id) + .await? + { + return Err(ApiError::forbidden("workspace access denied")); + } + + self.registry + .set_user_session_current_workspace(session_id, workspace_id) + .await?; + + let user = self + .registry + .get_auth_user_by_id(user_id) + .await? + .ok_or_else(|| { + ApiError::not_found_with_context( + format!("user {} was not found", user_id.as_str()), + json!({ "user_id": user_id.as_str() }), + ) + })? + .user; + let memberships = self.registry.list_workspaces_for_user(user_id).await?; + + Ok(SessionResponse { + user, + memberships, + current_workspace_id: Some(workspace_id.as_str().to_owned()), + }) + } + + pub async fn change_password( + &self, + user_id: &crank_core::UserId, + payload: ChangePasswordPayload, + ) -> Result<(), ApiError> { + if payload.new_password.len() < 12 { + return Err(ApiError::validation( + "new password must be at least 12 characters long", + )); + } + + let user = self + .registry + .get_auth_user_by_id(user_id) + .await? + .ok_or_else(|| { + ApiError::not_found_with_context( + format!("user {} was not found", user_id.as_str()), + json!({ "user_id": user_id.as_str() }), + ) + })?; + + if !verify_password( + &payload.current_password, + &self.auth_settings.password_pepper, + &user.password_hash, + ) { + return Err(ApiError::unauthorized("current password is invalid")); + } + + let password_hash = + hash_password(&payload.new_password, &self.auth_settings.password_pepper)?; + self.registry + .update_user_password(user_id, &password_hash) + .await?; + + Ok(()) + } + + pub async fn get_workspace( + &self, + workspace_id: &WorkspaceId, + ) -> Result { + self.registry + .get_workspace(workspace_id) + .await? + .ok_or_else(|| { + ApiError::not_found_with_context( + format!("workspace {} was not found", workspace_id.as_str()), + json!({ "workspace_id": workspace_id.as_str() }), + ) + }) + } + + #[instrument(skip(self, payload), fields(workspace_id = %workspace_id.as_str()))] + pub async fn update_workspace( + &self, + workspace_id: &WorkspaceId, + payload: UpdateWorkspacePayload, + ) -> Result { + let existing = self.get_workspace(workspace_id).await?.workspace; + let workspace = Workspace { + id: existing.id, + slug: payload.slug.unwrap_or(existing.slug), + display_name: payload.display_name.unwrap_or(existing.display_name), + status: payload.status.unwrap_or(existing.status), + settings: payload.settings.unwrap_or(existing.settings), + created_at: existing.created_at, + updated_at: OffsetDateTime::now_utc(), + }; + + self.registry + .update_workspace(UpdateWorkspaceRequest { + workspace: &workspace, + }) + .await?; + + Ok(WorkspaceRecord { workspace }) + } + + #[instrument(skip(self))] + pub async fn list_memberships( + &self, + workspace_id: &WorkspaceId, + ) -> Result, ApiError> { + self.ensure_workspace_exists(workspace_id).await?; + Ok(self.registry.list_memberships(workspace_id).await?) + } + + pub async fn update_membership_role( + &self, + workspace_id: &WorkspaceId, + actor_user_id: &crank_core::UserId, + target_user_id: &crank_core::UserId, + payload: UpdateMembershipPayload, + ) -> Result, ApiError> { + let memberships = self.list_memberships(workspace_id).await?; + let actor_membership = memberships + .iter() + .find(|membership| &membership.user.id == actor_user_id) + .ok_or_else(|| ApiError::forbidden("workspace access denied"))?; + let target_membership = memberships + .iter() + .find(|membership| &membership.user.id == target_user_id) + .ok_or_else(|| { + ApiError::not_found_with_context( + format!( + "membership for user {} in workspace {} was not found", + target_user_id.as_str(), + workspace_id.as_str() + ), + json!({ + "workspace_id": workspace_id.as_str(), + "user_id": target_user_id.as_str(), + }), + ) + })?; + + if !matches!( + actor_membership.role, + MembershipRole::Owner | MembershipRole::Admin + ) { + return Err(ApiError::forbidden( + "only owners and admins can manage workspace members", + )); + } + + if matches!(target_membership.role, MembershipRole::Owner) + && !matches!(payload.role, MembershipRole::Owner) + { + let owner_count = memberships + .iter() + .filter(|membership| matches!(membership.role, MembershipRole::Owner)) + .count(); + if owner_count <= 1 { + return Err(ApiError::validation( + "workspace must keep at least one owner", + )); + } + } + + self.registry + .update_membership_role(workspace_id, target_user_id, payload.role) + .await?; + self.list_memberships(workspace_id).await + } + + pub async fn remove_membership( + &self, + workspace_id: &WorkspaceId, + actor_user_id: &crank_core::UserId, + target_user_id: &crank_core::UserId, + ) -> Result<(), ApiError> { + let memberships = self.list_memberships(workspace_id).await?; + let actor_membership = memberships + .iter() + .find(|membership| &membership.user.id == actor_user_id) + .ok_or_else(|| ApiError::forbidden("workspace access denied"))?; + let target_membership = memberships + .iter() + .find(|membership| &membership.user.id == target_user_id) + .ok_or_else(|| { + ApiError::not_found_with_context( + format!( + "membership for user {} in workspace {} was not found", + target_user_id.as_str(), + workspace_id.as_str() + ), + json!({ + "workspace_id": workspace_id.as_str(), + "user_id": target_user_id.as_str(), + }), + ) + })?; + + if !matches!( + actor_membership.role, + MembershipRole::Owner | MembershipRole::Admin + ) { + return Err(ApiError::forbidden( + "only owners and admins can manage workspace members", + )); + } + + if matches!(target_membership.role, MembershipRole::Owner) { + let owner_count = memberships + .iter() + .filter(|membership| matches!(membership.role, MembershipRole::Owner)) + .count(); + if owner_count <= 1 { + return Err(ApiError::validation( + "workspace must keep at least one owner", + )); + } + } + + self.registry + .delete_membership(workspace_id, target_user_id) + .await?; + Ok(()) + } + + #[instrument(skip(self))] + pub async fn list_invitations( + &self, + workspace_id: &WorkspaceId, + ) -> Result, ApiError> { + self.ensure_workspace_exists(workspace_id).await?; + Ok(self.registry.list_invitations(workspace_id).await?) + } + + #[instrument(skip(self, payload), fields(workspace_id = %workspace_id.as_str(), email = %payload.email))] + pub async fn create_invitation( + &self, + workspace_id: &WorkspaceId, + payload: InvitationPayload, + ) -> Result { + self.ensure_workspace_exists(workspace_id).await?; + + let invite_token = generate_access_secret("invite"); + let invitation = InvitationRecord { + invitation: InvitationToken { + id: InvitationId::new(new_prefixed_id("inv")), + workspace_id: workspace_id.clone(), + email: payload.email, + role: payload.role, + status: InvitationStatus::Pending, + token_hash: hash_access_secret(&invite_token), + expires_at: match payload.expires_at { + Some(expires_at) => parse_timestamp(&expires_at)?, + None => default_invitation_expiry()?, + }, + created_at: OffsetDateTime::now_utc(), + }, + }; + + self.registry + .create_invitation(CreateInvitationRequest { + invitation: &invitation.invitation, + }) + .await?; + + Ok(CreatedInvitationResponse { + invitation, + invite_token, + }) + } + + #[instrument(skip(self), fields(workspace_id = %workspace_id.as_str(), invitation_id = %invitation_id.as_str()))] + pub async fn delete_invitation( + &self, + workspace_id: &WorkspaceId, + invitation_id: &InvitationId, + ) -> Result<(), ApiError> { + self.registry + .delete_invitation(workspace_id, invitation_id) + .await?; + Ok(()) + } + + pub async fn export_workspace( + &self, + workspace_id: &WorkspaceId, + ) -> Result { + let workspace = self.get_workspace(workspace_id).await?; + let memberships = self.list_memberships(workspace_id).await?; + let invitations = self + .list_invitations(workspace_id) + .await? + .into_iter() + .map(|record| { + json!({ + "id": record.invitation.id, + "email": record.invitation.email, + "role": record.invitation.role, + "status": record.invitation.status, + "expires_at": record.invitation.expires_at, + "created_at": record.invitation.created_at, + }) + }) + .collect(); + let operations = self.list_operations(workspace_id).await?; + let agents = self.list_agents(workspace_id).await?; + let platform_api_keys = self.registry.list_platform_api_keys(workspace_id).await?; + + Ok(WorkspaceExportResponse { + workspace, + memberships, + invitations, + operations, + agents, + platform_api_keys, + exported_at: now_string()?, + }) + } + + pub async fn delete_workspace( + &self, + workspace_id: &WorkspaceId, + actor_user_id: &crank_core::UserId, + ) -> Result<(), ApiError> { + let memberships = self.list_memberships(workspace_id).await?; + let actor_membership = memberships + .iter() + .find(|membership| &membership.user.id == actor_user_id) + .ok_or_else(|| ApiError::forbidden("workspace access denied"))?; + + if !matches!(actor_membership.role, MembershipRole::Owner) { + return Err(ApiError::forbidden( + "only workspace owners can delete a workspace", + )); + } + + self.registry.delete_workspace(workspace_id).await?; + Ok(()) + } + + #[instrument(skip(self))] + pub async fn list_agent_platform_api_keys( + &self, + workspace_id: &WorkspaceId, + agent_id: &AgentId, + ) -> Result, ApiError> { + self.ensure_workspace_exists(workspace_id).await?; + self.registry + .get_agent_summary(workspace_id, agent_id) + .await? + .ok_or_else(|| { + ApiError::not_found_with_context( + format!("agent {} was not found", agent_id.as_str()), + json!({ "agent_id": agent_id.as_str() }), + ) + })?; + Ok(self + .registry + .list_platform_api_keys_for_agent(workspace_id, agent_id) + .await?) + } + + #[instrument(skip(self, payload), fields(workspace_id = %workspace_id.as_str(), agent_id = %agent_id.as_str(), key_name = %payload.name))] + pub async fn create_agent_platform_api_key( + &self, + workspace_id: &WorkspaceId, + agent_id: &AgentId, + payload: PlatformApiKeyPayload, + ) -> Result { + self.ensure_workspace_exists(workspace_id).await?; + self.registry + .get_agent_summary(workspace_id, agent_id) + .await? + .ok_or_else(|| { + ApiError::not_found_with_context( + format!("agent {} was not found", agent_id.as_str()), + json!({ "agent_id": agent_id.as_str() }), + ) + })?; + + let secret = generate_access_secret("crk"); + let api_key = PlatformApiKeyRecord { + api_key: PlatformApiKey { + id: PlatformApiKeyId::new(new_prefixed_id("pk")), + workspace_id: workspace_id.clone(), + agent_id: Some(agent_id.clone()), + name: payload.name, + prefix: secret.chars().take(16).collect(), + scopes: payload.scopes, + status: PlatformApiKeyStatus::Active, + created_at: OffsetDateTime::now_utc(), + last_used_at: None, + }, + }; + + self.registry + .create_platform_api_key(CreatePlatformApiKeyRequest { + api_key: &api_key.api_key, + secret_hash: &hash_access_secret(&secret), + }) + .await?; + + Ok(CreatedPlatformApiKeyResponse { api_key, secret }) + } + + #[instrument(skip(self), fields(workspace_id = %workspace_id.as_str(), agent_id = %agent_id.as_str(), key_id = %key_id.as_str()))] + pub async fn revoke_agent_platform_api_key( + &self, + workspace_id: &WorkspaceId, + agent_id: &AgentId, + key_id: &PlatformApiKeyId, + ) -> Result<(), ApiError> { + self.registry + .revoke_platform_api_key_for_agent( + workspace_id, + agent_id, + key_id, + &OffsetDateTime::now_utc(), + ) + .await?; + Ok(()) + } + + #[instrument(skip(self), fields(workspace_id = %workspace_id.as_str(), agent_id = %agent_id.as_str(), key_id = %key_id.as_str()))] + pub async fn delete_agent_platform_api_key( + &self, + workspace_id: &WorkspaceId, + agent_id: &AgentId, + key_id: &PlatformApiKeyId, + ) -> Result<(), ApiError> { + self.registry + .delete_platform_api_key_for_agent(workspace_id, agent_id, key_id) + .await?; + Ok(()) + } + + #[instrument(skip(self))] + pub async fn list_logs( + &self, + workspace_id: &WorkspaceId, + query: LogsQuery, + ) -> Result, ApiError> { + self.ensure_workspace_exists(workspace_id).await?; + let operation_id = query.operation_id.as_deref().map(OperationId::new); + let agent_id = query.agent_id.as_deref().map(AgentId::new); + let (_, created_after, _) = usage_window(query.period.unwrap_or(UsagePeriod::Last7Days))?; + + self.registry + .list_invocation_logs(ListInvocationLogsQuery { + workspace_id, + level: query.level, + search_text: query.search.as_deref(), + source: query.source, + operation_id: operation_id.as_ref(), + agent_id: agent_id.as_ref(), + created_after: Some(&created_after), + limit: query.limit.unwrap_or(100), + }) + .await + .map_err(ApiError::from) + } + + #[instrument(skip(self))] + pub async fn get_log( + &self, + workspace_id: &WorkspaceId, + log_id: &InvocationLogId, + ) -> Result { + self.registry + .get_invocation_log(workspace_id, log_id) + .await? + .ok_or_else(|| { + ApiError::not_found_with_context( + format!("invocation log {} was not found", log_id.as_str()), + json!({ "log_id": log_id.as_str() }), + ) + }) + } + + #[instrument(skip(self))] + pub async fn get_usage_overview( + &self, + workspace_id: &WorkspaceId, + query: UsageRequestQuery, + ) -> Result { + self.ensure_workspace_exists(workspace_id).await?; + let (period, created_after, bucket) = + usage_window(query.period.unwrap_or(UsagePeriod::Last7Days))?; + let usage_query = UsageQuery { + workspace_id, + period, + source: query.source, + created_after: &created_after, + bucket, + }; + + let summary = self.registry.summarize_usage(usage_query.clone()).await?; + let timeline = self + .registry + .list_usage_timeline(usage_query.clone()) + .await?; + let operations = self + .registry + .list_usage_by_operation(usage_query.clone()) + .await?; + let agents = self.registry.list_usage_by_agent(usage_query).await?; + + Ok(UsageOverviewResponse { + summary, + timeline, + operations, + agents, + }) + } + + #[instrument(skip(self))] + pub async fn get_operation_usage( + &self, + workspace_id: &WorkspaceId, + operation_id: &OperationId, + query: UsageRequestQuery, + ) -> Result { + self.get_operation(workspace_id, operation_id).await?; + let (period, created_after, bucket) = + usage_window(query.period.unwrap_or(UsagePeriod::Last7Days))?; + + self.registry + .get_usage_for_operation( + UsageQuery { + workspace_id, + period, + source: query.source, + created_after: &created_after, + bucket, + }, + operation_id, + ) + .await? + .ok_or_else(|| { + ApiError::not_found_with_context( + format!( + "usage for operation {} was not found", + operation_id.as_str() + ), + json!({ "operation_id": operation_id.as_str() }), + ) + }) + } + + #[instrument(skip(self))] + pub async fn get_agent_usage( + &self, + workspace_id: &WorkspaceId, + agent_id: &AgentId, + query: UsageRequestQuery, + ) -> Result { + self.get_agent(workspace_id, agent_id).await?; + let (period, created_after, bucket) = + usage_window(query.period.unwrap_or(UsagePeriod::Last7Days))?; + + self.registry + .get_usage_for_agent( + UsageQuery { + workspace_id, + period, + source: query.source, + created_after: &created_after, + bucket, + }, + agent_id, + ) + .await? + .ok_or_else(|| { + ApiError::not_found_with_context( + format!("usage for agent {} was not found", agent_id.as_str()), + json!({ "agent_id": agent_id.as_str() }), + ) + }) + } + + pub async fn list_protocol_capabilities(&self) -> Vec { + let capabilities = self.get_capabilities().await; + capabilities + .supported_protocols + .into_iter() + .map(|protocol| protocol_capability_view(protocol, capabilities.edition)) + .collect() + } + + pub async fn get_capabilities(&self) -> EditionCapabilities { + self.capability_profile().capabilities() + } + + pub async fn list_operations( + &self, + workspace_id: &WorkspaceId, + ) -> Result, ApiError> { + self.ensure_workspace_exists(workspace_id).await?; + let summaries = self.registry.list_operations(workspace_id).await?; + let usage = self + .registry + .list_operation_usage_summaries(workspace_id, &today_start_utc()?) + .await?; + let agent_refs = self + .registry + .list_operation_agent_refs(workspace_id) + .await?; + let usage_by_operation = usage_map(usage); + let refs_by_operation = agent_ref_map(agent_refs); + + Ok(summaries + .into_iter() + .map(|summary| { + let operation_id = summary.id.as_str().to_owned(); + enrich_operation_summary( + summary, + usage_by_operation + .get(&operation_id) + .cloned() + .unwrap_or_else(default_usage_summary), + refs_by_operation + .get(&operation_id) + .cloned() + .unwrap_or_default(), + ) + }) + .collect()) + } + + #[instrument(skip(self))] + pub async fn get_operation( + &self, + workspace_id: &WorkspaceId, + operation_id: &OperationId, + ) -> Result { + let summary = self + .registry + .get_operation_summary(workspace_id, operation_id) + .await? + .ok_or_else(|| { + ApiError::not_found_with_context( + format!("operation {} was not found", operation_id.as_str()), + json!({ "operation_id": operation_id.as_str() }), + ) + })?; + let agent_refs = self + .registry + .list_operation_agent_refs(workspace_id) + .await?; + let refs = agent_ref_map(agent_refs) + .remove(operation_id.as_str()) + .unwrap_or_default(); + + Ok(OperationDetailView { + id: summary.id.as_str().to_owned(), + workspace_id: summary.workspace_id.as_str().to_owned(), + name: summary.name, + display_name: summary.display_name, + category: summary.category, + protocol: summary.protocol, + security_level: summary.security_level, + status: summary.status, + current_draft_version: summary.current_draft_version, + latest_published_version: summary.latest_published_version, + created_at: format_timestamp(summary.created_at), + updated_at: format_timestamp(summary.updated_at), + published_at: summary.published_at.map(format_timestamp), + draft_version_ref: VersionRef { + version: summary.current_draft_version, + status: summary.status, + }, + published_version_ref: summary.latest_published_version.map(|version| VersionRef { + version, + status: OperationStatus::Published, + }), + agent_refs: refs, + }) + } + + #[instrument(skip(self))] + pub async fn get_operation_version( + &self, + workspace_id: &WorkspaceId, + operation_id: &OperationId, + version: u32, + ) -> Result { + self.registry + .get_operation_version(workspace_id, operation_id, version) + .await? + .ok_or_else(|| { + ApiError::not_found_with_context( + format!( + "operation version {version} for {} was not found", + operation_id.as_str() + ), + json!({ + "operation_id": operation_id.as_str(), + "version": version, + }), + ) + }) + } + + #[instrument(skip(self, payload), fields(protocol = ?payload.protocol, operation_name = %payload.name))] + pub async fn create_operation( + &self, + workspace_id: &WorkspaceId, + payload: OperationPayload, + ) -> Result { + self.validate_operation_payload(&payload)?; + self.ensure_workspace_exists(workspace_id).await?; + + if self + .find_operation_by_name(workspace_id, &payload.name) + .await? + .is_some() + { + return Err(ApiError::conflict_with_context( + format!("operation with name {} already exists", payload.name), + json!({ "name": payload.name }), + )); + } + + let now = OffsetDateTime::now_utc(); + let operation_id = OperationId::new(new_prefixed_id("op")); + let snapshot = RegistryOperation { + id: operation_id.clone(), + name: payload.name, + display_name: payload.display_name, + category: payload.category, + protocol: payload.protocol, + security_level: payload.security_level, + status: OperationStatus::Draft, + version: 1, + target: payload.target, + input_schema: payload.input_schema, + output_schema: payload.output_schema, + input_mapping: payload.input_mapping, + output_mapping: payload.output_mapping, + execution_config: payload.execution_config, + tool_description: payload.tool_description, + samples: Some(Samples::default()), + generated_draft: None, + config_export: Some(ConfigExport { + format_version: "1".to_owned(), + export_mode: ExportMode::Portable, + }), + created_at: now, + updated_at: now, + published_at: None, + }; + + self.registry + .create_operation(workspace_id, &snapshot, None) + .await?; + info!(operation_id = %operation_id.as_str(), version = 1, "operation created"); + + Ok(CreatedOperationResponse { + operation_id: operation_id.as_str().to_owned(), + workspace_id: workspace_id.as_str().to_owned(), + version: 1, + status: OperationStatus::Draft, + updated_at: format_timestamp(snapshot.updated_at), + }) + } + + #[instrument(skip(self, payload), fields(operation_id = %operation_id.as_str(), protocol = ?payload.operation.protocol))] + pub async fn create_version( + &self, + workspace_id: &WorkspaceId, + operation_id: &OperationId, + payload: NewVersionPayload, + ) -> Result { + self.validate_operation_payload(&payload.operation)?; + + let summary = self + .registry + .get_operation_summary(workspace_id, operation_id) + .await? + .ok_or_else(|| { + ApiError::not_found_with_context( + format!("operation {} was not found", operation_id.as_str()), + json!({ "operation_id": operation_id.as_str() }), + ) + })?; + let now = OffsetDateTime::now_utc(); + let version = summary.current_draft_version + 1; + let snapshot = RegistryOperation { + id: operation_id.clone(), + name: payload.operation.name, + display_name: payload.operation.display_name, + category: payload.operation.category, + protocol: payload.operation.protocol, + security_level: payload.operation.security_level, + status: OperationStatus::Draft, + version, + target: payload.operation.target, + input_schema: payload.operation.input_schema, + output_schema: payload.operation.output_schema, + input_mapping: payload.operation.input_mapping, + output_mapping: payload.operation.output_mapping, + execution_config: payload.operation.execution_config, + tool_description: payload.operation.tool_description, + samples: Some(Samples::default()), + generated_draft: None, + config_export: Some(ConfigExport { + format_version: "1".to_owned(), + export_mode: ExportMode::Portable, + }), + created_at: summary.created_at, + updated_at: now, + published_at: None, + }; + + self.registry + .create_version(CreateVersionRequest { + workspace_id, + snapshot: &snapshot, + change_note: payload.change_note.as_deref(), + created_by: None, + }) + .await?; + info!(operation_id = %operation_id.as_str(), version, "operation version created"); + + Ok(CreatedOperationResponse { + operation_id: operation_id.as_str().to_owned(), + workspace_id: workspace_id.as_str().to_owned(), + version, + status: OperationStatus::Draft, + updated_at: format_timestamp(snapshot.updated_at), + }) + } + + #[instrument(skip(self, payload), fields(operation_id = %operation_id.as_str()))] + pub async fn update_operation( + &self, + workspace_id: &WorkspaceId, + operation_id: &OperationId, + payload: UpdateOperationPayload, + ) -> Result { + let existing = self + .get_operation_version( + workspace_id, + operation_id, + self.get_operation(workspace_id, operation_id) + .await? + .current_draft_version, + ) + .await?; + + let updated_at = OffsetDateTime::now_utc(); + let snapshot = RegistryOperation { + id: operation_id.clone(), + name: existing.snapshot.name, + display_name: payload.display_name, + category: payload.category, + protocol: existing.snapshot.protocol, + security_level: payload.security_level, + status: OperationStatus::Draft, + version: existing.version, + target: payload.target, + input_schema: payload.input_schema, + output_schema: payload.output_schema, + input_mapping: payload.input_mapping, + output_mapping: payload.output_mapping, + execution_config: payload.execution_config, + tool_description: payload.tool_description, + samples: existing.snapshot.samples, + generated_draft: existing.snapshot.generated_draft, + config_export: existing.snapshot.config_export, + created_at: existing.snapshot.created_at, + updated_at, + published_at: existing.snapshot.published_at, + }; + + self.validate_registry_operation(&snapshot)?; + self.registry + .update_operation_draft(workspace_id, &snapshot) + .await?; + + Ok(OperationMutationResult { + operation_id: operation_id.as_str().to_owned(), + workspace_id: workspace_id.as_str().to_owned(), + version: snapshot.version, + status: snapshot.status, + updated_at: format_timestamp(updated_at), + }) + } + + #[instrument(skip(self), fields(operation_id = %operation_id.as_str(), version))] + pub async fn publish_operation( + &self, + workspace_id: &WorkspaceId, + operation_id: &OperationId, + version: u32, + ) -> Result { + let published_at = OffsetDateTime::now_utc(); + self.registry + .publish_operation(PublishRequest { + workspace_id, + operation_id, + version, + published_at: &published_at, + published_by: None, + }) + .await?; + info!(operation_id = %operation_id.as_str(), version, "operation published"); + + Ok(PublishResponse { + operation_id: operation_id.as_str().to_owned(), + workspace_id: workspace_id.as_str().to_owned(), + published_version: version, + published_at: format_timestamp(published_at), + }) + } + + #[instrument(skip(self), fields(operation_id = %operation_id.as_str()))] + pub async fn archive_operation( + &self, + workspace_id: &WorkspaceId, + operation_id: &OperationId, + ) -> Result { + let summary = self.get_operation(workspace_id, operation_id).await?; + let updated_at = OffsetDateTime::now_utc(); + self.registry + .archive_operation(workspace_id, operation_id, &updated_at) + .await?; + + Ok(OperationMutationResult { + operation_id: operation_id.as_str().to_owned(), + workspace_id: workspace_id.as_str().to_owned(), + version: summary.current_draft_version, + status: OperationStatus::Archived, + updated_at: format_timestamp(updated_at), + }) + } + + #[instrument(skip(self), fields(operation_id = %operation_id.as_str()))] + pub async fn delete_operation( + &self, + workspace_id: &WorkspaceId, + operation_id: &OperationId, + ) -> Result { + let summary = self.get_operation(workspace_id, operation_id).await?; + let updated_at = now_string()?; + self.registry + .delete_operation(workspace_id, operation_id) + .await?; + + Ok(OperationMutationResult { + operation_id: operation_id.as_str().to_owned(), + workspace_id: workspace_id.as_str().to_owned(), + version: summary.current_draft_version, + status: summary.status, + updated_at, + }) + } + + #[instrument(skip(self, payload), fields(operation_id = %operation_id.as_str(), version = payload.version))] + pub async fn run_test( + &self, + workspace_id: &WorkspaceId, + operation_id: &OperationId, + payload: TestRunPayload, + request_id: &str, + ) -> Result { + let runtime_request_context = RuntimeRequestContext::from_request_id(request_id) + .with_metering_context(workspace_id.clone(), None, InvocationSource::AdminTestRun); + let record = self + .get_operation_version(workspace_id, operation_id, payload.version) + .await?; + let runtime = RuntimeOperation::from(record.snapshot.clone()); + let mode = runtime + .execution_config + .streaming + .as_ref() + .map(|streaming| streaming.mode) + .unwrap_or(ExecutionMode::Unary); + let request_preview = + match build_request_preview(&record.snapshot.input_mapping, &payload.input) { + Ok(preview) => preview, + Err(error) => { + self.record_invocation(InvocationRecordRequest { + workspace_id, + agent_id: None, + operation: &record.snapshot, + request_id: Some(request_id), + source: InvocationSource::AdminTestRun, + level: InvocationLevel::Error, + status: InvocationStatus::Error, + message: "mapping preview failed".to_owned(), + status_code: None, + error_kind: Some("mapping".to_owned()), + duration_ms: 0, + request_preview: Value::Null, + response_preview: Value::Null, + }) + .await?; + return Ok(TestRunResult { + ok: false, + mode, + request_preview: Value::Null, + response_preview: Value::Null, + errors: vec![crate::error::runtime_test_failure(&RuntimeError::Mapping( + error, + ))], + window: None, + stream_session: None, + async_job: None, + }); + } + }; + + let resolved_auth = self + .resolve_operation_auth(workspace_id, &runtime.execution_config) + .await; + let started_at = std::time::Instant::now(); + match match resolved_auth { + Ok(resolved_auth) => match mode { + ExecutionMode::Unary => self + .runtime + .execute_with_auth_and_context( + &runtime, + &payload.input, + resolved_auth.as_ref(), + Some(&runtime_request_context), + ) + .await + .map(|output| TestRunOutcome::Unary { output }), + ExecutionMode::Window => self + .runtime + .execute_window_with_auth_and_context( + &runtime, + &payload.input, + resolved_auth.as_ref(), + Some(&runtime_request_context), + ) + .await + .map(|output| TestRunOutcome::Window { output }), + ExecutionMode::Session => self + .start_stream_session_test( + workspace_id, + &record.snapshot, + &runtime, + &payload.input, + resolved_auth.as_ref(), + &runtime_request_context, + ) + .await + .map(|output| TestRunOutcome::Session { output }), + ExecutionMode::AsyncJob => self + .start_async_job_test( + workspace_id, + &record.snapshot, + &runtime, + &payload.input, + &runtime_request_context, + ) + .await + .map(|output| TestRunOutcome::AsyncJob { output }), + }, + Err(error) => Err(error), + } { + Ok(outcome) => { + let duration_ms = + u64::try_from(started_at.elapsed().as_millis()).unwrap_or(u64::MAX); + let (message, response_preview, window, stream_session, async_job) = + outcome.into_result_views(); + self.record_invocation(InvocationRecordRequest { + workspace_id, + agent_id: None, + operation: &record.snapshot, + request_id: Some(request_id), + source: InvocationSource::AdminTestRun, + level: InvocationLevel::Info, + status: InvocationStatus::Ok, + message: message.to_owned(), + status_code: None, + error_kind: None, + duration_ms, + request_preview: request_preview.clone(), + response_preview: response_preview.clone(), + }) + .await?; + Ok(TestRunResult { + ok: true, + mode, + request_preview, + response_preview, + errors: Vec::new(), + window, + stream_session, + async_job, + }) + } + Err(error) => { + let duration_ms = + u64::try_from(started_at.elapsed().as_millis()).unwrap_or(u64::MAX); + self.record_invocation(InvocationRecordRequest { + workspace_id, + agent_id: None, + operation: &record.snapshot, + request_id: Some(request_id), + source: InvocationSource::AdminTestRun, + level: InvocationLevel::Error, + status: InvocationStatus::Error, + message: error.to_string(), + status_code: None, + error_kind: Some(runtime_error_code(&error).to_owned()), + duration_ms, + request_preview: request_preview.clone(), + response_preview: Value::Null, + }) + .await?; + Ok(TestRunResult { + ok: false, + mode, + request_preview, + response_preview: Value::Null, + errors: vec![crate::error::runtime_test_failure(&error)], + window: None, + stream_session: None, + async_job: None, + }) + } + } + } + + async fn resolve_operation_auth( + &self, + workspace_id: &WorkspaceId, + execution_config: &crank_core::ExecutionConfig, + ) -> Result, RuntimeError> { + let Some(auth_profile_id) = execution_config.auth_profile_ref.as_ref() else { + return Ok(None); + }; + + let auth_profile = self + .registry + .get_auth_profile(workspace_id, auth_profile_id) + .await + .map_err(|error| RuntimeError::SecretCrypto { + operation: "load auth profile", + details: error.to_string(), + })? + .ok_or_else(|| RuntimeError::MissingAuthProfile { + auth_profile_id: auth_profile_id.as_str().to_owned(), + })?; + + self.resolve_auth_profile(workspace_id, &auth_profile) + .await + .map(Some) + } + + async fn start_stream_session_test( + &self, + workspace_id: &WorkspaceId, + operation: &RegistryOperation, + runtime: &RuntimeOperation, + input: &Value, + resolved_auth: Option<&ResolvedAuth>, + request_context: &RuntimeRequestContext, + ) -> Result { + let streaming = runtime.execution_config.streaming.as_ref().ok_or_else(|| { + RuntimeError::MissingStreamingConfig { + operation_id: runtime.operation_id.as_str().to_owned(), + } + })?; + let seed = self + .runtime + .execute_session_seed_with_auth_and_context( + runtime, + input, + resolved_auth, + Some(request_context), + ) + .await?; + let batch_size = streaming.max_items.unwrap_or(10).max(1) as usize; + let preview_count = seed.items.len().min(batch_size); + let preview_items = seed.items[..preview_count].to_vec(); + let next_index = preview_count; + let created_at = OffsetDateTime::now_utc(); + let expires_at = created_at + .checked_add(time::Duration::milliseconds( + streaming.max_session_lifetime_ms.unwrap_or(60_000) as i64, + )) + .ok_or_else(|| RuntimeError::SecretCrypto { + operation: "compute stream session expiration", + details: "failed to compute stream session expiration".to_owned(), + })?; + let session = StreamSession { + id: crank_core::StreamSessionId::new(new_prefixed_id("sess")), + workspace_id: workspace_id.clone(), + agent_id: None, + operation_id: operation.id.clone(), + protocol: operation.protocol, + mode: ExecutionMode::Session, + status: StreamStatus::Running, + cursor: (next_index < seed.items.len()).then(|| json!(next_index)), + state: json!(StoredSessionState { + input: input.clone(), + summary: seed.summary.clone(), + items: seed.items.clone(), + next_index, + batch_size, + }), + expires_at, + last_poll_at: None, + created_at, + closed_at: None, + }; + self.registry + .create_stream_session(CreateStreamSessionRequest { session: &session }) + .await + .map_err(|error| RuntimeError::SecretCrypto { + operation: "persist stream session", + details: error.to_string(), + })?; + + Ok(StreamSessionStartView { + session_id: session.id.as_str().to_owned(), + status: session.status, + expires_at, + poll_after_ms: streaming.poll_interval_ms.unwrap_or(1_000), + preview: json!({ + "summary": seed.summary, + "items": preview_items, + }), + }) + } + + async fn start_async_job_test( + &self, + workspace_id: &WorkspaceId, + operation: &RegistryOperation, + runtime: &RuntimeOperation, + input: &Value, + request_context: &RuntimeRequestContext, + ) -> Result { + let created_at = OffsetDateTime::now_utc(); + let streaming = runtime.execution_config.streaming.as_ref().ok_or_else(|| { + RuntimeError::MissingStreamingConfig { + operation_id: runtime.operation_id.as_str().to_owned(), + } + })?; + let expires_at = created_at + .checked_add(time::Duration::milliseconds( + streaming.max_session_lifetime_ms.unwrap_or(300_000) as i64, + )) + .ok_or_else(|| RuntimeError::SecretCrypto { + operation: "compute async job expiration", + details: "failed to compute async job expiration".to_owned(), + })?; + let job = AsyncJobHandle { + id: crank_core::AsyncJobId::new(new_prefixed_id("job")), + workspace_id: workspace_id.clone(), + agent_id: None, + operation_id: operation.id.clone(), + status: JobStatus::Running, + progress: json!({ "pct": 0 }), + result: None, + error: None, + expires_at: Some(expires_at), + last_poll_at: None, + created_at, + updated_at: created_at, + finished_at: None, + }; + self.registry + .create_async_job(CreateAsyncJobRequest { job: &job }) + .await + .map_err(|error| RuntimeError::SecretCrypto { + operation: "persist async job", + details: error.to_string(), + })?; + + let registry = self.registry.clone(); + let secret_crypto = self.secret_crypto.clone(); + let runtime_for_task = self.runtime.clone(); + let workspace_for_task = workspace_id.clone(); + let operation_for_task = runtime.clone(); + let input_for_task = input.clone(); + let request_context_for_task = request_context.clone(); + let job_id = job.id.clone(); + tokio::spawn(async move { + let resolved_auth = resolve_runtime_auth_for_task( + ®istry, + &secret_crypto, + &workspace_for_task, + &operation_for_task.execution_config, + ) + .await; + let result = match resolved_auth { + Ok(resolved_auth) => { + runtime_for_task + .execute_with_auth_and_context( + &operation_for_task, + &input_for_task, + resolved_auth.as_ref(), + Some(&request_context_for_task), + ) + .await + } + Err(error) => Err(error), + }; + let finished_at = OffsetDateTime::now_utc(); + let _ = match result { + Ok(output) => { + registry + .update_async_job_status(UpdateAsyncJobStatusRequest { + job_id: &job_id, + current_status: JobStatus::Running, + next_status: JobStatus::Completed, + progress: &json!({ "pct": 100 }), + result: Some(&output), + error: None, + expires_at: None, + updated_at: &finished_at, + finished_at: Some(&finished_at), + }) + .await + } + Err(error) => { + registry + .update_async_job_status(UpdateAsyncJobStatusRequest { + job_id: &job_id, + current_status: JobStatus::Running, + next_status: JobStatus::Failed, + progress: &json!({ "pct": 100 }), + result: None, + error: Some(&json!({ + "code": runtime_error_code(&error), + "message": error.to_string(), + })), + expires_at: None, + updated_at: &finished_at, + finished_at: Some(&finished_at), + }) + .await + } + }; + }); + + Ok(AsyncJobStartView { + job_id: job.id.as_str().to_owned(), + status: job.status, + progress: job.progress, + }) + } + + async fn resolve_auth_profile( + &self, + workspace_id: &WorkspaceId, + auth_profile: &AuthProfile, + ) -> Result { + let mut secrets = BTreeMap::new(); + let used_at = OffsetDateTime::now_utc(); + + for secret_id in auth_profile.config.secret_ids() { + let secret = self + .registry + .get_secret(workspace_id, secret_id) + .await + .map_err(|error| RuntimeError::SecretCrypto { + operation: "load secret", + details: error.to_string(), + })? + .ok_or_else(|| RuntimeError::MissingSecret { + secret_id: secret_id.as_str().to_owned(), + })?; + let version = self + .registry + .get_current_secret_version(workspace_id, secret_id) + .await + .map_err(|error| RuntimeError::SecretCrypto { + operation: "load current secret version", + details: error.to_string(), + })? + .ok_or_else(|| RuntimeError::MissingSecretVersion { + secret_id: secret_id.as_str().to_owned(), + version: secret.secret.current_version, + })?; + let plaintext = self.secret_crypto.decrypt( + &version.secret_version.key_version, + &version.secret_version.ciphertext, + )?; + self.registry + .touch_secret(workspace_id, secret_id, &used_at) + .await + .map_err(|error| RuntimeError::SecretCrypto { + operation: "touch secret", + details: error.to_string(), + })?; + secrets.insert(secret_id.clone(), plaintext); + } + + ResolvedAuth::from_profile(auth_profile, &secrets) + } + + #[instrument(skip(self))] + pub async fn list_auth_profiles( + &self, + workspace_id: &WorkspaceId, + ) -> Result, ApiError> { + self.ensure_workspace_exists(workspace_id).await?; + Ok(self.registry.list_auth_profiles(workspace_id).await?) + } + + #[instrument(skip(self))] + pub async fn list_secrets(&self, workspace_id: &WorkspaceId) -> Result, ApiError> { + self.ensure_workspace_exists(workspace_id).await?; + Ok(self + .registry + .list_secrets(workspace_id) + .await? + .into_iter() + .map(|record| record.secret) + .collect()) + } + + #[instrument(skip(self))] + pub async fn get_secret( + &self, + workspace_id: &WorkspaceId, + secret_id: &SecretId, + ) -> Result { + self.ensure_workspace_exists(workspace_id).await?; + self.registry + .get_secret(workspace_id, secret_id) + .await? + .map(|record| record.secret) + .ok_or_else(|| { + ApiError::not_found_with_context( + format!("secret {} was not found", secret_id.as_str()), + json!({ "secret_id": secret_id.as_str() }), + ) + }) + } + + #[instrument(skip(self, payload), fields(workspace_id = %workspace_id.as_str(), secret_name = %payload.name))] + pub async fn create_secret( + &self, + workspace_id: &WorkspaceId, + created_by: Option<&UserId>, + payload: SecretPayload, + ) -> Result { + self.ensure_workspace_exists(workspace_id).await?; + validate_secret_payload(&payload)?; + + let now = OffsetDateTime::now_utc(); + let secret = Secret { + id: SecretId::new(new_prefixed_id("secret")), + workspace_id: workspace_id.clone(), + name: payload.name.trim().to_owned(), + kind: payload.kind, + status: SecretStatus::Active, + current_version: 1, + created_at: now, + updated_at: now, + last_used_at: None, + }; + let ciphertext = self + .secret_crypto + .encrypt(&payload.value) + .map_err(|error| ApiError::internal(error.to_string()))?; + + self.registry + .create_secret(CreateSecretRequest { + secret: &secret, + ciphertext: &ciphertext, + key_version: self.secret_crypto.key_version(), + created_by, + }) + .await?; + info!(secret_id = %secret.id.as_str(), "secret created"); + + Ok(secret) + } + + #[instrument(skip(self, payload), fields(workspace_id = %workspace_id.as_str(), secret_id = %secret_id.as_str()))] + pub async fn rotate_secret( + &self, + workspace_id: &WorkspaceId, + secret_id: &SecretId, + created_by: Option<&UserId>, + payload: RotateSecretPayload, + ) -> Result { + self.ensure_workspace_exists(workspace_id).await?; + if payload.value.is_null() { + return Err(ApiError::validation("secret value must not be null")); + } + + let now = OffsetDateTime::now_utc(); + let ciphertext = self + .secret_crypto + .encrypt(&payload.value) + .map_err(|error| ApiError::internal(error.to_string()))?; + self.registry + .rotate_secret(RotateSecretRequest { + workspace_id, + secret_id, + ciphertext: &ciphertext, + key_version: self.secret_crypto.key_version(), + created_at: &now, + updated_at: &now, + created_by, + }) + .await?; + info!(secret_id = %secret_id.as_str(), "secret rotated"); + + self.get_secret(workspace_id, secret_id).await + } + + #[instrument(skip(self), fields(workspace_id = %workspace_id.as_str(), secret_id = %secret_id.as_str()))] + pub async fn delete_secret( + &self, + workspace_id: &WorkspaceId, + secret_id: &SecretId, + ) -> Result<(), ApiError> { + self.ensure_workspace_exists(workspace_id).await?; + if let Some(profile) = self + .registry + .list_auth_profiles_referencing_secret(workspace_id, secret_id) + .await? + .into_iter() + .next() + { + return Err(RegistryError::SecretReferencedByAuthProfile { + secret_id: secret_id.as_str().to_owned(), + auth_profile_id: profile.id.as_str().to_owned(), + } + .into()); + } + self.registry.delete_secret(workspace_id, secret_id).await?; + info!(secret_id = %secret_id.as_str(), "secret deleted"); + Ok(()) + } + + #[instrument(skip(self))] + pub async fn list_agents( + &self, + workspace_id: &WorkspaceId, + ) -> Result, ApiError> { + self.ensure_workspace_exists(workspace_id).await?; + let workspace = self.get_workspace(workspace_id).await?; + let summaries = self.registry.list_agents(workspace_id).await?; + let usage = self + .registry + .list_usage_by_agent(UsageQuery { + workspace_id, + period: UsagePeriod::Last24Hours, + source: None, + created_after: &today_start_utc()?, + bucket: crank_registry::UsageBucket::Hour, + }) + .await?; + let calls_today = usage + .into_iter() + .map(|item| (item.agent_id.as_str().to_owned(), item.calls_total)) + .collect::>(); + let key_counts = self + .registry + .list_platform_api_keys(workspace_id) + .await? + .into_iter() + .fold(BTreeMap::new(), |mut counts, record| { + if let Some(agent_id) = record.api_key.agent_id { + *counts.entry(agent_id.as_str().to_owned()).or_insert(0usize) += 1; + } + counts + }); + + let mut items = Vec::with_capacity(summaries.len()); + for summary in summaries { + let version = self + .get_agent_version(workspace_id, &summary.id, summary.current_draft_version) + .await?; + let operation_ids = version + .bindings + .iter() + .map(|binding| binding.operation_id.as_str().to_owned()) + .collect::>(); + items.push(AgentSummaryView { + operation_count: operation_ids.len(), + operation_ids, + key_count: key_counts.get(summary.id.as_str()).copied().unwrap_or(0), + calls_today: calls_today.get(summary.id.as_str()).copied().unwrap_or(0), + mcp_endpoint: agent_mcp_endpoint( + workspace.workspace.slug.as_str(), + summary.slug.as_str(), + ), + ..map_agent_summary_view(summary) + }); + } + + Ok(items) + } + + #[instrument(skip(self))] + pub async fn get_agent( + &self, + workspace_id: &WorkspaceId, + agent_id: &AgentId, + ) -> Result { + self.ensure_workspace_exists(workspace_id).await?; + let workspace = self.get_workspace(workspace_id).await?; + let summary = self + .registry + .get_agent_summary(workspace_id, agent_id) + .await? + .ok_or_else(|| { + ApiError::not_found_with_context( + format!("agent {} was not found", agent_id.as_str()), + json!({ "agent_id": agent_id.as_str() }), + ) + })?; + let version = self + .get_agent_version(workspace_id, agent_id, summary.current_draft_version) + .await?; + let operation_ids = version + .bindings + .iter() + .map(|binding| binding.operation_id.as_str().to_owned()) + .collect::>(); + let usage = self + .registry + .get_usage_for_agent( + UsageQuery { + workspace_id, + period: UsagePeriod::Last24Hours, + source: None, + created_after: &today_start_utc()?, + bucket: crank_registry::UsageBucket::Hour, + }, + agent_id, + ) + .await?; + let key_count = self + .registry + .list_platform_api_keys_for_agent(workspace_id, agent_id) + .await? + .len(); + + Ok(AgentSummaryView { + operation_count: operation_ids.len(), + operation_ids, + key_count, + calls_today: usage.map(|item| item.rollup.calls_total).unwrap_or(0), + mcp_endpoint: agent_mcp_endpoint( + workspace.workspace.slug.as_str(), + summary.slug.as_str(), + ), + ..map_agent_summary_view(summary) + }) + } + + #[instrument(skip(self))] + pub async fn get_agent_version( + &self, + workspace_id: &WorkspaceId, + agent_id: &AgentId, + version: u32, + ) -> Result { + self.registry + .get_agent_version(workspace_id, agent_id, version) + .await? + .ok_or_else(|| { + ApiError::not_found_with_context( + format!( + "agent version {version} for {} was not found", + agent_id.as_str() + ), + json!({ + "agent_id": agent_id.as_str(), + "version": version, + }), + ) + }) + } + + #[instrument(skip(self, payload), fields(workspace_id = %workspace_id.as_str(), agent_slug = %payload.slug))] + pub async fn create_agent( + &self, + workspace_id: &WorkspaceId, + payload: AgentPayload, + ) -> Result { + self.ensure_workspace_exists(workspace_id).await?; + + if self + .find_agent_by_slug(workspace_id, &payload.slug) + .await? + .is_some() + { + return Err(ApiError::conflict_with_context( + format!("agent with slug {} already exists", payload.slug), + json!({ "slug": payload.slug }), + )); + } + + let now = OffsetDateTime::now_utc(); + let agent_id = AgentId::new(new_prefixed_id("agent")); + let agent = Agent { + id: agent_id.clone(), + workspace_id: workspace_id.clone(), + slug: payload.slug, + display_name: payload.display_name, + description: payload.description, + status: AgentStatus::Draft, + current_draft_version: 1, + latest_published_version: None, + created_at: now, + updated_at: now, + published_at: None, + }; + let version = AgentVersion { + agent_id: agent_id.clone(), + version: 1, + status: AgentStatus::Draft, + instructions: payload.instructions, + tool_selection_policy: payload.tool_selection_policy, + created_at: now, + }; + + self.registry + .create_agent(CreateAgentRequest { + agent: &agent, + version: &version, + bindings: &[], + }) + .await?; + info!(agent_id = %agent_id.as_str(), version = 1, "agent created"); + + Ok(CreatedAgentResponse { + agent_id: agent_id.as_str().to_owned(), + workspace_id: workspace_id.as_str().to_owned(), + version: 1, + status: AgentStatus::Draft, + }) + } + + #[instrument(skip(self, payload), fields(workspace_id = %workspace_id.as_str(), agent_id = %agent_id.as_str()))] + pub async fn update_agent( + &self, + workspace_id: &WorkspaceId, + agent_id: &AgentId, + payload: UpdateAgentPayload, + ) -> Result { + let existing = self + .registry + .get_agent_summary(workspace_id, agent_id) + .await? + .ok_or_else(|| { + ApiError::not_found_with_context( + format!("agent {} was not found", agent_id.as_str()), + json!({ "agent_id": agent_id.as_str() }), + ) + })?; + + if payload.slug != existing.slug + && self + .find_agent_by_slug(workspace_id, &payload.slug) + .await? + .is_some() + { + return Err(ApiError::conflict_with_context( + format!("agent with slug {} already exists", payload.slug), + json!({ "slug": payload.slug }), + )); + } + + let updated_at = OffsetDateTime::now_utc(); + self.registry + .update_agent_summary( + workspace_id, + agent_id, + &payload.slug, + &payload.display_name, + &payload.description, + &updated_at, + ) + .await?; + + Ok(AgentMutationResult { + agent_id: agent_id.as_str().to_owned(), + workspace_id: workspace_id.as_str().to_owned(), + updated_at: format_timestamp(updated_at), + }) + } + + #[instrument(skip(self), fields(workspace_id = %workspace_id.as_str(), agent_id = %agent_id.as_str()))] + pub async fn delete_agent( + &self, + workspace_id: &WorkspaceId, + agent_id: &AgentId, + ) -> Result { + let existing = self + .registry + .get_agent_summary(workspace_id, agent_id) + .await? + .ok_or_else(|| { + ApiError::not_found_with_context( + format!("agent {} was not found", agent_id.as_str()), + json!({ "agent_id": agent_id.as_str() }), + ) + })?; + + self.registry.delete_agent(workspace_id, agent_id).await?; + + Ok(AgentMutationResult { + agent_id: agent_id.as_str().to_owned(), + workspace_id: workspace_id.as_str().to_owned(), + updated_at: format_timestamp(existing.updated_at), + }) + } + + #[instrument(skip(self, payload), fields(workspace_id = %workspace_id.as_str(), agent_id = %agent_id.as_str()))] + pub async fn save_agent_bindings( + &self, + workspace_id: &WorkspaceId, + agent_id: &AgentId, + payload: Vec, + ) -> Result { + let agent = self.get_agent(workspace_id, agent_id).await?; + let bindings = payload + .into_iter() + .map(|binding| AgentOperationBinding { + operation_id: OperationId::new(binding.operation_id), + operation_version: binding.operation_version, + tool_name: binding.tool_name, + tool_title: binding.tool_title, + tool_description_override: binding.tool_description_override, + enabled: binding.enabled, + }) + .collect::>(); + + self.registry + .save_agent_bindings(SaveAgentBindingsRequest { + workspace_id, + agent_id, + agent_version: agent.current_draft_version, + bindings: &bindings, + }) + .await?; + info!( + agent_id = %agent_id.as_str(), + version = agent.current_draft_version, + binding_count = bindings.len(), + "agent bindings saved" + ); + + self.get_agent_version(workspace_id, agent_id, agent.current_draft_version) + .await + } + + #[instrument(skip(self), fields(workspace_id = %workspace_id.as_str(), agent_id = %agent_id.as_str(), version))] + pub async fn publish_agent( + &self, + workspace_id: &WorkspaceId, + agent_id: &AgentId, + version: u32, + ) -> Result { + let published_at = OffsetDateTime::now_utc(); + self.registry + .publish_agent(PublishAgentRequest { + workspace_id, + agent_id, + version, + published_at: &published_at, + published_by: None, + }) + .await?; + info!(agent_id = %agent_id.as_str(), version, "agent published"); + + Ok(PublishAgentResponse { + agent_id: agent_id.as_str().to_owned(), + workspace_id: workspace_id.as_str().to_owned(), + published_version: version, + published_at: format_timestamp(published_at), + }) + } + + #[instrument(skip(self), fields(workspace_id = %workspace_id.as_str(), agent_id = %agent_id.as_str()))] + pub async fn unpublish_agent( + &self, + workspace_id: &WorkspaceId, + agent_id: &AgentId, + ) -> Result { + self.ensure_workspace_exists(workspace_id).await?; + let updated_at = OffsetDateTime::now_utc(); + self.registry + .unpublish_agent(workspace_id, agent_id, &updated_at) + .await?; + info!(agent_id = %agent_id.as_str(), "agent moved to draft"); + + Ok(AgentMutationResult { + agent_id: agent_id.as_str().to_owned(), + workspace_id: workspace_id.as_str().to_owned(), + updated_at: format_timestamp(updated_at), + }) + } + + #[instrument(skip(self), fields(workspace_id = %workspace_id.as_str(), agent_id = %agent_id.as_str()))] + pub async fn archive_agent( + &self, + workspace_id: &WorkspaceId, + agent_id: &AgentId, + ) -> Result { + self.ensure_workspace_exists(workspace_id).await?; + let updated_at = OffsetDateTime::now_utc(); + self.registry + .archive_agent(workspace_id, agent_id, &updated_at) + .await?; + info!(agent_id = %agent_id.as_str(), "agent archived"); + + Ok(AgentMutationResult { + agent_id: agent_id.as_str().to_owned(), + workspace_id: workspace_id.as_str().to_owned(), + updated_at: format_timestamp(updated_at), + }) + } + + #[instrument(skip(self))] + pub async fn get_auth_profile( + &self, + workspace_id: &WorkspaceId, + auth_profile_id: &AuthProfileId, + ) -> Result { + self.registry + .get_auth_profile(workspace_id, auth_profile_id) + .await? + .ok_or_else(|| { + ApiError::not_found_with_context( + format!("auth profile {} was not found", auth_profile_id.as_str()), + json!({ "auth_profile_id": auth_profile_id.as_str() }), + ) + }) + } + + #[instrument(skip(self, payload), fields(auth_profile_name = %payload.name, auth_kind = ?payload.kind))] + pub async fn create_auth_profile( + &self, + workspace_id: &WorkspaceId, + payload: AuthProfilePayload, + ) -> Result { + validate_auth_profile_kind(payload.kind, &payload.config)?; + self.ensure_workspace_exists(workspace_id).await?; + self.validate_auth_profile_secret_ids(workspace_id, &payload.config) + .await?; + + let now = OffsetDateTime::now_utc(); + let profile = AuthProfile { + id: AuthProfileId::new(new_prefixed_id("auth")), + workspace_id: workspace_id.clone(), + name: payload.name, + kind: payload.kind, + config: payload.config, + created_at: now, + updated_at: now, + }; + + self.registry + .save_auth_profile(SaveAuthProfileRequest { + workspace_id, + profile: &profile, + }) + .await?; + info!(auth_profile_id = %profile.id.as_str(), "auth profile created"); + + Ok(profile) + } + + async fn validate_auth_profile_secret_ids( + &self, + workspace_id: &WorkspaceId, + config: &AuthConfig, + ) -> Result<(), ApiError> { + for secret_id in config.secret_ids() { + self.get_secret(workspace_id, secret_id).await?; + } + + Ok(()) + } + + #[instrument(skip(self), fields(operation_id = %operation_id.as_str(), version = query.version.unwrap_or_default(), mode = ?query.mode))] + pub async fn export_operation( + &self, + workspace_id: &WorkspaceId, + operation_id: &OperationId, + query: ExportQuery, + ) -> Result { + let version = match query.version { + Some(version) => version, + None => { + self.get_operation(workspace_id, operation_id) + .await? + .current_draft_version + } + }; + let record = self + .get_operation_version(workspace_id, operation_id, version) + .await?; + let document = YamlOperationDocument { + format_version: "1".to_owned(), + kind: "operation".to_owned(), + operation: RegistryOperation { + config_export: Some(ConfigExport { + format_version: "1".to_owned(), + export_mode: query.mode, + }), + ..record.snapshot + }, + }; + + serde_yaml::to_string(&document).map_err(|error| ApiError::internal(error.to_string())) + } + + #[instrument(skip(self, yaml_document), fields(mode = ?query.mode))] + pub async fn import_operation( + &self, + workspace_id: &WorkspaceId, + query: ImportQuery, + yaml_document: &str, + ) -> Result { + let document: YamlOperationDocument = serde_yaml::from_str(yaml_document) + .map_err(|error| ApiError::validation(error.to_string()))?; + if document.kind != "operation" { + return Err(ApiError::validation("yaml kind must be operation")); + } + + let payload = OperationPayload { + name: document.operation.name.clone(), + display_name: document.operation.display_name.clone(), + category: document.operation.category.clone(), + protocol: document.operation.protocol, + security_level: document.operation.security_level, + target: document.operation.target.clone(), + input_schema: document.operation.input_schema.clone(), + output_schema: document.operation.output_schema.clone(), + input_mapping: document.operation.input_mapping.clone(), + output_mapping: document.operation.output_mapping.clone(), + execution_config: document.operation.execution_config.clone(), + tool_description: document.operation.tool_description.clone(), + }; + + match query.mode { + ImportMode::Create => { + let created = self.create_operation(workspace_id, payload).await?; + Ok(ImportResponse { + operation_id: created.operation_id, + workspace_id: created.workspace_id, + version: created.version, + import_mode: ImportMode::Create, + warnings: Vec::new(), + }) + } + ImportMode::Upsert => { + if let Some(existing) = self + .find_operation_by_name(workspace_id, &document.operation.name) + .await? + { + let created = self + .create_version( + workspace_id, + &existing.id, + NewVersionPayload { + operation: payload, + change_note: Some("yaml upsert".to_owned()), + }, + ) + .await?; + + let response = ImportResponse { + operation_id: created.operation_id, + workspace_id: created.workspace_id, + version: created.version, + import_mode: ImportMode::Upsert, + warnings: Vec::new(), + }; + info!( + operation_id = %response.operation_id, + version = response.version, + "operation imported by upsert" + ); + Ok(response) + } else { + let created = self.create_operation(workspace_id, payload).await?; + let response = ImportResponse { + operation_id: created.operation_id, + workspace_id: created.workspace_id, + version: created.version, + import_mode: ImportMode::Upsert, + warnings: Vec::new(), + }; + info!( + operation_id = %response.operation_id, + version = response.version, + "operation imported by upsert" + ); + Ok(response) + } + } + } + } + + #[instrument(skip(self, payload), fields(operation_id = %operation_id.as_str(), sample_kind = ?sample_kind))] + pub async fn save_json_sample( + &self, + workspace_id: &WorkspaceId, + operation_id: &OperationId, + sample_kind: SampleKind, + payload: &Value, + ) -> Result { + let summary = self.get_operation(workspace_id, operation_id).await?; + let version = summary.current_draft_version; + let sample_id = SampleId::new(new_prefixed_id("sample")); + let now = OffsetDateTime::now_utc(); + let file_name = match sample_kind { + SampleKind::InputJson => "input.json", + SampleKind::OutputJson => "output.json", + SampleKind::YamlImportSource => "source.yaml", + }; + let storage_ref = self + .storage + .write_json_sample(operation_id, version, sample_kind, &sample_id, payload) + .await?; + let metadata = OperationSampleMetadata { + id: sample_id, + operation_id: operation_id.clone(), + version, + sample_kind, + storage_ref, + content_type: "application/json".to_owned(), + file_name: Some(file_name.to_owned()), + created_at: now, + }; + + self.registry + .save_sample_metadata(SaveSampleMetadataRequest { sample: &metadata }) + .await?; + info!( + operation_id = %operation_id.as_str(), + sample_id = %metadata.id.as_str(), + version, + "json sample saved" + ); + + Ok(metadata) + } + + #[instrument(skip(self, payload), fields(operation_id = %operation_id.as_str()))] + pub async fn generate_draft( + &self, + workspace_id: &WorkspaceId, + operation_id: &OperationId, + payload: GenerateDraftPayload, + ) -> Result { + let summary = self.get_operation(workspace_id, operation_id).await?; + let samples = self + .registry + .list_sample_metadata(operation_id, summary.current_draft_version) + .await?; + + let input_sample = latest_sample_ref(&samples, SampleKind::InputJson) + .ok_or_else(|| ApiError::validation("input_json sample was not found"))?; + let output_sample = latest_sample_ref(&samples, SampleKind::OutputJson) + .ok_or_else(|| ApiError::validation("output_json sample was not found"))?; + let input_value = self.storage.read_json(&input_sample.storage_ref).await?; + let output_value = self.storage.read_json(&output_sample.storage_ref).await?; + + let input_schema = Schema::from_json_sample(&input_value); + let output_schema = Schema::from_json_sample(&output_value); + let input_mapping = infer_mapping_from_samples( + &input_value, + JsonPathRoot::Mcp, + &input_value, + JsonPathRoot::RequestBody, + ); + let output_mapping = infer_mapping_from_samples( + &output_value, + JsonPathRoot::ResponseBody, + &output_value, + JsonPathRoot::Output, + ); + let source_types = if payload.sources.is_empty() { + vec![ + "input_json_sample".to_owned(), + "output_json_sample".to_owned(), + ] + } else { + payload.sources + }; + let generated_draft = GeneratedDraft { + status: GeneratedDraftStatus::Available, + source_types, + generated_at: Some(now_string()?), + input_schema_generated: true, + output_schema_generated: true, + input_mapping_generated: true, + output_mapping_generated: true, + warnings: Vec::new(), + }; + + let result = DraftGenerationResult { + generated_draft, + input_schema, + output_schema, + input_mapping, + output_mapping, + }; + info!(operation_id = %operation_id.as_str(), "draft generated from samples"); + + Ok(result) + } + + fn validate_operation_payload(&self, payload: &OperationPayload) -> Result<(), ApiError> { + self.validate_operation_capabilities(payload.protocol, payload.security_level)?; + validate_protocol_target(payload.protocol, &payload.target)?; + validate_streaming_policy(&payload.execution_config)?; + validate_response_cache_policy(&payload.target, &payload.execution_config)?; + payload.input_mapping.validate_paths()?; + payload.output_mapping.validate_paths()?; + Ok(()) + } + + fn validate_registry_operation(&self, operation: &RegistryOperation) -> Result<(), ApiError> { + self.validate_operation_capabilities(operation.protocol, operation.security_level)?; + validate_protocol_target(operation.protocol, &operation.target)?; + validate_streaming_policy(&operation.execution_config)?; + validate_response_cache_policy(&operation.target, &operation.execution_config)?; + operation.input_mapping.validate_paths()?; + operation.output_mapping.validate_paths()?; + Ok(()) + } + + fn validate_operation_capabilities( + &self, + protocol: Protocol, + security_level: OperationSecurityLevel, + ) -> Result<(), ApiError> { + let supported_protocols = [Protocol::Rest]; + if !supported_protocols.contains(&protocol) { + return Err(ApiError::validation_with_context( + format!( + "protocol {} is not supported in Community", + serde_json::to_string(&protocol) + .unwrap_or_else(|_| "\"unknown\"".to_owned()) + .trim_matches('"') + ), + json!({ + "protocol": protocol, + "edition": "community", + }), + )); + } + + if security_level != OperationSecurityLevel::Standard { + return Err(ApiError::validation_with_context( + format!( + "security level {} is not supported in Community", + serde_json::to_string(&security_level) + .unwrap_or_else(|_| "\"unknown\"".to_owned()) + .trim_matches('"') + ), + json!({ + "security_level": security_level, + "edition": "community", + }), + )); + } + + Ok(()) + } + + async fn find_operation_by_name( + &self, + workspace_id: &WorkspaceId, + name: &str, + ) -> Result, ApiError> { + Ok(self + .registry + .list_operations(workspace_id) + .await? + .into_iter() + .find(|operation| operation.name == name)) + } + + async fn find_agent_by_slug( + &self, + workspace_id: &WorkspaceId, + slug: &str, + ) -> Result, ApiError> { + Ok(self + .registry + .list_agents(workspace_id) + .await? + .into_iter() + .find(|agent| agent.slug == slug)) + } + + async fn ensure_workspace_exists(&self, workspace_id: &WorkspaceId) -> Result<(), ApiError> { + self.get_workspace(workspace_id).await.map(|_| ()) + } + + async fn seed_default_workspace_demo( + &self, + owner_user_id: &crank_core::UserId, + workspace_id: &WorkspaceId, + ) -> Result<(), ApiError> { + let ops_admin_id = self + .ensure_demo_user("ops-manager@crank.demo", "Ops Manager") + .await?; + let analyst_id = self + .ensure_demo_user("analyst@crank.demo", "Revenue Analyst") + .await?; + let contractor_id = self + .ensure_demo_user("contractor@crank.demo", "Delivery Contractor") + .await?; + + self.registry + .ensure_membership(workspace_id, owner_user_id, MembershipRole::Owner) + .await?; + self.registry + .ensure_membership(workspace_id, &ops_admin_id, MembershipRole::Admin) + .await?; + self.registry + .ensure_membership(workspace_id, &analyst_id, MembershipRole::Operator) + .await?; + self.registry + .ensure_membership(workspace_id, &contractor_id, MembershipRole::Viewer) + .await?; + + self.ensure_demo_invitation( + workspace_id, + InvitationPayload { + email: "partner@crank.demo".to_owned(), + role: MembershipRole::Viewer, + expires_at: None, + }, + ) + .await?; + self.ensure_demo_invitation( + workspace_id, + InvitationPayload { + email: "automation@crank.demo".to_owned(), + role: MembershipRole::Operator, + expires_at: None, + }, + ) + .await?; + + let rest_operation = self + .ensure_demo_operation(workspace_id, demo_rest_operation_payload()) + .await?; + self.ensure_operation_published(workspace_id, &rest_operation) + .await?; + self.ensure_demo_json_samples( + workspace_id, + &rest_operation.id, + &demo_rest_input_sample(), + &demo_rest_output_sample(), + ) + .await?; + + let archived_operation = self + .ensure_demo_operation(workspace_id, demo_archived_operation_payload()) + .await?; + self.ensure_operation_archived(workspace_id, &archived_operation) + .await?; + + let revops_agent = self + .ensure_demo_agent(workspace_id, demo_revops_agent_payload()) + .await?; + self.ensure_demo_agent_bindings( + workspace_id, + &AgentId::new(revops_agent.id.clone()), + vec![AgentBindingPayload { + operation_id: rest_operation.id.as_str().to_owned(), + operation_version: rest_operation.current_draft_version, + tool_name: "create_crm_lead".to_owned(), + tool_title: "Create CRM Lead".to_owned(), + tool_description_override: Some( + "Create a new CRM lead in the revenue workspace.".to_owned(), + ), + enabled: true, + }], + true, + ) + .await?; + + self.ensure_demo_platform_api_key( + workspace_id, + &AgentId::new(revops_agent.id.clone()), + "Web Console Demo Key", + vec![PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + false, + ) + .await?; + + self.seed_demo_invocation_logs( + workspace_id, + &AgentId::new(revops_agent.id), + &rest_operation.id, + ) + .await?; + + Ok(()) + } + + async fn seed_growth_workspace_demo( + &self, + owner_user_id: &crank_core::UserId, + ) -> Result<(), ApiError> { + let workspace = self + .ensure_demo_workspace( + owner_user_id, + WorkspacePayload { + slug: "growth-lab".to_owned(), + display_name: "Growth Lab".to_owned(), + settings: json!({ + "tier": "demo", + "region": "eu-central", + "notes": "Secondary workspace for workspace switch testing" + }), + }, + ) + .await?; + let workspace_id = workspace.workspace.id; + + let growth_pm_id = self + .ensure_demo_user("growth.pm@crank.demo", "Growth PM") + .await?; + self.registry + .ensure_membership(&workspace_id, owner_user_id, MembershipRole::Owner) + .await?; + self.registry + .ensure_membership(&workspace_id, &growth_pm_id, MembershipRole::Admin) + .await?; + + self.ensure_demo_invitation( + &workspace_id, + InvitationPayload { + email: "agency@crank.demo".to_owned(), + role: MembershipRole::Viewer, + expires_at: None, + }, + ) + .await?; + Ok(()) + } + + async fn ensure_demo_workspace( + &self, + owner_user_id: &crank_core::UserId, + payload: WorkspacePayload, + ) -> Result { + if let Some(existing) = self + .registry + .list_workspaces_for_user(owner_user_id) + .await? + .into_iter() + .find(|record| record.workspace.slug == payload.slug) + { + return Ok(WorkspaceRecord { + workspace: existing.workspace, + }); + } + + self.create_workspace(owner_user_id, payload).await + } + + async fn ensure_demo_user( + &self, + email: &str, + display_name: &str, + ) -> Result { + let password_hash = hash_password(DEMO_USER_PASSWORD, &self.auth_settings.password_pepper)?; + self.registry + .upsert_bootstrap_user(email, display_name, &password_hash) + .await + .map_err(ApiError::from) + } + + async fn ensure_demo_invitation( + &self, + workspace_id: &WorkspaceId, + payload: InvitationPayload, + ) -> Result<(), ApiError> { + if self + .list_invitations(workspace_id) + .await? + .iter() + .any(|record| record.invitation.email == payload.email) + { + return Ok(()); + } + + self.create_invitation(workspace_id, payload).await?; + Ok(()) + } + + async fn ensure_demo_platform_api_key( + &self, + workspace_id: &WorkspaceId, + agent_id: &AgentId, + name: &str, + scopes: Vec, + revoke: bool, + ) -> Result<(), ApiError> { + let existing = self + .list_agent_platform_api_keys(workspace_id, agent_id) + .await? + .into_iter() + .find(|record| record.api_key.name == name); + let key = match existing { + Some(record) => record, + None => { + self.create_agent_platform_api_key( + workspace_id, + agent_id, + PlatformApiKeyPayload { + name: name.to_owned(), + scopes, + }, + ) + .await? + .api_key + } + }; + + if revoke && key.api_key.status != PlatformApiKeyStatus::Revoked { + self.revoke_agent_platform_api_key(workspace_id, agent_id, &key.api_key.id) + .await?; + } + + Ok(()) + } + + async fn ensure_demo_operation( + &self, + workspace_id: &WorkspaceId, + payload: OperationPayload, + ) -> Result { + if let Some(existing) = self + .find_operation_by_name(workspace_id, &payload.name) + .await? + { + return Ok(existing); + } + + let operation_name = payload.name.clone(); + self.create_operation(workspace_id, payload).await?; + self.find_operation_by_name(workspace_id, &operation_name) + .await? + .ok_or_else(|| ApiError::internal("demo operation was created but not found")) + } + + async fn ensure_operation_published( + &self, + workspace_id: &WorkspaceId, + summary: &OperationSummary, + ) -> Result<(), ApiError> { + if summary.latest_published_version.is_some() { + return Ok(()); + } + + self.publish_operation(workspace_id, &summary.id, summary.current_draft_version) + .await?; + Ok(()) + } + + async fn ensure_operation_archived( + &self, + workspace_id: &WorkspaceId, + summary: &OperationSummary, + ) -> Result<(), ApiError> { + if summary.status == OperationStatus::Archived { + return Ok(()); + } + + self.archive_operation(workspace_id, &summary.id).await?; + Ok(()) + } + + async fn ensure_demo_json_samples( + &self, + workspace_id: &WorkspaceId, + operation_id: &OperationId, + input: &Value, + output: &Value, + ) -> Result<(), ApiError> { + let summary = self.get_operation(workspace_id, operation_id).await?; + let samples = self + .registry + .list_sample_metadata(operation_id, summary.current_draft_version) + .await?; + + if !samples + .iter() + .any(|sample| sample.sample_kind == SampleKind::InputJson) + { + self.save_json_sample(workspace_id, operation_id, SampleKind::InputJson, input) + .await?; + } + + if !samples + .iter() + .any(|sample| sample.sample_kind == SampleKind::OutputJson) + { + self.save_json_sample(workspace_id, operation_id, SampleKind::OutputJson, output) + .await?; + } + + Ok(()) + } + + async fn ensure_demo_agent( + &self, + workspace_id: &WorkspaceId, + payload: AgentPayload, + ) -> Result { + let summary = + if let Some(existing) = self.find_agent_by_slug(workspace_id, &payload.slug).await? { + existing + } else { + self.create_agent(workspace_id, payload.clone()).await?; + self.find_agent_by_slug(workspace_id, &payload.slug) + .await? + .ok_or_else(|| ApiError::internal("demo agent was created but not found"))? + }; + + self.get_agent(workspace_id, &summary.id).await + } + + async fn ensure_demo_agent_bindings( + &self, + workspace_id: &WorkspaceId, + agent_id: &AgentId, + bindings: Vec, + publish: bool, + ) -> Result<(), ApiError> { + let summary = self.get_agent(workspace_id, agent_id).await?; + self.save_agent_bindings(workspace_id, agent_id, bindings) + .await?; + if publish && summary.latest_published_version.is_none() { + self.publish_agent(workspace_id, agent_id, summary.current_draft_version) + .await?; + } + + Ok(()) + } + + async fn seed_demo_invocation_logs( + &self, + workspace_id: &WorkspaceId, + revops_agent_id: &AgentId, + rest_operation_id: &OperationId, + ) -> Result<(), ApiError> { + if !self + .registry + .list_invocation_logs(ListInvocationLogsQuery { + workspace_id, + level: None, + search_text: None, + source: None, + operation_id: None, + agent_id: None, + created_after: None, + limit: 1, + }) + .await? + .is_empty() + { + return Ok(()); + } + + let rest_operation = self + .get_operation_version( + workspace_id, + rest_operation_id, + self.get_operation(workspace_id, rest_operation_id) + .await? + .current_draft_version, + ) + .await?; + self.record_invocation(InvocationRecordRequest { + workspace_id, + agent_id: Some(revops_agent_id), + operation: &rest_operation.snapshot, + request_id: None, + source: InvocationSource::AgentToolCall, + level: InvocationLevel::Info, + status: InvocationStatus::Ok, + message: "lead created in CRM".to_owned(), + status_code: Some(201), + error_kind: None, + duration_ms: 182, + request_preview: json!({ + "path": {}, + "query": {}, + "headers": { "x-demo-source": "crank-seed" }, + "variables": null, + "grpc": null, + "body": demo_rest_request_sample() + }), + response_preview: demo_rest_response_sample(), + }) + .await?; + Ok(()) + } + + async fn record_invocation( + &self, + request: InvocationRecordRequest<'_>, + ) -> Result<(), ApiError> { + let log = InvocationLog { + id: InvocationLogId::new(new_prefixed_id("log")), + workspace_id: request.workspace_id.clone(), + agent_id: request.agent_id.cloned(), + operation_id: request.operation.id.clone(), + source: request.source, + level: request.level, + status: request.status, + tool_name: request.operation.name.clone(), + message: request.message, + request_id: request.request_id.map(ToOwned::to_owned), + status_code: request.status_code, + duration_ms: request.duration_ms, + error_kind: request.error_kind, + request_preview: request.request_preview, + response_preview: request.response_preview, + created_at: OffsetDateTime::now_utc(), + }; + + self.registry + .create_invocation_log(CreateInvocationLogRequest { log: &log }) + .await?; + + Ok(()) + } +} + +const DEMO_USER_PASSWORD: &str = "CrankDemoPass123!"; + +fn build_request_preview( + mapping: &MappingSet, + input: &Value, +) -> Result { + let mapped = mapping.apply(&json!({ "mcp": input }))?; + let prepared = PreparedRequest::from_mapping_output(&mapped).map_err(|error| { + crank_mapping::MappingError::InvalidJsonPath { + path: error.to_string(), + } + })?; + + Ok(json!({ + "path": prepared.path_params, + "query": prepared.query_params, + "headers": prepared.headers, + "grpc": prepared.grpc.unwrap_or(Value::Null), + "variables": prepared.variables.unwrap_or(Value::Null), + "body": prepared.body.unwrap_or(Value::Null) + })) +} + +fn validate_protocol_target(protocol: Protocol, target: &Target) -> Result<(), ApiError> { + let is_match = matches!( + (protocol, target), + (Protocol::Rest, Target::Rest(_)) + | (Protocol::Graphql, Target::Graphql(_)) + | (Protocol::Grpc, Target::Grpc(_)) + | (Protocol::Websocket, Target::Websocket(_)) + | (Protocol::Soap, Target::Soap(_)) + ); + + if is_match { + return Ok(()); + } + + Err(ApiError::validation("protocol and target kind must match")) +} + +fn validate_auth_profile_kind(kind: AuthKind, config: &AuthConfig) -> Result<(), ApiError> { + let is_match = matches!( + (kind, config), + (AuthKind::Bearer, AuthConfig::Bearer(_)) + | (AuthKind::Basic, AuthConfig::Basic(_)) + | (AuthKind::ApiKeyHeader, AuthConfig::ApiKeyHeader(_)) + | (AuthKind::ApiKeyQuery, AuthConfig::ApiKeyQuery(_)) + ); + + if is_match { + return Ok(()); + } + + Err(ApiError::validation("auth kind and config must match")) +} + +fn validate_secret_payload(payload: &SecretPayload) -> Result<(), ApiError> { + if payload.name.trim().is_empty() { + return Err(ApiError::validation("secret name must not be empty")); + } + + if payload.value.is_null() { + return Err(ApiError::validation("secret value must not be null")); + } + + Ok(()) +} + +fn latest_sample_ref( + samples: &[OperationSampleMetadata], + sample_kind: SampleKind, +) -> Option { + samples + .iter() + .rev() + .find(|sample| sample.sample_kind == sample_kind) + .cloned() +} + +fn default_export_mode() -> ExportMode { + ExportMode::Portable +} + +fn demo_revops_agent_payload() -> AgentPayload { + AgentPayload { + slug: "revops-copilot".to_owned(), + display_name: "RevOps Copilot".to_owned(), + description: "Revenue operations assistant with CRM and billing tools.".to_owned(), + instructions: json!({ + "system": "Prefer CRM mutations first, then billing lookups for confirmation." + }), + tool_selection_policy: json!({ + "max_tools": 8, + "prefer_tag": ["sales", "finance"] + }), + } +} + +fn demo_rest_operation_payload() -> OperationPayload { + let input = demo_rest_input_sample(); + let request = demo_rest_request_sample(); + let response = demo_rest_response_sample(); + let output = demo_rest_output_sample(); + + OperationPayload { + name: "crm_create_lead".to_owned(), + display_name: "Create CRM Lead".to_owned(), + category: "sales".to_owned(), + protocol: Protocol::Rest, + security_level: OperationSecurityLevel::Standard, + target: Target::Rest(crank_core::RestTarget { + base_url: "https://crm.demo.internal".to_owned(), + method: crank_core::HttpMethod::Post, + path_template: "/v1/leads".to_owned(), + static_headers: BTreeMap::from([("x-demo-source".to_owned(), "crank-seed".to_owned())]), + }), + input_schema: Schema::from_json_sample(&input), + output_schema: Schema::from_json_sample(&output), + input_mapping: infer_mapping_from_samples( + &input, + JsonPathRoot::Mcp, + &request, + JsonPathRoot::RequestBody, + ), + output_mapping: infer_mapping_from_samples( + &response, + JsonPathRoot::ResponseBody, + &output, + JsonPathRoot::Output, + ), + execution_config: crank_core::ExecutionConfig { + timeout_ms: 10_000, + retry_policy: None, + response_cache: None, + auth_profile_ref: None, + headers: BTreeMap::new(), + protocol_options: None, + streaming: None, + }, + tool_description: crank_core::ToolDescription { + title: "Create CRM Lead".to_owned(), + description: "Create a lead record in the CRM system.".to_owned(), + tags: vec!["sales".to_owned(), "crm".to_owned()], + examples: vec![crank_core::ToolExample { + input: json!({ + "email": "sarah.connor@example.com", + "company": "Cyberdyne" + }), + }], + }, + } +} + +fn demo_archived_operation_payload() -> OperationPayload { + let input = json!({ + "contactId": "contact_123", + "reason": "Duplicate profile" + }); + let request = json!({ + "contactId": "contact_123", + "reason": "Duplicate profile" + }); + let response = json!({ + "archived": true, + "contactId": "contact_123" + }); + + OperationPayload { + name: "marketing_archive_contact".to_owned(), + display_name: "Archive Marketing Contact".to_owned(), + category: "marketing".to_owned(), + protocol: Protocol::Rest, + security_level: OperationSecurityLevel::Standard, + target: Target::Rest(crank_core::RestTarget { + base_url: "https://marketing.demo.internal".to_owned(), + method: crank_core::HttpMethod::Patch, + path_template: "/v1/contacts/archive".to_owned(), + static_headers: BTreeMap::new(), + }), + input_schema: Schema::from_json_sample(&input), + output_schema: Schema::from_json_sample(&response), + input_mapping: infer_mapping_from_samples( + &input, + JsonPathRoot::Mcp, + &request, + JsonPathRoot::RequestBody, + ), + output_mapping: infer_mapping_from_samples( + &response, + JsonPathRoot::ResponseBody, + &response, + JsonPathRoot::Output, + ), + execution_config: crank_core::ExecutionConfig { + timeout_ms: 6_000, + retry_policy: None, + response_cache: None, + auth_profile_ref: None, + headers: BTreeMap::new(), + protocol_options: None, + streaming: None, + }, + tool_description: crank_core::ToolDescription { + title: "Archive Marketing Contact".to_owned(), + description: "Legacy archived flow kept for audit only.".to_owned(), + tags: vec!["marketing".to_owned()], + examples: Vec::new(), + }, + } +} + +fn demo_rest_input_sample() -> Value { + json!({ + "firstName": "Sarah", + "lastName": "Connor", + "email": "sarah.connor@example.com", + "company": "Cyberdyne", + "source": "website" + }) +} + +fn demo_rest_request_sample() -> Value { + demo_rest_input_sample() +} + +fn demo_rest_response_sample() -> Value { + json!({ + "id": "lead_1001", + "status": "created", + "owner": "revops" + }) +} + +fn demo_rest_output_sample() -> Value { + demo_rest_response_sample() +} + +fn default_enabled() -> bool { + true +} + +fn new_prefixed_id(prefix: &str) -> String { + format!("{prefix}_{}", Uuid::now_v7().simple()) +} + +fn generate_access_secret(prefix: &str) -> String { + let random = URL_SAFE_NO_PAD.encode(Uuid::now_v7().as_bytes()); + format!("{prefix}_{random}") +} + +fn hash_access_secret(secret: &str) -> String { + let digest = Sha256::digest(secret.as_bytes()); + URL_SAFE_NO_PAD.encode(digest) +} + +fn now_string() -> Result { + OffsetDateTime::now_utc() + .format(&Rfc3339) + .map_err(|error| ApiError::internal(error.to_string())) +} + +fn parse_timestamp(value: &str) -> Result { + OffsetDateTime::parse(value, &Rfc3339) + .map_err(|_| ApiError::validation("timestamp must be RFC 3339")) +} + +fn format_timestamp(timestamp: OffsetDateTime) -> String { + timestamp + .format(&Rfc3339) + .unwrap_or_else(|_| "1970-01-01T00:00:00Z".to_owned()) +} + +fn map_identity_error(error: IdentityError) -> ApiError { + match error { + IdentityError::BadCredentials => ApiError::unauthorized("invalid email or password"), + IdentityError::AccountDisabled => ApiError::forbidden("account is disabled"), + IdentityError::NotSupportedForProvider => ApiError::internal( + "password login is not supported by the configured identity provider", + ), + IdentityError::Internal(message) => ApiError::internal(message), + } +} + +async fn resolve_runtime_auth_for_task( + registry: &PostgresRegistry, + secret_crypto: &SecretCrypto, + workspace_id: &WorkspaceId, + execution_config: &crank_core::ExecutionConfig, +) -> Result, RuntimeError> { + let Some(auth_profile_id) = execution_config.auth_profile_ref.as_ref() else { + return Ok(None); + }; + + let auth_profile = registry + .get_auth_profile(workspace_id, auth_profile_id) + .await + .map_err(|error| RuntimeError::SecretCrypto { + operation: "load auth profile", + details: error.to_string(), + })? + .ok_or_else(|| RuntimeError::MissingAuthProfile { + auth_profile_id: auth_profile_id.as_str().to_owned(), + })?; + + let mut secrets = BTreeMap::new(); + let used_at = OffsetDateTime::now_utc(); + + for secret_id in auth_profile.config.secret_ids() { + let secret = registry + .get_secret(workspace_id, secret_id) + .await + .map_err(|error| RuntimeError::SecretCrypto { + operation: "load secret", + details: error.to_string(), + })? + .ok_or_else(|| RuntimeError::MissingSecret { + secret_id: secret_id.as_str().to_owned(), + })?; + let version = registry + .get_current_secret_version(workspace_id, secret_id) + .await + .map_err(|error| RuntimeError::SecretCrypto { + operation: "load current secret version", + details: error.to_string(), + })? + .ok_or_else(|| RuntimeError::MissingSecretVersion { + secret_id: secret_id.as_str().to_owned(), + version: secret.secret.current_version, + })?; + let plaintext = secret_crypto.decrypt( + &version.secret_version.key_version, + &version.secret_version.ciphertext, + )?; + registry + .touch_secret(workspace_id, secret_id, &used_at) + .await + .map_err(|error| RuntimeError::SecretCrypto { + operation: "touch secret", + details: error.to_string(), + })?; + secrets.insert(secret_id.clone(), plaintext); + } + + ResolvedAuth::from_profile(&auth_profile, &secrets).map(Some) +} + +fn default_invitation_expiry() -> Result { + OffsetDateTime::now_utc() + .checked_add(time::Duration::days(7)) + .ok_or_else(|| ApiError::internal("failed to compute invitation expiry")) +} + +fn runtime_error_code(error: &RuntimeError) -> &'static str { + match error { + RuntimeError::Schema(_) => "schema_error", + RuntimeError::Mapping(_) => "mapping_error", + RuntimeError::InvalidPreparedRequest { .. } => "invalid_request", + RuntimeError::GraphqlAdapter(_) => "graphql_error", + RuntimeError::GrpcAdapter(_) => "grpc_error", + RuntimeError::RestAdapter(_) => "rest_error", + RuntimeError::ProtocolAdapter(_) => "adapter_error", + RuntimeError::SoapAdapter(_) => "soap_error", + RuntimeError::WebsocketAdapter(_) => "websocket_error", + RuntimeError::UnsupportedProtocol { .. } => "unsupported_protocol", + RuntimeError::ConcurrencyLimitExceeded { .. } => "runtime_overloaded", + RuntimeError::MissingStreamingConfig { .. } => "streaming_config_error", + RuntimeError::UnsupportedExecutionMode { .. } => "streaming_mode_error", + RuntimeError::InvalidStreamingPayload { .. } => "streaming_payload_error", + RuntimeError::MissingAuthProfile { .. } => "auth_profile_not_found", + RuntimeError::MissingSecret { .. } | RuntimeError::MissingSecretVersion { .. } => { + "secret_not_found" + } + RuntimeError::InvalidAuthSecretValue { .. } => "secret_value_error", + RuntimeError::SecretCrypto { .. } => "secret_crypto_error", + } +} + +fn protocol_capability_view(protocol: Protocol, edition: ProductEdition) -> ProtocolCapabilityView { + let community_build = matches!(edition, ProductEdition::Community); + let supports_execution_modes = if community_build { + vec![ExecutionMode::Unary] + } else { + [ + ExecutionMode::Unary, + ExecutionMode::Window, + ExecutionMode::Session, + ExecutionMode::AsyncJob, + ] + .into_iter() + .filter(|mode| protocol.supports_execution_mode(*mode)) + .collect() + }; + let supports_transport_behaviors = if community_build { + vec![TransportBehavior::RequestResponse] + } else { + [ + TransportBehavior::RequestResponse, + TransportBehavior::ServerStream, + TransportBehavior::StatefulSession, + TransportBehavior::DeferredResult, + ] + .into_iter() + .filter(|behavior| protocol.supports_transport_behavior(*behavior)) + .collect() + }; + let supports_upload_artifacts = Vec::new(); + + ProtocolCapabilityView { + protocol, + supports_execution_modes, + supports_transport_behaviors, + supports_auth_kinds: vec![ + "none".to_owned(), + "bearer".to_owned(), + "basic".to_owned(), + "api_key_header".to_owned(), + "api_key_query".to_owned(), + ], + supports_upload_artifacts, + supports_cursor_path: !matches!(protocol, Protocol::Graphql), + supports_done_path: !matches!(protocol, Protocol::Graphql), + supports_aggregation_mode: vec![ + AggregationMode::RawItems, + AggregationMode::SummaryOnly, + AggregationMode::SummaryPlusSamples, + AggregationMode::Stats, + AggregationMode::LatestState, + ], + } +} + +fn usage_window(period: UsagePeriod) -> Result<(UsagePeriod, String, UsageBucket), ApiError> { + let now = OffsetDateTime::now_utc(); + let (start, bucket) = match period { + UsagePeriod::Last30Minutes => ( + now.checked_sub(time::Duration::minutes(30)) + .ok_or_else(|| ApiError::internal("failed to compute usage period"))?, + UsageBucket::Hour, + ), + UsagePeriod::LastHour => ( + now.checked_sub(time::Duration::hours(1)) + .ok_or_else(|| ApiError::internal("failed to compute usage period"))?, + UsageBucket::Hour, + ), + UsagePeriod::Last6Hours => ( + now.checked_sub(time::Duration::hours(6)) + .ok_or_else(|| ApiError::internal("failed to compute usage period"))?, + UsageBucket::Hour, + ), + UsagePeriod::Last24Hours => ( + now.checked_sub(time::Duration::hours(24)) + .ok_or_else(|| ApiError::internal("failed to compute usage period"))?, + UsageBucket::Hour, + ), + UsagePeriod::Last7Days => ( + now.checked_sub(time::Duration::days(7)) + .ok_or_else(|| ApiError::internal("failed to compute usage period"))?, + UsageBucket::Day, + ), + UsagePeriod::Last30Days => ( + now.checked_sub(time::Duration::days(30)) + .ok_or_else(|| ApiError::internal("failed to compute usage period"))?, + UsageBucket::Week, + ), + UsagePeriod::Last90Days => ( + now.checked_sub(time::Duration::days(90)) + .ok_or_else(|| ApiError::internal("failed to compute usage period"))?, + UsageBucket::Month, + ), + UsagePeriod::ThisMonth => ( + OffsetDateTime::from_unix_timestamp( + now.unix_timestamp() - i64::from(now.day() - 1) * 24 * 60 * 60, + ) + .map_err(|error| ApiError::internal(error.to_string()))? + .replace_time(time::Time::MIDNIGHT), + UsageBucket::Week, + ), + }; + + Ok(( + period, + start + .format(&Rfc3339) + .map_err(|error| ApiError::internal(error.to_string()))?, + bucket, + )) +} + +fn today_start_utc() -> Result { + OffsetDateTime::now_utc() + .replace_time(time::Time::MIDNIGHT) + .format(&Rfc3339) + .map_err(|error| ApiError::internal(error.to_string())) +} + +fn default_usage_summary() -> OperationUsageSummaryView { + OperationUsageSummaryView { + calls_today: 0, + error_rate_pct: 0.0, + avg_latency_ms: 0, + } +} + +fn usage_map(items: Vec) -> BTreeMap { + items + .into_iter() + .map(|item| { + ( + item.operation_id.as_str().to_owned(), + OperationUsageSummaryView { + calls_today: item.calls_today, + error_rate_pct: item.error_rate_pct, + avg_latency_ms: item.avg_latency_ms, + }, + ) + }) + .collect() +} + +fn agent_ref_map(items: Vec) -> BTreeMap> { + let mut map = BTreeMap::>::new(); + for item in items { + map.entry(item.operation_id.as_str().to_owned()) + .or_default() + .push(OperationAgentRefView { + agent_id: item.agent_id.as_str().to_owned(), + agent_slug: item.agent_slug, + display_name: item.display_name, + }); + } + map +} + +fn map_agent_summary_view(summary: AgentSummary) -> AgentSummaryView { + AgentSummaryView { + id: summary.id.as_str().to_owned(), + workspace_id: summary.workspace_id.as_str().to_owned(), + slug: summary.slug, + display_name: summary.display_name, + description: summary.description, + status: summary.status, + current_draft_version: summary.current_draft_version, + latest_published_version: summary.latest_published_version, + created_at: format_timestamp(summary.created_at), + updated_at: format_timestamp(summary.updated_at), + published_at: summary.published_at.map(format_timestamp), + operation_count: 0, + operation_ids: Vec::new(), + key_count: 0, + calls_today: 0, + mcp_endpoint: String::new(), + } +} + +fn agent_mcp_endpoint(workspace_slug: &str, agent_slug: &str) -> String { + format!("/mcp/v1/{workspace_slug}/{agent_slug}") +} + +fn validate_streaming_policy( + execution_config: &crank_core::ExecutionConfig, +) -> Result<(), ApiError> { + if execution_config.streaming.is_some() { + return Err(ApiError::validation_with_context( + "streaming execution is not supported in Community".to_owned(), + json!({ + "field": "execution_config.streaming", + "edition": "community", + }), + )); + } + + Ok(()) +} + +fn validate_response_cache_policy( + target: &Target, + execution_config: &crank_core::ExecutionConfig, +) -> Result<(), ApiError> { + let Some(ResponseCachePolicy { ttl_ms }) = execution_config.response_cache.as_ref() else { + return Ok(()); + }; + + if *ttl_ms == 0 { + return Err(ApiError::validation_with_context( + "response cache ttl must be greater than zero".to_owned(), + json!({ + "field": "execution_config.response_cache.ttl_ms", + }), + )); + } + + if execution_config.streaming.is_some() { + return Err(ApiError::validation_with_context( + "response cache is supported only for unary operations".to_owned(), + json!({ + "field": "execution_config.response_cache", + }), + )); + } + + match target { + Target::Rest(rest_target) if rest_target.method == crank_core::HttpMethod::Get => {} + _ => { + return Err(ApiError::validation_with_context( + "response cache is supported only for REST GET operations".to_owned(), + json!({ + "field": "execution_config.response_cache", + }), + )); + } + } + + if execution_config.auth_profile_ref.is_some() { + return Err(ApiError::validation_with_context( + "response cache is not supported for operations with auth_profile_ref".to_owned(), + json!({ + "field": "execution_config.auth_profile_ref", + }), + )); + } + + Ok(()) +} + +#[cfg(test)] +#[allow(clippy::items_after_test_module)] +mod tests { + use std::collections::BTreeMap; + + use crank_core::{ExecutionConfig, HttpMethod, ResponseCachePolicy, RestTarget, Target}; + + use super::validate_response_cache_policy; + + fn cacheable_execution_config() -> ExecutionConfig { + ExecutionConfig { + timeout_ms: 1_000, + retry_policy: None, + response_cache: Some(ResponseCachePolicy { ttl_ms: 5_000 }), + auth_profile_ref: None, + headers: BTreeMap::new(), + protocol_options: None, + streaming: None, + } + } + + #[test] + fn accepts_response_cache_for_rest_get() { + let target = Target::Rest(RestTarget { + base_url: "http://example.invalid".to_owned(), + method: HttpMethod::Get, + path_template: "/catalog".to_owned(), + static_headers: BTreeMap::new(), + }); + + let result = validate_response_cache_policy(&target, &cacheable_execution_config()); + + assert!(result.is_ok()); + } + + #[test] + fn rejects_response_cache_for_non_rest_target() { + let target = Target::Graphql(crank_core::GraphqlTarget { + endpoint: "http://example.invalid/graphql".to_owned(), + operation_type: crank_core::GraphqlOperationType::Query, + operation_name: "LookupLead".to_owned(), + query_template: + "query LookupLead($email: String!) { lookupLead(email: $email) { id } }".to_owned(), + response_path: "$.response.body.data.lookupLead".to_owned(), + }); + + let error = + validate_response_cache_policy(&target, &cacheable_execution_config()).unwrap_err(); + + assert!(matches!(error, crate::error::ApiError::Validation { .. })); + assert_eq!( + error.to_string(), + "response cache is supported only for REST GET operations" + ); + } +} + +fn enrich_operation_summary( + summary: OperationSummary, + usage_summary: OperationUsageSummaryView, + agent_refs: Vec, +) -> OperationSummaryView { + OperationSummaryView { + id: summary.id.as_str().to_owned(), + workspace_id: summary.workspace_id.as_str().to_owned(), + name: summary.name, + display_name: summary.display_name, + category: summary.category, + protocol: summary.protocol, + security_level: summary.security_level, + target_url: summary.target_url, + target_action: summary.target_action, + status: summary.status, + current_draft_version: summary.current_draft_version, + latest_published_version: summary.latest_published_version, + created_at: format_timestamp(summary.created_at), + updated_at: format_timestamp(summary.updated_at), + published_at: summary.published_at.map(format_timestamp), + usage_summary, + agent_refs, + } +} diff --git a/apps/admin-api/src/state.rs b/apps/admin-api/src/state.rs new file mode 100644 index 0000000..99b5165 --- /dev/null +++ b/apps/admin-api/src/state.rs @@ -0,0 +1,8 @@ +use crate::service::AdminService; +use crank_runtime::RequestRateLimiter; + +#[derive(Clone)] +pub struct AppState { + pub service: AdminService, + pub api_rate_limiter: RequestRateLimiter, +} diff --git a/apps/admin-api/src/storage.rs b/apps/admin-api/src/storage.rs new file mode 100644 index 0000000..0925947 --- /dev/null +++ b/apps/admin-api/src/storage.rs @@ -0,0 +1,84 @@ +use std::path::{Path, PathBuf}; + +use crank_core::{OperationId, SampleId}; +use crank_registry::SampleKind; +use serde_json::Value; +use thiserror::Error; +use tokio::fs; + +#[derive(Clone)] +pub struct LocalArtifactStorage { + root: PathBuf, +} + +#[derive(Debug, Error)] +pub enum StorageError { + #[error(transparent)] + Io(#[from] std::io::Error), + #[error(transparent)] + Serialization(#[from] serde_json::Error), + #[error("invalid storage reference: {details}")] + InvalidStorageRef { details: String }, +} + +impl LocalArtifactStorage { + pub fn new(root: PathBuf) -> Self { + Self { root } + } + + pub async fn write_json_sample( + &self, + operation_id: &OperationId, + version: u32, + sample_kind: SampleKind, + sample_id: &SampleId, + payload: &Value, + ) -> Result { + let file_name = match sample_kind { + SampleKind::InputJson => "input.json", + SampleKind::OutputJson => "output.json", + SampleKind::YamlImportSource => "source.json", + }; + let path = self + .root + .join("samples") + .join(operation_id.as_str()) + .join(format!("v{version}")) + .join(format!("{}_{}", sample_id.as_str(), file_name)); + + write_json_file(&path, payload).await?; + + Ok(to_storage_ref(&path)) + } + + pub async fn read_json(&self, storage_ref: &str) -> Result { + let path = from_storage_ref(storage_ref)?; + let bytes = fs::read(path).await?; + + Ok(serde_json::from_slice(&bytes)?) + } +} + +async fn write_json_file(path: &Path, payload: &Value) -> Result<(), StorageError> { + if let Some(parent) = path.parent() { + fs::create_dir_all(parent).await?; + } + + let bytes = serde_json::to_vec_pretty(payload)?; + fs::write(path, bytes).await?; + Ok(()) +} + +fn to_storage_ref(path: &Path) -> String { + format!("file://{}", path.display()) +} + +fn from_storage_ref(storage_ref: &str) -> Result { + let Some(path) = storage_ref.strip_prefix("file://") else { + return Err(StorageError::InvalidStorageRef { + details: storage_ref.to_owned(), + }); + }; + + Ok(PathBuf::from(path)) +} diff --git a/apps/mcp-server/Cargo.toml b/apps/mcp-server/Cargo.toml new file mode 100644 index 0000000..4885c23 --- /dev/null +++ b/apps/mcp-server/Cargo.toml @@ -0,0 +1,36 @@ +[package] +name = "mcp-server" +edition.workspace = true +license.workspace = true +rust-version.workspace = true +version.workspace = true + +[[bin]] +name = "mcp-server" +path = "src/main.rs" + +[dependencies] +async-trait = "0.1" +axum.workspace = true +base64.workspace = true +crank-community-mcp = { path = "../../crates/crank-community-mcp" } +crank-core = { path = "../../crates/crank-core" } +crank-registry = { path = "../../crates/crank-registry" } +crank-runtime = { path = "../../crates/crank-runtime" } +crank-schema = { path = "../../crates/crank-schema" } +futures-util = "0.3" +serde.workspace = true +serde_json.workspace = true +sha2.workspace = true +sqlx.workspace = true +thiserror.workspace = true +time.workspace = true +tokio = { workspace = true, features = ["sync"] } +tracing.workspace = true +tracing-subscriber.workspace = true +uuid.workspace = true + +[dev-dependencies] +crank-mapping = { path = "../../crates/crank-mapping" } +crank-schema = { path = "../../crates/crank-schema" } +reqwest.workspace = true diff --git a/apps/mcp-server/Dockerfile b/apps/mcp-server/Dockerfile new file mode 100644 index 0000000..7db7650 --- /dev/null +++ b/apps/mcp-server/Dockerfile @@ -0,0 +1,68 @@ +FROM rust:1.85-bookworm AS deps + +WORKDIR /app + +COPY Cargo.toml Cargo.lock ./ +COPY .sqlx ./.sqlx +COPY apps/admin-api/Cargo.toml apps/admin-api/Cargo.toml +COPY apps/mcp-server/Cargo.toml apps/mcp-server/Cargo.toml +COPY crates/crank-core/Cargo.toml crates/crank-core/Cargo.toml +COPY crates/crank-schema/Cargo.toml crates/crank-schema/Cargo.toml +COPY crates/crank-mapping/Cargo.toml crates/crank-mapping/Cargo.toml +COPY crates/crank-registry/Cargo.toml crates/crank-registry/Cargo.toml +COPY crates/crank-runtime/Cargo.toml crates/crank-runtime/Cargo.toml +COPY crates/crank-adapter-rest/Cargo.toml crates/crank-adapter-rest/Cargo.toml + +RUN mkdir -p \ + apps/admin-api/src \ + apps/mcp-server/src \ + crates/crank-core/src \ + crates/crank-schema/src \ + crates/crank-mapping/src \ + crates/crank-registry/src \ + crates/crank-runtime/src \ + crates/crank-adapter-rest/src \ + && printf 'fn main() {}\n' > apps/admin-api/src/main.rs \ + && printf 'fn main() {}\n' > apps/mcp-server/src/main.rs \ + && printf 'pub fn placeholder() {}\n' > crates/crank-core/src/lib.rs \ + && printf 'pub fn placeholder() {}\n' > crates/crank-schema/src/lib.rs \ + && printf 'pub fn placeholder() {}\n' > crates/crank-mapping/src/lib.rs \ + && printf 'pub fn placeholder() {}\n' > crates/crank-registry/src/lib.rs \ + && printf 'pub fn placeholder() {}\n' > crates/crank-runtime/src/lib.rs \ + && printf 'pub fn placeholder() {}\n' > crates/crank-adapter-rest/src/lib.rs + +RUN --mount=type=cache,target=/usr/local/cargo/registry \ + --mount=type=cache,target=/usr/local/cargo/git/db \ + --mount=type=cache,target=/app/target \ + SQLX_OFFLINE=true cargo build --release -p mcp-server + +FROM rust:1.85-bookworm AS builder + +WORKDIR /app + +COPY Cargo.toml Cargo.lock ./ +COPY .sqlx ./.sqlx +COPY apps ./apps +COPY crates ./crates + +RUN --mount=type=cache,target=/usr/local/cargo/registry \ + --mount=type=cache,target=/usr/local/cargo/git/db \ + --mount=type=cache,target=/app/target \ + SQLX_OFFLINE=true cargo build --release -p mcp-server \ + && cp /app/target/release/mcp-server /tmp/mcp-server + +FROM debian:bookworm-slim + +RUN apt-get update \ + && apt-get install -y --no-install-recommends ca-certificates curl \ + && rm -rf /var/lib/apt/lists/* + +WORKDIR /app + +COPY --from=builder /tmp/mcp-server /usr/local/bin/mcp-server + +ENV CRANK_MCP_BIND=0.0.0.0:3002 + +EXPOSE 3002 + +CMD ["mcp-server"] diff --git a/apps/mcp-server/src/main.rs b/apps/mcp-server/src/main.rs new file mode 100644 index 0000000..3d33054 --- /dev/null +++ b/apps/mcp-server/src/main.rs @@ -0,0 +1,3507 @@ +use std::{env, net::SocketAddr, time::Duration}; + +use crank_community_mcp::{ + auth::CommunityMachineCredentialVerifier, build_app, session::PostgresTransportSessionStore, +}; +use crank_registry::{PostgresPoolConfig, PostgresRegistry}; +use crank_runtime::{ + RequestRateLimitConfig, RequestRateLimiter, RuntimeCacheConfig, RuntimeCacheStores, + RuntimeLimits, SecretCrypto, community_default, +}; +use sqlx::postgres::PgConnectOptions; +use tokio::net::TcpListener; +use tracing::info; + +#[tokio::main] +async fn main() -> Result<(), Box> { + tracing_subscriber::fmt() + .with_env_filter( + env::var("CRANK_LOG_LEVEL") + .unwrap_or_else(|_| "mcp_server=info,tower_http=info".into()), + ) + .init(); + + let bind_addr = env::var("CRANK_MCP_BIND").unwrap_or_else(|_| "0.0.0.0:3002".into()); + let base_url = env::var("CRANK_BASE_URL").ok(); + let refresh_interval = env::var("CRANK_MCP_REFRESH_MS") + .ok() + .and_then(|value| value.parse::().ok()) + .map(Duration::from_millis) + .unwrap_or_else(|| Duration::from_secs(5)); + let socket_addr: SocketAddr = bind_addr.parse()?; + let pool_config = PostgresPoolConfig::from_env()?; + let runtime_limits = RuntimeLimits::from_env()?; + let cache_config = RuntimeCacheConfig::from_env()?; + let cache_stores = RuntimeCacheStores::from_config(&cache_config).await?; + let api_rate_limit = mcp_api_rate_limit_config_from_env()?; + let database_options = database_options_from_env()?; + let registry = PostgresRegistry::connect_with_options_and_pool_config( + database_options.clone(), + pool_config, + ) + .await?; + let session_store = PostgresTransportSessionStore::connect_with_options_and_pool_config( + database_options, + pool_config, + ) + .await?; + let secret_crypto = SecretCrypto::new(&env::var("CRANK_MASTER_KEY")?)?; + let runtime = community_default() + .with_limits(runtime_limits) + .with_response_cache(cache_stores.response.clone()) + .build(); + let app = build_app( + registry, + refresh_interval, + base_url, + secret_crypto, + runtime, + if cache_config.backend.is_external() { + RequestRateLimiter::new_shared(api_rate_limit, cache_stores.rate_limit.clone()) + } else { + RequestRateLimiter::new(api_rate_limit) + }, + cache_stores.coordination.clone(), + std::sync::Arc::new(session_store), + std::sync::Arc::new(CommunityMachineCredentialVerifier), + ); + let listener = TcpListener::bind(socket_addr).await?; + + info!( + runtime_max_concurrent_unary = runtime_limits.max_concurrent_unary, + runtime_max_concurrent_window = runtime_limits.max_concurrent_window, + runtime_max_concurrent_sessions = runtime_limits.max_concurrent_sessions, + runtime_max_concurrent_jobs = runtime_limits.max_concurrent_jobs, + mcp_rate_limit_rps = api_rate_limit.requests_per_second, + mcp_rate_limit_burst = api_rate_limit.burst, + cache_backend = %cache_config.backend, + max_connections = pool_config.max_connections, + min_connections = pool_config.min_connections, + acquire_timeout_ms = pool_config.acquire_timeout_ms, + idle_timeout_ms = pool_config.idle_timeout_ms, + max_lifetime_ms = pool_config.max_lifetime_ms, + "postgres pool configured" + ); + info!("mcp-server listening on {}", socket_addr); + + axum::serve(listener, app).await?; + + Ok(()) +} + +fn database_options_from_env() -> Result> { + if let Ok(database_url) = env::var("CRANK_DATABASE_URL") { + return Ok(database_url.parse::()?); + } + + let host = env::var("POSTGRES_HOST").unwrap_or_else(|_| "postgres".into()); + let port = env::var("POSTGRES_PORT") + .ok() + .and_then(|value| value.parse::().ok()) + .unwrap_or(5432); + let database = env::var("POSTGRES_DB").unwrap_or_else(|_| "crank".into()); + let username = env::var("POSTGRES_USER").unwrap_or_else(|_| "crank".into()); + let password = env::var("POSTGRES_PASSWORD").unwrap_or_else(|_| "crank".into()); + + Ok(PgConnectOptions::new() + .host(&host) + .port(port) + .database(&database) + .username(&username) + .password(&password)) +} + +fn mcp_api_rate_limit_config_from_env() -> Result> +{ + let requests_per_second = env::var("CRANK_MCP_RATE_LIMIT_RPS") + .ok() + .and_then(|value| value.parse::().ok()) + .unwrap_or(60); + let burst = env::var("CRANK_MCP_RATE_LIMIT_BURST") + .ok() + .and_then(|value| value.parse::().ok()) + .unwrap_or(120); + + Ok(RequestRateLimitConfig::new(requests_per_second, burst)?) +} + +#[cfg(test)] +mod tests { + use std::{ + collections::BTreeMap, + env, io, + sync::{Arc, Mutex}, + time::Duration, + }; + + use axum::{ + Json, Router, + http::header, + response::sse::{Event, KeepAlive, Sse}, + routing::{get, post}, + }; + use base64::{Engine as _, engine::general_purpose::URL_SAFE_NO_PAD}; + #[cfg(any())] + use crank_adapter_grpc::test_support as grpc_test_support; + use crank_core::{ + Agent, AgentId, AgentOperationBinding, AgentStatus, AgentVersion, ExecutionConfig, + HttpMethod, Operation, OperationId, OperationStatus, PlatformApiKey, PlatformApiKeyId, + PlatformApiKeyScope, PlatformApiKeyStatus, Protocol, RestTarget, Target, ToolDescription, + WorkspaceId, + }; + #[cfg(any())] + use crank_core::{ + AggregationMode, AsyncJobHandle, AsyncJobId, DescriptorId, ExecutionMode, + GraphqlOperationType, GraphqlTarget, GrpcTarget, JobStatus, StreamingConfig, + ToolFamilyConfig, TransportBehavior, + }; + use crank_mapping::{MappingRule, MappingSet}; + #[cfg(any())] + use crank_registry::CreateAsyncJobRequest; + use crank_registry::{ + CreateAgentRequest, CreatePlatformApiKeyRequest, ListInvocationLogsQuery, PostgresRegistry, + PublishAgentRequest, PublishRequest, SaveAgentBindingsRequest, + }; + use crank_runtime::{ + InMemoryCoordinationStateStore, RequestRateLimitConfig, RequestRateLimiter, + RuntimeExecutor, SecretCrypto, + }; + use crank_schema::{Schema, SchemaKind}; + use futures_util::stream; + use serde_json::{Value, json}; + use sha2::{Digest, Sha256}; + use sqlx::{Executor, postgres::PgPoolOptions}; + use time::{OffsetDateTime, format_description::well_known::Rfc3339}; + use tokio::net::TcpListener; + use tokio::time::sleep; + use tracing_subscriber::{filter::LevelFilter, fmt::MakeWriter, prelude::*}; + + use crank_community_mcp::{ + auth::{ + CommunityMachineCredentialVerifier, MachineCredentialVerifier, + MachineCredentialVerifierError, SharedMachineCredentialVerifier, + VerifiedMachineCredential, + }, + build_app, + catalog::PublishedToolCatalog, + session::{InMemorySessionStore, SharedSessionStore, TransportSessionStore}, + }; + + fn test_workspace_id() -> WorkspaceId { + WorkspaceId::new("ws_default") + } + + #[derive(Clone, Default)] + struct SharedLogWriter { + buffer: Arc>>, + } + + impl SharedLogWriter { + fn output(&self) -> String { + String::from_utf8(self.buffer.lock().unwrap().clone()).unwrap() + } + } + + impl<'a> MakeWriter<'a> for SharedLogWriter { + type Writer = SharedLogGuard; + + fn make_writer(&'a self) -> Self::Writer { + SharedLogGuard { + buffer: Arc::clone(&self.buffer), + } + } + } + + struct SharedLogGuard { + buffer: Arc>>, + } + + impl io::Write for SharedLogGuard { + fn write(&mut self, bytes: &[u8]) -> io::Result { + self.buffer.lock().unwrap().extend_from_slice(bytes); + Ok(bytes.len()) + } + + fn flush(&mut self) -> io::Result<()> { + Ok(()) + } + } + + fn test_workspace_slug() -> &'static str { + "default" + } + + fn test_agent_id(agent_slug: &str) -> AgentId { + AgentId::new(format!("agent_{agent_slug}")) + } + + fn build_test_app( + registry: PostgresRegistry, + refresh_interval: Duration, + public_base_url: Option, + ) -> axum::Router { + build_test_app_with_rate_limit( + registry, + refresh_interval, + public_base_url, + RequestRateLimitConfig::new(10_000, 10_000).unwrap(), + ) + } + + fn build_test_app_with_rate_limit( + registry: PostgresRegistry, + refresh_interval: Duration, + public_base_url: Option, + rate_limit_config: RequestRateLimitConfig, + ) -> axum::Router { + build_test_app_with_store( + registry, + refresh_interval, + public_base_url, + rate_limit_config, + std::sync::Arc::new(InMemorySessionStore::default()), + std::sync::Arc::new(CommunityMachineCredentialVerifier), + ) + } + + fn build_test_app_with_store( + registry: PostgresRegistry, + refresh_interval: Duration, + public_base_url: Option, + rate_limit_config: RequestRateLimitConfig, + sessions: SharedSessionStore, + credential_verifier: SharedMachineCredentialVerifier, + ) -> axum::Router { + build_app( + registry, + refresh_interval, + public_base_url, + SecretCrypto::new("test-master-key").unwrap(), + RuntimeExecutor::new(), + RequestRateLimiter::new(rate_limit_config), + std::sync::Arc::new(InMemoryCoordinationStateStore::default()), + sessions, + credential_verifier, + ) + } + + #[derive(Clone)] + struct StubMachineCredentialVerifier { + token: String, + credential: VerifiedMachineCredential, + } + + #[async_trait::async_trait] + impl MachineCredentialVerifier for StubMachineCredentialVerifier { + async fn verify_bearer_token( + &self, + _workspace_slug: &str, + _agent_slug: &str, + token: &str, + ) -> Result, MachineCredentialVerifierError> { + if token == self.token { + return Ok(Some(self.credential.clone())); + } + + Ok(None) + } + } + + #[tokio::test] + async fn initializes_lists_and_calls_published_tool_via_mcp() { + let registry = test_registry().await; + let upstream_base_url = spawn_upstream_server().await; + let operation = test_operation(&upstream_base_url, "crm_create_lead"); + + registry + .create_operation(&test_workspace_id(), &operation, Some("alice")) + .await + .unwrap(); + registry + .publish_operation(PublishRequest { + workspace_id: &test_workspace_id(), + operation_id: &operation.id, + version: 1, + published_at: &OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_by: Some("alice"), + }) + .await + .unwrap(); + publish_agent_for_operation(®istry, &operation, "sales-rest").await; + let api_key = create_platform_api_key( + ®istry, + "sales-rest", + "mcp-rest", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + + let base_url = spawn_mcp_server(build_test_app( + registry.clone(), + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let mcp_url = agent_mcp_url(&base_url, "sales-rest"); + let initialized_session = initialize_session(&client, &mcp_url, &api_key).await; + + let tools = post_jsonrpc( + &client, + &mcp_url, + &api_key, + Some(&initialized_session), + json!({ + "jsonrpc": "2.0", + "id": 2, + "method": "tools/list", + "params": {} + }), + ) + .await; + let call_result = post_jsonrpc( + &client, + &mcp_url, + &api_key, + Some(&initialized_session), + json!({ + "jsonrpc": "2.0", + "id": 3, + "method": "tools/call", + "params": { + "name": "crm_create_lead", + "arguments": { + "email": "user@example.com" + } + } + }), + ) + .await; + + assert_eq!(tools["result"]["tools"][0]["name"], "crm_create_lead"); + assert_eq!( + call_result["result"]["structuredContent"], + json!({ "id": "lead_123" }) + ); + assert_eq!(call_result["result"]["isError"], false); + + let logs = registry + .list_invocation_logs(ListInvocationLogsQuery { + workspace_id: &test_workspace_id(), + level: None, + search_text: None, + source: Some(crank_core::InvocationSource::AgentToolCall), + operation_id: Some(&operation.id), + agent_id: None, + created_after: None, + limit: 10, + }) + .await + .unwrap(); + + assert_eq!(logs.len(), 1); + assert_eq!( + logs[0].log.source, + crank_core::InvocationSource::AgentToolCall + ); + assert_eq!(logs[0].log.status, crank_core::InvocationStatus::Ok); + assert_eq!(logs[0].log.tool_name, "crm_create_lead"); + + let keys = registry + .list_platform_api_keys(&test_workspace_id()) + .await + .unwrap(); + assert!(keys[0].api_key.last_used_at.is_some()); + } + + #[tokio::test] + async fn preserves_request_id_for_tool_call_invocations() { + let registry = test_registry().await; + let upstream_base_url = spawn_upstream_server().await; + let operation = test_operation(&upstream_base_url, "crm_request_id"); + + registry + .create_operation(&test_workspace_id(), &operation, Some("alice")) + .await + .unwrap(); + registry + .publish_operation(PublishRequest { + workspace_id: &test_workspace_id(), + operation_id: &operation.id, + version: 1, + published_at: &OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_by: Some("alice"), + }) + .await + .unwrap(); + publish_agent_for_operation(®istry, &operation, "sales-request-id").await; + let api_key = create_platform_api_key( + ®istry, + "sales-request-id", + "mcp-request-id", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + + let base_url = spawn_mcp_server(build_test_app( + registry.clone(), + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let mcp_url = agent_mcp_url(&base_url, "sales-request-id"); + let initialized_session = initialize_session(&client, &mcp_url, &api_key).await; + + let response = post_jsonrpc_response( + &client, + &mcp_url, + &api_key, + Some(&initialized_session), + Some("req_test_123"), + json!({ + "jsonrpc": "2.0", + "id": 3, + "method": "tools/call", + "params": { + "name": "crm_request_id", + "arguments": { + "email": "user@example.com" + } + } + }), + ) + .await; + + assert_eq!( + response.headers()["x-request-id"].to_str().unwrap(), + "req_test_123" + ); + let call_result = response.json::().await.unwrap(); + assert_eq!(call_result["result"]["isError"], false); + + let logs = registry + .list_invocation_logs(ListInvocationLogsQuery { + workspace_id: &test_workspace_id(), + level: None, + search_text: None, + source: Some(crank_core::InvocationSource::AgentToolCall), + operation_id: Some(&operation.id), + agent_id: None, + created_after: None, + limit: 10, + }) + .await + .unwrap(); + + assert_eq!(logs.len(), 1); + assert_eq!(logs[0].log.request_id.as_deref(), Some("req_test_123")); + } + + #[tokio::test] + async fn generates_request_id_for_tool_call_responses_and_logs() { + let registry = test_registry().await; + let upstream_base_url = spawn_upstream_server().await; + let operation = test_operation(&upstream_base_url, "crm_generated_request_id"); + + registry + .create_operation(&test_workspace_id(), &operation, Some("alice")) + .await + .unwrap(); + registry + .publish_operation(PublishRequest { + workspace_id: &test_workspace_id(), + operation_id: &operation.id, + version: 1, + published_at: &OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_by: Some("alice"), + }) + .await + .unwrap(); + publish_agent_for_operation(®istry, &operation, "sales-generated-request-id").await; + let api_key = create_platform_api_key( + ®istry, + "sales-generated-request-id", + "mcp-generated-request-id", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + + let base_url = spawn_mcp_server(build_test_app( + registry.clone(), + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let mcp_url = agent_mcp_url(&base_url, "sales-generated-request-id"); + let initialized_session = initialize_session(&client, &mcp_url, &api_key).await; + + let response = post_jsonrpc_response( + &client, + &mcp_url, + &api_key, + Some(&initialized_session), + None, + json!({ + "jsonrpc": "2.0", + "id": 3, + "method": "tools/call", + "params": { + "name": "crm_generated_request_id", + "arguments": { + "email": "user@example.com" + } + } + }), + ) + .await; + let request_id = response + .headers() + .get("x-request-id") + .unwrap() + .to_str() + .unwrap() + .to_owned(); + assert!(!request_id.is_empty()); + + let call_result = response.json::().await.unwrap(); + assert_eq!(call_result["result"]["isError"], false); + + let logs = registry + .list_invocation_logs(ListInvocationLogsQuery { + workspace_id: &test_workspace_id(), + level: None, + search_text: None, + source: Some(crank_core::InvocationSource::AgentToolCall), + operation_id: Some(&operation.id), + agent_id: None, + created_after: None, + limit: 10, + }) + .await + .unwrap(); + + assert_eq!(logs.len(), 1); + assert_eq!(logs[0].log.request_id.as_deref(), Some(request_id.as_str())); + } + + #[tokio::test] + async fn emits_request_id_in_mcp_ingress_logs() { + let registry = test_registry().await; + let upstream_base_url = spawn_upstream_server().await; + let operation = test_operation(&upstream_base_url, "crm_request_trace"); + + registry + .create_operation(&test_workspace_id(), &operation, Some("alice")) + .await + .unwrap(); + registry + .publish_operation(PublishRequest { + workspace_id: &test_workspace_id(), + operation_id: &operation.id, + version: 1, + published_at: &OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_by: Some("alice"), + }) + .await + .unwrap(); + publish_agent_for_operation(®istry, &operation, "sales-request-trace").await; + let api_key = create_platform_api_key( + ®istry, + "sales-request-trace", + "mcp-request-trace", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + + let base_url = spawn_mcp_server(build_test_app( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let mcp_url = agent_mcp_url(&base_url, "sales-request-trace"); + let writer = SharedLogWriter::default(); + let subscriber = tracing_subscriber::registry().with( + tracing_subscriber::fmt::layer() + .with_writer(writer.clone()) + .without_time() + .with_ansi(false) + .with_target(false) + .compact() + .with_filter(LevelFilter::INFO), + ); + let dispatch = tracing::Dispatch::new(subscriber); + + let _guard = tracing::dispatcher::set_default(&dispatch); + let response = post_jsonrpc_response( + &client, + &mcp_url, + &api_key, + None, + Some("req_mcp_trace_123"), + json!({ + "jsonrpc": "2.0", + "id": 1, + "method": "initialize", + "params": { + "protocolVersion": "2025-03-26" + } + }), + ) + .await; + + assert_eq!( + response.headers()["x-request-id"].to_str().unwrap(), + "req_mcp_trace_123" + ); + assert_eq!(response.status(), reqwest::StatusCode::OK); + + let logs = writer.output(); + assert!(logs.contains("mcp request received")); + assert!(logs.contains("req_mcp_trace_123")); + assert!(logs.contains("sales-request-trace")); + assert!(logs.contains("default")); + assert!(logs.contains("initialize")); + } + + #[cfg(any())] + #[tokio::test] + async fn initializes_and_calls_published_graphql_tool_via_mcp() { + let registry = test_registry().await; + let endpoint = spawn_graphql_server().await; + let operation = test_graphql_operation(&endpoint, "crm_create_lead_graphql"); + + registry + .create_operation(&test_workspace_id(), &operation, Some("alice")) + .await + .unwrap(); + registry + .publish_operation(PublishRequest { + workspace_id: &test_workspace_id(), + operation_id: &operation.id, + version: 1, + published_at: &OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_by: Some("alice"), + }) + .await + .unwrap(); + publish_agent_for_operation(®istry, &operation, "sales-graphql").await; + let api_key = create_platform_api_key( + ®istry, + "sales-graphql", + "mcp-graphql", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + + let base_url = spawn_mcp_server(build_test_app( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let mcp_url = agent_mcp_url(&base_url, "sales-graphql"); + let initialized_session = initialize_session(&client, &mcp_url, &api_key).await; + + let call_result = post_jsonrpc( + &client, + &mcp_url, + &api_key, + Some(&initialized_session), + json!({ + "jsonrpc": "2.0", + "id": 3, + "method": "tools/call", + "params": { + "name": "crm_create_lead_graphql", + "arguments": { + "email": "user@example.com" + } + } + }), + ) + .await; + + assert_eq!( + call_result["result"]["structuredContent"], + json!({ "id": "lead_123" }) + ); + assert_eq!(call_result["result"]["isError"], false); + } + + #[cfg(any())] + #[tokio::test] + async fn initializes_and_calls_published_grpc_tool_via_mcp() { + let registry = test_registry().await; + let server_addr = grpc_test_support::spawn_unary_echo_server().await; + let operation = test_grpc_operation(&server_addr, "echo_unary_grpc"); + + registry + .create_operation(&test_workspace_id(), &operation, Some("alice")) + .await + .unwrap(); + registry + .publish_operation(PublishRequest { + workspace_id: &test_workspace_id(), + operation_id: &operation.id, + version: 1, + published_at: &OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_by: Some("alice"), + }) + .await + .unwrap(); + publish_agent_for_operation(®istry, &operation, "sales-grpc").await; + let api_key = create_platform_api_key( + ®istry, + "sales-grpc", + "mcp-grpc", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + + let base_url = spawn_mcp_server(build_test_app( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let mcp_url = agent_mcp_url(&base_url, "sales-grpc"); + let initialized_session = initialize_session(&client, &mcp_url, &api_key).await; + + let call_result = post_jsonrpc( + &client, + &mcp_url, + &api_key, + Some(&initialized_session), + json!({ + "jsonrpc": "2.0", + "id": 3, + "method": "tools/call", + "params": { + "name": "echo_unary_grpc", + "arguments": { + "message": "hello" + } + } + }), + ) + .await; + + assert_eq!( + call_result["result"]["structuredContent"], + json!({ "message": "hello" }) + ); + assert_eq!(call_result["result"]["isError"], false); + } + + #[tokio::test] + async fn requires_initialized_notification_before_tool_methods() { + let registry = test_registry().await; + publish_agent_with_bindings(®istry, "sales-init", vec![]).await; + let api_key = create_platform_api_key( + ®istry, + "sales-init", + "mcp-init", + &[PlatformApiKeyScope::Read], + ) + .await; + let base_url = spawn_mcp_server(build_test_app( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let mcp_url = agent_mcp_url(&base_url, "sales-init"); + let initialize_response = client + .post(&mcp_url) + .header(header::ACCEPT, "application/json, text/event-stream") + .header(header::AUTHORIZATION, format!("Bearer {api_key}")) + .json(&json!({ + "jsonrpc": "2.0", + "id": 1, + "method": "initialize", + "params": { + "protocolVersion": "2025-11-25" + } + })) + .send() + .await + .unwrap(); + let session_id = initialize_response + .headers() + .get("MCP-Session-Id") + .unwrap() + .to_str() + .unwrap() + .to_owned(); + let tools_list = client + .post(&mcp_url) + .header(header::ACCEPT, "application/json, text/event-stream") + .header(header::AUTHORIZATION, format!("Bearer {api_key}")) + .header("MCP-Session-Id", session_id) + .header("MCP-Protocol-Version", "2025-11-25") + .json(&json!({ + "jsonrpc": "2.0", + "id": 2, + "method": "tools/list", + "params": {} + })) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + + assert_eq!(tools_list["error"]["code"], -32002); + } + + #[tokio::test] + async fn initialize_can_return_sse_response_when_client_prefers_event_stream() { + let registry = test_registry().await; + publish_agent_with_bindings(®istry, "sales-sse-init", vec![]).await; + let api_key = create_platform_api_key( + ®istry, + "sales-sse-init", + "mcp-sse-init", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + let base_url = spawn_mcp_server(build_test_app( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let response = client + .post(agent_mcp_url(&base_url, "sales-sse-init")) + .header(header::ACCEPT, "text/event-stream, application/json") + .header(header::AUTHORIZATION, format!("Bearer {api_key}")) + .json(&json!({ + "jsonrpc": "2.0", + "id": 1, + "method": "initialize", + "params": { + "protocolVersion": "2025-11-25" + } + })) + .send() + .await + .unwrap(); + + assert_eq!(response.status(), reqwest::StatusCode::OK); + assert_eq!( + response + .headers() + .get(header::CONTENT_TYPE) + .unwrap() + .to_str() + .unwrap(), + "text/event-stream" + ); + assert!(response.headers().get("MCP-Session-Id").is_some()); + + let body = response.text().await.unwrap(); + assert!(body.contains("\"jsonrpc\":\"2.0\"")); + assert!(body.contains("\"protocolVersion\":\"2025-11-25\"")); + } + + #[tokio::test] + async fn get_opens_sse_stream_for_initialized_session() { + let registry = test_registry().await; + publish_agent_with_bindings(®istry, "sales-get-sse", vec![]).await; + let api_key = create_platform_api_key( + ®istry, + "sales-get-sse", + "mcp-get-sse", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + let base_url = spawn_mcp_server(build_test_app( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let mcp_url = agent_mcp_url(&base_url, "sales-get-sse"); + let initialized_session = initialize_session(&client, &mcp_url, &api_key).await; + + let response = client + .get(&mcp_url) + .header(header::ACCEPT, "text/event-stream") + .header(header::AUTHORIZATION, format!("Bearer {api_key}")) + .header("MCP-Session-Id", &initialized_session) + .header("MCP-Protocol-Version", "2025-11-25") + .send() + .await + .unwrap(); + + assert_eq!(response.status(), reqwest::StatusCode::OK); + assert_eq!( + response + .headers() + .get(header::CONTENT_TYPE) + .unwrap() + .to_str() + .unwrap(), + "text/event-stream" + ); + assert_eq!( + response + .headers() + .get("MCP-Session-Id") + .unwrap() + .to_str() + .unwrap(), + initialized_session + ); + } + + #[tokio::test] + async fn get_returns_not_found_for_expired_transport_session() { + let registry = test_registry().await; + publish_agent_with_bindings(®istry, "sales-expired-session", vec![]).await; + let api_key = create_platform_api_key( + ®istry, + "sales-expired-session", + "mcp-expired-session", + &[PlatformApiKeyScope::Read], + ) + .await; + let session_store = Arc::new(InMemorySessionStore::default()); + let session_id = session_store + .create( + "2025-11-25", + test_workspace_slug(), + "sales-expired-session", + OffsetDateTime::parse("2026-05-01T10:00:00Z", &Rfc3339).unwrap(), + Some(OffsetDateTime::parse("2026-05-01T10:00:01Z", &Rfc3339).unwrap()), + ) + .await + .unwrap(); + session_store + .mark_initialized( + &session_id, + OffsetDateTime::parse("2026-05-01T10:00:01Z", &Rfc3339).unwrap(), + ) + .await + .unwrap(); + let base_url = spawn_mcp_server(build_test_app_with_store( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + RequestRateLimitConfig::new(10_000, 10_000).unwrap(), + session_store, + std::sync::Arc::new(CommunityMachineCredentialVerifier), + )) + .await; + let client = reqwest::Client::new(); + + let response = client + .get(agent_mcp_url(&base_url, "sales-expired-session")) + .header(header::ACCEPT, "text/event-stream") + .header(header::AUTHORIZATION, format!("Bearer {api_key}")) + .header("MCP-Session-Id", &session_id) + .header("MCP-Protocol-Version", "2025-11-25") + .send() + .await + .unwrap(); + + assert_eq!(response.status(), reqwest::StatusCode::NOT_FOUND); + } + + #[tokio::test] + async fn rejects_rapid_transport_get_requests_with_429() { + let registry = test_registry().await; + publish_agent_with_bindings(®istry, "sales-get-rate-limit", vec![]).await; + let api_key = create_platform_api_key( + ®istry, + "sales-get-rate-limit", + "mcp-get-rate-limit", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + let base_url = spawn_mcp_server(build_test_app_with_rate_limit( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + RequestRateLimitConfig::new(1, 2).unwrap(), + )) + .await; + let client = reqwest::Client::new(); + let mcp_url = agent_mcp_url(&base_url, "sales-get-rate-limit"); + let initialized_session = initialize_session(&client, &mcp_url, &api_key).await; + + let first_response = client + .get(&mcp_url) + .header(header::ACCEPT, "text/event-stream") + .header(header::AUTHORIZATION, format!("Bearer {api_key}")) + .header("MCP-Session-Id", &initialized_session) + .header("MCP-Protocol-Version", "2025-11-25") + .send() + .await + .unwrap(); + assert_eq!(first_response.status(), reqwest::StatusCode::OK); + + let second_response = client + .get(&mcp_url) + .header(header::ACCEPT, "text/event-stream") + .header(header::AUTHORIZATION, format!("Bearer {api_key}")) + .header("MCP-Session-Id", &initialized_session) + .header("MCP-Protocol-Version", "2025-11-25") + .send() + .await + .unwrap(); + + assert_eq!( + second_response.status(), + reqwest::StatusCode::TOO_MANY_REQUESTS + ); + assert!(second_response.headers().get(header::RETRY_AFTER).is_some()); + } + + #[tokio::test] + async fn get_requires_session_header() { + let registry = test_registry().await; + publish_agent_with_bindings(®istry, "sales-get-sse-missing", vec![]).await; + let api_key = create_platform_api_key( + ®istry, + "sales-get-sse-missing", + "mcp-get-sse-missing", + &[PlatformApiKeyScope::Read], + ) + .await; + let base_url = spawn_mcp_server(build_test_app( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + + let response = client + .get(agent_mcp_url(&base_url, "sales-get-sse-missing")) + .header(header::ACCEPT, "text/event-stream") + .header(header::AUTHORIZATION, format!("Bearer {api_key}")) + .send() + .await + .unwrap(); + + assert_eq!(response.status(), reqwest::StatusCode::BAD_REQUEST); + } + + #[tokio::test] + async fn delete_terminates_transport_session() { + let registry = test_registry().await; + publish_agent_with_bindings(®istry, "sales-delete-session", vec![]).await; + let api_key = create_platform_api_key( + ®istry, + "sales-delete-session", + "mcp-delete-session", + &[PlatformApiKeyScope::Read], + ) + .await; + let base_url = spawn_mcp_server(build_test_app( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let mcp_url = agent_mcp_url(&base_url, "sales-delete-session"); + let initialized_session = initialize_session(&client, &mcp_url, &api_key).await; + + let delete_response = client + .delete(&mcp_url) + .header(header::AUTHORIZATION, format!("Bearer {api_key}")) + .header("MCP-Session-Id", &initialized_session) + .header("MCP-Protocol-Version", "2025-11-25") + .send() + .await + .unwrap(); + + assert_eq!(delete_response.status(), reqwest::StatusCode::NO_CONTENT); + + let after_delete = client + .get(&mcp_url) + .header(header::ACCEPT, "text/event-stream") + .header(header::AUTHORIZATION, format!("Bearer {api_key}")) + .header("MCP-Session-Id", &initialized_session) + .header("MCP-Protocol-Version", "2025-11-25") + .send() + .await + .unwrap(); + + assert_eq!(after_delete.status(), reqwest::StatusCode::NOT_FOUND); + } + + #[tokio::test] + async fn initialize_accepts_json_only_response_negotiation() { + let registry = test_registry().await; + publish_agent_with_bindings(®istry, "sales-json-accept", vec![]).await; + let api_key = create_platform_api_key( + ®istry, + "sales-json-accept", + "mcp-json-accept", + &[PlatformApiKeyScope::Read], + ) + .await; + let base_url = spawn_mcp_server(build_test_app( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let response = client + .post(agent_mcp_url(&base_url, "sales-json-accept")) + .header(header::ACCEPT, "application/json") + .header(header::AUTHORIZATION, format!("Bearer {api_key}")) + .json(&json!({ + "jsonrpc": "2.0", + "id": 1, + "method": "initialize", + "params": { + "protocolVersion": "2025-11-25" + } + })) + .send() + .await + .unwrap(); + + assert_eq!(response.status(), reqwest::StatusCode::OK); + assert_eq!( + response + .headers() + .get(header::CONTENT_TYPE) + .and_then(|value| value.to_str().ok()) + .unwrap(), + "application/json" + ); + } + + #[tokio::test] + async fn rejects_get_with_protocol_version_mismatch() { + let registry = test_registry().await; + publish_agent_with_bindings(®istry, "sales-get-bad-version", vec![]).await; + let api_key = create_platform_api_key( + ®istry, + "sales-get-bad-version", + "mcp-get-bad-version", + &[PlatformApiKeyScope::Read], + ) + .await; + let base_url = spawn_mcp_server(build_test_app( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let mcp_url = agent_mcp_url(&base_url, "sales-get-bad-version"); + let initialized_session = initialize_session(&client, &mcp_url, &api_key).await; + + let response = client + .get(&mcp_url) + .header(header::ACCEPT, "text/event-stream") + .header(header::AUTHORIZATION, format!("Bearer {api_key}")) + .header("MCP-Session-Id", &initialized_session) + .header("MCP-Protocol-Version", "2025-06-18") + .send() + .await + .unwrap(); + + assert_eq!(response.status(), reqwest::StatusCode::BAD_REQUEST); + } + + #[tokio::test] + async fn refreshes_published_tools_without_restart() { + let registry = test_registry().await; + let upstream_base_url = spawn_upstream_server().await; + let base_url = spawn_mcp_server(build_test_app( + registry.clone(), + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let mcp_url = agent_mcp_url(&base_url, "sales-refresh"); + publish_agent_with_bindings(®istry, "sales-refresh", vec![]).await; + let api_key = create_platform_api_key( + ®istry, + "sales-refresh", + "mcp-refresh", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + let initialized_session = initialize_session(&client, &mcp_url, &api_key).await; + + let before_publish = post_jsonrpc( + &client, + &mcp_url, + &api_key, + Some(&initialized_session), + json!({ + "jsonrpc": "2.0", + "id": 2, + "method": "tools/list", + "params": {} + }), + ) + .await; + + let operation = test_operation(&upstream_base_url, "crm_publish_later"); + registry + .create_operation(&test_workspace_id(), &operation, Some("alice")) + .await + .unwrap(); + registry + .publish_operation(PublishRequest { + workspace_id: &test_workspace_id(), + operation_id: &operation.id, + version: 1, + published_at: &OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_by: Some("alice"), + }) + .await + .unwrap(); + registry + .save_agent_bindings(SaveAgentBindingsRequest { + workspace_id: &test_workspace_id(), + agent_id: &test_agent_id("sales-refresh"), + agent_version: 1, + bindings: &[binding_for_operation(&operation)], + }) + .await + .unwrap(); + + let after_publish = post_jsonrpc( + &client, + &mcp_url, + &api_key, + Some(&initialized_session), + json!({ + "jsonrpc": "2.0", + "id": 3, + "method": "tools/list", + "params": {} + }), + ) + .await; + + assert_eq!(before_publish["result"]["tools"], json!([])); + assert_eq!( + after_publish["result"]["tools"][0]["name"], + "crm_publish_later" + ); + } + + #[tokio::test] + async fn shares_published_catalog_snapshot_across_instances() { + let registry = test_registry().await; + let upstream_base_url = spawn_upstream_server().await; + let operation = test_operation(&upstream_base_url, "crm_catalog_shared"); + let coordination_store = std::sync::Arc::new(InMemoryCoordinationStateStore::default()); + + registry + .create_operation(&test_workspace_id(), &operation, Some("alice")) + .await + .unwrap(); + registry + .publish_operation(PublishRequest { + workspace_id: &test_workspace_id(), + operation_id: &operation.id, + version: 1, + published_at: &OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_by: Some("alice"), + }) + .await + .unwrap(); + publish_agent_for_operation(®istry, &operation, "sales-shared-catalog").await; + + let catalog_a = PublishedToolCatalog::new( + registry.clone(), + Duration::from_secs(60), + coordination_store.clone(), + ); + let tools_a = catalog_a + .list_tools(test_workspace_slug(), "sales-shared-catalog") + .await + .unwrap(); + assert_eq!(tools_a.len(), 1); + + registry + .unpublish_agent( + &test_workspace_id(), + &test_agent_id("sales-shared-catalog"), + &OffsetDateTime::parse("2026-03-26T10:05:00Z", &Rfc3339).unwrap(), + ) + .await + .unwrap(); + + let catalog_b = PublishedToolCatalog::new( + registry.clone(), + Duration::from_secs(60), + coordination_store, + ); + let tools_b = catalog_b + .list_tools(test_workspace_slug(), "sales-shared-catalog") + .await + .unwrap(); + + assert_eq!(tools_b.len(), 1); + assert_eq!(tools_b[0].tool_name, operation.name); + } + + #[tokio::test] + async fn lists_only_bound_tools_for_agent_context() { + let registry = test_registry().await; + let upstream_base_url = spawn_upstream_server().await; + let operation_a = test_operation(&upstream_base_url, "crm_create_lead"); + let operation_b = test_operation(&upstream_base_url, "crm_update_lead"); + + for operation in [&operation_a, &operation_b] { + registry + .create_operation(&test_workspace_id(), operation, Some("alice")) + .await + .unwrap(); + registry + .publish_operation(PublishRequest { + workspace_id: &test_workspace_id(), + operation_id: &operation.id, + version: 1, + published_at: &OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_by: Some("alice"), + }) + .await + .unwrap(); + } + + publish_agent_with_bindings( + ®istry, + "sales-a", + vec![binding_for_operation(&operation_a)], + ) + .await; + publish_agent_with_bindings( + ®istry, + "sales-b", + vec![binding_for_operation(&operation_b)], + ) + .await; + let api_key_a = create_platform_api_key( + ®istry, + "sales-a", + "mcp-agent-a", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + let api_key_b = create_platform_api_key( + ®istry, + "sales-b", + "mcp-agent-b", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + + let base_url = spawn_mcp_server(build_test_app( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let agent_a_url = agent_mcp_url(&base_url, "sales-a"); + let agent_b_url = agent_mcp_url(&base_url, "sales-b"); + let session_a = initialize_session(&client, &agent_a_url, &api_key_a).await; + let session_b = initialize_session(&client, &agent_b_url, &api_key_b).await; + + let tools_a = post_jsonrpc( + &client, + &agent_a_url, + &api_key_a, + Some(&session_a), + json!({ + "jsonrpc": "2.0", + "id": 2, + "method": "tools/list", + "params": {} + }), + ) + .await; + let tools_b = post_jsonrpc( + &client, + &agent_b_url, + &api_key_b, + Some(&session_b), + json!({ + "jsonrpc": "2.0", + "id": 2, + "method": "tools/list", + "params": {} + }), + ) + .await; + + assert_eq!(tools_a["result"]["tools"][0]["name"], "crm_create_lead"); + assert_eq!(tools_b["result"]["tools"][0]["name"], "crm_update_lead"); + } + + #[tokio::test] + async fn rejects_initialize_with_key_from_different_agent() { + let registry = test_registry().await; + let upstream_base_url = spawn_upstream_server().await; + let operation_a = test_operation(&upstream_base_url, "crm_create_lead"); + let operation_b = test_operation(&upstream_base_url, "crm_update_lead"); + + for operation in [&operation_a, &operation_b] { + registry + .create_operation(&test_workspace_id(), operation, Some("alice")) + .await + .unwrap(); + registry + .publish_operation(PublishRequest { + workspace_id: &test_workspace_id(), + operation_id: &operation.id, + version: 1, + published_at: &OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_by: Some("alice"), + }) + .await + .unwrap(); + } + + publish_agent_with_bindings( + ®istry, + "sales-a", + vec![binding_for_operation(&operation_a)], + ) + .await; + publish_agent_with_bindings( + ®istry, + "sales-b", + vec![binding_for_operation(&operation_b)], + ) + .await; + let api_key_a = create_platform_api_key( + ®istry, + "sales-a", + "mcp-agent-a-only", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + + let base_url = spawn_mcp_server(build_test_app( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let response = client + .post(agent_mcp_url(&base_url, "sales-b")) + .header(header::ACCEPT, "application/json, text/event-stream") + .header(header::AUTHORIZATION, format!("Bearer {api_key_a}")) + .json(&json!({ + "jsonrpc": "2.0", + "id": 1, + "method": "initialize", + "params": { + "protocolVersion": "2025-11-25" + } + })) + .send() + .await + .unwrap(); + + assert_eq!(response.status(), reqwest::StatusCode::UNAUTHORIZED); + } + + #[tokio::test] + async fn accepts_initialize_with_verified_bearer_token_seam() { + let registry = test_registry().await; + publish_agent_with_bindings(®istry, "sales-token-seam", vec![]).await; + + let verifier = Arc::new(StubMachineCredentialVerifier { + token: "issued_token_demo".to_owned(), + credential: VerifiedMachineCredential { + machine_access_mode: crank_core::MachineAccessMode::ShortLivedToken, + max_security_level: crank_core::OperationSecurityLevel::Elevated, + scopes: vec![PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + }, + }); + + let base_url = spawn_mcp_server(build_test_app_with_store( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + RequestRateLimitConfig::new(10_000, 10_000).unwrap(), + std::sync::Arc::new(InMemorySessionStore::default()), + verifier, + )) + .await; + let client = reqwest::Client::new(); + let response = client + .post(agent_mcp_url(&base_url, "sales-token-seam")) + .header(header::ACCEPT, "application/json, text/event-stream") + .header(header::AUTHORIZATION, "Bearer issued_token_demo") + .json(&json!({ + "jsonrpc": "2.0", + "id": 1, + "method": "initialize", + "params": { + "protocolVersion": "2025-11-25" + } + })) + .send() + .await + .unwrap(); + + assert_eq!(response.status(), reqwest::StatusCode::OK); + assert!(response.headers().get("MCP-Session-Id").is_some()); + } + + #[tokio::test] + async fn rejects_initialize_without_platform_api_key() { + let registry = test_registry().await; + publish_agent_with_bindings(®istry, "sales-auth", vec![]).await; + let base_url = spawn_mcp_server(build_test_app( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let response = client + .post(agent_mcp_url(&base_url, "sales-auth")) + .header(header::ACCEPT, "application/json, text/event-stream") + .json(&json!({ + "jsonrpc": "2.0", + "id": 1, + "method": "initialize", + "params": { + "protocolVersion": "2025-11-25" + } + })) + .send() + .await + .unwrap(); + + assert_eq!(response.status(), reqwest::StatusCode::UNAUTHORIZED); + } + + #[tokio::test] + async fn rejects_tool_call_with_read_only_platform_api_key() { + let registry = test_registry().await; + let upstream_base_url = spawn_upstream_server().await; + let operation = test_operation(&upstream_base_url, "crm_read_only"); + + registry + .create_operation(&test_workspace_id(), &operation, Some("alice")) + .await + .unwrap(); + registry + .publish_operation(PublishRequest { + workspace_id: &test_workspace_id(), + operation_id: &operation.id, + version: 1, + published_at: &OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_by: Some("alice"), + }) + .await + .unwrap(); + publish_agent_for_operation(®istry, &operation, "sales-read-only").await; + let api_key = create_platform_api_key( + ®istry, + "sales-read-only", + "mcp-read", + &[PlatformApiKeyScope::Read], + ) + .await; + + let base_url = spawn_mcp_server(build_test_app( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let mcp_url = agent_mcp_url(&base_url, "sales-read-only"); + let initialized_session = initialize_session(&client, &mcp_url, &api_key).await; + let response = client + .post(&mcp_url) + .header(header::ACCEPT, "application/json, text/event-stream") + .header(header::AUTHORIZATION, format!("Bearer {api_key}")) + .header("MCP-Session-Id", initialized_session) + .header("MCP-Protocol-Version", "2025-11-25") + .json(&json!({ + "jsonrpc": "2.0", + "id": 3, + "method": "tools/call", + "params": { + "name": "crm_read_only", + "arguments": { + "email": "user@example.com" + } + } + })) + .send() + .await + .unwrap(); + + assert_eq!(response.status(), reqwest::StatusCode::FORBIDDEN); + } + + #[tokio::test] + async fn rejects_elevated_operation_with_static_agent_key() { + let registry = test_registry().await; + let upstream_base_url = spawn_upstream_server().await; + let mut operation = test_operation(&upstream_base_url, "crm_elevated_static"); + operation.security_level = crank_core::OperationSecurityLevel::Elevated; + + registry + .create_operation(&test_workspace_id(), &operation, Some("alice")) + .await + .unwrap(); + registry + .publish_operation(PublishRequest { + workspace_id: &test_workspace_id(), + operation_id: &operation.id, + version: 1, + published_at: &OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_by: Some("alice"), + }) + .await + .unwrap(); + publish_agent_for_operation(®istry, &operation, "sales-elevated-static").await; + let api_key = create_platform_api_key( + ®istry, + "sales-elevated-static", + "mcp-elevated-static", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + + let base_url = spawn_mcp_server(build_test_app( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let mcp_url = agent_mcp_url(&base_url, "sales-elevated-static"); + let initialized_session = initialize_session(&client, &mcp_url, &api_key).await; + let call_result = post_jsonrpc( + &client, + &mcp_url, + &api_key, + Some(&initialized_session), + json!({ + "jsonrpc": "2.0", + "id": 2, + "method": "tools/call", + "params": { + "name": "crm_elevated_static", + "arguments": { + "email": "alice@example.com" + } + } + }), + ) + .await; + + assert_eq!(call_result["result"]["isError"], json!(true)); + assert_eq!( + call_result["result"]["structuredContent"]["error"]["code"], + "machine_access_insufficient" + ); + assert_eq!( + call_result["result"]["structuredContent"]["error"]["context"]["machine_access_mode"], + "static_agent_key" + ); + assert_eq!( + call_result["result"]["structuredContent"]["error"]["context"]["required_security_level"], + "elevated" + ); + } + + #[tokio::test] + async fn allows_elevated_operation_with_verified_short_lived_token() { + let registry = test_registry().await; + let upstream_base_url = spawn_upstream_server().await; + let mut operation = test_operation(&upstream_base_url, "crm_elevated_token"); + operation.security_level = crank_core::OperationSecurityLevel::Elevated; + + registry + .create_operation(&test_workspace_id(), &operation, Some("alice")) + .await + .unwrap(); + registry + .publish_operation(PublishRequest { + workspace_id: &test_workspace_id(), + operation_id: &operation.id, + version: 1, + published_at: &OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_by: Some("alice"), + }) + .await + .unwrap(); + publish_agent_for_operation(®istry, &operation, "sales-elevated-token").await; + + let verifier = Arc::new(StubMachineCredentialVerifier { + token: "issued_token_elevated".to_owned(), + credential: VerifiedMachineCredential { + machine_access_mode: crank_core::MachineAccessMode::ShortLivedToken, + max_security_level: crank_core::OperationSecurityLevel::Elevated, + scopes: vec![PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + }, + }); + + let base_url = spawn_mcp_server(build_test_app_with_store( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + RequestRateLimitConfig::new(10_000, 10_000).unwrap(), + std::sync::Arc::new(InMemorySessionStore::default()), + verifier, + )) + .await; + let client = reqwest::Client::new(); + let mcp_url = agent_mcp_url(&base_url, "sales-elevated-token"); + let initialized_session = + initialize_session(&client, &mcp_url, "issued_token_elevated").await; + let call_result = post_jsonrpc( + &client, + &mcp_url, + "issued_token_elevated", + Some(&initialized_session), + json!({ + "jsonrpc": "2.0", + "id": 2, + "method": "tools/call", + "params": { + "name": "crm_elevated_token", + "arguments": { + "email": "alice@example.com" + } + } + }), + ) + .await; + + assert_eq!(call_result["result"]["isError"], json!(false)); + assert_eq!(call_result["result"]["structuredContent"]["id"], "lead_123"); + } + + #[cfg(any())] + #[tokio::test] + async fn exposes_and_runs_session_tool_family_via_mcp() { + let registry = test_registry().await; + let server_addr = grpc_test_support::spawn_unary_echo_server().await; + let operation = test_grpc_session_operation(&server_addr, "echo_stream_session"); + + registry + .create_operation(&test_workspace_id(), &operation, Some("alice")) + .await + .unwrap(); + registry + .publish_operation(PublishRequest { + workspace_id: &test_workspace_id(), + operation_id: &operation.id, + version: 1, + published_at: &OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_by: Some("alice"), + }) + .await + .unwrap(); + publish_agent_for_operation(®istry, &operation, "sales-session").await; + let api_key = create_platform_api_key( + ®istry, + "sales-session", + "mcp-session", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + + let base_url = spawn_mcp_server(build_test_app( + registry.clone(), + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let mcp_url = agent_mcp_url(&base_url, "sales-session"); + let initialized_session = initialize_session(&client, &mcp_url, &api_key).await; + + let tools = post_jsonrpc( + &client, + &mcp_url, + &api_key, + Some(&initialized_session), + json!({ + "jsonrpc": "2.0", + "id": 2, + "method": "tools/list", + "params": {} + }), + ) + .await; + let tool_names = tools["result"]["tools"] + .as_array() + .unwrap() + .iter() + .map(|tool| tool["name"].as_str().unwrap().to_owned()) + .collect::>(); + assert!(!tool_names.contains(&operation.name)); + assert!(tool_names.contains(&"echo_stream_session_start".to_owned())); + assert!(tool_names.contains(&"echo_stream_session_poll".to_owned())); + assert!(tool_names.contains(&"echo_stream_session_stop".to_owned())); + + let start_response = post_jsonrpc( + &client, + &mcp_url, + &api_key, + Some(&initialized_session), + json!({ + "jsonrpc": "2.0", + "id": 3, + "method": "tools/call", + "params": { + "name": "echo_stream_session_start", + "arguments": { + "message": "hello" + } + } + }), + ) + .await; + let session_id = start_response["result"]["structuredContent"]["session_id"] + .as_str() + .unwrap() + .to_owned(); + assert_eq!( + start_response["result"]["structuredContent"]["status"], + json!("running") + ); + + let poll_response = post_jsonrpc( + &client, + &mcp_url, + &api_key, + Some(&initialized_session), + json!({ + "jsonrpc": "2.0", + "id": 4, + "method": "tools/call", + "params": { + "name": "echo_stream_session_poll", + "arguments": { + "session_id": session_id + } + } + }), + ) + .await; + assert_eq!( + poll_response["result"]["structuredContent"]["session_id"], + json!(session_id) + ); + assert!( + poll_response["result"]["structuredContent"]["items"] + .as_array() + .is_some_and(|items| !items.is_empty()) + ); + + let stop_response = post_jsonrpc( + &client, + &mcp_url, + &api_key, + Some(&initialized_session), + json!({ + "jsonrpc": "2.0", + "id": 5, + "method": "tools/call", + "params": { + "name": "echo_stream_session_stop", + "arguments": { + "session_id": session_id + } + } + }), + ) + .await; + assert_eq!( + stop_response["result"]["structuredContent"], + json!({ + "session_id": session_id, + "status": "stopped" + }) + ); + } + + #[cfg(any())] + #[tokio::test] + async fn rejects_cross_agent_session_poll() { + let registry = test_registry().await; + let server_addr = grpc_test_support::spawn_unary_echo_server().await; + let operation_a = test_grpc_session_operation(&server_addr, "echo_stream_session_a"); + let operation_b = test_grpc_session_operation(&server_addr, "echo_stream_session_b"); + + for operation in [&operation_a, &operation_b] { + registry + .create_operation(&test_workspace_id(), operation, Some("alice")) + .await + .unwrap(); + registry + .publish_operation(PublishRequest { + workspace_id: &test_workspace_id(), + operation_id: &operation.id, + version: 1, + published_at: &OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_by: Some("alice"), + }) + .await + .unwrap(); + } + + publish_agent_for_operation(®istry, &operation_a, "sales-session-a").await; + publish_agent_for_operation(®istry, &operation_b, "sales-session-b").await; + let api_key_a = create_platform_api_key( + ®istry, + "sales-session-a", + "mcp-cross-session-a", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + let api_key_b = create_platform_api_key( + ®istry, + "sales-session-b", + "mcp-cross-session-b", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + + let base_url = spawn_mcp_server(build_test_app( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let agent_a_url = agent_mcp_url(&base_url, "sales-session-a"); + let agent_b_url = agent_mcp_url(&base_url, "sales-session-b"); + let session_a = initialize_session(&client, &agent_a_url, &api_key_a).await; + let session_b = initialize_session(&client, &agent_b_url, &api_key_b).await; + + let start_response = post_jsonrpc( + &client, + &agent_a_url, + &api_key_a, + Some(&session_a), + json!({ + "jsonrpc": "2.0", + "id": 1, + "method": "tools/call", + "params": { + "name": "echo_stream_session_a_start", + "arguments": { "message": "hello" } + } + }), + ) + .await; + let foreign_session_id = start_response["result"]["structuredContent"]["session_id"] + .as_str() + .unwrap() + .to_owned(); + + let poll_response = post_jsonrpc( + &client, + &agent_b_url, + &api_key_b, + Some(&session_b), + json!({ + "jsonrpc": "2.0", + "id": 2, + "method": "tools/call", + "params": { + "name": "echo_stream_session_b_poll", + "arguments": { "session_id": foreign_session_id } + } + }), + ) + .await; + + assert_eq!( + poll_response["result"]["structuredContent"]["error"]["code"], + json!("stream_session_not_found") + ); + assert!( + poll_response["result"]["structuredContent"]["error"]["message"] + .as_str() + .is_some_and(|message| message.starts_with("stream session ")) + ); + } + + #[cfg(any())] + #[tokio::test] + async fn rejects_rapid_repeat_session_poll() { + let registry = test_registry().await; + let server_addr = grpc_test_support::spawn_unary_echo_server().await; + let operation = test_grpc_session_operation(&server_addr, "echo_stream_session_rate"); + + registry + .create_operation(&test_workspace_id(), &operation, Some("alice")) + .await + .unwrap(); + registry + .publish_operation(PublishRequest { + workspace_id: &test_workspace_id(), + operation_id: &operation.id, + version: 1, + published_at: &OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_by: Some("alice"), + }) + .await + .unwrap(); + + publish_agent_for_operation(®istry, &operation, "sales-session-rate").await; + let api_key = create_platform_api_key( + ®istry, + "sales-session-rate", + "mcp-session-rate", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + + let base_url = spawn_mcp_server(build_test_app( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let mcp_url = agent_mcp_url(&base_url, "sales-session-rate"); + let initialized_session = initialize_session(&client, &mcp_url, &api_key).await; + + let start_response = post_jsonrpc( + &client, + &mcp_url, + &api_key, + Some(&initialized_session), + json!({ + "jsonrpc": "2.0", + "id": 1, + "method": "tools/call", + "params": { + "name": "echo_stream_session_rate_start", + "arguments": { "message": "hello" } + } + }), + ) + .await; + let session_id = start_response["result"]["structuredContent"]["session_id"] + .as_str() + .unwrap() + .to_owned(); + + let first_poll = post_jsonrpc( + &client, + &mcp_url, + &api_key, + Some(&initialized_session), + json!({ + "jsonrpc": "2.0", + "id": 2, + "method": "tools/call", + "params": { + "name": "echo_stream_session_rate_poll", + "arguments": { "session_id": session_id } + } + }), + ) + .await; + assert_eq!(first_poll["result"]["isError"], false); + + let second_poll = post_jsonrpc( + &client, + &mcp_url, + &api_key, + Some(&initialized_session), + json!({ + "jsonrpc": "2.0", + "id": 3, + "method": "tools/call", + "params": { + "name": "echo_stream_session_rate_poll", + "arguments": { "session_id": session_id } + } + }), + ) + .await; + + assert_eq!( + second_poll["result"]["structuredContent"]["error"]["code"], + json!("stream_session_poll_rate_limited") + ); + let poll_after_ms = + second_poll["result"]["structuredContent"]["error"]["context"]["poll_after_ms"] + .as_u64() + .unwrap(); + assert!((1..=250).contains(&poll_after_ms)); + } + + #[cfg(any())] + #[cfg(any())] + #[tokio::test] + async fn rejects_rapid_repeat_async_job_status_poll() { + let registry = test_registry().await; + let upstream_base_url = spawn_upstream_server().await; + let operation = test_rest_async_job_operation(&upstream_base_url, "crm_async_rate"); + + registry + .create_operation(&test_workspace_id(), &operation, Some("alice")) + .await + .unwrap(); + registry + .publish_operation(PublishRequest { + workspace_id: &test_workspace_id(), + operation_id: &operation.id, + version: 1, + published_at: &OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_by: Some("alice"), + }) + .await + .unwrap(); + publish_agent_for_operation(®istry, &operation, "sales-async-rate").await; + let api_key = create_platform_api_key( + ®istry, + "sales-async-rate", + "mcp-async-rate", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + + let now = OffsetDateTime::now_utc(); + let job_id = AsyncJobId::new("job_async_rate".to_owned()); + registry + .create_async_job(CreateAsyncJobRequest { + job: &AsyncJobHandle { + id: job_id.clone(), + workspace_id: test_workspace_id(), + agent_id: Some(AgentId::new("agent_sales-async-rate")), + operation_id: operation.id.clone(), + status: JobStatus::Running, + progress: json!({ "pct": 25 }), + result: None, + error: None, + expires_at: Some(now + time::Duration::minutes(5)), + last_poll_at: None, + created_at: now, + updated_at: now, + finished_at: None, + }, + }) + .await + .unwrap(); + + let base_url = spawn_mcp_server(build_test_app( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let mcp_url = agent_mcp_url(&base_url, "sales-async-rate"); + let initialized_session = initialize_session(&client, &mcp_url, &api_key).await; + + let first_status = post_jsonrpc( + &client, + &mcp_url, + &api_key, + Some(&initialized_session), + json!({ + "jsonrpc": "2.0", + "id": 2, + "method": "tools/call", + "params": { + "name": "crm_async_rate_status", + "arguments": { + "job_id": job_id.as_str() + } + } + }), + ) + .await; + assert_eq!(first_status["result"]["isError"], false); + + let second_status = post_jsonrpc( + &client, + &mcp_url, + &api_key, + Some(&initialized_session), + json!({ + "jsonrpc": "2.0", + "id": 3, + "method": "tools/call", + "params": { + "name": "crm_async_rate_status", + "arguments": { + "job_id": job_id.as_str() + } + } + }), + ) + .await; + + assert_eq!( + second_status["result"]["structuredContent"]["error"]["code"], + json!("async_job_poll_rate_limited") + ); + let poll_after_ms = + second_status["result"]["structuredContent"]["error"]["context"]["poll_after_ms"] + .as_u64() + .unwrap(); + assert!((1..=250).contains(&poll_after_ms)); + } + + #[cfg(any())] + #[cfg(any())] + #[tokio::test(flavor = "multi_thread")] + async fn allows_completed_async_job_result_without_poll_delay() { + let registry = test_registry().await; + let upstream_base_url = spawn_upstream_server().await; + let operation = test_rest_async_job_operation(&upstream_base_url, "crm_async_completed"); + + registry + .create_operation(&test_workspace_id(), &operation, Some("alice")) + .await + .unwrap(); + registry + .publish_operation(PublishRequest { + workspace_id: &test_workspace_id(), + operation_id: &operation.id, + version: 1, + published_at: &OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_by: Some("alice"), + }) + .await + .unwrap(); + publish_agent_for_operation(®istry, &operation, "sales-async-completed").await; + let api_key = create_platform_api_key( + ®istry, + "sales-async-completed", + "mcp-async-completed", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + + let now = OffsetDateTime::now_utc(); + let job_id = AsyncJobId::new("job_async_completed".to_owned()); + registry + .create_async_job(CreateAsyncJobRequest { + job: &AsyncJobHandle { + id: job_id.clone(), + workspace_id: test_workspace_id(), + agent_id: Some(AgentId::new("agent_sales-async-completed")), + operation_id: operation.id.clone(), + status: JobStatus::Completed, + progress: json!({ "pct": 100 }), + result: Some(json!({ "id": "lead_123" })), + error: None, + expires_at: Some(now + time::Duration::minutes(5)), + last_poll_at: Some(now), + created_at: now, + updated_at: now, + finished_at: Some(now), + }, + }) + .await + .unwrap(); + + let base_url = spawn_mcp_server(build_test_app( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let mcp_url = agent_mcp_url(&base_url, "sales-async-completed"); + let initialized_session = initialize_session(&client, &mcp_url, &api_key).await; + + let result_response = post_jsonrpc( + &client, + &mcp_url, + &api_key, + Some(&initialized_session), + json!({ + "jsonrpc": "2.0", + "id": 1, + "method": "tools/call", + "params": { + "name": "crm_async_completed_result", + "arguments": { + "job_id": job_id.as_str() + } + } + }), + ) + .await; + assert_eq!( + result_response["result"]["structuredContent"]["id"], + "lead_123" + ); + } + + #[tokio::test] + async fn rejects_rapid_initialize_requests_with_429() { + let registry = test_registry().await; + let upstream_base_url = spawn_upstream_server().await; + let operation = test_operation(&upstream_base_url, "crm_rate_limited"); + + registry + .create_operation(&test_workspace_id(), &operation, Some("alice")) + .await + .unwrap(); + registry + .publish_operation(PublishRequest { + workspace_id: &test_workspace_id(), + operation_id: &operation.id, + version: 1, + published_at: &OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_by: Some("alice"), + }) + .await + .unwrap(); + publish_agent_for_operation(®istry, &operation, "sales-rate-limited").await; + let api_key = create_platform_api_key( + ®istry, + "sales-rate-limited", + "mcp-rate-limit", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + + let base_url = spawn_mcp_server(build_test_app_with_rate_limit( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + RequestRateLimitConfig::new(1, 1).unwrap(), + )) + .await; + let client = reqwest::Client::new(); + let mcp_url = agent_mcp_url(&base_url, "sales-rate-limited"); + + let first_response = client + .post(&mcp_url) + .header(header::ACCEPT, "application/json, text/event-stream") + .header(header::AUTHORIZATION, format!("Bearer {api_key}")) + .header("x-request-id", "req_rate_limit_01") + .json(&json!({ + "jsonrpc": "2.0", + "id": 1, + "method": "initialize", + "params": { + "protocolVersion": "2025-11-25" + } + })) + .send() + .await + .unwrap(); + assert_eq!(first_response.status(), reqwest::StatusCode::OK); + + let second_response = client + .post(&mcp_url) + .header(header::ACCEPT, "application/json, text/event-stream") + .header(header::AUTHORIZATION, format!("Bearer {api_key}")) + .header("x-request-id", "req_rate_limit_02") + .json(&json!({ + "jsonrpc": "2.0", + "id": 2, + "method": "initialize", + "params": { + "protocolVersion": "2025-11-25" + } + })) + .send() + .await + .unwrap(); + + assert_eq!( + second_response.status(), + reqwest::StatusCode::TOO_MANY_REQUESTS + ); + assert_eq!( + second_response.headers()["x-request-id"].to_str().unwrap(), + "req_rate_limit_02" + ); + assert_eq!( + second_response.headers()["retry-after"].to_str().unwrap(), + "1" + ); + + let payload = second_response.json::().await.unwrap(); + assert_eq!(payload["error"]["code"], json!(-32029)); + assert_eq!( + payload["error"]["data"]["code"], + json!("request_rate_limited") + ); + let retry_after_ms = payload["error"]["data"]["retry_after_ms"].as_u64().unwrap(); + assert!((1..=1000).contains(&retry_after_ms)); + } + + #[cfg(any())] + #[cfg(any())] + #[tokio::test] + async fn rejects_cross_agent_async_job_access() { + let registry = test_registry().await; + let upstream_base_url = spawn_upstream_server().await; + let operation_a = test_rest_async_job_operation(&upstream_base_url, "crm_async_a"); + let operation_b = test_rest_async_job_operation(&upstream_base_url, "crm_async_b"); + + for operation in [&operation_a, &operation_b] { + registry + .create_operation(&test_workspace_id(), operation, Some("alice")) + .await + .unwrap(); + registry + .publish_operation(PublishRequest { + workspace_id: &test_workspace_id(), + operation_id: &operation.id, + version: 1, + published_at: &OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_by: Some("alice"), + }) + .await + .unwrap(); + } + + publish_agent_for_operation(®istry, &operation_a, "sales-async-a").await; + publish_agent_for_operation(®istry, &operation_b, "sales-async-b").await; + let api_key_a = create_platform_api_key( + ®istry, + "sales-async-a", + "mcp-cross-async-a", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + let api_key_b = create_platform_api_key( + ®istry, + "sales-async-b", + "mcp-cross-async-b", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + + let base_url = spawn_mcp_server(build_test_app( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let agent_a_url = agent_mcp_url(&base_url, "sales-async-a"); + let agent_b_url = agent_mcp_url(&base_url, "sales-async-b"); + let session_a = initialize_session(&client, &agent_a_url, &api_key_a).await; + let session_b = initialize_session(&client, &agent_b_url, &api_key_b).await; + + let start_response = post_jsonrpc( + &client, + &agent_a_url, + &api_key_a, + Some(&session_a), + json!({ + "jsonrpc": "2.0", + "id": 1, + "method": "tools/call", + "params": { + "name": "crm_async_a_start", + "arguments": { "email": "user@example.com" } + } + }), + ) + .await; + let foreign_job_id = start_response["result"]["structuredContent"]["job_id"] + .as_str() + .unwrap() + .to_owned(); + + let status_response = post_jsonrpc( + &client, + &agent_b_url, + &api_key_b, + Some(&session_b), + json!({ + "jsonrpc": "2.0", + "id": 2, + "method": "tools/call", + "params": { + "name": "crm_async_b_status", + "arguments": { "job_id": foreign_job_id } + } + }), + ) + .await; + + assert_eq!( + status_response["result"]["structuredContent"]["error"]["code"], + json!("async_job_not_found") + ); + assert!( + status_response["result"]["structuredContent"]["error"]["message"] + .as_str() + .is_some_and(|message| message.starts_with("async job ")) + ); + } + + #[cfg(any())] + #[cfg(any())] + #[tokio::test] + async fn exposes_and_runs_async_job_tool_family_via_mcp() { + let registry = test_registry().await; + let upstream_base_url = spawn_upstream_server().await; + let operation = test_rest_async_job_operation(&upstream_base_url, "crm_async_create_lead"); + + registry + .create_operation(&test_workspace_id(), &operation, Some("alice")) + .await + .unwrap(); + registry + .publish_operation(PublishRequest { + workspace_id: &test_workspace_id(), + operation_id: &operation.id, + version: 1, + published_at: &OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_by: Some("alice"), + }) + .await + .unwrap(); + publish_agent_for_operation(®istry, &operation, "sales-async").await; + let api_key = create_platform_api_key( + ®istry, + "sales-async", + "mcp-async", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + + let base_url = spawn_mcp_server(build_test_app( + registry.clone(), + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let mcp_url = agent_mcp_url(&base_url, "sales-async"); + let initialized_session = initialize_session(&client, &mcp_url, &api_key).await; + + let tools = post_jsonrpc( + &client, + &mcp_url, + &api_key, + Some(&initialized_session), + json!({ + "jsonrpc": "2.0", + "id": 2, + "method": "tools/list", + "params": {} + }), + ) + .await; + let tool_names = tools["result"]["tools"] + .as_array() + .unwrap() + .iter() + .map(|tool| tool["name"].as_str().unwrap().to_owned()) + .collect::>(); + assert!(!tool_names.contains(&operation.name)); + assert!(tool_names.contains(&"crm_async_create_lead_start".to_owned())); + assert!(tool_names.contains(&"crm_async_create_lead_status".to_owned())); + assert!(tool_names.contains(&"crm_async_create_lead_result".to_owned())); + assert!(tool_names.contains(&"crm_async_create_lead_cancel".to_owned())); + + let start_response = post_jsonrpc( + &client, + &mcp_url, + &api_key, + Some(&initialized_session), + json!({ + "jsonrpc": "2.0", + "id": 3, + "method": "tools/call", + "params": { + "name": "crm_async_create_lead_start", + "arguments": { + "email": "user@example.com" + } + } + }), + ) + .await; + let job_id = start_response["result"]["structuredContent"]["job_id"] + .as_str() + .unwrap() + .to_owned(); + assert_eq!( + start_response["result"]["structuredContent"]["status"], + json!("running") + ); + + let mut status_response = Value::Null; + for _ in 0..20 { + status_response = post_jsonrpc( + &client, + &mcp_url, + &api_key, + Some(&initialized_session), + json!({ + "jsonrpc": "2.0", + "id": 4, + "method": "tools/call", + "params": { + "name": "crm_async_create_lead_status", + "arguments": { + "job_id": job_id + } + } + }), + ) + .await; + + if status_response["result"]["structuredContent"]["status"] == json!("completed") { + break; + } + + sleep(Duration::from_millis(250)).await; + } + + sleep(Duration::from_millis(250)).await; + + assert_eq!( + status_response["result"]["structuredContent"]["status"], + json!("completed") + ); + + let result_response = post_jsonrpc( + &client, + &mcp_url, + &api_key, + Some(&initialized_session), + json!({ + "jsonrpc": "2.0", + "id": 5, + "method": "tools/call", + "params": { + "name": "crm_async_create_lead_result", + "arguments": { + "job_id": job_id + } + } + }), + ) + .await; + assert_eq!( + result_response["result"]["structuredContent"], + json!({ "id": "lead_123" }) + ); + } + + #[cfg(any())] + #[tokio::test] + async fn executes_window_operation_via_mcp() { + let registry = test_registry().await; + let upstream_base_url = spawn_upstream_server().await; + let operation = test_rest_window_operation(&upstream_base_url, "crm_window_logs"); + + registry + .create_operation(&test_workspace_id(), &operation, Some("alice")) + .await + .unwrap(); + registry + .publish_operation(PublishRequest { + workspace_id: &test_workspace_id(), + operation_id: &operation.id, + version: 1, + published_at: &OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_by: Some("alice"), + }) + .await + .unwrap(); + publish_agent_for_operation(®istry, &operation, "sales-window").await; + let api_key = create_platform_api_key( + ®istry, + "sales-window", + "mcp-window", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + + let base_url = spawn_mcp_server(build_test_app( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let mcp_url = agent_mcp_url(&base_url, "sales-window"); + let initialized_session = initialize_session(&client, &mcp_url, &api_key).await; + + let call_result = post_jsonrpc( + &client, + &mcp_url, + &api_key, + Some(&initialized_session), + json!({ + "jsonrpc": "2.0", + "id": 3, + "method": "tools/call", + "params": { + "name": "crm_window_logs", + "arguments": {} + } + }), + ) + .await; + + assert_eq!(call_result["result"]["isError"], false); + assert_eq!( + call_result["result"]["structuredContent"]["items"][0]["message"], + json!("billing started") + ); + assert_eq!( + call_result["result"]["structuredContent"]["window_complete"], + json!(true) + ); + } + + async fn initialize_session(client: &reqwest::Client, mcp_url: &str, api_key: &str) -> String { + let initialize_response = client + .post(mcp_url) + .header(header::ACCEPT, "application/json, text/event-stream") + .header(header::AUTHORIZATION, format!("Bearer {api_key}")) + .json(&json!({ + "jsonrpc": "2.0", + "id": 1, + "method": "initialize", + "params": { + "protocolVersion": "2025-11-25" + } + })) + .send() + .await + .unwrap(); + assert_eq!(initialize_response.status(), reqwest::StatusCode::OK); + let session_id = initialize_response + .headers() + .get("MCP-Session-Id") + .unwrap() + .to_str() + .unwrap() + .to_owned(); + + let initialized_response = client + .post(mcp_url) + .header(header::ACCEPT, "application/json, text/event-stream") + .header(header::AUTHORIZATION, format!("Bearer {api_key}")) + .header("MCP-Session-Id", &session_id) + .header("MCP-Protocol-Version", "2025-11-25") + .json(&json!({ + "jsonrpc": "2.0", + "method": "notifications/initialized", + "params": {} + })) + .send() + .await + .unwrap(); + + assert_eq!(initialized_response.status(), reqwest::StatusCode::ACCEPTED); + + session_id + } + + async fn post_jsonrpc( + client: &reqwest::Client, + mcp_url: &str, + api_key: &str, + session_id: Option<&str>, + payload: Value, + ) -> Value { + post_jsonrpc_response(client, mcp_url, api_key, session_id, None, payload) + .await + .json::() + .await + .unwrap() + } + + async fn post_jsonrpc_response( + client: &reqwest::Client, + mcp_url: &str, + api_key: &str, + session_id: Option<&str>, + request_id: Option<&str>, + payload: Value, + ) -> reqwest::Response { + let mut request = client + .post(mcp_url) + .header(header::ACCEPT, "application/json, text/event-stream") + .header(header::AUTHORIZATION, format!("Bearer {api_key}")) + .header("MCP-Protocol-Version", "2025-11-25"); + + if let Some(session_id) = session_id { + request = request.header("MCP-Session-Id", session_id); + } + + if let Some(request_id) = request_id { + request = request.header("x-request-id", request_id); + } + + request.json(&payload).send().await.unwrap() + } + + async fn create_platform_api_key( + registry: &PostgresRegistry, + agent_slug: &str, + name: &str, + scopes: &[PlatformApiKeyScope], + ) -> String { + let secret = format!("crk_{}_{}", name, uuid::Uuid::now_v7().simple()); + let api_key = PlatformApiKey { + id: PlatformApiKeyId::new(format!("pk_{name}")), + workspace_id: test_workspace_id(), + agent_id: Some(test_agent_id(agent_slug)), + name: name.to_owned(), + prefix: secret.chars().take(16).collect(), + scopes: scopes.to_vec(), + status: PlatformApiKeyStatus::Active, + created_at: OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + last_used_at: None, + }; + + registry + .create_platform_api_key(CreatePlatformApiKeyRequest { + api_key: &api_key, + secret_hash: &hash_access_secret(&secret), + }) + .await + .unwrap(); + + secret + } + + fn hash_access_secret(secret: &str) -> String { + let digest = Sha256::digest(secret.as_bytes()); + URL_SAFE_NO_PAD.encode(digest) + } + + async fn spawn_upstream_server() -> String { + let app = Router::new() + .route("/sse/logs", get(stream_logs)) + .route("/crm/leads", post(create_lead)) + .route("/crm/slow-leads", post(create_slow_lead)); + let listener = TcpListener::bind("127.0.0.1:0").await.unwrap(); + let address = listener.local_addr().unwrap(); + + tokio::spawn(async move { + axum::serve(listener, app).await.unwrap(); + }); + + format!("http://{}", address) + } + + #[cfg(any())] + async fn spawn_graphql_server() -> String { + let app = Router::new().route("/", post(graphql_handler)); + let listener = TcpListener::bind("127.0.0.1:0").await.unwrap(); + let address = listener.local_addr().unwrap(); + + tokio::spawn(async move { + axum::serve(listener, app).await.unwrap(); + }); + + format!("http://{}", address) + } + + async fn spawn_mcp_server(app: Router) -> String { + let listener = TcpListener::bind("127.0.0.1:0").await.unwrap(); + let address = listener.local_addr().unwrap(); + + tokio::spawn(async move { + axum::serve(listener, app).await.unwrap(); + }); + + format!("http://{}", address) + } + + fn agent_mcp_url(base_url: &str, agent_slug: &str) -> String { + format!("{base_url}/v1/{}/{}", test_workspace_slug(), agent_slug) + } + + async fn publish_agent_for_operation( + registry: &PostgresRegistry, + operation: &Operation, + agent_slug: &str, + ) { + publish_agent_with_bindings(registry, agent_slug, vec![binding_for_operation(operation)]) + .await; + } + + async fn publish_agent_with_bindings( + registry: &PostgresRegistry, + agent_slug: &str, + bindings: Vec, + ) { + let agent_id = AgentId::new(format!("agent_{agent_slug}")); + let agent = Agent { + id: agent_id.clone(), + workspace_id: test_workspace_id(), + slug: agent_slug.to_owned(), + display_name: format!("Agent {agent_slug}"), + description: "Curated MCP toolset".to_owned(), + status: AgentStatus::Draft, + current_draft_version: 1, + latest_published_version: None, + created_at: OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + updated_at: OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_at: None, + }; + let version = AgentVersion { + agent_id: agent_id.clone(), + version: 1, + status: AgentStatus::Draft, + instructions: json!({}), + tool_selection_policy: json!({}), + created_at: OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + }; + + registry + .create_agent(CreateAgentRequest { + agent: &agent, + version: &version, + bindings: &bindings, + }) + .await + .unwrap(); + registry + .publish_agent(PublishAgentRequest { + workspace_id: &test_workspace_id(), + agent_id: &agent_id, + version: 1, + published_at: &OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_by: Some("alice"), + }) + .await + .unwrap(); + } + + fn binding_for_operation(operation: &Operation) -> AgentOperationBinding { + AgentOperationBinding { + operation_id: operation.id.clone(), + operation_version: 1, + tool_name: operation.name.clone(), + tool_title: operation.tool_description.title.clone(), + tool_description_override: None, + enabled: true, + } + } + + async fn create_lead(Json(payload): Json) -> Json { + Json(json!({ + "id": "lead_123", + "email": payload["email"] + })) + } + + async fn create_slow_lead(Json(payload): Json) -> Json { + sleep(Duration::from_millis(250)).await; + + Json(json!({ + "id": "lead_123", + "email": payload["email"] + })) + } + + async fn stream_logs() + -> Sse>> { + let events = vec![ + json!({ "level": "info", "message": "billing started" }), + json!({ "level": "warn", "message": "cache warmup slow" }), + json!({ "level": "error", "message": "invoice timeout" }), + ]; + let stream = stream::iter(events.into_iter().map(|payload| { + Ok::<_, std::convert::Infallible>(Event::default().data(payload.to_string())) + })); + Sse::new(stream).keep_alive(KeepAlive::new().interval(Duration::from_secs(15))) + } + + #[cfg(any())] + async fn graphql_handler(Json(payload): Json) -> Json { + let email = payload + .get("variables") + .and_then(|variables| variables.get("email")) + .and_then(Value::as_str) + .unwrap_or_default(); + + Json(json!({ + "data": { + "createLead": { + "id": "lead_123", + "email": email + } + } + })) + } + + async fn test_registry() -> PostgresRegistry { + let database_url = env::var("TEST_DATABASE_URL") + .unwrap_or_else(|_| "postgres://crank:crank@127.0.0.1:15432/crank".to_owned()); + let admin_pool = PgPoolOptions::new() + .max_connections(1) + .connect(&database_url) + .await + .unwrap(); + let schema = format!("test_mcp_server_{}", uuid::Uuid::now_v7().simple()); + + admin_pool + .execute(sqlx::query(&format!("create schema {schema}"))) + .await + .unwrap(); + + PostgresRegistry::connect(&format!("{database_url}?options=-csearch_path%3D{schema}")) + .await + .unwrap() + } + + fn test_operation(base_url: &str, name: &str) -> Operation { + Operation { + id: OperationId::new(format!("op_{name}")), + name: name.to_owned(), + display_name: "Create Lead".to_owned(), + category: "sales".to_owned(), + protocol: Protocol::Rest, + security_level: crank_core::OperationSecurityLevel::Standard, + status: OperationStatus::Published, + version: 1, + target: Target::Rest(RestTarget { + base_url: base_url.to_owned(), + method: HttpMethod::Post, + path_template: "/crm/leads".to_owned(), + static_headers: BTreeMap::new(), + }), + input_schema: object_schema("email"), + output_schema: object_schema("id"), + input_mapping: MappingSet { + rules: vec![MappingRule { + source: "$.mcp.email".to_owned(), + target: "$.request.body.email".to_owned(), + required: true, + default_value: None, + transform: None, + condition: None, + notes: None, + }], + }, + output_mapping: MappingSet { + rules: vec![MappingRule { + source: "$.response.body.id".to_owned(), + target: "$.output.id".to_owned(), + required: true, + default_value: None, + transform: None, + condition: None, + notes: None, + }], + }, + execution_config: ExecutionConfig { + timeout_ms: 1_000, + retry_policy: None, + response_cache: None, + auth_profile_ref: None, + headers: BTreeMap::new(), + protocol_options: None, + streaming: None, + }, + tool_description: ToolDescription { + title: "Create Lead".to_owned(), + description: "Creates a CRM lead".to_owned(), + tags: Vec::new(), + examples: Vec::new(), + }, + samples: None, + generated_draft: None, + config_export: None, + created_at: OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + updated_at: OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_at: Some(OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap()), + } + } + + #[cfg(any())] + fn test_graphql_operation(endpoint: &str, name: &str) -> Operation { + Operation { + id: OperationId::new(format!("op_{name}")), + name: name.to_owned(), + display_name: "Create Lead GraphQL".to_owned(), + category: "sales".to_owned(), + protocol: Protocol::Graphql, + security_level: crank_core::OperationSecurityLevel::Standard, + status: OperationStatus::Published, + version: 1, + target: Target::Graphql(GraphqlTarget { + endpoint: endpoint.to_owned(), + operation_type: GraphqlOperationType::Mutation, + operation_name: "CreateLead".to_owned(), + query_template: + "mutation CreateLead($email: String!) { createLead(email: $email) { id email } }" + .to_owned(), + response_path: "$.response.body.data.createLead".to_owned(), + }), + input_schema: object_schema("email"), + output_schema: object_schema("id"), + input_mapping: MappingSet { + rules: vec![MappingRule { + source: "$.mcp.email".to_owned(), + target: "$.request.variables.email".to_owned(), + required: true, + default_value: None, + transform: None, + condition: None, + notes: None, + }], + }, + output_mapping: MappingSet { + rules: vec![MappingRule { + source: "$.response.data.id".to_owned(), + target: "$.output.id".to_owned(), + required: true, + default_value: None, + transform: None, + condition: None, + notes: None, + }], + }, + execution_config: ExecutionConfig { + timeout_ms: 1_000, + retry_policy: None, + response_cache: None, + auth_profile_ref: None, + headers: BTreeMap::new(), + protocol_options: None, + streaming: None, + }, + tool_description: ToolDescription { + title: "Create Lead GraphQL".to_owned(), + description: "Creates a CRM lead through GraphQL".to_owned(), + tags: vec!["graphql".to_owned()], + examples: Vec::new(), + }, + samples: None, + generated_draft: None, + config_export: None, + created_at: OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + updated_at: OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_at: Some( + OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + ), + } + } + + #[cfg(any())] + fn test_grpc_operation(server_addr: &str, name: &str) -> Operation { + Operation { + id: OperationId::new(format!("op_{name}")), + name: name.to_owned(), + display_name: "Unary Echo gRPC".to_owned(), + category: "support".to_owned(), + protocol: Protocol::Grpc, + security_level: crank_core::OperationSecurityLevel::Standard, + status: OperationStatus::Published, + version: 1, + target: Target::Grpc(GrpcTarget { + server_addr: server_addr.to_owned(), + package: "echo".to_owned(), + service: "EchoService".to_owned(), + method: "UnaryEcho".to_owned(), + read_only: false, + descriptor_ref: DescriptorId::new("desc_echo"), + descriptor_set_b64: grpc_test_support::descriptor_set_b64(), + }), + input_schema: object_schema("message"), + output_schema: object_schema("message"), + input_mapping: MappingSet { + rules: vec![MappingRule { + source: "$.mcp.message".to_owned(), + target: "$.request.grpc.message".to_owned(), + required: true, + default_value: None, + transform: None, + condition: None, + notes: None, + }], + }, + output_mapping: MappingSet { + rules: vec![MappingRule { + source: "$.response.data.message".to_owned(), + target: "$.output.message".to_owned(), + required: true, + default_value: None, + transform: None, + condition: None, + notes: None, + }], + }, + execution_config: ExecutionConfig { + timeout_ms: 1_000, + retry_policy: None, + response_cache: None, + auth_profile_ref: None, + headers: BTreeMap::new(), + protocol_options: None, + streaming: None, + }, + tool_description: ToolDescription { + title: "Unary Echo gRPC".to_owned(), + description: "Echoes a unary gRPC payload".to_owned(), + tags: vec!["grpc".to_owned()], + examples: Vec::new(), + }, + samples: None, + generated_draft: None, + config_export: None, + created_at: OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + updated_at: OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_at: Some(OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap()), + } + } + + #[cfg(any())] + fn test_grpc_session_operation(server_addr: &str, name: &str) -> Operation { + let mut operation = test_grpc_operation(server_addr, name); + operation.target = Target::Grpc(GrpcTarget { + server_addr: server_addr.to_owned(), + package: "echo".to_owned(), + service: "EchoService".to_owned(), + method: "ServerEcho".to_owned(), + read_only: false, + descriptor_ref: DescriptorId::new("desc_echo"), + descriptor_set_b64: grpc_test_support::descriptor_set_b64(), + }); + operation.display_name = "Server Echo Session".to_owned(); + operation.tool_description = ToolDescription { + title: "Server Echo Session".to_owned(), + description: "Streams echo messages through a bounded session".to_owned(), + tags: vec!["grpc".to_owned(), "streaming".to_owned()], + examples: Vec::new(), + }; + operation.execution_config.streaming = Some(StreamingConfig { + mode: ExecutionMode::Session, + transport_behavior: TransportBehavior::ServerStream, + window_duration_ms: Some(1_000), + poll_interval_ms: Some(250), + upstream_timeout_ms: Some(1_000), + idle_timeout_ms: Some(5_000), + max_session_lifetime_ms: Some(60_000), + max_items: Some(1), + max_bytes: Some(16 * 1024), + aggregation_mode: AggregationMode::SummaryPlusSamples, + summary_path: None, + items_path: Some("$.items".to_owned()), + cursor_path: None, + status_path: None, + done_path: Some("$.done".to_owned()), + redacted_paths: Vec::new(), + truncate_item_fields: false, + max_field_length: None, + drop_duplicates: false, + sampling_rate: None, + tool_family: ToolFamilyConfig { + start_tool_name: Some(format!("{name}_start")), + poll_tool_name: Some(format!("{name}_poll")), + stop_tool_name: Some(format!("{name}_stop")), + status_tool_name: None, + result_tool_name: None, + cancel_tool_name: None, + }, + }); + operation + } + + #[cfg(any())] + fn test_rest_async_job_operation(base_url: &str, name: &str) -> Operation { + let mut operation = test_operation(base_url, name); + operation.display_name = "Create Lead Async".to_owned(); + operation.tool_description = ToolDescription { + title: "Create Lead Async".to_owned(), + description: "Creates a CRM lead through an async job tool family".to_owned(), + tags: vec!["rest".to_owned(), "async_job".to_owned()], + examples: Vec::new(), + }; + operation.execution_config.streaming = Some(StreamingConfig { + mode: ExecutionMode::AsyncJob, + transport_behavior: TransportBehavior::DeferredResult, + window_duration_ms: None, + poll_interval_ms: Some(250), + upstream_timeout_ms: Some(2_000), + idle_timeout_ms: None, + max_session_lifetime_ms: Some(300_000), + max_items: None, + max_bytes: Some(16 * 1024), + aggregation_mode: AggregationMode::SummaryOnly, + summary_path: None, + items_path: None, + cursor_path: None, + status_path: None, + done_path: None, + redacted_paths: Vec::new(), + truncate_item_fields: false, + max_field_length: None, + drop_duplicates: false, + sampling_rate: None, + tool_family: ToolFamilyConfig { + start_tool_name: Some(format!("{name}_start")), + poll_tool_name: None, + stop_tool_name: None, + status_tool_name: Some(format!("{name}_status")), + result_tool_name: Some(format!("{name}_result")), + cancel_tool_name: Some(format!("{name}_cancel")), + }, + }); + operation + } + + #[cfg(any())] + fn test_rest_window_operation(base_url: &str, name: &str) -> Operation { + let mut operation = test_operation(base_url, name); + operation.display_name = "Window Logs".to_owned(); + operation.target = Target::Rest(RestTarget { + base_url: base_url.to_owned(), + method: HttpMethod::Get, + path_template: "/sse/logs".to_owned(), + static_headers: BTreeMap::new(), + }); + operation.input_schema = optional_object_schema("window"); + operation.output_schema = empty_object_schema(); + operation.input_mapping = MappingSet { + rules: vec![MappingRule { + source: "$.mcp.window".to_owned(), + target: "$.request.query.window".to_owned(), + required: false, + default_value: Some(json!("recent")), + transform: None, + condition: None, + notes: None, + }], + }; + operation.output_mapping = MappingSet { rules: Vec::new() }; + operation.tool_description = ToolDescription { + title: "Window Logs".to_owned(), + description: "Collects a bounded SSE log window".to_owned(), + tags: vec![ + "rest".to_owned(), + "streaming".to_owned(), + "window".to_owned(), + ], + examples: Vec::new(), + }; + operation.execution_config.streaming = Some(StreamingConfig { + mode: ExecutionMode::Window, + transport_behavior: TransportBehavior::ServerStream, + window_duration_ms: Some(1_000), + poll_interval_ms: None, + upstream_timeout_ms: Some(1_000), + idle_timeout_ms: None, + max_session_lifetime_ms: None, + max_items: Some(3), + max_bytes: Some(16 * 1024), + aggregation_mode: AggregationMode::SummaryPlusSamples, + summary_path: None, + items_path: Some("$.items".to_owned()), + cursor_path: None, + status_path: None, + done_path: Some("$.done".to_owned()), + redacted_paths: Vec::new(), + truncate_item_fields: false, + max_field_length: None, + drop_duplicates: false, + sampling_rate: None, + tool_family: ToolFamilyConfig::default(), + }); + operation + } + + fn object_schema(field_name: &str) -> Schema { + Schema { + kind: SchemaKind::Object, + description: None, + required: true, + nullable: false, + default_value: None, + fields: BTreeMap::from([( + field_name.to_owned(), + Schema { + kind: SchemaKind::String, + description: None, + required: true, + nullable: false, + default_value: None, + fields: BTreeMap::new(), + items: None, + enum_values: Vec::new(), + variants: Vec::new(), + }, + )]), + items: None, + enum_values: Vec::new(), + variants: Vec::new(), + } + } + + #[cfg(any())] + fn empty_object_schema() -> Schema { + Schema { + kind: SchemaKind::Object, + description: None, + required: true, + nullable: false, + default_value: None, + fields: BTreeMap::new(), + items: None, + enum_values: Vec::new(), + variants: Vec::new(), + } + } + + #[cfg(any())] + fn optional_object_schema(field_name: &str) -> Schema { + Schema { + kind: SchemaKind::Object, + description: None, + required: true, + nullable: false, + default_value: None, + fields: BTreeMap::from([( + field_name.to_owned(), + Schema { + kind: SchemaKind::String, + description: None, + required: false, + nullable: false, + default_value: None, + fields: BTreeMap::new(), + items: None, + enum_values: Vec::new(), + variants: Vec::new(), + }, + )]), + items: None, + enum_values: Vec::new(), + variants: Vec::new(), + } + } +} diff --git a/apps/ui/Dockerfile b/apps/ui/Dockerfile new file mode 100644 index 0000000..8130a9e --- /dev/null +++ b/apps/ui/Dockerfile @@ -0,0 +1,18 @@ +FROM node:22-alpine AS build + +WORKDIR /app + +COPY apps/ui/package.json apps/ui/package-lock.json ./ +RUN npm ci + +COPY apps/ui ./ +COPY Crank.png ./Crank.png + +RUN npm run build + +FROM nginx:1.27-alpine + +COPY apps/ui/nginx.conf /etc/nginx/conf.d/default.conf +COPY --from=build /app/dist /usr/share/nginx/html + +EXPOSE 3000 diff --git a/apps/ui/css/catalog.css b/apps/ui/css/catalog.css new file mode 100644 index 0000000..20003fd --- /dev/null +++ b/apps/ui/css/catalog.css @@ -0,0 +1,579 @@ +/* ── Page header ── */ +.page-header { + display: flex; + align-items: flex-start; + justify-content: space-between; + margin-bottom: 32px; +} +.page-heading { + font-size: 24px; + font-weight: 700; + letter-spacing: -0.5px; + color: var(--text-primary); + margin-bottom: 4px; +} +.page-subheading { font-size: 14px; color: var(--text-muted); } + +.btn-new { + display: inline-flex; + align-items: center; + gap: 7px; + padding: 9px 18px; + border-radius: var(--radius); + background: var(--accent); + color: #fff; + font-size: 13.5px; + font-weight: 600; + border: 1px solid var(--accent-dim); + box-shadow: 0 1px 4px rgba(13,148,136,0.4); + transition: all 0.15s; + white-space: nowrap; + text-decoration: none; +} +.btn-new:hover { + background: var(--accent-dim); + box-shadow: 0 2px 10px rgba(13,148,136,0.5); + transform: translateY(-1px); +} + +/* ── Stats ── */ +.stats-row { + display: grid; + grid-template-columns: repeat(4, 1fr); + gap: 1px; + background: var(--border); + border: 1px solid var(--border); + border-radius: var(--radius-lg); + overflow: hidden; + margin-bottom: 28px; +} +.stat-card { background: var(--bg-surface); padding: 18px 22px; } +.stat-label { + font-size: 11px; + color: var(--text-muted); + font-weight: 600; + letter-spacing: 0.06em; + text-transform: uppercase; + margin-bottom: 6px; +} +.stat-value { + font-size: 26px; + font-weight: 700; + letter-spacing: -1px; + color: var(--text-primary); +} +.stat-delta { font-size: 12px; color: var(--text-muted); margin-top: 3px; } +.stat-delta.up { color: var(--green); } +.stat-delta.down { color: var(--red); } + +/* ── Tabs ── */ +.tab-row { + display: flex; + align-items: center; + border-bottom: 1px solid var(--border); + margin-bottom: 20px; +} +.tab-item { + display: flex; + align-items: center; + gap: 7px; + padding: 10px 18px; + font-size: 14px; + font-weight: 450; + color: var(--text-muted); + cursor: pointer; + border: none; + background: none; + border-bottom: 2px solid transparent; + margin-bottom: -1px; + transition: color 0.1s; +} +.tab-item:hover { color: var(--text-secondary); } +.tab-item.active { + color: var(--text-primary); + font-weight: 600; + border-bottom-color: var(--accent-bright); +} +.tab-count { + display: inline-flex; + align-items: center; + justify-content: center; + background: var(--bg-overlay); + border: 1px solid var(--border); + border-radius: 10px; + padding: 0 6px; + height: 18px; + font-size: 11px; + font-weight: 600; + color: var(--text-muted); + min-width: 20px; +} +.tab-item.active .tab-count { + background: var(--accent); + color: #fff; + border-color: var(--accent-dim); +} + +/* ── Filter bar ── */ +.filter-bar { + display: flex; + align-items: center; + gap: 8px; + margin-bottom: 16px; + flex-wrap: wrap; +} + +.search-box { + display: flex; + align-items: center; + gap: 8px; + background: var(--bg-surface); + border: 1px solid var(--border); + border-radius: var(--radius); + padding: 7px 12px; + width: 220px; + transition: border-color 0.15s, box-shadow 0.15s; +} +.search-box:focus-within { + border-color: var(--accent); + box-shadow: 0 0 0 3px var(--accent-ring); +} +.search-box input { + border: none; + background: none; + outline: none; + font-size: 13.5px; + color: var(--text-primary); + width: 100%; + font-family: inherit; +} +.search-box input::placeholder { color: var(--text-muted); } +.search-box svg { color: var(--text-muted); flex-shrink: 0; } + +/* ── Dropdown filter chip ── */ +.filter-dropdown { position: relative; } + +.filter-chip { + display: inline-flex; + align-items: center; + gap: 6px; + padding: 7px 12px; + border-radius: var(--radius); + border: 1px solid var(--border); + background: var(--bg-surface); + font-size: 13px; + color: var(--text-secondary); + transition: all 0.1s; + white-space: nowrap; +} +.filter-chip:hover { border-color: var(--bg-muted); background: var(--bg-overlay); color: var(--text-primary); } +.filter-chip.has-value { + border-color: var(--accent); + color: var(--accent-bright); + background: var(--accent-glow); +} +.filter-chip .chevron { + opacity: 0.6; + transition: transform 0.15s; +} +.filter-chip.open .chevron { transform: rotate(180deg); } + +.dropdown-menu { + position: absolute; + top: calc(100% + 6px); + left: 0; + min-width: 180px; + background: var(--bg-surface); + border: 1px solid var(--border); + border-radius: var(--radius-lg); + box-shadow: var(--shadow); + z-index: 150; + overflow: hidden; + padding: 4px; +} +.dropdown-item { + display: flex; + align-items: center; + justify-content: space-between; + padding: 8px 10px; + border-radius: var(--radius-sm); + font-size: 13.5px; + color: var(--text-secondary); + border: none; + background: none; + width: 100%; + text-align: left; + cursor: pointer; + transition: all 0.1s; +} +.dropdown-item:hover { background: var(--bg-overlay); color: var(--text-primary); } +.dropdown-item.selected { color: var(--accent-bright); } +.dropdown-item .check { + opacity: 0; + color: var(--accent); +} +.dropdown-item.selected .check { opacity: 1; } +.dropdown-divider { + height: 1px; + background: var(--border-subtle); + margin: 4px 0; +} +.dropdown-clear { + display: flex; + align-items: center; + padding: 7px 10px; + font-size: 12px; + color: var(--text-muted); + border: none; + background: none; + width: 100%; + text-align: left; + cursor: pointer; + border-radius: var(--radius-sm); + transition: all 0.1s; +} +.dropdown-clear:hover { color: var(--red); background: var(--red-bg); } + +/* ── Filter right side ── */ +.filter-right { + display: flex; + align-items: center; + gap: 10px; + margin-left: auto; +} +.results-count { font-size: 13px; color: var(--text-muted); white-space: nowrap; } + +.sort-dropdown { position: relative; } +.sort-chip { + display: inline-flex; + align-items: center; + gap: 6px; + padding: 7px 12px; + border-radius: var(--radius); + border: 1px solid var(--border); + background: var(--bg-surface); + font-size: 13px; + color: var(--text-secondary); + transition: all 0.1s; + white-space: nowrap; +} +.sort-chip:hover { border-color: var(--bg-muted); background: var(--bg-overlay); color: var(--text-primary); } +.sort-chip .chevron { opacity: 0.6; transition: transform 0.15s; } +.sort-chip.open .chevron { transform: rotate(180deg); } + +/* ── Table ── */ +.table-wrap { + background: var(--bg-surface); + border: 1px solid var(--border); + border-radius: var(--radius-lg); + overflow: hidden; +} +.table-wrap table { + width: 100%; + border-collapse: collapse; +} +.table-wrap thead tr { + background: var(--bg-canvas); + border-bottom: 1px solid var(--border); +} +.table-wrap th { + padding: 10px 16px; + text-align: left; + font-size: 11.5px; + font-weight: 700; + color: var(--text-muted); + letter-spacing: 0.06em; + text-transform: uppercase; + white-space: nowrap; + user-select: none; +} +.th-sortable { cursor: pointer; } +.th-sortable:hover { color: var(--text-secondary); } +.th-sortable.sort-active { color: var(--text-secondary); } +.sort-arrow { margin-left: 4px; opacity: 0.5; font-size: 11px; } +.sort-arrow.active { opacity: 1; color: var(--accent-bright); } + +.table-wrap tbody tr { + border-bottom: 1px solid var(--border-subtle); + transition: background 0.1s; +} +.table-wrap tbody tr:last-child { border-bottom: none; } +.table-wrap tbody tr:hover { background: var(--bg-overlay); } +.table-wrap td { padding: 14px 16px; vertical-align: middle; } + +.op-name { font-family: 'JetBrains Mono', 'Fira Code', monospace; font-size: 13px; font-weight: 500; color: var(--text-primary); } +.op-display { font-size: 12px; color: var(--text-muted); margin-top: 3px; } + +/* ── Badges ── */ +.badge { + display: inline-flex; + align-items: center; + gap: 4px; + padding: 3px 8px; + border-radius: var(--radius-sm); + font-size: 11.5px; + font-weight: 700; + white-space: nowrap; + border: 1px solid; + letter-spacing: 0.02em; +} +.badge-rest { color: var(--blue); background: var(--blue-bg); border-color: var(--blue-border); } +.badge-graphql { color: var(--purple); background: var(--purple-bg); border-color: var(--purple-border); } +.badge-grpc { color: #14b8a6; background: rgba(13,148,136,0.1); border-color: rgba(13,148,136,0.25); } + +.status-badge { + display: inline-flex; + align-items: center; + gap: 6px; + padding: 3px 9px; + border-radius: var(--radius-sm); + font-size: 12.5px; + font-weight: 500; +} +.status-dot { + width: 6px; + height: 6px; + border-radius: 50%; + flex-shrink: 0; +} +.status-active { color: var(--green); background: var(--green-bg); } +.status-active .status-dot { background: var(--green); box-shadow: 0 0 0 2px rgba(63,185,80,0.2); } +.status-draft { color: var(--amber); background: var(--amber-bg); } +.status-draft .status-dot { background: var(--amber); } +.status-error { color: var(--red); background: var(--red-bg); } +.status-error .status-dot { background: var(--red); box-shadow: 0 0 0 2px rgba(248,81,73,0.2); } +.status-inactive { color: var(--text-muted); background: var(--bg-overlay); } +.status-inactive .status-dot { background: var(--text-muted); } + +.target-url-cell { + display: flex; + align-items: center; + gap: 6px; + font-family: 'JetBrains Mono', 'Fira Code', monospace; + font-size: 12px; + color: var(--text-secondary); + max-width: 280px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.target-url-cell a { color: inherit; text-decoration: none; } +.target-url-cell svg { flex-shrink: 0; opacity: 0.5; } + +.date-cell { font-size: 13px; color: var(--text-muted); white-space: nowrap; } + +.row-actions { display: flex; align-items: center; gap: 4px; justify-content: flex-end; } +.row-btn { + padding: 5px 11px; + border-radius: var(--radius-sm); + border: 1px solid var(--border); + background: var(--bg-surface); + font-size: 12.5px; + color: var(--text-secondary); + transition: all 0.1s; +} +.row-btn:hover { border-color: var(--bg-muted); color: var(--text-primary); background: var(--bg-overlay); } +.row-btn.danger:hover { border-color: var(--red-border); color: var(--red); background: var(--red-bg); } + +.row-btn-edit { + width: 34px; + height: 34px; + padding: 0; + display: flex; + align-items: center; + justify-content: center; + border-radius: var(--radius); +} + +/* ── Empty state ── */ +.empty-state { + padding: 60px 20px; + text-align: center; + color: var(--text-muted); +} +.empty-state h3 { font-size: 16px; color: var(--text-secondary); margin-bottom: 8px; } +.empty-state p { font-size: 13.5px; } + +/* ── Table footer / pagination ── */ +.table-footer { + display: flex; + align-items: center; + justify-content: space-between; + padding: 14px 20px; + border-top: 1px solid var(--border); + background: var(--bg-canvas); +} +.table-footer-info { font-size: 13px; color: var(--text-muted); } + +.pagination { display: flex; align-items: center; gap: 4px; } +.page-btn { + width: 32px; + height: 32px; + border-radius: var(--radius); + border: 1px solid var(--border); + background: var(--bg-surface); + font-size: 13px; + color: var(--text-secondary); + display: flex; + align-items: center; + justify-content: center; + transition: all 0.1s; +} +.page-btn:hover:not(:disabled) { border-color: var(--bg-muted); color: var(--text-primary); } +.page-btn.active { background: var(--accent); color: #fff; border-color: var(--accent-dim); font-weight: 600; } +.page-btn:disabled { opacity: 0.3; cursor: not-allowed; } + +/* ── Banner ── */ +.banner { + display: flex; + align-items: center; + gap: 10px; + padding: 11px 16px; + border-radius: var(--radius); + background: rgba(13,148,136,0.07); + border: 1px solid rgba(13,148,136,0.2); + color: var(--accent-bright); + font-size: 13.5px; + margin-bottom: 24px; +} +.banner-close { + margin-left: auto; + background: none; + border: none; + color: var(--accent-bright); + font-size: 16px; + opacity: 0.6; + line-height: 1; +} +.banner-close:hover { opacity: 1; } + +/* ═══════════════ RESPONSIVE ═══════════════ */ + +/* Tablet: ≤ 960px */ +@media (max-width: 960px) { + .stats-row { grid-template-columns: repeat(2, 1fr); } + .col-url { display: none; } + .results-count { display: none; } +} + +/* Narrow / mobile: ≤ 720px */ +@media (max-width: 720px) { + /* --- Скрываем колонку CREATED --- */ + .col-created { display: none; } + + /* --- Filter bar → grid --- */ + .filter-bar { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 6px; + } + /* Search во всю ширину */ + .search-box { + grid-column: 1 / -1; + width: 100%; + } + /* Каждый dropdown занимает ячейку */ + .filter-dropdown { + width: 100%; + } + .filter-chip { + width: 100%; + justify-content: space-between; + } + /* Sort справа, во всю строку */ + .filter-right { + grid-column: 1 / -1; + margin-left: 0; + justify-content: flex-end; + } + .sort-chip { white-space: nowrap; } + + /* action column compact */ + .row-actions { justify-content: center; } + + /* --- Таблица --- */ + .table-wrap td { padding: 12px 10px; } + .table-wrap th { padding: 8px 10px; } +} + +/* Mobile: ≤ 480px */ +@media (max-width: 480px) { + .tab-item { padding: 10px 8px; font-size: 13px; gap: 5px; } + + .page-header { flex-direction: column; gap: 12px; align-items: flex-start; } + .btn-new { width: 100%; justify-content: center; } + +} + +/* ── Active filter chips ── */ +.active-filters { + display: flex; + align-items: center; + flex-wrap: wrap; + gap: 6px; + padding: 8px 0 4px; +} +.active-filter-chip { + display: inline-flex; + align-items: center; + gap: 5px; + padding: 3px 8px 3px 10px; + background: rgba(13,148,136,0.12); + border: 1px solid rgba(13,148,136,0.3); + border-radius: 20px; + font-size: 12px; + color: var(--accent); +} +.active-filter-chip-remove { + display: flex; + align-items: center; + background: none; + border: none; + padding: 1px; + cursor: pointer; + color: var(--accent); + opacity: 0.7; + border-radius: 50%; + transition: opacity 0.1s; +} +.active-filter-chip-remove:hover { opacity: 1; } +.active-filter-clear-all { + background: none; + border: none; + font-size: 12px; + color: var(--text-muted); + cursor: pointer; + padding: 3px 6px; + border-radius: 4px; + transition: color 0.1s; +} +.active-filter-clear-all:hover { color: var(--text-secondary); } + +/* ── Operation agent badges ── */ +.op-agent-badges { + display: flex; + flex-wrap: wrap; + gap: 4px; + margin-top: 4px; +} +.op-agent-badge { + display: inline-block; + padding: 1px 6px; + font-size: 10px; + font-weight: 500; + background: rgba(99,102,241,0.12); + border: 1px solid rgba(99,102,241,0.25); + border-radius: 3px; + color: #818cf8; + white-space: nowrap; +} + +/* ── Row delete button ── */ +.row-btn-delete { + color: var(--text-muted); + transition: color 0.1s, background 0.1s; +} +.row-btn-delete:hover { + color: var(--red, #f87171); + background: rgba(248,113,113,0.08); +} diff --git a/apps/ui/css/layout.css b/apps/ui/css/layout.css new file mode 100644 index 0000000..b1b2870 --- /dev/null +++ b/apps/ui/css/layout.css @@ -0,0 +1,218 @@ +/* ── Navbar ── */ +.navbar { + height: 60px; + background: var(--bg-surface); + border-bottom: 1px solid var(--border); + display: flex; + align-items: center; + padding: 0 40px; + position: sticky; + top: 0; + z-index: 100; + box-shadow: 0 1px 0 var(--border-subtle), 0 4px 16px rgba(0,0,0,0.4); +} + +.nav-logo { + display: flex; + align-items: center; + gap: 9px; + margin-right: 36px; + text-decoration: none; +} +.nav-logo-mark { + width: 28px; + height: 28px; + background: linear-gradient(135deg, #0d9488, #0891b2); + border-radius: 7px; + display: flex; + align-items: center; + justify-content: center; + color: #fff; + font-size: 13px; + font-weight: 800; + flex-shrink: 0; +} +.nav-logo-text { + font-size: 15px; + font-weight: 700; + letter-spacing: -0.4px; + color: var(--text-primary); +} + +.nav-links { + display: flex; + align-items: center; + gap: 2px; + flex: 1; +} +.nav-link { + padding: 6px 14px; + border-radius: var(--radius); + font-size: 14px; + font-weight: 450; + color: var(--text-muted); + text-decoration: none; + border: none; + background: none; + transition: all 0.1s; +} +.nav-link:hover { background: var(--bg-overlay); color: var(--text-secondary); } +.nav-link.active { color: var(--text-primary); font-weight: 550; background: var(--bg-overlay); } + +.nav-right { + display: flex; + align-items: center; + gap: 10px; + margin-left: auto; +} +.nav-icon-btn { + width: 32px; + height: 32px; + display: flex; + align-items: center; + justify-content: center; + border-radius: var(--radius); + border: none; + background: none; + color: var(--text-muted); + transition: all 0.1s; + position: relative; +} +.nav-icon-btn:hover { background: var(--bg-overlay); color: var(--text-secondary); } +.nav-divider { width: 1px; height: 20px; background: var(--border); } + +.nav-avatar { + width: 32px; + height: 32px; + border-radius: 50%; + background: linear-gradient(135deg, #0d9488, #6366f1); + color: #fff; + font-size: 11.5px; + font-weight: 700; + display: flex; + align-items: center; + justify-content: center; + cursor: pointer; + border: 2px solid transparent; + transition: border-color 0.15s; +} +.nav-avatar:hover { border-color: var(--accent); } + +/* ── User dropdown ── */ +.user-menu { + position: relative; +} +.user-dropdown { + position: absolute; + top: calc(100% + 8px); + right: 0; + min-width: 180px; + background: var(--bg-surface); + border: 1px solid var(--border); + border-radius: var(--radius-lg); + box-shadow: var(--shadow); + overflow: hidden; + z-index: 200; +} +.user-dropdown-header { + padding: 12px 14px; + border-bottom: 1px solid var(--border-subtle); +} +.user-dropdown-name { + font-size: 13px; + font-weight: 600; + color: var(--text-primary); +} +.user-dropdown-role { + font-size: 11.5px; + color: var(--text-muted); + margin-top: 2px; +} +.user-dropdown-item { + display: flex; + align-items: center; + gap: 9px; + padding: 9px 14px; + font-size: 13.5px; + color: var(--text-secondary); + border: none; + background: none; + width: 100%; + text-align: left; + transition: all 0.1s; +} +.user-dropdown-item:hover { background: var(--bg-overlay); color: var(--text-primary); } +.user-dropdown-item.danger:hover { background: var(--red-bg); color: var(--red); } +.user-dropdown-item svg { flex-shrink: 0; opacity: 0.7; } + +/* ── Page container ── */ +.page { + max-width: 1160px; + margin: 0 auto; + padding: 36px 40px 60px; +} + +/* ── Hamburger button (hidden on desktop) ── */ +.nav-hamburger { + display: none; + flex-direction: column; + justify-content: center; + align-items: center; + gap: 5px; + width: 32px; + height: 32px; + border: none; + background: none; + cursor: pointer; + padding: 4px; + border-radius: var(--radius); + transition: background 0.1s; + order: 10; /* after other right items */ +} +.nav-hamburger:hover { background: var(--bg-overlay); } +.nav-hamburger span { + display: block; + width: 18px; + height: 1.5px; + background: var(--text-muted); + border-radius: 1px; + transition: all 0.2s; + transform-origin: center; +} +.nav-hamburger.open span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); } +.nav-hamburger.open span:nth-child(2) { opacity: 0; } +.nav-hamburger.open span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); } + +/* ── Mobile nav dropdown ── */ +.mobile-nav { + display: none; + position: sticky; + top: 60px; + z-index: 99; + background: var(--bg-surface); + border-bottom: 1px solid var(--border); + padding: 8px 16px 12px; + box-shadow: 0 4px 16px rgba(0,0,0,0.4); +} +.mobile-nav-link { + display: block; + padding: 10px 12px; + border-radius: var(--radius); + font-size: 14px; + font-weight: 500; + color: var(--text-muted); + text-decoration: none; + transition: all 0.1s; +} +.mobile-nav-link:hover { background: var(--bg-overlay); color: var(--text-secondary); } +.mobile-nav-link.active { color: var(--text-primary); background: var(--bg-overlay); } + +/* ── Responsive breakpoints ── */ +@media (max-width: 720px) { + .navbar { padding: 0 16px; } + .nav-links { display: none; } + .nav-hamburger { display: flex; } + .mobile-nav { display: block; } + + .page { padding: 20px 16px 40px; } +} diff --git a/apps/ui/css/login.css b/apps/ui/css/login.css new file mode 100644 index 0000000..ad23017 --- /dev/null +++ b/apps/ui/css/login.css @@ -0,0 +1,265 @@ +.login-page { + min-height: 100vh; + display: flex; + align-items: center; + justify-content: center; + padding: 24px; + background: + radial-gradient(ellipse 70% 50% at 50% -20%, rgba(13,148,136,0.12) 0%, transparent 70%), + var(--bg-canvas); +} + +.login-card { + width: 100%; + max-width: 380px; +} + +.login-logo { + display: flex; + align-items: center; + gap: 10px; + justify-content: center; + margin-bottom: 36px; +} + +.login-logo-mark { + width: 36px; + height: 36px; + background: linear-gradient(135deg, #0d9488, #0891b2); + border-radius: 10px; + display: flex; + align-items: center; + justify-content: center; + color: #fff; + font-size: 17px; + font-weight: 800; +} + +.login-logo-text { + font-size: 20px; + font-weight: 700; + letter-spacing: -0.5px; + color: var(--text-primary); +} + +.login-box { + background: var(--bg-surface); + border: 1px solid var(--border); + border-radius: 14px; + padding: 32px; + box-shadow: 0 8px 40px rgba(0,0,0,0.4); +} + +.login-heading { + font-size: 20px; + font-weight: 700; + letter-spacing: -0.4px; + color: var(--text-primary); + margin-bottom: 4px; +} + +.login-sub { + font-size: 13.5px; + color: var(--text-muted); + margin-bottom: 12px; +} + +.login-note { + margin-bottom: 24px; + padding: 10px 12px; + border-radius: 9px; + background: rgba(59, 130, 246, 0.08); + border: 1px solid rgba(59, 130, 246, 0.18); + color: var(--text-secondary); + font-size: 12.5px; + line-height: 1.5; +} + +.field { + margin-bottom: 16px; +} + +.field-label { + display: block; + font-size: 12.5px; + font-weight: 500; + color: var(--text-secondary); + margin-bottom: 6px; +} + +.field-input { + width: 100%; + padding: 9px 12px; + background: var(--bg-canvas); + border: 1px solid var(--border); + border-radius: 7px; + font-family: 'Inter', sans-serif; + font-size: 13.5px; + color: var(--text-primary); + outline: none; + transition: border-color 0.15s, box-shadow 0.15s; +} + +.field-input::placeholder { color: var(--text-muted); } + +.field-input:focus { + border-color: var(--accent); + box-shadow: 0 0 0 3px rgba(13,148,136,0.25); +} + +.field-footer { + display: flex; + justify-content: flex-end; + margin-top: 5px; +} + +.field-link { + display: inline-flex; + align-items: center; + gap: 8px; + font-size: 12px; + color: var(--accent); + text-decoration: none; + background: transparent; + border: none; + padding: 0; +} + +.field-link:hover { text-decoration: underline; } + +.field-link.is-disabled, +.field-link:disabled { + color: var(--text-muted); + cursor: not-allowed; + text-decoration: none; +} + +.field-link.is-disabled:hover, +.field-link:disabled:hover { + text-decoration: none; +} + +.btn-signin { + width: 100%; + padding: 10px; + margin-top: 8px; + background: var(--accent); + color: #fff; + border: 1px solid var(--accent-dim); + border-radius: 7px; + font-family: 'Inter', sans-serif; + font-size: 14px; + font-weight: 600; + cursor: pointer; + transition: all 0.15s; + box-shadow: 0 1px 4px rgba(13,148,136,0.4); +} + +.btn-signin:hover { + background: var(--accent-dim); + box-shadow: 0 2px 10px rgba(13,148,136,0.5), 0 0 0 3px rgba(13,148,136,0.25); +} + +.btn-signin:active { transform: translateY(1px); } + +.login-error { + display: none; + background: var(--red-bg); + border: 1px solid var(--red-border); + border-radius: 7px; + padding: 10px 14px; + font-size: 13px; + color: var(--red); + margin-bottom: 16px; +} + +.login-error.is-visible { + display: block; +} + +.login-footer { + text-align: center; + margin-top: 20px; + font-size: 12.5px; + color: var(--text-muted); +} + +.login-footer a { color: var(--accent); text-decoration: none; } +.login-footer a:hover { text-decoration: underline; } + +.login-divider { + display: flex; + align-items: center; + gap: 12px; + margin: 22px 0; +} + +.login-divider-line { flex: 1; height: 1px; background: var(--border); } +.login-divider-text { font-size: 11.5px; color: var(--text-muted); white-space: nowrap; } + +.btn-sso { + width: 100%; + padding: 9px; + background: var(--bg-overlay); + color: var(--text-secondary); + border: 1px solid var(--border); + border-radius: 7px; + font-family: 'Inter', sans-serif; + font-size: 13.5px; + font-weight: 500; + cursor: pointer; + transition: all 0.15s; + display: flex; + align-items: center; + justify-content: center; + gap: 9px; +} + +.btn-sso:hover { background: var(--bg-muted); color: var(--text-primary); } + +.btn-sso:disabled { + cursor: not-allowed; + opacity: 0.7; + background: var(--bg-overlay); + color: var(--text-muted); +} + +.btn-sso:disabled:hover { + background: var(--bg-overlay); + color: var(--text-muted); +} + +.login-inline-badge { + display: inline-flex; + align-items: center; + justify-content: center; + padding: 2px 7px; + border-radius: 999px; + border: 1px solid rgba(148, 163, 184, 0.24); + background: rgba(148, 163, 184, 0.08); + color: var(--text-muted); + font-size: 10px; + font-weight: 700; + letter-spacing: 0.02em; + text-transform: uppercase; +} + +.version-badge { + text-align: center; + margin-top: 28px; + font-size: 11.5px; + color: var(--text-muted); +} + +.login-footer-action { + display: inline-flex; + align-items: center; + gap: 8px; + margin-left: 6px; + color: var(--text-muted); + background: transparent; + border: none; + padding: 0; + cursor: not-allowed; + font: inherit; +} diff --git a/apps/ui/css/logs.css b/apps/ui/css/logs.css new file mode 100644 index 0000000..a449de3 --- /dev/null +++ b/apps/ui/css/logs.css @@ -0,0 +1,136 @@ +.log-toolbar { + display: flex; + align-items: center; + gap: 8px; + padding: 12px 20px; + border-bottom: 1px solid var(--border-subtle); + flex-wrap: wrap; +} + +.live-dot { + width: 7px; + height: 7px; + border-radius: 50%; + background: var(--green); + animation: pulse 1.8s ease-in-out infinite; + flex-shrink: 0; + cursor: pointer; +} + +.live-dot.is-paused { + animation-play-state: paused; + opacity: 0.35; +} + +@keyframes pulse { + 0%, 100% { opacity: 1; box-shadow: 0 0 0 0 rgba(63,185,80,0.6); } + 50% { opacity: 0.7; box-shadow: 0 0 0 5px rgba(63,185,80,0); } +} + +.live-label { + font-size: 11.5px; + font-weight: 600; + color: var(--green); + letter-spacing: 0.2px; + cursor: pointer; +} + +.live-label.is-paused { + color: var(--text-muted); +} + +.toolbar-sep { width: 1px; height: 16px; background: var(--border); flex-shrink: 0; } + +.time-range-select { + background: var(--bg-canvas); + border: 1px solid var(--border); + border-radius: var(--radius); + padding: 5px 28px 5px 10px; + font-family: 'Inter', sans-serif; + font-size: 12.5px; + color: var(--text-secondary); + appearance: none; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%236e7681' d='M6 8L1 3h10z'/%3E%3C/svg%3E"); + background-repeat: no-repeat; + background-position: right 8px center; + cursor: pointer; + outline: none; +} + +.time-range-select:focus { + border-color: var(--accent); + box-shadow: 0 0 0 3px var(--accent-ring); +} + +.log-op-name { + font-family: 'JetBrains Mono', monospace; + font-size: 11.5px; + color: var(--text-muted); + background: var(--bg-overlay); + border: 1px solid var(--border-subtle); + padding: 1px 7px; + border-radius: 4px; + white-space: nowrap; +} + +.log-status { + font-family: 'JetBrains Mono', monospace; + font-size: 11.5px; + font-weight: 600; +} + +.log-status.ok { color: var(--green); } +.log-status.err { color: var(--red); } +.log-status.warn { color: var(--amber); } + +.log-entry-expanded { + padding: 10px 20px 16px calc(20px + 152px + 12px + 58px + 12px); + background: var(--bg-canvas); + border-bottom: 1px solid var(--border-subtle); + display: none; +} + +.log-entry-expanded.open { display: block; } + +.log-detail-block { + background: #161b22; + border: 1px solid var(--border); + border-radius: 6px; + padding: 12px 14px; + font-family: 'JetBrains Mono', monospace; + font-size: 12px; + color: #c9d1d9; + line-height: 1.65; + white-space: pre-wrap; + word-break: break-all; +} + +.log-detail-label { + font-size: 11px; + font-weight: 600; + letter-spacing: 0.5px; + text-transform: uppercase; + color: var(--text-muted); + margin-bottom: 6px; + margin-top: 12px; +} + +.log-detail-label:first-child { margin-top: 0; } + +.refresh-btn { + margin-left: auto; + display: inline-flex; + align-items: center; + gap: 6px; + padding: 5px 12px; + background: var(--bg-overlay); + border: 1px solid var(--border); + border-radius: var(--radius); + font-size: 12.5px; + color: var(--text-muted); + cursor: pointer; + font-family: 'Inter', sans-serif; + transition: all 0.12s; +} + +.refresh-btn:hover { color: var(--text-secondary); background: var(--bg-muted); } diff --git a/apps/ui/css/pages.css b/apps/ui/css/pages.css new file mode 100644 index 0000000..2246a98 --- /dev/null +++ b/apps/ui/css/pages.css @@ -0,0 +1,1755 @@ +/* ══════════════════════════════════════════════════ + SHARED INNER-PAGE STYLES + Used by: api-keys, logs, usage, settings +══════════════════════════════════════════════════ */ + +/* ── Dropdown divider (used in navbar and elsewhere) ── */ +.dropdown-divider { + height: 1px; + background: var(--border-subtle); + margin: 4px 0; +} + +/* ══════════════════════════════════════════════════ + PAGE HEADER +══════════════════════════════════════════════════ */ +.page-header { + display: flex; + align-items: flex-start; + gap: 16px; + margin-bottom: 28px; +} + +.page-header-text { flex: 1; } + +.page-title { + font-size: 22px; + font-weight: 700; + letter-spacing: -0.4px; + color: var(--text-primary); + line-height: 1.2; +} + +.page-subtitle { + font-size: 13.5px; + color: var(--text-muted); + margin-top: 4px; + line-height: 1.5; +} + +.page-header-actions { + display: flex; + align-items: center; + gap: 8px; + flex-shrink: 0; +} + +/* ══════════════════════════════════════════════════ + BUTTONS +══════════════════════════════════════════════════ */ +.btn-primary { + display: inline-flex; + align-items: center; + gap: 7px; + padding: 8px 16px; + background: var(--accent); + color: #fff; + border: 1px solid var(--accent-dim); + border-radius: var(--radius); + font-size: 13.5px; + font-weight: 500; + font-family: 'Inter', sans-serif; + cursor: pointer; + transition: all 0.15s; + white-space: nowrap; +} + +.btn-primary:hover { + background: var(--accent-dim); + box-shadow: 0 0 0 3px var(--accent-ring); +} + +.btn-primary:disabled, +.btn-primary.is-disabled { + opacity: 0.5; + cursor: not-allowed; + box-shadow: none; +} + +.btn-primary:disabled:hover, +.btn-primary.is-disabled:hover { + background: var(--accent); + box-shadow: none; +} + +.btn-secondary { + display: inline-flex; + align-items: center; + gap: 7px; + padding: 8px 16px; + background: var(--bg-overlay); + color: var(--text-secondary); + border: 1px solid var(--border); + border-radius: var(--radius); + font-size: 13.5px; + font-weight: 500; + font-family: 'Inter', sans-serif; + cursor: pointer; + transition: all 0.15s; + white-space: nowrap; +} + +.btn-secondary:hover { background: var(--bg-muted); color: var(--text-primary); } + +.btn-danger { + display: inline-flex; + align-items: center; + gap: 7px; + padding: 8px 16px; + background: transparent; + color: var(--red); + border: 1px solid rgba(248, 81, 73, 0.3); + border-radius: var(--radius); + font-size: 13.5px; + font-weight: 500; + font-family: 'Inter', sans-serif; + cursor: pointer; + transition: all 0.15s; +} + +.btn-danger:hover { background: var(--red-bg); border-color: var(--red-border); } + +.btn-icon { + width: 30px; + height: 30px; + display: inline-flex; + align-items: center; + justify-content: center; + background: var(--bg-overlay); + border: 1px solid var(--border); + border-radius: var(--radius); + color: var(--text-muted); + cursor: pointer; + transition: all 0.15s; + flex-shrink: 0; +} + +.btn-icon:hover { background: var(--bg-muted); color: var(--text-secondary); } + +.btn-icon.danger:hover { background: var(--red-bg); color: var(--red); border-color: var(--red-border); } + +/* ══════════════════════════════════════════════════ + TOASTS +══════════════════════════════════════════════════ */ +.toast-stack { + position: fixed; + top: 84px; + right: 20px; + z-index: 1200; + width: min(360px, calc(100vw - 32px)); + display: flex; + flex-direction: column; + gap: 10px; + pointer-events: none; +} + +.toast-card { + display: flex; + align-items: flex-start; + gap: 12px; + padding: 14px 16px; + border-radius: 14px; + border: 1px solid var(--border); + background: rgba(15, 23, 34, 0.96); + box-shadow: 0 18px 48px rgba(0, 0, 0, 0.32); + pointer-events: auto; + transition: opacity 0.18s ease, transform 0.18s ease; +} + +.toast-card.closing { + opacity: 0; + transform: translateY(-6px); +} + +.toast-info { border-color: rgba(56, 189, 248, 0.28); } +.toast-success { border-color: rgba(63, 185, 80, 0.32); } +.toast-error { border-color: rgba(248, 81, 73, 0.34); } + +.toast-copy { + min-width: 0; + flex: 1; +} + +.toast-title { + font-size: 12px; + font-weight: 700; + letter-spacing: 0.02em; + color: var(--text-primary); + margin-bottom: 3px; +} + +.toast-message { + font-size: 12.5px; + line-height: 1.5; + color: var(--text-secondary); +} + +.toast-close { + width: 22px; + height: 22px; + display: inline-flex; + align-items: center; + justify-content: center; + border: 0; + background: transparent; + color: var(--text-muted); + cursor: pointer; + flex-shrink: 0; +} + +.toast-close:hover { color: var(--text-primary); } + +/* ══════════════════════════════════════════════════ + SECTION CARD +══════════════════════════════════════════════════ */ +.section-card { + background: var(--bg-surface); + border: 1px solid var(--border); + border-radius: var(--radius-lg); + overflow: hidden; + margin-bottom: 20px; +} + +.section-card-header { + padding: 14px 20px; + border-bottom: 1px solid var(--border-subtle); + display: flex; + align-items: center; + gap: 12px; +} + +.section-card-title { + font-size: 13.5px; + font-weight: 600; + color: var(--text-primary); + flex: 1; +} + +.section-card-subtitle { + font-size: 12px; + color: var(--text-muted); + margin-top: 1px; +} + +.section-card-body { padding: 20px; } + +/* ══════════════════════════════════════════════════ + CALLOUT / INFO BOX +══════════════════════════════════════════════════ */ +.callout { + display: flex; + gap: 12px; + padding: 13px 16px; + border-radius: var(--radius); + margin-bottom: 20px; + border: 1px solid; + font-size: 13px; + line-height: 1.55; +} + +.callout.info { + background: rgba(88, 166, 255, 0.07); + border-color: var(--blue-border); + color: var(--text-secondary); +} + +.callout.warning { + background: var(--amber-bg); + border-color: var(--amber-border); + color: var(--text-secondary); +} + +.callout.danger { + background: var(--red-bg); + border-color: var(--red-border); + color: var(--text-secondary); +} + +.callout-icon { flex-shrink: 0; margin-top: 1px; } +.callout strong { color: var(--text-primary); } + +/* ══════════════════════════════════════════════════ + STAT CARDS +══════════════════════════════════════════════════ */ +.stats-grid { + display: grid; + grid-template-columns: repeat(4, 1fr); + gap: 12px; + margin-bottom: 24px; +} + +.stat-card { + background: var(--bg-surface); + border: 1px solid var(--border); + border-radius: var(--radius-lg); + padding: 16px 18px; +} + +.stat-label { + font-size: 11.5px; + font-weight: 500; + color: var(--text-muted); + text-transform: uppercase; + letter-spacing: 0.5px; + margin-bottom: 8px; +} + +.stat-value { + font-size: 28px; + font-weight: 700; + letter-spacing: -1px; + color: var(--text-primary); + line-height: 1; + margin-bottom: 4px; + font-variant-numeric: tabular-nums; +} + +.stat-delta { + font-size: 12px; + color: var(--text-muted); + display: flex; + align-items: center; + gap: 4px; +} + +.stat-delta.up { color: var(--green); } +.stat-delta.down { color: var(--red); } + +/* ══════════════════════════════════════════════════ + DATA TABLE +══════════════════════════════════════════════════ */ +.data-table { + width: 100%; + border-collapse: collapse; + font-size: 13.5px; +} + +.data-table th { + padding: 10px 16px; + text-align: left; + font-size: 11.5px; + font-weight: 600; + color: var(--text-muted); + text-transform: uppercase; + letter-spacing: 0.4px; + background: var(--bg-canvas); + border-bottom: 1px solid var(--border); + white-space: nowrap; +} + +.data-table td { + padding: 12px 16px; + color: var(--text-secondary); + border-bottom: 1px solid var(--border-subtle); + vertical-align: middle; +} + +.data-table tbody tr:last-child td { border-bottom: none; } + +.data-table tbody tr:hover td { background: var(--bg-overlay); } + +.data-table .col-name { color: var(--text-primary); font-weight: 500; } +.data-table .col-mono { + font-family: 'JetBrains Mono', monospace; + font-size: 12.5px; + color: var(--text-secondary); +} + +.data-table .col-actions { + text-align: right; + white-space: nowrap; +} + +.data-table .col-actions { display: flex; justify-content: flex-end; gap: 6px; } + +/* ══════════════════════════════════════════════════ + BADGES +══════════════════════════════════════════════════ */ +.badge { + display: inline-flex; + align-items: center; + gap: 4px; + padding: 2px 8px; + border-radius: 4px; + font-size: 11.5px; + font-weight: 500; + border: 1px solid; + white-space: nowrap; +} + +.badge-active { background: var(--green-bg); border-color: var(--green-border); color: var(--green); } +.badge-revoked { background: var(--red-bg); border-color: var(--red-border); color: var(--red); } +.badge-draft { background: var(--amber-bg); border-color: var(--amber-border); color: var(--amber); } +.badge-scope { + background: var(--bg-overlay); + border-color: var(--border); + color: var(--text-muted); + font-size: 10.5px; + padding: 1px 6px; +} + +.log-level { + display: inline-flex; + align-items: center; + gap: 5px; + padding: 2px 8px; + border-radius: 4px; + font-size: 11px; + font-weight: 700; + letter-spacing: 0.3px; + text-transform: uppercase; + border: 1px solid; + font-variant-numeric: tabular-nums; + white-space: nowrap; +} + +.log-level.info { background: rgba(88,166,255,0.08); border-color: var(--blue-border); color: var(--blue); } +.log-level.warn { background: var(--amber-bg); border-color: var(--amber-border); color: var(--amber); } +.log-level.error { background: var(--red-bg); border-color: var(--red-border); color: var(--red); } +.log-level.debug { background: var(--bg-overlay); border-color: var(--border); color: var(--text-muted); } + +/* ══════════════════════════════════════════════════ + PAGE TABS +══════════════════════════════════════════════════ */ +.page-tabs { + display: flex; + gap: 2px; + border-bottom: 1px solid var(--border); + margin-bottom: 20px; +} + +.page-tab { + padding: 8px 16px; + font-size: 13.5px; + font-weight: 450; + color: var(--text-muted); + border: none; + background: none; + cursor: pointer; + border-bottom: 2px solid transparent; + margin-bottom: -1px; + transition: all 0.15s; + font-family: 'Inter', sans-serif; + display: flex; + align-items: center; + gap: 7px; +} + +.page-tab:hover { color: var(--text-secondary); } +.page-tab.active { color: var(--text-primary); border-bottom-color: var(--accent); font-weight: 550; } + +.page-tab-count { + font-size: 11px; + background: var(--bg-overlay); + border: 1px solid var(--border); + border-radius: 10px; + padding: 0 6px; + color: var(--text-muted); + font-weight: 500; + min-width: 18px; + text-align: center; +} + +.page-tab.active .page-tab-count { + background: var(--accent-glow); + border-color: rgba(13,148,136,0.2); + color: var(--accent); +} + +/* ══════════════════════════════════════════════════ + FILTER BAR +══════════════════════════════════════════════════ */ +.filter-bar { + display: flex; + align-items: center; + gap: 8px; + margin-bottom: 16px; + flex-wrap: wrap; +} + +.filter-bar-search { + position: relative; + flex: 1; + min-width: 180px; + max-width: 320px; +} + +.filter-bar-search svg { + position: absolute; + left: 10px; + top: 50%; + transform: translateY(-50%); + color: var(--text-muted); + pointer-events: none; +} + +.filter-bar-search input { + width: 100%; + padding: 7px 12px 7px 32px; + background: var(--bg-canvas); + border: 1px solid var(--border); + border-radius: var(--radius); + font-family: 'Inter', sans-serif; + font-size: 13px; + color: var(--text-primary); + outline: none; + transition: border-color 0.15s; +} + +.filter-bar-search input::placeholder { color: var(--text-muted); } +.filter-bar-search input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-ring); } + +.filter-chip { + display: inline-flex; + align-items: center; + gap: 6px; + padding: 5px 12px; + background: var(--bg-overlay); + border: 1px solid var(--border); + border-radius: var(--radius); + font-size: 12.5px; + font-weight: 450; + color: var(--text-muted); + cursor: pointer; + transition: all 0.12s; + font-family: 'Inter', sans-serif; +} + +.filter-chip:hover { background: var(--bg-muted); color: var(--text-secondary); } +.filter-chip.active { background: var(--accent-glow); border-color: rgba(13,148,136,0.3); color: var(--accent); } + +/* ══════════════════════════════════════════════════ + LOG ENTRY +══════════════════════════════════════════════════ */ +.log-list { + display: flex; + flex-direction: column; +} + +.log-entry { + display: flex; + align-items: flex-start; + gap: 12px; + padding: 10px 20px; + border-bottom: 1px solid var(--border-subtle); + transition: background 0.1s; + font-size: 13px; + cursor: pointer; +} + +.log-entry:last-child { border-bottom: none; } +.log-entry:hover { background: var(--bg-overlay); } + +.log-time { + font-family: 'JetBrains Mono', monospace; + font-size: 11.5px; + color: var(--text-muted); + white-space: nowrap; + padding-top: 2px; + min-width: 152px; + flex-shrink: 0; +} + +.log-msg { + flex: 1; + line-height: 1.5; + color: var(--text-secondary); + word-break: break-word; +} + +.log-msg strong { color: var(--text-primary); font-weight: 500; } + +.log-duration { + font-family: 'JetBrains Mono', monospace; + font-size: 11.5px; + color: var(--text-muted); + white-space: nowrap; + flex-shrink: 0; + padding-top: 2px; + min-width: 54px; + text-align: right; +} + +.log-duration.slow { color: var(--amber); } +.log-duration.error { color: var(--red); } + +/* ══════════════════════════════════════════════════ + SETTINGS LAYOUT +══════════════════════════════════════════════════ */ +.settings-layout { + display: grid; + grid-template-columns: 200px 1fr; + gap: 32px; + align-items: flex-start; +} + +.settings-nav { + position: sticky; + top: 80px; + display: flex; + flex-direction: column; + gap: 2px; +} + +.settings-nav-item { + display: flex; + align-items: center; + gap: 9px; + padding: 8px 12px; + border-radius: var(--radius); + font-size: 13.5px; + color: var(--text-muted); + text-decoration: none; + transition: all 0.1s; + cursor: pointer; + border: none; + background: none; + font-family: 'Inter', sans-serif; + width: 100%; + text-align: left; +} + +.settings-nav-item svg { flex-shrink: 0; opacity: 0.7; } +.settings-nav-item:hover { background: var(--bg-overlay); color: var(--text-secondary); } +.settings-nav-item.active { background: var(--bg-overlay); color: var(--text-primary); font-weight: 500; } +.settings-nav-item.danger { color: var(--red); opacity: 0.8; } +.settings-nav-item.danger:hover { background: var(--red-bg); opacity: 1; } + +.settings-nav-divider { height: 1px; background: var(--border-subtle); margin: 6px 4px; } + +/* ── Form elements (for settings forms) ── */ +.field-group { display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; } +.field-label { + font-size: 12.5px; + font-weight: 500; + color: var(--text-secondary); + display: flex; + align-items: center; + gap: 6px; +} +.field-hint { font-size: 12px; color: var(--text-muted); line-height: 1.55; } +.field-input, +.field-select, +.field-textarea { + background: var(--bg-canvas); + border: 1px solid var(--border); + border-radius: var(--radius); + padding: 8px 12px; + font-family: 'Inter', sans-serif; + font-size: 13.5px; + color: var(--text-primary); + width: 100%; + outline: none; + transition: border-color 0.15s, box-shadow 0.15s; +} +.field-input::placeholder, .field-textarea::placeholder { color: var(--text-muted); } +.field-input:focus, .field-select:focus, .field-textarea:focus { + border-color: var(--accent); + box-shadow: 0 0 0 3px var(--accent-ring); +} +.field-select { + appearance: none; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236e7681' d='M6 8L1 3h10z'/%3E%3C/svg%3E"); + background-repeat: no-repeat; + background-position: right 11px center; + padding-right: 32px; + cursor: pointer; +} +.field-textarea { resize: vertical; min-height: 80px; line-height: 1.6; } +.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; } + +/* ── Section divider ── */ +.settings-section-divider { + height: 1px; + background: var(--border); + margin: 24px 0; +} + +/* ── API key display ── */ +.key-reveal { + display: flex; + align-items: center; + gap: 8px; + background: var(--bg-canvas); + border: 1px solid var(--border); + border-radius: var(--radius); + padding: 8px 12px; + font-family: 'JetBrains Mono', monospace; + font-size: 13px; + color: var(--text-secondary); + letter-spacing: 0.2px; +} + +.key-reveal .key-mask { flex: 1; letter-spacing: 2px; color: var(--text-muted); } +.key-reveal .key-copy { flex-shrink: 0; cursor: pointer; color: var(--text-muted); } +.key-reveal .key-copy:hover { color: var(--accent); } + +/* ══════════════════════════════════════════════════ + EMPTY STATE +══════════════════════════════════════════════════ */ +.empty-state { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + padding: 60px 24px; + text-align: center; +} + +.empty-state-icon { + width: 44px; + height: 44px; + background: var(--bg-overlay); + border: 1px solid var(--border); + border-radius: 10px; + display: flex; + align-items: center; + justify-content: center; + color: var(--text-muted); + margin-bottom: 14px; +} + +.empty-state-title { + font-size: 15px; + font-weight: 600; + color: var(--text-primary); + margin-bottom: 6px; +} + +.empty-state-text { + font-size: 13.5px; + color: var(--text-muted); + max-width: 320px; + line-height: 1.6; + margin-bottom: 20px; +} + +/* ══════════════════════════════════════════════════ + MODAL OVERLAY +══════════════════════════════════════════════════ */ +.modal-overlay { + position: fixed; + inset: 0; + background: rgba(0, 0, 0, 0.65); + z-index: 500; + display: flex; + align-items: center; + justify-content: center; + padding: 24px; + display: none; +} + +.modal-overlay.open { display: flex; } + +.modal { + background: var(--bg-surface); + border: 1px solid var(--border); + border-radius: 12px; + width: 100%; + max-width: 480px; + box-shadow: 0 8px 40px rgba(0,0,0,0.6); + overflow: hidden; +} + +.modal-header { + padding: 18px 20px 14px; + border-bottom: 1px solid var(--border-subtle); + display: flex; + align-items: center; + gap: 12px; +} + +.modal-title { + font-size: 15px; + font-weight: 600; + color: var(--text-primary); + flex: 1; +} + +.modal-close { + width: 26px; + height: 26px; + display: flex; + align-items: center; + justify-content: center; + border: none; + background: none; + color: var(--text-muted); + cursor: pointer; + border-radius: var(--radius); + transition: all 0.1s; +} +.modal-close:hover { background: var(--bg-overlay); color: var(--text-primary); } + +.modal-body { padding: 20px; } +.modal-footer { padding: 14px 20px; border-top: 1px solid var(--border-subtle); display: flex; justify-content: flex-end; gap: 8px; } + +/* ══════════════════════════════════════════════════ + RESPONSIVE +══════════════════════════════════════════════════ */ +@media (max-width: 960px) { + .stats-grid { grid-template-columns: repeat(2, 1fr); } +} + +@media (max-width: 720px) { + .page-header { flex-direction: column; gap: 12px; } + .page-header-actions { width: 100%; } + .settings-layout { grid-template-columns: 1fr; } + .settings-nav { + position: sticky; + top: 108px; + z-index: 40; + flex-direction: row; + flex-wrap: nowrap; + overflow-x: auto; + gap: 8px; + margin: 0 -4px 8px; + padding: 4px; + background: var(--bg-canvas); + scrollbar-width: none; + } + .settings-nav::-webkit-scrollbar { display: none; } + .settings-nav-item { + flex: 0 0 auto; + width: auto; + white-space: nowrap; + } + .section-anchor { scroll-margin-top: 136px; } + .filter-bar { flex-direction: column; align-items: stretch; } + .filter-bar-search { max-width: none; } + .stats-grid { grid-template-columns: 1fr 1fr; } + .field-row { grid-template-columns: 1fr; } +} + +@media (max-width: 480px) { + .stats-grid { grid-template-columns: 1fr; } +} + +/* ── Language switcher ── */ +.lang-switcher { + display: flex; + gap: 8px; +} + +.lang-btn { + display: flex; + align-items: center; + gap: 8px; + padding: 8px 18px; + background: var(--bg-canvas); + border: 1.5px solid var(--border); + border-radius: 8px; + font-family: 'Inter', sans-serif; + font-size: 13px; + font-weight: 500; + color: var(--text-secondary); + cursor: pointer; + transition: border-color 0.15s, color 0.15s, background 0.15s; +} + +.lang-btn:hover { + border-color: var(--accent); + color: var(--text-primary); +} + +.lang-btn.active { + border-color: var(--accent); + background: var(--accent-glow); + color: #fff; + font-weight: 600; +} + +.lang-flag { + font-size: 16px; + line-height: 1; +} + + +/* ═══════════════════════════════════════════════════ + Workspace switcher +═══════════════════════════════════════════════════ */ +.ws-switcher { + position: relative; + display: flex; + align-items: center; + margin-left: 4px; +} + +.ws-switcher-trigger { + display: flex; + align-items: center; + gap: 7px; + padding: 4px 8px 4px 4px; + background: none; + border: 1px solid var(--border); + border-radius: 8px; + cursor: pointer; + color: var(--text-primary); + font-size: 13px; + font-weight: 500; + transition: border-color 0.15s, background 0.15s; + max-width: 200px; + white-space: nowrap; +} +.ws-switcher-trigger:hover { border-color: var(--border-muted, #444c56); background: rgba(255,255,255,0.03); } + +.ws-dot { + width: 22px; + height: 22px; + border-radius: 5px; + background: #0d9488; + color: #fff; + font-size: 11px; + font-weight: 700; + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; +} + +.ws-current-name { + overflow: hidden; + text-overflow: ellipsis; + max-width: 140px; +} + +.ws-dropdown { + position: absolute; + top: calc(100% + 6px); + left: 0; + min-width: 230px; + background: var(--bg-surface); + border: 1px solid var(--border); + border-radius: 10px; + box-shadow: 0 8px 28px rgba(0,0,0,0.45); + z-index: 200; + overflow: hidden; +} + +.ws-dropdown-label { + padding: 10px 14px 4px; + font-size: 11px; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.06em; + color: var(--text-muted); +} + +.ws-dropdown-item { + display: flex; + align-items: center; + gap: 10px; + padding: 8px 14px; + cursor: pointer; + transition: background 0.1s; +} +.ws-dropdown-item:hover { background: rgba(255,255,255,0.04); } +.ws-dropdown-item.active { background: rgba(56,139,253,0.08); } + +.ws-item-dot { + width: 30px; + height: 30px; + border-radius: 7px; + display: flex; + align-items: center; + justify-content: center; + font-size: 13px; + font-weight: 700; + color: #fff; + flex-shrink: 0; +} + +.ws-item-info { flex: 1; min-width: 0; } +.ws-item-name { + font-size: 13px; + font-weight: 500; + color: var(--text-primary); + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.ws-item-role { font-size: 11px; color: var(--text-muted); } + +.ws-dropdown-footer { border-top: 1px solid var(--border-subtle); padding: 6px 8px; } +.ws-dropdown-create { + display: flex; + align-items: center; + gap: 8px; + width: 100%; + padding: 6px 8px; + background: none; + border: none; + border-radius: 6px; + cursor: pointer; + font-size: 13px; + color: var(--text-secondary); + transition: background 0.1s, color 0.1s; +} +.ws-dropdown-create:hover { background: rgba(255,255,255,0.04); color: var(--text-primary); } + + +/* ═══════════════════════════════════════════════════ + Agents page — info callout +═══════════════════════════════════════════════════ */ +.agents-info-callout { + display: flex; + align-items: center; + gap: 10px; + padding: 10px 16px; + background: rgba(56,139,253,0.07); + border: 1px solid rgba(56,139,253,0.2); + border-radius: 8px; + font-size: 13px; + color: var(--text-secondary); + line-height: 1.5; + margin-bottom: 24px; +} +.agents-info-callout strong { color: var(--text-primary); } + + +/* ═══════════════════════════════════════════════════ + Agent cards grid +═══════════════════════════════════════════════════ */ +.agents-grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); + gap: 16px; + margin-bottom: 40px; +} + +.agent-card { + background: var(--bg-surface); + border: 1px solid var(--border); + border-radius: 12px; + padding: 20px; + display: flex; + flex-direction: column; + gap: 14px; + transition: border-color 0.15s; +} +.agent-card:hover { border-color: var(--border-muted, #444c56); } + +.agent-card-header { + display: flex; + align-items: flex-start; + gap: 12px; +} + +.agent-card-icon { + width: 38px; + height: 38px; + border-radius: 9px; + background: rgba(56,139,253,0.1); + border: 1px solid rgba(56,139,253,0.2); + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + color: var(--accent); +} + +.agent-card-title-wrap { flex: 1; min-width: 0; } +.agent-card-name { + font-size: 14px; + font-weight: 600; + color: var(--text-primary); + line-height: 1.3; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +.agent-card-slug { + font-family: var(--font-mono, monospace); + font-size: 11px; + color: var(--text-muted); + margin-top: 2px; +} + +.agent-status-badge { + font-size: 11px; + font-weight: 600; + padding: 2px 8px; + border-radius: 20px; + white-space: nowrap; + flex-shrink: 0; +} +.agent-status-published { background: rgba(63,185,80,0.15); color: #3fb950; border: 1px solid rgba(63,185,80,0.3); } +.agent-status-draft { background: rgba(139,148,158,0.15); color: #8b949e; border: 1px solid rgba(139,148,158,0.3); } +.agent-status-archived { background: rgba(210,153,34,0.15); color: #d29922; border: 1px solid rgba(210,153,34,0.3); } + +.agent-card-desc { + font-size: 13px; + color: var(--text-secondary); + line-height: 1.55; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + overflow: hidden; +} + +.agent-card-stats { + display: flex; + gap: 16px; + flex-wrap: wrap; +} +.agent-stat { + display: flex; + align-items: center; + gap: 5px; + font-size: 12px; + color: var(--text-muted); +} +.agent-stat-value { font-weight: 600; color: var(--text-secondary); } + +.agent-endpoint-row { + display: flex; + align-items: center; + gap: 8px; + padding: 7px 10px; + background: var(--bg-canvas); + border: 1px solid var(--border-subtle); + border-radius: 6px; +} +.agent-endpoint-url { + flex: 1; + font-family: var(--font-mono, monospace); + font-size: 11px; + color: var(--text-muted); + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.agent-endpoint-copy { + background: none; + border: none; + padding: 2px 4px; + cursor: pointer; + color: var(--text-muted); + border-radius: 4px; + display: flex; + align-items: center; + transition: color 0.1s, background 0.1s; + flex-shrink: 0; +} +.agent-endpoint-copy:hover { color: var(--accent); background: rgba(56,139,253,0.1); } + +.agent-card-footer { + display: flex; + flex-direction: column; + align-items: stretch; + gap: 12px; + padding-top: 12px; + border-top: 1px solid var(--border-subtle); +} +.agent-card-date { + font-size: 11px; + color: var(--text-muted); + line-height: 1.45; +} + +.agent-card-actions { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: 6px; + width: 100%; +} +.agent-action-btn { + display: flex; + align-items: center; + justify-content: center; + gap: 5px; + padding: 4px 10px; + background: none; + border: 1px solid var(--border); + border-radius: 6px; + font-size: 12px; + font-weight: 500; + color: var(--text-secondary); + cursor: pointer; + transition: border-color 0.15s, color 0.15s, background 0.15s; + min-width: 0; + white-space: normal; + text-align: center; +} +.agent-action-btn:hover { border-color: var(--border-muted, #444c56); color: var(--text-primary); background: rgba(255,255,255,0.03); } +.agent-action-btn.danger:hover { border-color: var(--error, #f87171); color: var(--error, #f87171); background: rgba(248,113,113,0.06); } + + +/* ═══════════════════════════════════════════════════ + Drawer (side panel) +═══════════════════════════════════════════════════ */ +.drawer-overlay { + position: fixed; + inset: 0; + background: rgba(0,0,0,0.45); + z-index: 150; + backdrop-filter: blur(2px); +} + +.drawer { + position: fixed; + top: 0; + right: 0; + bottom: 0; + width: 520px; + max-width: 100vw; + background: var(--bg-surface); + border-left: 1px solid var(--border); + z-index: 151; + display: flex; + flex-direction: column; + transform: translateX(100%); + transition: transform 0.22s cubic-bezier(0.4, 0, 0.2, 1); +} +.drawer.open { transform: translateX(0); } + +.drawer-header { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: 16px; + padding: 24px 24px 20px; + border-bottom: 1px solid var(--border-subtle); + flex-shrink: 0; +} +.drawer-title { font-size: 16px; font-weight: 600; color: var(--text-primary); } +.drawer-subtitle{ font-size: 13px; color: var(--text-muted); margin-top: 3px; } +.drawer-close { + background: none; + border: 1px solid var(--border); + border-radius: 6px; + padding: 6px; + cursor: pointer; + color: var(--text-muted); + display: flex; + align-items: center; + transition: border-color 0.15s, color 0.15s; + flex-shrink: 0; +} +.drawer-close:hover { border-color: var(--error, #f87171); color: var(--error, #f87171); } + +.drawer-body { + flex: 1; + overflow-y: auto; + padding: 24px; + display: flex; + flex-direction: column; + gap: 28px; +} + +.drawer-section {} +.drawer-section-header { + display: flex; + align-items: center; + justify-content: space-between; + margin-bottom: 4px; +} +.drawer-section-title { + font-size: 13px; + font-weight: 600; + color: var(--text-primary); + margin-bottom: 14px; +} +.drawer-section-header .drawer-section-title { margin-bottom: 0; } +.drawer-section-count { + font-size: 12px; + font-weight: 500; + color: var(--accent); + background: rgba(56,139,253,0.1); + padding: 2px 8px; + border-radius: 20px; +} +.drawer-section-sub { + font-size: 12px; + color: var(--text-muted); + margin-bottom: 12px; + line-height: 1.5; +} + +.drawer-footer { + display: flex; + align-items: center; + justify-content: flex-end; + gap: 8px; + padding: 16px 24px; + border-top: 1px solid var(--border-subtle); + flex-shrink: 0; + background: var(--bg-surface); +} + + +/* ═══════════════════════════════════════════════════ + Agent status toggle (in drawer) +═══════════════════════════════════════════════════ */ +.agent-status-toggle { + display: flex; + gap: 0; + background: var(--bg-canvas); + border: 1px solid var(--border); + border-radius: 8px; + padding: 3px; +} +.agent-status-opt { + flex: 1; + display: flex; + align-items: center; + justify-content: center; + gap: 6px; + padding: 6px 12px; + background: none; + border: none; + border-radius: 6px; + font-size: 13px; + font-weight: 500; + color: var(--text-muted); + cursor: pointer; + transition: background 0.15s, color 0.15s; +} +.agent-status-opt.active { + background: var(--bg-surface); + color: var(--text-primary); + box-shadow: 0 1px 3px rgba(0,0,0,0.25); +} +.status-dot { + width: 7px; + height: 7px; + border-radius: 50%; + flex-shrink: 0; +} + + +/* ═══════════════════════════════════════════════════ + Operations picker (in drawer) +═══════════════════════════════════════════════════ */ +.ops-picker { + border: 1px solid var(--border); + border-radius: 8px; + overflow: hidden; +} + +.ops-picker-search { + display: flex; + align-items: center; + gap: 8px; + padding: 8px 12px; + border-bottom: 1px solid var(--border-subtle); + background: var(--bg-canvas); +} +.ops-picker-search-input { + flex: 1; + background: none; + border: none; + outline: none; + font-size: 13px; + color: var(--text-primary); + font-family: inherit; +} +.ops-picker-search-input::placeholder { color: var(--text-muted); } +.ops-picker-clear { + background: none; + border: none; + padding: 2px; + cursor: pointer; + color: var(--text-muted); + display: flex; + align-items: center; + border-radius: 3px; +} +.ops-picker-clear:hover { color: var(--text-secondary); } + +.ops-picker-list { + max-height: 260px; + overflow-y: auto; +} + +.ops-picker-item { + display: flex; + align-items: center; + gap: 10px; + padding: 9px 12px; + cursor: pointer; + border-bottom: 1px solid var(--border-subtle); + transition: background 0.1s; +} +.ops-picker-item:last-child { border-bottom: none; } +.ops-picker-item:hover { background: rgba(255,255,255,0.03); } +.ops-picker-item.selected { background: rgba(56,139,253,0.07); } + +.ops-picker-check { + width: 16px; + height: 16px; + border: 1.5px solid var(--border); + border-radius: 4px; + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + transition: border-color 0.1s, background 0.1s; +} +.ops-picker-item.selected .ops-picker-check { + border-color: var(--accent); + background: rgba(56,139,253,0.12); +} + +.ops-picker-info { flex: 1; min-width: 0; } +.ops-picker-name { + font-size: 13px; + font-weight: 500; + color: var(--text-primary); + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +.ops-picker-slug { + font-family: var(--font-mono, monospace); + font-size: 10px; + color: var(--text-muted); + margin-top: 1px; +} + +.ops-picker-status-dot { + width: 6px; + height: 6px; + border-radius: 50%; + flex-shrink: 0; +} +.ops-status-active { background: #3fb950; } +.ops-status-draft { background: #8b949e; } +.ops-status-error { background: #f85149; } +.ops-status-inactive { background: #8b949e; } + +.ops-picker-empty { + padding: 20px; + text-align: center; + font-size: 13px; + color: var(--text-muted); +} + +.ops-picker-footer { + padding: 8px 12px; + border-top: 1px solid var(--border-subtle); + background: var(--bg-canvas); + font-size: 12px; + color: var(--text-secondary); + display: flex; + align-items: center; +} + + +/* ═══════════════════════════════════════════════════ + Agents — recommendation callout +═══════════════════════════════════════════════════ */ +.agents-rec-callout { + display: flex; + align-items: flex-start; + gap: 8px; + margin-top: 10px; + padding: 10px 12px; + background: rgba(210,153,34,0.08); + border: 1px solid rgba(210,153,34,0.25); + border-radius: 7px; + font-size: 12px; + color: var(--text-secondary); + line-height: 1.5; +} +.agents-rec-callout svg { flex-shrink: 0; color: #d2991f; margin-top: 1px; } +.agents-rec-callout strong { color: var(--text-primary); } + + +/* ═══════════════════════════════════════════════════ + Settings — Members enhanced +═══════════════════════════════════════════════════ */ +.member-row { + display: flex; + align-items: center; + gap: 12px; + padding: 10px 0; + border-bottom: 1px solid var(--border-subtle); +} +.member-row:last-child { border-bottom: none; } + +.member-last-active { + font-size: 12px; + color: var(--text-muted); + white-space: nowrap; + min-width: 80px; + text-align: right; +} + +.member-role-select { + background: var(--bg-canvas); + border: 1px solid var(--border); + border-radius: 6px; + color: var(--text-secondary); + font-size: 12px; + font-weight: 500; + padding: 4px 8px; + cursor: pointer; + outline: none; + transition: border-color 0.15s; + min-width: 110px; +} +.member-role-select:hover { border-color: var(--accent); } +.member-role-select:focus { border-color: var(--accent); } + +.member-remove-btn { + background: none; + border: 1px solid var(--border); + border-radius: 6px; + padding: 5px 6px; + cursor: pointer; + color: var(--text-muted); + display: flex; + align-items: center; + justify-content: center; + transition: border-color 0.15s, color 0.15s, background 0.15s; + flex-shrink: 0; +} +.member-remove-btn:hover { + border-color: var(--error, #f87171); + color: var(--error, #f87171); + background: rgba(248,113,113,0.07); +} + +.member-role-badge { + font-size: 11px; + font-weight: 600; + padding: 2px 9px; + border-radius: 20px; + white-space: nowrap; + flex-shrink: 0; +} +.role-owner { background: rgba(56,139,253,0.15); color: #58a6ff; border: 1px solid rgba(56,139,253,0.3); } +.role-admin { background: rgba(139,92,246,0.15); color: #a78bfa; border: 1px solid rgba(139,92,246,0.3); } +.role-developer { background: rgba(63,185,80,0.12); color: #3fb950; border: 1px solid rgba(63,185,80,0.25); } +.role-viewer { background: rgba(139,148,158,0.15); color: #8b949e; border: 1px solid rgba(139,148,158,0.3); } + +.role-def-row { + display: flex; + align-items: flex-start; + gap: 16px; + padding: 11px 20px; + border-bottom: 1px solid var(--border-subtle); +} +.role-def-row:last-child { border-bottom: none; } +.role-def-text { + font-size: 13px; + color: var(--text-secondary); + line-height: 1.5; +} + +/* ── Workspace dropdown management links ── */ +.ws-dropdown-divider { + height: 1px; + background: var(--border-subtle); + margin: 4px 0; +} +.ws-dropdown-mgmt-link { + display: flex; + align-items: center; + gap: 8px; + padding: 7px 14px; + font-size: 13px; + color: var(--text-secondary); + text-decoration: none; + transition: background 0.1s, color 0.1s; + cursor: pointer; +} +.ws-dropdown-mgmt-link:hover { + background: rgba(255,255,255,0.04); + color: var(--text-primary); +} +.ws-dropdown-mgmt-link svg { + flex-shrink: 0; + opacity: 0.7; +} + +@media (max-width: 900px) { + .toast-stack { + top: 72px; + right: 16px; + left: 16px; + width: auto; + } +} + +.list-toolbar { + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; + margin-bottom: 16px; + flex-wrap: wrap; +} + +.list-toolbar-group { + display: flex; + align-items: center; + gap: 10px; + flex-wrap: wrap; +} + +.page-select { + min-height: 36px; + padding: 8px 12px; + border: 1px solid var(--border); + border-radius: 10px; + background: var(--bg-overlay); + color: var(--text-secondary); + font-size: 13px; + font-family: 'Inter', sans-serif; +} + +.resource-list { + display: grid; + gap: 14px; +} + +.resource-card { + background: var(--bg-overlay); + border: 1px solid var(--border); + border-radius: 14px; + padding: 16px; +} + +.resource-card-header { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: 14px; + margin-bottom: 12px; +} + +.resource-card-title { + font-size: 14px; + font-weight: 600; + color: var(--text-primary); +} + +.resource-card-subtitle { + margin-top: 4px; + font-size: 12px; + color: var(--text-muted); + word-break: break-all; +} + +.resource-card-actions { + display: flex; + align-items: center; + gap: 8px; + flex-shrink: 0; +} + +.resource-meta-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); + gap: 12px; + margin-bottom: 14px; +} + +.resource-meta-item { + min-width: 0; +} + +.resource-meta-label { + font-size: 11px; + font-weight: 600; + letter-spacing: 0.04em; + text-transform: uppercase; + color: var(--text-muted); + margin-bottom: 4px; +} + +.resource-meta-value { + font-size: 13px; + color: var(--text-primary); + line-height: 1.5; + word-break: break-word; +} + +.resource-detail-block { + margin-top: 12px; + border-top: 1px solid var(--border-subtle); + padding-top: 12px; +} + +.resource-detail-title { + font-size: 12px; + font-weight: 600; + color: var(--text-primary); + margin-bottom: 8px; +} + +.resource-detail-pre { + margin: 0; + padding: 12px 14px; + border-radius: 12px; + background: rgba(12, 17, 24, 0.8); + border: 1px solid var(--border-subtle); + color: var(--text-secondary); + font-size: 12px; + line-height: 1.5; + overflow: auto; + white-space: pre-wrap; + word-break: break-word; +} + +.resource-pill-row { + display: flex; + align-items: center; + gap: 8px; + flex-wrap: wrap; + margin-top: 8px; +} + +.resource-status-pill { + display: inline-flex; + align-items: center; + gap: 6px; + padding: 5px 9px; + border-radius: 999px; + font-size: 12px; + font-weight: 600; + border: 1px solid var(--border); + background: rgba(255, 255, 255, 0.04); + color: var(--text-secondary); +} + +.resource-status-pill.active, +.resource-status-pill.running, +.resource-status-pill.succeeded { + border-color: rgba(63, 185, 80, 0.28); + background: rgba(63, 185, 80, 0.12); + color: #71dd8a; +} + +.resource-status-pill.idle, +.resource-status-pill.pending { + border-color: rgba(110, 118, 129, 0.28); + background: rgba(110, 118, 129, 0.12); + color: var(--text-secondary); +} + +.resource-status-pill.failed, +.resource-status-pill.cancelled, +.resource-status-pill.stopped { + border-color: rgba(248, 81, 73, 0.28); + background: rgba(248, 81, 73, 0.12); + color: #ff8a83; +} + +.resource-status-pill.completed { + border-color: rgba(56, 189, 248, 0.28); + background: rgba(56, 189, 248, 0.12); + color: #79d8ff; +} diff --git a/apps/ui/css/settings.css b/apps/ui/css/settings.css new file mode 100644 index 0000000..339a2aa --- /dev/null +++ b/apps/ui/css/settings.css @@ -0,0 +1,205 @@ +.avatar-upload { + display: flex; + align-items: center; + gap: 16px; + padding: 16px; + background: var(--bg-canvas); + border: 1px solid var(--border); + border-radius: var(--radius); + margin-bottom: 4px; +} + +.avatar-large { + width: 52px; + height: 52px; + border-radius: 50%; + background: linear-gradient(135deg, #0d9488, #6366f1); + color: #fff; + font-size: 18px; + font-weight: 700; + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + border: 2px solid var(--border); +} + +.avatar-upload-actions { flex: 1; } +.avatar-name { font-size: 14px; font-weight: 600; color: var(--text-primary); margin-bottom: 3px; } +.avatar-sub { font-size: 12px; color: var(--text-muted); margin-bottom: 8px; } + +.save-bar { + position: sticky; + bottom: 0; + background: rgba(13,17,23,0.9); + backdrop-filter: blur(12px); + border-top: 1px solid var(--border); + padding: 12px 20px; + display: flex; + align-items: center; + justify-content: flex-end; + gap: 8px; + margin-top: auto; + display: none; +} + +.save-bar.visible { display: flex; } + +.section-anchor { scroll-margin-top: 80px; } + +.danger-zone-action { + display: flex; + align-items: flex-start; + gap: 16px; + padding: 16px; + border-bottom: 1px solid var(--border-subtle); +} + +.danger-zone-action:last-child { border-bottom: none; } + +.danger-zone-text { flex: 1; } +.danger-zone-title { font-size: 13.5px; font-weight: 500; color: var(--text-primary); margin-bottom: 3px; } +.danger-zone-desc { font-size: 12.5px; color: var(--text-muted); line-height: 1.5; } + +.toggle-setting-row { + display: flex; + align-items: center; + gap: 14px; + padding: 14px 0; + border-bottom: 1px solid var(--border-subtle); +} + +.toggle-setting-row:last-child { border-bottom: none; } + +.toggle-sm { + width: 36px; + height: 20px; + border-radius: 10px; + background: var(--bg-muted); + border: 1px solid var(--border); + position: relative; + flex-shrink: 0; + cursor: pointer; + transition: background 0.2s; +} + +.toggle-sm.on { background: var(--accent); border-color: var(--accent-dim); } + +.toggle-sm::after { + content: ''; + position: absolute; + left: 2px; top: 1px; + width: 16px; height: 16px; + border-radius: 50%; + background: #fff; + box-shadow: 0 1px 3px rgba(0,0,0,0.3); + transition: transform 0.2s; +} + +.toggle-sm.on::after { transform: translateX(16px); } + +.toggle-setting-text { flex: 1; } +.toggle-setting-label { font-size: 13.5px; font-weight: 500; color: var(--text-primary); } +.toggle-setting-desc { font-size: 12px; color: var(--text-muted); margin-top: 2px; } + +.member-row { + display: flex; + align-items: center; + gap: 12px; + padding: 10px 0; + border-bottom: 1px solid var(--border-subtle); +} + +.member-row:last-child { border-bottom: none; } + +.member-avatar { + width: 30px; + height: 30px; + border-radius: 50%; + background: var(--bg-muted); + border: 1px solid var(--border); + display: flex; + align-items: center; + justify-content: center; + font-size: 11px; + font-weight: 700; + color: var(--text-secondary); + flex-shrink: 0; +} + +.member-info { flex: 1; } +.member-name { font-size: 13.5px; color: var(--text-primary); font-weight: 500; } +.member-email { font-size: 12px; color: var(--text-muted); } + +.member-role-badge { + font-size: 11px; + font-weight: 600; + padding: 2px 8px; + border-radius: 4px; + border: 1px solid; +} + +.role-admin { background: rgba(13,148,136,0.1); border-color: rgba(13,148,136,0.25); color: var(--accent); } +.role-member { background: var(--bg-overlay); border-color: var(--border); color: var(--text-muted); } +.role-viewer { background: rgba(88,166,255,0.07); border-color: var(--blue-border); color: var(--blue); } + +.planned-section-title { + display: flex; + align-items: center; + gap: 10px; + margin-bottom: 12px; + font-size: 13.5px; + font-weight: 600; + color: var(--text-primary); +} + +.planned-badge { + display: inline-flex; + align-items: center; + justify-content: center; + padding: 2px 8px; + border-radius: 999px; + border: 1px solid rgba(245, 158, 11, 0.24); + background: rgba(245, 158, 11, 0.09); + color: var(--amber); + font-size: 10px; + font-weight: 700; + letter-spacing: 0.02em; + text-transform: uppercase; +} + +.planned-badge.small { + padding: 1px 7px; +} + +.planned-list { + display: grid; + gap: 12px; +} + +.planned-item { + padding: 14px 16px; + border-radius: var(--radius); + border: 1px solid var(--border); + background: rgba(255, 255, 255, 0.02); +} + +.planned-item-head { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: 10px; + margin-bottom: 6px; +} + +.planned-item-title { + font-size: 13px; + font-weight: 600; + color: var(--text-primary); +} + +.planned-item-desc { + font-size: 12.5px; + line-height: 1.5; + color: var(--text-muted); +} diff --git a/apps/ui/css/usage.css b/apps/ui/css/usage.css new file mode 100644 index 0000000..14fc42e --- /dev/null +++ b/apps/ui/css/usage.css @@ -0,0 +1,145 @@ +.period-select { + background: var(--bg-canvas); + border: 1px solid var(--border); + border-radius: var(--radius); + padding: 7px 28px 7px 11px; + font-family: 'Inter', sans-serif; + font-size: 13px; + color: var(--text-secondary); + appearance: none; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%236e7681' d='M6 8L1 3h10z'/%3E%3C/svg%3E"); + background-repeat: no-repeat; + background-position: right 8px center; + cursor: pointer; + outline: none; + transition: border-color 0.15s; +} + +.period-select:focus { + border-color: var(--accent); + box-shadow: 0 0 0 3px var(--accent-ring); +} + +.chart-placeholder { + background: var(--bg-canvas); + border: 1px solid var(--border); + border-radius: var(--radius-lg); + height: 248px; + display: flex; + align-items: stretch; + padding: 12px 16px; + gap: 4px; + overflow: hidden; + position: relative; +} + +.chart-col { + flex: 1; + min-width: 0; + height: 100%; + display: flex; + flex-direction: column; + align-items: center; + justify-content: flex-end; + gap: 10px; +} + +.chart-col-bars { + flex: 1; + width: 100%; + min-height: 0; + display: flex; + flex-direction: column; + justify-content: flex-end; + gap: 2px; +} + +.chart-bar { + flex: 0 0 auto; + border-radius: 3px 3px 0 0; + min-width: 0; + width: 100%; + transition: opacity 0.15s; + position: relative; + cursor: pointer; +} + +.chart-bar:hover { opacity: 0.8; } +.chart-bar:hover::after { + content: attr(data-tip); + position: absolute; + bottom: 100%; + left: 50%; + transform: translateX(-50%); + background: var(--bg-surface); + border: 1px solid var(--border); + border-radius: 5px; + padding: 4px 8px; + font-size: 11px; + color: var(--text-primary); + white-space: nowrap; + pointer-events: none; + margin-bottom: 4px; +} + +.chart-bar.success { background: linear-gradient(180deg, var(--accent) 0%, rgba(13,148,136,0.4) 100%); } +.chart-bar.error { background: linear-gradient(180deg, var(--red) 0%, rgba(248,81,73,0.3) 100%); } + +.chart-col-label { + flex: 0 0 auto; + width: 100%; + text-align: center; + font-size: 10.5px; + line-height: 1; + color: var(--text-muted); + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.chart-wrap { + position: relative; + padding-bottom: 24px; +} + +.chart-y-grid { + position: absolute; + left: 0; right: 0; top: 0; bottom: 24px; + display: flex; + flex-direction: column; + justify-content: space-between; + pointer-events: none; +} + +.chart-y-line { + width: 100%; + height: 1px; + background: var(--border-subtle); +} + +.quota-bar-wrap { + height: 8px; + background: var(--bg-muted); + border-radius: 4px; + overflow: hidden; + margin: 8px 0 4px; +} + +.quota-bar-fill { + height: 100%; + border-radius: 4px; + background: linear-gradient(90deg, var(--accent), #7c3aed); +} + +.latency-bar { + display: flex; + height: 12px; + border-radius: 3px; + overflow: hidden; + gap: 2px; +} + +.latency-seg { border-radius: 2px; } +.latency-p50 { background: var(--accent); } +.latency-p95 { background: var(--amber); } +.latency-p99 { background: var(--red); } diff --git a/apps/ui/css/variables.css b/apps/ui/css/variables.css new file mode 100644 index 0000000..b48a1a7 --- /dev/null +++ b/apps/ui/css/variables.css @@ -0,0 +1,64 @@ +:root { + --bg-canvas: #0d1117; + --bg-surface: #161b22; + --bg-overlay: #21262d; + --bg-muted: #30363d; + --border: rgba(48, 54, 61, 0.9); + --border-subtle: rgba(33, 38, 45, 0.9); + + --text-primary: #e6edf3; + --text-secondary: #8b949e; + --text-muted: #6e7681; + + --accent: #0d9488; + --accent-dim: #0f766e; + --accent-bright: #14b8a6; + --accent-glow: rgba(13, 148, 136, 0.15); + --accent-ring: rgba(13, 148, 136, 0.25); + + --red: #f85149; + --red-bg: rgba(248, 81, 73, 0.10); + --red-border: rgba(248, 81, 73, 0.25); + --amber: #d29922; + --amber-bg: rgba(210, 153, 34, 0.10); + --amber-border: rgba(210, 153, 34, 0.25); + --green: #3fb950; + --green-bg: rgba(63, 185, 80, 0.10); + --green-border: rgba(63, 185, 80, 0.25); + --blue: #58a6ff; + --blue-bg: rgba(88, 166, 255, 0.08); + --blue-border: rgba(88, 166, 255, 0.20); + --purple: #bc8cff; + --purple-bg: rgba(188, 140, 255, 0.08); + --purple-border: rgba(188, 140, 255, 0.20); + + --radius-sm: 5px; + --radius: 7px; + --radius-lg: 10px; + + --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3); + --shadow: 0 1px 3px rgba(0, 0, 0, 0.4), 0 4px 16px rgba(0, 0, 0, 0.3); +} + +*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } + +html, body { + height: 100%; + min-width: 360px; + font-family: 'Inter', system-ui, sans-serif; + background: var(--bg-canvas); + color: var(--text-primary); + font-size: 14px; + line-height: 1.5; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +a { color: inherit; text-decoration: none; } +button { cursor: pointer; font-family: inherit; } + +::-webkit-scrollbar { width: 6px; height: 6px; } +::-webkit-scrollbar-track { background: transparent; } +::-webkit-scrollbar-thumb { background: var(--bg-muted); border-radius: 3px; } +::-webkit-scrollbar-thumb:hover { background: #484f58; } +::selection { background: var(--accent-glow); color: var(--text-primary); } diff --git a/apps/ui/css/wizard.css b/apps/ui/css/wizard.css new file mode 100644 index 0000000..7e17c9d --- /dev/null +++ b/apps/ui/css/wizard.css @@ -0,0 +1,2000 @@ +/* ══════════════════════════════════════════════════ + WIZARD — shell +══════════════════════════════════════════════════ */ +.wizard-page { + padding-top: 60px; +} + +.wizard-page .navbar { + position: fixed; + top: 0; + left: 0; + right: 0; +} + +.wizard-page .progress-strip { + position: fixed; + top: 60px; + left: 0; + right: 0; +} + +.wizard-shell { + min-height: calc(100vh - 60px); + display: flex; + flex-direction: column; + padding-top: 56px; +} + +/* ══════════════════════════════════════════════════ + TOP PROGRESS STRIP +══════════════════════════════════════════════════ */ +.progress-strip { + background: var(--bg-surface); + border-bottom: 1px solid var(--border); + padding: 0 40px; + display: flex; + align-items: center; + height: 56px; + gap: 20px; + z-index: 30; + box-shadow: 0 1px 0 var(--border-subtle), 0 4px 16px rgba(0, 0, 0, 0.4); +} + +.back-to-catalog-btn { + display: inline-flex; + align-items: center; + gap: 6px; + padding: 6px 12px; + border-radius: 6px; + background: none; + border: 1px solid var(--border); + color: var(--text-secondary); + font-size: 13px; + font-weight: 500; + cursor: pointer; + font-family: 'Inter', sans-serif; + transition: all 0.15s; + white-space: nowrap; + text-decoration: none; +} + +.back-to-catalog-btn:hover { + background: var(--bg-overlay); + color: var(--text-primary); + border-color: var(--bg-muted); +} + +.progress-divider { + width: 1px; + height: 20px; + background: var(--border); + margin: 0 4px; +} + +.progress-label { + font-size: 13px; + color: var(--text-secondary); + white-space: nowrap; +} + +.progress-bar-wrap { + flex: 1; + height: 4px; + background: var(--bg-muted); + border-radius: 10px; + overflow: hidden; + min-width: 80px; +} + +.progress-bar-fill { + height: 100%; + width: 20%; + background: linear-gradient(90deg, var(--accent), #7c3aed); + border-radius: 10px; + transition: width 0.4s ease; + position: relative; +} + +.progress-bar-fill::after { + content: ''; + position: absolute; + right: -1px; + top: 50%; + transform: translateY(-50%); + width: 8px; + height: 8px; + border-radius: 50%; + background: #7c3aed; + box-shadow: 0 0 0 2px var(--bg-surface), 0 0 8px rgba(124, 58, 237, 0.6); +} + +.progress-pct { + font-size: 12px; + font-weight: 600; + color: var(--accent); + white-space: nowrap; + min-width: 34px; + text-align: right; + font-variant-numeric: tabular-nums; +} + +.progress-close { + margin-left: 4px; + width: 28px; + height: 28px; + border-radius: 6px; + display: flex; + align-items: center; + justify-content: center; + background: none; + border: 1px solid var(--border); + color: var(--text-muted); + cursor: pointer; + transition: all 0.15s; +} + +.progress-close:hover { + background: var(--bg-overlay); + color: var(--text-primary); + border-color: var(--bg-muted); +} + +/* ══════════════════════════════════════════════════ + WIZARD BODY +══════════════════════════════════════════════════ */ +.wizard-body { + flex: 1; + display: flex; + max-width: 1100px; + width: 100%; + margin: 0 auto; + padding: 40px 40px 140px; + gap: 36px; + align-items: flex-start; +} + +.checkbox-pill { + display: inline-flex; + align-items: center; + gap: 10px; + min-height: 38px; + padding: 8px 12px; + border: 1px solid var(--border); + border-radius: 10px; + background: var(--bg-overlay); + color: var(--text-secondary); + font-size: 13px; + cursor: pointer; + transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease; +} + +.checkbox-pill:hover { + border-color: var(--bg-muted); + color: var(--text-primary); +} + +.checkbox-pill input { + width: 15px; + height: 15px; + accent-color: var(--accent); +} + +.checkbox-pill:has(input:checked) { + border-color: rgba(13, 148, 136, 0.35); + background: rgba(13, 148, 136, 0.12); + color: var(--text-primary); +} + +/* ══════════════════════════════════════════════════ + STEP SIDEBAR +══════════════════════════════════════════════════ */ +.step-sidebar { + width: 248px; + flex-shrink: 0; + position: sticky; + top: 136px; +} + +.step-sidebar-card { + background: var(--bg-surface); + border: 1px solid var(--border); + border-radius: 12px; + overflow: hidden; +} + +.step-sidebar-header { + padding: 16px 18px 14px; + border-bottom: 1px solid var(--border-subtle); + display: flex; + align-items: center; + gap: 10px; +} + +.step-sidebar-logo-mark { + width: 24px; + height: 24px; + border-radius: 6px; + background: linear-gradient(135deg, var(--accent), #7c3aed); + display: flex; + align-items: center; + justify-content: center; + color: #fff; + font-size: 11px; + font-weight: 800; + flex-shrink: 0; +} + +.step-sidebar-brand { + font-size: 13px; + font-weight: 600; + color: var(--text-primary); + letter-spacing: -0.2px; +} + +.step-sidebar-brand span { + color: var(--text-muted); + font-weight: 400; +} + +.step-sidebar-body { + padding: 18px 14px 14px; +} + +.step-sidebar-section-label { + font-size: 10px; + font-weight: 600; + letter-spacing: 0.8px; + text-transform: uppercase; + color: var(--text-muted); + padding: 0 4px; + margin-bottom: 14px; +} + +/* Step list */ +.steps-list { + display: flex; + flex-direction: column; + position: relative; +} + +.steps-list::before { + content: ''; + position: absolute; + left: 27px; + top: 32px; + bottom: 40px; + width: 1px; + background: var(--border); + z-index: 0; +} + +.step-item { + display: flex; + align-items: flex-start; + gap: 12px; + padding: 9px 10px; + border-radius: 8px; + cursor: pointer; + position: relative; + z-index: 1; + transition: background 0.15s; + border: 1px solid transparent; +} + +.step-item:hover { background: var(--bg-overlay); } + +.step-item.active { + background: var(--accent-glow); + border-color: rgba(13, 148, 136, 0.2); +} + +.step-item.pending:hover { background: rgba(33, 38, 45, 0.6); } + +/* Step indicator circle */ +.step-indicator { + width: 32px; + height: 32px; + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + font-size: 12px; + font-weight: 700; + border: 2px solid var(--step-pending); + background: var(--bg-overlay); + color: var(--text-muted); + transition: all 0.2s; + position: relative; + z-index: 2; +} + +.step-item.done .step-indicator { + background: var(--step-done); + border-color: var(--step-done); + color: var(--bg-canvas); + box-shadow: 0 0 0 3px rgba(63, 185, 80, 0.15); +} + +.step-item.active .step-indicator { + background: var(--bg-surface); + border-color: var(--step-active); + color: var(--accent); + box-shadow: 0 0 0 4px var(--accent-ring); + font-weight: 700; +} + +.step-item.pending .step-indicator { + background: var(--bg-overlay); + border-color: var(--step-pending); + color: var(--text-muted); +} + +/* Step text content */ +.step-content { + flex: 1; + min-width: 0; + padding-top: 3px; +} + +.step-number { + font-size: 10.5px; + color: var(--text-muted); + font-weight: 500; + margin-bottom: 1px; + letter-spacing: 0.2px; +} + +.step-name { + font-size: 13.5px; + font-weight: 500; + color: var(--text-secondary); + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.step-item.done .step-name { color: var(--text-primary); } +.step-item.active .step-name { color: var(--accent-bright); font-weight: 600; } +.step-item.pending .step-name { color: var(--text-muted); } + +.step-status-text { + font-size: 11px; + margin-top: 2px; +} + +.step-item.done .step-status-text { color: var(--step-done); } +.step-item.active .step-status-text { color: var(--accent); } +.step-item.pending .step-status-text { color: var(--text-muted); } + +/* Sidebar footer help card */ +.sidebar-help { + margin-top: 4px; + background: var(--bg-overlay); + border: 1px solid var(--border-subtle); + border-radius: 8px; + padding: 14px 16px; +} + +.sidebar-help-title { + font-size: 12.5px; + font-weight: 600; + color: var(--text-primary); + margin-bottom: 6px; + display: flex; + align-items: center; + gap: 6px; +} + +.sidebar-help-title svg { opacity: 0.7; flex-shrink: 0; } + +.sidebar-help-text { + font-size: 12px; + color: var(--text-secondary); + line-height: 1.6; +} + +.sidebar-help-link { + color: var(--accent); + text-decoration: none; + font-weight: 500; +} + +.sidebar-help-link:hover { text-decoration: underline; } + +/* ══════════════════════════════════════════════════ + MAIN STEP PANEL +══════════════════════════════════════════════════ */ +.step-panel { + flex: 1; + min-width: 0; +} + +.step-panel-header { + margin-bottom: 28px; +} + +.step-panel-eyebrow { + display: flex; + align-items: center; + gap: 8px; + font-size: 11.5px; + font-weight: 600; + letter-spacing: 0.6px; + text-transform: uppercase; + color: var(--accent); + margin-bottom: 10px; +} + +.step-panel-eyebrow-line { + width: 20px; + height: 2px; + background: var(--accent); + border-radius: 1px; + flex-shrink: 0; +} + +.step-panel-title { + font-size: 26px; + font-weight: 700; + letter-spacing: -0.6px; + color: var(--text-primary); + margin-bottom: 8px; + line-height: 1.2; +} + +.step-panel-subtitle { + font-size: 14px; + color: var(--text-secondary); + line-height: 1.65; + max-width: 580px; +} + +/* ── Protocol cards ── */ +.protocol-grid { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 12px; + margin-bottom: 24px; +} + +.protocol-card { + background: var(--bg-surface); + border: 1.5px solid var(--border); + border-radius: 10px; + padding: 20px 18px 18px; + cursor: pointer; + transition: all 0.18s ease; + position: relative; + overflow: hidden; +} + +.protocol-card:hover { + border-color: var(--accent); + background: rgba(13, 148, 136, 0.06); + transform: translateY(-1px); + box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(13, 148, 136, 0.15); +} + +.protocol-card.selected { + border-color: var(--accent); + background: var(--accent-glow); + box-shadow: + 0 0 0 1px var(--accent), + 0 4px 24px rgba(0, 0, 0, 0.5), + 0 0 20px rgba(13, 148, 136, 0.12); +} + +.protocol-card-check { + position: absolute; + top: 12px; + right: 12px; + width: 18px; + height: 18px; + border-radius: 50%; + background: var(--accent); + display: flex; + align-items: center; + justify-content: center; + opacity: 0; + transform: scale(0.6); + transition: all 0.18s ease; + flex-shrink: 0; +} + +.protocol-card.selected .protocol-card-check { + opacity: 1; + transform: scale(1); +} + +.protocol-card-check svg { + width: 10px; + height: 10px; + stroke: #fff; + stroke-width: 2.5; + fill: none; +} + +.protocol-icon-wrap { + width: 44px; + height: 44px; + border-radius: 10px; + display: flex; + align-items: center; + justify-content: center; + margin-bottom: 14px; + flex-shrink: 0; + transition: all 0.18s; +} + +.protocol-card.rest .protocol-icon-wrap { + background: rgba(88, 166, 255, 0.12); + border: 1px solid rgba(88, 166, 255, 0.2); +} + +.protocol-card.graphql .protocol-icon-wrap { + background: rgba(188, 140, 255, 0.12); + border: 1px solid rgba(188, 140, 255, 0.2); +} + +.protocol-card.grpc .protocol-icon-wrap { + background: rgba(13, 148, 136, 0.12); + border: 1px solid rgba(13, 148, 136, 0.2); +} + +.protocol-card.selected.rest .protocol-icon-wrap { + background: rgba(88, 166, 255, 0.18); + border-color: rgba(88, 166, 255, 0.35); +} + +.protocol-card.selected.graphql .protocol-icon-wrap { + background: rgba(188, 140, 255, 0.18); + border-color: rgba(188, 140, 255, 0.35); +} + +.protocol-card.selected.grpc .protocol-icon-wrap { + background: rgba(13, 148, 136, 0.2); + border-color: rgba(13, 148, 136, 0.4); +} + +.protocol-card-name { + font-size: 15px; + font-weight: 700; + color: var(--text-primary); + margin-bottom: 4px; + letter-spacing: -0.2px; +} + +.protocol-card.selected .protocol-card-name { color: #fff; } + +.protocol-card-tagline { + font-size: 12px; + color: var(--text-secondary); + margin-bottom: 14px; + line-height: 1.5; +} + +.protocol-card.selected .protocol-card-tagline { color: var(--accent-bright); } + +.protocol-card-tags { + display: flex; + flex-wrap: wrap; + gap: 5px; +} + +.protocol-tag { + font-size: 10.5px; + font-weight: 500; + padding: 2px 8px; + border-radius: 4px; + border: 1px solid var(--border); + background: var(--bg-overlay); + color: var(--text-muted); + letter-spacing: 0.1px; + transition: all 0.15s; +} + +.protocol-card.selected .protocol-tag { + background: rgba(13, 148, 136, 0.12); + border-color: rgba(13, 148, 136, 0.3); + color: var(--accent-bright); +} + +.protocol-card.rest.selected .protocol-tag { + background: rgba(88, 166, 255, 0.1); + border-color: rgba(88, 166, 255, 0.25); + color: #58a6ff; +} + +.protocol-card.graphql.selected .protocol-tag { + background: rgba(188, 140, 255, 0.1); + border-color: rgba(188, 140, 255, 0.25); + color: #bc8cff; +} + +/* ── REST method picker ── */ +.method-section { + background: var(--bg-surface); + border: 1px solid var(--border); + border-radius: 10px; + overflow: hidden; + margin-bottom: 20px; +} + +.method-section-header { + padding: 14px 20px; + border-bottom: 1px solid var(--border-subtle); + display: flex; + align-items: center; + gap: 10px; +} + +.method-section-title { + font-size: 13px; + font-weight: 600; + color: var(--text-primary); +} + +.method-section-subtitle { + font-size: 12px; + color: var(--text-muted); + margin-left: auto; +} + +.method-section-body { + padding: 18px 20px; + display: flex; + flex-direction: column; + gap: 16px; +} + +.method-grid { + display: grid; + grid-template-columns: repeat(5, 1fr); + gap: 8px; +} + +.method-btn { + padding: 10px 8px; + border-radius: 7px; + border: 1.5px solid var(--border); + background: var(--bg-overlay); + cursor: pointer; + transition: all 0.15s; + display: flex; + flex-direction: column; + align-items: center; + gap: 5px; + font-family: 'Inter', sans-serif; +} + +.method-btn:hover { border-color: var(--bg-muted); background: rgba(33, 38, 45, 0.8); } + +.method-btn.selected-get { border-color: #3fb950; background: rgba(63, 185, 80, 0.08); } +.method-btn.selected-post { border-color: #58a6ff; background: rgba(88, 166, 255, 0.08); } +.method-btn.selected-put { border-color: #d29922; background: rgba(210, 153, 34, 0.08); } +.method-btn.selected-patch { border-color: #bc8cff; background: rgba(188, 140, 255, 0.08); } +.method-btn.selected-delete { border-color: #f85149; background: rgba(248, 81, 73, 0.08); } + +.method-verb { + font-size: 11px; + font-weight: 700; + letter-spacing: 0.5px; + font-variant-numeric: tabular-nums; + color: var(--text-muted); +} + +.method-btn.selected-get .method-verb { color: #3fb950; } +.method-btn.selected-post .method-verb { color: #58a6ff; } +.method-btn.selected-put .method-verb { color: #d29922; } +.method-btn.selected-patch .method-verb { color: #bc8cff; } +.method-btn.selected-delete .method-verb { color: #f85149; } + +.method-label { font-size: 10px; color: var(--text-muted); } + +/* ── Info callout ── */ +.info-callout { + display: flex; + gap: 12px; + padding: 14px 16px; + background: rgba(13, 148, 136, 0.07); + border: 1px solid rgba(13, 148, 136, 0.2); + border-radius: 8px; +} + +.info-callout.info-callout-subtle { + background: rgba(148, 163, 184, 0.08); + border-color: rgba(148, 163, 184, 0.18); +} + +.info-callout.is-success { + background: rgba(13, 148, 136, 0.07); + border-color: rgba(13, 148, 136, 0.28); +} + +.info-callout.is-error { + background: rgba(248, 113, 113, 0.08); + border-color: rgba(248, 113, 113, 0.28); +} + +.info-callout-icon { + width: 18px; + height: 18px; + flex-shrink: 0; + margin-top: 1px; + color: var(--accent); +} + +.info-callout.info-callout-subtle .info-callout-icon { + color: var(--text-secondary); +} + +.info-callout.is-error .info-callout-icon, +.info-callout.is-error .info-callout-title { + color: #f87171; +} + +.info-callout.is-success .info-callout-title { + color: var(--accent-bright); +} + +.info-callout-body { flex: 1; } + +.info-callout-title { + font-size: 12.5px; + font-weight: 600; + color: var(--accent-bright); + margin-bottom: 4px; +} + +.info-callout-text { + font-size: 12px; + color: var(--text-secondary); + line-height: 1.65; +} + +.info-callout-text a { + color: var(--accent); + text-decoration: none; + font-weight: 500; +} + +.info-callout-text a:hover { text-decoration: underline; } + +/* ── Config card ── */ +.config-card { + background: var(--bg-surface); + border: 1px solid var(--border); + border-radius: 10px; + overflow: hidden; + margin-bottom: 20px; +} + +.config-card-header { + padding: 14px 20px; + border-bottom: 1px solid var(--border-subtle); + display: flex; + align-items: center; + gap: 12px; +} + +.config-card-header-icon { + width: 28px; + height: 28px; + border-radius: 7px; + background: var(--bg-overlay); + border: 1px solid var(--border); + display: flex; + align-items: center; + justify-content: center; + font-size: 13px; + flex-shrink: 0; +} + +.config-card-title { + font-size: 13px; + font-weight: 600; + color: var(--text-primary); +} + +.config-card-subtitle { + font-size: 12px; + color: var(--text-muted); + margin-top: 1px; +} + +.config-card-optional { + margin-left: auto; + font-size: 10.5px; + font-weight: 500; + color: var(--text-muted); + background: var(--bg-overlay); + border: 1px solid var(--border-subtle); + padding: 2px 8px; + border-radius: 10px; +} + +.config-card-body { + padding: 20px; + display: flex; + flex-direction: column; + gap: 16px; +} + +/* Form fields */ +.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; } +.form-group { display: flex; flex-direction: column; gap: 6px; } + +.form-label { + font-size: 12.5px; + font-weight: 500; + color: var(--text-secondary); + display: flex; + align-items: center; + gap: 6px; +} + +.form-label-required { + font-size: 10px; + font-weight: 600; + padding: 1px 5px; + border-radius: 4px; + background: rgba(248, 81, 73, 0.12); + color: var(--red); + border: 1px solid rgba(248, 81, 73, 0.2); + letter-spacing: 0.2px; +} + +.form-label-optional { + font-size: 11px; + color: var(--text-muted); + font-weight: 400; +} + +.form-hint { + font-size: 11.5px; + color: var(--text-muted); + line-height: 1.55; +} + +.form-input, +.form-textarea, +.form-select { + background: var(--bg-canvas); + border: 1px solid var(--border); + border-radius: 6px; + padding: 9px 12px; + font-family: 'Inter', sans-serif; + font-size: 13.5px; + color: var(--text-primary); + width: 100%; + outline: none; + transition: border-color 0.15s, box-shadow 0.15s; + appearance: none; + -webkit-appearance: none; +} + +.form-input::placeholder, +.form-textarea::placeholder { color: var(--text-muted); } + +.form-input:focus, +.form-textarea:focus, +.form-select:focus { + border-color: var(--accent); + box-shadow: 0 0 0 3px var(--accent-ring); +} + +.form-select { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236e7681' d='M6 8L1 3h10z'/%3E%3C/svg%3E"); + background-repeat: no-repeat; + background-position: right 11px center; + padding-right: 32px; + cursor: pointer; +} + +.form-textarea { + resize: vertical; + min-height: 90px; + line-height: 1.6; +} + +/* Toggle switch */ +.toggle-row { + display: flex; + align-items: center; + gap: 12px; + padding: 12px 14px; + border-radius: 8px; + background: var(--bg-overlay); + border: 1px solid var(--border-subtle); + cursor: pointer; + transition: background 0.15s; +} + +.toggle-row:hover { background: rgba(33, 38, 45, 0.8); } + +.toggle { + width: 36px; + height: 20px; + border-radius: 10px; + background: var(--bg-muted); + border: 1px solid var(--border); + position: relative; + flex-shrink: 0; + transition: background 0.2s; + cursor: pointer; +} + +.toggle.on { + background: var(--accent); + border-color: var(--accent-dim); +} + +.toggle::after { + content: ''; + position: absolute; + left: 2px; + top: 1px; + width: 16px; + height: 16px; + border-radius: 50%; + background: #fff; + box-shadow: 0 1px 3px rgba(0,0,0,0.3); + transition: transform 0.2s ease; +} + +.toggle.on::after { transform: translateX(16px); } + +.toggle-text { flex: 1; } +.toggle-label { font-size: 13px; font-weight: 500; color: var(--text-primary); } +.toggle-desc { font-size: 11.5px; color: var(--text-muted); margin-top: 1px; } + +/* ══════════════════════════════════════════════════ + BOTTOM ACTION BAR — frosted dark glass +══════════════════════════════════════════════════ */ +.action-bar { + position: fixed; + bottom: 0; + left: 0; + right: 0; + background: rgba(13, 17, 23, 0.82); + backdrop-filter: blur(16px) saturate(140%); + -webkit-backdrop-filter: blur(16px) saturate(140%); + border-top: 1px solid rgba(48, 54, 61, 0.7); + z-index: 50; + box-shadow: + 0 -1px 0 rgba(255, 255, 255, 0.03), + 0 -8px 32px rgba(0, 0, 0, 0.6); +} + +.action-bar-inner { + max-width: 1100px; + margin: 0 auto; + padding: 0 40px; + height: 70px; + display: flex; + align-items: center; + gap: 12px; +} + +/* Buttons */ +.btn { + display: inline-flex; + align-items: center; + gap: 8px; + padding: 9px 18px; + border-radius: 7px; + font-family: 'Inter', sans-serif; + font-size: 13.5px; + font-weight: 500; + cursor: pointer; + transition: all 0.15s; + border: none; + white-space: nowrap; +} + +.btn-back { + background: var(--bg-overlay); + color: var(--text-secondary); + border: 1px solid var(--border); +} + +.btn-back:hover { + background: var(--bg-muted); + color: var(--text-primary); + border-color: var(--bg-muted); +} + +.btn-back:disabled { + opacity: 0.35; + cursor: not-allowed; +} + +.btn-back:disabled:hover { + background: var(--bg-overlay); + color: var(--text-secondary); + border-color: var(--border); +} + +.btn-save-draft { + background: none; + color: var(--text-muted); + border: none; + font-size: 13px; + font-weight: 400; + cursor: pointer; + font-family: 'Inter', sans-serif; + padding: 9px 12px; + border-radius: 6px; + transition: all 0.15s; +} + +.btn-save-draft:hover { + color: var(--text-secondary); + background: rgba(33, 38, 45, 0.6); +} + +.action-bar-spacer { flex: 1; } + +.step-counter { + font-size: 12.5px; + color: var(--text-muted); + font-variant-numeric: tabular-nums; +} + +.step-counter strong { + color: var(--text-secondary); + font-weight: 600; +} + +.btn-continue { + background: var(--accent); + color: #fff; + padding: 10px 24px; + font-size: 14px; + border: 1px solid var(--accent-dim); + box-shadow: 0 1px 4px rgba(13, 148, 136, 0.4); + transition: all 0.15s; +} + +.btn-continue:hover { + background: var(--accent-dim); + border-color: transparent; + box-shadow: + 0 2px 10px rgba(13, 148, 136, 0.5), + 0 0 0 3px var(--accent-ring); + transform: translateY(-1px); +} + +.btn-continue:active { + transform: translateY(0); + box-shadow: 0 1px 4px rgba(13, 148, 136, 0.3); +} + +.btn-continue.is-final-step { + background: #3fb950; + border-color: #2ea043; + box-shadow: 0 1px 4px rgba(63, 185, 80, 0.4); +} + +.btn-continue.is-final-step:hover { + background: #2ea043; + border-color: transparent; + box-shadow: + 0 2px 10px rgba(63, 185, 80, 0.45), + 0 0 0 3px rgba(63, 185, 80, 0.18); +} + +/* ── Code editor ── */ +.code-block { + border: 1px solid var(--border); + border-radius: 8px; + overflow: hidden; +} + +.code-toolbar { + display: flex; + align-items: center; + justify-content: space-between; + padding: 8px 14px; + background: #1e2330; + border-bottom: 1px solid rgba(255, 255, 255, 0.06); +} + +.code-dots { display: flex; gap: 5px; } +.code-dots span { width: 10px; height: 10px; border-radius: 50%; } +.code-dots span:nth-child(1) { background: #ff5f56; } +.code-dots span:nth-child(2) { background: #ffbd2e; } +.code-dots span:nth-child(3) { background: #27c93f; } + +.code-toolbar-label { + font-size: 10.5px; + font-weight: 600; + letter-spacing: 0.06em; + text-transform: uppercase; + color: #8b949e; +} + +.code-textarea { + background: #161b22 !important; + color: #c9d1d9 !important; + font-family: 'JetBrains Mono', 'Fira Code', 'Cascadia Code', monospace !important; + font-size: 12.5px !important; + line-height: 1.65 !important; + border: none !important; + border-radius: 0 !important; + resize: vertical; + min-height: 160px; +} + +.code-textarea:focus { + border-color: transparent !important; + box-shadow: none !important; +} + +/* ── Section divider ── */ +.section-divider { + display: flex; + align-items: center; + gap: 12px; + margin: 8px 0; +} + +.section-divider-label { + font-size: 11px; + font-weight: 700; + letter-spacing: 0.07em; + text-transform: uppercase; + color: var(--text-muted); + white-space: nowrap; +} + +.section-divider-line { + flex: 1; + height: 1px; + background: var(--border); +} + +/* ── Step pane ── */ +.step-pane { display: flex; flex-direction: column; } +.step-pane[hidden] { display: none !important; } + +/* ── Monospace input variant ── */ +.input-mono { + font-family: 'JetBrains Mono', 'Fira Code', monospace; + font-size: 13px; + letter-spacing: -0.2px; +} + +/* ── Step-state colours (wizard-specific) ── */ +:root { + --step-done: var(--green); + --step-active: var(--accent); + --step-pending: var(--bg-muted); +} + +/* ══════════════════════════════════════════════ + Upstream selector (Step 3) + ══════════════════════════════════════════════ */ + +/* ── Combobox trigger ── */ +.upstream-combobox { + position: relative; +} + +.upstream-combobox-trigger { + display: flex; + align-items: center; + gap: 8px; + padding: 9px 12px; + background: var(--bg-canvas); + border: 1px solid var(--border); + border-radius: 7px; + cursor: pointer; + transition: border-color 0.15s, box-shadow 0.15s; + user-select: none; +} + +.upstream-combobox-trigger:hover { border-color: var(--accent); } + +.upstream-combobox.open .upstream-combobox-trigger { + border-color: var(--accent); + box-shadow: 0 0 0 3px rgba(13, 148, 136, 0.15); + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; +} + +.upstream-combobox-value { + flex: 1; + min-width: 0; + display: flex; + align-items: center; + gap: 10px; +} + +.upstream-combobox-placeholder { + font-size: 13.5px; + color: var(--text-muted); +} + +.upstream-combobox-chevron { + flex-shrink: 0; + transition: transform 0.2s; +} +.upstream-combobox.open .upstream-combobox-chevron { transform: rotate(180deg); } + +/* Value when upstream is selected (shown inside trigger) */ +.upstream-trigger-name { + font-size: 13px; + font-weight: 600; + color: var(--text-primary); + font-family: 'JetBrains Mono', 'Fira Code', monospace; + letter-spacing: -0.2px; +} + +.upstream-trigger-url { + font-size: 11.5px; + color: var(--text-muted); + font-family: 'JetBrains Mono', 'Fira Code', monospace; + letter-spacing: -0.2px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +/* ── Dropdown panel ── */ +.upstream-dropdown { + position: absolute; + top: 100%; + left: 0; + right: 0; + z-index: 200; + background: var(--bg-surface); + border: 1px solid var(--accent); + border-top: none; + border-bottom-left-radius: 7px; + border-bottom-right-radius: 7px; + box-shadow: 0 8px 24px rgba(0,0,0,0.35); + overflow: hidden; +} + +/* Search row */ +.upstream-search-wrap { + display: flex; + align-items: center; + gap: 8px; + padding: 9px 12px; + border-bottom: 1px solid var(--border-subtle); +} + +.upstream-search-input { + flex: 1; + background: transparent; + border: none; + outline: none; + font-family: 'Inter', sans-serif; + font-size: 13px; + color: var(--text-primary); +} +.upstream-search-input::placeholder { color: var(--text-muted); } + +/* List of upstream items */ +.upstream-dropdown-list { + max-height: 220px; + overflow-y: auto; + scrollbar-width: thin; + scrollbar-color: var(--border) transparent; +} + +.upstream-dropdown-item { + display: flex; + align-items: center; + gap: 10px; + padding: 9px 14px; + cursor: pointer; + transition: background 0.12s; +} +.upstream-dropdown-item:hover { background: rgba(13, 148, 136, 0.07); } +.upstream-dropdown-item.selected { background: rgba(13, 148, 136, 0.1); } + +.upstream-dropdown-item-info { flex: 1; min-width: 0; } + +.upstream-dropdown-item-name { + font-size: 13px; + font-weight: 600; + color: var(--text-primary); + font-family: 'JetBrains Mono', 'Fira Code', monospace; + letter-spacing: -0.2px; +} + +.upstream-dropdown-item-url { + font-size: 11px; + color: var(--text-muted); + font-family: 'JetBrains Mono', 'Fira Code', monospace; + letter-spacing: -0.2px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.upstream-dropdown-item-check { + opacity: 0; + flex-shrink: 0; +} +.upstream-dropdown-item.selected .upstream-dropdown-item-check { opacity: 1; } + +/* Empty state */ +.upstream-dropdown-empty { + padding: 16px 14px; + font-size: 12.5px; + color: var(--text-muted); + text-align: center; +} + +/* Footer: Register new */ +/* ── Register new upstream trigger row ── */ +.upstream-new-trigger { + display: flex; + align-items: center; + gap: 10px; + padding: 10px 14px; + border: 1.5px dashed var(--border); + border-radius: 8px; + cursor: pointer; + font-size: 13px; + font-weight: 600; + color: var(--accent); + transition: border-color 0.15s, background 0.15s; + user-select: none; +} +.upstream-new-trigger:hover { + border-color: var(--accent); + background: rgba(13, 148, 136, 0.04); +} +.upstream-new-trigger.active { + border-style: solid; + border-color: var(--accent); + background: rgba(13, 148, 136, 0.06); +} + +.upstream-new-trigger-radio { + width: 16px; + height: 16px; + border-radius: 50%; + border: 1.5px solid var(--border); + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + transition: border-color 0.15s; +} +.upstream-new-trigger.active .upstream-new-trigger-radio { + border-color: var(--accent); +} +.upstream-new-trigger-dot { + width: 7px; + height: 7px; + border-radius: 50%; + background: var(--accent); + opacity: 0; + transform: scale(0.5); + transition: opacity 0.15s, transform 0.15s; +} +.upstream-new-trigger.active .upstream-new-trigger-dot { + opacity: 1; + transform: scale(1); +} + +/* ── Auth badges ── */ +.upstream-auth-badge { + font-size: 10.5px; + font-weight: 600; + letter-spacing: 0.2px; + padding: 2px 8px; + border-radius: 4px; + white-space: nowrap; + flex-shrink: 0; +} +.upstream-auth-badge.auth-bearer { + background: rgba(88, 166, 255, 0.1); + color: #58a6ff; + border: 1px solid rgba(88, 166, 255, 0.2); +} +.upstream-auth-badge.auth-basic { + background: rgba(240, 173, 78, 0.12); + color: #f0ad4e; + border: 1px solid rgba(240, 173, 78, 0.2); +} +.upstream-auth-badge.auth-apikey { + background: rgba(188, 140, 255, 0.1); + color: #bc8cff; + border: 1px solid rgba(188, 140, 255, 0.2); +} +.upstream-auth-badge.auth-none { + background: rgba(139, 148, 158, 0.08); + color: var(--text-muted); + border: 1px solid var(--border-subtle); +} + +/* ── Selected upstream preview (under combobox) ── */ +.upstream-preview { + display: flex; + align-items: center; + gap: 10px; + padding: 10px 14px; + background: var(--accent-glow); + border: 1px solid rgba(13, 148, 136, 0.3); + border-radius: 7px; +} + +.upstream-preview-name { + font-size: 13px; + font-weight: 600; + color: #fff; + font-family: 'JetBrains Mono', 'Fira Code', monospace; + letter-spacing: -0.2px; +} + +.upstream-preview-url { + font-size: 11.5px; + color: var(--accent-bright, var(--accent)); + font-family: 'JetBrains Mono', 'Fira Code', monospace; + letter-spacing: -0.2px; + flex: 1; + min-width: 0; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.upstream-preview-change { + font-size: 11.5px; + font-weight: 500; + color: var(--text-muted); + background: none; + border: 1px solid var(--border); + border-radius: 5px; + padding: 3px 10px; + cursor: pointer; + transition: border-color 0.15s, color 0.15s; + flex-shrink: 0; +} +.upstream-preview-change:hover { border-color: var(--text-secondary); color: var(--text-primary); } + +/* ── Register new upstream inline form ── */ +.upstream-new-form { + background: var(--bg-canvas); + border: 1px solid var(--border); + border-radius: 8px; + overflow: hidden; +} + +.upstream-new-form-inner { + padding: 16px; + display: flex; + flex-direction: column; + gap: 16px; +} + +/* ── Small action buttons ── */ +.btn-primary-sm { + display: inline-flex; + align-items: center; + gap: 6px; + padding: 7px 16px; + font-family: 'Inter', sans-serif; + font-size: 12.5px; + font-weight: 600; + border-radius: 6px; + border: none; + cursor: pointer; + background: var(--accent); + color: #fff; + transition: opacity 0.15s; +} +.btn-primary-sm:hover { opacity: 0.88; } + +.btn-ghost-sm { + display: inline-flex; + align-items: center; + gap: 6px; + padding: 7px 16px; + font-family: 'Inter', sans-serif; + font-size: 12.5px; + font-weight: 500; + border-radius: 6px; + border: 1px solid var(--border); + cursor: pointer; + background: transparent; + color: var(--text-secondary); + transition: border-color 0.15s, color 0.15s; +} +.btn-ghost-sm:hover { border-color: var(--text-secondary); color: var(--text-primary); } + +.btn-primary-sm:disabled, +.btn-ghost-sm:disabled, +.btn-primary-sm.is-busy, +.btn-ghost-sm.is-busy { + opacity: 0.68; + cursor: wait; +} + +/* ══════════════════════════════════════════════ + HTTP method picker (Step 4 REST) + ══════════════════════════════════════════════ */ + +.method-grid { + display: grid; + grid-template-columns: repeat(5, 1fr); + gap: 8px; +} + +.method-card { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + gap: 4px; + padding: 14px 8px; + background: var(--bg-canvas); + border: 1.5px solid var(--border); + border-radius: 8px; + cursor: pointer; + transition: border-color 0.15s, background 0.15s, box-shadow 0.15s; + font-family: 'Inter', sans-serif; +} + +.method-card:hover { + border-color: var(--accent); + background: rgba(13, 148, 136, 0.04); +} + +.method-card.active { + border-color: var(--accent); + background: var(--accent-glow); + box-shadow: 0 0 0 3px rgba(13, 148, 136, 0.15); +} + +.method-name { + font-size: 14px; + font-weight: 700; + font-family: 'JetBrains Mono', 'Fira Code', monospace; + color: var(--text-primary); + letter-spacing: 0.5px; +} + +.method-card.active .method-name { color: #fff; } + +.method-desc { + font-size: 11px; + color: var(--text-muted); + font-weight: 400; +} + +.method-card.active .method-desc { color: var(--accent-bright, var(--accent)); } + +.method-callout { + display: flex; + align-items: flex-start; + gap: 10px; + padding: 11px 14px; + background: rgba(13, 148, 136, 0.07); + border: 1px solid rgba(13, 148, 136, 0.25); + border-radius: 7px; + font-size: 12.5px; + color: var(--text-secondary); + line-height: 1.55; + margin-top: 4px; +} + +/* ══════════════════════════════════════════════ + GraphQL operation type cards (Step 4 GraphQL) + ══════════════════════════════════════════════ */ + +.gql-type-grid { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 10px; +} + +.gql-type-card { + display: flex; + flex-direction: column; + align-items: flex-start; + gap: 6px; + padding: 16px 18px; + background: var(--bg-canvas); + border: 1.5px solid var(--border); + border-radius: 8px; + cursor: pointer; + transition: border-color 0.15s, background 0.15s, box-shadow 0.15s; + text-align: left; + font-family: 'Inter', sans-serif; +} + +.gql-type-card:hover { + border-color: var(--accent); + background: rgba(13, 148, 136, 0.04); +} + +.gql-type-card.active { + border-color: var(--accent); + background: var(--accent-glow); + box-shadow: 0 0 0 3px rgba(13, 148, 136, 0.15); +} + +.gql-type-keyword { + font-size: 15px; + font-weight: 700; + font-family: 'JetBrains Mono', 'Fira Code', monospace; + color: var(--accent); + letter-spacing: -0.3px; +} + +.gql-type-card.active .gql-type-keyword { color: #5eead4; } + +.gql-type-desc { + font-size: 12px; + color: var(--text-muted); + line-height: 1.4; +} + +.gql-type-card.active .gql-type-desc { color: var(--text-secondary); } + + +/* ══════════════════════════════════════════════ + Protocol card — disabled tag (Streaming) +══════════════════════════════════════════════ */ +.protocol-tag-disabled { + text-decoration: line-through; + color: var(--error, #f87171); + opacity: 0.75; +} + + +/* ══════════════════════════════════════════════ + gRPC — Proto upload +══════════════════════════════════════════════ */ +.proto-dropzone { + border: 1.5px dashed var(--border); + border-radius: 10px; + padding: 36px 24px; + display: flex; + flex-direction: column; + align-items: center; + gap: 8px; + cursor: pointer; + transition: border-color 0.15s, background 0.15s; + background: var(--bg-canvas); +} +.proto-dropzone:hover, +.proto-dropzone.drag-over { + border-color: var(--accent); + background: rgba(56,139,253,0.05); +} +.proto-dropzone.drag-over { border-style: solid; } + +.proto-dropzone-title { + font-size: 13px; + font-weight: 500; + color: var(--text-primary); +} +.proto-dropzone-sub { + font-size: 12px; + color: var(--text-muted); +} + +.proto-file-info { + display: flex; + align-items: center; + gap: 10px; + padding: 10px 14px; + background: rgba(56,139,253,0.07); + border: 1px solid rgba(56,139,253,0.25); + border-radius: 8px; +} +.proto-file-name { + font-family: var(--font-mono, monospace); + font-size: 13px; + color: var(--accent); + flex: 1; + min-width: 0; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.proto-file-size { + font-size: 11px; + color: var(--text-muted); + white-space: nowrap; +} +.proto-file-change { + background: none; + border: 1px solid var(--border); + border-radius: 5px; + color: var(--text-secondary); + font-size: 11px; + padding: 3px 9px; + cursor: pointer; + white-space: nowrap; + transition: border-color 0.15s, color 0.15s; +} +.proto-file-change:hover { border-color: var(--accent); color: var(--accent); } + + +/* ══════════════════════════════════════════════ + gRPC — Service/method list +══════════════════════════════════════════════ */ +.proto-service-group { + padding-top: 16px; +} +.proto-service-group + .proto-service-group { + border-top: 1px solid var(--border-subtle); + margin-top: 4px; +} + +.proto-service-label { + display: flex; + align-items: center; + gap: 6px; + font-size: 11px; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.06em; + color: var(--text-muted); + margin-bottom: 10px; +} +.proto-service-label svg { opacity: 0.5; } + +.proto-method-grid { + display: flex; + flex-wrap: wrap; + gap: 8px; +} + +.proto-method-card { + display: flex; + flex-direction: column; + gap: 4px; + padding: 10px 14px; + background: var(--bg-canvas); + border: 1.5px solid var(--border); + border-radius: 8px; + cursor: pointer; + text-align: left; + transition: border-color 0.15s, background 0.15s; + min-width: 160px; +} +.proto-method-card:hover { + border-color: var(--border-muted, var(--accent)); + background: rgba(56,139,253,0.04); +} +.proto-method-card.active { + border-color: var(--accent); + background: rgba(56,139,253,0.08); +} + +.proto-method-name { + font-family: var(--font-mono, monospace); + font-size: 13px; + font-weight: 600; + color: var(--text-primary); +} +.proto-method-card.active .proto-method-name { color: var(--accent); } + +.proto-method-types { + font-size: 11px; + color: var(--text-muted); + display: flex; + align-items: center; + gap: 4px; +} +.proto-method-types svg { opacity: 0.5; flex-shrink: 0; } + +.proto-empty { + padding: 24px; + text-align: center; + color: var(--text-muted); + font-size: 13px; +} + + +/* ══════════════════════════════════════════════ + gRPC — Method signature detail +══════════════════════════════════════════════ */ +.proto-path-row { + display: flex; + align-items: center; + gap: 12px; + padding: 8px 12px; + background: var(--bg-canvas); + border: 1px solid var(--border-subtle); + border-radius: 6px; +} +.proto-path-label { + font-size: 11px; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.05em; + color: var(--text-muted); + white-space: nowrap; +} +.proto-path-value { + font-family: var(--font-mono, monospace); + font-size: 12px; + color: var(--accent); + word-break: break-all; +} + +.proto-sig-grid { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 16px; +} +@media (max-width: 680px) { + .proto-sig-grid { grid-template-columns: 1fr; } +} + +.proto-sig-col { + display: flex; + flex-direction: column; + gap: 0; + border: 1px solid var(--border-subtle); + border-radius: 8px; + overflow: hidden; +} + +.proto-sig-col-header { + display: flex; + align-items: center; + gap: 6px; + padding: 8px 12px; + background: var(--bg-surface); + border-bottom: 1px solid var(--border-subtle); + font-size: 11px; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.05em; + color: var(--text-secondary); +} +.proto-sig-col-header svg { opacity: 0.6; } + +.proto-type-badge { + font-family: var(--font-mono, monospace); + font-size: 11px; + background: rgba(56,139,253,0.12); + color: var(--accent); + padding: 1px 6px; + border-radius: 4px; + margin-left: auto; +} + +.proto-field-list { + padding: 6px 0; +} + +.proto-field-row { + display: flex; + align-items: baseline; + justify-content: space-between; + padding: 5px 12px; + font-size: 12px; + border-bottom: 1px solid var(--border-subtle); +} +.proto-field-row:last-child { border-bottom: none; } + +.proto-field-name { + font-family: var(--font-mono, monospace); + color: var(--text-primary); + font-size: 12px; +} +.proto-field-type { + font-family: var(--font-mono, monospace); + font-size: 11px; + color: var(--text-muted); +} + +.proto-field-empty { + padding: 16px 12px; + font-size: 12px; + color: var(--text-secondary); + text-align: center; + line-height: 1.5; +} + + +/* ══════════════════════════════════════════════ + gRPC — Source tabs +══════════════════════════════════════════════ */ +.grpc-source-tabs { + display: flex; + gap: 0; + margin-bottom: 20px; + background: var(--bg-canvas); + border: 1px solid var(--border); + border-radius: 9px; + padding: 3px; +} + +.grpc-source-btn { + flex: 1; + display: flex; + align-items: center; + justify-content: center; + gap: 7px; + padding: 8px 14px; + background: none; + border: none; + border-radius: 7px; + font-size: 13px; + font-weight: 500; + color: var(--text-muted); + cursor: pointer; + transition: background 0.15s, color 0.15s; + white-space: nowrap; +} +.grpc-source-btn svg { flex-shrink: 0; opacity: 0.7; } +.grpc-source-btn:hover { color: var(--text-secondary); background: rgba(255,255,255,0.04); } +.grpc-source-btn.active { + background: var(--bg-surface); + color: var(--text-primary); + box-shadow: 0 1px 3px rgba(0,0,0,0.3); +} +.grpc-source-btn.active svg { opacity: 1; } + + +/* ══════════════════════════════════════════════ + gRPC — Reflection panel +══════════════════════════════════════════════ */ +.grpc-reflect-upstream { + display: flex; + align-items: center; + gap: 10px; + padding: 10px 14px; + background: var(--bg-canvas); + border: 1px solid var(--border-subtle); + border-radius: 8px; +} +.grpc-reflect-upstream-info { + display: flex; + flex-direction: column; + gap: 2px; + min-width: 0; +} +.grpc-reflect-upstream-name { + font-size: 13px; + font-weight: 500; + color: var(--text-primary); +} +.grpc-reflect-upstream-url { + font-family: var(--font-mono, monospace); + font-size: 11px; + color: var(--text-muted); +} + +.grpc-reflect-status { + display: flex; + align-items: center; + gap: 10px; + font-size: 13px; + color: var(--text-secondary); +} +.grpc-reflect-spinner { + width: 14px; + height: 14px; + border: 2px solid var(--border); + border-top-color: var(--accent); + border-radius: 50%; + animation: grpc-spin 0.7s linear infinite; + flex-shrink: 0; +} +@keyframes grpc-spin { to { transform: rotate(360deg); } } + +.grpc-reflect-error-row { + display: flex; + align-items: center; + gap: 8px; + font-size: 13px; + color: var(--error, #f87171); +} diff --git a/apps/ui/css/workspace-setup.css b/apps/ui/css/workspace-setup.css new file mode 100644 index 0000000..669ca11 --- /dev/null +++ b/apps/ui/css/workspace-setup.css @@ -0,0 +1,228 @@ +.ws-setup-page { + min-height: 100vh; + background: var(--bg-canvas); + display: flex; + flex-direction: column; +} +.ws-setup-topbar { + display: flex; + align-items: center; + justify-content: space-between; + padding: 16px 32px; + border-bottom: 1px solid var(--border-subtle); +} +.ws-setup-logo { + display: flex; + align-items: center; + gap: 10px; + text-decoration: none; + color: var(--text-primary); + font-size: 15px; + font-weight: 600; +} +.ws-setup-logo-mark { + width: 30px; + height: 30px; + background: #0d9488; + border-radius: 8px; + display: flex; + align-items: center; + justify-content: center; +} +.ws-setup-back { + display: flex; + align-items: center; + gap: 6px; + font-size: 13px; + color: var(--text-muted); + text-decoration: none; + padding: 6px 10px; + border-radius: 6px; + transition: color 0.15s, background 0.15s; +} +.ws-setup-back:hover { color: var(--text-secondary); background: rgba(255,255,255,0.04); } + +.ws-setup-body { + flex: 1; + display: flex; + justify-content: center; + padding: 48px 24px 80px; +} +.ws-setup-container { + width: 100%; + max-width: 600px; +} +.ws-setup-header { margin-bottom: 32px; } +.ws-setup-title { + font-size: 24px; + font-weight: 700; + color: var(--text-primary); + margin-bottom: 6px; +} +.ws-setup-subtitle { + font-size: 14px; + color: var(--text-muted); + line-height: 1.5; +} + +.ws-form-section { + background: var(--bg-surface); + border: 1px solid var(--border); + border-radius: 12px; + padding: 24px; + margin-bottom: 16px; +} +.ws-form-section-title { + font-size: 13px; + font-weight: 600; + color: var(--text-primary); + margin-bottom: 18px; +} + +/* Avatar */ +.ws-avatar-row { + display: flex; + align-items: center; + gap: 16px; + margin-bottom: 20px; +} +.ws-avatar-preview { + width: 52px; + height: 52px; + border-radius: 12px; + background: #0d9488; + color: #fff; + font-size: 22px; + font-weight: 700; + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + transition: background 0.2s; +} +.ws-avatar-hint { font-size: 12px; color: var(--text-muted); line-height: 1.5; } +.ws-color-swatches { display: flex; gap: 6px; margin-top: 6px; } +.ws-color-swatch { + width: 20px; + height: 20px; + border-radius: 5px; + cursor: pointer; + border: 2px solid transparent; + transition: transform 0.1s, border-color 0.1s; +} +.ws-color-swatch:hover { transform: scale(1.15); } +.ws-color-swatch.active { border-color: var(--text-primary); } + +/* Invite rows */ +.invite-rows { display: flex; flex-direction: column; gap: 8px; } +.invite-row { display: flex; align-items: center; gap: 8px; } +.invite-row .form-input { margin-bottom: 0; } +.invite-row-remove { + background: none; + border: none; + padding: 6px; + cursor: pointer; + color: var(--text-muted); + border-radius: 5px; + display: flex; + align-items: center; + transition: color 0.1s, background 0.1s; + flex-shrink: 0; +} +.invite-row-remove:hover { color: var(--error, #f87171); background: rgba(248,113,113,0.08); } + +/* Members */ +.member-row { + display: flex; + align-items: center; + gap: 12px; + padding: 10px 0; + border-bottom: 1px solid var(--border-subtle); +} +.member-row:last-child { border-bottom: none; } +.member-avatar { + width: 30px; + height: 30px; + border-radius: 50%; + background: var(--bg-muted); + border: 1px solid var(--border); + display: flex; + align-items: center; + justify-content: center; + font-size: 11px; + font-weight: 700; + color: var(--text-secondary); + flex-shrink: 0; +} +.member-info { flex: 1; } +.member-name { font-size: 13.5px; color: var(--text-primary); font-weight: 500; } +.member-email { font-size: 12px; color: var(--text-muted); } +.member-last-active { font-size: 12px; color: var(--text-muted); white-space: nowrap; } + +/* Danger zone */ +.danger-zone-action { + display: flex; + align-items: flex-start; + gap: 16px; + padding: 16px 24px; + border-bottom: 1px solid var(--border-subtle); +} +.danger-zone-action:last-child { border-bottom: none; } +.danger-zone-text { flex: 1; } +.danger-zone-title { font-size: 13.5px; font-weight: 500; color: var(--text-primary); margin-bottom: 3px; } +.danger-zone-desc { font-size: 12.5px; color: var(--text-muted); line-height: 1.5; } + +/* Lang switcher */ +.lang-switcher { display: flex; gap: 6px; margin-top: 6px; } +.lang-btn { + display: flex; + align-items: center; + gap: 6px; + padding: 6px 14px; + border-radius: 6px; + border: 1px solid var(--border); + background: var(--bg-canvas); + color: var(--text-secondary); + font-size: 13px; + cursor: pointer; + transition: background 0.15s, border-color 0.15s, color 0.15s; +} +.lang-btn.active { + background: rgba(13,148,136,0.1); + border-color: rgba(13,148,136,0.35); + color: var(--accent); +} +.lang-btn:hover:not(.active) { background: rgba(255,255,255,0.04); color: var(--text-primary); } +.lang-flag { font-size: 14px; } + +/* Actions row */ +.ws-setup-actions { + display: flex; + align-items: center; + justify-content: flex-end; + gap: 10px; + margin-top: 24px; +} + +.ws-submit-btn { + padding: 9px 22px; + font-size: 13px; +} +.ws-setup-footer-note { + font-size: 12px; + color: var(--text-muted); + text-align: center; + margin-top: 20px; + line-height: 1.5; +} + +/* Roles reference */ +.role-def-row { + display: flex; + align-items: flex-start; + gap: 16px; + padding: 11px 0; + border-bottom: 1px solid var(--border-subtle); +} +.role-def-row:last-child { border-bottom: none; } +.role-def-text { font-size: 13px; color: var(--text-secondary); line-height: 1.5; } diff --git a/apps/ui/data/agents.json b/apps/ui/data/agents.json new file mode 100644 index 0000000..e78cea5 --- /dev/null +++ b/apps/ui/data/agents.json @@ -0,0 +1,58 @@ +[ + { + "id": "ag-001", + "slug": "customer-support", + "display_name": "Customer Support", + "description": "Handles ticket creation, status lookups, and customer data retrieval. Powers the support team's Claude integration.", + "status": "active", + "operation_count": 5, + "operation_ids": ["op_01", "op_02", "op_07", "op_09", "op_10"], + "key_count": 2, + "created_at": "2024-11-15T10:22:00Z", + "created_by": "AT", + "last_called_at": "2025-03-28T18:44:00Z", + "calls_today": 312 + }, + { + "id": "ag-002", + "slug": "sales-pipeline", + "display_name": "Sales Pipeline", + "description": "CRM operations for the sales team: lead creation, deal updates, contact lookup, and company enrichment.", + "status": "active", + "operation_count": 5, + "operation_ids": ["op_01", "op_06", "op_08", "op_11", "op_12"], + "key_count": 1, + "created_at": "2024-11-28T14:10:00Z", + "created_by": "AT", + "last_called_at": "2025-03-29T09:01:00Z", + "calls_today": 541 + }, + { + "id": "ag-003", + "slug": "internal-devops", + "display_name": "Internal DevOps", + "description": "Infrastructure tooling: deployment triggers, service health checks, and incident management workflows.", + "status": "draft", + "operation_count": 3, + "operation_ids": ["op_04", "op_05", "op_11"], + "key_count": 0, + "created_at": "2025-01-08T09:45:00Z", + "created_by": "AT", + "last_called_at": null, + "calls_today": 0 + }, + { + "id": "ag-004", + "slug": "product-analytics", + "display_name": "Product Analytics", + "description": "Queries usage metrics, feature adoption data, and user behaviour reports from the analytics stack.", + "status": "active", + "operation_count": 4, + "operation_ids": ["op_02", "op_03", "op_08", "op_12"], + "key_count": 3, + "created_at": "2025-02-01T11:30:00Z", + "created_by": "AT", + "last_called_at": "2025-03-29T11:22:00Z", + "calls_today": 87 + } +] diff --git a/apps/ui/data/keys.json b/apps/ui/data/keys.json new file mode 100644 index 0000000..146eb79 --- /dev/null +++ b/apps/ui/data/keys.json @@ -0,0 +1,15 @@ +{ + "acme-workspace": [ + { "id": "key_01", "name": "Production", "prefix": "mcp_prod_4f8a…", "scopes": ["read","write","deploy"], "created": "2025-11-15", "lastUsed": "Today", "status": "active" }, + { "id": "key_02", "name": "CI / CD pipeline", "prefix": "mcp_ci_b21c…", "scopes": ["read","deploy"], "created": "2025-12-01", "lastUsed": "2 days ago", "status": "active" }, + { "id": "key_03", "name": "Dev local", "prefix": "mcp_dev_7e3f…", "scopes": ["read","write"], "created": "2026-01-08", "lastUsed": "Never", "status": "active" }, + { "id": "key_04", "name": "Legacy integration", "prefix": "mcp_leg_c90d…", "scopes": ["read"], "created": "2025-09-22", "lastUsed": "45 days ago", "status": "revoked" } + ], + "startup-demo": [ + { "id": "key_11", "name": "Backend service", "prefix": "mcp_back_9a1b…", "scopes": ["read","write"], "created": "2026-01-20", "lastUsed": "Today", "status": "active" }, + { "id": "key_12", "name": "Analytics pipeline", "prefix": "mcp_anal_3c7d…", "scopes": ["read"], "created": "2026-02-05", "lastUsed": "3 days ago", "status": "active" } + ], + "personal": [ + { "id": "key_21", "name": "Local experiments", "prefix": "mcp_loc_f2e8…", "scopes": ["read","write","deploy"], "created": "2026-03-01", "lastUsed": "Yesterday", "status": "active" } + ] +} diff --git a/apps/ui/data/operations.json b/apps/ui/data/operations.json new file mode 100644 index 0000000..c0d4cd9 --- /dev/null +++ b/apps/ui/data/operations.json @@ -0,0 +1,134 @@ +[ + { + "id": "op_01", + "name": "create_crm_lead", + "display_name": "Create CRM Lead", + "protocol": "rest", + "method": "POST", + "status": "active", + "category": "CRM", + "target_url": "https://api.acme.com/v2/crm/leads", + "created_at": "2026-03-21" + }, + { + "id": "op_02", + "name": "get_user_profile", + "display_name": "Get User Profile", + "protocol": "rest", + "method": "GET", + "status": "active", + "category": "Users", + "target_url": "https://api.acme.com/v1/users/{id}", + "created_at": "2026-03-18" + }, + { + "id": "op_03", + "name": "search_knowledge_base", + "display_name": "Search Knowledge Base", + "protocol": "graphql", + "method": null, + "status": "active", + "category": "Search", + "target_url": "https://graph.notion-int.acme.com/graphql", + "created_at": "2026-03-14" + }, + { + "id": "op_04", + "name": "send_slack_message", + "display_name": "Send Slack Message", + "protocol": "rest", + "method": "POST", + "status": "error", + "category": "Notifications", + "target_url": "https://slack.com/api/chat.postMessage", + "created_at": "2026-03-10" + }, + { + "id": "op_05", + "name": "stream_telemetry", + "display_name": "Stream Telemetry Events", + "protocol": "grpc", + "method": null, + "status": "draft", + "category": "Observability", + "target_url": "grpc://telemetry.internal.acme.com:9090", + "created_at": "2026-03-05" + }, + { + "id": "op_06", + "name": "update_deal_stage", + "display_name": "Update Deal Stage", + "protocol": "rest", + "method": "PATCH", + "status": "inactive", + "category": "CRM", + "target_url": "https://api.acme.com/v2/crm/deals/{id}", + "created_at": "2026-02-28" + }, + { + "id": "op_07", + "name": "fetch_invoice", + "display_name": "Fetch Invoice", + "protocol": "rest", + "method": "GET", + "status": "active", + "category": "Billing", + "target_url": "https://billing.acme.com/v1/invoices/{id}", + "created_at": "2026-02-20" + }, + { + "id": "op_08", + "name": "list_products", + "display_name": "List Products", + "protocol": "graphql", + "method": null, + "status": "active", + "category": "Catalog", + "target_url": "https://shop.acme.com/graphql", + "created_at": "2026-02-15" + }, + { + "id": "op_09", + "name": "create_support_ticket", + "display_name": "Create Support Ticket", + "protocol": "rest", + "method": "POST", + "status": "active", + "category": "Support", + "target_url": "https://support.acme.com/api/tickets", + "created_at": "2026-02-10" + }, + { + "id": "op_10", + "name": "get_order_status", + "display_name": "Get Order Status", + "protocol": "rest", + "method": "GET", + "status": "draft", + "category": "Orders", + "target_url": "https://orders.acme.com/v2/status/{id}", + "created_at": "2026-02-05" + }, + { + "id": "op_11", + "name": "sync_contacts", + "display_name": "Sync Contacts", + "protocol": "grpc", + "method": null, + "status": "active", + "category": "CRM", + "target_url": "grpc://contacts.internal.acme.com:9091", + "created_at": "2026-01-28" + }, + { + "id": "op_12", + "name": "send_email_campaign", + "display_name": "Send Email Campaign", + "protocol": "rest", + "method": "POST", + "status": "active", + "category": "Marketing", + "target_url": "https://mail.acme.com/api/v3/campaigns/send", + "created_at": "2026-01-20" + } +] diff --git a/apps/ui/html/agents.html b/apps/ui/html/agents.html new file mode 100644 index 0000000..830afb5 --- /dev/null +++ b/apps/ui/html/agents.html @@ -0,0 +1,394 @@ + + + + + + + Crank — Agents + + + + + + + + + + + +

+ + + + +
+ + + + + +
+
+
Total agents
+
+
across this workspace
+
+
+
Published
+
+
+
+
+
Operations exposed
+
+
+
+
+
Calls today
+
+
all agents combined
+
+
+ + +
+ +
+ + + +
+
+ + +
+ + Each agent gets its own MCP endpoint. +
+ + +
+
+ Loading agents… +
+ +
+
Failed to load agents
+
+
+ + +
+
+ +
+
No agents yet
+
Create your first agent to get a dedicated MCP endpoint with a curated set of tools.
+
After creation, issue separate machine-access keys for this endpoint on the API Keys page.
+ +
+ + +
+
No agents match
+
Try a different search term.
+
+ + +
+ +
+ +
+ + + + + + + + + + + + + diff --git a/apps/ui/html/api-keys.html b/apps/ui/html/api-keys.html new file mode 100644 index 0000000..e6b6b3e --- /dev/null +++ b/apps/ui/html/api-keys.html @@ -0,0 +1,319 @@ + + + + + + + Crank — Agent Keys + + + + + + + + + + + + + + + +
+ + + +
+ + + + +
+ Keys are only shown once. + Copy and store them securely immediately after creation — Crank stores only a hash. `Last used` updates after successful MCP authentication. +
+
+ +
+
+
+
Agent access
+
Select the AI agent whose MCP endpoint should accept this key.
+
+
+
+
+ + +
+
+
+
+ +
+
+
+
Machine access modes
+
This build exposes the stable machine-access contract and shows which modes are available now.
+
+
+
+
+ Community currently supports static AI-agent keys. +
+
+ + + + +
Short-lived and one-time token issuance uses the same public HTTP surface, but requires a commercial edition.
+
+
+
+ +
+
+
+
Active keys
+
3 active · 1 revoked
+
+ +
+ +
+ + + + + + + + + + + + + + +
NameKey prefixScopesCreatedLast usedStatus
+
+
+
+ +
+
+
Scope reference
+
+
+
+
+ read +
+
Initialize MCP sessions, ping the server, and list tools for a workspace agent.
+
+
+
+ write +
+
Execute `tools/call` requests against published agent toolsets.
+
+
+
+ deploy +
+
Reserved for deploy-scoped automation. Today it also permits MCP read/write flows.
+
+
+
+ +
+ + + + + + + + + + + + + + diff --git a/apps/ui/html/fragments/lang-switcher.html b/apps/ui/html/fragments/lang-switcher.html new file mode 100644 index 0000000..96a8403 --- /dev/null +++ b/apps/ui/html/fragments/lang-switcher.html @@ -0,0 +1,13 @@ +
+ +
+ + +
+
diff --git a/apps/ui/html/login.html b/apps/ui/html/login.html new file mode 100644 index 0000000..24f3368 --- /dev/null +++ b/apps/ui/html/login.html @@ -0,0 +1,54 @@ + + + + + + + Crank — Sign in + + + + + + + + + + + + diff --git a/apps/ui/html/logs.html b/apps/ui/html/logs.html new file mode 100644 index 0000000..2f7df1a --- /dev/null +++ b/apps/ui/html/logs.html @@ -0,0 +1,142 @@ + + + + + + + Crank — Logs + + + + + + + + + + + + + +
+ + + +
+
+
+ Live +
+ + + +
+ + + + + + + + + +
+ +
+
+
+ +
+ + + + + diff --git a/apps/ui/html/secrets.html b/apps/ui/html/secrets.html new file mode 100644 index 0000000..defbeb3 --- /dev/null +++ b/apps/ui/html/secrets.html @@ -0,0 +1,242 @@ + + + + + + + Crank — Secrets + + + + + + + + + + + + +
+ + +
+ + + + +
+ Secret plaintext is write-only. + Crank encrypts secret values with the workspace master key. After create or rotate, the API returns only metadata, so this page focuses on lifecycle and usage references. +
+
+ +
+
+
+
Workspace secrets
+
+
+ +
+
+
+ + + + + + + + + + + + + +
NameKindVersionLast usedUsed byStatus
+
+
+
+
+ +
+
+
+
Auth profile references
+
Profiles resolve secrets at runtime before upstream execution.
+
+
+
+
+
+
+
+ + + + + + diff --git a/apps/ui/html/settings.html b/apps/ui/html/settings.html new file mode 100644 index 0000000..f0ae884 --- /dev/null +++ b/apps/ui/html/settings.html @@ -0,0 +1,330 @@ + + + + + + + Crank — Settings + + + + + + + + + + + + + +
+ + + +
+ + + + + +
+ +
+
+
+
+
Workspace settings
+
General information about your workspace
+
+
+
+
+ + +
Used in API endpoints and across the console. Only lowercase letters, numbers and hyphens.
+
+
+ + +
+
+ + +
+
+
+ + +
+
+ + +
This build limits the default protocol to the capabilities available in the current edition.
+
+
+ +
+ +
+ + +
+
Interface display language
+
+ +
+ +
+
+
+
+ + +
+
+
+
Profile
+
+
+
+
AT
+
+
Crank
+
operator@acme-workspace
+
Your avatar is generated from your display name and email.
+
+
+
Your name and email are stored on the backend and used across the console and session identity.
+ +
+
+ + +
+
+ + +
+
+ +
+ + +
Changing email updates the login identity for the current account.
+
+ +
+
+ +
+
+
+
+ + +
+
+
+
Security
+
+
+
+ + +
+
+
+ + +
+
+ + +
+
+
+
+ +
+
+ +
+
+
+ More security options +
+
+ + + +
+ Available later. Two-factor authentication, passkeys, and multi-session controls will be added later. The current live flow uses password sign-in with one HttpOnly browser session. +
+
+
+ +
+
+
+
+
+ +
+
+
Current session
+
+
+
+
+
Browser sessioncurrent
+
Loading current session details…
+
+
+
+
+
+ + +
+
+
+
Notifications
+
+
+
+ + + + +
+ Not included in this build. Notification routing and personal preferences are outside the current Community surface. +
+
+
+
+
+ +
+
+ +
+ + + + + diff --git a/apps/ui/html/usage.html b/apps/ui/html/usage.html new file mode 100644 index 0000000..ea86e52 --- /dev/null +++ b/apps/ui/html/usage.html @@ -0,0 +1,234 @@ + + + + + + + Crank — Usage + + + + + + + + + + + + + + +
+ + + + +
+
+
Total invocations
+
28,341
+
+ + +12% vs prior period +
+
+
+
Success rate
+
98.6%
+
+ + +0.3pp vs prior period +
+
+
+
Median latency (p50)
+
124ms
+
+ + -18ms vs prior period +
+
+
+
p99 latency
+
2.1s
+
+ + +340ms vs prior period +
+
+
+ + +
+
+
Invocations over time
+
+ Success + Error +
+
+
+
+
+
+ + +
+
+
+
By operation
+
Breakdown for last 7 days
+
+
+
+ + + + + + + + + + + + + + +
OperationProtocolCallsErrorsError rateLatency (p50 / p95 / p99)Traffic share
+
+
+
+ +
+ + + + + + + + + + + diff --git a/apps/ui/html/wizard/index.html b/apps/ui/html/wizard/index.html new file mode 100644 index 0000000..a69d71c --- /dev/null +++ b/apps/ui/html/wizard/index.html @@ -0,0 +1,267 @@ + + + + + + Crank — New Operation + + + + + + + + + + + + + + + +
+ + +
+ +
+ Create operation +
+
+
+ 20% + +
+ + +
+ + +
+
+ +
+
M
+
+ Create operation +
+
+ +
+ + +
+ +
+
1
+
+
Step 1
+
Protocol
+
In progress
+
+
+ +
+
2
+
+
Step 2
+
Upstream target
+
Not started
+
+
+ + + +
+
4
+
+
Step 4
+
Tool config
+
Not started
+
+
+ +
+
5
+
+
Step 5
+
Mapping
+
Not started
+
+
+ +
+ + +
+
+
+ + +
+
+ + + + +
+ + + + + + diff --git a/apps/ui/html/wizard/step1.html b/apps/ui/html/wizard/step1.html new file mode 100644 index 0000000..21d4483 --- /dev/null +++ b/apps/ui/html/wizard/step1.html @@ -0,0 +1,69 @@ + +
+
+
+
+ Step 1 of 5 +
+

Choose a protocol

+

Select the transport protocol your upstream service uses. This determines how Crank will communicate with your API and which configuration options are available in subsequent steps.

+
+ + +
+ + + +
+
+
+
+ +
+ + +
+ + + + +
+
You can change this later
+
+ Switching protocol after configuring subsequent steps will clear schema and mapping data. Save your operation as a draft before experimenting. See protocol migration guide for details. +
+
+
+ + + +
diff --git a/apps/ui/html/wizard/step2.html b/apps/ui/html/wizard/step2.html new file mode 100644 index 0000000..cb7c1c5 --- /dev/null +++ b/apps/ui/html/wizard/step2.html @@ -0,0 +1,224 @@ + +
+
+
+
+ Step 2 of 5 +
+

Select upstream & endpoint

+

Choose an existing upstream — a shared host with its auth config — or register a new one. Then define the specific endpoint path this operation will call.

+
+ + +
+
+
+ + + + + + +
+
+
Upstream
+
Shared host, base URL, and authentication
+
+ Required +
+
+ + +
+
+
+ Select an upstream… +
+ + + +
+ + + +
+ + + + + +
+
+
+
+ + + + Register new upstream +
+ + + + +
+
+ + +
+
+
+ + + +
+
+
Endpoint
+
Path and HTTP method for this specific operation
+
+ Required +
+
+
+ + +
Appended to the upstream base URL. Use {param} for path variables.
+
+
+
+ +
+ + + + + + diff --git a/apps/ui/html/wizard/step3-rest.html b/apps/ui/html/wizard/step3-rest.html new file mode 100644 index 0000000..0273706 --- /dev/null +++ b/apps/ui/html/wizard/step3-rest.html @@ -0,0 +1,93 @@ + +
+
+
+
+ Step 3 of 5 +
+

HTTP method & format

+

Choose the HTTP verb this operation sends and configure content negotiation headers. Crank will serialize MCP tool arguments into the appropriate request body format.

+
+ + +
+
+
+ + + +
+
+
HTTP method
+
Verb sent to the upstream on every tool invocation
+
+ Required +
+
+
+ + + + + +
+ +
+
+ + +
+
+
+ + + + +
+
+
Request format
+
Content negotiation and serialisation
+
+ Optional +
+
+
+
+ + +
How the request body is encoded when sent to the upstream.
+
+
+ + +
Accepted response content types from the upstream server.
+
+
+
+
+ +
diff --git a/apps/ui/html/wizard/step4.html b/apps/ui/html/wizard/step4.html new file mode 100644 index 0000000..2fb425c --- /dev/null +++ b/apps/ui/html/wizard/step4.html @@ -0,0 +1,158 @@ +
+
+
+
+ Step 4 of 5 +
+

Tool config

+

Name your tool, write the LLM-facing description, and define the input/output schemas. The description is the primary signal the model uses when deciding whether to call this tool.

+
+ +
+
+
+ + + +
+
+
Tool identity
+
Machine-readable name and LLM-facing description
+
+
+
+ +
+ + +
Machine-readable identifier used in MCP tool calls. Only lowercase letters, numbers and underscores. Cannot be changed after publishing.
+
+ +
+
+ + +
Human-readable name shown in the console and audit log.
+
+
+ + +
Short imperative sentence shown in the MCP tool manifest.
+
+
+ +
+ + +
LLM-facing description. Be precise — this is the primary signal the model uses to decide whether to invoke this tool.
+
+ +
+
+ +
+ + + + +
+
Writing effective descriptions
+
Start with a verb ("Creates", "Fetches", "Updates"). Mention key input requirements. Describe what a successful response looks like. Avoid vague phrasing like "handles" or "manages". See description best practices →
+
+
+ +
+
+
+ + + + +
+
+
Input schema
+
Parameters the LLM passes when calling this tool
+
+ JSON Schema draft-07 +
+
+
+
+
+ json / input-schema +
+ +
+
+
+ +
+
+
+ + + + +
+
+
Output schema
+
Shape of the data returned to the LLM after a successful call
+
+ JSON Schema draft-07 +
+
+
+
+
+ json / output-schema +
+ +
+
+
+ +
+ + + + +
+
Schemas are protocol-agnostic
+
These schemas describe the MCP contract, not the upstream wire format. Field mapping in Step 5 translates between the two. You can upload a sample JSON response to auto-generate the output schema.
+
+
+
diff --git a/apps/ui/html/wizard/step5.html b/apps/ui/html/wizard/step5.html new file mode 100644 index 0000000..445858e --- /dev/null +++ b/apps/ui/html/wizard/step5.html @@ -0,0 +1,265 @@ +
+
+
+
+ Step 5 of 5 +
+

Mapping and execution

+

Define how MCP tool arguments map to upstream request fields, and how the upstream response maps back to MCP output. Then set execution parameters — auth is configured per-upstream in step 2.

+
+ +
+ Input → Request +
+
+ +
+
+
+
+
+ yaml / input-mapping +
+ +
+
+
+ +
+ Response → Output +
+
+ +
+
+
+
+
+ yaml / output-mapping +
+ +
+
+
+ +
+ Execution +
+
+ +
+
+
+ + + + +
+
+
Execution config
+
Timeouts, retry policy and auth profile reference
+
+ Optional +
+
+
+
+
+ yaml / exec-config +
+ +
+
+
+ + + +
+ Live validation and publishing +
+
+ + + +
+ + + + +
+
Live actions save the draft first
+
Sample uploads, test runs, YAML actions and publish all persist the current draft before calling the backend.
+
+
+ +
+
+
+ + + + +
+
+
Samples and draft generation
+
Persist input/output samples, then generate schemas and mappings from real payloads.
+
+
+
+
+
+ + +
+
+ + +
+
+
+ + + +
+
+
+ +
+
+
+ + + +
+
+
Test run
+
Run the current draft against the upstream before publishing it.
+
+
+
+
+ + +
+
+ + +
+
+
+ + +
+
+ + +
+
+
+ + +
+
+
+ +
+
+
+ + + +
+
+
YAML import and export
+
Move operation drafts between environments without leaving the wizard.
+
+
+
+
+ + + + +
+
+ + +
+
+
+ +
+
+
+ + + +
+
+
Publish
+
Save the current draft and expose it to published agents.
+
+
+
+
Publishing uses the current draft version from this wizard session.
+
+ +
+
+
+ +
+ + + + +
+
Operation stays editable in this wizard
+
Saving creates or updates the current draft in place. Use the live actions above to upload samples, test the draft, export or import YAML, and publish when the upstream contract is ready.
+
+
+
diff --git a/apps/ui/html/workspace-setup.html b/apps/ui/html/workspace-setup.html new file mode 100644 index 0000000..a5bb8a9 --- /dev/null +++ b/apps/ui/html/workspace-setup.html @@ -0,0 +1,322 @@ + + + + + + + Crank — Workspace + + + + + + + + + +
+ + + + + +
+
+ +
+
Workspace settings
+
Configure your workspace identity, default settings, and team members.
+
+ + +
+
Workspace identity
+ +
+
A
+
+
Avatar is derived from your workspace name.
+
+
+
+
+
+
+
+
+
+
+
+ +
+ + +
+ +
+ +
+ mcp.crank.io/ + +
+
Only lowercase letters, numbers, and hyphens. Used in MCP endpoint URLs.
+
+ +
+ + +
+
+ + +
+
Default settings
+ +
+
+ + +
Pre-selected in the operation wizard.
+
+
+ + +
+
+ +
+ +
+ + +
+
+
+ + + + + + + + +
+ Cancel + +
+ + + + + + +
+
+ +
+ + + + diff --git a/apps/ui/icons/agents/agent.svg b/apps/ui/icons/agents/agent.svg new file mode 100644 index 0000000..7abbba5 --- /dev/null +++ b/apps/ui/icons/agents/agent.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/apps/ui/icons/agents/eye.svg b/apps/ui/icons/agents/eye.svg new file mode 100644 index 0000000..f843b1b --- /dev/null +++ b/apps/ui/icons/agents/eye.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/apps/ui/icons/agents/key.svg b/apps/ui/icons/agents/key.svg new file mode 100644 index 0000000..c208db3 --- /dev/null +++ b/apps/ui/icons/agents/key.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/general/arrow-down.svg b/apps/ui/icons/general/arrow-down.svg new file mode 100644 index 0000000..7577633 --- /dev/null +++ b/apps/ui/icons/general/arrow-down.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/general/arrow-left.svg b/apps/ui/icons/general/arrow-left.svg new file mode 100644 index 0000000..a34bc94 --- /dev/null +++ b/apps/ui/icons/general/arrow-left.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/general/arrow-right.svg b/apps/ui/icons/general/arrow-right.svg new file mode 100644 index 0000000..71e439f --- /dev/null +++ b/apps/ui/icons/general/arrow-right.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/general/arrow-up.svg b/apps/ui/icons/general/arrow-up.svg new file mode 100644 index 0000000..85d9676 --- /dev/null +++ b/apps/ui/icons/general/arrow-up.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/general/bell.svg b/apps/ui/icons/general/bell.svg new file mode 100644 index 0000000..7ccd650 --- /dev/null +++ b/apps/ui/icons/general/bell.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/general/check-sm.svg b/apps/ui/icons/general/check-sm.svg new file mode 100644 index 0000000..3449e27 --- /dev/null +++ b/apps/ui/icons/general/check-sm.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/general/check.svg b/apps/ui/icons/general/check.svg new file mode 100644 index 0000000..250df56 --- /dev/null +++ b/apps/ui/icons/general/check.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/general/chevron-down.svg b/apps/ui/icons/general/chevron-down.svg new file mode 100644 index 0000000..07aaf73 --- /dev/null +++ b/apps/ui/icons/general/chevron-down.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/general/close.svg b/apps/ui/icons/general/close.svg new file mode 100644 index 0000000..648c2e9 --- /dev/null +++ b/apps/ui/icons/general/close.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/general/copy.svg b/apps/ui/icons/general/copy.svg new file mode 100644 index 0000000..3a586b9 --- /dev/null +++ b/apps/ui/icons/general/copy.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/general/crank-logo.svg b/apps/ui/icons/general/crank-logo.svg new file mode 100644 index 0000000..b33e89f --- /dev/null +++ b/apps/ui/icons/general/crank-logo.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/apps/ui/icons/general/download.svg b/apps/ui/icons/general/download.svg new file mode 100644 index 0000000..494bbb5 --- /dev/null +++ b/apps/ui/icons/general/download.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/general/edit.svg b/apps/ui/icons/general/edit.svg new file mode 100644 index 0000000..0a2419e --- /dev/null +++ b/apps/ui/icons/general/edit.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/general/external.svg b/apps/ui/icons/general/external.svg new file mode 100644 index 0000000..893d2df --- /dev/null +++ b/apps/ui/icons/general/external.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/general/grid.svg b/apps/ui/icons/general/grid.svg new file mode 100644 index 0000000..98effa2 --- /dev/null +++ b/apps/ui/icons/general/grid.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/general/info-circle.svg b/apps/ui/icons/general/info-circle.svg new file mode 100644 index 0000000..cdc8fd5 --- /dev/null +++ b/apps/ui/icons/general/info-circle.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/apps/ui/icons/general/info.svg b/apps/ui/icons/general/info.svg new file mode 100644 index 0000000..1270118 --- /dev/null +++ b/apps/ui/icons/general/info.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/general/logout.svg b/apps/ui/icons/general/logout.svg new file mode 100644 index 0000000..a769622 --- /dev/null +++ b/apps/ui/icons/general/logout.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/apps/ui/icons/general/plus-sm.svg b/apps/ui/icons/general/plus-sm.svg new file mode 100644 index 0000000..bd555c4 --- /dev/null +++ b/apps/ui/icons/general/plus-sm.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/general/plus.svg b/apps/ui/icons/general/plus.svg new file mode 100644 index 0000000..f192806 --- /dev/null +++ b/apps/ui/icons/general/plus.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/general/refresh.svg b/apps/ui/icons/general/refresh.svg new file mode 100644 index 0000000..a64b2de --- /dev/null +++ b/apps/ui/icons/general/refresh.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/general/search.svg b/apps/ui/icons/general/search.svg new file mode 100644 index 0000000..ac71407 --- /dev/null +++ b/apps/ui/icons/general/search.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/general/settings.svg b/apps/ui/icons/general/settings.svg new file mode 100644 index 0000000..556e1cd --- /dev/null +++ b/apps/ui/icons/general/settings.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/apps/ui/icons/general/trash.svg b/apps/ui/icons/general/trash.svg new file mode 100644 index 0000000..658080d --- /dev/null +++ b/apps/ui/icons/general/trash.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/general/user.svg b/apps/ui/icons/general/user.svg new file mode 100644 index 0000000..e9ef4cd --- /dev/null +++ b/apps/ui/icons/general/user.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/general/warning.svg b/apps/ui/icons/general/warning.svg new file mode 100644 index 0000000..3b96ca1 --- /dev/null +++ b/apps/ui/icons/general/warning.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/apps/ui/icons/login/google.svg b/apps/ui/icons/login/google.svg new file mode 100644 index 0000000..19c999b --- /dev/null +++ b/apps/ui/icons/login/google.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/apps/ui/icons/wizard/clock.svg b/apps/ui/icons/wizard/clock.svg new file mode 100644 index 0000000..2b3ba0b --- /dev/null +++ b/apps/ui/icons/wizard/clock.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/apps/ui/icons/wizard/code.svg b/apps/ui/icons/wizard/code.svg new file mode 100644 index 0000000..31327ef --- /dev/null +++ b/apps/ui/icons/wizard/code.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/wizard/file.svg b/apps/ui/icons/wizard/file.svg new file mode 100644 index 0000000..aee4e64 --- /dev/null +++ b/apps/ui/icons/wizard/file.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/wizard/graphql-protocol.svg b/apps/ui/icons/wizard/graphql-protocol.svg new file mode 100644 index 0000000..08a5fa5 --- /dev/null +++ b/apps/ui/icons/wizard/graphql-protocol.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/apps/ui/icons/wizard/grpc-protocol.svg b/apps/ui/icons/wizard/grpc-protocol.svg new file mode 100644 index 0000000..bde9d0a --- /dev/null +++ b/apps/ui/icons/wizard/grpc-protocol.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/apps/ui/icons/wizard/reflection.svg b/apps/ui/icons/wizard/reflection.svg new file mode 100644 index 0000000..19f923f --- /dev/null +++ b/apps/ui/icons/wizard/reflection.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/apps/ui/icons/wizard/rest-protocol.svg b/apps/ui/icons/wizard/rest-protocol.svg new file mode 100644 index 0000000..97bc44e --- /dev/null +++ b/apps/ui/icons/wizard/rest-protocol.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/wizard/server.svg b/apps/ui/icons/wizard/server.svg new file mode 100644 index 0000000..e58ca74 --- /dev/null +++ b/apps/ui/icons/wizard/server.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/apps/ui/icons/wizard/upload.svg b/apps/ui/icons/wizard/upload.svg new file mode 100644 index 0000000..1dc7232 --- /dev/null +++ b/apps/ui/icons/wizard/upload.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/index.html b/apps/ui/index.html new file mode 100644 index 0000000..40fb800 --- /dev/null +++ b/apps/ui/index.html @@ -0,0 +1,418 @@ + + + + + + Crank — Operations + + + + + + + + + + + + + + + + +
+ + + + + +
+
+
Total operations
+
+
+
+
+
Active
+
+
+
+
+
Requests today
+
+
+
+
+
Avg. latency
+
+
+
+
+ + +
+ +
+ + +
+ + + + + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + + + + +
+ + +
+
+ +
+ + +
+ + +
+ + +
+ + +
+

Loading operations…

+
+ + +
+

No operations found

+

Try adjusting your search or filters.

+
+ +
+

Backend connection failed

+

+
+ + + + + + + + + + + + + + + + +
+ NAME + + + + PROTOCOLSTATUS + CREATED + + + + TARGET URL
+ + + + +
+ +
+ + + + + diff --git a/apps/ui/js/agents.js b/apps/ui/js/agents.js new file mode 100644 index 0000000..b57ac55 --- /dev/null +++ b/apps/ui/js/agents.js @@ -0,0 +1,499 @@ +function agentUiStatus(status) { + if (status === 'published') return 'published'; + if (status === 'archived') return 'archived'; + return status || 'draft'; +} + +function mapAgent(agent) { + var mapped = { + id: agent.id, + slug: agent.slug, + display_name: agent.display_name, + description: agent.description || '', + status: agentUiStatus(agent.status), + raw_status: agent.status, + operation_count: agent.operation_count || 0, + operation_ids: agent.operation_ids || [], + key_count: agent.key_count || 0, + calls_today: agent.calls_today || 0, + created_at: agent.created_at, + current_draft_version: agent.current_draft_version || 1, + latest_published_version: agent.latest_published_version, + mcp_endpoint: agent.mcp_endpoint || '', + }; + + return window.localizeDemoAgent ? window.localizeDemoAgent(mapped) : mapped; +} + +function mapOperation(operation) { + var mapped = { + id: operation.id, + name: operation.name, + display_name: operation.display_name, + protocol: operation.protocol, + status: operation.status, + current_draft_version: operation.current_draft_version || 1, + latest_published_version: operation.latest_published_version, + }; + + return window.localizeDemoOperation ? window.localizeDemoOperation(mapped) : mapped; +} + +function currentLocale() { + return localStorage.getItem('crank_lang') === 'ru' ? 'ru-RU' : 'en-US'; +} + +document.addEventListener('alpine:init', function() { + Alpine.data('agents', function() { + return { + agents: [], + operations: [], + capabilities: null, + loading: true, + loadError: '', + workspaceId: null, + + agentSearch: '', + openDropdown: null, + drawerOpen: false, + drawerMode: 'create', + editingId: null, + saving: false, + + form: { + display_name: '', + slug: '', + description: '', + status: 'published', + selectedOps: [], + }, + + opSearch: '', + slugManuallyEdited: false, + + async init() { + var self = this; + + await (window.whenWorkspacesReady ? window.whenWorkspacesReady() : Promise.resolve()); + var workspace = window.getCurrentWorkspace ? window.getCurrentWorkspace() : null; + this.workspaceId = workspace ? workspace.id : null; + await this.loadCapabilities(); + await this.reload(); + + document.addEventListener('keydown', function(event) { + if (event.key === 'Escape' && self.drawerOpen) { + self.closeDrawer(); + } + }); + + document.addEventListener('click', function() { + self.openDropdown = null; + }); + + window.addEventListener('crank:workspacechange', async function(event) { + self.workspaceId = event.detail ? event.detail.id : null; + await self.loadCapabilities(); + await self.reload(); + }); + }, + + async loadCapabilities() { + if (!window.CrankApi || typeof window.CrankApi.getCapabilities !== 'function') { + this.capabilities = null; + return; + } + try { + this.capabilities = await window.CrankApi.getCapabilities(); + } catch (_error) { + this.capabilities = null; + } + }, + + async reload() { + this.loading = true; + this.loadError = ''; + + if (!this.workspaceId || !window.CrankApi) { + this.agents = []; + this.operations = []; + this.loading = false; + this.loadError = this.tKey('agents.error.api'); + return; + } + + try { + var responses = await Promise.all([ + window.CrankApi.listAgents(this.workspaceId), + window.CrankApi.listOperations(this.workspaceId), + ]); + this.agents = ((responses[0] && responses[0].items) || []).map(mapAgent); + this.operations = ((responses[1] && responses[1].items) || []).map(mapOperation); + } catch (error) { + this.agents = []; + this.operations = []; + this.loadError = error.message || this.tKey('agents.error.load'); + } + + this.loading = false; + }, + + get filteredAgents() { + var query = this.agentSearch.toLowerCase().trim(); + if (!query) return this.agents; + return this.agents.filter(function(agent) { + return agent.display_name.toLowerCase().includes(query) + || agent.slug.toLowerCase().includes(query) + || (agent.description || '').toLowerCase().includes(query); + }); + }, + + get totalCalls() { + return this.agents.reduce(function(sum, agent) { + return sum + (agent.calls_today || 0); + }, 0); + }, + + get activeCount() { + return this.agents.filter(function(agent) { + return agent.status === 'published'; + }).length; + }, + + get totalOpsExposed() { + return this.agents.reduce(function(sum, agent) { + return sum + (agent.operation_count || 0); + }, 0); + }, + + get isCommunityBuild() { + return !!(this.capabilities && this.capabilities.edition === 'community'); + }, + + agentCalloutText() { + if (this.isCommunityBuild) { + return this.tfKey('agents.callout.community', { count: this.operations.length }); + } + return this.tfKey('agents.callout.default', { count: this.operations.length }); + }, + + subtitleText() { + return this.tKey(this.isCommunityBuild ? 'agents.subtitle.community' : 'agents.subtitle'); + }, + + emptyStateText() { + return this.tKey(this.isCommunityBuild ? 'agents.empty.initial.sub_community' : 'agents.empty.initial.sub'); + }, + + drawerSubText() { + if (this.drawerMode === 'edit') { + return this.tKey('agents.drawer.edit_sub'); + } + return this.tKey(this.isCommunityBuild ? 'agents.drawer.new_sub_community' : 'agents.drawer.new_sub'); + }, + + operationsSubText() { + return this.tKey(this.isCommunityBuild ? 'agents.drawer.operations_sub_community' : 'agents.drawer.operations_sub'); + }, + + get filteredOps() { + var query = this.opSearch.toLowerCase().trim(); + if (!query) return this.operations; + return this.operations.filter(function(operation) { + return operation.name.toLowerCase().includes(query) + || operation.display_name.toLowerCase().includes(query); + }); + }, + + openCreate() { + this.drawerMode = 'create'; + this.editingId = null; + this.form = { + display_name: '', + slug: '', + description: '', + status: 'published', + selectedOps: [], + }; + this.opSearch = ''; + this.slugManuallyEdited = false; + this.drawerOpen = true; + }, + + openEdit(agent) { + this.drawerMode = 'edit'; + this.editingId = agent.id; + this.form = { + display_name: agent.display_name, + slug: agent.slug, + description: agent.description, + status: agent.raw_status || agent.status || 'draft', + selectedOps: [].concat(agent.operation_ids || []), + }; + this.opSearch = ''; + this.slugManuallyEdited = true; + this.drawerOpen = true; + }, + + closeDrawer() { + this.drawerOpen = false; + this.saving = false; + }, + + onNameInput(value) { + this.form.display_name = value; + if (!this.slugManuallyEdited) { + this.form.slug = value + .toLowerCase() + .replace(/\s+/g, '-') + .replace(/[^a-z0-9-]/g, ''); + } + }, + + onSlugInput(value) { + this.form.slug = value.toLowerCase().replace(/[^a-z0-9-]/g, ''); + this.slugManuallyEdited = true; + }, + + toggleOp(operationId) { + var index = this.form.selectedOps.indexOf(operationId); + if (index === -1) { + this.form.selectedOps.push(operationId); + } else { + this.form.selectedOps.splice(index, 1); + } + }, + + isOpSelected(operationId) { + return this.form.selectedOps.includes(operationId); + }, + + async saveAgent() { + var self = this; + if ( + this.saving + || !this.workspaceId + || !this.form.display_name.trim() + || !this.form.slug.trim() + ) { + return; + } + + this.saving = true; + + try { + var agentId = this.editingId; + var currentVersion = 1; + var existingAgent = this.drawerMode === 'edit' + ? this.agents.find(function(item) { return item.id === agentId; }) + : null; + var previousStatus = existingAgent ? (existingAgent.raw_status || 'draft') : 'draft'; + + if (this.drawerMode === 'create') { + var created = await window.CrankApi.createAgent(this.workspaceId, { + slug: this.form.slug, + display_name: this.form.display_name, + description: this.form.description, + instructions: {}, + tool_selection_policy: {}, + }); + agentId = created.agent_id; + currentVersion = created.version || 1; + } else { + await window.CrankApi.updateAgent(this.workspaceId, this.editingId, { + slug: this.form.slug, + display_name: this.form.display_name, + description: this.form.description, + }); + var agent = await window.CrankApi.getAgent(this.workspaceId, this.editingId); + currentVersion = agent.current_draft_version || 1; + } + + await window.CrankApi.saveAgentBindings( + this.workspaceId, + agentId, + this.form.selectedOps.map(function(operationId) { + var operation = self.operations.find(function(item) { + return item.id === operationId; + }); + return { + operation_id: operationId, + operation_version: operation && operation.latest_published_version + ? operation.latest_published_version + : operation && operation.current_draft_version + ? operation.current_draft_version + : 1, + tool_name: operation ? operation.name : operationId, + tool_title: operation ? (operation.display_name || operation.name) : operationId, + tool_description_override: null, + enabled: true, + }; + }), + ); + + if (this.form.status === 'published') { + await window.CrankApi.publishAgent(this.workspaceId, agentId, { + version: currentVersion, + }); + } else if (this.form.status === 'archived') { + await window.CrankApi.archiveAgent(this.workspaceId, agentId); + } else if (this.drawerMode === 'edit' && previousStatus !== 'draft') { + await window.CrankApi.unpublishAgent(this.workspaceId, agentId); + } + + await this.reload(); + if (window.CrankUi) { + window.CrankUi.success( + this.tfKey('agents.toast.saved_message', { + name: this.form.display_name, + count: this.form.selectedOps.length + }), + this.drawerMode === 'create' + ? this.tKey('agents.toast.saved_title_create') + : this.tKey('agents.toast.saved_title_update') + ); + } + this.closeDrawer(); + } catch (error) { + if (window.CrankUi) { + window.CrankUi.error( + error.message || this.tKey('agents.toast.save_error_message'), + this.tKey('agents.toast.save_error_title') + ); + } + this.saving = false; + } + }, + + async deleteAgent(id) { + if (!confirm(this.tKey('agents.toast.delete_confirm'))) return; + + try { + var agent = this.agents.find(function(item) { return item.id === id; }); + await window.CrankApi.deleteAgent(this.workspaceId, id); + await this.reload(); + if (window.CrankUi) { + window.CrankUi.success( + this.tfKey('agents.toast.delete_message', { name: agent ? agent.display_name : '' }), + this.tKey('agents.toast.delete_title') + ); + } + } catch (error) { + if (window.CrankUi) { + window.CrankUi.error( + error.message || this.tKey('agents.toast.delete_error_message'), + this.tKey('agents.toast.delete_error_title') + ); + } + } + }, + + async applyLifecycle(agent, action) { + if (!this.workspaceId || !window.CrankApi) { + return; + } + + try { + if (action === 'publish') { + await window.CrankApi.publishAgent(this.workspaceId, agent.id, { + version: agent.current_draft_version || 1, + }); + } else if (action === 'unpublish') { + await window.CrankApi.unpublishAgent(this.workspaceId, agent.id); + } else if (action === 'archive') { + await window.CrankApi.archiveAgent(this.workspaceId, agent.id); + } + await this.reload(); + if (window.CrankUi) { + window.CrankUi.success( + action === 'publish' + ? this.tfKey('agents.toast.lifecycle_publish', { name: agent.display_name }) + : action === 'unpublish' + ? this.tfKey('agents.toast.lifecycle_unpublish', { name: agent.display_name }) + : this.tfKey('agents.toast.lifecycle_archive', { name: agent.display_name }), + this.tKey('agents.toast.lifecycle_title') + ); + } + } catch (error) { + if (window.CrankUi) { + window.CrankUi.error( + error.message || this.tKey('agents.toast.lifecycle_error_message'), + this.tKey('agents.toast.lifecycle_error_title') + ); + } + } + }, + + lifecycleAction(agent) { + if (agent.raw_status === 'published') { + return { key: 'unpublish', label: this.tKey('agents.lifecycle.unpublish') }; + } + if (agent.raw_status === 'archived') { + return { key: 'unpublish', label: this.tKey('agents.lifecycle.restore_draft') }; + } + return { key: 'publish', label: this.tKey('agents.lifecycle.publish') }; + }, + + lifecycleLabel(agent) { + if (agent.raw_status === 'published') return this.tKey('agents.lifecycle.published'); + if (agent.raw_status === 'archived') return this.tKey('agents.lifecycle.archived'); + return this.tKey('agents.lifecycle.draft'); + }, + + mcpEndpoint(agent) { + if (agent.mcp_endpoint) return agent.mcp_endpoint; + var workspace = window.getCurrentWorkspace ? window.getCurrentWorkspace() : null; + var workspaceSlug = workspace ? workspace.slug : 'default'; + return '/mcp/v1/' + workspaceSlug + '/' + agent.slug; + }, + + endpointHelpText(agent) { + return this.tfKey( + this.isCommunityBuild ? 'agents.card.endpoint_help_community' : 'agents.card.endpoint_help', + { count: agent.key_count || 0 } + ); + }, + + copyEndpoint(agent) { + var endpoint = this.mcpEndpoint(agent); + navigator.clipboard.writeText(endpoint).catch(function() {}); + if (window.CrankUi) { + window.CrankUi.info(endpoint, this.tKey('agents.toast.endpoint_title')); + } + }, + + statusClass(status) { + return 'agent-status-badge agent-status-' + status; + }, + + protocolBadge(operation) { + return 'badge badge-rest'; + }, + + protocolLabel(operation) { + return 'REST'; + }, + + formatDate(dateStr) { + if (!dateStr) return '—'; + return new Date(dateStr).toLocaleDateString(currentLocale(), { + month: 'short', + day: 'numeric', + year: 'numeric', + }); + }, + + formatCalls(value) { + if (!value) return '0'; + return value >= 1000 ? (value / 1000).toFixed(1) + 'k' : String(value); + }, + + tKey(key) { + return window.t ? t(key) : key; + }, + + tfKey(key, vars) { + return window.tf ? tf(key, vars) : this.tKey(key); + }, + }; + }); +}); diff --git a/apps/ui/js/api-keys.js b/apps/ui/js/api-keys.js new file mode 100644 index 0000000..b3d1ccd --- /dev/null +++ b/apps/ui/js/api-keys.js @@ -0,0 +1,620 @@ +var KEYS = []; +var AGENTS = []; +var capabilities = null; +var currentWorkspaceId = null; +var currentAgentId = null; +var selectedScopes = new Set(['read']); +var search = ''; + +var SCOPES = ['read', 'write', 'deploy']; +var SCOPE_DESC = { + read: 'apikeys.scope.read', + write: 'apikeys.scope.write', + deploy: 'apikeys.scope.deploy', +}; + +function tKey(key) { + return window.t ? t(key) : key; +} + +function tfKey(key, vars) { + return window.tf ? tf(key, vars) : tKey(key); +} + +function capabilityLabel(key) { + return tKey('settings.capability.' + key); +} + +function buildIconSvg(href, width, height) { + var svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); + svg.setAttribute('width', String(width)); + svg.setAttribute('height', String(height)); + var use = document.createElementNS('http://www.w3.org/2000/svg', 'use'); + use.setAttribute('href', href); + svg.appendChild(use); + return svg; +} + +function mapKeyRecord(record) { + var apiKey = record.api_key || {}; + return { + id: apiKey.id, + agentId: apiKey.agent_id || null, + name: apiKey.name, + prefix: apiKey.prefix || '', + scopes: apiKey.scopes || [], + created: apiKey.created_at ? apiKey.created_at.slice(0, 10) : '—', + lastUsed: apiKey.last_used_at ? apiKey.last_used_at.slice(0, 10) : tKey('apikeys.last_used.never'), + status: apiKey.status || 'active', + }; +} + +function mapAgentRecord(record) { + return { + id: record.id, + slug: record.slug, + displayName: record.display_name || record.slug || record.id, + mcpEndpoint: record.mcp_endpoint || '', + }; +} + +function currentWorkspace() { + return window.getCurrentWorkspace ? window.getCurrentWorkspace() : null; +} + +async function loadKeys() { + var workspace = currentWorkspace(); + currentWorkspaceId = workspace ? workspace.id : null; + + setTableLoading(true); + + if (!currentWorkspaceId || !window.CrankApi) { + AGENTS = []; + KEYS = []; + currentAgentId = null; + renderAgentPicker(); + setCreateButtonState(); + setTableLoading(false); + renderTable(tKey('apikeys.error.api')); + return; + } + + try { + var response = await window.CrankApi.listAgents(currentWorkspaceId); + AGENTS = ((response && response.items) || []).map(mapAgentRecord); + if (!AGENTS.length) { + currentAgentId = null; + KEYS = []; + renderAgentPicker(); + setCreateButtonState(); + setTableLoading(false); + renderTable(); + return; + } + if (!currentAgentId || !AGENTS.some(function(agent) { return agent.id === currentAgentId; })) { + currentAgentId = AGENTS[0].id; + } + renderAgentPicker(); + var keysResponse = await window.CrankApi.listAgentPlatformApiKeys( + currentWorkspaceId, + currentAgentId + ); + KEYS = ((keysResponse && keysResponse.items) || []).map(mapKeyRecord); + setCreateButtonState(); + setTableLoading(false); + renderTable(); + } catch (error) { + AGENTS = []; + KEYS = []; + currentAgentId = null; + renderAgentPicker(); + setCreateButtonState(); + setTableLoading(false); + renderTable(error.message || tKey('apikeys.error.load')); + } +} + +async function loadCapabilities() { + if (!window.CrankApi || typeof window.CrankApi.getCapabilities !== 'function') { + return; + } + + try { + capabilities = await window.CrankApi.getCapabilities(); + } catch (_error) { + capabilities = null; + } + + renderMachineAccessSummary(); +} + +function renderMachineAccessSummary() { + var title = document.getElementById('machine-access-title'); + var subtitle = document.getElementById('machine-access-subtitle'); + var summary = document.getElementById('machine-access-summary'); + var note = document.getElementById('machine-access-note'); + if (!title || !subtitle || !summary || !note) { + return; + } + + if (!capabilities) { + summary.textContent = tKey('apikeys.machine_access.summary_default'); + note.textContent = tKey('apikeys.machine_access.note'); + return; + } + + var accessModes = (capabilities.machine_access_modes || []).map(capabilityLabel).join(', '); + var securityLevels = (capabilities.supported_security_levels || []).map(capabilityLabel).join(', '); + + title.textContent = tKey('apikeys.machine_access.title_' + capabilities.edition); + subtitle.textContent = tKey('apikeys.machine_access.subtitle_' + capabilities.edition); + summary.textContent = tfKey('apikeys.machine_access.summary', { + access_modes: accessModes || capabilityLabel('none'), + security_levels: securityLevels || capabilityLabel('none'), + }); + note.textContent = tKey('apikeys.machine_access.note_' + capabilities.edition); +} + +function setTableLoading(on) { + var tbody = document.getElementById('keys-tbody'); + if (!on) return; + tbody.innerHTML = ''; + var tr = document.createElement('tr'); + var td = document.createElement('td'); + td.colSpan = 7; + td.style.cssText = 'text-align:center;padding:36px;color:var(--text-muted);'; + td.textContent = tKey('apikeys.loading'); + tr.appendChild(td); + tbody.appendChild(tr); +} + +async function revokeKey(id) { + if (!confirm(tKey('apikeys.confirm.revoke'))) return; + if (!currentAgentId) return; + + try { + var key = KEYS.find(function(item) { return item.id === id; }); + await window.CrankApi.revokeAgentPlatformApiKey(currentWorkspaceId, currentAgentId, id); + await loadKeys(); + if (window.CrankUi) { + window.CrankUi.success( + tfKey('apikeys.toast.revoke_message', { name: key ? key.name : '' }), + tKey('apikeys.toast.revoke_title') + ); + } + } catch (error) { + if (window.CrankUi) { + window.CrankUi.error( + error.message || tKey('apikeys.toast.revoke_error_message'), + tKey('apikeys.toast.revoke_error_title') + ); + } + } +} + +async function deleteKey(id) { + if (!confirm(tKey('apikeys.confirm.delete'))) return; + if (!currentAgentId) return; + + try { + var key = KEYS.find(function(item) { return item.id === id; }); + await window.CrankApi.deleteAgentPlatformApiKey(currentWorkspaceId, currentAgentId, id); + await loadKeys(); + if (window.CrankUi) { + window.CrankUi.success( + tfKey('apikeys.toast.delete_message', { name: key ? key.name : '' }), + tKey('apikeys.toast.delete_title') + ); + } + } catch (error) { + if (window.CrankUi) { + window.CrankUi.error( + error.message || tKey('apikeys.toast.delete_error_message'), + tKey('apikeys.toast.delete_error_title') + ); + } + } +} + +async function createKey(name, scopes) { + var created = await window.CrankApi.createAgentPlatformApiKey(currentWorkspaceId, currentAgentId, { + name: name, + scopes: scopes, + }); + return { + rawKey: created.secret, + record: mapKeyRecord(created.api_key), + }; +} + +function currentAgent() { + return AGENTS.find(function(agent) { return agent.id === currentAgentId; }) || null; +} + +function renderAgentPicker() { + var select = document.getElementById('agent-select'); + var hint = document.getElementById('agent-endpoint-hint'); + if (!select || !hint) return; + + select.innerHTML = ''; + + if (!AGENTS.length) { + var emptyOption = document.createElement('option'); + emptyOption.value = ''; + emptyOption.textContent = tKey('apikeys.agent.empty'); + select.appendChild(emptyOption); + select.disabled = true; + hint.textContent = tKey('apikeys.agent.empty_hint'); + return; + } + + AGENTS.forEach(function(agent) { + var option = document.createElement('option'); + option.value = agent.id; + option.textContent = agent.displayName; + if (agent.id === currentAgentId) option.selected = true; + select.appendChild(option); + }); + select.disabled = false; + + var agent = currentAgent(); + hint.textContent = agent && agent.mcpEndpoint + ? tfKey('apikeys.agent.endpoint', { endpoint: agent.mcpEndpoint }) + : tKey('apikeys.agent.endpoint_missing'); +} + +function setCreateButtonState() { + var button = document.getElementById('btn-create-key'); + if (!button) return; + button.disabled = !currentAgentId; +} + +function renderScopes() { + var el = document.getElementById('scope-checkboxes'); + var tmpl = document.getElementById('tmpl-scope-checkbox'); + el.innerHTML = ''; + SCOPES.forEach(function(scope) { + var node = tmpl.content.cloneNode(true); + var input = node.querySelector('input'); + input.dataset.scope = scope; + if (selectedScopes.has(scope)) input.checked = true; + node.querySelector('.scope-checkbox-name').textContent = scope; + node.querySelector('.scope-checkbox-desc').textContent = tKey(SCOPE_DESC[scope]); + input.addEventListener('change', function() { + if (this.checked) selectedScopes.add(this.dataset.scope); + else selectedScopes.delete(this.dataset.scope); + }); + el.appendChild(node); + }); +} + +function renderTable(errorMessage) { + var q = search.toLowerCase(); + var tbody = document.getElementById('keys-tbody'); + var cardList = document.getElementById('keys-card-list'); + var rows = KEYS.filter(function(key) { + return !q || key.name.toLowerCase().includes(q) || key.prefix.toLowerCase().includes(q); + }); + var subtitle = document.getElementById('keys-summary-subtitle'); + + tbody.innerHTML = ''; + if (cardList) { + cardList.innerHTML = ''; + } + + if (subtitle) { + var active = KEYS.filter(function(key) { return key.status === 'active'; }).length; + var revoked = KEYS.filter(function(key) { return key.status === 'revoked'; }).length; + subtitle.textContent = currentAgentId + ? tfKey('apikeys.active.subtitle', { active: active, revoked: revoked }) + : tKey('apikeys.agent.empty_hint'); + } + + if (errorMessage) { + var errorRow = document.createElement('tr'); + var errorCell = document.createElement('td'); + errorCell.colSpan = 7; + errorCell.style.cssText = 'text-align:center;padding:36px;color:var(--danger,#f85149);'; + errorCell.textContent = errorMessage; + errorRow.appendChild(errorCell); + tbody.appendChild(errorRow); + renderKeyCards([], errorMessage); + return; + } + + if (!rows.length) { + var empty = document.createElement('tr'); + var td = document.createElement('td'); + td.colSpan = 7; + td.style.cssText = 'text-align:center;padding:36px;color:var(--text-muted);'; + td.textContent = currentAgentId + ? (KEYS.length ? tKey('apikeys.empty.search') : tKey('apikeys.empty.none')) + : tKey('apikeys.agent.empty_hint'); + empty.appendChild(td); + tbody.appendChild(empty); + renderKeyCards(rows); + return; + } + + var tmpl = document.getElementById('tmpl-key-row'); + rows.forEach(function(key) { + var node = tmpl.content.cloneNode(true); + node.querySelector('.col-name').textContent = key.name; + node.querySelector('.col-mono').textContent = key.prefix; + node.querySelector('.col-created').textContent = key.created; + node.querySelector('.col-last-used').textContent = key.lastUsed; + + var scopesEl = node.querySelector('.col-scopes'); + key.scopes.forEach(function(scope) { + var span = document.createElement('span'); + span.className = 'badge badge-scope'; + span.textContent = scope; + scopesEl.appendChild(span); + }); + + var badge = document.createElement('span'); + badge.className = key.status === 'active' ? 'badge badge-active' : 'badge badge-revoked'; + badge.textContent = key.status === 'active' ? tKey('apikeys.status.active') : tKey('apikeys.status.revoked'); + node.querySelector('.col-status').appendChild(badge); + + var actionsActive = node.querySelector('.actions-active'); + var actionsRevoked = node.querySelector('.actions-revoked'); + if (key.status === 'active') { + actionsActive.querySelector('[title=\"Copy key prefix\"]').addEventListener('click', function() { + copyPrefix(key.prefix); + }); + actionsActive.querySelector('[title=\"Revoke key\"]').addEventListener('click', function() { + revokeKey(key.id); + }); + } else { + actionsActive.hidden = true; + actionsRevoked.hidden = false; + actionsRevoked.querySelector('[title=\"Delete\"]').addEventListener('click', function() { + deleteKey(key.id); + }); + } + + tbody.appendChild(node); + }); + + renderKeyCards(rows); +} + +function renderKeyCards(rows, errorMessage) { + var cardList = document.getElementById('keys-card-list'); + if (!cardList) return; + + cardList.innerHTML = ''; + + if (errorMessage) { + cardList.appendChild(buildKeyCardMessage(errorMessage, true)); + return; + } + + if (!rows.length) { + cardList.appendChild( + buildKeyCardMessage( + currentAgentId + ? (KEYS.length ? tKey('apikeys.empty.search') : tKey('apikeys.empty.none')) + : tKey('apikeys.agent.empty_hint'), + false + ) + ); + return; + } + + rows.forEach(function(key) { + var card = document.createElement('div'); + card.className = 'resource-card'; + + var header = document.createElement('div'); + header.className = 'resource-card-header'; + var headerMain = document.createElement('div'); + var title = document.createElement('div'); + title.className = 'resource-card-title'; + title.textContent = key.name; + var subtitle = document.createElement('div'); + subtitle.className = 'resource-card-subtitle'; + subtitle.textContent = key.prefix; + headerMain.appendChild(title); + headerMain.appendChild(subtitle); + + var actions = document.createElement('div'); + actions.className = 'resource-card-actions'; + + var statusBadge = document.createElement('span'); + statusBadge.className = key.status === 'active' ? 'badge badge-active' : 'badge badge-revoked'; + statusBadge.textContent = key.status === 'active' + ? tKey('apikeys.status.active') + : tKey('apikeys.status.revoked'); + actions.appendChild(statusBadge); + header.appendChild(headerMain); + header.appendChild(actions); + card.appendChild(header); + + var metaGrid = document.createElement('div'); + metaGrid.className = 'resource-meta-grid'; + metaGrid.appendChild(buildMetaItem('apikeys.th.scopes', key.scopes.join(', ') || '—')); + metaGrid.appendChild(buildMetaItem('apikeys.th.created', key.created)); + metaGrid.appendChild(buildMetaItem('apikeys.th.last', key.lastUsed)); + card.appendChild(metaGrid); + + var actionRow = document.createElement('div'); + actionRow.className = 'resource-card-actions'; + if (key.status === 'active') { + actionRow.appendChild(buildCardAction('apikeys.action.copy_prefix', function() { + copyPrefix(key.prefix); + })); + actionRow.appendChild(buildCardAction('apikeys.action.revoke', function() { + revokeKey(key.id); + }, true)); + } else { + actionRow.appendChild(buildCardAction('apikeys.action.delete', function() { + deleteKey(key.id); + }, true)); + } + card.appendChild(actionRow); + + cardList.appendChild(card); + }); +} + +function buildKeyCardMessage(text, isError) { + var card = document.createElement('div'); + card.className = 'resource-card'; + var value = document.createElement('div'); + value.className = 'resource-meta-value'; + value.textContent = text; + value.style.color = isError ? 'var(--danger,#f85149)' : 'var(--text-muted)'; + card.appendChild(value); + return card; +} + +function buildMetaItem(labelKey, valueText) { + var item = document.createElement('div'); + item.className = 'resource-meta-item'; + var label = document.createElement('div'); + label.className = 'resource-meta-label'; + label.textContent = tKey(labelKey); + var value = document.createElement('div'); + value.className = 'resource-meta-value'; + value.textContent = valueText; + item.appendChild(label); + item.appendChild(value); + return item; +} + +function buildCardAction(labelKey, onClick, isDanger) { + var button = document.createElement('button'); + button.type = 'button'; + button.className = isDanger ? 'btn-secondary' : 'btn-secondary'; + button.textContent = tKey(labelKey); + button.addEventListener('click', onClick); + return button; +} + +var modal = document.getElementById('modal-create'); + +function openModal() { + if (!currentAgentId) return; + document.getElementById('modal-form-body').hidden = false; + document.getElementById('modal-reveal-body').hidden = true; + document.getElementById('modal-footer-create').hidden = false; + document.getElementById('modal-footer-done').hidden = true; + document.getElementById('new-key-name').value = ''; + selectedScopes = new Set(['read']); + renderScopes(); + modal.classList.add('open'); + setTimeout(function() { + document.getElementById('new-key-name').focus(); + }, 50); +} + +function closeModal() { + modal.classList.remove('open'); +} + +document.getElementById('btn-create-key').addEventListener('click', openModal); +document.getElementById('modal-close-btn').addEventListener('click', closeModal); +document.getElementById('modal-cancel-btn').addEventListener('click', closeModal); +modal.addEventListener('click', function(event) { + if (event.target === modal) closeModal(); +}); + +document.getElementById('modal-confirm-btn').addEventListener('click', async function() { + var button = this; + var name = document.getElementById('new-key-name').value.trim(); + if (!name) { + document.getElementById('new-key-name').focus(); + return; + } + if (!selectedScopes.size) { + if (window.CrankUi) { + window.CrankUi.info( + tKey('apikeys.toast.scope_missing_message'), + tKey('apikeys.toast.scope_missing_title') + ); + } + return; + } + + try { + button.disabled = true; + button.textContent = tKey('apikeys.creating'); + var created = await createKey(name, Array.from(selectedScopes)); + KEYS.unshift(created.record); + document.getElementById('reveal-key-value').textContent = created.rawKey; + document.getElementById('modal-form-body').hidden = true; + document.getElementById('modal-reveal-body').hidden = false; + document.getElementById('modal-footer-create').hidden = true; + document.getElementById('modal-footer-done').hidden = false; + renderTable(); + if (window.CrankUi) { + window.CrankUi.success( + tKey('apikeys.toast.create_message'), + tKey('apikeys.toast.create_title') + ); + } + } catch (error) { + if (window.CrankUi) { + window.CrankUi.error( + error.message || tKey('apikeys.toast.create_error_message'), + tKey('apikeys.toast.create_error_title') + ); + } + } finally { + button.disabled = false; + button.textContent = tKey('apikeys.modal.create'); + } +}); + +document.getElementById('modal-done-btn').addEventListener('click', closeModal); + +document.getElementById('copy-key-btn').addEventListener('click', function() { + var value = document.getElementById('reveal-key-value').textContent; + if (navigator.clipboard) { + navigator.clipboard.writeText(value).catch(function() {}); + } + this.replaceChildren( + buildIconSvg( + (window.APP_BASE || '') + 'icons/general/check.svg#icon', + 13, + 13 + ) + ); + if (window.CrankUi) { + window.CrankUi.info( + tKey('apikeys.toast.copy_message'), + tKey('apikeys.toast.copy_title') + ); + } +}); + +document.getElementById('key-search').addEventListener('input', function() { + search = this.value; + renderTable(); +}); + +document.getElementById('agent-select').addEventListener('change', async function() { + currentAgentId = this.value || null; + await loadKeys(); +}); + +function copyPrefix(prefix) { + if (navigator.clipboard) { + navigator.clipboard.writeText(prefix).catch(function() {}); + } + if (window.CrankUi) { + window.CrankUi.info(prefix, tKey('apikeys.toast.prefix_title')); + } +} + +document.addEventListener('DOMContentLoaded', async function() { + await (window.whenWorkspacesReady ? window.whenWorkspacesReady() : Promise.resolve()); + await loadCapabilities(); + await loadKeys(); + window.addEventListener('crank:workspacechange', function() { + loadCapabilities(); + loadKeys(); + }); +}); diff --git a/apps/ui/js/api.js b/apps/ui/js/api.js new file mode 100644 index 0000000..b76bc0c --- /dev/null +++ b/apps/ui/js/api.js @@ -0,0 +1,351 @@ +(function() { + var API_BASE = '/api/admin'; + var AUTH_BASE = '/api/auth'; + + function headers(extra) { + return Object.assign({ + 'Accept': 'application/json', + }, extra || {}); + } + + async function request(path, options) { + var response = await fetch(path, Object.assign({ + credentials: 'same-origin', + headers: headers(), + }, options || {})); + + if (response.status === 204) { + return null; + } + + var payload = null; + var text = await response.text(); + + if (text) { + try { + payload = JSON.parse(text); + } catch (_error) {} + } + + if (!response.ok) { + if (response.status === 401 && window.CrankAuth && typeof window.CrankAuth.handleUnauthorized === 'function') { + window.CrankAuth.handleUnauthorized(); + } + var message = payload && payload.error + ? payload.error.message + : payload && payload.message + ? payload.message + : text + ? text + : ('HTTP ' + response.status); + var error = new Error(message); + error.status = response.status; + error.payload = payload; + throw error; + } + + return payload; + } + + async function requestText(path, options) { + var response = await fetch(path, Object.assign({ + credentials: 'same-origin', + headers: headers(), + }, options || {})); + + var text = await response.text(); + var payload = null; + + if (text) { + try { + payload = JSON.parse(text); + } catch (_error) {} + } + + if (!response.ok) { + if (response.status === 401 && window.CrankAuth && typeof window.CrankAuth.handleUnauthorized === 'function') { + window.CrankAuth.handleUnauthorized(); + } + var message = payload && payload.error + ? payload.error.message + : payload && payload.message + ? payload.message + : text + ? text + : ('HTTP ' + response.status); + var error = new Error(message); + error.status = response.status; + error.payload = payload; + throw error; + } + + return text; + } + + function get(path) { + return request(API_BASE + path); + } + + function post(path, body) { + return request(API_BASE + path, { + method: 'POST', + headers: headers({ 'Content-Type': 'application/json' }), + body: JSON.stringify(body), + }); + } + + function patch(path, body) { + return request(API_BASE + path, { + method: 'PATCH', + headers: headers({ 'Content-Type': 'application/json' }), + body: JSON.stringify(body), + }); + } + + function del(path) { + return request(API_BASE + path, { method: 'DELETE' }); + } + + function query(params) { + var search = new URLSearchParams(); + Object.keys(params || {}).forEach(function(key) { + var value = params[key]; + if (value === undefined || value === null || value === '') { + return; + } + search.set(key, value); + }); + var encoded = search.toString(); + return encoded ? ('?' + encoded) : ''; + } + + function postBytes(path, bytes, fileName) { + return request(API_BASE + path, { + method: 'POST', + headers: headers(fileName ? { 'X-File-Name': fileName } : {}), + body: bytes, + }); + } + + window.CrankApi = { + login: function(payload) { + return request(AUTH_BASE + '/login', { + method: 'POST', + headers: headers({ 'Content-Type': 'application/json' }), + body: JSON.stringify(payload), + }); + }, + logout: function() { + return request(AUTH_BASE + '/logout', { + method: 'POST', + headers: headers({ 'Content-Type': 'application/json' }), + body: JSON.stringify({}), + }); + }, + getSession: function() { + return request(AUTH_BASE + '/session'); + }, + getProfile: function() { + return request(AUTH_BASE + '/profile'); + }, + updateProfile: function(payload) { + return request(AUTH_BASE + '/profile', { + method: 'PATCH', + headers: headers({ 'Content-Type': 'application/json' }), + body: JSON.stringify(payload), + }); + }, + changePassword: function(payload) { + return request(AUTH_BASE + '/password', { + method: 'POST', + headers: headers({ 'Content-Type': 'application/json' }), + body: JSON.stringify(payload), + }); + }, + setCurrentWorkspace: function(workspaceId) { + return request(AUTH_BASE + '/current-workspace', { + method: 'POST', + headers: headers({ 'Content-Type': 'application/json' }), + body: JSON.stringify({ workspace_id: workspaceId }), + }); + }, + listWorkspaces: function() { + return get('/workspaces'); + }, + getCapabilities: function() { + return get('/capabilities'); + }, + createWorkspace: function(payload) { + return post('/workspaces', payload); + }, + getWorkspace: function(workspaceId) { + return get('/workspaces/' + encodeURIComponent(workspaceId)); + }, + updateWorkspace: function(workspaceId, payload) { + return patch('/workspaces/' + encodeURIComponent(workspaceId), payload); + }, + listMemberships: function(workspaceId) { + return get('/workspaces/' + encodeURIComponent(workspaceId) + '/members'); + }, + updateMembership: function(workspaceId, userId, payload) { + return patch('/workspaces/' + encodeURIComponent(workspaceId) + '/members/' + encodeURIComponent(userId), payload); + }, + deleteMembership: function(workspaceId, userId) { + return del('/workspaces/' + encodeURIComponent(workspaceId) + '/members/' + encodeURIComponent(userId)); + }, + listInvitations: function(workspaceId) { + return get('/workspaces/' + encodeURIComponent(workspaceId) + '/invitations'); + }, + createInvitation: function(workspaceId, payload) { + return post('/workspaces/' + encodeURIComponent(workspaceId) + '/invitations', payload); + }, + deleteInvitation: function(workspaceId, invitationId) { + return del('/workspaces/' + encodeURIComponent(workspaceId) + '/invitations/' + encodeURIComponent(invitationId)); + }, + exportWorkspace: function(workspaceId) { + return get('/workspaces/' + encodeURIComponent(workspaceId) + '/export'); + }, + deleteWorkspace: function(workspaceId) { + return del('/workspaces/' + encodeURIComponent(workspaceId)); + }, + listOperations: function(workspaceId) { + return get('/workspaces/' + encodeURIComponent(workspaceId) + '/operations'); + }, + getOperation: function(workspaceId, operationId) { + return get('/workspaces/' + encodeURIComponent(workspaceId) + '/operations/' + encodeURIComponent(operationId)); + }, + getOperationVersion: function(workspaceId, operationId, version) { + return get('/workspaces/' + encodeURIComponent(workspaceId) + '/operations/' + encodeURIComponent(operationId) + '/versions/' + encodeURIComponent(version)); + }, + createOperation: function(workspaceId, payload) { + return post('/workspaces/' + encodeURIComponent(workspaceId) + '/operations', payload); + }, + updateOperation: function(workspaceId, operationId, payload) { + return patch('/workspaces/' + encodeURIComponent(workspaceId) + '/operations/' + encodeURIComponent(operationId), payload); + }, + deleteOperation: function(workspaceId, operationId) { + return del('/workspaces/' + encodeURIComponent(workspaceId) + '/operations/' + encodeURIComponent(operationId)); + }, + archiveOperation: function(workspaceId, operationId) { + return post('/workspaces/' + encodeURIComponent(workspaceId) + '/operations/' + encodeURIComponent(operationId) + '/archive', {}); + }, + publishOperation: function(workspaceId, operationId, version) { + return post('/workspaces/' + encodeURIComponent(workspaceId) + '/operations/' + encodeURIComponent(operationId) + '/publish', { + version: version, + }); + }, + createOperationVersion: function(workspaceId, operationId, payload) { + return post('/workspaces/' + encodeURIComponent(workspaceId) + '/operations/' + encodeURIComponent(operationId) + '/versions', payload); + }, + runOperationTest: function(workspaceId, operationId, payload) { + return post('/workspaces/' + encodeURIComponent(workspaceId) + '/operations/' + encodeURIComponent(operationId) + '/test-runs', payload); + }, + uploadInputSample: function(workspaceId, operationId, sample) { + return post('/workspaces/' + encodeURIComponent(workspaceId) + '/operations/' + encodeURIComponent(operationId) + '/samples/input-json', sample); + }, + uploadOutputSample: function(workspaceId, operationId, sample) { + return post('/workspaces/' + encodeURIComponent(workspaceId) + '/operations/' + encodeURIComponent(operationId) + '/samples/output-json', sample); + }, + generateDraft: function(workspaceId, operationId, payload) { + return post('/workspaces/' + encodeURIComponent(workspaceId) + '/operations/' + encodeURIComponent(operationId) + '/drafts/generate', payload || {}); + }, + exportOperation: function(workspaceId, operationId, params) { + return requestText( + API_BASE + '/workspaces/' + encodeURIComponent(workspaceId) + '/operations/' + encodeURIComponent(operationId) + '/export' + query(params), + { + headers: headers({ 'Accept': 'application/yaml' }), + } + ); + }, + importOperation: function(workspaceId, yamlDocument, mode) { + return request( + API_BASE + '/workspaces/' + encodeURIComponent(workspaceId) + '/operations/import' + query({ mode: mode }), + { + method: 'POST', + headers: headers({ 'Content-Type': 'application/yaml' }), + body: yamlDocument, + } + ); + }, + listAgents: function(workspaceId) { + return get('/workspaces/' + encodeURIComponent(workspaceId) + '/agents'); + }, + createAgent: function(workspaceId, payload) { + return post('/workspaces/' + encodeURIComponent(workspaceId) + '/agents', payload); + }, + getAgent: function(workspaceId, agentId) { + return get('/workspaces/' + encodeURIComponent(workspaceId) + '/agents/' + encodeURIComponent(agentId)); + }, + updateAgent: function(workspaceId, agentId, payload) { + return patch('/workspaces/' + encodeURIComponent(workspaceId) + '/agents/' + encodeURIComponent(agentId), payload); + }, + deleteAgent: function(workspaceId, agentId) { + return del('/workspaces/' + encodeURIComponent(workspaceId) + '/agents/' + encodeURIComponent(agentId)); + }, + saveAgentBindings: function(workspaceId, agentId, payload) { + return post('/workspaces/' + encodeURIComponent(workspaceId) + '/agents/' + encodeURIComponent(agentId) + '/bindings', payload); + }, + publishAgent: function(workspaceId, agentId, payload) { + return post('/workspaces/' + encodeURIComponent(workspaceId) + '/agents/' + encodeURIComponent(agentId) + '/publish', payload); + }, + unpublishAgent: function(workspaceId, agentId) { + return post('/workspaces/' + encodeURIComponent(workspaceId) + '/agents/' + encodeURIComponent(agentId) + '/unpublish', {}); + }, + archiveAgent: function(workspaceId, agentId) { + return post('/workspaces/' + encodeURIComponent(workspaceId) + '/agents/' + encodeURIComponent(agentId) + '/archive', {}); + }, + listAgentPlatformApiKeys: function(workspaceId, agentId) { + return get('/workspaces/' + encodeURIComponent(workspaceId) + '/agents/' + encodeURIComponent(agentId) + '/platform-api-keys'); + }, + createAgentPlatformApiKey: function(workspaceId, agentId, payload) { + return post('/workspaces/' + encodeURIComponent(workspaceId) + '/agents/' + encodeURIComponent(agentId) + '/platform-api-keys', payload); + }, + revokeAgentPlatformApiKey: function(workspaceId, agentId, keyId) { + return post('/workspaces/' + encodeURIComponent(workspaceId) + '/agents/' + encodeURIComponent(agentId) + '/platform-api-keys/' + encodeURIComponent(keyId) + '/revoke', {}); + }, + deleteAgentPlatformApiKey: function(workspaceId, agentId, keyId) { + return del('/workspaces/' + encodeURIComponent(workspaceId) + '/agents/' + encodeURIComponent(agentId) + '/platform-api-keys/' + encodeURIComponent(keyId)); + }, + listSecrets: function(workspaceId) { + return get('/workspaces/' + encodeURIComponent(workspaceId) + '/secrets'); + }, + createSecret: function(workspaceId, payload) { + return post('/workspaces/' + encodeURIComponent(workspaceId) + '/secrets', payload); + }, + getSecret: function(workspaceId, secretId) { + return get('/workspaces/' + encodeURIComponent(workspaceId) + '/secrets/' + encodeURIComponent(secretId)); + }, + rotateSecret: function(workspaceId, secretId, payload) { + return post('/workspaces/' + encodeURIComponent(workspaceId) + '/secrets/' + encodeURIComponent(secretId) + '/rotate', payload); + }, + deleteSecret: function(workspaceId, secretId) { + return del('/workspaces/' + encodeURIComponent(workspaceId) + '/secrets/' + encodeURIComponent(secretId)); + }, + listAuthProfiles: function(workspaceId) { + return get('/workspaces/' + encodeURIComponent(workspaceId) + '/auth-profiles'); + }, + listLogs: function(workspaceId, params) { + return get('/workspaces/' + encodeURIComponent(workspaceId) + '/logs' + query(params)); + }, + getLog: function(workspaceId, logId) { + return get('/workspaces/' + encodeURIComponent(workspaceId) + '/logs/' + encodeURIComponent(logId)); + }, + getUsageOverview: function(workspaceId, params) { + return get('/workspaces/' + encodeURIComponent(workspaceId) + '/usage' + query(params)); + }, + getProtocolCapabilities: function(workspaceId) { + return get('/workspaces/' + encodeURIComponent(workspaceId) + '/protocol-capabilities'); + }, + getOperationUsage: function(workspaceId, operationId, params) { + return get( + '/workspaces/' + encodeURIComponent(workspaceId) + '/usage/operations/' + encodeURIComponent(operationId) + query(params) + ); + }, + getAgentUsage: function(workspaceId, agentId, params) { + return get( + '/workspaces/' + encodeURIComponent(workspaceId) + '/usage/agents/' + encodeURIComponent(agentId) + query(params) + ); + }, + }; + +}()); diff --git a/apps/ui/js/auth.js b/apps/ui/js/auth.js new file mode 100644 index 0000000..06019a7 --- /dev/null +++ b/apps/ui/js/auth.js @@ -0,0 +1,253 @@ +(function() { + var STORAGE_KEY = 'crank_user'; + var sessionCache = null; + var sessionPromise = null; + function tKey(key) { + return typeof t === 'function' ? t(key) : key; + } + function tfKey(key, vars) { + return typeof tf === 'function' ? tf(key, vars) : key; + } + function roleLabel(role) { + var normalized = String(role || 'viewer').toLowerCase(); + if (normalized === 'operator') return tKey('workspace_setup.role.operator'); + if (normalized === 'owner') return tKey('workspace_setup.role.owner'); + if (normalized === 'admin') return tKey('workspace_setup.role.admin'); + if (normalized === 'viewer') return tKey('workspace_setup.role.viewer'); + return normalized.replace(/^\w/, function(char) { return char.toUpperCase(); }); + } + + function currentWorkspaceLabel() { + if (window.getCurrentWorkspace) { + var workspace = window.getCurrentWorkspace(); + if (workspace && workspace.name) { + return workspace.name; + } + } + try { + return localStorage.getItem('crank_workspace_slug') || tKey('settings.nav.workspace'); + } catch (_error) { + return tKey('settings.nav.workspace'); + } + } + + function isLoginPage() { + return /\/(?:html\/login\.html|login)\/?$/.test(window.location.pathname); + } + + function loginUrl() { + return (window.CrankRoutes && window.CrankRoutes.login) || '/login'; + } + + function homeUrl() { + return (window.CrankRoutes && window.CrankRoutes.home) || '/'; + } + + function clearUserMirror() { + sessionCache = null; + sessionPromise = null; + try { + localStorage.removeItem(STORAGE_KEY); + } catch (_error) {} + renderShellIdentity(null); + } + + function primaryMembership(session) { + if (!(session && session.memberships && session.memberships.length)) { + return null; + } + if (session.current_workspace_id) { + var currentMembership = session.memberships.find(function(item) { + return item.workspace && item.workspace.id === session.current_workspace_id; + }); + if (currentMembership) { + return currentMembership; + } + } + if (window.getCurrentWorkspace) { + var currentWorkspace = window.getCurrentWorkspace(); + if (currentWorkspace) { + var matched = session.memberships.find(function(item) { + return item.workspace && item.workspace.id === currentWorkspace.id; + }); + if (matched) { + return matched; + } + } + } + return session.memberships[0]; + } + + function initials(displayName, email) { + var source = displayName || email || 'Crank'; + return source + .split(/\s+/) + .filter(Boolean) + .slice(0, 2) + .map(function(part) { return part.charAt(0).toUpperCase(); }) + .join('') || 'CR'; + } + + function persistUserMirror(session) { + var membership = primaryMembership(session); + var user = { + id: session.user.id, + name: session.user.display_name, + email: session.user.email, + role: membership ? roleLabel(membership.role) : tKey('workspace_setup.role.viewer'), + workspace: membership ? membership.workspace.slug : '', + workspaceId: membership ? membership.workspace.id : '', + initials: initials(session.user.display_name, session.user.email), + }; + + try { + localStorage.setItem(STORAGE_KEY, JSON.stringify(user)); + } catch (_error) {} + } + + function mirroredUser() { + try { + return JSON.parse(localStorage.getItem(STORAGE_KEY)); + } catch (_error) { + return null; + } + } + + function renderShellIdentity(session) { + var membership = primaryMembership(session); + var fallbackUser = mirroredUser(); + var displayName = session && session.user + ? (session.user.display_name || session.user.email || 'Crank') + : (fallbackUser && fallbackUser.name) || 'Crank'; + var email = session && session.user + ? session.user.email + : fallbackUser && fallbackUser.email; + var role = membership + ? roleLabel(membership.role) + : (fallbackUser && fallbackUser.role) || tKey('workspace_setup.role.viewer'); + var workspace = membership && membership.workspace + ? (membership.workspace.display_name || membership.workspace.slug || membership.workspace.id) + : currentWorkspaceLabel(); + var avatarValue = initials(displayName, email); + + document.querySelectorAll('.nav-avatar').forEach(function(element) { + element.textContent = avatarValue; + }); + document.querySelectorAll('.user-dropdown-name').forEach(function(element) { + element.textContent = displayName; + }); + document.querySelectorAll('.user-dropdown-role').forEach(function(element) { + element.textContent = role + ' · ' + workspace; + }); + if (window.CrankDiagnostics && typeof window.CrankDiagnostics.ensureShellTestIds === 'function') { + window.CrankDiagnostics.ensureShellTestIds(); + } + } + + function replaceSession(session) { + sessionCache = session; + persistUserMirror(session); + renderShellIdentity(session); + window.dispatchEvent(new CustomEvent('crank:sessionchange', { detail: session })); + return session; + } + + async function fetchSession(force) { + if (!force && sessionCache) { + return sessionCache; + } + if (!force && sessionPromise) { + return sessionPromise; + } + + sessionPromise = window.CrankApi.getSession() + .then(function(session) { + return replaceSession(session); + }) + .catch(function(error) { + clearUserMirror(); + throw error; + }) + .finally(function() { + sessionPromise = null; + }); + + return sessionPromise; + } + + async function guardProtectedPage() { + try { + return await fetchSession(false); + } catch (error) { + if (error && error.status === 401) { + window.location.replace(loginUrl()); + return null; + } + throw error; + } + } + + async function guardLoginPage() { + try { + await fetchSession(false); + window.location.replace(homeUrl()); + } catch (error) { + if (!error || error.status !== 401) { + throw error; + } + } + } + + async function login(email, password) { + var session = await window.CrankApi.login({ + email: email, + password: password, + }); + replaceSession(session); + window.location.href = homeUrl(); + } + + async function logout() { + try { + await window.CrankApi.logout(); + } finally { + clearUserMirror(); + window.location.href = loginUrl(); + } + } + + function handleUnauthorized() { + if (isLoginPage()) { + clearUserMirror(); + return; + } + clearUserMirror(); + window.location.replace(loginUrl()); + } + + window.CrankAuth = { + fetchSession: fetchSession, + replaceSession: replaceSession, + getCachedSession: function() { return sessionCache; }, + renderShellIdentity: function() { + renderShellIdentity(sessionCache); + }, + guardProtectedPage: guardProtectedPage, + guardLoginPage: guardLoginPage, + login: login, + logout: logout, + handleUnauthorized: handleUnauthorized, + }; + + window.addEventListener('crank:workspacechange', function() { + renderShellIdentity(sessionCache); + }); + + window.addEventListener('crank:sessionchange', function(event) { + renderShellIdentity(event.detail || sessionCache); + }); + + document.addEventListener('DOMContentLoaded', function() { + renderShellIdentity(sessionCache); + }); +}()); diff --git a/apps/ui/js/catalog.js b/apps/ui/js/catalog.js new file mode 100644 index 0000000..279494d --- /dev/null +++ b/apps/ui/js/catalog.js @@ -0,0 +1,535 @@ +const PAGE_SIZE_DESKTOP = 6; +const PAGE_SIZE_MOBILE = 4; +const MOBILE_BREAKPOINT = 960; + +function getSortOptions() { + return [ + { value: 'created_desc', label: (window.t && t('sort.created_desc')) || 'Sort: Last created' }, + { value: 'created_asc', label: (window.t && t('sort.created_asc')) || 'Sort: Oldest first' }, + { value: 'name_asc', label: (window.t && t('sort.name_asc')) || 'Sort: Name A–Z' }, + { value: 'name_desc', label: (window.t && t('sort.name_desc')) || 'Sort: Name Z–A' }, + ]; +} + +function getTabDefs() { + return [ + { id: 'all', label: (window.t && t('tab.all')) || 'All' }, + { id: 'active', label: (window.t && t('tab.active')) || 'Active' }, + { id: 'draft', label: (window.t && t('tab.draft')) || 'Draft' }, + { id: 'error', label: (window.t && t('tab.error')) || 'Error' }, + { id: 'inactive', label: (window.t && t('tab.inactive')) || 'Inactive' }, + ]; +} + +function uiStatus(rawStatus) { + if (rawStatus === 'published') return 'active'; + if (rawStatus === 'archived') return 'inactive'; + if (rawStatus === 'testing') return 'active'; + return rawStatus || 'draft'; +} + +function currentLocale() { + return localStorage.getItem('crank_lang') === 'ru' ? 'ru-RU' : 'en-US'; +} + +function mapOperation(item) { + var mapped = { + id: item.id, + name: item.name, + display_name: item.display_name, + protocol: item.protocol, + status: uiStatus(item.status), + raw_status: item.status, + category: item.category || 'general', + created_at: item.created_at, + updated_at: item.updated_at, + published_at: item.published_at, + target_url: item.target_url || '', + method: item.target_action || '', + usage_summary: item.usage_summary || { + calls_today: 0, + error_rate_pct: 0, + avg_latency_ms: 0, + }, + agent_refs: item.agent_refs || [], + }; + + return window.localizeDemoOperation ? window.localizeDemoOperation(mapped) : mapped; +} + +function emptyStats() { + return { + total: 0, + active: 0, + requestsToday: 0, + averageLatencyMs: 0, + }; +} + +function computeStats(operations) { + if (!operations.length) return emptyStats(); + + var requestsToday = operations.reduce(function(sum, operation) { + return sum + (operation.usage_summary ? operation.usage_summary.calls_today : 0); + }, 0); + var latencyBase = operations.filter(function(operation) { + return operation.usage_summary && operation.usage_summary.calls_today > 0; + }); + var latencyWeight = latencyBase.reduce(function(sum, operation) { + return sum + operation.usage_summary.calls_today; + }, 0); + var weightedLatency = latencyBase.reduce(function(sum, operation) { + return sum + (operation.usage_summary.avg_latency_ms * operation.usage_summary.calls_today); + }, 0); + + return { + total: operations.length, + active: operations.filter(function(operation) { return operation.status === 'active'; }).length, + requestsToday: requestsToday, + averageLatencyMs: latencyWeight > 0 ? Math.round(weightedLatency / latencyWeight) : 0, + }; +} + +document.addEventListener('alpine:init', function() { + Alpine.data('catalog', function() { + return { + operations: [], + loading: true, + loadError: '', + pageSize: PAGE_SIZE_DESKTOP, + search: '', + tab: 'all', + filterProtocol: null, + filterCategory: null, + filterAgent: null, + sort: 'created_desc', + page: 1, + openDropdown: null, + navOpen: false, + categoryOptions: [], + workspaceId: null, + stats: emptyStats(), + _opsVersion: 0, + _nonStatusViewCache: null, + _nonStatusViewKey: '', + _filteredCache: null, + _filteredKey: '', + _agentsByOpIdCache: null, + _agentsByOpIdCacheVersion: -1, + _activeAgentsCache: null, + _activeAgentsCacheVersion: -1, + + async init() { + var self = this; + + await (window.whenWorkspacesReady ? window.whenWorkspacesReady() : Promise.resolve()); + var workspace = window.getCurrentWorkspace ? window.getCurrentWorkspace() : null; + this.workspaceId = workspace ? workspace.id : null; + + var updatePageSize = function() { + self.pageSize = window.innerWidth <= MOBILE_BREAKPOINT ? PAGE_SIZE_MOBILE : PAGE_SIZE_DESKTOP; + self.page = 1; + }; + + updatePageSize(); + window.addEventListener('resize', updatePageSize); + window.addEventListener('crank:langchange', function() { + self.sort = self.sort; + applyLang(); + }); + window.addEventListener('crank:workspacechange', async function(event) { + self.workspaceId = event.detail ? event.detail.id : null; + await self.reload(); + }); + document.addEventListener('click', function(event) { + if (!event.target.closest('.filter-dropdown, .sort-dropdown, .user-menu')) { + self.openDropdown = null; + } + if (!event.target.closest('.navbar')) { + self.navOpen = false; + } + }); + + await this.reload(); + }, + + async reload() { + this.loading = true; + this.loadError = ''; + + try { + var response = await window.CrankApi.listOperations(this.workspaceId); + this.replaceOperations((response && response.items ? response.items : []).map(mapOperation)); + this.categoryOptions = Array.from(new Set(this.operations.map(function(operation) { + return operation.category; + }).filter(Boolean))).sort(); + this.stats = computeStats(this.operations); + } catch (error) { + this.replaceOperations([]); + this.categoryOptions = []; + this.stats = emptyStats(); + this.loadError = error.message || 'Failed to load operations'; + } + + this.loading = false; + this.page = 1; + }, + + replaceOperations(operations) { + this.operations = operations; + this._opsVersion += 1; + this._nonStatusViewCache = null; + this._nonStatusViewKey = ''; + this._filteredCache = null; + this._filteredKey = ''; + this._agentsByOpIdCache = null; + this._agentsByOpIdCacheVersion = -1; + this._activeAgentsCache = null; + this._activeAgentsCacheVersion = -1; + }, + + _applyNonStatusFilters(operations) { + var filtered = operations; + + if (this.search.trim()) { + var query = this.search.toLowerCase(); + filtered = filtered.filter(function(operation) { + return operation.name.toLowerCase().includes(query) + || operation.display_name.toLowerCase().includes(query) + || operation.category.toLowerCase().includes(query) + || (operation.target_url || '').toLowerCase().includes(query); + }); + } + + if (this.filterProtocol) { + filtered = filtered.filter(function(operation) { return operation.protocol === this.filterProtocol; }, this); + } + + if (this.filterCategory) { + filtered = filtered.filter(function(operation) { return operation.category === this.filterCategory; }, this); + } + + if (this.filterAgent) { + filtered = filtered.filter(function(operation) { + return (operation.agent_refs || []).some(function(agent) { return agent.agent_id === this.filterAgent; }, this); + }, this); + } + + return filtered; + }, + + _nonStatusView() { + var key = [ + this._opsVersion, + this.search.trim(), + this.filterProtocol || '', + this.filterCategory || '', + this.filterAgent || '', + ].join('|'); + + if (this._nonStatusViewCache && this._nonStatusViewKey === key) { + return this._nonStatusViewCache; + } + + var operations = this._applyNonStatusFilters(this.operations); + var tabCounts = { + all: operations.length, + active: 0, + draft: 0, + error: 0, + inactive: 0, + }; + + operations.forEach(function(operation) { + if (Object.prototype.hasOwnProperty.call(tabCounts, operation.status)) { + tabCounts[operation.status] += 1; + } + }); + + this._nonStatusViewKey = key; + this._nonStatusViewCache = { + operations: operations, + tabCounts: tabCounts, + }; + return this._nonStatusViewCache; + }, + + get filtered() { + var nonStatusView = this._nonStatusView(); + var key = [ + this._nonStatusViewKey, + this.tab, + this.sort, + ].join('|'); + + if (this._filteredCache && this._filteredKey === key) { + return this._filteredCache; + } + + var operations = nonStatusView.operations; + + if (this.tab !== 'all') { + operations = operations.filter(function(operation) { + return operation.status === this.tab; + }, this); + } + + operations = operations.slice().sort(function(left, right) { + if (this.sort === 'created_desc') return new Date(right.created_at) - new Date(left.created_at); + if (this.sort === 'created_asc') return new Date(left.created_at) - new Date(right.created_at); + if (this.sort === 'name_asc') return left.name.localeCompare(right.name); + if (this.sort === 'name_desc') return right.name.localeCompare(left.name); + return 0; + }.bind(this)); + + this._filteredKey = key; + this._filteredCache = operations; + return this._filteredCache; + }, + + get totalFiltered() { + return this.filtered.length; + }, + + get totalPages() { + return Math.max(1, Math.ceil(this.totalFiltered / this.pageSize)); + }, + + get paginated() { + var start = (this.page - 1) * this.pageSize; + return this.filtered.slice(start, start + this.pageSize); + }, + + get pageStart() { + return this.totalFiltered === 0 ? 0 : (this.page - 1) * this.pageSize + 1; + }, + + get pageEnd() { + return Math.min(this.page * this.pageSize, this.totalFiltered); + }, + + tabCount(tab) { + var tabCounts = this._nonStatusView().tabCounts; + return Object.prototype.hasOwnProperty.call(tabCounts, tab) ? tabCounts[tab] : 0; + }, + + get activeChips() { + var chips = []; + if (this.filterProtocol) chips.push({ key: 'protocol', label: this.tfKey('ops.filter.protocol', { value: this.filterProtocol.toUpperCase() }) }); + if (this.filterCategory) chips.push({ key: 'category', label: this.tfKey('ops.filter.category', { value: this.filterCategory }) }); + if (this.filterAgent) { + var agent = this.activeAgents.find(function(item) { return item.agent_id === this.filterAgent; }, this); + chips.push({ key: 'agent', label: this.tfKey('ops.filter.agent', { value: agent ? agent.display_name : '' }) }); + } + return chips; + }, + + get hasActiveFilters() { + return !!(this.filterProtocol || this.filterCategory || this.filterAgent || this.search.trim()); + }, + + clearChip(key) { + if (key === 'protocol') this.filterProtocol = null; + if (key === 'category') this.filterCategory = null; + if (key === 'agent') this.filterAgent = null; + this.page = 1; + }, + + clearAllFilters() { + this.filterProtocol = null; + this.filterCategory = null; + this.filterAgent = null; + this.search = ''; + this.tab = 'all'; + this.page = 1; + }, + + get agentsByOpId() { + if (this._agentsByOpIdCache && this._agentsByOpIdCacheVersion === this._opsVersion) { + return this._agentsByOpIdCache; + } + var map = {}; + this.operations.forEach(function(operation) { + map[operation.id] = operation.agent_refs || []; + }); + this._agentsByOpIdCacheVersion = this._opsVersion; + this._agentsByOpIdCache = map; + return this._agentsByOpIdCache; + }, + + get activeAgents() { + if (this._activeAgentsCache && this._activeAgentsCacheVersion === this._opsVersion) { + return this._activeAgentsCache; + } + var seen = {}; + var agents = []; + this.operations.forEach(function(operation) { + (operation.agent_refs || []).forEach(function(agent) { + if (!seen[agent.agent_id]) { + seen[agent.agent_id] = true; + agents.push(agent); + } + }); + }); + this._activeAgentsCacheVersion = this._opsVersion; + this._activeAgentsCache = agents.sort(function(left, right) { + return left.display_name.localeCompare(right.display_name); + }); + return this._activeAgentsCache; + }, + + get sortLabel() { + return getSortOptions().find(function(option) { return option.value === this.sort; }, this)?.label || 'Sort'; + }, + + setTab(tab) { + this.tab = tab; + this.page = 1; + }, + + setSearch(value) { + this.search = value; + this.page = 1; + }, + + setProtocol(value) { + this.filterProtocol = this.filterProtocol === value ? null : value; + this.openDropdown = null; + this.page = 1; + }, + + setCategory(value) { + this.filterCategory = this.filterCategory === value ? null : value; + this.openDropdown = null; + this.page = 1; + }, + + setSort(value) { + this.sort = value; + this.openDropdown = null; + }, + + setAgent(value) { + this.filterAgent = this.filterAgent === value ? null : value; + this.openDropdown = null; + this.page = 1; + }, + + clearProtocol() { + this.filterProtocol = null; + this.openDropdown = null; + this.page = 1; + }, + + clearCategory() { + this.filterCategory = null; + this.openDropdown = null; + this.page = 1; + }, + + clearAgent() { + this.filterAgent = null; + this.openDropdown = null; + this.page = 1; + }, + + toggleDropdown(name) { + this.openDropdown = this.openDropdown === name ? null : name; + }, + + goPage(page) { + if (page >= 1 && page <= this.totalPages) this.page = page; + }, + + editOperation(operation) { + window.location.href = ((window.CrankRoutes && window.CrankRoutes.wizard) || '/wizard/') + + '?mode=edit&operationId=' + encodeURIComponent(operation.id); + }, + + async deleteOperation(id) { + if (!confirm(this.tKey('ops.delete.confirm'))) return; + try { + var operation = this.operations.find(function(item) { return item.id === id; }); + await window.CrankApi.deleteOperation(this.workspaceId, id); + this.replaceOperations(this.operations.filter(function(operation) { return operation.id !== id; })); + this.categoryOptions = Array.from(new Set(this.operations.map(function(operation) { + return operation.category; + }).filter(Boolean))).sort(); + this.stats = computeStats(this.operations); + if (window.CrankUi) { + window.CrankUi.success( + this.tfKey('ops.delete.success.message', { + name: operation ? (operation.display_name || operation.name) : '' + }), + this.tKey('ops.delete.success.title') + ); + } + } catch (error) { + if (window.CrankUi) { + window.CrankUi.error( + error.message || this.tKey('ops.delete.error.message'), + this.tKey('ops.delete.error.title') + ); + } + } + }, + + protocolLabel(operation) { + return operation.method ? ('REST · ' + operation.method) : 'REST'; + }, + + protocolClass(operation) { + return 'badge badge-' + operation.protocol; + }, + + statusClass(operation) { + return 'status-badge status-' + operation.status; + }, + + statusLabel(operation) { + if (operation.status === 'active') return this.tKey('tab.active'); + if (operation.status === 'inactive') return this.tKey('tab.inactive'); + if (operation.status === 'error') return this.tKey('tab.error'); + return this.tKey('tab.draft'); + }, + + formatDate(dateStr) { + if (!dateStr) return '—'; + return new Date(dateStr).toLocaleDateString(currentLocale(), { month: 'short', day: 'numeric', year: 'numeric' }); + }, + + truncateUrl(url) { + if (!url) return '—'; + return url.length > 42 ? url.slice(0, 42) + '…' : url; + }, + + formatMetricNumber(value) { + return new Intl.NumberFormat(currentLocale()).format(value || 0); + }, + + tKey(key) { + return window.t ? t(key) : key; + }, + + tfKey(key, vars) { + return window.tf ? tf(key, vars) : this.tKey(key); + }, + + get sortOptions() { + return getSortOptions(); + }, + + get tabDefs() { + return getTabDefs(); + }, + + handleNewOperation() { + window.location.href = (window.CrankRoutes && window.CrankRoutes.wizard) || '/wizard/'; + }, + + handleLogout() { + window.CrankAuth.logout(); + }, + }; + }); +}); diff --git a/apps/ui/js/config.js b/apps/ui/js/config.js new file mode 100644 index 0000000..4f6bf5a --- /dev/null +++ b/apps/ui/js/config.js @@ -0,0 +1,16 @@ +(function() { + window.APP_BASE = '/'; + window.DATA_URL = '/data/'; + window.CrankRoutes = { + home: '/', + login: '/login', + agents: '/agents', + apiKeys: '/api-keys', + secrets: '/secrets', + logs: '/logs', + usage: '/usage', + settings: '/settings', + workspaceSetup: '/workspace-setup', + wizard: '/wizard/' + }; +}()); diff --git a/apps/ui/js/diagnostics.js b/apps/ui/js/diagnostics.js new file mode 100644 index 0000000..e9833a5 --- /dev/null +++ b/apps/ui/js/diagnostics.js @@ -0,0 +1,111 @@ +(function() { + var currentPage = ''; + + function messageFor(error) { + if (!error) { + return 'unknown error'; + } + if (error.message) { + return error.message; + } + return String(error); + } + + function setPage(pageName) { + currentPage = pageName || ''; + document.documentElement.setAttribute('data-crank-page', currentPage || 'unknown'); + } + + function markBootstrapState(pageName, status, details) { + document.documentElement.setAttribute('data-crank-bootstrap-page', pageName || currentPage || 'unknown'); + document.documentElement.setAttribute('data-crank-bootstrap-state', status); + if (status === 'error' && details) { + document.documentElement.setAttribute('data-crank-bootstrap-error', details); + return; + } + document.documentElement.removeAttribute('data-crank-bootstrap-error'); + } + + function report(stage, error, pageName) { + var resolvedPage = pageName || currentPage || 'unknown'; + console.error('[CrankUI][' + resolvedPage + '][' + stage + ']', error); + window.dispatchEvent(new CustomEvent('crank:ui-error', { + detail: { + page: resolvedPage, + stage: stage, + message: messageFor(error), + }, + })); + } + + function bootstrap(pageName, init) { + function run() { + setPage(pageName); + markBootstrapState(pageName, 'pending'); + try { + var result = init(); + if (result && typeof result.then === 'function') { + result.then(function() { + markBootstrapState(pageName, 'ready'); + }).catch(function(error) { + markBootstrapState(pageName, 'error', messageFor(error)); + report('bootstrap', error, pageName); + }); + return; + } + markBootstrapState(pageName, 'ready'); + } catch (error) { + markBootstrapState(pageName, 'error', messageFor(error)); + report('bootstrap', error, pageName); + } + } + + if (document.readyState === 'loading') { + document.addEventListener('DOMContentLoaded', run, { once: true }); + return; + } + run(); + } + + function ensureTestId(element, value) { + if (!element || !value) { + return; + } + element.setAttribute('data-testid', value); + } + + function ensureShellTestIds() { + document.querySelectorAll('.nav-avatar').forEach(function(element) { + ensureTestId(element, 'shell-avatar'); + }); + document.querySelectorAll('.user-dropdown-name').forEach(function(element) { + ensureTestId(element, 'shell-user-name'); + }); + document.querySelectorAll('.user-dropdown-role').forEach(function(element) { + ensureTestId(element, 'shell-user-role'); + }); + ensureTestId(document.getElementById('ws-current-name'), 'shell-workspace-name'); + } + + window.addEventListener('error', function(event) { + if (!currentPage) { + return; + } + report('runtime', event.error || new Error(event.message || 'window error')); + }); + + window.addEventListener('unhandledrejection', function(event) { + if (!currentPage) { + return; + } + report('unhandledrejection', event.reason || new Error('unhandled rejection')); + }); + + window.CrankDiagnostics = { + bootstrap: bootstrap, + ensureTestId: ensureTestId, + ensureShellTestIds: ensureShellTestIds, + report: report, + setPage: setPage, + }; +}()); diff --git a/apps/ui/js/dom.js b/apps/ui/js/dom.js new file mode 100644 index 0000000..6bb4e95 --- /dev/null +++ b/apps/ui/js/dom.js @@ -0,0 +1,32 @@ +(function() { + function clear(element) { + if (!element) { + return; + } + while (element.firstChild) { + element.removeChild(element.firstChild); + } + } + + function createEmptyState(title, body) { + var root = document.createElement('div'); + root.className = 'empty-state'; + + var titleNode = document.createElement('div'); + titleNode.className = 'empty-state-title'; + titleNode.textContent = title; + root.appendChild(titleNode); + + var bodyNode = document.createElement('div'); + bodyNode.className = 'empty-state-text'; + bodyNode.textContent = body; + root.appendChild(bodyNode); + + return root; + } + + window.CrankDom = { + clear: clear, + createEmptyState: createEmptyState, + }; +}()); diff --git a/apps/ui/js/i18n.js b/apps/ui/js/i18n.js new file mode 100644 index 0000000..b4781ff --- /dev/null +++ b/apps/ui/js/i18n.js @@ -0,0 +1,2099 @@ +/* ═══════════════════════════════════════════════ + Crank — i18n + Reads `crank_lang` from localStorage ('en'|'ru') + ═══════════════════════════════════════════════ */ + +var TRANSLATIONS = { + en: { + // Nav + 'nav.operations': 'Operations', + 'nav.agents': 'Agents', + 'nav.apikeys': 'API Keys', + 'nav.secrets': 'Secrets', + 'nav.logs': 'Logs', + 'nav.usage': 'Usage', + 'nav.settings': 'Settings', + 'nav.logout': 'Log out', + 'nav.workspaces': 'Your workspaces', + 'nav.create_workspace': 'Create workspace', + 'nav.notifications': 'Notifications', + 'nav.menu': 'Menu', + 'nav.account': 'Account', + 'nav.user_fallback': 'Crank', + 'nav.workspace_fallback': 'workspace', + + // Operations page + 'ops.title': 'Operations', + 'ops.subtitle': 'Tool contracts that expose your upstream APIs as MCP tools', + 'ops.new': 'New operation', + 'ops.loading': 'Loading operations…', + 'ops.empty.title': 'No operations found', + 'ops.empty.sub': 'Try adjusting your search or filters.', + 'ops.empty.initial.title': 'No operations yet', + 'ops.empty.initial.sub': 'Create the first operation in this workspace to expose a live MCP tool.', + 'ops.error.title': 'Backend connection failed', + 'ops.delete.confirm': 'Delete this operation? This cannot be undone.', + 'ops.delete.success.title': 'Operation deleted', + 'ops.delete.success.message': '{name} was deleted.', + 'ops.delete.error.title': 'Delete failed', + 'ops.delete.error.message': 'Failed to delete operation', + 'ops.action.edit': 'Edit operation', + 'ops.action.delete':'Delete operation', + 'ops.stats.synced': 'Catalog synced with backend', + 'ops.stats.none': 'No operations yet', + 'ops.stats.share': '{value}% of total', + 'ops.stats.no_published': 'No published tools yet', + 'ops.stats.requests_rollup': 'Summed from operation usage', + 'ops.stats.no_traffic': 'No traffic recorded today', + 'ops.stats.latency_weighted': "Weighted by today's calls", + 'ops.stats.latency_waiting': 'Waiting for runtime samples', + 'ops.results': 'Showing {shown} of {total}', + 'ops.range': 'Showing {from}–{to} of {total} operations', + 'ops.filter.protocol': 'Protocol: {value}', + 'ops.filter.category': 'Category: {value}', + 'ops.filter.agent': 'Agent: {value}', + 'ops.no_active_agents': 'No active agents', + + // Stats + 'stats.total': 'Total operations', + 'stats.active': 'Active', + 'stats.requests': 'Requests today', + 'stats.latency': 'Avg. latency', + + // Tabs + 'tab.all': 'All', + 'tab.active': 'Active', + 'tab.draft': 'Draft', + 'tab.error': 'Error', + 'tab.inactive': 'Inactive', + + // Filters & sort + 'filter.search': 'Search operations...', + 'filter.protocol': 'Protocol', + 'filter.status': 'Status', + 'filter.category': 'Category', + 'filter.agent': 'Agent', + 'filter.showing': 'Showing', + 'filter.of': 'of', + 'filter.clear': 'Clear filter', + 'filter.clear_all': 'Clear all', + 'filter.remove': 'Remove filter', + 'sort.created_desc':'Sort: Last created', + 'sort.created_asc': 'Sort: Oldest first', + 'sort.name_asc': 'Sort: Name A–Z', + 'sort.name_desc': 'Sort: Name Z–A', + + // Table headers + 'th.name': 'NAME', + 'th.protocol': 'PROTOCOL', + 'th.status': 'STATUS', + 'th.created': 'CREATED', + 'th.url': 'TARGET URL', + + // Pagination + 'page.showing': 'Showing', + 'page.of': 'of', + 'page.ops': 'operations', + + // API Keys page + 'apikeys.title': 'Agent Keys', + 'apikeys.subtitle': 'Keys authenticate external MCP clients against a specific AI agent endpoint.', + 'apikeys.new': 'Create key', + 'apikeys.agent.title': 'Agent access', + 'apikeys.agent.subtitle': 'Select the AI agent whose MCP endpoint should accept this key.', + 'apikeys.agent.label': 'AI agent', + 'apikeys.agent.empty': 'No agents available', + 'apikeys.agent.empty_hint': 'Create an AI agent first, then issue machine access keys for its MCP endpoint.', + 'apikeys.agent.endpoint': 'MCP endpoint: {endpoint}', + 'apikeys.agent.endpoint_missing': 'The selected agent does not have a published MCP endpoint yet.', + 'apikeys.machine_access.title': 'Machine access modes', + 'apikeys.machine_access.title_community': 'Community machine access', + 'apikeys.machine_access.subtitle': 'This build exposes the stable machine-access contract and shows which modes are available now.', + 'apikeys.machine_access.subtitle_community': 'Community exposes the stable MCP machine-access contract, but only static AI-agent keys are active in this build.', + 'apikeys.machine_access.summary_default': 'Community currently supports static AI-agent keys.', + 'apikeys.machine_access.summary': 'This build supports {access_modes} for operations marked with {security_levels}. Short-lived and one-time token issuance keeps the same public HTTP surface when a commercial edition is enabled.', + 'apikeys.machine_access.note': 'Short-lived and one-time token issuance uses the same public HTTP surface, but requires a commercial edition.', + 'apikeys.machine_access.note_community': 'Use static AI-agent keys in Community. Short-lived tokens and one-time tokens require a commercial edition.', + 'apikeys.th.name': 'NAME', + 'apikeys.th.scope': 'SCOPE', + 'apikeys.th.created':'CREATED', + 'apikeys.th.last': 'LAST USED', + 'apikeys.callout.title': 'Keys are only shown once.', + 'apikeys.callout.body': 'Copy and store it securely right after creation — Crank stores only a hash. Last used updates after a successful MCP call.', + 'apikeys.active.title': 'Active keys', + 'apikeys.active.subtitle': '{active} active · {revoked} revoked', + 'apikeys.search': 'Filter keys…', + 'apikeys.th.prefix': 'KEY PREFIX', + 'apikeys.th.scopes': 'SCOPES', + 'apikeys.th.status': 'STATUS', + 'apikeys.scope_ref': 'Scope reference', + 'apikeys.scope.read': 'Initialize MCP sessions, ping the server, and list tools for the selected AI agent.', + 'apikeys.scope.write': 'Execute `tools/call` requests against published agent toolsets.', + 'apikeys.scope.deploy': 'Reserved for deploy-scoped automation. Today it also permits MCP read/write flows.', + 'apikeys.modal.title': 'Create agent key', + 'apikeys.modal.name': 'Key name', + 'apikeys.modal.name_hint': 'A descriptive label to identify the key. Only visible to admins.', + 'apikeys.modal.name_placeholder': 'e.g. Production, CI pipeline', + 'apikeys.modal.scopes': 'Scopes', + 'apikeys.modal.reveal_title': 'Copy this key now.', + 'apikeys.modal.reveal_body': "It won't be shown again.", + 'apikeys.modal.copy': 'Copy to clipboard', + 'apikeys.modal.cancel': 'Cancel', + 'apikeys.modal.create': 'Create key', + 'apikeys.modal.done': "Done — I've copied the key", + 'apikeys.status.active': 'Active', + 'apikeys.status.revoked': 'Revoked', + 'apikeys.last_used.never': 'Never', + 'apikeys.empty.none': 'No API keys yet', + 'apikeys.empty.search': 'No keys match your search', + 'apikeys.loading': 'Loading…', + 'apikeys.error.api': 'Workspace or API is unavailable', + 'apikeys.error.load': 'Failed to load API keys', + 'apikeys.confirm.revoke': 'Revoke this key? All requests using it will fail immediately.', + 'apikeys.confirm.delete': 'Delete this key? This cannot be undone.', + 'apikeys.toast.revoke_title': 'Key revoked', + 'apikeys.toast.revoke_message': '{name} was revoked.', + 'apikeys.toast.revoke_error_title': 'Revoke failed', + 'apikeys.toast.revoke_error_message': 'Failed to revoke key', + 'apikeys.toast.delete_title': 'Key deleted', + 'apikeys.toast.delete_message': '{name} was deleted.', + 'apikeys.toast.delete_error_title': 'Delete failed', + 'apikeys.toast.delete_error_message': 'Failed to delete key', + 'apikeys.toast.scope_missing_title': 'Missing scope', + 'apikeys.toast.scope_missing_message': 'Select at least one scope before creating a key.', + 'apikeys.toast.create_title': 'Agent key created', + 'apikeys.toast.create_message': 'Copy the key now. It will not be shown again.', + 'apikeys.toast.create_error_title': 'Key creation failed', + 'apikeys.toast.create_error_message': 'Failed to create key', + 'apikeys.toast.copy_title': 'Agent key copied', + 'apikeys.toast.copy_message': 'Store the raw key securely. It cannot be revealed again.', + 'apikeys.toast.prefix_title': 'Key prefix copied', + 'apikeys.action.copy_prefix': 'Copy key prefix', + 'apikeys.action.revoke': 'Revoke key', + 'apikeys.action.delete': 'Delete', + 'apikeys.creating': 'Creating…', + + // Secrets page + 'secrets.title': 'Secrets', + 'secrets.subtitle': 'Encrypted upstream credentials for bearer tokens, basic auth, and API keys used by auth profiles.', + 'secrets.new': 'Create secret', + 'secrets.callout.title': 'Secret plaintext is write-only.', + 'secrets.callout.body': 'Crank encrypts secret values with the workspace master key. After creation or rotation, the API returns only metadata, so this page focuses on secret management and where each secret is used.', + 'secrets.active.title': 'Workspace secrets', + 'secrets.active.subtitle': '{active} active · {total} total', + 'secrets.search': 'Filter secrets…', + 'secrets.th.name': 'NAME', + 'secrets.th.kind': 'KIND', + 'secrets.th.version': 'VERSION', + 'secrets.th.last_used': 'LAST USED', + 'secrets.th.used_by': 'USED BY', + 'secrets.th.status': 'STATUS', + 'secrets.kind.token': 'Token', + 'secrets.kind.username_password': 'Username/password', + 'secrets.kind.header': 'Header value', + 'secrets.kind.generic': 'Generic JSON', + 'secrets.status.active': 'Active', + 'secrets.status.disabled': 'Disabled', + 'secrets.last_used.never': 'Never', + 'secrets.used_by_count.one': '{count} profile', + 'secrets.used_by_count.other': '{count} profiles', + 'secrets.loading': 'Loading…', + 'secrets.empty.none': 'No secrets yet', + 'secrets.empty.search': 'No secrets match your search', + 'secrets.error.workspace': 'Workspace is not selected', + 'secrets.error.load': 'Failed to load secrets', + 'secrets.action.rotate': 'Rotate', + 'secrets.action.delete': 'Delete', + 'secrets.confirm.delete': 'Delete secret {name}? This cannot be undone while the secret is still referenced by an auth profile.', + 'secrets.toast.create_title': 'Secret created', + 'secrets.toast.create_message': 'The secret was stored encrypted. Plaintext cannot be viewed again through the API.', + 'secrets.toast.create_error_title': 'Secret creation failed', + 'secrets.toast.create_error_message': 'Failed to create secret', + 'secrets.toast.rotate_title': 'Secret rotated', + 'secrets.toast.rotate_message': 'A new secret version is now active.', + 'secrets.toast.rotate_error_title': 'Secret rotation failed', + 'secrets.toast.rotate_error_message': 'Failed to rotate secret', + 'secrets.toast.delete_title': 'Secret deleted', + 'secrets.toast.delete_message': '{name} was deleted.', + 'secrets.toast.delete_error_title': 'Secret deletion failed', + 'secrets.toast.delete_error_message': 'Failed to delete secret', + 'secrets.modal.create_title': 'Create secret', + 'secrets.modal.rotate_title': 'Rotate secret', + 'secrets.modal.name': 'Secret name', + 'secrets.modal.name_hint': 'Use a stable operator-facing label. Plaintext values are never returned after storage.', + 'secrets.modal.kind': 'Secret kind', + 'secrets.modal.value': 'Secret value', + 'secrets.modal.header_value': 'Header value', + 'secrets.modal.username': 'Username', + 'secrets.modal.password': 'Password', + 'secrets.modal.json_payload': 'JSON payload', + 'secrets.modal.json_hint': 'Useful for generic secret payloads. The value must be valid JSON.', + 'secrets.modal.create_note': 'Creation stores encrypted plaintext and returns metadata only.', + 'secrets.modal.rotate_note': 'Rotation creates a new encrypted version and keeps the same secret id.', + 'secrets.modal.cancel': 'Cancel', + 'secrets.modal.create_action': 'Create secret', + 'secrets.modal.rotate_action': 'Rotate secret', + 'secrets.modal.creating': 'Creating…', + 'secrets.modal.rotating': 'Rotating…', + 'secrets.hint.token': 'Best for bearer tokens and simple API key values.', + 'secrets.hint.username_password': 'Stores username and password as one encrypted payload.', + 'secrets.hint.header': 'Stores a raw header value. Header name is configured in the auth profile.', + 'secrets.hint.generic': 'Stores arbitrary JSON for custom integrations that need a structured secret payload.', + 'secrets.validation.name_required': 'Secret name is required.', + 'secrets.validation.value_required': 'Secret value is required.', + 'secrets.validation.username_password_required': 'Username and password are both required.', + 'secrets.validation.json_invalid': 'Generic secret payload must be valid JSON.', + 'secrets.profiles.title': 'Auth profile references', + 'secrets.profiles.subtitle': 'Profiles resolve secrets at runtime before upstream execution.', + 'secrets.profiles.subtitle_count.one': '{count} auth profile', + 'secrets.profiles.subtitle_count.other': '{count} auth profiles', + 'secrets.profiles.error_title': 'Unable to load auth profile references', + 'secrets.profiles.loading_title': 'Loading auth profile references…', + 'secrets.profiles.loading_body': 'Fetching auth profiles for the current workspace.', + 'secrets.profiles.empty_title': 'No auth profiles yet', + 'secrets.profiles.empty_body': 'Create auth profiles in the Wizard when configuring an operation.', + 'secrets.profiles.references': 'Referenced secrets', + 'secrets.profiles.reference_count': '{count} refs', + 'secrets.profiles.meta.created': 'Created', + 'secrets.profiles.meta.updated': 'Updated', + 'secrets.profiles.summary_bearer': 'Bearer auth via {header} using {secret}.', + 'secrets.profiles.summary_basic': 'Basic auth using {username} and {password}.', + 'secrets.profiles.summary_api_key_header': 'API key header {header} using {secret}.', + 'secrets.profiles.summary_api_key_query': 'API key query param {param} using {secret}.', + 'secrets.profiles.summary_unknown': 'Unknown auth profile configuration.', + 'secrets.auth_kind.bearer': 'Bearer auth', + 'secrets.auth_kind.basic': 'Basic auth', + 'secrets.auth_kind.api_key_header': 'API key header', + 'secrets.auth_kind.api_key_query': 'API key query', + + // Logs page + 'logs.title': 'Logs', + 'logs.subtitle': 'Real-time invocation log for all operations in this workspace.', + 'logs.search': 'Search logs...', + 'logs.level.all': 'All', + 'logs.level.info': 'Info', + 'logs.level.warn': 'Warn', + 'logs.level.error': 'Error', + 'logs.level.debug': 'Debug', + 'logs.live': 'Live', + 'logs.paused': 'Paused', + 'logs.refresh': 'Refresh', + 'logs.range.30m': 'Last 30 min', + 'logs.range.1h': 'Last hour', + 'logs.range.6h': 'Last 6 hours', + 'logs.range.24h': 'Last 24 hours', + 'logs.range.7d': 'Last 7 days', + 'logs.search_messages': 'Search messages…', + 'logs.detail.agent': 'Agent', + 'logs.detail.request': 'Request preview', + 'logs.detail.response': 'Response preview', + 'logs.detail.meta': 'Metadata', + 'logs.loading.title': 'Loading logs…', + 'logs.loading.sub': 'Fetching invocation history for the current workspace.', + 'logs.error.title': 'Unable to load logs', + 'logs.error.api': 'Admin API is not available', + 'logs.error.workspace': 'Workspace is not selected', + 'logs.error.load': 'Failed to load logs', + 'logs.empty.title': 'No log entries found', + 'logs.empty.filtered': 'Try widening the period or clearing the current search and level filters.', + 'logs.empty.initial': 'Run tests or published MCP tools to start collecting invocation history.', + 'logs.live.on.title': 'Live mode enabled', + 'logs.live.on.body': 'Polling logs every 4 seconds.', + 'logs.live.off.title': 'Live mode paused', + 'logs.live.off.body': 'Automatic polling is paused.', + 'logs.refresh.title': 'Logs refreshed', + 'logs.refresh.body': 'The latest invocation records were loaded for the current workspace.', + + // Usage page + 'usage.title': 'Usage', + 'usage.subtitle': 'Invocation metrics for all operations in your workspace.', + 'usage.export': 'Export CSV', + 'usage.period.7d': 'Last 7 days', + 'usage.period.30d': 'Last 30 days', + 'usage.period.90d': 'Last 90 days', + 'usage.period.this_month': 'This month', + 'usage.period.label.7d': 'last 7 days', + 'usage.period.label.30d': 'last 30 days', + 'usage.period.label.90d': 'last 90 days', + 'usage.period.label.this_month': 'this month', + 'usage.stats.total': 'Total invocations', + 'usage.stats.success': 'Success rate', + 'usage.stats.p50': 'Median latency (p50)', + 'usage.stats.p99': 'p99 latency', + 'usage.stats.across': 'Across {period}', + 'usage.stats.success_calls': '{count} successful calls', + 'usage.stats.median': 'Median latency for selected period', + 'usage.stats.error_calls': '{count} error calls', + 'usage.chart.title': 'Invocations over time', + 'usage.chart.success': 'Success', + 'usage.chart.error': 'Error', + 'usage.chart.empty.title': 'No usage data yet', + 'usage.chart.empty.sub': 'Invocation metrics will appear here after tests or published tool calls in the selected period.', + 'usage.table.title': 'By operation', + 'usage.table.subtitle': 'Breakdown for {period}', + 'usage.table.th.operation': 'Operation', + 'usage.table.th.protocol': 'Protocol', + 'usage.table.th.calls': 'Calls', + 'usage.table.th.errors': 'Errors', + 'usage.table.th.error_rate': 'Error rate', + 'usage.table.th.latency': 'Latency (p50 / p95 / p99)', + 'usage.table.th.share': 'Traffic share', + 'usage.table.empty.title': 'No operation breakdown yet', + 'usage.table.empty.sub': 'The selected period has no invocation samples to break down by operation.', + 'usage.table.share': '{value}% of workspace traffic', + 'usage.loading.title': 'Loading usage…', + 'usage.loading.sub': 'Aggregating invocation metrics for the selected workspace.', + 'usage.error.title': 'Unable to load usage', + 'usage.error.api': 'Admin API is not available', + 'usage.error.workspace': 'Workspace is not selected', + 'usage.error.load': 'Failed to load usage', + 'usage.export.empty.title': 'No usage data loaded', + 'usage.export.empty.body': 'Load usage data before exporting the CSV snapshot.', + 'usage.export.done.title': 'Usage exported', + 'usage.export.done.body': 'The current usage snapshot was exported as CSV.', + 'usage.chart.ok': '{count} ok', + 'usage.chart.errors': '{count} errors', + 'usage.chart.week': 'Wk {index}', + 'usage.csv.header': 'Operation,Protocol,Calls,Errors,Error Rate (%),p50 (ms),p95 (ms),p99 (ms)', + + // Settings sidebar + 'settings.title': 'Settings', + 'settings.nav.workspace': 'Workspace', + 'settings.nav.profile': 'Profile', + 'settings.nav.members': 'Members', + 'settings.nav.security': 'Security', + 'settings.nav.notif': 'Notifications', + 'settings.nav.danger': 'Danger zone', + + // Settings — workspace section + 'settings.ws.title': 'Workspace settings', + 'settings.ws.subtitle': 'General information about your workspace', + 'settings.ws.name': 'Workspace name', + 'settings.ws.display': 'Display name', + 'settings.ws.desc': 'Description', + 'settings.ws.tz': 'Timezone', + 'settings.ws.protocol': 'Default protocol', + + // Settings — language + 'settings.lang.title': 'Language', + 'settings.lang.subtitle': 'Interface display language', + 'settings.lang.en': 'English', + 'settings.lang.ru': 'Русский', + + // Settings — profile section + 'settings.profile.title': 'Profile', + 'settings.profile.name': 'Full name', + 'settings.profile.email': 'Email', + 'settings.profile.role': 'Role', + 'settings.page.title': 'Account settings', + 'settings.page.subtitle': 'Manage your profile, password, workspace settings, and the capability limits of this build.', + 'settings.ws.slug_hint': 'Used in API endpoints and across the console. Only lowercase letters, numbers and hyphens.', + 'settings.ws.protocol_hint': 'This build limits the default protocol to the capabilities available in the current edition.', + 'settings.ws.protocol_hint_capabilities': 'This build allows {protocols} as workspace defaults. Additional protocols depend on the edition.', + 'settings.ws.description_optional': 'Description (optional)', + 'settings.ws.description_placeholder': 'What does this workspace do?', + 'settings.profile.avatar_hint': 'Your avatar is generated from your display name and email.', + 'settings.profile.backend_hint': 'Your name and email are stored on the backend and used across the console and session identity.', + 'settings.profile.first_name': 'First name', + 'settings.profile.last_name': 'Last name', + 'settings.profile.last_name_placeholder': 'Optional', + 'settings.profile.email_label': 'Email address', + 'settings.profile.email_hint': 'Changing email updates the login identity for the current account.', + 'settings.profile.save': 'Save profile', + 'settings.profile.saving': 'Saving…', + 'settings.profile.saved': 'Saved ✓', + 'settings.profile.saved_status': 'Profile saved.', + 'settings.profile.save_error': 'Failed to save profile', + 'settings.security.title': 'Security', + 'settings.security.current_password': 'Current password', + 'settings.security.new_password': 'New password', + 'settings.security.new_password_placeholder': 'min. 12 characters', + 'settings.security.confirm_password': 'Confirm new password', + 'settings.security.change_password': 'Change password', + 'settings.security.mismatch': 'New password and confirmation do not match.', + 'settings.security.saved': 'Password updated.', + 'settings.security.save_error': 'Failed to change password', + 'settings.security.capabilities_title': 'Build capability summary', + 'settings.security.capabilities_body': 'This section shows what the current build supports. Password sign-in with one HttpOnly browser session is available now; short-lived tokens, one-time tokens, and advanced governance depend on the edition.', + 'settings.security.not_available': 'Build capabilities', + 'settings.security.capability_title_community': 'Community build', + 'settings.security.capability_title_enterprise': 'Enterprise build', + 'settings.security.capability_title_cloud': 'Cloud build', + 'settings.security.capability_summary': 'This build supports {protocols}, {access_modes}, and {security_levels} operation security. Limits: {max_workspaces} workspace, {max_users} user, {max_agents} AI agent. Short-lived tokens, one-time tokens, and advanced governance require a commercial edition.', + 'settings.capability.rest': 'REST / HTTP', + 'settings.capability.graphql': 'GraphQL', + 'settings.capability.grpc': 'gRPC unary', + 'settings.capability.websocket': 'WebSocket', + 'settings.capability.soap': 'SOAP', + 'settings.capability.standard': 'standard', + 'settings.capability.elevated': 'elevated', + 'settings.capability.strict': 'strict', + 'settings.capability.static_agent_key': 'static agent keys', + 'settings.capability.short_lived_token': 'short-lived tokens', + 'settings.capability.one_time_token': 'one-time tokens', + 'settings.capability.unlimited': 'unlimited', + 'settings.capability.none': 'none', + 'settings.session.title': 'Current session', + 'settings.session.browser': 'Browser session', + 'settings.session.current': 'current', + 'settings.session.loading': 'Loading current session details…', + 'settings.session.unavailable': 'Session details are unavailable. Use Log out to revoke the current browser session.', + 'settings.session.current_workspace': 'current workspace', + 'settings.session.summary': '{email} · {role} in {workspace}. Use Log out to revoke the current browser session.', + 'settings.notifications.title': 'Notifications', + 'settings.notifications.not_ready_title': 'Not included in this build.', + 'settings.notifications.not_ready_body': 'Notification routing and per-user preferences are outside the current Community surface.', + 'settings.notifications.capability_title_community': 'Community build boundary', + 'settings.notifications.capability_body_community': 'Per-user notification routing and delivery channels are outside the current Community surface. Use logs and usage views for operational follow-up in this build.', + 'settings.notifications.capability_title_enterprise': 'Enterprise delivery controls', + 'settings.notifications.capability_body_enterprise': 'Notification routing depends on enterprise delivery controls and is wired separately from the Community console surface.', + 'settings.notifications.capability_title_cloud': 'Cloud delivery controls', + 'settings.notifications.capability_body_cloud': 'Notification routing depends on hosted delivery controls and is wired separately from the Community console surface.', + 'settings.planned_badge': 'Planned', + 'settings.notifications.spike_title': 'Operation error spike', + 'settings.notifications.spike_body': 'Alert when error rate exceeds a rolling threshold for a published tool.', + 'settings.notifications.latency_title': 'Upstream latency degradation', + 'settings.notifications.latency_body': 'Notify operators when p99 latency rises sharply above the baseline.', + 'settings.notifications.digest_title': 'Quota and usage digests', + 'settings.notifications.digest_body': 'Deliver periodic summaries for quota consumption, errors and workspace activity.', + 'settings.workspace.saving': 'Saving…', + 'settings.workspace.saved': 'Saved ✓', + 'settings.workspace.save_error': 'Failed to save workspace settings', + 'settings.workspace.save_error_title': 'Workspace save failed', + + // Workspace setup + 'workspace_setup.title': 'Workspace settings', + 'workspace_setup.page_subtitle': 'Configure your workspace identity, default settings, and team members.', + 'workspace_setup.back': 'Back', + 'workspace_setup.identity.title': 'Workspace identity', + 'workspace_setup.identity.avatar_hint': 'Avatar is derived from your workspace name.', + 'workspace_setup.name': 'Workspace name', + 'workspace_setup.slug': 'Slug', + 'workspace_setup.required': 'required', + 'workspace_setup.optional': '(optional)', + 'workspace_setup.slug_hint': 'Only lowercase letters, numbers, and hyphens. Used in MCP endpoint URLs.', + 'workspace_setup.description': 'Description', + 'workspace_setup.description_placeholder': 'What does this workspace do?', + 'workspace_setup.defaults.title': 'Default settings', + 'workspace_setup.protocol': 'Default protocol', + 'workspace_setup.protocol_hint': 'Pre-selected in the operation wizard.', + 'workspace_setup.timezone': 'Timezone', + 'workspace_setup.language': 'Interface language', + 'workspace_setup.members.title': 'Team members', + 'workspace_setup.members.invite': 'Invite member', + 'workspace_setup.members.email': 'Email address', + 'workspace_setup.members.role': 'Role', + 'workspace_setup.members.send_invite': 'Send invite', + 'workspace_setup.members.cancel': 'Cancel', + 'workspace_setup.members.invite_sent': '✓ Invite sent.', + 'workspace_setup.members.you': '(you)', + 'workspace_setup.members.today': 'Today', + 'workspace_setup.members.days_ago.one': '{count} day ago', + 'workspace_setup.members.days_ago.other': '{count} days ago', + 'workspace_setup.members.week_ago': '1 week ago', + 'workspace_setup.members.never': 'Never', + 'workspace_setup.members.pending': 'Pending invites', + 'workspace_setup.members.invited_pending': 'Invited {date} · pending', + 'workspace_setup.members.revoke': 'Revoke invite', + 'workspace_setup.members.remove': 'Remove member', + 'workspace_setup.roles.title': 'Roles & permissions', + 'workspace_setup.roles.owner_body': 'Full workspace control, billing access, can transfer or delete the workspace.', + 'workspace_setup.roles.admin_body': 'Manage members and roles, create and edit all operations and agents, manage API keys.', + 'workspace_setup.roles.developer_body': 'Create and edit operations and agents. Cannot manage members or workspace settings.', + 'workspace_setup.roles.viewer_body': 'Read-only access to operations, agents, and logs.', + 'workspace_setup.invite.title': 'Invite team members', + 'workspace_setup.invite.add_person': '+ Add person', + 'workspace_setup.invite.later': 'You can invite more people later from Workspace settings.', + 'workspace_setup.actions.create': 'Create workspace', + 'workspace_setup.actions.save': 'Save changes', + 'workspace_setup.create.title': 'Create a new workspace', + 'workspace_setup.create.subtitle': "A workspace is a shared environment for your team's MCP operations and agents. Each workspace gets its own MCP endpoint namespace.", + 'workspace_setup.create.footer': "You'll be the Owner of this workspace. You can invite additional members after creation.", + 'workspace_setup.danger.title': 'Danger zone', + 'workspace_setup.danger.export_title': 'Export all data', + 'workspace_setup.danger.export_body': 'Download a JSON snapshot of workspace settings, memberships, invitations, operations, agents and agent access keys.', + 'workspace_setup.danger.delete_title': 'Delete workspace', + 'workspace_setup.danger.delete_body': 'Permanently deletes all operations, keys, logs and settings. This action cannot be undone. You will be logged out immediately.', + 'workspace_setup.export': 'Export', + 'workspace_setup.delete': 'Delete workspace', + 'workspace_setup.role.owner': 'Owner', + 'workspace_setup.role.admin': 'Admin', + 'workspace_setup.role.operator': 'Developer', + 'workspace_setup.role.viewer': 'Viewer', + 'workspace_setup.member_count.one': '{count} member', + 'workspace_setup.member_count.other': '{count} members', + 'workspace_setup.saving_create': 'Creating…', + 'workspace_setup.saving_update': 'Saving…', + 'workspace_setup.saved': 'Saved ✓', + 'workspace_setup.save_error': 'Failed to save workspace', + 'workspace_setup.save_error_title': 'Save failed', + 'workspace_setup.invite_error': 'Failed to send invite', + 'workspace_setup.invite_error_title': 'Invite failed', + 'workspace_setup.role_error': 'Failed to update role', + 'workspace_setup.role_error_title': 'Role update failed', + 'workspace_setup.remove_confirm': 'Remove {name} from this workspace?', + 'workspace_setup.remove_error': 'Failed to remove member', + 'workspace_setup.remove_error_title': 'Member removal failed', + 'workspace_setup.revoke_error': 'Failed to revoke invite', + 'workspace_setup.revoke_error_title': 'Invite revoke failed', + 'workspace_setup.export_error': 'Failed to export workspace', + 'workspace_setup.export_error_title': 'Export failed', + 'workspace_setup.delete_confirm': 'Delete this workspace? This cannot be undone.', + 'workspace_setup.delete_error': 'Failed to delete workspace', + 'workspace_setup.delete_error_title': 'Delete failed', + 'workspace.switch_error': 'Failed to switch workspace', + 'workspace.switch_error_title': 'Workspace switch failed', + 'workspace_setup.custom_protocol.rest': 'REST', + 'workspace_setup.custom_protocol.graphql': 'GraphQL', + 'workspace_setup.custom_protocol.grpc': 'gRPC', + 'workspace_setup.custom_protocol.websocket': 'WebSocket', + 'workspace_setup.custom_protocol.soap': 'SOAP', + + // Wizard + 'wizard.back_catalog': 'Operations', + 'wizard.progress.create': 'Create operation', + 'wizard.progress.edit': 'Edit operation', + 'wizard.exit': 'Exit wizard', + 'wizard.step_of': 'Step {step} of {total}', + 'wizard.step_short': 'Step {step}', + 'wizard.status.completed': 'Completed', + 'wizard.status.in_progress': 'In progress', + 'wizard.status.not_started': 'Not started', + 'wizard.help.title': 'Need help?', + 'wizard.help.body': 'Unsure which protocol to choose? Read the', + 'wizard.help.link': 'protocol comparison guide →', + 'wizard.progress.section': 'Progress', + 'wizard.step_name.protocol': 'Protocol', + 'wizard.step_name.upstream': 'Upstream target', + 'wizard.step_name.tool': 'Tool config', + 'wizard.step_name.mapping': 'Mapping', + 'wizard.button.back': 'Back', + 'wizard.button.continue': 'Continue', + 'wizard.button.save_draft': 'Save draft', + 'wizard.button.create': 'Create operation', + 'wizard.button.save_changes': 'Save changes', + 'wizard.sidebar.brand.create': 'Create operation', + 'wizard.sidebar.brand.edit': 'Edit operation', + 'wizard.step1.title': 'Choose a protocol', + 'wizard.step1.subtitle': 'Select the transport protocol your upstream service uses. This determines how Crank will communicate with your API and which configuration options are available in subsequent steps.', + 'wizard.step1.rest_name': 'REST / HTTP', + 'wizard.step1.rest_tagline': 'Standard HTTP verbs over a RESTful endpoint. The most broadly supported option.', + 'wizard.step1.graphql_name': 'GraphQL', + 'wizard.step1.graphql_tagline': 'Query and mutate a GraphQL schema. Supports queries and mutations over one fixed operation.', + 'wizard.step1.grpc_name': 'gRPC', + 'wizard.step1.grpc_tagline': 'High-performance binary RPC over HTTP/2 for unary calls to low-latency internal services.', + 'wizard.step1.websocket_name': 'WebSocket', + 'wizard.step1.websocket_tagline': 'Stateful event streams and push-oriented integrations normalized into bounded MCP streaming tools.', + 'wizard.step1.soap_name': 'SOAP', + 'wizard.step1.soap_tagline': 'Enterprise WSDL/XSD service contracts normalized into MCP tools with structured XML mapping.', + 'wizard.step1.query': 'Query', + 'wizard.step1.mutation': 'Mutation', + 'wizard.step1.unary': 'Unary', + 'wizard.step1.tip_title': 'You can change this later', + 'wizard.step1.tip_body': 'Switching protocol after configuring subsequent steps will clear schema and mapping data. Save your operation as a draft before experimenting. See protocol migration guide for details.', + 'wizard.step1.community_protocol_title': 'Community protocol scope', + 'wizard.step1.community_protocol_note': 'This Community build hides {protocols}. Commercial editions unlock those protocol surfaces.', + 'wizard.step5.streaming_title': 'Streaming execution in Community', + 'wizard.step5.community_streaming_note': 'This Community build keeps operations in unary mode. Window, session and async job tool families require a commercial edition.', + 'wizard.step2.title': 'Select upstream & endpoint', + 'wizard.step2.subtitle': 'Choose an existing upstream or register a new one. Then define the specific endpoint path this operation will call.', + 'wizard.required': 'Required', + 'wizard.optional': 'Optional', + 'wizard.step2.upstream_title': 'Upstream', + 'wizard.step2.upstream_subtitle': 'Shared host, base URL, and authentication', + 'wizard.step2.upstream_placeholder': 'Select an upstream…', + 'wizard.step2.search_placeholder': 'Search by name or URL…', + 'wizard.step2.change': 'Change', + 'wizard.step2.auth_none': 'No auth', + 'wizard.step2.auth_bearer': 'Bearer token', + 'wizard.step2.auth_basic': 'Basic auth', + 'wizard.step2.auth_apikey': 'API key', + 'wizard.step2.register_new': 'Register new upstream', + 'wizard.step2.name': 'Name', + 'wizard.step2.base_url': 'Base URL', + 'wizard.step2.unique_hint': 'Unique identifier for this upstream.', + 'wizard.step2.base_url_hint': 'Root URL without a trailing slash. Auth is configured separately below.', + 'wizard.step2.auth_selector': 'Upstream auth', + 'wizard.step2.auth_selector_hint': 'Use secrets-backed auth profiles instead of embedding credential headers in the upstream definition.', + 'wizard.step2.auth_mode.none': 'No auth', + 'wizard.step2.auth_mode.existing': 'Use existing auth profile', + 'wizard.step2.auth_mode.create': 'Create auth profile now', + 'wizard.step2.auth_profile': 'Auth profile', + 'wizard.step2.auth_profile_hint': 'The selected auth profile is applied automatically when the tool runs.', + 'wizard.step2.auth_profile_empty': 'No auth profiles yet. Create one below or on the Secrets page.', + 'wizard.step2.create_profile_title': 'Create auth profile', + 'wizard.step2.create_profile_subtitle': 'Create a reusable profile backed by encrypted workspace secrets.', + 'wizard.step2.profile_name': 'Profile name', + 'wizard.step2.profile_kind': 'Auth kind', + 'wizard.step2.auth_kind.bearer': 'Bearer token', + 'wizard.step2.auth_kind.basic': 'Basic auth', + 'wizard.step2.auth_kind.api_key_header': 'API key header', + 'wizard.step2.auth_kind.api_key_query': 'API key query', + 'wizard.step2.header_name': 'Header name', + 'wizard.step2.query_param': 'Query param', + 'wizard.step2.username_secret': 'Username secret', + 'wizard.step2.password_secret': 'Password secret', + 'wizard.step2.secret_value': 'Secret', + 'wizard.step2.quick_secret': 'Quick create secret', + 'wizard.step2.manage_secrets': 'Open secrets page', + 'wizard.step2.static_headers': 'Static headers (optional)', + 'wizard.step2.static_headers_hint': 'Optional non-secret headers sent on every request to this upstream. Use auth profiles for credentials.', + 'wizard.step2.quick_secret_title': 'Quick create secret', + 'wizard.step2.quick_secret_name': 'Secret name', + 'wizard.step2.quick_secret_kind': 'Secret kind', + 'wizard.step2.quick_secret_value': 'Secret value', + 'wizard.step2.quick_secret_hint': 'The plaintext is encrypted immediately and will not be returned again.', + 'wizard.step2.quick_secret_submit': 'Create secret', + 'wizard.step2.save_upstream': 'Save upstream', + 'wizard.step2.endpoint_title': 'Endpoint', + 'wizard.step2.endpoint_subtitle': 'Path and HTTP method for this specific operation', + 'wizard.step2.path_template': 'Path template', + 'wizard.step2.path_hint': 'Appended to the upstream base URL. Use {param} for path variables.', + 'wizard.step3.rest.label': 'Request config', + 'wizard.step3.graphql.label': 'GQL operation', + 'wizard.step3.rest.title': 'HTTP method & format', + 'wizard.step3.rest.subtitle': 'Choose the HTTP verb this operation sends and configure content negotiation headers. Crank will serialize MCP tool arguments into the appropriate request body format.', + 'wizard.step3.rest.method_title': 'HTTP method', + 'wizard.step3.rest.method_subtitle': 'Verb sent to the upstream on every tool invocation', + 'wizard.step3.rest.read': 'Read', + 'wizard.step3.rest.create': 'Create', + 'wizard.step3.rest.replace': 'Replace', + 'wizard.step3.rest.update': 'Update', + 'wizard.step3.rest.remove': 'Remove', + 'wizard.step3.rest.format_title': 'Request format', + 'wizard.step3.rest.format_subtitle': 'Content negotiation and serialisation', + 'wizard.step3.rest.content_type': 'Content-Type', + 'wizard.step3.rest.content_type_hint': 'How the request body is encoded when sent to the upstream.', + 'wizard.step3.rest.accept': 'Accept', + 'wizard.step3.rest.accept_hint': 'Accepted response content types from the upstream server.', + 'wizard.step3.graphql.title': 'GraphQL operation', + 'wizard.step3.graphql.subtitle': 'Define the GraphQL operation this tool will execute. All requests are sent as HTTP POST to the endpoint configured in the previous step. Variables are populated from MCP tool arguments at runtime.', + 'wizard.step3.graphql.type_title': 'Operation type', + 'wizard.step3.graphql.type_subtitle': 'GraphQL operation kind — subscriptions are not supported', + 'wizard.step3.graphql.query_desc': 'Fetch data without side-effects', + 'wizard.step3.graphql.mutation_desc': 'Create, update or delete data', + 'wizard.step3.graphql.doc_title': 'Query document', + 'wizard.step3.graphql.doc_subtitle': 'GraphQL document with typed variable declarations', + 'wizard.step3.graphql.variables_title': 'Variables are mapped in step 5', + 'wizard.step3.graphql.variables_body': 'Declare all variables in the query document using the $variable: Type syntax. In step 5 you will map MCP input fields to these variables. Crank serializes the final {"query","variables"} payload automatically.', + 'wizard.step4.title': 'Tool config', + 'wizard.step4.subtitle': 'Name your tool, write the LLM-facing description, and define the input/output schemas. The description is the primary signal the model uses when deciding whether to call this tool.', + 'wizard.step4.identity_title': 'Tool identity', + 'wizard.step4.identity_subtitle': 'Machine-readable name and LLM-facing description', + 'wizard.step4.tool_name': 'Tool name', + 'wizard.step4.tool_name_hint': 'Machine-readable identifier used in MCP tool calls. Only lowercase letters, numbers and underscores. Cannot be changed after publishing.', + 'wizard.step4.display_name': 'Display name', + 'wizard.step4.display_name_hint': 'Human-readable name shown in the console and audit log.', + 'wizard.step4.tool_title': 'Tool title', + 'wizard.step4.tool_title_hint': 'Short imperative sentence shown in the MCP tool manifest.', + 'wizard.step4.description': 'Description', + 'wizard.step4.description_hint': 'LLM-facing description. Be precise — this is the primary signal the model uses to decide whether to invoke this tool.', + 'wizard.step4.description_title': 'Writing effective descriptions', + 'wizard.step4.description_body': 'Start with a verb ("Creates", "Fetches", "Updates"). Mention key input requirements. Describe what a successful response looks like. Avoid vague phrasing like "handles" or "manages". See description best practices →', + 'wizard.step4.input_schema_title': 'Input schema', + 'wizard.step4.input_schema_subtitle': 'Parameters the LLM passes when calling this tool', + 'wizard.step4.output_schema_title': 'Output schema', + 'wizard.step4.output_schema_subtitle': 'Shape of the data returned to the LLM after a successful call', + 'wizard.step4.schema_draft': 'JSON Schema draft-07', + 'wizard.step4.protocol_agnostic_title': 'Schemas are protocol-agnostic', + 'wizard.step4.protocol_agnostic_body': 'These schemas describe the MCP contract, not the upstream wire format. Field mapping in Step 5 translates between the two. You can upload a sample JSON response to auto-generate the output schema.', + 'wizard.step5.title': 'Mapping and execution', + 'wizard.step5.subtitle': 'Define how MCP tool arguments map to upstream request fields, and how the upstream response maps back to MCP output. Then set execution parameters — auth is configured per-upstream in step 2.', + 'wizard.step5.input_request': 'Input → Request', + 'wizard.step5.output_response': 'Response → Output', + 'wizard.step5.execution': 'Execution', + 'wizard.step5.exec_title': 'Execution config', + 'wizard.step5.exec_subtitle': 'Timeouts, retry policy and auth profile reference', + 'wizard.step5.security_level_title': 'Operation security in Community', + 'wizard.step5.community_security_note': 'Community supports only the standard operation security level with static AI-agent keys. Short-lived and one-time token flows require a commercial edition.', + 'wizard.step5.live_title': 'Live validation and publishing', + 'wizard.step5.draft_actions': 'Draft actions', + 'wizard.step5.live_save_title': 'Live actions save the draft first', + 'wizard.step5.live_save_body': 'Sample uploads, test runs, YAML actions and publish all persist the current draft before calling the backend.', + 'wizard.step5.samples_title': 'Samples and draft generation', + 'wizard.step5.samples_subtitle': 'Persist input/output samples, then generate schemas and mappings from real payloads.', + 'wizard.step5.input_sample': 'Input sample', + 'wizard.step5.output_sample': 'Output sample', + 'wizard.step5.save_input_sample': 'Save input sample', + 'wizard.step5.save_output_sample': 'Save output sample', + 'wizard.step5.generate_draft': 'Generate draft from samples', + 'wizard.step5.test_title': 'Test run', + 'wizard.step5.test_subtitle': 'Run the current draft against the upstream before publishing it.', + 'wizard.step5.test_input_payload': 'Test input payload', + 'wizard.step5.run_test': 'Run test', + 'wizard.step5.use_response_output': 'Use response as output sample', + 'wizard.step5.request_preview': 'Request preview', + 'wizard.step5.response_preview': 'Response preview', + 'wizard.step5.errors': 'Errors', + 'wizard.step5.choose_descriptor': 'Choose descriptor set', + 'wizard.step5.upload_discover': 'Upload and discover services', + 'wizard.step5.no_descriptor': 'No descriptor set selected', + 'wizard.step5.yaml_title': 'YAML import and export', + 'wizard.step5.yaml_subtitle': 'Move operation drafts between environments without leaving the wizard.', + 'wizard.step5.export_yaml': 'Export YAML', + 'wizard.step5.load_yaml_file': 'Load YAML file', + 'wizard.step5.import_yaml': 'Import YAML', + 'wizard.step5.yaml_document': 'YAML document', + 'wizard.step5.yaml_placeholder': 'Paste exported YAML here to create or upsert an operation.', + 'wizard.step5.publish_title': 'Publish', + 'wizard.step5.publish_subtitle': 'Save the current draft and expose it to published agents.', + 'wizard.step5.publish_hint': 'Publishing uses the current draft version from this wizard session.', + 'wizard.step5.publish_action': 'Publish operation', + 'wizard.step5.editable_title': 'Operation stays editable in this wizard', + 'wizard.step5.editable_body': 'Saving creates or updates the current draft in place. Use the live actions above to upload samples, test the draft, export or import YAML, and publish when the upstream contract is ready.', + 'wizard.live.failed_title': 'Live action failed', + 'wizard.live.failed_body': 'The backend request failed. Review the draft and try again.', + 'wizard.error.no_workspace': 'No workspace selected', + 'wizard.error.tool_name': 'Tool name is required', + 'wizard.error.parser_unavailable': 'YAML parser is not available', + 'wizard.error.select_upstream': 'Select or register an upstream first', + 'wizard.error.auth_profile_required': 'Select an auth profile or switch upstream auth to No auth.', + 'wizard.error.auth_profile_name': 'Auth profile name is required.', + 'wizard.error.secret_required': 'Select the secret required by this auth profile.', + 'wizard.error.basic_secrets_required': 'Select both username and password secrets.', + 'wizard.error.header_name_required': 'Header name is required for this auth profile.', + 'wizard.error.query_param_required': 'Query parameter name is required for this auth profile.', + 'wizard.error.secret_name_required': 'Secret name is required.', + 'wizard.error.secret_value_required': 'Secret value is required.', + 'wizard.error.save_upstream_first': 'Save the upstream after creating a new auth profile before continuing.', + 'wizard.toast.auth_profile_created_title': 'Auth profile created', + 'wizard.toast.auth_profile_created_body': 'New upstream auth profile is ready and selected.', + 'wizard.toast.auth_profile_error_title': 'Auth profile creation failed', + 'wizard.toast.quick_secret_created_title': 'Secret created', + 'wizard.toast.quick_secret_created_body': 'The new secret is now available in the auth selector.', + 'wizard.toast.quick_secret_error_title': 'Secret creation failed', + 'wizard.error.save': 'Failed to save operation', + 'wizard.error.save_title': 'Save failed', + 'wizard.save.created': 'Draft created', + 'wizard.save.updated': 'Draft updated', + 'wizard.save.body': 'The current draft is saved on the backend and ready for live actions in this wizard.', + 'wizard.save.saved': 'Saved ✓', + 'wizard.busy.input_sample': 'Saving input sample…', + 'wizard.busy.output_sample': 'Saving output sample…', + 'wizard.busy.generate': 'Generating draft…', + 'wizard.busy.test': 'Running test…', + 'wizard.busy.export_yaml': 'Exporting YAML…', + 'wizard.busy.import_yaml': 'Importing YAML…', + 'wizard.busy.publish': 'Publishing operation…', + 'wizard.busy.descriptor': 'Uploading descriptor set…', + 'wizard.busy.wsdl': 'Inspecting WSDL…', + 'wizard.sample.input_saved': 'Input sample saved', + 'wizard.sample.input_saved_body': 'The input sample is now stored against the current draft version.', + 'wizard.sample.output_saved': 'Output sample saved', + 'wizard.sample.output_saved_body': 'The output sample is now stored against the current draft version.', + 'wizard.sample.generated': 'Draft generated', + 'wizard.sample.generated_body': 'Schemas and mappings were regenerated from the saved samples.', + 'wizard.test.completed': 'Test run completed', + 'wizard.test.failed': 'Test run returned errors', + 'wizard.test.completed_body': 'The current draft executed successfully against the upstream.', + 'wizard.test.failed_body': 'The draft executed, but the backend returned validation or runtime errors.', + 'wizard.test.window_completed': 'Window test completed', + 'wizard.test.window_completed_body': 'Collected a bounded result window.', + 'wizard.test.window_truncated_note': 'Results were truncated.', + 'wizard.test.window_more_note': 'More data is available if you continue from the streaming views.', + 'wizard.test.window_incomplete_note': 'The upstream stream ended before the configured window was fully collected.', + 'wizard.test.websocket_window_completed': 'WebSocket window test completed', + 'wizard.test.websocket_window_completed_body': 'Collected {items} WebSocket event(s) inside the bounded test window.', + 'wizard.test.websocket_window_truncated_note': 'The bounded window stopped after reaching the configured item or byte limit.', + 'wizard.test.websocket_window_more_note': 'The socket produced more events than this test window retained. Increase limits or switch to session mode if you need a longer stream.', + 'wizard.test.websocket_window_incomplete_note': 'The upstream socket closed before the bounded window finished collecting all configured events.', + 'wizard.test.websocket_session_started': 'WebSocket session test started', + 'wizard.test.websocket_session_started_body': 'WebSocket session {session_id} was created. Continue from Stream sessions after a short delay.', + 'wizard.test.websocket_async_job_started': 'WebSocket async job test started', + 'wizard.test.websocket_async_job_started_body': 'WebSocket async job {job_id} was created. Continue from the async jobs view for status and result.', + 'wizard.test.websocket_failed': 'WebSocket test returned errors', + 'wizard.test.websocket_failed_body': 'The socket test failed before Crank could collect a bounded result window.', + 'wizard.test.websocket_failed_reconnect_body': 'The upstream socket closed before enough events were collected, and the configured reconnect policy was exhausted.', + 'wizard.test.websocket_failed_closed_body': 'The upstream socket closed before the bounded test window completed.', + 'wizard.test.session_started': 'Session test started', + 'wizard.test.session_started_body': 'Session {session_id} was created. Check Stream sessions in a few seconds.', + 'wizard.test.async_job_started': 'Async job test started', + 'wizard.test.async_job_started_body': 'Async job {job_id} was created. Track status and result from the async jobs view.', + 'wizard.test.no_response': 'No test response yet', + 'wizard.test.no_response_body': 'Run a test first, then copy the response preview into the output sample editor.', + 'wizard.test.response_copied': 'Response copied', + 'wizard.test.response_copied_body': 'The latest test response was copied into the output sample editor.', + 'wizard.boolean.yes': 'yes', + 'wizard.boolean.no': 'no', + 'wizard.yaml.exported': 'YAML exported', + 'wizard.yaml.exported_body': 'The current draft YAML was downloaded from the backend.', + 'wizard.yaml.none': 'No YAML provided', + 'wizard.yaml.none_body': 'Paste a YAML document or load it from a file before importing.', + 'wizard.yaml.imported': 'YAML imported', + 'wizard.yaml.imported_body': 'The imported operation draft was stored. The wizard will reopen it now.', + 'wizard.yaml.loaded': 'YAML loaded', + 'wizard.yaml.loaded_body': 'The YAML document was loaded into the import editor.', + 'wizard.publish.done': 'Operation published', + 'wizard.publish.done_body': 'Version {version} is now published and can be bound into agents.', + 'wizard.grpc.discovery_title': 'gRPC discovery moved to live descriptor flow', + 'wizard.grpc.discovery_body': 'Server reflection is not wired in this deployment. Save the draft, then use the descriptor-set tools in Step 5 to upload a real descriptor set and discover unary methods from the backend.', + 'wizard.grpc.no_methods': 'No unary RPC methods found.', + 'wizard.grpc.fields_unresolved': 'Fields not resolved.', + 'wizard.grpc.fields_unresolved_body': 'Import or external types are not expanded client-side.', + 'wizard.grpc.services_found': 'Found {services_label} and {methods_label}.', + 'wizard.grpc.services_label.one': '{count} service', + 'wizard.grpc.services_label.other': '{count} services', + 'wizard.grpc.methods_label.one': '{count} unary method', + 'wizard.grpc.methods_label.other': '{count} unary methods', + 'wizard.grpc.services_discovered': '{services} services · {methods} unary methods discovered', + 'wizard.grpc.services_none': 'No unary methods discovered yet', + + // Common buttons + 'btn.save': 'Save changes', + 'btn.cancel': 'Cancel', + 'btn.create': 'Create', + 'btn.delete': 'Delete', + 'btn.revoke': 'Revoke', + 'btn.copy': 'Copy', + + // Agents page + 'agents.title': 'Agents', + 'agents.subtitle': 'Named MCP endpoints that expose a curated subset of operations to an LLM', + 'agents.subtitle.community': 'Dedicated MCP endpoints for AI agents. Community keeps machine access on static agent keys.', + 'agents.new': 'New agent', + 'agents.limit.title': 'Agent limit reached', + 'agents.limit.message': 'This Community build allows up to {limit} AI agent. Upgrade the edition or remove an existing agent to add another one.', + 'agents.stats.total': 'Total agents', + 'agents.stats.total_sub': 'across this workspace', + 'agents.stats.published': 'Published', + 'agents.stats.published_sub': '{value}% of total', + 'agents.stats.tools': 'Operations exposed', + 'agents.stats.tools_sub': 'across {count} agents', + 'agents.stats.calls': 'Calls today', + 'agents.stats.calls_sub': 'all agents combined', + 'agents.search': 'Search agents...', + 'agents.results': '{shown} of {total} agents', + 'agents.callout.default': 'Each agent gets its own MCP endpoint. Connect your LLM client to a specific agent so it only sees the tools it needs — not all {count} operations in this workspace.', + 'agents.callout.community': 'Each agent gets its own MCP endpoint and static agent keys in Community. Connect your LLM client to a specific agent so it only sees the tools it needs — not all {count} operations in this workspace.', + 'agents.loading': 'Loading agents…', + 'agents.error.title': 'Failed to load agents', + 'agents.error.api': 'Workspace or API is unavailable', + 'agents.error.load': 'Failed to load agents', + 'agents.empty.initial.title': 'No agents yet', + 'agents.empty.initial.sub': 'Create your first agent to get a dedicated MCP endpoint with a curated set of tools.', + 'agents.empty.initial.sub_community': 'Create your first agent to get one dedicated MCP endpoint and its static machine-access keys for a focused toolset.', + 'agents.empty.initial.next_step': 'After creation, issue separate machine-access keys for this endpoint on the API Keys page.', + 'agents.empty.search.title': 'No agents match "{query}"', + 'agents.empty.search.sub': 'Try a different search term.', + 'agents.card.tools': 'tools', + 'agents.card.keys': 'keys', + 'agents.card.calls_today': 'calls today', + 'agents.card.created': 'Created {date}', + 'agents.card.copy_endpoint': 'Copy endpoint', + 'agents.card.endpoint_help': 'Use this MCP endpoint in your client and manage its machine-access keys on the API Keys page.', + 'agents.card.endpoint_help_community': 'Use this MCP endpoint in your client. Community keeps machine access on static agent keys managed on the API Keys page.', + 'agents.action.edit': 'Edit', + 'agents.action.archive': 'Archive', + 'agents.action.delete': 'Delete', + 'agents.lifecycle.publish': 'Publish', + 'agents.lifecycle.unpublish': 'Unpublish', + 'agents.lifecycle.restore_draft': 'Restore draft', + 'agents.lifecycle.published': 'Published', + 'agents.lifecycle.archived': 'Archived', + 'agents.lifecycle.draft': 'Draft', + 'agents.drawer.new_title': 'New agent', + 'agents.drawer.edit_title': 'Edit agent', + 'agents.drawer.new_sub': 'Configure a named MCP endpoint for your LLM', + 'agents.drawer.new_sub_community': 'Configure one MCP endpoint and its static agent-key boundary for a focused LLM use case', + 'agents.drawer.edit_sub': 'Update agent settings and tool selection', + 'agents.drawer.identity': 'Identity', + 'agents.drawer.display_name': 'Display name', + 'agents.drawer.slug': 'Slug', + 'agents.drawer.description': 'Description', + 'agents.drawer.optional': '(optional)', + 'agents.drawer.required': 'required', + 'agents.drawer.status': 'Status', + 'agents.drawer.endpoint': 'MCP endpoint', + 'agents.drawer.slug_hint': 'Keep the slug stable after clients start using this endpoint. Changing it changes the MCP path.', + 'agents.drawer.placeholder.name': 'Customer Support', + 'agents.drawer.placeholder.slug': 'customer-support', + 'agents.drawer.placeholder.description': 'What does this agent do? What LLM or use-case is it for?', + 'agents.drawer.operations': 'Operations', + 'agents.drawer.selected': '{count} selected', + 'agents.drawer.operations_sub': 'Select which operations this agent exposes. LLMs connecting to this agent will only see these tools.', + 'agents.drawer.operations_sub_community': 'Select which operations this agent exposes. Any keys issued for this agent only work against this MCP endpoint.', + 'agents.drawer.filter_ops': 'Filter operations…', + 'agents.drawer.ops_no_match': 'No operations match "{query}"', + 'agents.drawer.ops_selected': '{count} operations selected', + 'agents.drawer.clear_all': 'Clear all', + 'agents.drawer.recommendation': "You've selected {count} tools. LLMs usually work best when an agent has fewer than 15 tools. Consider splitting this into separate agents by use case.", + 'agents.drawer.cancel': 'Cancel', + 'agents.drawer.create': 'Create agent', + 'agents.drawer.save': 'Save changes', + 'agents.toast.saved_title_create': 'Agent created', + 'agents.toast.saved_title_update': 'Agent updated', + 'agents.toast.saved_message': '{name} was saved with {count} tool bindings.', + 'agents.toast.save_error_title': 'Agent update failed', + 'agents.toast.save_error_message': 'Failed to save agent', + 'agents.toast.delete_confirm': 'Delete this agent? This cannot be undone.', + 'agents.toast.delete_title': 'Agent deleted', + 'agents.toast.delete_message': '{name} was deleted.', + 'agents.toast.delete_error_title': 'Delete failed', + 'agents.toast.delete_error_message': 'Failed to delete agent', + 'agents.toast.lifecycle_title': 'Agent lifecycle updated', + 'agents.toast.lifecycle_publish': '{name} was published.', + 'agents.toast.lifecycle_unpublish': '{name} was returned to draft.', + 'agents.toast.lifecycle_archive': '{name} was archived.', + 'agents.toast.lifecycle_error_title': 'Lifecycle update failed', + 'agents.toast.lifecycle_error_message': 'Failed to update agent lifecycle', + 'agents.toast.endpoint_title': 'MCP endpoint copied', + + // Demo content + 'demo.agent.revops-copilot.display_name': 'RevOps Copilot', + 'demo.agent.revops-copilot.description': 'Revenue operations assistant with CRM and billing tools.', + 'demo.agent.support-triage.display_name': 'Support Triage', + 'demo.agent.support-triage.description': 'Draft support agent focused on unary gRPC workflows.', + 'demo.operation.crm_create_lead.display_name': 'Create CRM Lead', + 'demo.operation.crm_create_lead.description': 'Create a lead record in the CRM system.', + 'demo.operation.billing_get_invoice.display_name': 'Get Invoice Status', + 'demo.operation.billing_get_invoice.description': 'Fetch invoice state and amount from billing.', + 'demo.operation.support_lookup_ticket.display_name': 'Lookup Support Ticket', + 'demo.operation.support_lookup_ticket.description': 'Draft unary gRPC support lookup using a descriptor set.', + 'demo.operation.marketing_archive_contact.display_name': 'Archive Marketing Contact', + 'demo.operation.marketing_archive_contact.description': 'Legacy archived flow kept for audit only.', + + // Login + 'login.title': 'Sign in', + 'login.subtitle': 'Welcome back to your workspace', + 'login.email': 'Email', + 'login.password': 'Password', + 'login.submit': 'Sign in', + 'login.sso': 'Continue with Google', + 'login.email_label': 'Email address', + 'login.email_placeholder': 'you@acme.com', + 'login.forgot': 'Forgot password?', + 'login.divider': 'or continue with', + 'login.sso_short': 'Google SSO', + 'login.request_prefix': "Don't have an account?", + 'login.request_link': 'Request access', + 'login.planned_badge': 'Planned', + 'login.password_only': 'Sign in with email and password.', + 'login.coming_soon': 'Password reset and SSO will be added later.', + 'login.error.required': 'Please enter your email and password.', + 'login.error.invalid': 'Invalid email or password. Please try again.', + 'login.error.generic': 'Unable to sign in right now. Please try again.', + }, + + ru: { + // Nav + 'nav.operations': 'Операции', + 'nav.agents': 'Агенты', + 'nav.apikeys': 'API Ключи', + 'nav.secrets': 'Секреты', + 'nav.logs': 'Логи', + 'nav.usage': 'Использование', + 'nav.settings': 'Настройки', + 'nav.logout': 'Выйти', + 'nav.workspaces': 'Ваши воркспейсы', + 'nav.create_workspace': 'Создать воркспейс', + 'nav.notifications': 'Уведомления', + 'nav.menu': 'Меню', + 'nav.account': 'Аккаунт', + 'nav.user_fallback': 'Crank', + 'nav.workspace_fallback': 'workspace', + + // Operations page + 'ops.title': 'Операции', + 'ops.subtitle': 'Контракты инструментов, открывающие ваши API как MCP-инструменты', + 'ops.new': 'Новая операция', + 'ops.loading': 'Загрузка операций…', + 'ops.empty.title': 'Операции не найдены', + 'ops.empty.sub': 'Попробуйте изменить поисковый запрос или фильтры.', + 'ops.empty.initial.title': 'Операций пока нет', + 'ops.empty.initial.sub': 'Создайте первую операцию в этом воркспейсе, чтобы открыть живой MCP-инструмент.', + 'ops.error.title': 'Не удалось подключиться к backend', + 'ops.delete.confirm': 'Удалить эту операцию? Действие нельзя отменить.', + 'ops.delete.success.title': 'Операция удалена', + 'ops.delete.success.message': 'Операция {name} удалена.', + 'ops.delete.error.title': 'Не удалось удалить', + 'ops.delete.error.message': 'Не удалось удалить операцию', + 'ops.action.edit': 'Редактировать операцию', + 'ops.action.delete':'Удалить операцию', + 'ops.stats.synced': 'Каталог синхронизирован с backend', + 'ops.stats.none': 'Операций пока нет', + 'ops.stats.share': '{value}% от общего числа', + 'ops.stats.no_published': 'Опубликованных инструментов пока нет', + 'ops.stats.requests_rollup': 'Сумма по статистике операций', + 'ops.stats.no_traffic': 'Трафик сегодня не зафиксирован', + 'ops.stats.latency_weighted': 'Взвешено по сегодняшним вызовам', + 'ops.stats.latency_waiting': 'Ожидание runtime-метрик', + 'ops.results': 'Показано {shown} из {total}', + 'ops.range': 'Показано {from}–{to} из {total} операций', + 'ops.filter.protocol': 'Протокол: {value}', + 'ops.filter.category': 'Категория: {value}', + 'ops.filter.agent': 'Агент: {value}', + 'ops.no_active_agents': 'Нет активных агентов', + + // Stats + 'stats.total': 'Всего операций', + 'stats.active': 'Активные', + 'stats.requests': 'Запросов сегодня', + 'stats.latency': 'Ср. задержка', + + // Tabs + 'tab.all': 'Все', + 'tab.active': 'Активные', + 'tab.draft': 'Черновик', + 'tab.error': 'Ошибка', + 'tab.inactive': 'Неактивные', + + // Filters & sort + 'filter.search': 'Поиск операций...', + 'filter.protocol': 'Протокол', + 'filter.status': 'Статус', + 'filter.category': 'Категория', + 'filter.agent': 'Агент', + 'filter.showing': 'Показано', + 'filter.of': 'из', + 'filter.clear': 'Сбросить', + 'filter.clear_all': 'Сбросить все', + 'filter.remove': 'Убрать фильтр', + 'sort.created_desc':'Сначала новые', + 'sort.created_asc': 'Сначала старые', + 'sort.name_asc': 'Название А–Я', + 'sort.name_desc': 'Название Я–А', + + // Table headers + 'th.name': 'НАЗВАНИЕ', + 'th.protocol': 'ПРОТОКОЛ', + 'th.status': 'СТАТУС', + 'th.created': 'СОЗДАН', + 'th.url': 'ЦЕЛЕВОЙ URL', + + // Pagination + 'page.showing': 'Показано', + 'page.of': 'из', + 'page.ops': 'операций', + + // API Keys page + 'apikeys.title': 'Ключи агентов', + 'apikeys.subtitle': 'Ключи аутентифицируют внешние MCP-клиенты для конкретного endpoint AI-агента.', + 'apikeys.new': 'Создать ключ', + 'apikeys.agent.title': 'Доступ агента', + 'apikeys.agent.subtitle': 'Выберите AI-агента, чей MCP endpoint должен принимать этот ключ.', + 'apikeys.agent.label': 'AI-агент', + 'apikeys.agent.empty': 'Агенты отсутствуют', + 'apikeys.agent.empty_hint': 'Сначала создайте AI-агента, затем выпустите машинный ключ для его MCP endpoint.', + 'apikeys.agent.endpoint': 'MCP endpoint: {endpoint}', + 'apikeys.agent.endpoint_missing': 'У выбранного агента пока нет опубликованного MCP endpoint.', + 'apikeys.machine_access.title': 'Режимы машинного доступа', + 'apikeys.machine_access.title_community': 'Машинный доступ Community', + 'apikeys.machine_access.subtitle': 'Эта сборка показывает стабильный контракт машинного доступа и сразу отражает доступные режимы.', + 'apikeys.machine_access.subtitle_community': 'Community публикует стабильный MCP-контракт машинного доступа, но в этой сборке активны только статические ключи AI-агентов.', + 'apikeys.machine_access.summary_default': 'Community сейчас поддерживает только статические ключи AI-агентов.', + 'apikeys.machine_access.summary': 'Эта сборка поддерживает {access_modes} для операций с уровнями защиты {security_levels}. При включении коммерческой редакции short-lived и one-time token issuance используют тот же public HTTP surface.', + 'apikeys.machine_access.note': 'Выдача short-lived и one-time token использует тот же public HTTP surface, но требует коммерческую редакцию.', + 'apikeys.machine_access.note_community': 'В Community используйте статические ключи AI-агентов. Short-lived и one-time token требуют коммерческую редакцию.', + 'apikeys.th.name': 'НАЗВАНИЕ', + 'apikeys.th.scope': 'ОБЛАСТЬ', + 'apikeys.th.created':'СОЗДАН', + 'apikeys.th.last': 'ПОСЛЕДНЕЕ ИСПОЛЬЗОВАНИЕ', + 'apikeys.callout.title': 'Ключ показывается только один раз.', + 'apikeys.callout.body': 'Скопируйте и сохраните ключ сразу после создания — Crank хранит только хэш. Поле «Последнее использование» обновляется после успешного MCP-вызова.', + 'apikeys.active.title': 'Активные ключи', + 'apikeys.active.subtitle': '{active} активных · {revoked} отозванных', + 'apikeys.search': 'Фильтр ключей…', + 'apikeys.th.prefix': 'ПРЕФИКС КЛЮЧА', + 'apikeys.th.scopes': 'ОБЛАСТИ', + 'apikeys.th.status': 'СТАТУС', + 'apikeys.scope_ref': 'Справка по областям', + 'apikeys.scope.read': 'Инициализация MCP-сессий, ping сервера и получение списка инструментов для выбранного AI-агента.', + 'apikeys.scope.write': 'Выполнение `tools/call` для опубликованных наборов инструментов агента.', + 'apikeys.scope.deploy': 'Зарезервировано для deploy-автоматизации. Сейчас также разрешает MCP read/write сценарии.', + 'apikeys.modal.title': 'Создать ключ агента', + 'apikeys.modal.name': 'Имя ключа', + 'apikeys.modal.name_hint': 'Понятная метка для идентификации ключа. Видна только администраторам.', + 'apikeys.modal.name_placeholder': 'например, Production, CI pipeline', + 'apikeys.modal.scopes': 'Области', + 'apikeys.modal.reveal_title': 'Скопируйте ключ сейчас.', + 'apikeys.modal.reveal_body': 'Повторно он не будет показан.', + 'apikeys.modal.copy': 'Скопировать', + 'apikeys.modal.cancel': 'Отмена', + 'apikeys.modal.create': 'Создать ключ', + 'apikeys.modal.done': 'Готово — ключ скопирован', + 'apikeys.status.active': 'Активен', + 'apikeys.status.revoked': 'Отозван', + 'apikeys.last_used.never': 'Никогда', + 'apikeys.empty.none': 'API-ключей пока нет', + 'apikeys.empty.search': 'Нет ключей по текущему поиску', + 'apikeys.loading': 'Загрузка…', + 'apikeys.error.api': 'Воркспейс или API недоступен', + 'apikeys.error.load': 'Не удалось загрузить API-ключи', + 'apikeys.confirm.revoke': 'Отозвать этот ключ? Все запросы с ним сразу начнут падать.', + 'apikeys.confirm.delete': 'Удалить этот ключ? Действие нельзя отменить.', + 'apikeys.toast.revoke_title': 'Ключ отозван', + 'apikeys.toast.revoke_message': 'Ключ {name} отозван.', + 'apikeys.toast.revoke_error_title': 'Не удалось отозвать', + 'apikeys.toast.revoke_error_message': 'Не удалось отозвать ключ', + 'apikeys.toast.delete_title': 'Ключ удален', + 'apikeys.toast.delete_message': 'Ключ {name} удален.', + 'apikeys.toast.delete_error_title': 'Не удалось удалить', + 'apikeys.toast.delete_error_message': 'Не удалось удалить ключ', + 'apikeys.toast.scope_missing_title': 'Не выбрана область', + 'apikeys.toast.scope_missing_message': 'Выберите хотя бы одну область перед созданием ключа.', + 'apikeys.toast.create_title': 'Ключ агента создан', + 'apikeys.toast.create_message': 'Скопируйте ключ сейчас. Повторно он не будет показан.', + 'apikeys.toast.create_error_title': 'Не удалось создать ключ', + 'apikeys.toast.create_error_message': 'Не удалось создать ключ', + 'apikeys.toast.copy_title': 'Ключ агента скопирован', + 'apikeys.toast.copy_message': 'Сохраните исходный ключ в надежном месте. Повторно показать его нельзя.', + 'apikeys.toast.prefix_title': 'Префикс ключа скопирован', + 'apikeys.action.copy_prefix': 'Скопировать префикс ключа', + 'apikeys.action.revoke': 'Отозвать ключ', + 'apikeys.action.delete': 'Удалить', + 'apikeys.creating': 'Создание…', + + // Secrets page + 'secrets.title': 'Секреты', + 'secrets.subtitle': 'Зашифрованные upstream-учетные данные для bearer token, basic auth и API key, которые используют auth profiles.', + 'secrets.new': 'Создать секрет', + 'secrets.callout.title': 'Plaintext секрета доступен только на запись.', + 'secrets.callout.body': 'Crank шифрует значения секретов мастер-ключом воркспейса. После создания или ротации API возвращает только метаданные, поэтому на этой странице доступны управление секретами и просмотр их использования.', + 'secrets.active.title': 'Секреты воркспейса', + 'secrets.active.subtitle': '{active} активных · {total} всего', + 'secrets.search': 'Фильтр секретов…', + 'secrets.th.name': 'НАЗВАНИЕ', + 'secrets.th.kind': 'ТИП', + 'secrets.th.version': 'ВЕРСИЯ', + 'secrets.th.last_used': 'ПОСЛЕДНЕЕ ИСПОЛЬЗОВАНИЕ', + 'secrets.th.used_by': 'ИСПОЛЬЗУЕТСЯ В', + 'secrets.th.status': 'СТАТУС', + 'secrets.kind.token': 'Токен', + 'secrets.kind.username_password': 'Логин/пароль', + 'secrets.kind.header': 'Значение заголовка', + 'secrets.kind.generic': 'Общий JSON', + 'secrets.status.active': 'Активен', + 'secrets.status.disabled': 'Отключен', + 'secrets.last_used.never': 'Никогда', + 'secrets.used_by_count.one': '{count} профиль', + 'secrets.used_by_count.few': '{count} профиля', + 'secrets.used_by_count.many': '{count} профилей', + 'secrets.used_by_count.other': '{count} профиля', + 'secrets.loading': 'Загрузка…', + 'secrets.empty.none': 'Секретов пока нет', + 'secrets.empty.search': 'Нет секретов по текущему поиску', + 'secrets.error.workspace': 'Воркспейс не выбран', + 'secrets.error.load': 'Не удалось загрузить секреты', + 'secrets.action.rotate': 'Ротировать', + 'secrets.action.delete': 'Удалить', + 'secrets.confirm.delete': 'Удалить секрет {name}? Это нельзя сделать, пока на секрет ссылается auth profile.', + 'secrets.toast.create_title': 'Секрет создан', + 'secrets.toast.create_message': 'Секрет сохранен в зашифрованном виде. Повторно посмотреть plaintext через API нельзя.', + 'secrets.toast.create_error_title': 'Не удалось создать секрет', + 'secrets.toast.create_error_message': 'Не удалось создать секрет', + 'secrets.toast.rotate_title': 'Секрет ротирован', + 'secrets.toast.rotate_message': 'Новая версия секрета теперь активна.', + 'secrets.toast.rotate_error_title': 'Не удалось ротировать секрет', + 'secrets.toast.rotate_error_message': 'Не удалось ротировать секрет', + 'secrets.toast.delete_title': 'Секрет удален', + 'secrets.toast.delete_message': 'Секрет {name} удален.', + 'secrets.toast.delete_error_title': 'Не удалось удалить секрет', + 'secrets.toast.delete_error_message': 'Не удалось удалить секрет', + 'secrets.modal.create_title': 'Создать секрет', + 'secrets.modal.rotate_title': 'Ротировать секрет', + 'secrets.modal.name': 'Имя секрета', + 'secrets.modal.name_hint': 'Используйте стабильную операторскую метку. Plaintext после сохранения не возвращается.', + 'secrets.modal.kind': 'Тип секрета', + 'secrets.modal.value': 'Значение секрета', + 'secrets.modal.header_value': 'Значение заголовка', + 'secrets.modal.username': 'Логин', + 'secrets.modal.password': 'Пароль', + 'secrets.modal.json_payload': 'JSON payload', + 'secrets.modal.json_hint': 'Подходит для общих secret payloads. Значение должно быть валидным JSON.', + 'secrets.modal.create_note': 'Создание сохраняет зашифрованный plaintext и возвращает только metadata.', + 'secrets.modal.rotate_note': 'Ротация создает новую зашифрованную версию и сохраняет тот же secret id.', + 'secrets.modal.cancel': 'Отмена', + 'secrets.modal.create_action': 'Создать секрет', + 'secrets.modal.rotate_action': 'Ротировать секрет', + 'secrets.modal.creating': 'Создание…', + 'secrets.modal.rotating': 'Ротация…', + 'secrets.hint.token': 'Лучший вариант для bearer tokens и простых API key values.', + 'secrets.hint.username_password': 'Хранит логин и пароль как один зашифрованный payload.', + 'secrets.hint.header': 'Хранит сырое значение заголовка. Имя заголовка задается в auth profile.', + 'secrets.hint.generic': 'Хранит произвольный JSON для нестандартных интеграций, которым нужен структурированный секрет.', + 'secrets.validation.name_required': 'Нужно указать имя секрета.', + 'secrets.validation.value_required': 'Нужно указать значение секрета.', + 'secrets.validation.username_password_required': 'Нужно указать и логин, и пароль.', + 'secrets.validation.json_invalid': 'Generic secret payload должен быть валидным JSON.', + 'secrets.profiles.title': 'Ссылки auth profiles', + 'secrets.profiles.subtitle': 'Профили резолвят секреты в runtime перед upstream execution.', + 'secrets.profiles.subtitle_count.one': '{count} профиль авторизации', + 'secrets.profiles.subtitle_count.few': '{count} профиля авторизации', + 'secrets.profiles.subtitle_count.many': '{count} профилей авторизации', + 'secrets.profiles.subtitle_count.other': '{count} профиля авторизации', + 'secrets.profiles.error_title': 'Не удалось загрузить ссылки auth profiles', + 'secrets.profiles.loading_title': 'Загрузка ссылок auth profiles…', + 'secrets.profiles.loading_body': 'Получаем auth profiles для текущего воркспейса.', + 'secrets.profiles.empty_title': 'Auth profiles пока нет', + 'secrets.profiles.empty_body': 'Создайте auth profile в мастере при настройке операции.', + 'secrets.profiles.references': 'Связанные секреты', + 'secrets.profiles.reference_count': '{count} ссылок', + 'secrets.profiles.meta.created': 'Создан', + 'secrets.profiles.meta.updated': 'Обновлен', + 'secrets.profiles.summary_bearer': 'Bearer auth через {header} с использованием {secret}.', + 'secrets.profiles.summary_basic': 'Basic auth с использованием {username} и {password}.', + 'secrets.profiles.summary_api_key_header': 'API key header {header} с использованием {secret}.', + 'secrets.profiles.summary_api_key_query': 'API key query param {param} с использованием {secret}.', + 'secrets.profiles.summary_unknown': 'Неизвестная конфигурация auth profile.', + 'secrets.auth_kind.bearer': 'Bearer auth', + 'secrets.auth_kind.basic': 'Basic auth', + 'secrets.auth_kind.api_key_header': 'API key header', + 'secrets.auth_kind.api_key_query': 'API key query', + + // Logs page + 'logs.title': 'Логи', + 'logs.subtitle': 'Живой журнал вызовов по всем операциям этого воркспейса.', + 'logs.search': 'Поиск в логах...', + 'logs.level.all': 'Все', + 'logs.level.info': 'Info', + 'logs.level.warn': 'Warn', + 'logs.level.error': 'Error', + 'logs.level.debug': 'Debug', + 'logs.live': 'Live', + 'logs.paused': 'Пауза', + 'logs.refresh': 'Обновить', + 'logs.range.30m': 'Последние 30 мин', + 'logs.range.1h': 'Последний час', + 'logs.range.6h': 'Последние 6 часов', + 'logs.range.24h': 'Последние 24 часа', + 'logs.range.7d': 'Последние 7 дней', + 'logs.search_messages': 'Поиск по сообщениям…', + 'logs.detail.agent': 'Агент', + 'logs.detail.request': 'Предпросмотр запроса', + 'logs.detail.response': 'Предпросмотр ответа', + 'logs.detail.meta': 'Метаданные', + 'logs.loading.title': 'Загрузка логов…', + 'logs.loading.sub': 'Получаем историю вызовов для текущего воркспейса.', + 'logs.error.title': 'Не удалось загрузить логи', + 'logs.error.api': 'Admin API недоступен', + 'logs.error.workspace': 'Воркспейс не выбран', + 'logs.error.load': 'Не удалось загрузить логи', + 'logs.empty.title': 'Записей логов не найдено', + 'logs.empty.filtered': 'Попробуйте расширить период или сбросить текущий поиск и фильтры уровня.', + 'logs.empty.initial': 'Запустите тесты или опубликованные MCP-инструменты, чтобы начать собирать историю вызовов.', + 'logs.live.on.title': 'Live режим включен', + 'logs.live.on.body': 'Логи опрашиваются каждые 4 секунды.', + 'logs.live.off.title': 'Live режим на паузе', + 'logs.live.off.body': 'Автоматический опрос остановлен.', + 'logs.refresh.title': 'Логи обновлены', + 'logs.refresh.body': 'Получены последние записи вызовов для текущего воркспейса.', + + // Usage page + 'usage.title': 'Использование', + 'usage.subtitle': 'Метрики вызовов по всем операциям этого воркспейса.', + 'usage.export': 'Экспорт CSV', + 'usage.period.7d': 'Последние 7 дней', + 'usage.period.30d': 'Последние 30 дней', + 'usage.period.90d': 'Последние 90 дней', + 'usage.period.this_month': 'Этот месяц', + 'usage.period.label.7d': 'последние 7 дней', + 'usage.period.label.30d': 'последние 30 дней', + 'usage.period.label.90d': 'последние 90 дней', + 'usage.period.label.this_month': 'этот месяц', + 'usage.stats.total': 'Всего вызовов', + 'usage.stats.success': 'Доля успешных', + 'usage.stats.p50': 'Медианная задержка (p50)', + 'usage.stats.p99': 'Задержка p99', + 'usage.stats.across': 'За период: {period}', + 'usage.stats.success_calls': 'Успешных вызовов: {count}', + 'usage.stats.median': 'Медианная задержка за выбранный период', + 'usage.stats.error_calls': 'Ошибочных вызовов: {count}', + 'usage.chart.title': 'Вызовы во времени', + 'usage.chart.success': 'Успех', + 'usage.chart.error': 'Ошибка', + 'usage.chart.empty.title': 'Данных по использованию пока нет', + 'usage.chart.empty.sub': 'Метрики появятся здесь после тестов или вызовов опубликованных инструментов за выбранный период.', + 'usage.table.title': 'По операциям', + 'usage.table.subtitle': 'Разбивка за период: {period}', + 'usage.table.th.operation': 'Операция', + 'usage.table.th.protocol': 'Протокол', + 'usage.table.th.calls': 'Вызовы', + 'usage.table.th.errors': 'Ошибки', + 'usage.table.th.error_rate': 'Доля ошибок', + 'usage.table.th.latency': 'Задержка (p50 / p95 / p99)', + 'usage.table.th.share': 'Доля трафика', + 'usage.table.empty.title': 'Разбивки по операциям пока нет', + 'usage.table.empty.sub': 'За выбранный период нет вызовов, которые можно разложить по операциям.', + 'usage.table.share': '{value}% трафика воркспейса', + 'usage.loading.title': 'Загрузка использования…', + 'usage.loading.sub': 'Собираем метрики вызовов для выбранного воркспейса.', + 'usage.error.title': 'Не удалось загрузить использование', + 'usage.error.api': 'Admin API недоступен', + 'usage.error.workspace': 'Воркспейс не выбран', + 'usage.error.load': 'Не удалось загрузить метрики использования', + 'usage.export.empty.title': 'Данные по использованию не загружены', + 'usage.export.empty.body': 'Сначала загрузите данные использования, а потом экспортируйте снимок CSV.', + 'usage.export.done.title': 'Использование экспортировано', + 'usage.export.done.body': 'Текущий снимок использования экспортирован в CSV.', + 'usage.chart.ok': 'Успешных: {count}', + 'usage.chart.errors': 'Ошибок: {count}', + 'usage.chart.week': 'Нед. {index}', + 'usage.csv.header': 'Операция,Протокол,Вызовы,Ошибки,Доля ошибок (%),p50 (мс),p95 (мс),p99 (мс)', + + // Settings sidebar + 'settings.title': 'Настройки', + 'settings.nav.workspace': 'Воркспейс', + 'settings.nav.profile': 'Профиль', + 'settings.nav.members': 'Участники', + 'settings.nav.security': 'Безопасность', + 'settings.nav.notif': 'Уведомления', + 'settings.nav.danger': 'Опасная зона', + + // Settings — workspace section + 'settings.ws.title': 'Настройки воркспейса', + 'settings.ws.subtitle': 'Общая информация о вашем воркспейсе', + 'settings.ws.name': 'Имя воркспейса', + 'settings.ws.display': 'Отображаемое имя', + 'settings.ws.desc': 'Описание', + 'settings.ws.tz': 'Часовой пояс', + 'settings.ws.protocol': 'Протокол по умолчанию', + + // Settings — language + 'settings.lang.title': 'Язык', + 'settings.lang.subtitle': 'Язык отображения интерфейса', + 'settings.lang.en': 'English', + 'settings.lang.ru': 'Русский', + + // Settings — profile section + 'settings.profile.title': 'Профиль', + 'settings.profile.name': 'Полное имя', + 'settings.profile.email': 'Email', + 'settings.profile.role': 'Роль', + 'settings.page.title': 'Настройки аккаунта', + 'settings.page.subtitle': 'Управляйте профилем, паролем, настройками воркспейса и границами возможностей текущей сборки.', + 'settings.ws.slug_hint': 'Используется в API endpoint-ах и по всей консоли. Только строчные буквы, цифры и дефисы.', + 'settings.ws.protocol_hint': 'Эта сборка ограничивает протокол по умолчанию возможностями текущей редакции.', + 'settings.ws.protocol_hint_capabilities': 'В этой сборке в качестве протокола воркспейса доступны {protocols}. Дополнительные протоколы зависят от редакции.', + 'settings.ws.description_optional': 'Описание (необязательно)', + 'settings.ws.description_placeholder': 'Чем занимается этот воркспейс?', + 'settings.profile.avatar_hint': 'Аватар строится из отображаемого имени и email.', + 'settings.profile.backend_hint': 'Имя и email хранятся в backend и используются по всей консоли и в сессионной идентичности.', + 'settings.profile.first_name': 'Имя', + 'settings.profile.last_name': 'Фамилия', + 'settings.profile.last_name_placeholder': 'Необязательно', + 'settings.profile.email_label': 'Email адрес', + 'settings.profile.email_hint': 'Изменение email обновляет логин для текущего аккаунта.', + 'settings.profile.save': 'Сохранить профиль', + 'settings.profile.saving': 'Сохранение…', + 'settings.profile.saved': 'Сохранено ✓', + 'settings.profile.saved_status': 'Профиль сохранен.', + 'settings.profile.save_error': 'Не удалось сохранить профиль', + 'settings.security.title': 'Безопасность', + 'settings.security.current_password': 'Текущий пароль', + 'settings.security.new_password': 'Новый пароль', + 'settings.security.new_password_placeholder': 'минимум 12 символов', + 'settings.security.confirm_password': 'Подтвердите новый пароль', + 'settings.security.change_password': 'Сменить пароль', + 'settings.security.mismatch': 'Новый пароль и подтверждение не совпадают.', + 'settings.security.saved': 'Пароль обновлен.', + 'settings.security.save_error': 'Не удалось изменить пароль', + 'settings.security.capabilities_title': 'Сводка по возможностям сборки', + 'settings.security.capabilities_body': 'Этот блок показывает, что поддерживает текущая сборка. Сейчас доступен вход по паролю с одной HttpOnly browser session; короткоживущие токены, одноразовые токены и расширенное управление доступом зависят от редакции.', + 'settings.security.not_available': 'Возможности сборки', + 'settings.security.capability_title_community': 'Редакция Community', + 'settings.security.capability_title_enterprise': 'Редакция Enterprise', + 'settings.security.capability_title_cloud': 'Редакция Cloud', + 'settings.security.capability_summary': 'В этой сборке доступны {protocols}, {access_modes} и уровень защиты операций {security_levels}. Лимиты: {max_workspaces} воркспейс, {max_users} пользователь, {max_agents} AI-агент. Короткоживущие токены, одноразовые токены и расширенное управление доступом требуют коммерческую редакцию.', + 'settings.capability.rest': 'REST / HTTP', + 'settings.capability.graphql': 'GraphQL', + 'settings.capability.grpc': 'gRPC unary', + 'settings.capability.websocket': 'WebSocket', + 'settings.capability.soap': 'SOAP', + 'settings.capability.standard': 'standard', + 'settings.capability.elevated': 'elevated', + 'settings.capability.strict': 'strict', + 'settings.capability.static_agent_key': 'статические ключи агентов', + 'settings.capability.short_lived_token': 'короткоживущие токены', + 'settings.capability.one_time_token': 'одноразовые токены', + 'settings.capability.unlimited': 'без лимита', + 'settings.capability.none': 'нет', + 'settings.session.title': 'Текущая сессия', + 'settings.session.browser': 'Сессия браузера', + 'settings.session.current': 'текущая', + 'settings.session.loading': 'Загрузка деталей текущей сессии…', + 'settings.session.unavailable': 'Детали сессии недоступны. Используйте «Выйти», чтобы отозвать текущую browser session.', + 'settings.session.current_workspace': 'текущий воркспейс', + 'settings.session.summary': '{email} · {role} в {workspace}. Используйте «Выйти», чтобы отозвать текущую browser session.', + 'settings.notifications.title': 'Уведомления', + 'settings.notifications.not_ready_title': 'Не входит в эту сборку.', + 'settings.notifications.not_ready_body': 'Маршрутизация уведомлений и персональные настройки находятся вне текущей поверхности Community.', + 'settings.notifications.capability_title_community': 'Граница редакции Community', + 'settings.notifications.capability_body_community': 'Персональные каналы доставки и маршрутизация уведомлений не входят в текущую поверхность Community. В этой сборке для операционного контроля используйте журналы и представления использования.', + 'settings.notifications.capability_title_enterprise': 'Контур доставки Enterprise', + 'settings.notifications.capability_body_enterprise': 'Маршрутизация уведомлений зависит от корпоративного контура доставки и подключается отдельно от поверхности консоли Community.', + 'settings.notifications.capability_title_cloud': 'Контур доставки Cloud', + 'settings.notifications.capability_body_cloud': 'Маршрутизация уведомлений зависит от облачного контура доставки и подключается отдельно от поверхности консоли Community.', + 'settings.planned_badge': 'Запланировано', + 'settings.notifications.spike_title': 'Всплеск ошибок операции', + 'settings.notifications.spike_body': 'Алерт, когда доля ошибок превышает скользящий порог для опубликованного инструмента.', + 'settings.notifications.latency_title': 'Деградация задержки upstream', + 'settings.notifications.latency_body': 'Уведомлять операторов, когда p99 latency резко растет выше базовой линии.', + 'settings.notifications.digest_title': 'Сводки по квотам и использованию', + 'settings.notifications.digest_body': 'Доставлять периодические сводки по расходу квот, ошибкам и активности воркспейса.', + 'settings.workspace.saving': 'Сохранение…', + 'settings.workspace.saved': 'Сохранено ✓', + 'settings.workspace.save_error': 'Не удалось сохранить настройки воркспейса', + 'settings.workspace.save_error_title': 'Не удалось сохранить воркспейс', + + // Workspace setup + 'workspace_setup.title': 'Настройки воркспейса', + 'workspace_setup.page_subtitle': 'Настройте идентичность воркспейса, значения по умолчанию и состав команды.', + 'workspace_setup.back': 'Назад', + 'workspace_setup.identity.title': 'Идентичность воркспейса', + 'workspace_setup.identity.avatar_hint': 'Аватар формируется из имени воркспейса.', + 'workspace_setup.name': 'Имя воркспейса', + 'workspace_setup.slug': 'Slug', + 'workspace_setup.required': 'обязательно', + 'workspace_setup.optional': '(необязательно)', + 'workspace_setup.slug_hint': 'Только строчные буквы, цифры и дефисы. Используется в URL MCP endpoint-ов.', + 'workspace_setup.description': 'Описание', + 'workspace_setup.description_placeholder': 'Чем занимается этот воркспейс?', + 'workspace_setup.defaults.title': 'Настройки по умолчанию', + 'workspace_setup.protocol': 'Протокол по умолчанию', + 'workspace_setup.protocol_hint': 'Предварительно выбирается в мастере операций.', + 'workspace_setup.timezone': 'Часовой пояс', + 'workspace_setup.language': 'Язык интерфейса', + 'workspace_setup.members.title': 'Участники команды', + 'workspace_setup.members.invite': 'Пригласить участника', + 'workspace_setup.members.email': 'Email адрес', + 'workspace_setup.members.role': 'Роль', + 'workspace_setup.members.send_invite': 'Отправить приглашение', + 'workspace_setup.members.cancel': 'Отмена', + 'workspace_setup.members.invite_sent': '✓ Приглашение отправлено.', + 'workspace_setup.members.you': '(вы)', + 'workspace_setup.members.today': 'Сегодня', + 'workspace_setup.members.days_ago.one': '{count} день назад', + 'workspace_setup.members.days_ago.few': '{count} дня назад', + 'workspace_setup.members.days_ago.many': '{count} дней назад', + 'workspace_setup.members.days_ago.other': '{count} дня назад', + 'workspace_setup.members.week_ago': '1 неделю назад', + 'workspace_setup.members.never': 'Никогда', + 'workspace_setup.members.pending': 'Ожидающие приглашения', + 'workspace_setup.members.invited_pending': 'Приглашен {date} · ожидает принятия', + 'workspace_setup.members.revoke': 'Отозвать приглашение', + 'workspace_setup.members.remove': 'Удалить участника', + 'workspace_setup.roles.title': 'Роли и права', + 'workspace_setup.roles.owner_body': 'Полный контроль над воркспейсом, доступ к биллингу, возможность передать или удалить воркспейс.', + 'workspace_setup.roles.admin_body': 'Управление участниками и ролями, создание и редактирование всех операций и агентов, управление API-ключами.', + 'workspace_setup.roles.developer_body': 'Создание и редактирование операций и агентов. Нельзя управлять участниками или настройками воркспейса.', + 'workspace_setup.roles.viewer_body': 'Доступ только на чтение к операциям, агентам и логам.', + 'workspace_setup.invite.title': 'Пригласить участников команды', + 'workspace_setup.invite.add_person': '+ Добавить человека', + 'workspace_setup.invite.later': 'Позже можно пригласить людей из настроек воркспейса.', + 'workspace_setup.actions.create': 'Создать воркспейс', + 'workspace_setup.actions.save': 'Сохранить изменения', + 'workspace_setup.create.title': 'Создать новый воркспейс', + 'workspace_setup.create.subtitle': 'Воркспейс — это общее окружение для MCP-операций и агентов вашей команды. У каждого воркспейса свой namespace MCP endpoint-ов.', + 'workspace_setup.create.footer': 'Вы станете владельцем этого воркспейса. После создания можно пригласить дополнительных участников.', + 'workspace_setup.danger.title': 'Опасная зона', + 'workspace_setup.danger.export_title': 'Экспортировать все данные', + 'workspace_setup.danger.export_body': 'Скачать JSON-снимок настроек воркспейса, участников, приглашений, операций, агентов и ключей доступа агентов.', + 'workspace_setup.danger.delete_title': 'Удалить воркспейс', + 'workspace_setup.danger.delete_body': 'Безвозвратно удаляет все операции, ключи, логи и настройки. Действие нельзя отменить. Вы будете немедленно разлогинены.', + 'workspace_setup.export': 'Экспорт', + 'workspace_setup.delete': 'Удалить воркспейс', + 'workspace_setup.role.owner': 'Владелец', + 'workspace_setup.role.admin': 'Администратор', + 'workspace_setup.role.operator': 'Разработчик', + 'workspace_setup.role.viewer': 'Наблюдатель', + 'workspace_setup.member_count.one': '{count} участник', + 'workspace_setup.member_count.few': '{count} участника', + 'workspace_setup.member_count.many': '{count} участников', + 'workspace_setup.member_count.other': '{count} участника', + 'workspace_setup.saving_create': 'Создание…', + 'workspace_setup.saving_update': 'Сохранение…', + 'workspace_setup.saved': 'Сохранено ✓', + 'workspace_setup.save_error': 'Не удалось сохранить воркспейс', + 'workspace_setup.save_error_title': 'Не удалось сохранить', + 'workspace_setup.invite_error': 'Не удалось отправить приглашение', + 'workspace_setup.invite_error_title': 'Не удалось пригласить', + 'workspace_setup.role_error': 'Не удалось обновить роль', + 'workspace_setup.role_error_title': 'Не удалось обновить роль', + 'workspace_setup.remove_confirm': 'Удалить {name} из этого воркспейса?', + 'workspace_setup.remove_error': 'Не удалось удалить участника', + 'workspace_setup.remove_error_title': 'Не удалось удалить участника', + 'workspace_setup.revoke_error': 'Не удалось отозвать приглашение', + 'workspace_setup.revoke_error_title': 'Не удалось отозвать приглашение', + 'workspace_setup.export_error': 'Не удалось экспортировать воркспейс', + 'workspace_setup.export_error_title': 'Не удалось экспортировать', + 'workspace_setup.delete_confirm': 'Удалить этот воркспейс? Действие нельзя отменить.', + 'workspace_setup.delete_error': 'Не удалось удалить воркспейс', + 'workspace_setup.delete_error_title': 'Не удалось удалить', + 'workspace.switch_error': 'Не удалось переключить воркспейс', + 'workspace.switch_error_title': 'Не удалось переключить воркспейс', + 'workspace_setup.custom_protocol.rest': 'REST', + 'workspace_setup.custom_protocol.graphql': 'GraphQL', + 'workspace_setup.custom_protocol.grpc': 'gRPC', + 'workspace_setup.custom_protocol.websocket': 'WebSocket', + 'workspace_setup.custom_protocol.soap': 'SOAP', + + // Wizard + 'wizard.back_catalog': 'Операции', + 'wizard.progress.create': 'Создать операцию', + 'wizard.progress.edit': 'Редактировать операцию', + 'wizard.exit': 'Выйти из мастера', + 'wizard.step_of': 'Шаг {step} из {total}', + 'wizard.step_short': 'Шаг {step}', + 'wizard.status.completed': 'Завершено', + 'wizard.status.in_progress': 'В процессе', + 'wizard.status.not_started': 'Не начато', + 'wizard.help.title': 'Нужна помощь?', + 'wizard.help.body': 'Не уверены, какой протокол выбрать? Откройте', + 'wizard.help.link': 'гайд по сравнению протоколов →', + 'wizard.progress.section': 'Прогресс', + 'wizard.step_name.protocol': 'Протокол', + 'wizard.step_name.upstream': 'Upstream', + 'wizard.step_name.tool': 'Конфиг инструмента', + 'wizard.step_name.mapping': 'Маппинг', + 'wizard.button.back': 'Назад', + 'wizard.button.continue': 'Продолжить', + 'wizard.button.save_draft': 'Сохранить черновик', + 'wizard.button.create': 'Создать операцию', + 'wizard.button.save_changes': 'Сохранить изменения', + 'wizard.sidebar.brand.create': 'Создать операцию', + 'wizard.sidebar.brand.edit': 'Редактировать операцию', + 'wizard.step1.title': 'Выберите протокол', + 'wizard.step1.subtitle': 'Выберите транспортный протокол upstream-сервиса. От этого зависит, как Crank будет общаться с вашим API и какие настройки будут доступны на следующих шагах.', + 'wizard.step1.rest_name': 'REST / HTTP', + 'wizard.step1.rest_tagline': 'Стандартные HTTP-методы поверх REST endpoint-а. Самый универсальный вариант.', + 'wizard.step1.graphql_name': 'GraphQL', + 'wizard.step1.graphql_tagline': 'Операции по GraphQL-схеме. Поддерживаются Query и Mutation для одной фиксированной операции.', + 'wizard.step1.grpc_name': 'gRPC', + 'wizard.step1.grpc_tagline': 'Высокопроизводительный бинарный RPC поверх HTTP/2 для unary-вызовов к низколатентным внутренним сервисам.', + 'wizard.step1.websocket_name': 'WebSocket', + 'wizard.step1.websocket_tagline': 'Состояние соединения, event streams и push-oriented интеграции, нормализованные в bounded MCP streaming tools.', + 'wizard.step1.soap_name': 'SOAP', + 'wizard.step1.soap_tagline': 'Enterprise WSDL/XSD-контракты, нормализованные в MCP-инструменты со структурированным XML mapping.', + 'wizard.step1.query': 'Query', + 'wizard.step1.mutation': 'Mutation', + 'wizard.step1.unary': 'Unary', + 'wizard.step1.tip_title': 'Это можно изменить позже', + 'wizard.step1.tip_body': 'Смена протокола после настройки следующих шагов очистит схемы и mapping. Сохраните операцию как черновик перед экспериментами. См. гайд по миграции протоколов.', + 'wizard.step1.community_protocol_title': 'Граница протоколов Community', + 'wizard.step1.community_protocol_note': 'В этой Community-сборке скрыты {protocols}. Эти протокольные поверхности открываются в коммерческих редакциях.', + 'wizard.step5.streaming_title': 'Потоковое выполнение в Community', + 'wizard.step5.community_streaming_note': 'В этой Community-сборке операции остаются в режиме unary. Семейства инструментов window, session и async job требуют коммерческую редакцию.', + 'wizard.step2.title': 'Выберите upstream и endpoint', + 'wizard.step2.subtitle': 'Выберите существующий upstream или зарегистрируйте новый. Затем задайте конкретный путь endpoint-а для этой операции.', + 'wizard.required': 'Обязательно', + 'wizard.optional': 'Необязательно', + 'wizard.step2.upstream_title': 'Upstream', + 'wizard.step2.upstream_subtitle': 'Общий хост, базовый URL и аутентификация', + 'wizard.step2.upstream_placeholder': 'Выберите upstream…', + 'wizard.step2.search_placeholder': 'Поиск по имени или URL…', + 'wizard.step2.change': 'Изменить', + 'wizard.step2.auth_none': 'Без авторизации', + 'wizard.step2.auth_bearer': 'Bearer token', + 'wizard.step2.auth_basic': 'Basic auth', + 'wizard.step2.auth_apikey': 'API key', + 'wizard.step2.register_new': 'Зарегистрировать новый upstream', + 'wizard.step2.name': 'Имя', + 'wizard.step2.base_url': 'Base URL', + 'wizard.step2.unique_hint': 'Уникальный идентификатор этого upstream-а.', + 'wizard.step2.base_url_hint': 'Корневой URL без завершающего слеша. Auth настраивается отдельно ниже.', + 'wizard.step2.auth_selector': 'Upstream auth', + 'wizard.step2.auth_selector_hint': 'Используйте secrets-backed auth profiles вместо встраивания credential headers в определение upstream-а.', + 'wizard.step2.auth_mode.none': 'Без авторизации', + 'wizard.step2.auth_mode.existing': 'Использовать существующий auth profile', + 'wizard.step2.auth_mode.create': 'Создать auth profile сейчас', + 'wizard.step2.auth_profile': 'Auth profile', + 'wizard.step2.auth_profile_hint': 'Выбранный профиль применяется автоматически при каждом вызове инструмента.', + 'wizard.step2.auth_profile_empty': 'Auth profiles пока нет. Создайте его ниже или на странице Secrets.', + 'wizard.step2.create_profile_title': 'Создать auth profile', + 'wizard.step2.create_profile_subtitle': 'Создайте переиспользуемый профиль на базе зашифрованных workspace secrets.', + 'wizard.step2.profile_name': 'Имя профиля', + 'wizard.step2.profile_kind': 'Тип auth', + 'wizard.step2.auth_kind.bearer': 'Bearer token', + 'wizard.step2.auth_kind.basic': 'Basic auth', + 'wizard.step2.auth_kind.api_key_header': 'API key header', + 'wizard.step2.auth_kind.api_key_query': 'API key query', + 'wizard.step2.header_name': 'Имя заголовка', + 'wizard.step2.query_param': 'Query param', + 'wizard.step2.username_secret': 'Секрет логина', + 'wizard.step2.password_secret': 'Секрет пароля', + 'wizard.step2.secret_value': 'Секрет', + 'wizard.step2.quick_secret': 'Быстро создать секрет', + 'wizard.step2.manage_secrets': 'Открыть страницу Secrets', + 'wizard.step2.static_headers': 'Статические заголовки (опционально)', + 'wizard.step2.static_headers_hint': 'Необязательные не-секретные заголовки для каждого запроса к этому upstream-у. Для credential flows используйте auth profiles.', + 'wizard.step2.quick_secret_title': 'Быстро создать секрет', + 'wizard.step2.quick_secret_name': 'Имя секрета', + 'wizard.step2.quick_secret_kind': 'Тип секрета', + 'wizard.step2.quick_secret_value': 'Значение секрета', + 'wizard.step2.quick_secret_hint': 'Plaintext сразу шифруется и больше не возвращается.', + 'wizard.step2.quick_secret_submit': 'Создать секрет', + 'wizard.step2.save_upstream': 'Сохранить upstream', + 'wizard.step2.endpoint_title': 'Endpoint', + 'wizard.step2.endpoint_subtitle': 'Путь и HTTP-метод для конкретной операции', + 'wizard.step2.path_template': 'Шаблон пути', + 'wizard.step2.path_hint': 'Добавляется к base URL upstream-а. Используйте {param} для path-параметров.', + 'wizard.step3.rest.label': 'Конфиг запроса', + 'wizard.step3.graphql.label': 'GQL операция', + 'wizard.step3.rest.title': 'HTTP метод и формат', + 'wizard.step3.rest.subtitle': 'Выберите HTTP-метод, который отправляет эта операция, и настройте content negotiation headers. Crank сериализует аргументы MCP-инструмента в нужный формат request body.', + 'wizard.step3.rest.method_title': 'HTTP метод', + 'wizard.step3.rest.method_subtitle': 'Метод, который отправляется в upstream при каждом вызове инструмента', + 'wizard.step3.rest.read': 'Чтение', + 'wizard.step3.rest.create': 'Создание', + 'wizard.step3.rest.replace': 'Замена', + 'wizard.step3.rest.update': 'Обновление', + 'wizard.step3.rest.remove': 'Удаление', + 'wizard.step3.rest.format_title': 'Формат запроса', + 'wizard.step3.rest.format_subtitle': 'Content negotiation и сериализация', + 'wizard.step3.rest.content_type': 'Content-Type', + 'wizard.step3.rest.content_type_hint': 'Как кодируется request body перед отправкой в upstream.', + 'wizard.step3.rest.accept': 'Accept', + 'wizard.step3.rest.accept_hint': 'Какие типы ответа принимаются от upstream-сервера.', + 'wizard.step3.graphql.title': 'GraphQL операция', + 'wizard.step3.graphql.subtitle': 'Определите GraphQL-операцию, которую будет выполнять этот инструмент. Все запросы отправляются как HTTP POST на endpoint, настроенный на предыдущем шаге. Variables заполняются из аргументов MCP-инструмента во время выполнения.', + 'wizard.step3.graphql.type_title': 'Тип операции', + 'wizard.step3.graphql.type_subtitle': 'Вид GraphQL-операции — subscriptions не поддерживаются', + 'wizard.step3.graphql.query_desc': 'Получение данных без побочных эффектов', + 'wizard.step3.graphql.mutation_desc': 'Создание, изменение или удаление данных', + 'wizard.step3.graphql.doc_title': 'Документ запроса', + 'wizard.step3.graphql.doc_subtitle': 'GraphQL-документ с типизированными объявлениями переменных', + 'wizard.step3.graphql.variables_title': 'Переменные мапятся на шаге 5', + 'wizard.step3.graphql.variables_body': 'Объявите все переменные в документе запроса в формате $variable: Type. На шаге 5 вы свяжете поля MCP input-а с этими переменными. Crank автоматически сериализует итоговый payload {"query","variables"}.', + 'wizard.step4.title': 'Конфиг инструмента', + 'wizard.step4.subtitle': 'Задайте имя инструмента, описание для LLM и определите входную/выходную схему. Описание — главный сигнал, по которому модель решает, вызывать ли этот инструмент.', + 'wizard.step4.identity_title': 'Идентичность инструмента', + 'wizard.step4.identity_subtitle': 'Машиночитаемое имя и описание для LLM', + 'wizard.step4.tool_name': 'Имя инструмента', + 'wizard.step4.tool_name_hint': 'Машиночитаемый идентификатор для MCP tool calls. Только строчные буквы, цифры и подчеркивания. После публикации изменить нельзя.', + 'wizard.step4.display_name': 'Отображаемое имя', + 'wizard.step4.display_name_hint': 'Человеко-читаемое имя для консоли и журнала аудита.', + 'wizard.step4.tool_title': 'Tool title', + 'wizard.step4.tool_title_hint': 'Короткая императивная фраза, которая попадет в MCP tool manifest.', + 'wizard.step4.description': 'Описание', + 'wizard.step4.description_hint': 'Описание для LLM. Пишите точно — это главный сигнал, по которому модель решает, нужно ли вызывать инструмент.', + 'wizard.step4.description_title': 'Как писать хорошие описания', + 'wizard.step4.description_body': 'Начинайте с глагола ("Создает", "Получает", "Обновляет"). Укажите ключевые требования ко входу. Опишите, как выглядит успешный ответ. Избегайте расплывчатых формулировок вроде "обрабатывает" или "управляет". См. рекомендации по описаниям →', + 'wizard.step4.input_schema_title': 'Входная схема', + 'wizard.step4.input_schema_subtitle': 'Параметры, которые LLM передает при вызове инструмента', + 'wizard.step4.output_schema_title': 'Выходная схема', + 'wizard.step4.output_schema_subtitle': 'Форма данных, которые LLM получает после успешного вызова', + 'wizard.step4.schema_draft': 'JSON Schema draft-07', + 'wizard.step4.protocol_agnostic_title': 'Схемы не зависят от протокола', + 'wizard.step4.protocol_agnostic_body': 'Эти схемы описывают MCP-контракт, а не wire-format upstream-а. Маппинг на шаге 5 переводит одно в другое. Можно загрузить sample JSON-ответа, чтобы автоматически сгенерировать output schema.', + 'wizard.step5.title': 'Mapping и исполнение', + 'wizard.step5.subtitle': 'Определите, как аргументы MCP-инструмента мапятся в поля upstream-запроса и как ответ upstream-а мапится обратно в MCP output. Затем задайте execution-параметры — auth настраивается на уровне upstream на шаге 2.', + 'wizard.step5.input_request': 'Input → Request', + 'wizard.step5.output_response': 'Response → Output', + 'wizard.step5.execution': 'Исполнение', + 'wizard.step5.exec_title': 'Execution config', + 'wizard.step5.exec_subtitle': 'Таймауты, retry policy и ссылка на auth profile', + 'wizard.step5.security_level_title': 'Защита операций в Community', + 'wizard.step5.community_security_note': 'Community поддерживает только стандартный уровень защиты операций со статическими ключами AI-агента. Короткоживущие и одноразовые токены требуют коммерческую редакцию.', + 'wizard.step5.live_title': 'Live-проверка и публикация', + 'wizard.step5.draft_actions': 'Действия черновика', + 'wizard.step5.live_save_title': 'Live-действия сначала сохраняют черновик', + 'wizard.step5.live_save_body': 'Загрузка sample-ов, тестовые прогоны, YAML-действия и публикация сначала сохраняют текущий черновик перед вызовом backend-а.', + 'wizard.step5.samples_title': 'Samples и генерация черновика', + 'wizard.step5.samples_subtitle': 'Сохраните входные и выходные sample-ы, затем сгенерируйте схемы и маппинг из реальных payload-ов.', + 'wizard.step5.input_sample': 'Входной sample', + 'wizard.step5.output_sample': 'Выходной sample', + 'wizard.step5.save_input_sample': 'Сохранить входной sample', + 'wizard.step5.save_output_sample': 'Сохранить выходной sample', + 'wizard.step5.generate_draft': 'Сгенерировать черновик из sample-ов', + 'wizard.step5.test_title': 'Тестовый прогон', + 'wizard.step5.test_subtitle': 'Проверьте текущий черновик на upstream-е перед публикацией.', + 'wizard.step5.test_input_payload': 'Входной payload для теста', + 'wizard.step5.run_test': 'Запустить тест', + 'wizard.step5.use_response_output': 'Использовать ответ как выходной sample', + 'wizard.step5.request_preview': 'Предпросмотр запроса', + 'wizard.step5.response_preview': 'Предпросмотр ответа', + 'wizard.step5.errors': 'Ошибки', + 'wizard.step5.choose_descriptor': 'Выбрать descriptor set', + 'wizard.step5.upload_discover': 'Загрузить и открыть сервисы', + 'wizard.step5.no_descriptor': 'Descriptor set не выбран', + 'wizard.step5.yaml_title': 'Импорт и экспорт YAML', + 'wizard.step5.yaml_subtitle': 'Переносите черновики операций между окружениями, не выходя из мастера.', + 'wizard.step5.export_yaml': 'Экспорт YAML', + 'wizard.step5.load_yaml_file': 'Загрузить YAML-файл', + 'wizard.step5.import_yaml': 'Импорт YAML', + 'wizard.step5.yaml_document': 'YAML-документ', + 'wizard.step5.yaml_placeholder': 'Вставьте экспортированный YAML сюда, чтобы создать или обновить операцию.', + 'wizard.step5.publish_title': 'Публикация', + 'wizard.step5.publish_subtitle': 'Сохраните текущий черновик и откройте его опубликованным агентам.', + 'wizard.step5.publish_hint': 'Публикация использует текущую версию черновика из этой сессии мастера.', + 'wizard.step5.publish_action': 'Опубликовать операцию', + 'wizard.step5.editable_title': 'Операция остается редактируемой в этом мастере', + 'wizard.step5.editable_body': 'Сохранение создает или обновляет текущий черновик на месте. Используйте live-действия выше, чтобы загрузить sample-ы, протестировать черновик, экспортировать или импортировать YAML и опубликовать контракт, когда он будет готов.', + 'wizard.live.failed_title': 'Не удалось выполнить live-действие', + 'wizard.live.failed_body': 'Запрос к backend завершился ошибкой. Проверьте черновик и попробуйте еще раз.', + 'wizard.error.no_workspace': 'Воркспейс не выбран', + 'wizard.error.tool_name': 'Имя инструмента обязательно', + 'wizard.error.parser_unavailable': 'YAML parser недоступен', + 'wizard.error.select_upstream': 'Сначала выберите или зарегистрируйте upstream', + 'wizard.error.auth_profile_required': 'Выберите auth profile или переключите upstream auth в режим «Без авторизации».', + 'wizard.error.auth_profile_name': 'Нужно указать имя auth profile.', + 'wizard.error.secret_required': 'Выберите секрет, необходимый для этого auth profile.', + 'wizard.error.basic_secrets_required': 'Выберите секреты и для логина, и для пароля.', + 'wizard.error.header_name_required': 'Для этого auth profile нужно указать имя заголовка.', + 'wizard.error.query_param_required': 'Для этого auth profile нужно указать имя query-параметра.', + 'wizard.error.secret_name_required': 'Нужно указать имя секрета.', + 'wizard.error.secret_value_required': 'Нужно указать значение секрета.', + 'wizard.error.save_upstream_first': 'Сначала сохраните upstream после создания нового auth profile.', + 'wizard.toast.auth_profile_created_title': 'Auth profile создан', + 'wizard.toast.auth_profile_created_body': 'Новый upstream auth profile готов и уже выбран.', + 'wizard.toast.auth_profile_error_title': 'Не удалось создать auth profile', + 'wizard.toast.quick_secret_created_title': 'Секрет создан', + 'wizard.toast.quick_secret_created_body': 'Новый секрет уже доступен в auth selector.', + 'wizard.toast.quick_secret_error_title': 'Не удалось создать секрет', + 'wizard.error.save': 'Не удалось сохранить операцию', + 'wizard.error.save_title': 'Не удалось сохранить', + 'wizard.save.created': 'Черновик создан', + 'wizard.save.updated': 'Черновик обновлен', + 'wizard.save.body': 'Текущий черновик сохранен в backend и готов к live-действиям в этом мастере.', + 'wizard.save.saved': 'Сохранено ✓', + 'wizard.busy.input_sample': 'Сохранение входного sample…', + 'wizard.busy.output_sample': 'Сохранение выходного sample…', + 'wizard.busy.generate': 'Генерация черновика…', + 'wizard.busy.test': 'Запуск теста…', + 'wizard.busy.export_yaml': 'Экспорт YAML…', + 'wizard.busy.import_yaml': 'Импорт YAML…', + 'wizard.busy.publish': 'Публикация операции…', + 'wizard.busy.descriptor': 'Загрузка descriptor set…', + 'wizard.busy.wsdl': 'Inspection WSDL…', + 'wizard.sample.input_saved': 'Входной sample сохранен', + 'wizard.sample.input_saved_body': 'Входной sample теперь сохранен в текущей версии черновика.', + 'wizard.sample.output_saved': 'Выходной sample сохранен', + 'wizard.sample.output_saved_body': 'Выходной sample теперь сохранен в текущей версии черновика.', + 'wizard.sample.generated': 'Черновик сгенерирован', + 'wizard.sample.generated_body': 'Схемы и mapping были пересобраны из сохраненных sample-ов.', + 'wizard.test.completed': 'Тестовый прогон завершен', + 'wizard.test.failed': 'Тестовый прогон вернул ошибки', + 'wizard.test.completed_body': 'Текущий черновик успешно выполнился против upstream.', + 'wizard.test.failed_body': 'Черновик выполнился, но backend вернул ошибки валидации или runtime.', + 'wizard.test.window_completed': 'Оконный тест завершен', + 'wizard.test.window_completed_body': 'Собран ограниченный результат окна.', + 'wizard.test.window_truncated_note': 'Результат был усечен.', + 'wizard.test.window_more_note': 'Доступно продолжение, если перейти к streaming-представлениям.', + 'wizard.test.window_incomplete_note': 'Upstream-поток завершился раньше, чем удалось собрать всё окно.', + 'wizard.test.websocket_window_completed': 'WebSocket оконный тест завершен', + 'wizard.test.websocket_window_completed_body': 'В пределах ограниченного тестового окна собрано {items} WebSocket event(s).', + 'wizard.test.websocket_window_truncated_note': 'Ограниченное окно остановилось после достижения лимита по элементам или байтам.', + 'wizard.test.websocket_window_more_note': 'Сокет выдал больше событий, чем сохранило это тестовое окно. Увеличьте лимиты или переключитесь в session mode, если нужен более длинный поток.', + 'wizard.test.websocket_window_incomplete_note': 'Upstream WebSocket закрылся до того, как bounded окно успело собрать все настроенные события.', + 'wizard.test.websocket_session_started': 'WebSocket session-тест запущен', + 'wizard.test.websocket_session_started_body': 'WebSocket session {session_id} создана. Продолжайте в разделе Stream sessions через короткую паузу.', + 'wizard.test.websocket_async_job_started': 'WebSocket async job тест запущен', + 'wizard.test.websocket_async_job_started_body': 'Создан WebSocket async job {job_id}. Дальше отслеживайте статус и результат в представлении async jobs.', + 'wizard.test.websocket_failed': 'WebSocket тест завершился с ошибками', + 'wizard.test.websocket_failed_body': 'Тест сокета завершился до того, как Crank успел собрать bounded result window.', + 'wizard.test.websocket_failed_reconnect_body': 'Upstream WebSocket закрылся раньше, чем удалось собрать достаточно событий, и настроенная reconnect policy была исчерпана.', + 'wizard.test.websocket_failed_closed_body': 'Upstream WebSocket закрылся до завершения bounded test window.', + 'wizard.test.session_started': 'Session-тест запущен', + 'wizard.test.session_started_body': 'Сессия {session_id} создана. Проверьте статус в разделе Stream sessions через несколько секунд.', + 'wizard.test.async_job_started': 'Async job тест запущен', + 'wizard.test.async_job_started_body': 'Создан async job {job_id}. Отслеживайте статус и результат через представление async jobs.', + 'wizard.test.no_response': 'Тестового ответа пока нет', + 'wizard.test.no_response_body': 'Сначала выполните тест, затем скопируйте response preview в editor output sample.', + 'wizard.test.response_copied': 'Ответ скопирован', + 'wizard.test.response_copied_body': 'Последний тестовый ответ скопирован в editor output sample.', + 'wizard.boolean.yes': 'да', + 'wizard.boolean.no': 'нет', + 'wizard.yaml.exported': 'YAML экспортирован', + 'wizard.yaml.exported_body': 'YAML текущего черновика скачан из backend.', + 'wizard.yaml.none': 'YAML не предоставлен', + 'wizard.yaml.none_body': 'Вставьте YAML-документ или загрузите файл перед импортом.', + 'wizard.yaml.imported': 'YAML импортирован', + 'wizard.yaml.imported_body': 'Импортированный черновик операции сохранен. Мастер сейчас откроет его заново.', + 'wizard.yaml.loaded': 'YAML загружен', + 'wizard.yaml.loaded_body': 'YAML-документ загружен в editor импорта.', + 'wizard.publish.done': 'Операция опубликована', + 'wizard.publish.done_body': 'Версия {version} опубликована и теперь может быть привязана к агентам.', + 'wizard.grpc.discovery_title': 'gRPC discovery переведен в live descriptor flow', + 'wizard.grpc.discovery_body': 'Server reflection в этом развертывании не подключен. Сохраните черновик и используйте инструменты descriptor set на шаге 5, чтобы загрузить реальный descriptor set и открыть unary methods из backend.', + 'wizard.grpc.no_methods': 'Unary RPC methods не найдены.', + 'wizard.grpc.fields_unresolved': 'Поля не разрешены.', + 'wizard.grpc.fields_unresolved_body': 'Import-ы или внешние типы не разворачиваются на стороне клиента.', + 'wizard.grpc.services_found': 'Найдено {services_label} и {methods_label}.', + 'wizard.grpc.services_label.one': '{count} сервис', + 'wizard.grpc.services_label.few': '{count} сервиса', + 'wizard.grpc.services_label.many': '{count} сервисов', + 'wizard.grpc.services_label.other': '{count} сервиса', + 'wizard.grpc.methods_label.one': '{count} unary-метод', + 'wizard.grpc.methods_label.few': '{count} unary-метода', + 'wizard.grpc.methods_label.many': '{count} unary-методов', + 'wizard.grpc.methods_label.other': '{count} unary-метода', + 'wizard.grpc.services_discovered': 'Сервисов открыто: {services} · unary методов: {methods}', + 'wizard.grpc.services_none': 'Unary methods пока не открыты', + + // Common buttons + 'btn.save': 'Сохранить', + 'btn.cancel': 'Отмена', + 'btn.create': 'Создать', + 'btn.delete': 'Удалить', + 'btn.revoke': 'Отозвать', + 'btn.copy': 'Копировать', + + // Agents page + 'agents.title': 'Агенты', + 'agents.subtitle': 'Именованные MCP endpoint-ы, открывающие LLM ограниченный набор операций', + 'agents.subtitle.community': 'Отдельные MCP endpoint-ы для AI-агентов. В Community машинный доступ держится на статических ключах агента.', + 'agents.new': 'Новый агент', + 'agents.limit.title': 'Достигнут лимит агентов', + 'agents.limit.message': 'В этой Community-сборке доступно не более {limit} AI-агента. Чтобы добавить еще одного, удалите существующего агента или перейдите на другую редакцию.', + 'agents.stats.total': 'Всего агентов', + 'agents.stats.total_sub': 'в этом воркспейсе', + 'agents.stats.published': 'Опубликованы', + 'agents.stats.published_sub': '{value}% от общего числа', + 'agents.stats.tools': 'Открытых операций', + 'agents.stats.tools_sub': 'в {count} агентах', + 'agents.stats.calls': 'Вызовов сегодня', + 'agents.stats.calls_sub': 'по всем агентам', + 'agents.search': 'Поиск агентов...', + 'agents.results': '{shown} из {total} агентов', + 'agents.callout.default': 'У каждого агента свой MCP endpoint. Подключайте LLM-клиент к конкретному агенту, чтобы он видел только нужные инструменты, а не все {count} операций этого воркспейса.', + 'agents.callout.community': 'В Community у каждого агента свой MCP endpoint и свои статические ключи агента. Подключайте LLM-клиент к конкретному агенту, чтобы он видел только нужные инструменты, а не все {count} операций этого воркспейса.', + 'agents.loading': 'Загрузка агентов…', + 'agents.error.title': 'Не удалось загрузить агентов', + 'agents.error.api': 'Воркспейс или API недоступен', + 'agents.error.load': 'Не удалось загрузить агентов', + 'agents.empty.initial.title': 'Агентов пока нет', + 'agents.empty.initial.sub': 'Создайте первого агента, чтобы получить отдельный MCP endpoint с нужным набором инструментов.', + 'agents.empty.initial.sub_community': 'Создайте первого агента, чтобы получить один отдельный MCP endpoint и его статические машинные ключи для конкретного набора инструментов.', + 'agents.empty.initial.next_step': 'После создания выпустите отдельные машинные ключи для этого endpoint на странице API Keys.', + 'agents.empty.search.title': 'Нет агентов по запросу "{query}"', + 'agents.empty.search.sub': 'Попробуйте другой поисковый запрос.', + 'agents.card.tools': 'инструментов', + 'agents.card.keys': 'ключей', + 'agents.card.calls_today': 'вызовов сегодня', + 'agents.card.created': 'Создан {date}', + 'agents.card.copy_endpoint': 'Скопировать endpoint', + 'agents.card.endpoint_help': 'Используйте этот MCP endpoint в клиенте и управляйте его машинными ключами на странице API Keys.', + 'agents.card.endpoint_help_community': 'Используйте этот MCP endpoint в клиенте. В Community машинный доступ держится на статических ключах агента со страницы API Keys.', + 'agents.action.edit': 'Редактировать', + 'agents.action.archive': 'Архивировать', + 'agents.action.delete': 'Удалить', + 'agents.lifecycle.publish': 'Опубликовать', + 'agents.lifecycle.unpublish': 'Снять с публикации', + 'agents.lifecycle.restore_draft': 'Вернуть в черновик', + 'agents.lifecycle.published': 'Опубликован', + 'agents.lifecycle.archived': 'Архивирован', + 'agents.lifecycle.draft': 'Черновик', + 'agents.drawer.new_title': 'Новый агент', + 'agents.drawer.edit_title': 'Редактировать агента', + 'agents.drawer.new_sub': 'Настройте именованный MCP endpoint для вашей LLM', + 'agents.drawer.new_sub_community': 'Настройте один MCP endpoint и его границу на статических ключах агента для конкретного LLM-сценария', + 'agents.drawer.edit_sub': 'Обновите настройки агента и выбор инструментов', + 'agents.drawer.identity': 'Идентичность', + 'agents.drawer.display_name': 'Отображаемое имя', + 'agents.drawer.slug': 'Slug', + 'agents.drawer.description': 'Описание', + 'agents.drawer.optional': '(необязательно)', + 'agents.drawer.required': 'обязательно', + 'agents.drawer.status': 'Статус', + 'agents.drawer.endpoint': 'MCP endpoint', + 'agents.drawer.slug_hint': 'Сохраняйте slug стабильным после подключения клиентов. Его изменение меняет MCP path.', + 'agents.drawer.placeholder.name': 'Customer Support', + 'agents.drawer.placeholder.slug': 'customer-support', + 'agents.drawer.placeholder.description': 'Что делает этот агент? Для какой LLM или сценария он нужен?', + 'agents.drawer.operations': 'Операции', + 'agents.drawer.selected': 'Выбрано: {count}', + 'agents.drawer.operations_sub': 'Выберите операции, которые открывает этот агент. LLM, подключенная к агенту, увидит только эти инструменты.', + 'agents.drawer.operations_sub_community': 'Выберите операции, которые открывает этот агент. Любые ключи, выпущенные для этого агента, будут работать только против этого MCP endpoint.', + 'agents.drawer.filter_ops': 'Фильтр операций…', + 'agents.drawer.ops_no_match': 'Нет операций по запросу "{query}"', + 'agents.drawer.ops_selected': 'Выбрано операций: {count}', + 'agents.drawer.clear_all': 'Очистить все', + 'agents.drawer.recommendation': 'Сейчас выбрано {count} инструментов. LLM лучше работает, когда у агента меньше 15 инструментов. Подумайте о разбиении по сценариям.', + 'agents.drawer.cancel': 'Отмена', + 'agents.drawer.create': 'Создать агента', + 'agents.drawer.save': 'Сохранить изменения', + 'agents.toast.saved_title_create': 'Агент создан', + 'agents.toast.saved_title_update': 'Агент обновлен', + 'agents.toast.saved_message': '{name} сохранен, привязано инструментов: {count}.', + 'agents.toast.save_error_title': 'Не удалось обновить агента', + 'agents.toast.save_error_message': 'Не удалось сохранить агента', + 'agents.toast.delete_confirm': 'Удалить этого агента? Действие нельзя отменить.', + 'agents.toast.delete_title': 'Агент удален', + 'agents.toast.delete_message': 'Агент {name} удален.', + 'agents.toast.delete_error_title': 'Не удалось удалить', + 'agents.toast.delete_error_message': 'Не удалось удалить агента', + 'agents.toast.lifecycle_title': 'Жизненный цикл агента обновлен', + 'agents.toast.lifecycle_publish': '{name} опубликован.', + 'agents.toast.lifecycle_unpublish': '{name} возвращен в черновик.', + 'agents.toast.lifecycle_archive': '{name} архивирован.', + 'agents.toast.lifecycle_error_title': 'Не удалось обновить жизненный цикл', + 'agents.toast.lifecycle_error_message': 'Не удалось обновить состояние агента', + 'agents.toast.endpoint_title': 'MCP endpoint скопирован', + + // Demo content + 'demo.agent.revops-copilot.display_name': 'Помощник RevOps', + 'demo.agent.revops-copilot.description': 'Ассистент Revenue Operations с CRM- и billing-инструментами.', + 'demo.agent.support-triage.display_name': 'Триаж поддержки', + 'demo.agent.support-triage.description': 'Черновой агент поддержки, сфокусированный на unary gRPC-сценариях.', + 'demo.operation.crm_create_lead.display_name': 'Создать CRM-лид', + 'demo.operation.crm_create_lead.description': 'Создает запись лида в CRM-системе.', + 'demo.operation.billing_get_invoice.display_name': 'Статус инвойса', + 'demo.operation.billing_get_invoice.description': 'Получает состояние и сумму инвойса из billing-системы.', + 'demo.operation.support_lookup_ticket.display_name': 'Найти тикет поддержки', + 'demo.operation.support_lookup_ticket.description': 'Черновой unary gRPC lookup поддержки через descriptor set.', + 'demo.operation.marketing_archive_contact.display_name': 'Архивировать маркетинговый контакт', + 'demo.operation.marketing_archive_contact.description': 'Устаревший архивный сценарий, оставленный только для аудита.', + + // Login + 'login.title': 'Войти', + 'login.subtitle': 'Добро пожаловать обратно', + 'login.email': 'Email', + 'login.password': 'Пароль', + 'login.submit': 'Войти', + 'login.sso': 'Войти через Google', + 'login.email_label': 'Email адрес', + 'login.email_placeholder': 'you@acme.com', + 'login.forgot': 'Забыли пароль?', + 'login.divider': 'или продолжить через', + 'login.sso_short': 'Google SSO', + 'login.request_prefix': 'Нет аккаунта?', + 'login.request_link': 'Запросить доступ', + 'login.planned_badge': 'Запланировано', + 'login.password_only': 'Войдите с помощью email и пароля.', + 'login.coming_soon': 'Сброс пароля и SSO появятся позже.', + 'login.error.required': 'Введите email и пароль.', + 'login.error.invalid': 'Неверный email или пароль. Попробуйте еще раз.', + 'login.error.generic': 'Сейчас не удается войти. Попробуйте еще раз.', + } +}; + +Object.assign(TRANSLATIONS.en, { + + +}); + +Object.assign(TRANSLATIONS.ru, { + + +}); + +function t(key) { + var lang = localStorage.getItem('crank_lang') || 'en'; + var tr = TRANSLATIONS[lang] || TRANSLATIONS.en; + return tr[key] !== undefined ? tr[key] : (TRANSLATIONS.en[key] !== undefined ? TRANSLATIONS.en[key] : key); +} + +function tf(key, vars) { + return Object.keys(vars || {}).reduce(function(result, name) { + return result.replaceAll('{' + name + '}', vars[name]); + }, t(key)); +} + +function pluralForm(lang, count) { + if (typeof Intl !== 'undefined' && typeof Intl.PluralRules === 'function') { + return new Intl.PluralRules(lang).select(Number(count) || 0); + } + return Number(count) === 1 ? 'one' : 'other'; +} + +function tPlural(key, count, vars) { + var lang = localStorage.getItem('crank_lang') || 'en'; + var tr = TRANSLATIONS[lang] || TRANSLATIONS.en; + var form = pluralForm(lang, count); + var fallbackForm = pluralForm('en', count); + var resolvedKey = tr[key + '.' + form] !== undefined + ? key + '.' + form + : tr[key + '.other'] !== undefined + ? key + '.other' + : TRANSLATIONS.en[key + '.' + fallbackForm] !== undefined + ? key + '.' + fallbackForm + : TRANSLATIONS.en[key + '.other'] !== undefined + ? key + '.other' + : key; + var payload = Object.assign({ count: count }, vars || {}); + return Object.keys(payload).reduce(function(result, name) { + return result.replaceAll('{' + name + '}', payload[name]); + }, t(resolvedKey)); +} + +function hasTranslation(key) { + return t(key) !== key; +} + +function localizeDemoAgent(agent) { + if (!agent || !agent.slug) { + return agent; + } + + var displayNameKey = 'demo.agent.' + agent.slug + '.display_name'; + var descriptionKey = 'demo.agent.' + agent.slug + '.description'; + + if (!hasTranslation(displayNameKey) && !hasTranslation(descriptionKey)) { + return agent; + } + + return Object.assign({}, agent, { + display_name: hasTranslation(displayNameKey) ? t(displayNameKey) : agent.display_name, + description: hasTranslation(descriptionKey) ? t(descriptionKey) : agent.description, + }); +} + +function localizeDemoOperation(operation) { + if (!operation || !operation.name) { + return operation; + } + + var displayNameKey = 'demo.operation.' + operation.name + '.display_name'; + var descriptionKey = 'demo.operation.' + operation.name + '.description'; + + if (!hasTranslation(displayNameKey) && !hasTranslation(descriptionKey)) { + return operation; + } + + var next = Object.assign({}, operation); + + if (hasTranslation(displayNameKey)) { + next.display_name = t(displayNameKey); + if (Object.prototype.hasOwnProperty.call(operation, 'operation_display_name')) { + next.operation_display_name = t(displayNameKey); + } + } + + if (hasTranslation(descriptionKey)) { + if (Object.prototype.hasOwnProperty.call(operation, 'description')) { + next.description = t(descriptionKey); + } + if (Object.prototype.hasOwnProperty.call(operation, 'tool_description')) { + next.tool_description = t(descriptionKey); + } + } + + return next; +} + +window.localizeDemoAgent = localizeDemoAgent; +window.localizeDemoOperation = localizeDemoOperation; +window.tPlural = tPlural; + +function applyLang() { + // text content + document.querySelectorAll('[data-i18n]').forEach(function(el) { + el.textContent = t(el.getAttribute('data-i18n')); + }); + // placeholder + document.querySelectorAll('[data-i18n-ph]').forEach(function(el) { + el.placeholder = t(el.getAttribute('data-i18n-ph')); + }); + // title + document.querySelectorAll('[data-i18n-title]').forEach(function(el) { + el.title = t(el.getAttribute('data-i18n-title')); + }); + // aria-label + document.querySelectorAll('[data-i18n-aria-label]').forEach(function(el) { + el.setAttribute('aria-label', t(el.getAttribute('data-i18n-aria-label'))); + }); + // highlight active language button in settings + var lang = localStorage.getItem('crank_lang') || 'en'; + document.querySelectorAll('.lang-btn').forEach(function(btn) { + btn.classList.toggle('active', btn.dataset.lang === lang); + }); +} + +function setLang(lang) { + localStorage.setItem('crank_lang', lang); + applyLang(); + // Notify Alpine components to re-render reactive getters + window.dispatchEvent(new CustomEvent('crank:langchange', { detail: { lang: lang } })); +} + +document.addEventListener('DOMContentLoaded', applyLang); diff --git a/apps/ui/js/login.js b/apps/ui/js/login.js new file mode 100644 index 0000000..d056d93 --- /dev/null +++ b/apps/ui/js/login.js @@ -0,0 +1,54 @@ +(function() { + function tKey(key) { + return window.t ? t(key) : key; + } + + function showError(message) { + var errorElement = document.getElementById('login-error'); + errorElement.classList.add('is-visible'); + errorElement.textContent = message; + } + + function hideError() { + var errorElement = document.getElementById('login-error'); + errorElement.classList.remove('is-visible'); + } + + function initLoginPage() { + window.CrankAuth.guardLoginPage().catch(function(error) { + if (window.CrankDiagnostics && typeof window.CrankDiagnostics.report === 'function') { + window.CrankDiagnostics.report('guard-login-page', error, 'login'); + } + }); + + document.getElementById('login-form').addEventListener('submit', async function(event) { + event.preventDefault(); + + var email = document.getElementById('email').value.trim(); + var password = document.getElementById('password').value; + + if (!email || !password) { + showError(tKey('login.error.required')); + return; + } + + hideError(); + + try { + await window.CrankAuth.login(email, password); + } catch (error) { + if (error && error.status === 401) { + showError(tKey('login.error.invalid')); + return; + } + showError(tKey('login.error.generic')); + } + }); + } + + if (window.CrankDiagnostics && typeof window.CrankDiagnostics.bootstrap === 'function') { + window.CrankDiagnostics.bootstrap('login', initLoginPage); + return; + } + document.addEventListener('DOMContentLoaded', initLoginPage); +}()); diff --git a/apps/ui/js/logs.js b/apps/ui/js/logs.js new file mode 100644 index 0000000..b51f776 --- /dev/null +++ b/apps/ui/js/logs.js @@ -0,0 +1,419 @@ +document.addEventListener('DOMContentLoaded', function () { + var state = { + logs: [], + details: {}, + level: 'all', + search: '', + period: '7d', + openId: null, + liveMode: true, + timer: null, + workspaceId: null, + loading: false, + loadError: '', + }; + + var logList = document.getElementById('log-list'); + var logSearch = document.getElementById('log-search'); + var refreshBtn = document.getElementById('refresh-btn'); + var timeRangeSel = document.getElementById('time-range'); + var liveDot = document.querySelector('.live-dot'); + var liveLabel = document.querySelector('.live-label'); + + function tKey(key) { + return window.t ? t(key) : key; + } + + function currentWorkspaceId() { + var workspace = window.getCurrentWorkspace ? window.getCurrentWorkspace() : null; + return workspace ? workspace.id : null; + } + + function durationLabel(durationMs) { + if (!durationMs) { + return '0ms'; + } + if (durationMs >= 1000) { + return (durationMs / 1000).toFixed(1) + 's'; + } + return durationMs + 'ms'; + } + + function formatJson(value) { + if (value === null || value === undefined) { + return ''; + } + if (typeof value === 'string') { + return value; + } + return JSON.stringify(value, null, 2); + } + + function formatTime(timestamp) { + var date = new Date(timestamp); + return date.toISOString().slice(11, 23); + } + + function element(tag, className, text) { + var node = document.createElement(tag); + if (className) node.className = className; + if (text !== undefined && text !== null) node.textContent = text; + return node; + } + + function statusClass(statusCode) { + if (!statusCode) { + return ''; + } + if (statusCode < 300) { + return 'ok'; + } + if (statusCode < 500) { + return 'warn'; + } + return 'err'; + } + + function normalizeLog(record) { + var log = record.log; + var agent = window.localizeDemoAgent + ? window.localizeDemoAgent({ + slug: record.agent_slug, + display_name: record.agent_display_name, + description: '', + }) + : null; + var operation = window.localizeDemoOperation + ? window.localizeDemoOperation({ + name: record.operation_name, + operation_display_name: record.operation_display_name, + }) + : null; + + return { + id: log.id, + createdAt: log.created_at, + level: log.level, + source: log.source, + status: log.status, + statusCode: log.status_code, + durationMs: log.duration_ms, + toolName: log.tool_name, + message: log.message, + operationName: record.operation_name, + operationDisplayName: operation ? operation.operation_display_name : record.operation_display_name, + agentSlug: record.agent_slug, + agentDisplayName: agent ? agent.display_name : record.agent_display_name, + requestPreview: log.request_preview, + responsePreview: log.response_preview, + errorKind: log.error_kind, + requestId: log.request_id, + }; + } + + function renderEmpty(title, message) { + logList.innerHTML = ''; + var empty = element('div', 'empty-state'); + empty.appendChild(element('div', 'empty-state-title', title)); + empty.appendChild(element('div', 'empty-state-text', message)); + logList.appendChild(empty); + } + + function renderLogs() { + if (state.loading && state.logs.length === 0) { + renderEmpty(tKey('logs.loading.title'), tKey('logs.loading.sub')); + return; + } + + if (state.loadError) { + renderEmpty(tKey('logs.error.title'), state.loadError); + return; + } + + if (!state.logs.length) { + renderEmpty( + tKey('logs.empty.title'), + state.search || state.level !== 'all' + ? tKey('logs.empty.filtered') + : tKey('logs.empty.initial') + ); + return; + } + + var fragment = document.createDocumentFragment(); + + state.logs.forEach(function (item) { + var row = document.createElement('div'); + row.className = 'log-entry'; + row.setAttribute('data-id', item.id); + + var timeEl = document.createElement('span'); + timeEl.className = 'log-time'; + timeEl.textContent = formatTime(item.createdAt); + row.appendChild(timeEl); + + var levelEl = document.createElement('span'); + levelEl.className = 'log-level ' + item.level; + levelEl.textContent = item.level.toUpperCase(); + row.appendChild(levelEl); + + var msgDiv = document.createElement('div'); + msgDiv.className = 'log-msg'; + + var opSpan = document.createElement('span'); + opSpan.className = 'log-op-name'; + opSpan.textContent = item.operationDisplayName || item.operationName; + msgDiv.appendChild(opSpan); + msgDiv.appendChild(document.createTextNode('\u00a0\u00a0')); + + if (item.statusCode) { + var statusEl = document.createElement('span'); + statusEl.className = 'log-status ' + statusClass(item.statusCode); + statusEl.textContent = item.statusCode; + msgDiv.appendChild(statusEl); + msgDiv.appendChild(document.createTextNode(' \u00b7 ')); + } + + msgDiv.appendChild(document.createTextNode(item.message)); + row.appendChild(msgDiv); + + var durationEl = document.createElement('span'); + var durationClass = item.level === 'error' ? ' error' : (item.durationMs >= 1000 ? ' slow' : ''); + durationEl.className = 'log-duration' + durationClass; + durationEl.textContent = durationLabel(item.durationMs); + row.appendChild(durationEl); + + fragment.appendChild(row); + + var expanded = document.createElement('div'); + expanded.className = 'log-entry-expanded' + (item.id === state.openId ? ' open' : ''); + expanded.setAttribute('data-exp', item.id); + + if (item.id === state.openId) { + var detail = state.details[item.id] || item; + + if (detail.agentDisplayName || detail.agentSlug) { + var agentLabel = document.createElement('div'); + agentLabel.className = 'log-detail-label'; + agentLabel.textContent = tKey('logs.detail.agent'); + expanded.appendChild(agentLabel); + + var agentPre = document.createElement('pre'); + agentPre.className = 'log-detail-block'; + agentPre.textContent = detail.agentDisplayName || detail.agentSlug; + expanded.appendChild(agentPre); + } + + var requestLabel = document.createElement('div'); + requestLabel.className = 'log-detail-label'; + requestLabel.textContent = tKey('logs.detail.request'); + expanded.appendChild(requestLabel); + + var requestPre = document.createElement('pre'); + requestPre.className = 'log-detail-block'; + requestPre.textContent = formatJson(detail.requestPreview); + expanded.appendChild(requestPre); + + var responseLabel = document.createElement('div'); + responseLabel.className = 'log-detail-label'; + responseLabel.textContent = tKey('logs.detail.response'); + expanded.appendChild(responseLabel); + + var responsePre = document.createElement('pre'); + responsePre.className = 'log-detail-block'; + responsePre.textContent = formatJson(detail.responsePreview); + expanded.appendChild(responsePre); + + if (detail.errorKind || detail.requestId) { + var metaLabel = document.createElement('div'); + metaLabel.className = 'log-detail-label'; + metaLabel.textContent = tKey('logs.detail.meta'); + expanded.appendChild(metaLabel); + + var metaPre = document.createElement('pre'); + metaPre.className = 'log-detail-block'; + metaPre.textContent = formatJson({ + request_id: detail.requestId || null, + error_kind: detail.errorKind || null, + source: detail.source, + status: detail.status, + }); + expanded.appendChild(metaPre); + } + } + + fragment.appendChild(expanded); + }); + + logList.innerHTML = ''; + logList.appendChild(fragment); + + logList.querySelectorAll('.log-entry').forEach(function (row) { + row.addEventListener('click', async function () { + var id = this.getAttribute('data-id'); + state.openId = state.openId === id ? null : id; + renderLogs(); + if (state.openId) { + await loadLogDetail(id); + } + }); + }); + } + + function queryParams() { + var params = { + period: state.period, + limit: 100, + }; + if (state.level !== 'all') { + params.level = state.level; + } + if (state.search) { + params.search = state.search; + } + return params; + } + + async function loadLogs() { + if (!window.CrankApi) { + state.loadError = tKey('logs.error.api'); + renderLogs(); + return; + } + + state.workspaceId = currentWorkspaceId(); + if (!state.workspaceId) { + state.loadError = tKey('logs.error.workspace'); + renderLogs(); + return; + } + + state.loading = true; + state.loadError = ''; + renderLogs(); + + try { + var response = await window.CrankApi.listLogs(state.workspaceId, queryParams()); + state.logs = (response && response.items ? response.items : []).map(normalizeLog); + if (state.openId && !state.logs.some(function (item) { return item.id === state.openId; })) { + state.openId = null; + } + } catch (error) { + state.loadError = error.message || tKey('logs.error.load'); + } finally { + state.loading = false; + renderLogs(); + } + } + + async function loadLogDetail(logId) { + if (!window.CrankApi || !state.workspaceId || state.details[logId]) { + return; + } + + try { + var record = await window.CrankApi.getLog(state.workspaceId, logId); + state.details[logId] = normalizeLog(record); + if (state.openId === logId) { + renderLogs(); + } + } catch (_error) { + } + } + + function setLiveState() { + if (liveDot) { + liveDot.classList.toggle('is-paused', !state.liveMode); + } + if (liveLabel) { + liveLabel.textContent = state.liveMode ? tKey('logs.live') : tKey('logs.paused'); + liveLabel.classList.toggle('is-paused', !state.liveMode); + } + } + + function stopPolling() { + if (state.timer) { + clearInterval(state.timer); + state.timer = null; + } + } + + function startPolling() { + stopPolling(); + if (!state.liveMode) { + return; + } + state.timer = setInterval(loadLogs, 4000); + } + + function toggleLive() { + state.liveMode = !state.liveMode; + setLiveState(); + startPolling(); + if (window.CrankUi) { + window.CrankUi.info( + state.liveMode ? tKey('logs.live.on.body') : tKey('logs.live.off.body'), + state.liveMode ? tKey('logs.live.on.title') : tKey('logs.live.off.title') + ); + } + } + + document.querySelectorAll('.filter-chip[data-level]').forEach(function (button) { + button.addEventListener('click', function () { + state.level = this.getAttribute('data-level'); + document.querySelectorAll('.filter-chip[data-level]').forEach(function (item) { + item.classList.remove('active'); + }); + this.classList.add('active'); + loadLogs(); + }); + }); + + if (logSearch) { + logSearch.addEventListener('input', function () { + state.search = this.value.trim(); + loadLogs(); + }); + } + + if (refreshBtn) { + refreshBtn.addEventListener('click', function () { + loadLogs().then(function () { + if (!state.loadError && window.CrankUi) { + window.CrankUi.info(tKey('logs.refresh.body'), tKey('logs.refresh.title')); + } + }); + }); + } + + if (timeRangeSel) { + timeRangeSel.value = state.period; + timeRangeSel.addEventListener('change', function () { + state.period = this.value; + loadLogs(); + }); + } + + if (liveDot) { + liveDot.addEventListener('click', toggleLive); + } + + if (liveLabel) { + liveLabel.addEventListener('click', toggleLive); + } + + window.addEventListener('crank:workspacechange', function () { + state.details = {}; + state.openId = null; + loadLogs(); + }); + + setLiveState(); + startPolling(); + + if (window.whenWorkspacesReady) { + window.whenWorkspacesReady().finally(loadLogs); + } else { + loadLogs(); + } +}); diff --git a/apps/ui/js/nav.js b/apps/ui/js/nav.js new file mode 100644 index 0000000..6786834 --- /dev/null +++ b/apps/ui/js/nav.js @@ -0,0 +1,76 @@ +(function () { + function initNav() { + if (window.CrankAuth && typeof window.CrankAuth.renderShellIdentity === 'function') { + window.CrankAuth.renderShellIdentity(); + } + + var dropdown = document.querySelector('.user-dropdown'); + var avatar = document.querySelector('.nav-avatar'); + var hamburger = document.querySelector('.nav-hamburger'); + var mobileNav = document.querySelector('.mobile-nav'); + + if (dropdown) { + dropdown.hidden = true; + } + if (mobileNav) { + mobileNav.hidden = true; + } + + if (avatar && dropdown) { + avatar.addEventListener('click', function (event) { + event.stopPropagation(); + dropdown.hidden = !dropdown.hidden; + }); + } + + if (hamburger && mobileNav) { + hamburger.addEventListener('click', function (event) { + event.stopPropagation(); + mobileNav.hidden = !mobileNav.hidden; + hamburger.classList.toggle('open', !mobileNav.hidden); + }); + } + + document.addEventListener('click', function (event) { + if (dropdown && !event.target.closest('.user-menu')) { + dropdown.hidden = true; + } + if (mobileNav && !event.target.closest('.navbar') && !event.target.closest('.mobile-nav')) { + mobileNav.hidden = true; + if (hamburger) { + hamburger.classList.remove('open'); + } + } + }); + + document.querySelectorAll('[data-action="logout"]').forEach(function (button) { + button.addEventListener('click', function () { + window.CrankAuth.logout(); + }); + }); + + document.querySelectorAll('[data-action="profile"]').forEach(function (button) { + button.addEventListener('click', function () { + if (dropdown) { + dropdown.hidden = true; + } + window.location.href = ((window.CrankRoutes && window.CrankRoutes.settings) || '/settings') + '#profile'; + }); + }); + + document.querySelectorAll('[data-action="settings-link"]').forEach(function (button) { + button.addEventListener('click', function () { + if (dropdown) { + dropdown.hidden = true; + } + window.location.href = (window.CrankRoutes && window.CrankRoutes.settings) || '/settings'; + }); + }); + } + + if (document.readyState === 'loading') { + document.addEventListener('DOMContentLoaded', initNav); + } else { + initNav(); + } +})(); diff --git a/apps/ui/js/overlay-loader.js b/apps/ui/js/overlay-loader.js new file mode 100644 index 0000000..dd08dea --- /dev/null +++ b/apps/ui/js/overlay-loader.js @@ -0,0 +1,75 @@ +(function() { + var manifestPromise = null; + var loadedScripts = Object.create(null); + + function overlayBasePath() { + return (window.APP_BASE || '/') + 'overlay/'; + } + + function fetchManifest() { + return fetch(overlayBasePath() + 'manifest.json', { cache: 'no-store' }) + .then(function(response) { + if (response.status === 404) { + return null; + } + if (!response.ok) { + throw new Error('overlay manifest request failed'); + } + return response.json(); + }) + .catch(function() { + return null; + }); + } + + function loadScript(path) { + if (loadedScripts[path]) { + return loadedScripts[path]; + } + loadedScripts[path] = new Promise(function(resolve, reject) { + var script = document.createElement('script'); + script.src = overlayBasePath() + path.replace(/^\/+/, ''); + script.async = false; + script.onload = function() { resolve(); }; + script.onerror = function() { reject(new Error('overlay script load failed')); }; + document.head.appendChild(script); + }).catch(function() { + return null; + }); + return loadedScripts[path]; + } + + function load() { + if (manifestPromise) { + return manifestPromise; + } + manifestPromise = fetchManifest().then(function(manifest) { + if (!(manifest && manifest.slots && window.CrankUiSlots)) { + return null; + } + var tasks = Object.entries(manifest.slots) + .filter(function(entry) { + return window.CrankUiSlots.isAllowed(entry[0]) && typeof entry[1] === 'string'; + }) + .map(function(entry) { + return loadScript(entry[1]); + }); + return Promise.all(tasks).then(function() { + return manifest; + }); + }); + return manifestPromise; + } + + async function render(root, context) { + await load(); + if (window.CrankUiSlots) { + window.CrankUiSlots.renderAll(root, context); + } + } + + window.CrankOverlay = { + load: load, + render: render, + }; +}()); diff --git a/apps/ui/js/secrets.js b/apps/ui/js/secrets.js new file mode 100644 index 0000000..2fecacf --- /dev/null +++ b/apps/ui/js/secrets.js @@ -0,0 +1,707 @@ +function initSecretsPage() { + var state = { + workspaceId: null, + secrets: [], + profiles: [], + derived: { + activeSecretCount: 0, + secretsById: {}, + usageBySecret: {}, + }, + search: '', + loading: false, + error: '', + modalMode: 'create', + modalSecretId: null, + }; + + var modal = document.getElementById('secret-modal'); + var tbody = document.getElementById('secrets-tbody'); + var cardList = document.getElementById('secrets-card-list'); + var profilesList = document.getElementById('auth-profiles-list'); + var summary = document.getElementById('secrets-summary'); + var profilesSummary = document.getElementById('secret-profiles-summary'); + var searchInput = document.getElementById('secret-search'); + var modalTitle = document.getElementById('secret-modal-title'); + var modalName = document.getElementById('secret-name'); + var modalKind = document.getElementById('secret-kind'); + var modalNote = document.getElementById('secret-modal-note'); + var modalSubmit = document.getElementById('secret-modal-submit-btn'); + var kindHint = document.getElementById('secret-kind-hint'); + var stringLabel = document.getElementById('secret-string-label'); + var stringField = document.getElementById('secret-string-value'); + var usernameField = document.getElementById('secret-username'); + var passwordField = document.getElementById('secret-password'); + var jsonField = document.getElementById('secret-json-value'); + + function tKey(key) { + return typeof t === 'function' ? t(key) : key; + } + + function tfKey(key, vars) { + return typeof tf === 'function' ? tf(key, vars) : tKey(key); + } + + function currentWorkspaceId() { + var workspace = window.getCurrentWorkspace ? window.getCurrentWorkspace() : null; + return workspace ? workspace.id : null; + } + + function currentWorkspace() { + return window.getCurrentWorkspace ? window.getCurrentWorkspace() : null; + } + + function secretKindLabel(kind) { + return tKey('secrets.kind.' + String(kind || '').toLowerCase()); + } + + function authKindLabel(kind) { + return tKey('secrets.auth_kind.' + String(kind || '').toLowerCase()); + } + + function formatDate(value) { + if (!value) return '—'; + return new Date(value).toLocaleDateString(); + } + + function secretIdsForProfile(profile) { + var config = profile && profile.config ? profile.config : {}; + if (config.bearer) return [config.bearer.secret_id]; + if (config.basic) return [config.basic.username_secret_id, config.basic.password_secret_id]; + if (config.api_key_header) return [config.api_key_header.secret_id]; + if (config.api_key_query) return [config.api_key_query.secret_id]; + return []; + } + + function profileSummary(profile, secretsById) { + var config = profile && profile.config ? profile.config : {}; + if (config.bearer) { + return tfKey('secrets.profiles.summary_bearer', { + header: config.bearer.header_name, + secret: secretName(secretsById, config.bearer.secret_id), + }); + } + if (config.basic) { + return tfKey('secrets.profiles.summary_basic', { + username: secretName(secretsById, config.basic.username_secret_id), + password: secretName(secretsById, config.basic.password_secret_id), + }); + } + if (config.api_key_header) { + return tfKey('secrets.profiles.summary_api_key_header', { + header: config.api_key_header.header_name, + secret: secretName(secretsById, config.api_key_header.secret_id), + }); + } + if (config.api_key_query) { + return tfKey('secrets.profiles.summary_api_key_query', { + param: config.api_key_query.param_name, + secret: secretName(secretsById, config.api_key_query.secret_id), + }); + } + return tKey('secrets.profiles.summary_unknown'); + } + + function secretName(secretsById, secretId) { + var secret = secretsById[secretId]; + return secret ? secret.name : secretId; + } + + function buildUsageBySecret() { + var usage = {}; + state.profiles.forEach(function (profile) { + secretIdsForProfile(profile).forEach(function (secretId) { + if (!secretId) return; + if (!usage[secretId]) usage[secretId] = []; + usage[secretId].push(profile); + }); + }); + return usage; + } + + function recomputeDerivedState() { + var secretsById = {}; + var activeSecretCount = 0; + + state.secrets.forEach(function (secret) { + secretsById[secret.id] = secret; + if (secret.status === 'active') { + activeSecretCount += 1; + } + }); + + state.derived = { + activeSecretCount: activeSecretCount, + secretsById: secretsById, + usageBySecret: buildUsageBySecret(), + }; + } + + function resetModalFields() { + modalName.value = ''; + modalKind.value = 'token'; + stringField.value = ''; + usernameField.value = ''; + passwordField.value = ''; + jsonField.value = '{\n "value": ""\n}'; + } + + function openModal(mode, secret) { + state.modalMode = mode; + state.modalSecretId = secret ? secret.id : null; + resetModalFields(); + + if (mode === 'rotate' && secret) { + modalTitle.textContent = tKey('secrets.modal.rotate_title'); + modalName.value = secret.name; + modalName.disabled = true; + modalKind.value = secret.kind; + modalKind.disabled = true; + modalSubmit.textContent = tKey('secrets.modal.rotate_action'); + modalNote.textContent = tKey('secrets.modal.rotate_note'); + } else { + modalTitle.textContent = tKey('secrets.modal.create_title'); + modalName.disabled = false; + modalKind.disabled = false; + modalSubmit.textContent = tKey('secrets.modal.create_action'); + modalNote.textContent = tKey('secrets.modal.create_note'); + } + + updateKindFields(); + modal.classList.add('open'); + if (window.CrankDiagnostics && typeof window.CrankDiagnostics.ensureTestId === 'function') { + window.CrankDiagnostics.ensureTestId(modal, mode === 'rotate' ? 'secret-rotate-modal' : 'secret-create-modal'); + } + setTimeout(function () { + if (mode === 'rotate') { + stringField.focus(); + } else { + modalName.focus(); + } + }, 30); + } + + function closeModal() { + modal.classList.remove('open'); + state.modalMode = 'create'; + state.modalSecretId = null; + } + + function updateKindFields() { + var kind = modalKind.value; + document.querySelectorAll('[data-kind-field="string"]').forEach(function (element) { + element.hidden = !(kind === 'token' || kind === 'header'); + }); + document.querySelectorAll('[data-kind-field="basic"]').forEach(function (element) { + element.hidden = kind !== 'username_password'; + }); + document.querySelectorAll('[data-kind-field="json"]').forEach(function (element) { + element.hidden = kind !== 'generic'; + }); + + if (kind === 'token') { + stringLabel.textContent = tKey('secrets.modal.value'); + } else if (kind === 'header') { + stringLabel.textContent = tKey('secrets.modal.header_value'); + } else { + stringLabel.textContent = tKey('secrets.modal.value'); + } + kindHint.textContent = tKey('secrets.hint.' + kind); + } + + function buildSecretValue() { + var kind = modalKind.value; + if (kind === 'token' || kind === 'header') { + var value = stringField.value.trim(); + if (!value) { + throw new Error(tKey('secrets.validation.value_required')); + } + return value; + } + if (kind === 'username_password') { + var username = usernameField.value.trim(); + var password = passwordField.value; + if (!username || !password) { + throw new Error(tKey('secrets.validation.username_password_required')); + } + return { + username: username, + password: password, + }; + } + try { + return JSON.parse(jsonField.value); + } catch (_error) { + throw new Error(tKey('secrets.validation.json_invalid')); + } + } + + function renderSecrets() { + var usage = state.derived.usageBySecret; + var query = state.search.toLowerCase(); + var rows = state.secrets.filter(function (secret) { + return !query || secret.name.toLowerCase().includes(query) || String(secret.kind || '').toLowerCase().includes(query); + }); + + summary.textContent = tfKey('secrets.active.subtitle', { + active: state.derived.activeSecretCount, + total: state.secrets.length, + }); + + window.CrankDom.clear(tbody); + if (cardList) { + window.CrankDom.clear(cardList); + } + + if (state.loading && state.secrets.length === 0) { + var loadingRow = document.createElement('tr'); + var loadingCell = document.createElement('td'); + loadingCell.colSpan = 7; + loadingCell.style.cssText = 'text-align:center;padding:36px;color:var(--text-muted);'; + loadingCell.textContent = tKey('secrets.loading'); + loadingRow.appendChild(loadingCell); + tbody.appendChild(loadingRow); + renderSecretCards([], tKey('secrets.loading')); + return; + } + + if (state.error) { + var errorRow = document.createElement('tr'); + var errorCell = document.createElement('td'); + errorCell.colSpan = 7; + errorCell.style.cssText = 'text-align:center;padding:36px;color:var(--danger,#f85149);'; + errorCell.textContent = state.error; + errorRow.appendChild(errorCell); + tbody.appendChild(errorRow); + renderSecretCards([], state.error); + return; + } + + if (!rows.length) { + var emptyRow = document.createElement('tr'); + var emptyCell = document.createElement('td'); + emptyCell.colSpan = 7; + emptyCell.style.cssText = 'text-align:center;padding:36px;color:var(--text-muted);'; + emptyCell.textContent = state.secrets.length ? tKey('secrets.empty.search') : tKey('secrets.empty.none'); + emptyRow.appendChild(emptyCell); + tbody.appendChild(emptyRow); + renderSecretCards(rows); + return; + } + + rows.forEach(function (secret) { + var tr = document.createElement('tr'); + var references = usage[secret.id] || []; + + var nameCell = document.createElement('td'); + nameCell.className = 'col-name'; + nameCell.textContent = secret.name; + tr.appendChild(nameCell); + + var kindCell = document.createElement('td'); + kindCell.textContent = secretKindLabel(secret.kind); + tr.appendChild(kindCell); + + var versionCell = document.createElement('td'); + versionCell.className = 'col-mono'; + versionCell.textContent = 'v' + secret.current_version; + tr.appendChild(versionCell); + + var lastUsedCell = document.createElement('td'); + lastUsedCell.textContent = secret.last_used_at ? formatDate(secret.last_used_at) : tKey('secrets.last_used.never'); + tr.appendChild(lastUsedCell); + + var usedByCell = document.createElement('td'); + usedByCell.textContent = window.tPlural('secrets.used_by_count', references.length, { count: references.length }); + tr.appendChild(usedByCell); + + var statusCell = document.createElement('td'); + var badge = document.createElement('span'); + badge.className = 'badge ' + (secret.status === 'disabled' ? 'badge-revoked' : 'badge-active'); + badge.textContent = tKey('secrets.status.' + secret.status); + statusCell.appendChild(badge); + tr.appendChild(statusCell); + + var actions = document.createElement('td'); + actions.className = 'col-actions'; + var rotateButton = document.createElement('button'); + rotateButton.className = 'icon-btn'; + rotateButton.textContent = tKey('secrets.action.rotate'); + rotateButton.setAttribute('data-testid', 'secret-rotate-action'); + rotateButton.setAttribute('data-secret-id', secret.id); + rotateButton.addEventListener('click', function () { + openModal('rotate', secret); + }); + actions.appendChild(rotateButton); + + var deleteButton = document.createElement('button'); + deleteButton.className = 'icon-btn danger'; + deleteButton.textContent = tKey('secrets.action.delete'); + deleteButton.setAttribute('data-testid', 'secret-delete-action'); + deleteButton.setAttribute('data-secret-id', secret.id); + deleteButton.addEventListener('click', async function () { + await deleteSecret(secret); + }); + actions.appendChild(deleteButton); + tr.appendChild(actions); + + tbody.appendChild(tr); + }); + + renderSecretCards(rows); + } + + function renderSecretCards(rows, statusText) { + if (!cardList) { + return; + } + + window.CrankDom.clear(cardList); + + if (statusText && !rows.length) { + var messageCard = document.createElement('div'); + messageCard.className = 'resource-card'; + var message = document.createElement('div'); + message.className = 'resource-meta-value'; + message.textContent = statusText; + message.style.color = state.error ? 'var(--danger,#f85149)' : 'var(--text-muted)'; + messageCard.appendChild(message); + cardList.appendChild(messageCard); + return; + } + + rows.forEach(function(secret) { + var references = state.derived.usageBySecret[secret.id] || []; + var card = document.createElement('div'); + card.className = 'resource-card'; + + var header = document.createElement('div'); + header.className = 'resource-card-header'; + var headerBody = document.createElement('div'); + var title = document.createElement('div'); + title.className = 'resource-card-title'; + title.textContent = secret.name; + var subtitle = document.createElement('div'); + subtitle.className = 'resource-card-subtitle'; + subtitle.textContent = secretKindLabel(secret.kind); + headerBody.appendChild(title); + headerBody.appendChild(subtitle); + + var actions = document.createElement('div'); + actions.className = 'resource-card-actions'; + var badge = document.createElement('span'); + badge.className = 'badge ' + (secret.status === 'disabled' ? 'badge-revoked' : 'badge-active'); + badge.textContent = tKey('secrets.status.' + secret.status); + actions.appendChild(badge); + header.appendChild(headerBody); + header.appendChild(actions); + card.appendChild(header); + + var metaGrid = document.createElement('div'); + metaGrid.className = 'resource-meta-grid'; + metaGrid.appendChild(buildSecretMetaItem('secrets.th.version', 'v' + secret.current_version)); + metaGrid.appendChild(buildSecretMetaItem( + 'secrets.th.last_used', + secret.last_used_at ? formatDate(secret.last_used_at) : tKey('secrets.last_used.never') + )); + metaGrid.appendChild(buildSecretMetaItem( + 'secrets.th.used_by', + window.tPlural('secrets.used_by_count', references.length, { count: references.length }) + )); + card.appendChild(metaGrid); + + var actionRow = document.createElement('div'); + actionRow.className = 'resource-card-actions'; + var rotateButton = document.createElement('button'); + rotateButton.className = 'btn-secondary'; + rotateButton.type = 'button'; + rotateButton.textContent = tKey('secrets.action.rotate'); + rotateButton.addEventListener('click', function() { + openModal('rotate', secret); + }); + actionRow.appendChild(rotateButton); + + var deleteButton = document.createElement('button'); + deleteButton.className = 'btn-secondary'; + deleteButton.type = 'button'; + deleteButton.textContent = tKey('secrets.action.delete'); + deleteButton.addEventListener('click', async function() { + await deleteSecret(secret); + }); + actionRow.appendChild(deleteButton); + card.appendChild(actionRow); + + cardList.appendChild(card); + }); + } + + function buildSecretMetaItem(labelKey, valueText) { + var item = document.createElement('div'); + item.className = 'resource-meta-item'; + var label = document.createElement('div'); + label.className = 'resource-meta-label'; + label.textContent = tKey(labelKey); + var value = document.createElement('div'); + value.className = 'resource-meta-value'; + value.textContent = valueText; + item.appendChild(label); + item.appendChild(value); + return item; + } + + function renderProfiles() { + var usage = state.derived.usageBySecret; + var secretsById = state.derived.secretsById; + + profilesSummary.textContent = window.tPlural( + 'secrets.profiles.subtitle_count', + state.profiles.length, + { count: state.profiles.length } + ); + + window.CrankDom.clear(profilesList); + + if (state.error) { + profilesList.appendChild(window.CrankDom.createEmptyState( + tKey('secrets.profiles.error_title'), + state.error + )); + return; + } + + if (state.loading && state.profiles.length === 0) { + profilesList.appendChild(window.CrankDom.createEmptyState( + tKey('secrets.profiles.loading_title'), + tKey('secrets.profiles.loading_body') + )); + return; + } + + if (!state.profiles.length) { + profilesList.appendChild(window.CrankDom.createEmptyState( + tKey('secrets.profiles.empty_title'), + tKey('secrets.profiles.empty_body') + )); + return; + } + + state.profiles.forEach(function (profile) { + var secretIds = secretIdsForProfile(profile); + var card = document.createElement('div'); + card.className = 'resource-card'; + + var header = document.createElement('div'); + header.className = 'resource-card-header'; + var headerBody = document.createElement('div'); + + var title = document.createElement('div'); + title.className = 'resource-card-title'; + title.textContent = profile.name; + headerBody.appendChild(title); + + var subtitle = document.createElement('div'); + subtitle.className = 'resource-card-subtitle'; + subtitle.textContent = profileSummary(profile, secretsById); + headerBody.appendChild(subtitle); + + var pillRow = document.createElement('div'); + pillRow.className = 'resource-pill-row'; + var statusPill = document.createElement('span'); + statusPill.className = 'resource-status-pill active'; + statusPill.textContent = authKindLabel(profile.kind); + pillRow.appendChild(statusPill); + headerBody.appendChild(pillRow); + header.appendChild(headerBody); + card.appendChild(header); + + var metaGrid = document.createElement('div'); + metaGrid.className = 'resource-meta-grid'; + [ + [tKey('secrets.profiles.meta.created'), formatDate(profile.created_at)], + [tKey('secrets.profiles.meta.updated'), formatDate(profile.updated_at)] + ].forEach(function(entry) { + var item = document.createElement('div'); + item.className = 'resource-meta-item'; + var label = document.createElement('div'); + label.className = 'resource-meta-label'; + label.textContent = entry[0]; + var value = document.createElement('div'); + value.className = 'resource-meta-value'; + value.textContent = entry[1]; + item.appendChild(label); + item.appendChild(value); + metaGrid.appendChild(item); + }); + card.appendChild(metaGrid); + + var detail = document.createElement('div'); + detail.className = 'resource-detail-block'; + var detailTitle = document.createElement('div'); + detailTitle.className = 'resource-detail-title'; + detailTitle.textContent = tKey('secrets.profiles.references'); + detail.appendChild(detailTitle); + + var refList = document.createElement('div'); + refList.className = 'secret-ref-list'; + secretIds.forEach(function(secretId) { + var users = usage[secretId] || []; + var pill = document.createElement('span'); + pill.className = 'secret-ref-pill'; + var strong = document.createElement('strong'); + strong.textContent = secretName(secretsById, secretId); + var count = document.createElement('span'); + count.textContent = tfKey('secrets.profiles.reference_count', { count: users.length }); + pill.appendChild(strong); + pill.appendChild(count); + refList.appendChild(pill); + }); + detail.appendChild(refList); + card.appendChild(detail); + + profilesList.appendChild(card); + }); + } + + async function load() { + state.workspaceId = currentWorkspaceId(); + state.loading = true; + state.error = ''; + renderSecrets(); + renderProfiles(); + + if (!state.workspaceId) { + state.secrets = []; + state.profiles = []; + recomputeDerivedState(); + state.loading = false; + state.error = tKey('secrets.error.workspace'); + renderSecrets(); + renderProfiles(); + return; + } + + try { + var results = await Promise.all([ + window.CrankApi.listSecrets(state.workspaceId), + window.CrankApi.listAuthProfiles(state.workspaceId), + ]); + state.secrets = (results[0] && results[0].items) || []; + state.profiles = (results[1] && results[1].items) || []; + recomputeDerivedState(); + } catch (error) { + state.error = error.message || tKey('secrets.error.load'); + state.secrets = []; + state.profiles = []; + recomputeDerivedState(); + } finally { + state.loading = false; + renderSecrets(); + renderProfiles(); + } + } + + async function deleteSecret(secret) { + if (!confirm(tfKey('secrets.confirm.delete', { name: secret.name }))) { + return; + } + try { + await window.CrankApi.deleteSecret(state.workspaceId, secret.id); + await load(); + if (window.CrankUi) { + window.CrankUi.success( + tfKey('secrets.toast.delete_message', { name: secret.name }), + tKey('secrets.toast.delete_title') + ); + } + } catch (error) { + if (window.CrankUi) { + window.CrankUi.error( + error.message || tKey('secrets.toast.delete_error_message'), + tKey('secrets.toast.delete_error_title') + ); + } + } + } + + async function submitModal() { + var kind = modalKind.value; + var value = buildSecretValue(); + modalSubmit.disabled = true; + modalSubmit.textContent = state.modalMode === 'rotate' + ? tKey('secrets.modal.rotating') + : tKey('secrets.modal.creating'); + + try { + if (state.modalMode === 'rotate') { + await window.CrankApi.rotateSecret(state.workspaceId, state.modalSecretId, { value: value }); + if (window.CrankUi) { + window.CrankUi.success( + tKey('secrets.toast.rotate_message'), + tKey('secrets.toast.rotate_title') + ); + } + } else { + var name = modalName.value.trim(); + if (!name) { + throw new Error(tKey('secrets.validation.name_required')); + } + await window.CrankApi.createSecret(state.workspaceId, { + name: name, + kind: kind, + value: value, + }); + if (window.CrankUi) { + window.CrankUi.success( + tKey('secrets.toast.create_message'), + tKey('secrets.toast.create_title') + ); + } + } + closeModal(); + await load(); + } catch (error) { + if (window.CrankUi) { + window.CrankUi.error( + error.message || tKey(state.modalMode === 'rotate' ? 'secrets.toast.rotate_error_message' : 'secrets.toast.create_error_message'), + tKey(state.modalMode === 'rotate' ? 'secrets.toast.rotate_error_title' : 'secrets.toast.create_error_title') + ); + } + } finally { + modalSubmit.disabled = false; + modalSubmit.textContent = state.modalMode === 'rotate' + ? tKey('secrets.modal.rotate_action') + : tKey('secrets.modal.create_action'); + } + } + + document.getElementById('btn-create-secret').addEventListener('click', function () { + openModal('create'); + }); + document.getElementById('secret-modal-close-btn').addEventListener('click', closeModal); + document.getElementById('secret-modal-cancel-btn').addEventListener('click', closeModal); + modal.addEventListener('click', function (event) { + if (event.target === modal) { + closeModal(); + } + }); + modalKind.addEventListener('change', updateKindFields); + modalSubmit.addEventListener('click', function () { + void submitModal(); + }); + searchInput.addEventListener('input', function (event) { + state.search = event.target.value || ''; + renderSecrets(); + }); + document.addEventListener('workspace:changed', function () { + void load(); + }); + + updateKindFields(); + void load(); +} + +if (window.CrankDiagnostics && typeof window.CrankDiagnostics.bootstrap === 'function') { + window.CrankDiagnostics.bootstrap('secrets', initSecretsPage); +} else { + document.addEventListener('DOMContentLoaded', initSecretsPage); +} diff --git a/apps/ui/js/settings.js b/apps/ui/js/settings.js new file mode 100644 index 0000000..e987e36 --- /dev/null +++ b/apps/ui/js/settings.js @@ -0,0 +1,447 @@ +var settingsSession = null; +var settingsCapabilities = null; +function tKey(key) { + return typeof t === 'function' ? t(key) : key; +} +function tfKey(key, vars) { + return typeof tf === 'function' ? tf(key, vars) : key; +} + +function settingsWorkspaceId() { + var workspace = window.getCurrentWorkspace ? window.getCurrentWorkspace() : null; + return workspace ? workspace.id : null; +} + +function initials(displayName, email) { + var source = displayName || email || 'Crank'; + return source + .split(/\s+/) + .filter(Boolean) + .slice(0, 2) + .map(function(part) { return part.charAt(0).toUpperCase(); }) + .join('') || 'CR'; +} + +function setStatus(id, text, isError) { + var node = document.getElementById(id); + if (!node) return; + node.textContent = text || ''; + node.style.color = text + ? (isError ? 'var(--red)' : 'var(--green)') + : 'var(--text-muted)'; +} + +function titleCaseRole(role) { + var normalized = String(role || 'viewer').toLowerCase(); + if (normalized === 'operator') return tKey('workspace_setup.role.operator'); + if (normalized === 'owner') return tKey('workspace_setup.role.owner'); + if (normalized === 'admin') return tKey('workspace_setup.role.admin'); + if (normalized === 'viewer') return tKey('workspace_setup.role.viewer'); + return normalized.replace(/^\w/, function(character) { + return character.toUpperCase(); + }); +} + +function populateCurrentSession(session) { + var summary = document.getElementById('settings-session-summary'); + if (!summary) { + return; + } + + if (!(session && session.user)) { + summary.textContent = tKey('settings.session.unavailable'); + return; + } + + var membership = null; + if (Array.isArray(session.memberships)) { + membership = session.memberships.find(function(item) { + return item.workspace && item.workspace.id === session.current_workspace_id; + }) || session.memberships[0] || null; + } + + var workspaceLabel = membership && membership.workspace + ? (membership.workspace.display_name || membership.workspace.slug || membership.workspace.id) + : tKey('settings.session.current_workspace'); + var roleLabel = membership ? titleCaseRole(membership.role) : tKey('workspace_setup.role.viewer'); + summary.textContent = tfKey('settings.session.summary', { + email: session.user.email, + role: roleLabel, + workspace: workspaceLabel, + }); +} + +function capabilityLabel(key) { + return tKey('settings.capability.' + key); +} + +function renderWorkspaceProtocolOptions(capabilities, selectedProtocol) { + var select = document.getElementById('settings-ws-protocol'); + if (!select) { + return; + } + + var supportedProtocols = capabilities && Array.isArray(capabilities.supported_protocols) && capabilities.supported_protocols.length + ? capabilities.supported_protocols + : ['rest']; + var fallbackProtocol = supportedProtocols.indexOf('rest') !== -1 ? 'rest' : supportedProtocols[0]; + var effectiveSelection = supportedProtocols.indexOf(selectedProtocol) !== -1 + ? selectedProtocol + : fallbackProtocol; + + select.innerHTML = ''; + supportedProtocols.forEach(function (protocol) { + var option = document.createElement('option'); + option.value = protocol; + option.textContent = capabilityLabel(protocol); + option.selected = protocol === effectiveSelection; + select.appendChild(option); + }); +} + +function populateWorkspaceCapabilityHint(capabilities) { + var body = document.getElementById('settings-ws-protocol-hint'); + if (!body || !capabilities) { + return; + } + + var protocols = (capabilities.supported_protocols || []).map(capabilityLabel).join(', '); + body.textContent = tfKey('settings.ws.protocol_hint_capabilities', { + protocols: protocols || capabilityLabel('none'), + }); +} + +function populateNotificationsCapabilityHint(capabilities) { + var title = document.getElementById('settings-notifications-capability-title'); + var body = document.getElementById('settings-notifications-capability-body'); + if (!title || !body || !capabilities) { + return; + } + + title.textContent = tKey('settings.notifications.capability_title_' + capabilities.edition); + body.textContent = tfKey('settings.notifications.capability_body_' + capabilities.edition, { + edition: capabilities.edition, + }); +} + +function populateCapabilities(capabilities) { + var title = document.getElementById('settings-security-capability-title'); + var body = document.getElementById('settings-security-capability-body'); + if (!title || !body || !capabilities) { + return; + } + + var protocols = (capabilities.supported_protocols || []).map(capabilityLabel).join(', '); + var accessModes = (capabilities.machine_access_modes || []).map(capabilityLabel).join(', '); + var securityLevels = (capabilities.supported_security_levels || []).map(capabilityLabel).join(', '); + var limits = capabilities.limits || {}; + + title.textContent = tKey('settings.security.capability_title_' + capabilities.edition); + body.textContent = tfKey('settings.security.capability_summary', { + protocols: protocols || capabilityLabel('none'), + access_modes: accessModes || capabilityLabel('none'), + security_levels: securityLevels || capabilityLabel('none'), + max_workspaces: limits.max_workspaces == null ? capabilityLabel('unlimited') : String(limits.max_workspaces), + max_users: limits.max_users_per_workspace == null ? capabilityLabel('unlimited') : String(limits.max_users_per_workspace), + max_agents: limits.max_agents_per_workspace == null ? capabilityLabel('unlimited') : String(limits.max_agents_per_workspace), + }); + populateWorkspaceCapabilityHint(capabilities); + populateNotificationsCapabilityHint(capabilities); + renderWorkspaceProtocolOptions(capabilities, document.getElementById('settings-ws-protocol').value || 'rest'); +} + +function populateProfile(session) { + if (!session || !session.user) { + return; + } + + var user = session.user; + document.getElementById('profile-avatar').textContent = initials(user.display_name, user.email); + document.getElementById('profile-display-name').textContent = user.display_name || 'Crank'; + document.getElementById('profile-email').textContent = user.email || ''; + + var firstName = document.getElementById('field-firstname'); + var email = document.getElementById('field-email'); + if (firstName) { + firstName.value = user.display_name || ''; + } + if (email) { + email.value = user.email || ''; + } + + populateCurrentSession(session); +} + +async function loadProfile() { + if (!window.CrankAuth || !window.CrankApi) { + return; + } + + settingsSession = await window.CrankAuth.fetchSession(true); + populateProfile(settingsSession); +} + +async function loadCapabilities() { + if (!window.CrankApi || typeof window.CrankApi.getCapabilities !== 'function') { + return; + } + + try { + settingsCapabilities = await window.CrankApi.getCapabilities(); + populateCapabilities(settingsCapabilities); + } catch (_error) { + } +} + +async function renderOverlaySlots() { + if (!window.CrankOverlay || typeof window.CrankOverlay.render !== 'function') { + return; + } + + await (window.whenWorkspacesReady ? window.whenWorkspacesReady() : Promise.resolve()); + await window.CrankOverlay.render(document, { + workspace: window.getCurrentWorkspace ? window.getCurrentWorkspace() : null, + capabilities: settingsCapabilities, + locale: localStorage.getItem('crank_lang') || 'en', + }); +} + +function bindProfileSave() { + var button = document.getElementById('settings-profile-save-btn'); + if (!button || button.dataset.bound === 'true') { + return; + } + button.dataset.bound = 'true'; + + button.addEventListener('click', async function() { + var original = button.textContent; + button.disabled = true; + button.textContent = tKey('settings.profile.saving'); + setStatus('settings-profile-status', '', false); + + try { + var session = await window.CrankApi.updateProfile({ + display_name: document.getElementById('field-firstname').value.trim(), + email: document.getElementById('field-email').value.trim(), + }); + settingsSession = session; + if (window.CrankAuth && typeof window.CrankAuth.replaceSession === 'function') { + window.CrankAuth.replaceSession(session); + } + populateProfile(session); + setStatus('settings-profile-status', tKey('settings.profile.saved_status'), false); + button.textContent = tKey('settings.profile.saved'); + } catch (error) { + setStatus('settings-profile-status', error.message || tKey('settings.profile.save_error'), true); + button.textContent = original; + } finally { + setTimeout(function() { + button.disabled = false; + button.textContent = original; + }, 1200); + } + }); +} + +function bindPasswordSave() { + var button = document.getElementById('settings-password-save-btn'); + if (!button || button.dataset.bound === 'true') { + return; + } + button.dataset.bound = 'true'; + + button.addEventListener('click', async function() { + var currentPassword = document.getElementById('security-current-password').value; + var newPassword = document.getElementById('security-new-password').value; + var confirmPassword = document.getElementById('security-confirm-password').value; + + if (newPassword !== confirmPassword) { + setStatus('settings-password-status', tKey('settings.security.mismatch'), true); + return; + } + + var original = button.textContent; + button.disabled = true; + button.textContent = tKey('settings.profile.saving'); + setStatus('settings-password-status', '', false); + + try { + await window.CrankApi.changePassword({ + current_password: currentPassword, + new_password: newPassword, + }); + document.getElementById('security-current-password').value = ''; + document.getElementById('security-new-password').value = ''; + document.getElementById('security-confirm-password').value = ''; + setStatus('settings-password-status', tKey('settings.security.saved'), false); + button.textContent = tKey('settings.profile.saved'); + } catch (error) { + setStatus('settings-password-status', error.message || tKey('settings.security.save_error'), true); + button.textContent = original; + } finally { + setTimeout(function() { + button.disabled = false; + button.textContent = original; + }, 1200); + } + }); +} + +function injectLanguageSwitcher() { + var profileSection = document.getElementById('section-profile'); + if (!profileSection) { + return; + } + + var cardBody = profileSection.querySelector('.section-card-body'); + if (!cardBody) { + return; + } + + fetch('html/fragments/lang-switcher.html') + .then(function(response) { return response.text(); }) + .then(function(html) { + var template = document.createElement('template'); + template.innerHTML = html; + var fragment = template.content.cloneNode(true); + var saveRow = cardBody.querySelector('div[style*="justify-content:flex-end"]'); + if (saveRow) { + saveRow.parentNode.insertBefore(fragment, saveRow); + } else { + cardBody.appendChild(fragment); + } + if (typeof applyLang === 'function') { + applyLang(); + } + }); +} + +function bindSectionNavigation() { + var navItems = document.querySelectorAll('.settings-nav-item[data-section]'); + navItems.forEach(function (button) { + button.addEventListener('click', function () { + navItems.forEach(function (item) { item.classList.remove('active'); }); + this.classList.add('active'); + var target = document.getElementById('section-' + this.dataset.section); + if (target) { + target.scrollIntoView({ behavior: 'smooth', block: 'start' }); + } + }); + }); + + var initialSection = window.location.hash ? window.location.hash.slice(1) : 'profile'; + var initialButton = document.querySelector('.settings-nav-item[data-section="' + initialSection + '"]') + || document.querySelector('.settings-nav-item[data-section="profile"]'); + if (initialButton) { + setTimeout(function () { initialButton.click(); }, 50); + } + + var observer = new IntersectionObserver(function (entries) { + entries.forEach(function (entry) { + if (!entry.isIntersecting) { + return; + } + var section = entry.target.id.replace('section-', ''); + document.querySelectorAll('.settings-nav-item[data-section]').forEach(function (button) { + button.classList.toggle('active', button.dataset.section === section); + }); + }); + }, { threshold: 0.3 }); + + document.querySelectorAll('[id^="section-"]').forEach(function (section) { + if (!section.hidden) { + observer.observe(section); + } + }); +} + +async function loadWorkspaceSettings() { + if (!window.CrankApi || !window.whenWorkspacesReady) { + return; + } + + await window.whenWorkspacesReady(); + var workspace = window.getCurrentWorkspace ? window.getCurrentWorkspace() : null; + if (!workspace) { + return; + } + + try { + var record = await window.CrankApi.getWorkspace(workspace.id); + var item = record.workspace; + var settings = item.settings || {}; + + document.getElementById('settings-ws-slug').value = item.slug || ''; + document.getElementById('settings-ws-display-name').value = item.display_name || ''; + document.getElementById('settings-ws-description').value = settings.description || ''; + document.getElementById('settings-ws-timezone').value = settings.timezone || 'UTC'; + renderWorkspaceProtocolOptions(settingsCapabilities, settings.default_protocol || 'rest'); + + document.querySelectorAll('#section-workspace .lang-btn').forEach(function (button) { + button.classList.toggle('active', button.dataset.lang === (settings.language || (localStorage.getItem('crank_lang') || 'en'))); + }); + + var saveButton = document.getElementById('settings-ws-save-btn'); + if (saveButton.dataset.bound === 'true') { + return; + } + saveButton.dataset.bound = 'true'; + + saveButton.addEventListener('click', async function () { + var saveButton = this; + var original = saveButton.textContent; + saveButton.disabled = true; + saveButton.textContent = tKey('settings.workspace.saving'); + + try { + await window.CrankApi.updateWorkspace(item.id, { + slug: document.getElementById('settings-ws-slug').value.trim(), + display_name: document.getElementById('settings-ws-display-name').value.trim(), + settings: { + description: document.getElementById('settings-ws-description').value.trim(), + timezone: document.getElementById('settings-ws-timezone').value, + default_protocol: document.getElementById('settings-ws-protocol').value, + language: localStorage.getItem('crank_lang') || 'en', + color: (workspace.settings && workspace.settings.color) || '#0d9488', + }, + }); + + if (window.refreshWorkspaces) { + var workspaces = await window.refreshWorkspaces(); + var updated = workspaces.find(function (entry) { return entry.id === item.id; }); + if (updated && window.setCurrentWorkspace) { + await window.setCurrentWorkspace(updated); + } + } + + saveButton.textContent = tKey('settings.workspace.saved'); + } catch (error) { + if (window.CrankUi) { + window.CrankUi.error(error.message || tKey('settings.workspace.save_error'), tKey('settings.workspace.save_error_title')); + } + saveButton.textContent = original; + } finally { + setTimeout(function () { + saveButton.disabled = false; + saveButton.textContent = original; + }, 1200); + } + }); + } catch (_error) { + } +} + +async function initSettingsPage() { + injectLanguageSwitcher(); + bindSectionNavigation(); + await loadProfile(); + await loadCapabilities(); + bindProfileSave(); + bindPasswordSave(); + await loadWorkspaceSettings(); + await renderOverlaySlots(); +} + +document.addEventListener('DOMContentLoaded', function () { + void initSettingsPage(); +}); diff --git a/apps/ui/js/slot-registry.js b/apps/ui/js/slot-registry.js new file mode 100644 index 0000000..065edbb --- /dev/null +++ b/apps/ui/js/slot-registry.js @@ -0,0 +1,55 @@ +(function() { + var allowedSlots = { + 'settings.sso_panel': true, + 'settings.totp_panel': true, + 'settings.audit_panel': true, + 'settings.billing_panel': true, + 'wizard.protocol_cards.graphql': true, + 'wizard.protocol_cards.grpc': true, + 'wizard.protocol_cards.soap': true, + 'wizard.protocol_cards.websocket': true, + }; + + var handlers = Object.create(null); + + function noop() {} + + function isAllowed(slotId) { + return !!allowedSlots[slotId]; + } + + function register(slotId, render) { + if (!isAllowed(slotId) || typeof render !== 'function') { + return false; + } + handlers[slotId] = render; + return true; + } + + function renderInto(target, slotId, context) { + if (!(target && slotId && isAllowed(slotId))) { + return; + } + var handler = handlers[slotId] || noop; + handler(target, context || {}); + } + + function renderAll(root, context) { + var scope = root || document; + scope.querySelectorAll('[data-slot]').forEach(function(target) { + renderInto(target, target.getAttribute('data-slot'), context); + }); + } + + function knownSlots() { + return Object.keys(allowedSlots); + } + + window.CrankUiSlots = { + isAllowed: isAllowed, + knownSlots: knownSlots, + register: register, + renderAll: renderAll, + renderInto: renderInto, + }; +}()); diff --git a/apps/ui/js/ui-feedback.js b/apps/ui/js/ui-feedback.js new file mode 100644 index 0000000..c76a9b5 --- /dev/null +++ b/apps/ui/js/ui-feedback.js @@ -0,0 +1,105 @@ +(function() { + var CONTAINER_ID = 'crank-toast-container'; + var nextToastId = 0; + + function ensureContainer() { + var container = document.getElementById(CONTAINER_ID); + if (container) return container; + + container = document.createElement('div'); + container.id = CONTAINER_ID; + container.className = 'toast-stack'; + document.body.appendChild(container); + return container; + } + + function dismiss(toast) { + if (!toast || !toast.parentNode) return; + toast.classList.add('closing'); + window.setTimeout(function() { + if (toast.parentNode) toast.parentNode.removeChild(toast); + }, 180); + } + + function notify(options) { + var config = options || {}; + var duration = config.duration === 0 ? 0 : (config.duration || 3600); + var toast = document.createElement('div'); + var copy = document.createElement('div'); + var close = document.createElement('button'); + var closeIcon = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); + var lineA = document.createElementNS('http://www.w3.org/2000/svg', 'line'); + var lineB = document.createElementNS('http://www.w3.org/2000/svg', 'line'); + + toast.id = 'toast_' + (++nextToastId); + toast.className = 'toast-card toast-' + (config.type || 'info'); + copy.className = 'toast-copy'; + if (config.title) { + var title = document.createElement('div'); + title.className = 'toast-title'; + title.textContent = config.title; + copy.appendChild(title); + } + if (config.message) { + var message = document.createElement('div'); + message.className = 'toast-message'; + message.textContent = config.message; + copy.appendChild(message); + } + + close.className = 'toast-close'; + close.type = 'button'; + close.setAttribute('aria-label', 'Dismiss'); + + closeIcon.setAttribute('width', '12'); + closeIcon.setAttribute('height', '12'); + closeIcon.setAttribute('viewBox', '0 0 12 12'); + closeIcon.setAttribute('fill', 'none'); + closeIcon.setAttribute('stroke', 'currentColor'); + closeIcon.setAttribute('stroke-width', '1.8'); + closeIcon.setAttribute('stroke-linecap', 'round'); + + lineA.setAttribute('x1', '1'); + lineA.setAttribute('y1', '1'); + lineA.setAttribute('x2', '11'); + lineA.setAttribute('y2', '11'); + lineB.setAttribute('x1', '11'); + lineB.setAttribute('y1', '1'); + lineB.setAttribute('x2', '1'); + lineB.setAttribute('y2', '11'); + + closeIcon.appendChild(lineA); + closeIcon.appendChild(lineB); + close.appendChild(closeIcon); + + toast.appendChild(copy); + toast.appendChild(close); + + close.addEventListener('click', function() { + dismiss(toast); + }); + + ensureContainer().appendChild(toast); + + if (duration > 0) { + window.setTimeout(function() { + dismiss(toast); + }, duration); + } + + return toast.id; + } + + window.CrankUi = { + notify: notify, + success: function(message, title) { + return notify({ type: 'success', title: title || 'Done', message: message }); + }, + error: function(message, title) { + return notify({ type: 'error', title: title || 'Request failed', message: message }); + }, + info: function(message, title) { + return notify({ type: 'info', title: title || 'Info', message: message }); + } + }; +}()); diff --git a/apps/ui/js/usage.js b/apps/ui/js/usage.js new file mode 100644 index 0000000..fc91401 --- /dev/null +++ b/apps/ui/js/usage.js @@ -0,0 +1,549 @@ +document.addEventListener('DOMContentLoaded', function () { + var state = { + period: '7d', + workspaceId: null, + usage: null, + derived: { + localizedOperations: [], + normalizedTimeline: [], + timelineMaxValue: 0, + totalCalls: 0, + }, + loading: false, + loadError: '', + }; + + var periodSelect = document.getElementById('period'); + var exportBtn = document.querySelector('.page-header-actions .btn-secondary'); + var chartWrap = document.getElementById('chart-bars'); + var tableBody = document.getElementById('usage-tbody'); + var cardList = document.getElementById('usage-card-list'); + var chartTemplate = document.getElementById('tmpl-chart-bar'); + var rowTemplate = document.getElementById('tmpl-usage-row'); + var subtitle = document.querySelector('.section-card-subtitle'); + var statCards = document.querySelectorAll('.stats-grid .stat-card'); + + function tKey(key) { + return window.t ? t(key) : key; + } + + function tfKey(key, vars) { + return window.tf ? tf(key, vars) : tKey(key); + } + + function currentLocale() { + return localStorage.getItem('crank_lang') === 'ru' ? 'ru-RU' : 'en-US'; + } + + function currentWorkspaceId() { + var workspace = window.getCurrentWorkspace ? window.getCurrentWorkspace() : null; + return workspace ? workspace.id : null; + } + + function element(tag, className, text) { + var node = document.createElement(tag); + if (className) node.className = className; + if (text !== undefined && text !== null) node.textContent = text; + return node; + } + + function formatCount(value) { + return Number(value || 0).toLocaleString(currentLocale()); + } + + function formatMs(value) { + if (!value) { + return '0ms'; + } + if (value >= 1000) { + return (value / 1000).toFixed(1) + 's'; + } + return value + 'ms'; + } + + function periodLabel(period) { + return tKey('usage.period.label.' + period); + } + + function protocolColor(protocol) { + return 'var(--blue)'; + } + + function protocolLabel(protocol) { + return 'REST'; + } + + function localizedUsageOperation(operation) { + if (!window.localizeDemoOperation) { + return operation; + } + + return window.localizeDemoOperation({ + name: operation.operation_name, + operation_display_name: operation.operation_display_name, + description: operation.operation_description || null, + }); + } + + function chartBucketLabel(timestamp, period, index) { + var date = new Date(timestamp); + if (period === '7d') { + return date.toLocaleDateString(currentLocale(), { weekday: 'short' }); + } + if (period === '90d') { + return date.toLocaleDateString(currentLocale(), { month: 'short' }); + } + return tfKey('usage.chart.week', { index: index + 1 }); + } + + function toUtcBucketStart(date, period) { + var bucket = new Date(date.getTime()); + bucket.setUTCMilliseconds(0); + bucket.setUTCSeconds(0); + bucket.setUTCMinutes(0); + bucket.setUTCHours(0); + + if (period === '30d' || period === 'this_month') { + var day = bucket.getUTCDay(); + var offset = day === 0 ? 6 : (day - 1); + bucket.setUTCDate(bucket.getUTCDate() - offset); + return bucket; + } + + if (period === '90d') { + bucket.setUTCDate(1); + return bucket; + } + + return bucket; + } + + function shiftUtcBucket(date, period, amount) { + var shifted = new Date(date.getTime()); + if (period === '30d' || period === 'this_month') { + shifted.setUTCDate(shifted.getUTCDate() + (amount * 7)); + return shifted; + } + if (period === '90d') { + shifted.setUTCMonth(shifted.getUTCMonth() + amount); + return shifted; + } + shifted.setUTCDate(shifted.getUTCDate() + amount); + return shifted; + } + + function bucketKey(date) { + return date.toISOString().slice(0, 19) + 'Z'; + } + + function expectedBucketCount(period, endBucket) { + if (period === '7d') { + return 7; + } + if (period === '30d') { + return 5; + } + if (period === '90d') { + return 4; + } + if (period === 'this_month') { + var firstDay = new Date(Date.UTC(endBucket.getUTCFullYear(), endBucket.getUTCMonth(), 1)); + var firstWeek = toUtcBucketStart(firstDay, period); + var diffMs = endBucket.getTime() - firstWeek.getTime(); + return Math.max(1, Math.floor(diffMs / (7 * 24 * 60 * 60 * 1000)) + 1); + } + return 7; + } + + function normalizeTimeline(timeline, period) { + if (!timeline.length) { + return []; + } + + var byBucket = {}; + timeline.forEach(function(point) { + byBucket[point.bucket_start] = point; + }); + + var latestBucket = timeline.reduce(function(current, point) { + return point.bucket_start > current.bucket_start ? point : current; + }, timeline[0]); + var endBucket = toUtcBucketStart(new Date(latestBucket.bucket_start), period); + var bucketCount = expectedBucketCount(period, endBucket); + var startBucket = shiftUtcBucket(endBucket, period, -(bucketCount - 1)); + var normalized = []; + + for (var index = 0; index < bucketCount; index += 1) { + var bucketDate = shiftUtcBucket(startBucket, period, index); + var key = bucketKey(bucketDate); + normalized.push(byBucket[key] || { + bucket_start: key, + calls_ok: 0, + calls_error: 0, + }); + } + + return normalized; + } + + function recomputeDerivedState() { + var operations = state.usage ? (state.usage.operations || []) : []; + var timeline = state.usage ? normalizeTimeline(state.usage.timeline || [], state.period) : []; + var totalCalls = operations.reduce(function (sum, operation) { + return sum + operation.calls_total; + }, 0); + var timelineMaxValue = timeline.reduce(function (maxValue, point) { + return Math.max(maxValue, point.calls_ok + point.calls_error); + }, 0); + + state.derived = { + localizedOperations: operations.map(function (operation) { + return { + operation: operation, + localized: localizedUsageOperation(operation), + }; + }), + normalizedTimeline: timeline, + timelineMaxValue: timelineMaxValue, + totalCalls: totalCalls, + }; + } + + function buildEmptyState(title, message, compact) { + var empty = element('div', 'empty-state'); + if (compact) { + empty.style.padding = '0'; + } + empty.appendChild(element('div', 'empty-state-title', title)); + empty.appendChild(element('div', 'empty-state-text', message)); + return empty; + } + + function renderEmpty(title, message) { + chartWrap.innerHTML = ''; + var chartEmpty = buildEmptyState(title, message, false); + chartEmpty.style.width = '100%'; + chartWrap.appendChild(chartEmpty); + + tableBody.innerHTML = ''; + var row = document.createElement('tr'); + var cell = document.createElement('td'); + cell.colSpan = 7; + cell.style.padding = '24px'; + cell.appendChild(buildEmptyState(title, message, true)); + row.appendChild(cell); + tableBody.appendChild(row); + } + + function renderStats() { + var summary = state.usage ? state.usage.summary : null; + var cards = [ + { + value: formatCount(summary ? summary.rollup.calls_total : 0), + text: tfKey('usage.stats.across', { period: periodLabel(state.period) }), + }, + { + value: ((summary ? summary.success_rate : 0) || 0).toFixed(1) + '%', + text: tfKey('usage.stats.success_calls', { count: formatCount(summary ? summary.rollup.calls_ok : 0) }), + }, + { + value: formatMs(summary ? summary.rollup.p50_ms : 0), + text: tKey('usage.stats.median'), + }, + { + value: formatMs(summary ? summary.rollup.p99_ms : 0), + text: tfKey('usage.stats.error_calls', { count: formatCount(summary ? summary.rollup.calls_error : 0) }), + } + ]; + + cards.forEach(function (card, index) { + var node = statCards[index]; + if (!node) { + return; + } + node.querySelector('.stat-value').textContent = card.value; + var delta = node.querySelector('.stat-delta'); + delta.className = 'stat-delta'; + delta.textContent = card.text; + }); + } + + function renderChart() { + var timeline = state.derived.normalizedTimeline; + chartWrap.innerHTML = ''; + + if (!timeline.length) { + var chartEmpty = buildEmptyState( + tKey('usage.chart.empty.title'), + tKey('usage.chart.empty.sub'), + false + ); + chartEmpty.style.width = '100%'; + chartWrap.appendChild(chartEmpty); + return; + } + + var maxValue = state.derived.timelineMaxValue; + + timeline.forEach(function (point, index) { + var node = chartTemplate.content.cloneNode(true); + var okHeight = maxValue ? Math.round((point.calls_ok / maxValue) * 160) : 0; + var errorHeight = maxValue ? Math.round((point.calls_error / maxValue) * 160) : 0; + if (point.calls_ok > 0) { + okHeight = Math.max(okHeight, 6); + } + if (point.calls_error > 0) { + errorHeight = Math.max(errorHeight, 6); + } + node.querySelector('.chart-bar.success').style.height = okHeight + 'px'; + node.querySelector('.chart-bar.success').dataset.tip = tfKey('usage.chart.ok', { count: formatCount(point.calls_ok) }); + node.querySelector('.chart-bar.error').style.height = errorHeight + 'px'; + node.querySelector('.chart-bar.error').dataset.tip = tfKey('usage.chart.errors', { count: formatCount(point.calls_error) }); + node.querySelector('.chart-col-label').textContent = chartBucketLabel(point.bucket_start, state.period, index); + chartWrap.appendChild(node); + }); + } + + function renderTable() { + var operations = state.derived.localizedOperations; + tableBody.innerHTML = ''; + if (cardList) { + cardList.innerHTML = ''; + } + + if (!operations.length) { + var row = document.createElement('tr'); + var cell = document.createElement('td'); + cell.colSpan = 7; + cell.style.padding = '24px'; + cell.appendChild( + buildEmptyState( + tKey('usage.table.empty.title'), + tKey('usage.table.empty.sub'), + true + ) + ); + row.appendChild(cell); + tableBody.appendChild(row); + renderOperationCards([]); + return; + } + + operations.forEach(function (entry) { + var operation = entry.operation; + var localizedOperation = entry.localized; + var node = rowTemplate.content.cloneNode(true); + var errorRate = operation.calls_total === 0 + ? 0 + : ((operation.calls_error / operation.calls_total) * 100); + var share = state.derived.totalCalls === 0 + ? 0 + : ((operation.calls_total / state.derived.totalCalls) * 100); + + node.querySelector('.col-name').textContent = localizedOperation.operation_display_name || operation.operation_display_name; + node.querySelector('.col-op-slug').textContent = operation.operation_name; + + var proto = node.querySelector('.col-proto'); + proto.textContent = protocolLabel(operation.protocol); + proto.style.color = protocolColor(operation.protocol); + + node.querySelector('.col-calls').textContent = formatCount(operation.calls_total); + node.querySelector('.col-errors').textContent = formatCount(operation.calls_error); + + var errorRateEl = node.querySelector('.col-err-rate'); + errorRateEl.textContent = errorRate.toFixed(2) + '%'; + errorRateEl.style.color = errorRate > 5 ? 'var(--red)' : (errorRate > 1 ? 'var(--amber)' : 'var(--green)'); + + var latencyText = node.querySelector('.col-latency-text'); + latencyText.textContent = + formatMs(operation.p50_ms) + ' / ' + formatMs(operation.p95_ms) + ' / ' + formatMs(operation.p99_ms); + + var base = Math.max(operation.p99_ms, 1); + node.querySelector('.latency-p50').style.width = Math.max(4, Math.round((operation.p50_ms / base) * 64)) + 'px'; + node.querySelector('.latency-p95').style.width = Math.max(4, Math.round(((operation.p95_ms - operation.p50_ms) / base) * 64)) + 'px'; + node.querySelector('.latency-p99').style.width = Math.max(4, Math.round(((operation.p99_ms - operation.p95_ms) / base) * 64)) + 'px'; + + node.querySelector('.col-quota-label').textContent = tfKey('usage.table.share', { value: share.toFixed(1) }); + node.querySelector('.col-quota-fill').style.width = share.toFixed(1) + '%'; + + tableBody.appendChild(node); + }); + + renderOperationCards(operations); + } + + function renderOperationCards(operations) { + if (!cardList) { + return; + } + + cardList.innerHTML = ''; + + if (!operations.length) { + cardList.appendChild(buildEmptyState( + tKey('usage.table.empty.title'), + tKey('usage.table.empty.sub'), + false + )); + return; + } + + operations.forEach(function(entry) { + var operation = entry.operation; + var localizedOperation = entry.localized; + var errorRate = operation.calls_total === 0 + ? 0 + : ((operation.calls_error / operation.calls_total) * 100); + var share = state.derived.totalCalls === 0 + ? 0 + : ((operation.calls_total / state.derived.totalCalls) * 100); + + var card = element('div', 'resource-card'); + var header = element('div', 'resource-card-header'); + var headerMain = element('div'); + headerMain.appendChild(element( + 'div', + 'resource-card-title', + localizedOperation.operation_display_name || operation.operation_display_name + )); + headerMain.appendChild(element('div', 'resource-card-subtitle', operation.operation_name)); + + var actions = element('div', 'resource-card-actions'); + var protocolBadge = element('span', 'badge'); + protocolBadge.textContent = protocolLabel(operation.protocol); + protocolBadge.style.color = protocolColor(operation.protocol); + actions.appendChild(protocolBadge); + header.appendChild(headerMain); + header.appendChild(actions); + card.appendChild(header); + + var metaGrid = element('div', 'resource-meta-grid'); + metaGrid.appendChild(buildUsageMetaItem('usage.table.th.calls', formatCount(operation.calls_total))); + metaGrid.appendChild(buildUsageMetaItem('usage.table.th.errors', formatCount(operation.calls_error))); + metaGrid.appendChild(buildUsageMetaItem('usage.table.th.error_rate', errorRate.toFixed(2) + '%')); + metaGrid.appendChild(buildUsageMetaItem( + 'usage.table.th.latency', + formatMs(operation.p50_ms) + ' / ' + formatMs(operation.p95_ms) + ' / ' + formatMs(operation.p99_ms) + )); + metaGrid.appendChild(buildUsageMetaItem('usage.table.th.share', tfKey('usage.table.share', { value: share.toFixed(1) }))); + card.appendChild(metaGrid); + + cardList.appendChild(card); + }); + } + + function buildUsageMetaItem(labelKey, valueText) { + var item = element('div', 'resource-meta-item'); + item.appendChild(element('div', 'resource-meta-label', tKey(labelKey))); + item.appendChild(element('div', 'resource-meta-value', valueText)); + return item; + } + + function renderUsage() { + if (state.loading && !state.usage) { + renderEmpty(tKey('usage.loading.title'), tKey('usage.loading.sub')); + return; + } + + if (state.loadError) { + renderEmpty(tKey('usage.error.title'), state.loadError); + return; + } + + renderStats(); + renderChart(); + renderTable(); + if (subtitle) { + subtitle.textContent = tfKey('usage.table.subtitle', { period: periodLabel(state.period) }); + } + } + + async function loadUsage() { + if (!window.CrankApi) { + state.loadError = tKey('usage.error.api'); + renderUsage(); + return; + } + + state.workspaceId = currentWorkspaceId(); + if (!state.workspaceId) { + state.loadError = tKey('usage.error.workspace'); + renderUsage(); + return; + } + + state.loading = true; + state.loadError = ''; + renderUsage(); + + try { + state.usage = await window.CrankApi.getUsageOverview(state.workspaceId, { period: state.period }); + recomputeDerivedState(); + } catch (error) { + state.loadError = error.message || tKey('usage.error.load'); + state.usage = null; + recomputeDerivedState(); + } finally { + state.loading = false; + renderUsage(); + } + } + + function exportCsv() { + if (!state.usage) { + if (window.CrankUi) { + window.CrankUi.info(tKey('usage.export.empty.body'), tKey('usage.export.empty.title')); + } + return; + } + + var rows = [tKey('usage.csv.header')]; + state.usage.operations.forEach(function (operation) { + var localizedOperation = localizedUsageOperation(operation); + var errorRate = operation.calls_total === 0 + ? 0 + : ((operation.calls_error / operation.calls_total) * 100); + rows.push([ + '"' + (localizedOperation.operation_display_name || operation.operation_display_name) + '"', + '"' + protocolLabel(operation.protocol) + '"', + operation.calls_total, + operation.calls_error, + errorRate.toFixed(2), + operation.p50_ms, + operation.p95_ms, + operation.p99_ms, + ].join(',')); + }); + + var blob = new Blob([rows.join('\r\n')], { type: 'text/csv' }); + var url = URL.createObjectURL(blob); + var link = document.createElement('a'); + link.href = url; + link.download = 'crank-usage-' + state.period + '.csv'; + link.click(); + URL.revokeObjectURL(url); + if (window.CrankUi) { + window.CrankUi.success(tKey('usage.export.done.body'), tKey('usage.export.done.title')); + } + } + + if (periodSelect) { + periodSelect.value = state.period; + periodSelect.addEventListener('change', function () { + state.period = this.value; + loadUsage(); + }); + } + + if (exportBtn) { + exportBtn.addEventListener('click', exportCsv); + } + + window.addEventListener('crank:workspacechange', loadUsage); + + if (window.whenWorkspacesReady) { + window.whenWorkspacesReady().finally(loadUsage); + } else { + loadUsage(); + } +}); diff --git a/apps/ui/js/vendor/alpine/cdn.min.js b/apps/ui/js/vendor/alpine/cdn.min.js new file mode 100644 index 0000000..4313936 --- /dev/null +++ b/apps/ui/js/vendor/alpine/cdn.min.js @@ -0,0 +1,5 @@ +(()=>{var ee=!1,re=!1,W=[],ne=-1,ie=!1;function Ve(t){Dn(t)}function Ue(){ie=!0}function Ke(){ie=!1,We()}function Dn(t){W.includes(t)||W.push(t),We()}function qe(t){let e=W.indexOf(t);e!==-1&&e>ne&&W.splice(e,1)}function We(){if(!re&&!ee){if(ie)return;ee=!0,queueMicrotask(kn)}}function kn(){ee=!1,re=!0;for(let t=0;tt.effect(e,{scheduler:r=>{oe?Ve(r):r()}}),se=t.raw}function ae(t){R=t}function Ye(t){let e=()=>{};return[n=>{let i=R(n);return t._x_effects||(t._x_effects=new Set,t._x_runEffects=()=>{t._x_effects.forEach(o=>o())}),t._x_effects.add(i),e=()=>{i!==void 0&&(t._x_effects.delete(i),j(i))},i},()=>{e()}]}function St(t,e){let r=!0,n,i,o=R(()=>{let s=t(),a=JSON.stringify(s);if(!r&&(typeof s=="object"||s!==n)){let c=typeof n=="object"?JSON.parse(i):n;queueMicrotask(()=>{e(s,c)})}n=s,i=a,r=!1});return()=>j(o)}async function Xe(t){Ue();try{await t(),await Promise.resolve()}finally{Ke()}}var Ze=[],Qe=[],tr=[];function er(t){tr.push(t)}function et(t,e){typeof e=="function"?(t._x_cleanups||(t._x_cleanups=[]),t._x_cleanups.push(e)):(e=t,Qe.push(e))}function At(t){Ze.push(t)}function Ot(t,e,r){t._x_attributeCleanups||(t._x_attributeCleanups={}),t._x_attributeCleanups[e]||(t._x_attributeCleanups[e]=[]),t._x_attributeCleanups[e].push(r)}function ce(t,e){t._x_attributeCleanups&&Object.entries(t._x_attributeCleanups).forEach(([r,n])=>{(e===void 0||e.includes(r))&&(n.forEach(i=>i()),delete t._x_attributeCleanups[r])})}function rr(t){for(t._x_effects?.forEach(qe);t._x_cleanups?.length;)t._x_cleanups.pop()()}var ue=new MutationObserver(pe),le=!1;function lt(){ue.observe(document,{subtree:!0,childList:!0,attributes:!0,attributeOldValue:!0}),le=!0}function fe(){In(),ue.disconnect(),le=!1}var ut=[];function In(){let t=ue.takeRecords();ut.push(()=>t.length>0&&pe(t));let e=ut.length;queueMicrotask(()=>{if(ut.length===e)for(;ut.length>0;)ut.shift()()})}function m(t){if(!le)return t();fe();let e=t();return lt(),e}var de=!1,vt=[];function nr(){de=!0}function ir(){de=!1,pe(vt),vt=[]}function pe(t){if(de){vt=vt.concat(t);return}let e=[],r=new Set,n=new Map,i=new Map;for(let o=0;o{s.nodeType===1&&s._x_marker&&r.add(s)}),t[o].addedNodes.forEach(s=>{if(s.nodeType===1){if(r.has(s)){r.delete(s);return}s._x_marker||e.push(s)}})),t[o].type==="attributes")){let s=t[o].target,a=t[o].attributeName,c=t[o].oldValue,u=()=>{n.has(s)||n.set(s,[]),n.get(s).push({name:a,value:s.getAttribute(a)})},l=()=>{i.has(s)||i.set(s,[]),i.get(s).push(a)};s.hasAttribute(a)&&c===null?u():s.hasAttribute(a)?(l(),u()):l()}i.forEach((o,s)=>{ce(s,o)}),n.forEach((o,s)=>{Ze.forEach(a=>a(s,o))});for(let o of r)e.some(s=>s.contains(o))||Qe.forEach(s=>s(o));for(let o of e)o.isConnected&&tr.forEach(s=>s(o));e=null,r=null,n=null,i=null}function Ct(t){return P(F(t))}function N(t,e,r){return t._x_dataStack=[e,...F(r||t)],()=>{t._x_dataStack=t._x_dataStack.filter(n=>n!==e)}}function F(t){return t._x_dataStack?t._x_dataStack:typeof ShadowRoot=="function"&&t instanceof ShadowRoot?F(t.host):t.parentNode?F(t.parentNode):[]}function P(t){return new Proxy({objects:t},$n)}function or(t,e){return t===null||t===Object.prototype?null:Object.prototype.hasOwnProperty.call(t,e)?t:or(Object.getPrototypeOf(t),e)}var $n={ownKeys({objects:t}){return Array.from(new Set(t.flatMap(e=>Object.keys(e))))},has({objects:t},e){return e==Symbol.unscopables?!1:t.some(r=>Object.prototype.hasOwnProperty.call(r,e)||Reflect.has(r,e))},get({objects:t},e,r){return e=="toJSON"?Ln:Reflect.get(t.find(n=>Reflect.has(n,e))||{},e,r)},set({objects:t},e,r,n){let i;for(let s of t)if(i=or(s,e),i)break;i||(i=t[t.length-1]);let o=Object.getOwnPropertyDescriptor(i,e);return o?.set&&o?.get?o.set.call(n,r)||!0:Reflect.set(i,e,r)}};function Ln(){return Reflect.ownKeys(this).reduce((e,r)=>(e[r]=Reflect.get(this,r),e),{})}function rt(t){let e=n=>typeof n=="object"&&!Array.isArray(n)&&n!==null,r=(n,i="")=>{Object.entries(Object.getOwnPropertyDescriptors(n)).forEach(([o,{value:s,enumerable:a}])=>{if(a===!1||s===void 0||typeof s=="object"&&s!==null&&s.__v_skip)return;let c=i===""?o:`${i}.${o}`;typeof s=="object"&&s!==null&&s._x_interceptor?n[o]=s.initialize(t,c,o):e(s)&&s!==n&&!(s instanceof Element)&&r(s,c)})};return r(t)}function Tt(t,e=()=>{}){let r={initialValue:void 0,_x_interceptor:!0,initialize(n,i,o){return t(this.initialValue,()=>jn(n,i),s=>me(n,i,s),i,o)}};return e(r),n=>{if(typeof n=="object"&&n!==null&&n._x_interceptor){let i=r.initialize.bind(r);r.initialize=(o,s,a)=>{let c=n.initialize(o,s,a);return r.initialValue=c,i(o,s,a)}}else r.initialValue=n;return r}}function jn(t,e){return e.split(".").reduce((r,n)=>r[n],t)}function me(t,e,r){if(typeof e=="string"&&(e=e.split(".")),e.length===1)t[e[0]]=r;else{if(e.length===0)throw error;return t[e[0]]||(t[e[0]]={}),me(t[e[0]],e.slice(1),r)}}var sr={};function x(t,e){sr[t]=e}function H(t,e){let r=Fn(e);return Object.entries(sr).forEach(([n,i])=>{Object.defineProperty(t,`$${n}`,{get(){return i(e,r)},enumerable:!1})}),t}function Fn(t){let[e,r]=he(t),n={interceptor:Tt,...e};return et(t,r),n}function ar(t,e,r,...n){try{return r(...n)}catch(i){nt(i,t,e)}}function nt(...t){return cr(...t)}var cr=Bn;function ur(t){cr=t}function Bn(t,e,r=void 0){t=Object.assign(t??{message:"No error message given."},{el:e,expression:r}),console.warn(`Alpine Expression Error: ${t.message} + +${r?'Expression: "'+r+`" + +`:""}`,e),setTimeout(()=>{throw t},0)}var it=!0;function Mt(t){let e=it;it=!1;let r=t();return it=e,r}function T(t,e,r={}){let n;return _(t,e)(i=>n=i,r),n}function _(...t){return lr(...t)}var lr=()=>{};function fr(t){lr=t}var dr;function pr(t){dr=t}function mr(t,e){let r={};H(r,t);let n=[r,...F(t)],i=typeof e=="function"?zn(n,e):Vn(n,e,t);return ar.bind(null,t,e,i)}function zn(t,e){return(r=()=>{},{scope:n={},params:i=[],context:o}={})=>{if(!it){ft(r,e,P([n,...t]),i);return}let s=e.apply(P([n,...t]),i);ft(r,s)}}var _e={};function Hn(t,e){if(_e[t])return _e[t];let r=Object.getPrototypeOf(async function(){}).constructor,n=/^[\n\s]*if.*\(.*\)/.test(t.trim())||/^(let|const)\s/.test(t.trim())?`(async()=>{ ${t} })()`:t,o=(()=>{try{let s=new r(["__self","scope"],`with (scope) { __self.result = ${n} }; __self.finished = true; return __self.result;`);return Object.defineProperty(s,"name",{value:`[Alpine] ${t}`}),s}catch(s){return nt(s,e,t),Promise.resolve()}})();return _e[t]=o,o}function Vn(t,e,r){let n=Hn(e,r);return(i=()=>{},{scope:o={},params:s=[],context:a}={})=>{n.result=void 0,n.finished=!1;let c=P([o,...t]);if(typeof n=="function"){let u=n.call(a,n,c).catch(l=>nt(l,r,e));n.finished?(ft(i,n.result,c,s,r),n.result=void 0):u.then(l=>{ft(i,l,c,s,r)}).catch(l=>nt(l,r,e)).finally(()=>n.result=void 0)}}}function ft(t,e,r,n,i){if(it&&typeof e=="function"){let o=e.apply(r,n);o instanceof Promise?o.then(s=>ft(t,s,r,n)).catch(s=>nt(s,i,e)):t(o)}else typeof e=="object"&&e instanceof Promise?e.then(o=>t(o)):t(e)}function hr(...t){return dr(...t)}function _r(t,e,r={}){let n={};H(n,t);let i=[n,...F(t)],o=P([r.scope??{},...i]),s=r.params??[];if(e.includes("await")){let a=Object.getPrototypeOf(async function(){}).constructor,c=/^[\n\s]*if.*\(.*\)/.test(e.trim())||/^(let|const)\s/.test(e.trim())?`(async()=>{ ${e} })()`:e;return new a(["scope"],`with (scope) { let __result = ${c}; return __result }`).call(r.context,o)}else{let a=/^[\n\s]*if.*\(.*\)/.test(e.trim())||/^(let|const)\s/.test(e.trim())?`(()=>{ ${e} })()`:e,u=new Function(["scope"],`with (scope) { let __result = ${a}; return __result }`).call(r.context,o);return typeof u=="function"&&it?u.apply(o,s):u}}var ye="x-";function O(t=""){return ye+t}function gr(t){ye=t}var Rt={};function p(t,e){return Rt[t]=e,{before(r){if(!Rt[r]){console.warn(String.raw`Cannot find directive \`${r}\`. \`${t}\` will use the default order of execution`);return}let n=G.indexOf(r);G.splice(n>=0?n:G.indexOf("DEFAULT"),0,t)}}}function xr(t){return Object.keys(Rt).includes(t)}function pt(t,e,r){if(e=Array.from(e),t._x_virtualDirectives){let o=Object.entries(t._x_virtualDirectives).map(([a,c])=>({name:a,value:c})),s=be(o);o=o.map(a=>s.find(c=>c.name===a.name)?{name:`x-bind:${a.name}`,value:`"${a.value}"`}:a),e=e.concat(o)}let n={};return e.map(wr((o,s)=>n[o]=s)).filter(Sr).map(Kn(n,r)).sort(qn).map(o=>Un(t,o))}function be(t){return Array.from(t).map(wr()).filter(e=>!Sr(e))}var ge=!1,dt=new Map,yr=Symbol();function br(t){ge=!0;let e=Symbol();yr=e,dt.set(e,[]);let r=()=>{for(;dt.get(e).length;)dt.get(e).shift()();dt.delete(e)},n=()=>{ge=!1,r()};t(r),n()}function he(t){let e=[],r=a=>e.push(a),[n,i]=Ye(t);return e.push(i),[{Alpine:B,effect:n,cleanup:r,evaluateLater:_.bind(_,t),evaluate:T.bind(T,t)},()=>e.forEach(a=>a())]}function Un(t,e){let r=()=>{},n=Rt[e.type]||r,[i,o]=he(t);Ot(t,e.original,o);let s=()=>{t._x_ignore||t._x_ignoreSelf||(n.inline&&n.inline(t,e,i),n=n.bind(n,t,e,i),ge?dt.get(yr).push(n):n())};return s.runCleanups=o,s}var Nt=(t,e)=>({name:r,value:n})=>(r.startsWith(t)&&(r=r.replace(t,e)),{name:r,value:n}),Pt=t=>t;function wr(t=()=>{}){return({name:e,value:r})=>{let{name:n,value:i}=Er.reduce((o,s)=>s(o),{name:e,value:r});return n!==e&&t(n,e),{name:n,value:i}}}var Er=[];function ot(t){Er.push(t)}function Sr({name:t}){return vr().test(t)}var vr=()=>new RegExp(`^${ye}([^:^.]+)\\b`);function Kn(t,e){return({name:r,value:n})=>{r===n&&(n="");let i=r.match(vr()),o=r.match(/:([a-zA-Z0-9\-_:]+)/),s=r.match(/\.[^.\]]+(?=[^\]]*$)/g)||[],a=e||t[r]||r;return{type:i?i[1]:null,value:o?o[1]:null,modifiers:s.map(c=>c.replace(".","")),expression:n,original:a}}}var xe="DEFAULT",G=["ignore","ref","data","id","anchor","bind","init","for","model","modelable","transition","show","if",xe,"teleport"];function qn(t,e){let r=G.indexOf(t.type)===-1?xe:t.type,n=G.indexOf(e.type)===-1?xe:e.type;return G.indexOf(r)-G.indexOf(n)}function J(t,e,r={},n={}){return t.dispatchEvent(new CustomEvent(e,{detail:r,bubbles:!0,composed:!0,cancelable:!0,...n}))}function D(t,e){if(typeof ShadowRoot=="function"&&t instanceof ShadowRoot){Array.from(t.children).forEach(i=>D(i,e));return}let r=!1;if(e(t,()=>r=!0),r)return;let n=t.firstElementChild;for(;n;)D(n,e,!1),n=n.nextElementSibling}function S(t,...e){console.warn(`Alpine Warning: ${t}`,...e)}var Ar=!1;function Or(){Ar&&S("Alpine has already been initialized on this page. Calling Alpine.start() more than once can cause problems."),Ar=!0,document.body||S("Unable to initialize. Trying to load Alpine before `` is available. Did you forget to add `defer` in Alpine's `

EXdd8jo@g`( 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 )Wu}}{$S`ZEx&kDdr|L|=kqM&;)Q}=rYY8S@ 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