@adcp/sdk 8.1.0-beta.13 → 8.1.0-beta.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/bin/adcp-registry.js +2 -2
- package/dist/lib/canonical-references/index.d.ts +107 -0
- package/dist/lib/canonical-references/index.d.ts.map +1 -0
- package/dist/lib/canonical-references/index.js +551 -0
- package/dist/lib/canonical-references/index.js.map +1 -0
- package/dist/lib/core/ConversationTypes.d.ts +7 -0
- package/dist/lib/core/ConversationTypes.d.ts.map +1 -1
- package/dist/lib/core/ProtocolResponseParser.d.ts +10 -0
- package/dist/lib/core/ProtocolResponseParser.d.ts.map +1 -1
- package/dist/lib/core/ProtocolResponseParser.js +110 -0
- package/dist/lib/core/ProtocolResponseParser.js.map +1 -1
- package/dist/lib/core/ResponseValidator.d.ts +2 -0
- package/dist/lib/core/ResponseValidator.d.ts.map +1 -1
- package/dist/lib/core/ResponseValidator.js +3 -3
- package/dist/lib/core/ResponseValidator.js.map +1 -1
- package/dist/lib/core/TaskExecutor.d.ts +2 -0
- package/dist/lib/core/TaskExecutor.d.ts.map +1 -1
- package/dist/lib/core/TaskExecutor.js +32 -8
- package/dist/lib/core/TaskExecutor.js.map +1 -1
- package/dist/lib/index.d.ts +5 -4
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +27 -11
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/mock-server/creative-ad-server/server.d.ts +2 -0
- package/dist/lib/mock-server/creative-ad-server/server.d.ts.map +1 -1
- package/dist/lib/mock-server/creative-ad-server/server.js +37 -1
- package/dist/lib/mock-server/creative-ad-server/server.js.map +1 -1
- package/dist/lib/mock-server/creative-template/server.d.ts +2 -0
- package/dist/lib/mock-server/creative-template/server.d.ts.map +1 -1
- package/dist/lib/mock-server/creative-template/server.js +29 -2
- package/dist/lib/mock-server/creative-template/server.js.map +1 -1
- package/dist/lib/mock-server/index.d.ts +10 -1
- package/dist/lib/mock-server/index.d.ts.map +1 -1
- package/dist/lib/mock-server/index.js +38 -8
- package/dist/lib/mock-server/index.js.map +1 -1
- package/dist/lib/mock-server/sales-guaranteed/server.d.ts +2 -0
- package/dist/lib/mock-server/sales-guaranteed/server.d.ts.map +1 -1
- package/dist/lib/mock-server/sales-guaranteed/server.js +64 -7
- package/dist/lib/mock-server/sales-guaranteed/server.js.map +1 -1
- package/dist/lib/mock-server/sales-non-guaranteed/server.d.ts +2 -0
- package/dist/lib/mock-server/sales-non-guaranteed/server.d.ts.map +1 -1
- package/dist/lib/mock-server/sales-non-guaranteed/server.js +44 -1
- package/dist/lib/mock-server/sales-non-guaranteed/server.js.map +1 -1
- package/dist/lib/mock-server/sales-social/server.d.ts +2 -0
- package/dist/lib/mock-server/sales-social/server.d.ts.map +1 -1
- package/dist/lib/mock-server/sales-social/server.js +64 -4
- package/dist/lib/mock-server/sales-social/server.js.map +1 -1
- package/dist/lib/mock-server/scenario.d.ts +97 -0
- package/dist/lib/mock-server/scenario.d.ts.map +1 -0
- package/dist/lib/mock-server/scenario.js +464 -0
- package/dist/lib/mock-server/scenario.js.map +1 -0
- package/dist/lib/mock-server/signal-marketplace/server.d.ts +2 -0
- package/dist/lib/mock-server/signal-marketplace/server.d.ts.map +1 -1
- package/dist/lib/mock-server/signal-marketplace/server.js +29 -1
- package/dist/lib/mock-server/signal-marketplace/server.js.map +1 -1
- package/dist/lib/mock-server/sponsored-intelligence/server.d.ts +2 -0
- package/dist/lib/mock-server/sponsored-intelligence/server.d.ts.map +1 -1
- package/dist/lib/mock-server/sponsored-intelligence/server.js +47 -9
- package/dist/lib/mock-server/sponsored-intelligence/server.js.map +1 -1
- package/dist/lib/protocols/index.d.ts +4 -2
- package/dist/lib/protocols/index.d.ts.map +1 -1
- package/dist/lib/protocols/index.js +10 -3
- package/dist/lib/protocols/index.js.map +1 -1
- package/dist/lib/registry/index.d.ts +42 -16
- package/dist/lib/registry/index.d.ts.map +1 -1
- package/dist/lib/registry/index.js +191 -24
- package/dist/lib/registry/index.js.map +1 -1
- package/dist/lib/registry/types.d.ts +39 -8
- package/dist/lib/registry/types.d.ts.map +1 -1
- package/dist/lib/registry/types.generated.d.ts +2873 -699
- package/dist/lib/registry/types.generated.d.ts.map +1 -1
- package/dist/lib/registry/types.generated.js +2 -2
- package/dist/lib/registry/types.generated.js.map +1 -1
- package/dist/lib/schemas-data/v2.5/_provenance.json +1 -1
- package/dist/lib/server/a2a-adapter.d.ts +3 -1
- package/dist/lib/server/a2a-adapter.d.ts.map +1 -1
- package/dist/lib/server/a2a-adapter.js +11 -2
- package/dist/lib/server/a2a-adapter.js.map +1 -1
- package/dist/lib/server/adcp-server.js +32 -0
- package/dist/lib/server/adcp-server.js.map +1 -1
- package/dist/lib/server/create-adcp-server.d.ts +12 -6
- package/dist/lib/server/create-adcp-server.d.ts.map +1 -1
- package/dist/lib/server/create-adcp-server.js +72 -11
- package/dist/lib/server/create-adcp-server.js.map +1 -1
- package/dist/lib/server/decisioning/account.d.ts +17 -17
- package/dist/lib/server/decisioning/account.d.ts.map +1 -1
- package/dist/lib/server/decisioning/account.js.map +1 -1
- package/dist/lib/server/decisioning/buyer-agent.d.ts +27 -10
- package/dist/lib/server/decisioning/buyer-agent.d.ts.map +1 -1
- package/dist/lib/server/decisioning/buyer-agent.js +25 -7
- package/dist/lib/server/decisioning/buyer-agent.js.map +1 -1
- package/dist/lib/server/decisioning/capabilities.d.ts +35 -7
- package/dist/lib/server/decisioning/capabilities.d.ts.map +1 -1
- package/dist/lib/server/decisioning/errors-typed.d.ts +18 -16
- package/dist/lib/server/decisioning/errors-typed.d.ts.map +1 -1
- package/dist/lib/server/decisioning/errors-typed.js +26 -24
- package/dist/lib/server/decisioning/errors-typed.js.map +1 -1
- package/dist/lib/server/decisioning/index.d.ts +1 -1
- package/dist/lib/server/decisioning/index.d.ts.map +1 -1
- package/dist/lib/server/decisioning/index.js +4 -2
- package/dist/lib/server/decisioning/index.js.map +1 -1
- package/dist/lib/server/decisioning/platform-helpers.d.ts +3 -2
- package/dist/lib/server/decisioning/platform-helpers.d.ts.map +1 -1
- package/dist/lib/server/decisioning/platform-helpers.js +3 -2
- package/dist/lib/server/decisioning/platform-helpers.js.map +1 -1
- package/dist/lib/server/decisioning/platform.d.ts +27 -10
- package/dist/lib/server/decisioning/platform.d.ts.map +1 -1
- package/dist/lib/server/decisioning/platform.js.map +1 -1
- package/dist/lib/server/decisioning/runtime/from-platform.d.ts +14 -10
- package/dist/lib/server/decisioning/runtime/from-platform.d.ts.map +1 -1
- package/dist/lib/server/decisioning/runtime/from-platform.js +374 -59
- package/dist/lib/server/decisioning/runtime/from-platform.js.map +1 -1
- package/dist/lib/server/decisioning/runtime/validate-platform.d.ts.map +1 -1
- package/dist/lib/server/decisioning/runtime/validate-platform.js +3 -8
- package/dist/lib/server/decisioning/runtime/validate-platform.js.map +1 -1
- package/dist/lib/server/decisioning/specialisms/sponsored-intelligence.d.ts +9 -11
- package/dist/lib/server/decisioning/specialisms/sponsored-intelligence.d.ts.map +1 -1
- package/dist/lib/server/decisioning/specialisms/sponsored-intelligence.js +9 -11
- package/dist/lib/server/decisioning/specialisms/sponsored-intelligence.js.map +1 -1
- package/dist/lib/server/operational-platform.d.ts +6 -8
- package/dist/lib/server/operational-platform.d.ts.map +1 -1
- package/dist/lib/server/operational-platform.js +4 -6
- package/dist/lib/server/operational-platform.js.map +1 -1
- package/dist/lib/server/test-controller-bridge.d.ts +14 -14
- package/dist/lib/server/test-controller-bridge.d.ts.map +1 -1
- package/dist/lib/server/test-controller-bridge.js +16 -16
- package/dist/lib/server/test-controller-bridge.js.map +1 -1
- package/dist/lib/server/test-controller.d.ts +31 -9
- package/dist/lib/server/test-controller.d.ts.map +1 -1
- package/dist/lib/server/test-controller.js +106 -54
- package/dist/lib/server/test-controller.js.map +1 -1
- package/dist/lib/signing/canonicalize.d.ts +0 -53
- package/dist/lib/signing/canonicalize.d.ts.map +1 -1
- package/dist/lib/signing/canonicalize.js +1 -33
- package/dist/lib/signing/canonicalize.js.map +1 -1
- package/dist/lib/signing/client.d.ts +5 -5
- package/dist/lib/signing/client.d.ts.map +1 -1
- package/dist/lib/signing/client.js +1 -10
- package/dist/lib/signing/client.js.map +1 -1
- package/dist/lib/signing/errors.d.ts +0 -11
- package/dist/lib/signing/errors.d.ts.map +1 -1
- package/dist/lib/signing/errors.js +1 -11
- package/dist/lib/signing/errors.js.map +1 -1
- package/dist/lib/signing/jwks-helpers.d.ts +2 -4
- package/dist/lib/signing/jwks-helpers.d.ts.map +1 -1
- package/dist/lib/signing/jwks-helpers.js +9 -0
- package/dist/lib/signing/jwks-helpers.js.map +1 -1
- package/dist/lib/signing/provider.d.ts +11 -10
- package/dist/lib/signing/provider.d.ts.map +1 -1
- package/dist/lib/signing/request-context.d.ts +8 -11
- package/dist/lib/signing/request-context.d.ts.map +1 -1
- package/dist/lib/signing/request-context.js +7 -10
- package/dist/lib/signing/request-context.js.map +1 -1
- package/dist/lib/signing/server.d.ts +3 -4
- package/dist/lib/signing/server.d.ts.map +1 -1
- package/dist/lib/signing/server.js +1 -9
- package/dist/lib/signing/server.js.map +1 -1
- package/dist/lib/signing/signer-async.d.ts +2 -8
- package/dist/lib/signing/signer-async.d.ts.map +1 -1
- package/dist/lib/signing/signer-async.js +0 -12
- package/dist/lib/signing/signer-async.js.map +1 -1
- package/dist/lib/signing/signer.d.ts +4 -111
- package/dist/lib/signing/signer.d.ts.map +1 -1
- package/dist/lib/signing/signer.js +2 -98
- package/dist/lib/signing/signer.js.map +1 -1
- package/dist/lib/signing/testing.d.ts +10 -10
- package/dist/lib/signing/testing.d.ts.map +1 -1
- package/dist/lib/signing/testing.js +6 -13
- package/dist/lib/signing/testing.js.map +1 -1
- package/dist/lib/signing/types.d.ts +0 -36
- package/dist/lib/signing/types.d.ts.map +1 -1
- package/dist/lib/signing/types.js +1 -37
- package/dist/lib/signing/types.js.map +1 -1
- package/dist/lib/testing/agent-tester.d.ts +1 -0
- package/dist/lib/testing/agent-tester.d.ts.map +1 -1
- package/dist/lib/testing/agent-tester.js.map +1 -1
- package/dist/lib/testing/client.d.ts +1 -1
- package/dist/lib/testing/client.d.ts.map +1 -1
- package/dist/lib/testing/client.js +4 -2
- package/dist/lib/testing/client.js.map +1 -1
- package/dist/lib/testing/compliance/comply.d.ts +8 -0
- package/dist/lib/testing/compliance/comply.d.ts.map +1 -1
- package/dist/lib/testing/compliance/comply.js +98 -7
- package/dist/lib/testing/compliance/comply.js.map +1 -1
- package/dist/lib/testing/compliance/spec-conformance.d.ts +6 -6
- package/dist/lib/testing/compliance/spec-conformance.d.ts.map +1 -1
- package/dist/lib/testing/compliance/spec-conformance.js +6 -6
- package/dist/lib/testing/compliance/spec-conformance.js.map +1 -1
- package/dist/lib/testing/compliance/summary.d.ts +5 -0
- package/dist/lib/testing/compliance/summary.d.ts.map +1 -1
- package/dist/lib/testing/compliance/summary.js +17 -0
- package/dist/lib/testing/compliance/summary.js.map +1 -1
- package/dist/lib/testing/comply-controller.d.ts +19 -0
- package/dist/lib/testing/comply-controller.d.ts.map +1 -1
- package/dist/lib/testing/comply-controller.js +11 -8
- package/dist/lib/testing/comply-controller.js.map +1 -1
- package/dist/lib/testing/index.d.ts +4 -3
- package/dist/lib/testing/index.d.ts.map +1 -1
- package/dist/lib/testing/index.js +13 -1
- package/dist/lib/testing/index.js.map +1 -1
- package/dist/lib/testing/storyboard/canonical-format-satisfaction.d.ts +4 -0
- package/dist/lib/testing/storyboard/canonical-format-satisfaction.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/canonical-format-satisfaction.js +881 -0
- package/dist/lib/testing/storyboard/canonical-format-satisfaction.js.map +1 -0
- package/dist/lib/testing/storyboard/compliance.d.ts +6 -0
- package/dist/lib/testing/storyboard/compliance.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/compliance.js +8 -4
- package/dist/lib/testing/storyboard/compliance.js.map +1 -1
- package/dist/lib/testing/storyboard/index.d.ts +2 -1
- package/dist/lib/testing/storyboard/index.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/index.js +9 -1
- package/dist/lib/testing/storyboard/index.js.map +1 -1
- package/dist/lib/testing/storyboard/loader.d.ts +3 -2
- package/dist/lib/testing/storyboard/loader.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/loader.js +73 -2
- package/dist/lib/testing/storyboard/loader.js.map +1 -1
- package/dist/lib/testing/storyboard/path.d.ts +21 -0
- package/dist/lib/testing/storyboard/path.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/path.js +86 -0
- package/dist/lib/testing/storyboard/path.js.map +1 -1
- package/dist/lib/testing/storyboard/rate-limit-trip.d.ts +92 -0
- package/dist/lib/testing/storyboard/rate-limit-trip.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/rate-limit-trip.js +276 -0
- package/dist/lib/testing/storyboard/rate-limit-trip.js.map +1 -0
- package/dist/lib/testing/storyboard/runner.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/runner.js +361 -28
- package/dist/lib/testing/storyboard/runner.js.map +1 -1
- package/dist/lib/testing/storyboard/seeding.d.ts +5 -4
- package/dist/lib/testing/storyboard/seeding.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/seeding.js +23 -3
- package/dist/lib/testing/storyboard/seeding.js.map +1 -1
- package/dist/lib/testing/storyboard/types.d.ts +108 -20
- package/dist/lib/testing/storyboard/types.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/types.js +1 -0
- package/dist/lib/testing/storyboard/types.js.map +1 -1
- package/dist/lib/testing/storyboard/validations.d.ts +18 -0
- package/dist/lib/testing/storyboard/validations.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/validations.js +238 -33
- package/dist/lib/testing/storyboard/validations.js.map +1 -1
- package/dist/lib/testing/test-controller.d.ts +17 -25
- package/dist/lib/testing/test-controller.d.ts.map +1 -1
- package/dist/lib/testing/test-controller.js.map +1 -1
- package/dist/lib/testing/types.d.ts +13 -1
- package/dist/lib/testing/types.d.ts.map +1 -1
- package/dist/lib/types/check-governance.d.ts +1 -1
- package/dist/lib/types/comply-test-controller.d.ts +243 -3
- package/dist/lib/types/core.generated.d.ts +261 -21
- package/dist/lib/types/core.generated.d.ts.map +1 -1
- package/dist/lib/types/core.generated.js +1 -1
- package/dist/lib/types/create-media-buy.d.ts +107 -3
- package/dist/lib/types/error-codes.d.ts +2 -2
- package/dist/lib/types/get-adcp-capabilities.d.ts +1 -1
- package/dist/lib/types/get-media-buys.d.ts +107 -3
- package/dist/lib/types/get-plan-audit-logs.d.ts +1 -1
- package/dist/lib/types/get-products.d.ts +104 -3
- package/dist/lib/types/inline-enums.generated.d.ts +27 -17
- package/dist/lib/types/inline-enums.generated.d.ts.map +1 -1
- package/dist/lib/types/inline-enums.generated.js +39 -28
- package/dist/lib/types/inline-enums.generated.js.map +1 -1
- package/dist/lib/types/manifest.generated.d.ts +7 -4
- package/dist/lib/types/manifest.generated.d.ts.map +1 -1
- package/dist/lib/types/manifest.generated.js +2 -2
- package/dist/lib/types/manifest.generated.js.map +1 -1
- package/dist/lib/types/report-plan-outcome.d.ts +1 -1
- package/dist/lib/types/schemas.generated.d.ts +714 -193
- package/dist/lib/types/schemas.generated.d.ts.map +1 -1
- package/dist/lib/types/schemas.generated.js +194 -79
- package/dist/lib/types/schemas.generated.js.map +1 -1
- package/dist/lib/types/sync-plans.d.ts +1 -1
- package/dist/lib/types/tools.generated.d.ts +331 -28
- package/dist/lib/types/tools.generated.d.ts.map +1 -1
- package/dist/lib/types/update-media-buy.d.ts +107 -3
- package/dist/lib/types/v3-1-beta/tools.generated.d.ts +20 -0
- package/dist/lib/types/v3-1-beta/tools.generated.d.ts.map +1 -1
- package/dist/lib/upstream-recorder/constants.d.ts +2 -0
- package/dist/lib/upstream-recorder/constants.d.ts.map +1 -0
- package/dist/lib/upstream-recorder/constants.js +5 -0
- package/dist/lib/upstream-recorder/constants.js.map +1 -0
- package/dist/lib/upstream-recorder/index.d.ts +20 -10
- package/dist/lib/upstream-recorder/index.d.ts.map +1 -1
- package/dist/lib/upstream-recorder/index.js +21 -10
- package/dist/lib/upstream-recorder/index.js.map +1 -1
- package/dist/lib/upstream-recorder/recorder.d.ts +65 -0
- package/dist/lib/upstream-recorder/recorder.d.ts.map +1 -1
- package/dist/lib/upstream-recorder/recorder.js +500 -47
- package/dist/lib/upstream-recorder/recorder.js.map +1 -1
- package/dist/lib/upstream-recorder/types.d.ts +109 -13
- package/dist/lib/upstream-recorder/types.d.ts.map +1 -1
- package/dist/lib/upstream-recorder/types.js.map +1 -1
- package/dist/lib/utils/adcp-version-config.d.ts +1 -0
- package/dist/lib/utils/adcp-version-config.d.ts.map +1 -1
- package/dist/lib/utils/adcp-version-config.js +21 -0
- package/dist/lib/utils/adcp-version-config.js.map +1 -1
- package/dist/lib/utils/capability-rollups.d.ts +5 -5
- package/dist/lib/utils/capability-rollups.d.ts.map +1 -1
- package/dist/lib/utils/capability-rollups.js +1 -1
- package/dist/lib/utils/capability-rollups.js.map +1 -1
- package/dist/lib/utils/json-depth.d.ts +2 -0
- package/dist/lib/utils/json-depth.d.ts.map +1 -0
- package/dist/lib/utils/json-depth.js +5 -0
- package/dist/lib/utils/json-depth.js.map +1 -0
- package/dist/lib/utils/media-buy-delivery-notification-builders.d.ts +1 -1
- package/dist/lib/utils/media-buy-delivery-notification-builders.d.ts.map +1 -1
- package/dist/lib/utils/preview-creative-builders.d.ts +1 -1
- package/dist/lib/utils/preview-creative-builders.d.ts.map +1 -1
- package/dist/lib/utils/redact-secrets.d.ts +13 -2
- package/dist/lib/utils/redact-secrets.d.ts.map +1 -1
- package/dist/lib/utils/redact-secrets.js +40 -13
- package/dist/lib/utils/redact-secrets.js.map +1 -1
- package/dist/lib/utils/response-schemas.d.ts +1 -0
- package/dist/lib/utils/response-schemas.d.ts.map +1 -1
- package/dist/lib/utils/response-schemas.js +15 -0
- package/dist/lib/utils/response-schemas.js.map +1 -1
- package/dist/lib/utils/response-unwrapper.d.ts +2 -1
- package/dist/lib/utils/response-unwrapper.d.ts.map +1 -1
- package/dist/lib/utils/response-unwrapper.js +11 -3
- package/dist/lib/utils/response-unwrapper.js.map +1 -1
- package/dist/lib/utils/tool-request-schemas.d.ts +31 -1
- package/dist/lib/utils/tool-request-schemas.d.ts.map +1 -1
- package/dist/lib/v2/format-schema/fetch.d.ts +13 -5
- package/dist/lib/v2/format-schema/fetch.d.ts.map +1 -1
- package/dist/lib/v2/format-schema/fetch.js +27 -16
- package/dist/lib/v2/format-schema/fetch.js.map +1 -1
- package/dist/lib/v2/format-schema/index.d.ts +13 -11
- package/dist/lib/v2/format-schema/index.d.ts.map +1 -1
- package/dist/lib/v2/format-schema/index.js +19 -12
- package/dist/lib/v2/format-schema/index.js.map +1 -1
- package/dist/lib/v2/format-schema/resolver.d.ts +71 -0
- package/dist/lib/v2/format-schema/resolver.d.ts.map +1 -0
- package/dist/lib/v2/format-schema/resolver.js +284 -0
- package/dist/lib/v2/format-schema/resolver.js.map +1 -0
- package/dist/lib/v2/format-schema/sandbox-refs.d.ts +6 -0
- package/dist/lib/v2/format-schema/sandbox-refs.d.ts.map +1 -1
- package/dist/lib/v2/format-schema/sandbox-refs.js +36 -15
- package/dist/lib/v2/format-schema/sandbox-refs.js.map +1 -1
- package/dist/lib/validation/schema-loader.d.ts.map +1 -1
- package/dist/lib/validation/schema-loader.js +48 -3
- package/dist/lib/validation/schema-loader.js.map +1 -1
- package/dist/lib/version.d.ts +3 -3
- package/dist/lib/version.js +3 -3
- package/docs/guides/BUILD-AN-AGENT.md +7 -7
- package/docs/guides/CANONICAL-REFERENCE-RESOLVER.md +75 -0
- package/docs/llms.txt +37 -8
- package/examples/README.md +29 -16
- package/examples/hello_creative_adapter_ad_server.ts +8 -2
- package/examples/hello_seller_adapter_guaranteed.ts +26 -18
- package/examples/hello_seller_adapter_multi_tenant.ts +6 -6
- package/examples/hello_seller_adapter_social.ts +80 -4
- package/examples/hello_si_adapter_brand.ts +10 -21
- package/examples/hello_signals_adapter_marketplace.ts +184 -9
- package/examples/proxy-seller-snap/README.md +47 -0
- package/examples/proxy-seller-snap/index.ts +321 -0
- package/package.json +19 -4
- package/skills/build-creative-agent/SKILL.md +1 -15
- package/skills/build-decisioning-platform/SKILL.md +6 -1
- package/skills/build-seller-agent/SKILL.md +5 -2
- package/skills/build-si-agent/SKILL.md +2 -2
- package/skills/call-adcp-agent/SKILL.md +4 -1
- package/dist/lib/signing/response-verifier.d.ts +0 -105
- package/dist/lib/signing/response-verifier.d.ts.map +0 -1
- package/dist/lib/signing/response-verifier.js +0 -271
- package/dist/lib/signing/response-verifier.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-controller.d.ts","sourceRoot":"","sources":["../../../src/lib/server/test-controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6FG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,OAAO,KAAK,EACV,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,sBAAsB,EACtB,eAAe,EACf,4BAA4B,
|
|
1
|
+
{"version":3,"file":"test-controller.d.ts","sourceRoot":"","sources":["../../../src/lib/server/test-controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -137,6 +137,7 @@ exports.SEED_SCENARIOS = {
|
|
|
137
137
|
SEED_PLAN: 'seed_plan',
|
|
138
138
|
SEED_MEDIA_BUY: 'seed_media_buy',
|
|
139
139
|
SEED_CREATIVE_FORMAT: 'seed_creative_format',
|
|
140
|
+
SEED_BUYER_AGENT: 'seed_buyer_agent',
|
|
140
141
|
};
|
|
141
142
|
/**
|
|
142
143
|
* Stable `SeedSuccess.message` strings the SDK's `dispatchSeed` emits.
|
|
@@ -167,15 +168,20 @@ function isFactory(x) {
|
|
|
167
168
|
* ```typescript
|
|
168
169
|
* throw new TestControllerError('NOT_FOUND', `Account ${id} not found`);
|
|
169
170
|
* throw new TestControllerError('INVALID_TRANSITION', 'Cannot pause a completed buy', 'completed');
|
|
171
|
+
* throw new TestControllerError('INTERNAL_ERROR', 'JCS failed', null, {
|
|
172
|
+
* context: { error_kind: 'jcs_non_finite' },
|
|
173
|
+
* });
|
|
170
174
|
* ```
|
|
171
175
|
*/
|
|
172
176
|
class TestControllerError extends Error {
|
|
173
177
|
code;
|
|
174
178
|
currentState;
|
|
175
|
-
|
|
179
|
+
metadata;
|
|
180
|
+
constructor(code, message, currentState, metadata = {}) {
|
|
176
181
|
super(message);
|
|
177
182
|
this.code = code;
|
|
178
183
|
this.currentState = currentState;
|
|
184
|
+
this.metadata = metadata;
|
|
179
185
|
this.name = 'TestControllerError';
|
|
180
186
|
}
|
|
181
187
|
}
|
|
@@ -233,13 +239,6 @@ function enforceMapCap(map, key, label, cap = exports.SESSION_ENTRY_CAP) {
|
|
|
233
239
|
// ────────────────────────────────────────────────────────────
|
|
234
240
|
// Request handler
|
|
235
241
|
// ────────────────────────────────────────────────────────────
|
|
236
|
-
/**
|
|
237
|
-
* Extension scenarios accepted by the dispatcher but not yet members of
|
|
238
|
-
* `CONTROLLER_SCENARIOS` because the schema cache predates the spec PR
|
|
239
|
-
* that introduced them. Auto-advertised when the matching store method
|
|
240
|
-
* is present. Promoted to first-class constants once a release ships the
|
|
241
|
-
* schema. (Empty at 3.1.0-beta.2 — `query_upstream_traffic` was promoted.)
|
|
242
|
-
*/
|
|
243
242
|
/**
|
|
244
243
|
* Force-transition extension scenarios for resource families whose status
|
|
245
244
|
* enum exists in the spec but isn't yet a member of
|
|
@@ -263,22 +262,13 @@ const SCENARIO_MAP = [
|
|
|
263
262
|
['queryUpstreamTraffic', exports.CONTROLLER_SCENARIOS.QUERY_UPSTREAM_TRAFFIC],
|
|
264
263
|
['forceUpstreamUnavailable', exports.CONTROLLER_SCENARIOS.FORCE_UPSTREAM_UNAVAILABLE],
|
|
265
264
|
];
|
|
266
|
-
/**
|
|
267
|
-
* Canonical scenarios from the generated `ListScenariosSuccess` enum. Used
|
|
268
|
-
* for the typed `compliance_testing.scenarios` capability block, which the
|
|
269
|
-
* generated Zod validator constrains to the enum's literal union — an
|
|
270
|
-
* extension scenario like `query_upstream_traffic` (not yet in the schema
|
|
271
|
-
* cache) gets rejected by `get_adcp_capabilities` response validation when
|
|
272
|
-
* its enum hasn't picked up the spec PR yet.
|
|
273
|
-
*/
|
|
274
265
|
function scenariosFromStore(store) {
|
|
275
266
|
return SCENARIO_MAP.filter(([method]) => typeof store[method] === 'function').map(([, scenario]) => scenario);
|
|
276
267
|
}
|
|
277
268
|
/**
|
|
278
|
-
* All scenarios —
|
|
279
|
-
*
|
|
280
|
-
* open
|
|
281
|
-
* accepts unknown strings per the spec).
|
|
269
|
+
* All scenarios — first-class controller scenarios plus temporary extension
|
|
270
|
+
* scenarios accepted by the dispatcher. Used for `list_scenarios`, which is
|
|
271
|
+
* open for extension per the comply controller contract.
|
|
282
272
|
*/
|
|
283
273
|
function allScenariosFromStore(store) {
|
|
284
274
|
const out = scenariosFromStore(store);
|
|
@@ -288,7 +278,7 @@ function allScenariosFromStore(store) {
|
|
|
288
278
|
out.push(FORCE_CATALOG_ITEM_STATUS_SCENARIO);
|
|
289
279
|
return out;
|
|
290
280
|
}
|
|
291
|
-
function controllerError(code, detail, currentState) {
|
|
281
|
+
function controllerError(code, detail, currentState, metadata = {}) {
|
|
292
282
|
// AdCP 3.1.0-beta.2+: envelope `status` is REQUIRED on every response,
|
|
293
283
|
// including the error arms of a discriminated controller response.
|
|
294
284
|
return {
|
|
@@ -297,6 +287,8 @@ function controllerError(code, detail, currentState) {
|
|
|
297
287
|
error: code,
|
|
298
288
|
error_detail: detail,
|
|
299
289
|
...(currentState !== undefined && { current_state: currentState }),
|
|
290
|
+
...(metadata.context !== undefined && { context: metadata.context }),
|
|
291
|
+
...(metadata.ext !== undefined && { ext: metadata.ext }),
|
|
300
292
|
};
|
|
301
293
|
}
|
|
302
294
|
/**
|
|
@@ -357,12 +349,23 @@ function fixturesEquivalent(a, b) {
|
|
|
357
349
|
return false;
|
|
358
350
|
}
|
|
359
351
|
}
|
|
352
|
+
const BUYER_AGENT_ORDER_INSENSITIVE_FIELDS = new Set(['billing_capabilities', 'aliases', 'allowed_brands']);
|
|
353
|
+
function normalizeBuyerAgentSeedFixture(fixture) {
|
|
354
|
+
const normalized = { ...fixture };
|
|
355
|
+
for (const key of BUYER_AGENT_ORDER_INSENSITIVE_FIELDS) {
|
|
356
|
+
const value = normalized[key];
|
|
357
|
+
if (Array.isArray(value)) {
|
|
358
|
+
normalized[key] = [...value].sort((a, b) => canonicalJson(a).localeCompare(canonicalJson(b)));
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
return normalized;
|
|
362
|
+
}
|
|
360
363
|
/** Dispatch a seed scenario through the correct adapter method, honoring the
|
|
361
364
|
* spec idempotency rules when a {@link SeedFixtureCache} is provided. */
|
|
362
365
|
/**
|
|
363
366
|
* Build the seed-cache key for a scenario. When `scope` is present (the
|
|
364
|
-
* request's
|
|
365
|
-
* on one server can each seed the same
|
|
367
|
+
* request's account / session scope), it's prefixed so two sandbox accounts
|
|
368
|
+
* or sessions on one server can each seed the same fixture id with divergent
|
|
366
369
|
* fixtures without colliding in the process-wide `SeedFixtureCache`.
|
|
367
370
|
*
|
|
368
371
|
* Without scope (legacy callers, or requests with no `account` envelope),
|
|
@@ -374,6 +377,33 @@ function fixturesEquivalent(a, b) {
|
|
|
374
377
|
function makeSeedCacheKey(unscopedKey, scope) {
|
|
375
378
|
return scope != null && scope.length > 0 ? `${scope}:${unscopedKey}` : unscopedKey;
|
|
376
379
|
}
|
|
380
|
+
function makeSeedCacheScope(input) {
|
|
381
|
+
const parts = [];
|
|
382
|
+
const context = input.context;
|
|
383
|
+
if (context != null && typeof context === 'object') {
|
|
384
|
+
const sessionId = context.session_id;
|
|
385
|
+
if (typeof sessionId === 'string' && sessionId.length > 0)
|
|
386
|
+
parts.push(`session:${sessionId}`);
|
|
387
|
+
}
|
|
388
|
+
const account = input.account ??
|
|
389
|
+
(context != null && typeof context === 'object' ? context.account : undefined);
|
|
390
|
+
if (account != null && typeof account === 'object') {
|
|
391
|
+
const accountRef = account;
|
|
392
|
+
if (typeof accountRef.account_id === 'string' && accountRef.account_id.length > 0) {
|
|
393
|
+
parts.push(`account_id:${accountRef.account_id}`);
|
|
394
|
+
}
|
|
395
|
+
else if (accountRef.brand !== undefined ||
|
|
396
|
+
accountRef.operator !== undefined ||
|
|
397
|
+
accountRef.sandbox !== undefined) {
|
|
398
|
+
parts.push(`account_ref:${canonicalJson({
|
|
399
|
+
...(accountRef.brand !== undefined && { brand: accountRef.brand }),
|
|
400
|
+
...(accountRef.operator !== undefined && { operator: accountRef.operator }),
|
|
401
|
+
...(accountRef.sandbox !== undefined && { sandbox: accountRef.sandbox }),
|
|
402
|
+
})}`);
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
return parts.length > 0 ? parts.join('|') : undefined;
|
|
406
|
+
}
|
|
377
407
|
async function dispatchSeed(store, scenario, params, cache, scope) {
|
|
378
408
|
// Validate fixture is a plain object (not null, array, or primitive) before
|
|
379
409
|
// casting — the adapter signature promises Record<string, unknown>.
|
|
@@ -404,6 +434,7 @@ async function dispatchSeed(store, scenario, params, cache, scope) {
|
|
|
404
434
|
const productId = params.product_id;
|
|
405
435
|
dispatch = {
|
|
406
436
|
key: makeSeedCacheKey(`seed_product:${productId}`, scope),
|
|
437
|
+
fixture,
|
|
407
438
|
invoke: () => store.seedProduct(productId, fixture),
|
|
408
439
|
};
|
|
409
440
|
break;
|
|
@@ -419,6 +450,7 @@ async function dispatchSeed(store, scenario, params, cache, scope) {
|
|
|
419
450
|
const pricingOptionId = params.pricing_option_id;
|
|
420
451
|
dispatch = {
|
|
421
452
|
key: makeSeedCacheKey(`seed_pricing_option:${productId}:${pricingOptionId}`, scope),
|
|
453
|
+
fixture,
|
|
422
454
|
invoke: () => store.seedPricingOption(productId, pricingOptionId, fixture),
|
|
423
455
|
};
|
|
424
456
|
break;
|
|
@@ -433,6 +465,7 @@ async function dispatchSeed(store, scenario, params, cache, scope) {
|
|
|
433
465
|
const creativeId = params.creative_id;
|
|
434
466
|
dispatch = {
|
|
435
467
|
key: makeSeedCacheKey(`seed_creative:${creativeId}`, scope),
|
|
468
|
+
fixture,
|
|
436
469
|
invoke: () => store.seedCreative(creativeId, fixture),
|
|
437
470
|
};
|
|
438
471
|
break;
|
|
@@ -447,6 +480,7 @@ async function dispatchSeed(store, scenario, params, cache, scope) {
|
|
|
447
480
|
const planId = params.plan_id;
|
|
448
481
|
dispatch = {
|
|
449
482
|
key: makeSeedCacheKey(`seed_plan:${planId}`, scope),
|
|
483
|
+
fixture,
|
|
450
484
|
invoke: () => store.seedPlan(planId, fixture),
|
|
451
485
|
};
|
|
452
486
|
break;
|
|
@@ -461,6 +495,7 @@ async function dispatchSeed(store, scenario, params, cache, scope) {
|
|
|
461
495
|
const mediaBuyId = params.media_buy_id;
|
|
462
496
|
dispatch = {
|
|
463
497
|
key: makeSeedCacheKey(`seed_media_buy:${mediaBuyId}`, scope),
|
|
498
|
+
fixture,
|
|
464
499
|
invoke: () => store.seedMediaBuy(mediaBuyId, fixture),
|
|
465
500
|
};
|
|
466
501
|
break;
|
|
@@ -475,10 +510,41 @@ async function dispatchSeed(store, scenario, params, cache, scope) {
|
|
|
475
510
|
const formatId = params.format_id;
|
|
476
511
|
dispatch = {
|
|
477
512
|
key: makeSeedCacheKey(`seed_creative_format:${formatId}`, scope),
|
|
513
|
+
fixture,
|
|
478
514
|
invoke: () => store.seedCreativeFormat(formatId, fixture),
|
|
479
515
|
};
|
|
480
516
|
break;
|
|
481
517
|
}
|
|
518
|
+
case exports.SEED_SCENARIOS.SEED_BUYER_AGENT: {
|
|
519
|
+
if (!params?.agent_url) {
|
|
520
|
+
missingParam = 'seed_buyer_agent requires params.agent_url';
|
|
521
|
+
break;
|
|
522
|
+
}
|
|
523
|
+
if (!store.seedBuyerAgent)
|
|
524
|
+
return controllerError('UNKNOWN_SCENARIO', `Scenario not supported: ${scenario}`);
|
|
525
|
+
const agentUrl = params.agent_url;
|
|
526
|
+
const { agent_url: _agentUrl, fixture: _fixture, ...directFields } = params;
|
|
527
|
+
void _agentUrl;
|
|
528
|
+
void _fixture;
|
|
529
|
+
if (rawFixture !== undefined && Object.keys(directFields).length > 0) {
|
|
530
|
+
return controllerError('INVALID_PARAMS', 'seed_buyer_agent accepts either direct params fields or params.fixture, not both');
|
|
531
|
+
}
|
|
532
|
+
const buyerAgentFixture = normalizeBuyerAgentSeedFixture(rawFixture !== undefined ? fixture : directFields);
|
|
533
|
+
if (Object.prototype.hasOwnProperty.call(buyerAgentFixture, 'agent_url')) {
|
|
534
|
+
return controllerError('INVALID_PARAMS', 'seed_buyer_agent does not accept agent_url inside params.fixture; use top-level params.agent_url');
|
|
535
|
+
}
|
|
536
|
+
for (const key of Object.keys(buyerAgentFixture)) {
|
|
537
|
+
if (key === '__proto__' || key === 'constructor' || key === 'prototype') {
|
|
538
|
+
return controllerError('INVALID_PARAMS', `${scenario} fixture key ${JSON.stringify(key)} is reserved and rejected to prevent prototype pollution`);
|
|
539
|
+
}
|
|
540
|
+
}
|
|
541
|
+
dispatch = {
|
|
542
|
+
key: makeSeedCacheKey(`seed_buyer_agent:${agentUrl}`, scope),
|
|
543
|
+
fixture: buyerAgentFixture,
|
|
544
|
+
invoke: () => store.seedBuyerAgent(agentUrl, buyerAgentFixture),
|
|
545
|
+
};
|
|
546
|
+
break;
|
|
547
|
+
}
|
|
482
548
|
}
|
|
483
549
|
if (missingParam)
|
|
484
550
|
return controllerError('INVALID_PARAMS', missingParam);
|
|
@@ -489,7 +555,7 @@ async function dispatchSeed(store, scenario, params, cache, scope) {
|
|
|
489
555
|
// a missing prior entry is treated as a fresh seed rather than a crash.
|
|
490
556
|
const prior = cache?.has(dispatch.key) ? cache.get(dispatch.key) : undefined;
|
|
491
557
|
if (prior !== undefined) {
|
|
492
|
-
if (!fixturesEquivalent(prior, fixture)) {
|
|
558
|
+
if (!fixturesEquivalent(prior, dispatch.fixture)) {
|
|
493
559
|
return controllerError('INVALID_PARAMS', `Fixture for ${sanitizeLabel(dispatch.key)} diverges from the previously seeded fixture. ` +
|
|
494
560
|
'Seed replays must carry an equivalent fixture or choose a new id.');
|
|
495
561
|
}
|
|
@@ -501,7 +567,7 @@ async function dispatchSeed(store, scenario, params, cache, scope) {
|
|
|
501
567
|
return wrapStoreSuccess({ success: true, message: exports.SEED_MESSAGES.replay });
|
|
502
568
|
}
|
|
503
569
|
await dispatch.invoke();
|
|
504
|
-
cache?.set(dispatch.key, fixture);
|
|
570
|
+
cache?.set(dispatch.key, dispatch.fixture);
|
|
505
571
|
return wrapStoreSuccess({ success: true, message: exports.SEED_MESSAGES.fresh });
|
|
506
572
|
}
|
|
507
573
|
async function handleTestControllerRequestImpl(storeOrFactory, input, options) {
|
|
@@ -514,11 +580,6 @@ async function handleTestControllerRequestImpl(storeOrFactory, input, options) {
|
|
|
514
580
|
// sessionless probes.
|
|
515
581
|
if (scenario === 'list_scenarios') {
|
|
516
582
|
const scenarios = isFactory(storeOrFactory) ? [...storeOrFactory.scenarios] : allScenariosFromStore(storeOrFactory);
|
|
517
|
-
// Cast: the generated union doesn't yet include extension scenarios
|
|
518
|
-
// (e.g. `query_upstream_traffic` from spec PR adcp#3816, schema not
|
|
519
|
-
// released yet). The wire shape says `scenarios` is open-for-extension
|
|
520
|
-
// — runners and sellers MUST accept unknown strings — so the runtime
|
|
521
|
-
// shape is correct. Drop the cast once the schema cache picks them up.
|
|
522
583
|
return wrapStoreSuccess({ success: true, scenarios });
|
|
523
584
|
}
|
|
524
585
|
let store;
|
|
@@ -527,7 +588,7 @@ async function handleTestControllerRequestImpl(storeOrFactory, input, options) {
|
|
|
527
588
|
}
|
|
528
589
|
catch (err) {
|
|
529
590
|
if (err instanceof TestControllerError) {
|
|
530
|
-
return controllerError(err.code, err.message, err.currentState);
|
|
591
|
+
return controllerError(err.code, err.message, err.currentState, err.metadata);
|
|
531
592
|
}
|
|
532
593
|
return controllerError('INTERNAL_ERROR', `Failed to resolve test controller store for scenario ${sanitizeLabel(scenario)}`);
|
|
533
594
|
}
|
|
@@ -655,30 +716,21 @@ async function handleTestControllerRequestImpl(storeOrFactory, input, options) {
|
|
|
655
716
|
case exports.SEED_SCENARIOS.SEED_CREATIVE:
|
|
656
717
|
case exports.SEED_SCENARIOS.SEED_PLAN:
|
|
657
718
|
case exports.SEED_SCENARIOS.SEED_MEDIA_BUY:
|
|
658
|
-
case exports.SEED_SCENARIOS.SEED_CREATIVE_FORMAT:
|
|
659
|
-
|
|
660
|
-
//
|
|
661
|
-
//
|
|
662
|
-
//
|
|
663
|
-
//
|
|
664
|
-
//
|
|
665
|
-
// doesn't know about platform.accounts.resolve,
|
|
666
|
-
// misalignment is fine because the cache only governs
|
|
667
|
-
// not user-visible state
|
|
668
|
-
const
|
|
669
|
-
const scope = account != null && typeof account === 'object'
|
|
670
|
-
? (() => {
|
|
671
|
-
const id = account.account_id;
|
|
672
|
-
return typeof id === 'string' && id.length > 0 ? id : undefined;
|
|
673
|
-
})()
|
|
674
|
-
: undefined;
|
|
719
|
+
case exports.SEED_SCENARIOS.SEED_CREATIVE_FORMAT:
|
|
720
|
+
case exports.SEED_SCENARIOS.SEED_BUYER_AGENT: {
|
|
721
|
+
// Seed-cache scope (issue #1215). Two sandbox accounts or sessions on
|
|
722
|
+
// one server can each seed the same fixture id with divergent fixtures;
|
|
723
|
+
// without a scope prefix the cache treats divergent replays as
|
|
724
|
+
// INVALID_PARAMS even when each scoped fixture is internally
|
|
725
|
+
// self-consistent. No resolver call here — test-controller is a
|
|
726
|
+
// generic helper that doesn't know about platform.accounts.resolve,
|
|
727
|
+
// and read-time misalignment is fine because the cache only governs
|
|
728
|
+
// idempotency, not user-visible state.
|
|
729
|
+
const scope = makeSeedCacheScope(input);
|
|
675
730
|
return await dispatchSeed(store, scenario, params, options?.seedCache, scope);
|
|
676
731
|
}
|
|
677
|
-
// Extension scenarios
|
|
678
|
-
//
|
|
679
|
-
// once a release ships the schema. Today: `query_upstream_traffic`
|
|
680
|
-
// (spec PR adcp#3816), `force_audience_status` /
|
|
681
|
-
// `force_catalog_item_status` (issue #1819 / spec adcp#2860).
|
|
732
|
+
// Extension scenarios accepted by the dispatcher until the spec
|
|
733
|
+
// promotes them to first-class controller scenarios.
|
|
682
734
|
case FORCE_AUDIENCE_STATUS_SCENARIO: {
|
|
683
735
|
if (!store.forceAudienceStatus) {
|
|
684
736
|
return controllerError('UNKNOWN_SCENARIO', `Scenario not supported: ${scenario}`);
|
|
@@ -737,7 +789,7 @@ async function handleTestControllerRequestImpl(storeOrFactory, input, options) {
|
|
|
737
789
|
}
|
|
738
790
|
catch (err) {
|
|
739
791
|
if (err instanceof TestControllerError) {
|
|
740
|
-
return controllerError(err.code, err.message, err.currentState);
|
|
792
|
+
return controllerError(err.code, err.message, err.currentState, err.metadata);
|
|
741
793
|
}
|
|
742
794
|
return controllerError('INTERNAL_ERROR', 'An unexpected error occurred in the test controller store');
|
|
743
795
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-controller.js","sourceRoot":"","sources":["../../../src/lib/server/test-controller.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"test-controller.js","sourceRoot":"","sources":["../../../src/lib/server/test-controller.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6FG;;;AAocH,sCAYC;AAyGD,wDAeC;AAqmBD,kEAWC;AA+BD,sCAOC;AAgED,wDA6CC;AAz0CD,6BAAwB;AAGxB,+CAAgE;AAmBhE,kEAMoC;AAEpC,2CAAkD;AAwBlD;;;;;;;;GAQG;AACU,QAAA,oBAAoB,GAAG;IAClC,qBAAqB,EAAE,uBAAuB;IAC9C,oBAAoB,EAAE,sBAAsB;IAC5C,sBAAsB,EAAE,wBAAwB;IAChD,oBAAoB,EAAE,sBAAsB;IAC5C,0BAA0B,EAAE,4BAA4B;IACxD,qBAAqB,EAAE,uBAAuB;IAC9C,iBAAiB,EAAE,mBAAmB;IACtC,qBAAqB,EAAE,uBAAuB;IAC9C,sBAAsB,EAAE,wBAAwB;IAChD,0BAA0B,EAAE,4BAA4B;CACH,CAAC;AAExD;;;;GAIG;AACU,QAAA,cAAc,GAAG;IAC5B,YAAY,EAAE,cAAc;IAC5B,mBAAmB,EAAE,qBAAqB;IAC1C,aAAa,EAAE,eAAe;IAC9B,SAAS,EAAE,WAAW;IACtB,cAAc,EAAE,gBAAgB;IAChC,oBAAoB,EAAE,sBAAsB;IAC5C,gBAAgB,EAAE,kBAAkB;CACW,CAAC;AAElD;;;;;;;;;GASG;AACU,QAAA,aAAa,GAAG;IAC3B,KAAK,EAAE,gBAAgB;IACvB,MAAM,EAAE,gCAAgC;CAChC,CAAC;AAgBX,MAAM,4BAA4B,GAAyD,IAAI,CAAC;AAChG,KAAK,4BAA4B,CAAC;AAwPlC,SAAS,SAAS,CAAC,CAA+B;IAChD,OAAO,OAAQ,CAAgC,CAAC,WAAW,KAAK,UAAU,CAAC;AAC7E,CAAC;AAED,+DAA+D;AAC/D,0BAA0B;AAC1B,+DAA+D;AAE/D;;;;;;;;;;;GAWG;AACH,MAAa,mBAAoB,SAAQ,KAAK;IAE1B;IAEA;IACA;IAJlB,YACkB,IAA8B,EAC9C,OAAe,EACC,YAA4B,EAC5B,WAAwC,EAAE;QAE1D,KAAK,CAAC,OAAO,CAAC,CAAC;QALC,SAAI,GAAJ,IAAI,CAA0B;QAE9B,iBAAY,GAAZ,YAAY,CAAgB;QAC5B,aAAQ,GAAR,QAAQ,CAAkC;QAG1D,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAVD,kDAUC;AAED,+DAA+D;AAC/D,cAAc;AACd,+DAA+D;AAE/D;;;;GAIG;AACU,QAAA,iBAAiB,GAAG,IAAI,CAAC;AAEtC,wEAAwE;AACxE,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAE5B;0EAC0E;AAC1E,SAAS,aAAa,CAAC,KAAa;IAClC,MAAM,OAAO,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClE,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;AAC1E,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,SAAgB,aAAa,CAC3B,GAAmB,EACnB,GAAW,EACX,KAAa,EACb,MAAc,yBAAiB;IAE/B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;QACrC,MAAM,IAAI,mBAAmB,CAC3B,eAAe,EACf,YAAY,aAAa,CAAC,KAAK,CAAC,mBAAmB,GAAG,+CAA+C,CACtG,CAAC;IACJ,CAAC;AACH,CAAC;AAED,+DAA+D;AAC/D,kBAAkB;AAClB,+DAA+D;AAE/D;;;;;;;GAOG;AACH,MAAM,8BAA8B,GAAG,uBAAuB,CAAC;AAC/D,MAAM,kCAAkC,GAAG,2BAA2B,CAAC;AAEvE,mDAAmD;AACnD,MAAM,YAAY,GAA2D;IAC3E,CAAC,qBAAqB,EAAE,4BAAoB,CAAC,qBAAqB,CAAC;IACnE,CAAC,oBAAoB,EAAE,4BAAoB,CAAC,oBAAoB,CAAC;IACjE,CAAC,qBAAqB,EAAE,4BAAoB,CAAC,sBAAsB,CAAC;IACpE,CAAC,oBAAoB,EAAE,4BAAoB,CAAC,oBAAoB,CAAC;IACjE,CAAC,wBAAwB,EAAE,4BAAoB,CAAC,0BAA0B,CAAC;IAC3E,CAAC,qBAAqB,EAAE,4BAAoB,CAAC,qBAAqB,CAAC;IACnE,CAAC,kBAAkB,EAAE,4BAAoB,CAAC,iBAAiB,CAAC;IAC5D,CAAC,qBAAqB,EAAE,4BAAoB,CAAC,qBAAqB,CAAC;IACnE,CAAC,sBAAsB,EAAE,4BAAoB,CAAC,sBAAsB,CAAC;IACrE,CAAC,0BAA0B,EAAE,4BAAoB,CAAC,0BAA0B,CAAC;CAC9E,CAAC;AAEF,SAAS,kBAAkB,CAAC,KAA0B;IACpD,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;AAChH,CAAC;AAED;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,KAA0B;IACvD,MAAM,GAAG,GAAa,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAChD,IAAI,OAAO,KAAK,CAAC,mBAAmB,KAAK,UAAU;QAAE,GAAG,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAC9F,IAAI,OAAO,KAAK,CAAC,sBAAsB,KAAK,UAAU;QAAE,GAAG,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IACrG,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,eAAe,CACtB,IAA8B,EAC9B,MAAc,EACd,YAA4B,EAC5B,WAAwC,EAAE;IAE1C,uEAAuE;IACvE,mEAAmE;IACnE,OAAO;QACL,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,IAAI;QACX,YAAY,EAAE,MAAM;QACpB,GAAG,CAAC,YAAY,KAAK,SAAS,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC;QAClE,GAAG,CAAC,QAAQ,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;QACpE,GAAG,CAAC,QAAQ,CAAC,GAAG,KAAK,SAAS,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC;KACzB,CAAC;AACpC,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,gBAAgB,CAAmB,MAAS;IACnD,IAAI,QAAQ,IAAI,MAAM;QAAE,OAAO,MAAiD,CAAC;IACjF,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,EAA6C,CAAC;AACvF,CAAC;AAsBD;;;kEAGkE;AAClE,SAAgB,sBAAsB,CAAC,MAAc,yBAAiB;IACpE,MAAM,GAAG,GAAG,IAAI,GAAG,EAAmC,CAAC;IACvD,OAAO;QACL,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACpB,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACZ,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;gBACnC,MAAM,IAAI,mBAAmB,CAC3B,eAAe,EACf,kCAAkC,GAAG,+CAA+C,CACrF,CAAC;YACJ,CAAC;YACD,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAChB,CAAC;QACD,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;KACrB,CAAC;AACJ,CAAC;AAED;;kFAEkF;AAClF,SAAS,aAAa,CAAC,KAAc,EAAE,OAAwB,IAAI,OAAO,EAAE;IAC1E,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC9E,IAAI,IAAI,CAAC,GAAG,CAAC,KAAe,CAAC;QAAE,OAAO,aAAa,CAAC;IACpD,IAAI,CAAC,GAAG,CAAC,KAAe,CAAC,CAAC;IAC1B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IACzF,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAgC,CAAC;SAC1D,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,aAAa,CAAE,KAAiC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAClG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AAClC,CAAC;AAED,SAAS,kBAAkB,CAAC,CAA0B,EAAE,CAA0B;IAChF,IAAI,CAAC;QACH,OAAO,aAAa,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,yEAAyE;QACzE,uEAAuE;QACvE,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,oCAAoC,GAAG,IAAI,GAAG,CAAC,CAAC,sBAAsB,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAC;AAE5G,SAAS,8BAA8B,CAAC,OAAgC;IACtE,MAAM,UAAU,GAA4B,EAAE,GAAG,OAAO,EAAE,CAAC;IAC3D,KAAK,MAAM,GAAG,IAAI,oCAAoC,EAAE,CAAC;QACvD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChG,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;yEACyE;AACzE;;;;;;;;;;;GAWG;AACH,SAAS,gBAAgB,CAAC,WAAmB,EAAE,KAAyB;IACtE,OAAO,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;AACrF,CAAC;AAED,SAAS,kBAAkB,CAAC,KAA8B;IACxD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9B,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QACnD,MAAM,SAAS,GAAI,OAAoC,CAAC,UAAU,CAAC;QACnE,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,WAAW,SAAS,EAAE,CAAC,CAAC;IAChG,CAAC;IAED,MAAM,OAAO,GACX,KAAK,CAAC,OAAO;QACb,CAAC,OAAO,IAAI,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAE,OAAiC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC5G,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QACnD,MAAM,UAAU,GAAG,OAA2F,CAAC;QAC/G,IAAI,OAAO,UAAU,CAAC,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClF,KAAK,CAAC,IAAI,CAAC,cAAc,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC;QACpD,CAAC;aAAM,IACL,UAAU,CAAC,KAAK,KAAK,SAAS;YAC9B,UAAU,CAAC,QAAQ,KAAK,SAAS;YACjC,UAAU,CAAC,OAAO,KAAK,SAAS,EAChC,CAAC;YACD,KAAK,CAAC,IAAI,CACR,eAAe,aAAa,CAAC;gBAC3B,GAAG,CAAC,UAAU,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC;gBAClE,GAAG,CAAC,UAAU,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;gBAC3E,GAAG,CAAC,UAAU,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC;aACzE,CAAC,EAAE,CACL,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACxD,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,KAA0B,EAC1B,QAAsB,EACtB,MAA2C,EAC3C,KAAmC,EACnC,KAAyB;IAEzB,4EAA4E;IAC5E,oEAAoE;IACpE,MAAM,UAAU,GAAG,MAAM,EAAE,OAAO,CAAC;IACnC,IACE,UAAU,KAAK,SAAS;QACxB,CAAC,OAAO,UAAU,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,UAAU,KAAK,IAAI,CAAC,EACpF,CAAC;QACD,OAAO,eAAe,CACpB,gBAAgB,EAChB,GAAG,QAAQ,iDAAiD,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,UAAU,GAAG,CACvH,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAI,UAAkD,IAAI,EAAE,CAAC;IAC1E,2EAA2E;IAC3E,kEAAkE;IAClE,8DAA8D;IAC9D,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,aAAa,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YACxE,OAAO,eAAe,CACpB,gBAAgB,EAChB,GAAG,QAAQ,gBAAgB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,0DAA0D,CACzG,CAAC;QACJ,CAAC;IACH,CAAC;IAID,IAAI,QAAQ,GAAwB,IAAI,CAAC;IACzC,IAAI,YAAY,GAAkB,IAAI,CAAC;IAEvC,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,sBAAc,CAAC,YAAY,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC;gBACxB,YAAY,GAAG,yCAAyC,CAAC;gBACzD,MAAM;YACR,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,WAAW;gBAAE,OAAO,eAAe,CAAC,kBAAkB,EAAE,2BAA2B,QAAQ,EAAE,CAAC,CAAC;YAC1G,MAAM,SAAS,GAAG,MAAM,CAAC,UAAoB,CAAC;YAC9C,QAAQ,GAAG;gBACT,GAAG,EAAE,gBAAgB,CAAC,gBAAgB,SAAS,EAAE,EAAE,KAAK,CAAC;gBACzD,OAAO;gBACP,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,WAAY,CAAC,SAAS,EAAE,OAAO,CAAC;aACrD,CAAC;YACF,MAAM;QACR,CAAC;QACD,KAAK,sBAAc,CAAC,mBAAmB,CAAC,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC;gBACtD,YAAY,GAAG,6EAA6E,CAAC;gBAC7F,MAAM;YACR,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,iBAAiB;gBAAE,OAAO,eAAe,CAAC,kBAAkB,EAAE,2BAA2B,QAAQ,EAAE,CAAC,CAAC;YAChH,MAAM,SAAS,GAAG,MAAM,CAAC,UAAoB,CAAC;YAC9C,MAAM,eAAe,GAAG,MAAM,CAAC,iBAA2B,CAAC;YAC3D,QAAQ,GAAG;gBACT,GAAG,EAAE,gBAAgB,CAAC,uBAAuB,SAAS,IAAI,eAAe,EAAE,EAAE,KAAK,CAAC;gBACnF,OAAO;gBACP,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,iBAAkB,CAAC,SAAS,EAAE,eAAe,EAAE,OAAO,CAAC;aAC5E,CAAC;YACF,MAAM;QACR,CAAC;QACD,KAAK,sBAAc,CAAC,aAAa,CAAC,CAAC,CAAC;YAClC,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC;gBACzB,YAAY,GAAG,2CAA2C,CAAC;gBAC3D,MAAM;YACR,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,YAAY;gBAAE,OAAO,eAAe,CAAC,kBAAkB,EAAE,2BAA2B,QAAQ,EAAE,CAAC,CAAC;YAC3G,MAAM,UAAU,GAAG,MAAM,CAAC,WAAqB,CAAC;YAChD,QAAQ,GAAG;gBACT,GAAG,EAAE,gBAAgB,CAAC,iBAAiB,UAAU,EAAE,EAAE,KAAK,CAAC;gBAC3D,OAAO;gBACP,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,YAAa,CAAC,UAAU,EAAE,OAAO,CAAC;aACvD,CAAC;YACF,MAAM;QACR,CAAC;QACD,KAAK,sBAAc,CAAC,SAAS,CAAC,CAAC,CAAC;YAC9B,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;gBACrB,YAAY,GAAG,mCAAmC,CAAC;gBACnD,MAAM;YACR,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,QAAQ;gBAAE,OAAO,eAAe,CAAC,kBAAkB,EAAE,2BAA2B,QAAQ,EAAE,CAAC,CAAC;YACvG,MAAM,MAAM,GAAG,MAAM,CAAC,OAAiB,CAAC;YACxC,QAAQ,GAAG;gBACT,GAAG,EAAE,gBAAgB,CAAC,aAAa,MAAM,EAAE,EAAE,KAAK,CAAC;gBACnD,OAAO;gBACP,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,QAAS,CAAC,MAAM,EAAE,OAAO,CAAC;aAC/C,CAAC;YACF,MAAM;QACR,CAAC;QACD,KAAK,sBAAc,CAAC,cAAc,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC;gBAC1B,YAAY,GAAG,6CAA6C,CAAC;gBAC7D,MAAM;YACR,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,YAAY;gBAAE,OAAO,eAAe,CAAC,kBAAkB,EAAE,2BAA2B,QAAQ,EAAE,CAAC,CAAC;YAC3G,MAAM,UAAU,GAAG,MAAM,CAAC,YAAsB,CAAC;YACjD,QAAQ,GAAG;gBACT,GAAG,EAAE,gBAAgB,CAAC,kBAAkB,UAAU,EAAE,EAAE,KAAK,CAAC;gBAC5D,OAAO;gBACP,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,YAAa,CAAC,UAAU,EAAE,OAAO,CAAC;aACvD,CAAC;YACF,MAAM;QACR,CAAC;QACD,KAAK,sBAAc,CAAC,oBAAoB,CAAC,CAAC,CAAC;YACzC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC;gBACvB,YAAY,GAAG,gDAAgD,CAAC;gBAChE,MAAM;YACR,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,kBAAkB;gBAAE,OAAO,eAAe,CAAC,kBAAkB,EAAE,2BAA2B,QAAQ,EAAE,CAAC,CAAC;YACjH,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAmB,CAAC;YAC5C,QAAQ,GAAG;gBACT,GAAG,EAAE,gBAAgB,CAAC,wBAAwB,QAAQ,EAAE,EAAE,KAAK,CAAC;gBAChE,OAAO;gBACP,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,kBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC;aAC3D,CAAC;YACF,MAAM;QACR,CAAC;QACD,KAAK,sBAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC;YACrC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC;gBACvB,YAAY,GAAG,4CAA4C,CAAC;gBAC5D,MAAM;YACR,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,cAAc;gBAAE,OAAO,eAAe,CAAC,kBAAkB,EAAE,2BAA2B,QAAQ,EAAE,CAAC,CAAC;YAC7G,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAmB,CAAC;YAC5C,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,YAAY,EAAE,GAAG,MAAM,CAAC;YAC5E,KAAK,SAAS,CAAC;YACf,KAAK,QAAQ,CAAC;YACd,IAAI,UAAU,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrE,OAAO,eAAe,CACpB,gBAAgB,EAChB,kFAAkF,CACnF,CAAC;YACJ,CAAC;YACD,MAAM,iBAAiB,GAAG,8BAA8B,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YAC5G,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,EAAE,WAAW,CAAC,EAAE,CAAC;gBACzE,OAAO,eAAe,CACpB,gBAAgB,EAChB,kGAAkG,CACnG,CAAC;YACJ,CAAC;YACD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBACjD,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,aAAa,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;oBACxE,OAAO,eAAe,CACpB,gBAAgB,EAChB,GAAG,QAAQ,gBAAgB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,0DAA0D,CACzG,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,QAAQ,GAAG;gBACT,GAAG,EAAE,gBAAgB,CAAC,oBAAoB,QAAQ,EAAE,EAAE,KAAK,CAAC;gBAC5D,OAAO,EAAE,iBAAiB;gBAC1B,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,cAAe,CAAC,QAAQ,EAAE,iBAAiB,CAAC;aACjE,CAAC;YACF,MAAM;QACR,CAAC;IACH,CAAC;IAED,IAAI,YAAY;QAAE,OAAO,eAAe,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;IACzE,IAAI,CAAC,QAAQ;QAAE,OAAO,eAAe,CAAC,kBAAkB,EAAE,2BAA2B,QAAQ,EAAE,CAAC,CAAC;IAEjG,yFAAyF;IACzF,6EAA6E;IAC7E,wEAAwE;IACxE,MAAM,KAAK,GAAG,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7E,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACjD,OAAO,eAAe,CACpB,gBAAgB,EAChB,eAAe,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,gDAAgD;gBACxF,mEAAmE,CACtE,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC;QACxB,wEAAwE;QACxE,gEAAgE;QAChE,wEAAwE;QACxE,2CAA2C;QAC3C,OAAO,gBAAgB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,qBAAa,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC;IACxB,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC3C,OAAO,gBAAgB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,qBAAa,CAAC,KAAK,EAAE,CAAC,CAAC;AAC3E,CAAC;AAED,KAAK,UAAU,+BAA+B,CAC5C,cAA4C,EAC5C,KAA8B,EAC9B,OAA0C;IAE1C,MAAM,QAAQ,GAAG,KAAK,CAAC,QAA8B,CAAC;IACtD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,eAAe,CAAC,gBAAgB,EAAE,kCAAkC,CAAC,CAAC;IAC/E,CAAC;IAED,qEAAqE;IACrE,0EAA0E;IAC1E,sBAAsB;IACtB,IAAI,QAAQ,KAAK,gBAAgB,EAAE,CAAC;QAClC,MAAM,SAAS,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC;QACpH,OAAO,gBAAgB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,KAA0B,CAAC;IAC/B,IAAI,CAAC;QACH,KAAK,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;IAC/F,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,mBAAmB,EAAE,CAAC;YACvC,OAAO,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChF,CAAC;QACD,OAAO,eAAe,CACpB,gBAAgB,EAChB,wDAAwD,aAAa,CAAC,QAAQ,CAAC,EAAE,CAClF,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAA6C,CAAC;IAEnE,IAAI,CAAC;QACH,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,4BAAoB,CAAC,qBAAqB,CAAC,CAAC,CAAC;gBAChD,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC;oBAC/B,OAAO,eAAe,CAAC,kBAAkB,EAAE,2BAA2B,QAAQ,EAAE,CAAC,CAAC;gBACpF,CAAC;gBACD,IAAI,CAAC,MAAM,EAAE,WAAW,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;oBAC5C,OAAO,eAAe,CACpB,gBAAgB,EAChB,qEAAqE,CACtE,CAAC;gBACJ,CAAC;gBACD,MAAM,cAAc,GAAG,wCAAoB,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACrE,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;oBAC5B,OAAO,eAAe,CAAC,gBAAgB,EAAE,4BAA4B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBACxF,CAAC;gBACD,OAAO,gBAAgB,CACrB,MAAM,KAAK,CAAC,mBAAmB,CAC7B,MAAM,CAAC,WAAqB,EAC5B,cAAc,CAAC,IAAI,EACnB,MAAM,CAAC,gBAAsC,CAC9C,CACF,CAAC;YACJ,CAAC;YAED,KAAK,4BAAoB,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBAC/C,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC;oBAC9B,OAAO,eAAe,CAAC,kBAAkB,EAAE,2BAA2B,QAAQ,EAAE,CAAC,CAAC;gBACpF,CAAC;gBACD,IAAI,CAAC,MAAM,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;oBAC3C,OAAO,eAAe,CAAC,gBAAgB,EAAE,mEAAmE,CAAC,CAAC;gBAChH,CAAC;gBACD,MAAM,aAAa,GAAG,uCAAmB,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACnE,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;oBAC3B,OAAO,eAAe,CAAC,gBAAgB,EAAE,2BAA2B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBACvF,CAAC;gBACD,OAAO,gBAAgB,CAAC,MAAM,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,UAAoB,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3G,CAAC;YAED,KAAK,4BAAoB,CAAC,sBAAsB,CAAC,CAAC,CAAC;gBACjD,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC;oBAC/B,OAAO,eAAe,CAAC,kBAAkB,EAAE,2BAA2B,QAAQ,EAAE,CAAC,CAAC;gBACpF,CAAC;gBACD,IAAI,CAAC,MAAM,EAAE,YAAY,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;oBAC7C,OAAO,eAAe,CACpB,gBAAgB,EAChB,uEAAuE,CACxE,CAAC;gBACJ,CAAC;gBACD,MAAM,cAAc,GAAG,wCAAoB,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACrE,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;oBAC5B,OAAO,eAAe,CAAC,gBAAgB,EAAE,6BAA6B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBACzF,CAAC;gBACD,OAAO,gBAAgB,CACrB,MAAM,KAAK,CAAC,mBAAmB,CAC7B,MAAM,CAAC,YAAsB,EAC7B,cAAc,CAAC,IAAI,EACnB,MAAM,CAAC,gBAAsC,CAC9C,CACF,CAAC;YACJ,CAAC;YAED,KAAK,4BAAoB,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBAC/C,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC;oBAC9B,OAAO,eAAe,CAAC,kBAAkB,EAAE,2BAA2B,QAAQ,EAAE,CAAC,CAAC;gBACpF,CAAC;gBACD,IAAI,CAAC,MAAM,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;oBAC3C,OAAO,eAAe,CAAC,gBAAgB,EAAE,mEAAmE,CAAC,CAAC;gBAChH,CAAC;gBACD,MAAM,oBAAoB,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;gBACxD,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAgB,CAAC,EAAE,CAAC;oBAC5D,OAAO,eAAe,CAAC,gBAAgB,EAAE,2BAA2B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBACvF,CAAC;gBACD,OAAO,gBAAgB,CACrB,MAAM,KAAK,CAAC,kBAAkB,CAC5B,MAAM,CAAC,UAAoB,EAC3B,MAAM,CAAC,MAAmC,EAC1C,MAAM,CAAC,kBAAwC,CAChD,CACF,CAAC;YACJ,CAAC;YAED,KAAK,4BAAoB,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBAC5C,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;oBAC5B,OAAO,eAAe,CAAC,kBAAkB,EAAE,2BAA2B,QAAQ,EAAE,CAAC,CAAC;gBACpF,CAAC;gBACD,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC;oBAC1B,OAAO,eAAe,CAAC,gBAAgB,EAAE,gDAAgD,CAAC,CAAC;gBAC7F,CAAC;gBACD,yEAAyE;gBACzE,0EAA0E;gBAC1E,MAAM,EAAE,YAAY,EAAE,kBAAkB,EAAE,GAAG,oBAAoB,EAAE,GAAG,MAAM,CAAC;gBAC7E,OAAO,gBAAgB,CAAC,MAAM,KAAK,CAAC,gBAAgB,CAAC,kBAA4B,EAAE,oBAAoB,CAAC,CAAC,CAAC;YAC5G,CAAC;YAED,KAAK,4BAAoB,CAAC,qBAAqB,CAAC,CAAC,CAAC;gBAChD,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC;oBAC/B,OAAO,eAAe,CAAC,kBAAkB,EAAE,2BAA2B,QAAQ,EAAE,CAAC,CAAC;gBACpF,CAAC;gBACD,IAAI,MAAM,EAAE,gBAAgB,KAAK,SAAS,IAAI,MAAM,EAAE,gBAAgB,KAAK,IAAI,EAAE,CAAC;oBAChF,OAAO,eAAe,CAAC,gBAAgB,EAAE,wDAAwD,CAAC,CAAC;gBACrG,CAAC;gBACD,IAAI,CAAC,MAAM,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC;oBACjD,OAAO,eAAe,CACpB,gBAAgB,EAChB,yEAAyE,CAC1E,CAAC;gBACJ,CAAC;gBACD,gEAAgE;gBAChE,OAAO,gBAAgB,CACrB,MAAM,KAAK,CAAC,mBAAmB,CAC7B,MAKC,CACF,CACF,CAAC;YACJ,CAAC;YAED,KAAK,4BAAoB,CAAC,0BAA0B,CAAC,CAAC,CAAC;gBACrD,IAAI,CAAC,KAAK,CAAC,sBAAsB,EAAE,CAAC;oBAClC,OAAO,eAAe,CAAC,kBAAkB,EAAE,2BAA2B,QAAQ,EAAE,CAAC,CAAC;gBACpF,CAAC;gBACD,MAAM,GAAG,GAAG,MAAM,EAAE,GAAG,CAAC;gBACxB,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,gBAAgB,EAAE,CAAC;oBACpD,OAAO,eAAe,CACpB,gBAAgB,EAChB,kFAAkF,CACnF,CAAC;gBACJ,CAAC;gBACD,IAAI,GAAG,KAAK,WAAW,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;oBAC5C,OAAO,eAAe,CACpB,gBAAgB,EAChB,yEAAyE,CAC1E,CAAC;gBACJ,CAAC;gBACD,mEAAmE;gBACnE,kEAAkE;gBAClE,+BAA+B;gBAC/B,IAAI,GAAG,KAAK,gBAAgB,IAAI,MAAM,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC9D,OAAO,eAAe,CACpB,gBAAgB,EAChB,sFAAsF,CACvF,CAAC;gBACJ,CAAC;gBACD,OAAO,gBAAgB,CACrB,MAAM,KAAK,CAAC,sBAAsB,CAAC;oBACjC,GAAG;oBACH,OAAO,EAAE,MAAM,EAAE,OAA6B;oBAC9C,OAAO,EAAE,MAAM,EAAE,OAA6B;iBAC/C,CAAC,CACH,CAAC;YACJ,CAAC;YAED,KAAK,4BAAoB,CAAC,qBAAqB,CAAC,CAAC,CAAC;gBAChD,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC;oBAC/B,OAAO,eAAe,CAAC,kBAAkB,EAAE,2BAA2B,QAAQ,EAAE,CAAC,CAAC;gBACpF,CAAC;gBACD,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;oBACrB,OAAO,eAAe,CAAC,gBAAgB,EAAE,+CAA+C,CAAC,CAAC;gBAC5F,CAAC;gBACD,mEAAmE;gBACnE,iEAAiE;gBACjE,mEAAmE;gBACnE,kBAAkB;gBAClB,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;oBACzF,OAAO,eAAe,CACpB,gBAAgB,EAChB,0EAA0E,CAC3E,CAAC;gBACJ,CAAC;gBACD,OAAO,gBAAgB,CACrB,MAAM,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,OAAiB,EAAE,MAAM,CAAC,MAAiC,CAAC,CACpG,CAAC;YACJ,CAAC;YAED,KAAK,sBAAc,CAAC,YAAY,CAAC;YACjC,KAAK,sBAAc,CAAC,mBAAmB,CAAC;YACxC,KAAK,sBAAc,CAAC,aAAa,CAAC;YAClC,KAAK,sBAAc,CAAC,SAAS,CAAC;YAC9B,KAAK,sBAAc,CAAC,cAAc,CAAC;YACnC,KAAK,sBAAc,CAAC,oBAAoB,CAAC;YACzC,KAAK,sBAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBACrC,sEAAsE;gBACtE,wEAAwE;gBACxE,+DAA+D;gBAC/D,6DAA6D;gBAC7D,gEAAgE;gBAChE,oEAAoE;gBACpE,oEAAoE;gBACpE,uCAAuC;gBACvC,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBACxC,OAAO,MAAM,YAAY,CAAC,KAAK,EAAE,QAAwB,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YAChG,CAAC;YAED,gEAAgE;YAChE,qDAAqD;YACrD,KAAK,8BAA8B,CAAC,CAAC,CAAC;gBACpC,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC;oBAC/B,OAAO,eAAe,CAAC,kBAAkB,EAAE,2BAA2B,QAAQ,EAAE,CAAC,CAAC;gBACpF,CAAC;gBACD,IAAI,CAAC,MAAM,EAAE,WAAW,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;oBAC5C,OAAO,eAAe,CACpB,gBAAgB,EAChB,qEAAqE,CACtE,CAAC;gBACJ,CAAC;gBACD,MAAM,cAAc,GAAG,wCAAoB,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACrE,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;oBAC5B,OAAO,eAAe,CAAC,gBAAgB,EAAE,4BAA4B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBACxF,CAAC;gBACD,sEAAsE;gBACtE,sEAAsE;gBACtE,oEAAoE;gBACpE,uEAAuE;gBACvE,sCAAsC;gBACtC,OAAO,gBAAgB,CACrB,MAAM,KAAK,CAAC,mBAAmB,CAC7B,MAAM,CAAC,WAAqB,EAC5B,cAAc,CAAC,IAAI,EACnB,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,gBAAgB,CAAuB,CACjE,CACF,CAAC;YACJ,CAAC;YAED,KAAK,kCAAkC,CAAC,CAAC,CAAC;gBACxC,IAAI,CAAC,KAAK,CAAC,sBAAsB,EAAE,CAAC;oBAClC,OAAO,eAAe,CAAC,kBAAkB,EAAE,2BAA2B,QAAQ,EAAE,CAAC,CAAC;gBACpF,CAAC;gBACD,IAAI,CAAC,MAAM,EAAE,eAAe,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;oBAChD,OAAO,eAAe,CACpB,gBAAgB,EAChB,6EAA6E,CAC9E,CAAC;gBACJ,CAAC;gBACD,MAAM,UAAU,GAAG,2CAAuB,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACpE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;oBACxB,OAAO,eAAe,CAAC,gBAAgB,EAAE,gCAAgC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC5F,CAAC;gBACD,+DAA+D;gBAC/D,OAAO,gBAAgB,CACrB,MAAM,KAAK,CAAC,sBAAsB,CAChC,MAAM,CAAC,eAAyB,EAChC,UAAU,CAAC,IAAI,EACf,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,gBAAgB,CAAuB,CACjE,CACF,CAAC;YACJ,CAAC;YAED,KAAK,4BAAoB,CAAC,sBAAsB,CAAC,CAAC,CAAC;gBACjD,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC;oBAChC,OAAO,eAAe,CAAC,kBAAkB,EAAE,2BAA2B,QAAQ,EAAE,CAAC,CAAC;gBACpF,CAAC;gBACD,MAAM,WAAW,GAAG,CAAC,MAAM,IAAI,EAAE,CAA4E,CAAC;gBAC9G,OAAO,gBAAgB,CAAC,MAAM,KAAK,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,CAAC;YACzE,CAAC;YAED,KAAK,4BAAoB,CAAC,0BAA0B,CAAC,CAAC,CAAC;gBACrD,IAAI,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC;oBACpC,OAAO,eAAe,CAAC,kBAAkB,EAAE,2BAA2B,QAAQ,EAAE,CAAC,CAAC;gBACpF,CAAC;gBACD,MAAM,WAAW,GAAG,CAAC,MAAM,IAAI,EAAE,CAAgD,CAAC;gBAClF,IAAI,OAAO,WAAW,CAAC,IAAI,KAAK,QAAQ,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC1E,OAAO,eAAe,CAAC,gBAAgB,EAAE,iDAAiD,CAAC,CAAC;gBAC9F,CAAC;gBACD,OAAO,gBAAgB,CACrB,MAAM,KAAK,CAAC,wBAAwB,CAAC;oBACnC,IAAI,EAAE,WAAW,CAAC,IAAI;oBACtB,aAAa,EAAE,OAAO,WAAW,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;iBACrG,CAAC,CACH,CAAC;YACJ,CAAC;YAED;gBACE,OAAO,eAAe,CAAC,kBAAkB,EAAE,4BAA4B,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,mBAAmB,EAAE,CAAC;YACvC,OAAO,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChF,CAAC;QACD,OAAO,eAAe,CAAC,gBAAgB,EAAE,2DAA2D,CAAC,CAAC;IACxG,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACI,KAAK,UAAU,2BAA2B,CAC/C,cAA4C,EAC5C,KAA8B,EAC9B,OAA0C;IAE1C,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC;IAC1B,MAAM,MAAM,GAAG,MAAM,+BAA+B,CAAC,cAAc,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACrF,IAAI,GAAG,KAAK,SAAS,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACjG,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,EAAkC,CAAC;IACrE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,+DAA+D;AAC/D,uBAAuB;AACvB,+DAA+D;AAE/D,SAAS,SAAS,CAAC,IAAkC;IACnD,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK;QAAE,OAAO,qBAAqB,IAAI,CAAC,KAAK,EAAE,CAAC;IACrE,IAAI,WAAW,IAAI,IAAI;QAAE,OAAO,wBAAwB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACpF,IAAI,gBAAgB,IAAI,IAAI,EAAE,CAAC;QAC7B,OAAO,qBAAqB,IAAI,CAAC,cAAc,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;IAC7E,CAAC;IACD,IAAI,WAAW,IAAI,IAAI;QAAE,OAAO,wBAAwB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;IACzF,IAAI,QAAQ,IAAI,IAAI;QAAE,OAAO,6BAA6B,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;IAC5E,wEAAwE;IACxE,sEAAsE;IACtE,mEAAmE;IACnE,wEAAwE;IACxE,gCAAgC;IAChC,IAAI,SAAS,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC;IAC/E,IAAI,gBAAgB,IAAI,IAAI,EAAE,CAAC;QAC7B,OAAO,YAAY,IAAI,CAAC,WAAW,oBAAoB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAChG,CAAC;IACD,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED;;;;GAIG;AACH,SAAgB,aAAa,CAAC,IAAkC;IAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC;IACvC,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QAClD,iBAAiB,EAAE,IAAA,+BAAmB,EAAC,IAAI,CAAC;QAC5C,GAAG,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;KAClC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACU,QAAA,gBAAgB,GAAG;IAC9B,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kEAAkE,CAAC;IACjG,MAAM,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IAC7F,OAAO,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IACrF,GAAG,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;CACpF,CAAC;AAEF,+DAA+D;AAC/D,wBAAwB;AACxB,+DAA+D;AAE/D;;;;;;;;;;;;GAYG;AACH,SAAgB,sBAAsB,CACpC,MAA8B,EAC9B,cAA4C,EAC5C,OAA0C;IAE1C,MAAM,GAAG,GAAG,IAAA,0BAAY,EAAC,MAAoB,CAAC,IAAK,MAAoB,CAAC;IACxE,0EAA0E;IAC1E,uEAAuE;IACvE,qBAAqB;IACrB,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,sBAAsB,EAAE,CAAC;IAEjE,mEAAmE;IACnE,uEAAuE;IACvE,yEAAyE;IACzE,uEAAuE;IACvE,uEAAuE;IACvE,0CAA0C;IAC1C,MAAM,OAAO,GAAI,MAAkD,CAAC,+BAAiB,CAExE,CAAC;IACd,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,QAAQ,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;QAChH,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,oEAAoE;YACpE,kEAAkE;YAClE,8DAA8D;YAC9D,mCAAmC;YACnC,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,kBAAkB,EAAE,SAAS,IAAI,EAAE,CAAsB,CAAC;YACpF,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC/D,OAAO,CAAC,kBAAkB,GAAG,EAAE,SAAS,EAAE,MAAM,EAAuD,CAAC;QAC1G,CAAC;IACH,CAAC;IACD,GAAG,CAAC,YAAY,CACd,wBAAwB,EACxB;QACE,WAAW,EAAE,8EAA8E;QAC3F,WAAW,EAAE,wBAAgB;KAC9B,EACD,CAAC,KAAK,EAAE,KAA8B,EAAE,EAAE;QACxC,MAAM,QAAQ,GAAG,MAAM,2BAA2B,CAAC,cAAc,EAAE,KAAK,EAAE;YACxE,SAAS;SACV,CAAC,CAAC;QACH,OAAO,aAAa,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC,CAA2C,CAC7C,CAAC;AACJ,CAAC"}
|
|
@@ -4,48 +4,6 @@ export interface RequestLike {
|
|
|
4
4
|
headers: Record<string, string | string[] | undefined>;
|
|
5
5
|
body?: string;
|
|
6
6
|
}
|
|
7
|
-
/**
|
|
8
|
-
* RFC 9421 §2.2.9 response-signing context. Carries the response status and
|
|
9
|
-
* its headers/body, plus the originating request's method + URL so derived
|
|
10
|
-
* components that bind back to the request context (`@method`, `@target-uri`,
|
|
11
|
-
* `@authority`) resolve correctly.
|
|
12
|
-
*/
|
|
13
|
-
export interface ResponseLike {
|
|
14
|
-
status: number;
|
|
15
|
-
headers: Record<string, string | string[] | undefined>;
|
|
16
|
-
body?: string;
|
|
17
|
-
/**
|
|
18
|
-
* Originating request context. Required because RFC 9421 §2.2 binds
|
|
19
|
-
* response signatures to their request context via `@authority` and
|
|
20
|
-
* `@target-uri` (see {@link RESPONSE_MANDATORY_COMPONENTS}).
|
|
21
|
-
*
|
|
22
|
-
* `url` MUST be an absolute URL — `canonicalAuthority` / `canonicalTargetUri`
|
|
23
|
-
* parse it through `new URL(...)` and will throw on a relative path. Express
|
|
24
|
-
* handlers ship `req.url` / `req.originalUrl` as path-only; reconstruct in
|
|
25
|
-
* the handler before passing in:
|
|
26
|
-
*
|
|
27
|
-
* ```ts
|
|
28
|
-
* const url = `${req.protocol}://${req.get('host')}${req.originalUrl}`;
|
|
29
|
-
* ```
|
|
30
|
-
*
|
|
31
|
-
* Same shape applies to Lambda (`event.requestContext.domainName` +
|
|
32
|
-
* `event.rawPath`) and Workers (`request.url` is already absolute).
|
|
33
|
-
*
|
|
34
|
-
* **Security note for proxied deployments.** `req.protocol` and
|
|
35
|
-
* `req.get('host')` are attacker-controlled when the server sits behind
|
|
36
|
-
* a reverse proxy that doesn't strip / validate `Host` and
|
|
37
|
-
* `X-Forwarded-*` headers. A hostile peer that controls these can rebind
|
|
38
|
-
* your signature to `attacker.example.com` while the operator believes
|
|
39
|
-
* they're signing for `seller.example.com`. Set `app.set('trust proxy',
|
|
40
|
-
* ...)` to your trusted proxy IPs, validate `Host` against an allowlist
|
|
41
|
-
* before passing in here, and prefer `https://` always (response
|
|
42
|
-
* signatures bound to `http://` will fail strict-HTTPS verifier profiles).
|
|
43
|
-
*/
|
|
44
|
-
request: {
|
|
45
|
-
method: string;
|
|
46
|
-
url: string;
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
7
|
export interface SignatureParams {
|
|
50
8
|
created: number;
|
|
51
9
|
expires: number;
|
|
@@ -68,17 +26,6 @@ export declare function getHeaderValue(headers: Record<string, string | string[]
|
|
|
68
26
|
* function formats from `params` using a fixed canonical order.
|
|
69
27
|
*/
|
|
70
28
|
export declare function buildSignatureBase(components: ReadonlyArray<string>, request: RequestLike, params: SignatureParams, signatureParamsValue?: string): string;
|
|
71
|
-
/**
|
|
72
|
-
* Build the RFC 9421 §2.5 signature base for a response.
|
|
73
|
-
*
|
|
74
|
-
* Resolves `@status` from `response.status` and binds the remaining derived
|
|
75
|
-
* components (`@method`, `@target-uri`, `@authority`) to the originating
|
|
76
|
-
* request carried on `response.request`. Header components resolve against
|
|
77
|
-
* `response.headers`. `signatureParamsValue` works the same as for
|
|
78
|
-
* {@link buildSignatureBase} — pass it on the verifier path to keep byte
|
|
79
|
-
* identity with whatever `Signature-Input` the peer sent.
|
|
80
|
-
*/
|
|
81
|
-
export declare function buildResponseSignatureBase(components: ReadonlyArray<string>, response: ResponseLike, params: SignatureParams, signatureParamsValue?: string): string;
|
|
82
29
|
export declare function formatSignatureParams(components: ReadonlyArray<string>, params: SignatureParams): string;
|
|
83
30
|
/**
|
|
84
31
|
* Raw non-ASCII bytes in the URL authority (IDN U-label) are a parse-time
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canonicalize.d.ts","sourceRoot":"","sources":["../../../src/lib/signing/canonicalize.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IACvD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED
|
|
1
|
+
{"version":3,"file":"canonicalize.d.ts","sourceRoot":"","sources":["../../../src/lib/signing/canonicalize.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IACvD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb;AAeD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAYzD;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAWzD;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,EACtD,IAAI,EAAE,MAAM,GACX,MAAM,GAAG,SAAS,CAYpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,EACjC,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,eAAe,EACvB,oBAAoB,CAAC,EAAE,MAAM,GAC5B,MAAM,CAgBR;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,eAAe,GAAG,MAAM,CASxG;AAoDD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAavD"}
|
|
@@ -5,7 +5,6 @@ exports.canonicalAuthority = canonicalAuthority;
|
|
|
5
5
|
exports.canonicalMethod = canonicalMethod;
|
|
6
6
|
exports.getHeaderValue = getHeaderValue;
|
|
7
7
|
exports.buildSignatureBase = buildSignatureBase;
|
|
8
|
-
exports.buildResponseSignatureBase = buildResponseSignatureBase;
|
|
9
8
|
exports.formatSignatureParams = formatSignatureParams;
|
|
10
9
|
exports.rejectNonAsciiHost = rejectNonAsciiHost;
|
|
11
10
|
const errors_1 = require("./errors");
|
|
@@ -18,7 +17,7 @@ const DEFAULT_PARAM_ORDER = [
|
|
|
18
17
|
'tag',
|
|
19
18
|
];
|
|
20
19
|
const STRING_PARAMS = new Set(['nonce', 'keyid', 'alg', 'tag']);
|
|
21
|
-
const SUPPORTED_DERIVED = new Set(['@method', '@target-uri', '@authority'
|
|
20
|
+
const SUPPORTED_DERIVED = new Set(['@method', '@target-uri', '@authority']);
|
|
22
21
|
function canonicalTargetUri(rawUrl) {
|
|
23
22
|
rejectNonAsciiHost(rawUrl);
|
|
24
23
|
const u = new URL(rawUrl);
|
|
@@ -75,35 +74,6 @@ function buildSignatureBase(components, request, params, signatureParamsValue) {
|
|
|
75
74
|
lines.push(`"@signature-params": ${paramsString}`);
|
|
76
75
|
return lines.join('\n');
|
|
77
76
|
}
|
|
78
|
-
/**
|
|
79
|
-
* Build the RFC 9421 §2.5 signature base for a response.
|
|
80
|
-
*
|
|
81
|
-
* Resolves `@status` from `response.status` and binds the remaining derived
|
|
82
|
-
* components (`@method`, `@target-uri`, `@authority`) to the originating
|
|
83
|
-
* request carried on `response.request`. Header components resolve against
|
|
84
|
-
* `response.headers`. `signatureParamsValue` works the same as for
|
|
85
|
-
* {@link buildSignatureBase} — pass it on the verifier path to keep byte
|
|
86
|
-
* identity with whatever `Signature-Input` the peer sent.
|
|
87
|
-
*/
|
|
88
|
-
function buildResponseSignatureBase(components, response, params, signatureParamsValue) {
|
|
89
|
-
const requestView = {
|
|
90
|
-
method: response.request.method,
|
|
91
|
-
url: response.request.url,
|
|
92
|
-
headers: response.headers,
|
|
93
|
-
body: response.body,
|
|
94
|
-
};
|
|
95
|
-
const lines = [];
|
|
96
|
-
for (const component of components) {
|
|
97
|
-
const value = component === '@status' ? String(response.status) : resolveComponentValue(component, requestView);
|
|
98
|
-
if (value === undefined) {
|
|
99
|
-
throw new errors_1.RequestSignatureError('request_signature_components_incomplete', 6, `Covered component "${component}" not present in response`);
|
|
100
|
-
}
|
|
101
|
-
lines.push(`"${component}": ${value}`);
|
|
102
|
-
}
|
|
103
|
-
const paramsString = signatureParamsValue ?? formatSignatureParams(components, params);
|
|
104
|
-
lines.push(`"@signature-params": ${paramsString}`);
|
|
105
|
-
return lines.join('\n');
|
|
106
|
-
}
|
|
107
77
|
function formatSignatureParams(components, params) {
|
|
108
78
|
const componentList = components.map(c => `"${c}"`).join(' ');
|
|
109
79
|
const paramPairs = [];
|
|
@@ -127,8 +97,6 @@ function resolveComponentValue(component, request) {
|
|
|
127
97
|
return canonicalTargetUri(request.url);
|
|
128
98
|
case '@authority':
|
|
129
99
|
return canonicalAuthority(request.url);
|
|
130
|
-
case '@status':
|
|
131
|
-
throw new errors_1.RequestSignatureError('request_signature_components_unexpected', 6, '"@status" is only valid in response-signing context; use buildResponseSignatureBase');
|
|
132
100
|
}
|
|
133
101
|
}
|
|
134
102
|
return getHeaderValue(request.headers, component);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canonicalize.js","sourceRoot":"","sources":["../../../src/lib/signing/canonicalize.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"canonicalize.js","sourceRoot":"","sources":["../../../src/lib/signing/canonicalize.ts"],"names":[],"mappings":"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"}
|