@plumbus/core 0.8.0-beta.1 → 0.8.0-beta.10
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/CHANGELOG.md +187 -0
- package/README.md +8 -1
- package/dist/.tsbuildinfo +1 -1
- package/dist/ai/ai/cost-tracker.d.ts +22 -2
- package/dist/ai/ai/model-pricing.d.ts +8 -2
- package/dist/ai/ai/openai-strict-schema.d.ts +84 -0
- package/dist/ai/ai/provider.d.ts +90 -6
- package/dist/ai/ai-service.d.ts +53 -1
- package/dist/ai/ai-service.d.ts.map +1 -1
- package/dist/ai/ai-service.js +550 -119
- package/dist/ai/ai-service.js.map +1 -1
- package/dist/ai/cost-tracker.d.ts +22 -2
- package/dist/ai/cost-tracker.d.ts.map +1 -1
- package/dist/ai/cost-tracker.js +59 -20
- package/dist/ai/cost-tracker.js.map +1 -1
- package/dist/ai/explainability.d.ts +2 -1
- package/dist/ai/explainability.d.ts.map +1 -1
- package/dist/ai/explainability.js +1 -0
- package/dist/ai/explainability.js.map +1 -1
- package/dist/ai/index.d.ts +2 -2
- package/dist/ai/index.d.ts.map +1 -1
- package/dist/ai/index.js +1 -1
- package/dist/ai/index.js.map +1 -1
- package/dist/ai/model-pricing.d.ts +8 -2
- package/dist/ai/model-pricing.d.ts.map +1 -1
- package/dist/ai/model-pricing.js +113 -15
- package/dist/ai/model-pricing.js.map +1 -1
- package/dist/ai/openai-strict-schema.d.ts +85 -0
- package/dist/ai/openai-strict-schema.d.ts.map +1 -0
- package/dist/ai/openai-strict-schema.js +730 -0
- package/dist/ai/openai-strict-schema.js.map +1 -0
- package/dist/ai/prompt-overrides.d.ts +19 -0
- package/dist/ai/prompt-overrides.d.ts.map +1 -0
- package/dist/ai/prompt-overrides.js +60 -0
- package/dist/ai/prompt-overrides.js.map +1 -0
- package/dist/ai/provider-failure.d.ts +9 -0
- package/dist/ai/provider-failure.d.ts.map +1 -0
- package/dist/ai/provider-failure.js +112 -0
- package/dist/ai/provider-failure.js.map +1 -0
- package/dist/ai/provider.d.ts +90 -6
- package/dist/ai/provider.d.ts.map +1 -1
- package/dist/ai/provider.js +546 -97
- package/dist/ai/provider.js.map +1 -1
- package/dist/ai/rag/pipeline.d.ts +21 -1
- package/dist/ai/rag/pipeline.d.ts.map +1 -1
- package/dist/ai/rag/pipeline.js +17 -1
- package/dist/ai/rag/pipeline.js.map +1 -1
- package/dist/ai/tool-loop.d.ts +8 -1
- package/dist/ai/tool-loop.d.ts.map +1 -1
- package/dist/ai/tool-loop.js +7 -0
- package/dist/ai/tool-loop.js.map +1 -1
- package/dist/ai/types/config.d.ts +13 -0
- package/dist/ai/types/fields.d.ts +6 -0
- package/dist/ai/types/prompt.d.ts +9 -0
- package/dist/ai/usage-validation.d.ts.map +1 -1
- package/dist/ai/usage-validation.js +6 -1
- package/dist/ai/usage-validation.js.map +1 -1
- package/dist/ai/validation.d.ts +7 -3
- package/dist/ai/validation.d.ts.map +1 -1
- package/dist/ai/validation.js +38 -25
- package/dist/ai/validation.js.map +1 -1
- package/dist/ai/zod-to-provider-schema.d.ts.map +1 -1
- package/dist/ai/zod-to-provider-schema.js +246 -16
- package/dist/ai/zod-to-provider-schema.js.map +1 -1
- package/dist/api/route-generator.d.ts +2 -12
- package/dist/api/route-generator.d.ts.map +1 -1
- package/dist/api/route-generator.js +33 -41
- package/dist/api/route-generator.js.map +1 -1
- package/dist/approvals/index.d.ts +1 -1
- package/dist/approvals/index.d.ts.map +1 -1
- package/dist/approvals/index.js.map +1 -1
- package/dist/approvals/memory-store.d.ts.map +1 -1
- package/dist/approvals/memory-store.js +22 -0
- package/dist/approvals/memory-store.js.map +1 -1
- package/dist/approvals/schema.d.ts +34 -0
- package/dist/approvals/schema.d.ts.map +1 -1
- package/dist/approvals/schema.js +2 -0
- package/dist/approvals/schema.js.map +1 -1
- package/dist/approvals/service.d.ts.map +1 -1
- package/dist/approvals/service.js +36 -0
- package/dist/approvals/service.js.map +1 -1
- package/dist/approvals/sql-store.d.ts.map +1 -1
- package/dist/approvals/sql-store.js +42 -1
- package/dist/approvals/sql-store.js.map +1 -1
- package/dist/approvals/types.d.ts +11 -0
- package/dist/approvals/types.d.ts.map +1 -1
- package/dist/approvals/types.js +1 -0
- package/dist/approvals/types.js.map +1 -1
- package/dist/audit/service.d.ts.map +1 -1
- package/dist/audit/service.js +16 -1
- package/dist/audit/service.js.map +1 -1
- package/dist/cli/cli.d.ts.map +1 -1
- package/dist/cli/cli.js +2 -1
- package/dist/cli/cli.js.map +1 -1
- package/dist/cli/commands/browser-extension.d.ts +16 -0
- package/dist/cli/commands/browser-extension.d.ts.map +1 -1
- package/dist/cli/commands/browser-extension.js +16 -5
- package/dist/cli/commands/browser-extension.js.map +1 -1
- package/dist/cli/commands/dev.d.ts.map +1 -1
- package/dist/cli/commands/dev.js +7 -1
- package/dist/cli/commands/dev.js.map +1 -1
- package/dist/cli/commands/e2e.d.ts +12 -0
- package/dist/cli/commands/e2e.d.ts.map +1 -1
- package/dist/cli/commands/e2e.js +11 -0
- package/dist/cli/commands/e2e.js.map +1 -1
- package/dist/cli/commands/generate-openapi-from-zod.d.ts.map +1 -1
- package/dist/cli/commands/generate-openapi-from-zod.js +9 -1
- package/dist/cli/commands/generate-openapi-from-zod.js.map +1 -1
- package/dist/cli/commands/index.d.ts +1 -0
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +1 -0
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/init.d.ts +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +63 -3
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/migrate.d.ts.map +1 -1
- package/dist/cli/commands/migrate.js +8 -14
- package/dist/cli/commands/migrate.js.map +1 -1
- package/dist/cli/commands/payments.d.ts +56 -0
- package/dist/cli/commands/payments.d.ts.map +1 -0
- package/dist/cli/commands/payments.js +184 -0
- package/dist/cli/commands/payments.js.map +1 -0
- package/dist/cli/commands/run.d.ts.map +1 -1
- package/dist/cli/commands/run.js +2 -7
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/cli/commands/seed.d.ts.map +1 -1
- package/dist/cli/commands/seed.js +2 -7
- package/dist/cli/commands/seed.js.map +1 -1
- package/dist/cli/commands/start.d.ts.map +1 -1
- package/dist/cli/commands/start.js +9 -1
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/commands/worker.js +1 -1
- package/dist/cli/commands/worker.js.map +1 -1
- package/dist/cli/discover.d.ts +2 -0
- package/dist/cli/discover.d.ts.map +1 -1
- package/dist/cli/discover.js +39 -5
- package/dist/cli/discover.js.map +1 -1
- package/dist/config/loader.d.ts +4 -1
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +112 -24
- package/dist/config/loader.js.map +1 -1
- package/dist/data/connection.d.ts +23 -0
- package/dist/data/connection.d.ts.map +1 -1
- package/dist/data/connection.js +23 -6
- package/dist/data/connection.js.map +1 -1
- package/dist/data/schema-generator.d.ts.map +1 -1
- package/dist/data/schema-generator.js +2 -2
- package/dist/data/schema-generator.js.map +1 -1
- package/dist/define/definePrompt.d.ts.map +1 -1
- package/dist/define/definePrompt.js +6 -0
- package/dist/define/definePrompt.js.map +1 -1
- package/dist/durable/index.d.ts +2 -2
- package/dist/durable/index.d.ts.map +1 -1
- package/dist/durable/index.js +2 -2
- package/dist/durable/index.js.map +1 -1
- package/dist/durable/postgres-persist.d.ts +47 -2
- package/dist/durable/postgres-persist.d.ts.map +1 -1
- package/dist/durable/postgres-persist.js +152 -6
- package/dist/durable/postgres-persist.js.map +1 -1
- package/dist/durable/spine-claim.d.ts +22 -1
- package/dist/durable/spine-claim.d.ts.map +1 -1
- package/dist/durable/spine-claim.js +54 -3
- package/dist/durable/spine-claim.js.map +1 -1
- package/dist/events/dispatcher.d.ts +20 -0
- package/dist/events/dispatcher.d.ts.map +1 -1
- package/dist/events/dispatcher.js +61 -26
- package/dist/events/dispatcher.js.map +1 -1
- package/dist/events/pipeline-audit.d.ts +14 -0
- package/dist/events/pipeline-audit.d.ts.map +1 -0
- package/dist/events/pipeline-audit.js +29 -0
- package/dist/events/pipeline-audit.js.map +1 -0
- package/dist/events/worker.d.ts +3 -0
- package/dist/events/worker.d.ts.map +1 -1
- package/dist/events/worker.js +14 -14
- package/dist/events/worker.js.map +1 -1
- package/dist/execution/capability-error-hook.d.ts +24 -0
- package/dist/execution/capability-error-hook.d.ts.map +1 -0
- package/dist/execution/capability-error-hook.js +17 -0
- package/dist/execution/capability-error-hook.js.map +1 -0
- package/dist/execution/capability-executor.d.ts +2 -2
- package/dist/execution/capability-executor.d.ts.map +1 -1
- package/dist/execution/capability-executor.js +45 -7
- package/dist/execution/capability-executor.js.map +1 -1
- package/dist/execution/context-factory.d.ts.map +1 -1
- package/dist/execution/context-factory.js +9 -1
- package/dist/execution/context-factory.js.map +1 -1
- package/dist/execution/deferred-flow-service.d.ts.map +1 -1
- package/dist/execution/deferred-flow-service.js +7 -0
- package/dist/execution/deferred-flow-service.js.map +1 -1
- package/dist/execution/index.d.ts +1 -0
- package/dist/execution/index.d.ts.map +1 -1
- package/dist/execution/index.js.map +1 -1
- package/dist/fields/index.d.ts +7 -0
- package/dist/fields/index.d.ts.map +1 -1
- package/dist/fields/index.js +10 -1
- package/dist/fields/index.js.map +1 -1
- package/dist/flows/dead-letter.d.ts +18 -1
- package/dist/flows/dead-letter.d.ts.map +1 -1
- package/dist/flows/dead-letter.js +17 -1
- package/dist/flows/dead-letter.js.map +1 -1
- package/dist/flows/engine.d.ts +16 -1
- package/dist/flows/engine.d.ts.map +1 -1
- package/dist/flows/engine.js +218 -29
- package/dist/flows/engine.js.map +1 -1
- package/dist/flows/flow-service.d.ts.map +1 -1
- package/dist/flows/flow-service.js +3 -0
- package/dist/flows/flow-service.js.map +1 -1
- package/dist/flows/step-executor.d.ts +8 -0
- package/dist/flows/step-executor.d.ts.map +1 -1
- package/dist/flows/step-executor.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/runtime/bootstrap.d.ts +18 -1
- package/dist/runtime/bootstrap.d.ts.map +1 -1
- package/dist/runtime/bootstrap.js +36 -5
- package/dist/runtime/bootstrap.js.map +1 -1
- package/dist/runtime/load-extensions.d.ts +2 -1
- package/dist/runtime/load-extensions.d.ts.map +1 -1
- package/dist/runtime/load-extensions.js +49 -1
- package/dist/runtime/load-extensions.js.map +1 -1
- package/dist/runtime/register-consumers.d.ts +3 -0
- package/dist/runtime/register-consumers.d.ts.map +1 -1
- package/dist/runtime/register-consumers.js +27 -6
- package/dist/runtime/register-consumers.js.map +1 -1
- package/dist/runtime/start-worker-pool.d.ts.map +1 -1
- package/dist/runtime/start-worker-pool.js +36 -15
- package/dist/runtime/start-worker-pool.js.map +1 -1
- package/dist/server/bootstrap.d.ts +42 -16
- package/dist/server/bootstrap.d.ts.map +1 -1
- package/dist/server/bootstrap.js +91 -21
- package/dist/server/bootstrap.js.map +1 -1
- package/dist/testing/context.d.ts +2 -0
- package/dist/testing/context.d.ts.map +1 -1
- package/dist/testing/context.js +8 -3
- package/dist/testing/context.js.map +1 -1
- package/dist/testing/field-validation.d.ts.map +1 -1
- package/dist/testing/field-validation.js +3 -0
- package/dist/testing/field-validation.js.map +1 -1
- package/dist/types/config.d.ts +13 -0
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/context.d.ts +70 -4
- package/dist/types/context.d.ts.map +1 -1
- package/dist/types/fields.d.ts +6 -0
- package/dist/types/fields.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/prompt.d.ts +9 -0
- package/dist/types/prompt.d.ts.map +1 -1
- package/dist/worker/bootstrap.d.ts +19 -0
- package/dist/worker/bootstrap.d.ts.map +1 -1
- package/dist/worker/bootstrap.js +156 -84
- package/dist/worker/bootstrap.js.map +1 -1
- package/instructions/README.md +4 -1
- package/instructions/ai-classification.md +132 -0
- package/instructions/ai.md +94 -15
- package/instructions/cli.md +19 -1
- package/instructions/entities.md +3 -1
- package/instructions/flows.md +6 -0
- package/instructions/framework.md +13 -3
- package/instructions/peer-dependencies.md +2 -1
- package/instructions/prompts.md +2 -1
- package/migrations/durable-tenant/0002_approval_cancellation.sql +3 -0
- package/migrations/durable-tenant/meta/_journal.json +7 -0
- package/package.json +6 -5
- package/dist/ai/__typecheck-fixtures__/legacy-cost-api.d.ts +0 -5
- package/dist/ai/__typecheck-fixtures__/legacy-cost-api.d.ts.map +0 -1
- package/dist/ai/__typecheck-fixtures__/legacy-cost-api.js +0 -15
- package/dist/ai/__typecheck-fixtures__/legacy-cost-api.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-service.js","sourceRoot":"","sources":["../../src/ai/ai-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ai-service.js","sourceRoot":"","sources":["../../src/ai/ai-service.ts"],"names":[],"mappings":"AAMA,kCAAkC;AAClC,oEAAoE;AACpE,0GAA0G;AAE1G,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACzF,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAe1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,iBAAiB,IAAI,kBAAkB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC5F,OAAO,EAAE,gCAAgC,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAA0B,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEtF,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EACL,oBAAoB,EAQpB,qBAAqB,GAItB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EACL,iBAAiB,EACjB,sBAAsB,GAEvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AA+CtE;;;GAGG;AACH,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAwCrC,SAAS,QAAQ,CAAC,IAAgB,EAAE,KAAiB;IACnD,kGAAkG;IAClG,MAAM,SAAS,GACb,IAAI,CAAC,eAAe,KAAK,SAAS,IAAI,KAAK,CAAC,eAAe,KAAK,SAAS;QACvE,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC;IACjE,OAAO;QACL,WAAW,EAAE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW;QACjD,YAAY,EAAE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY;QACpD,WAAW,EAAE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW;QACjD,iBAAiB,EAAE,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,CAAC;QACjF,gBAAgB,EAAE,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,CAAC;QAC9E,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC;KACnE,CAAC;AACJ,CAAC;AAED,sFAAsF;AACtF,SAAS,WAAW,CAAC,KAAiB,EAAE,KAAa;IACnD,IAAI,CAAC;QACH,OAAO,kBAAkB,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,EAAE;YACtE,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;YAC1C,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;SACzC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAC3B,KAAwB,EACxB,OAAwB,EACxB,KAAiB,EACjB,YAA2B;IAE3B,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,YAAY,IAAI,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;IACvE,KAAK,CAAC,YAAY;QAChB,KAAK,CAAC,YAAY,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;AAClF,CAAC;AAED,SAAS,sBAAsB,CAC7B,KAAwB,EACxB,OAAwB,EACxB,UAAiD,EAAE;IAEnD,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC;IACrB,IAAI,OAAO,CAAC,KAAK;QAAE,KAAK,CAAC,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,cAAc,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACxF,qFAAqF;IACrF,4FAA4F;IAC5F,mCAAmC;IACnC,MAAM,QAAQ,GACZ,WAAW,CACT;QACE,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,WAAW,EAAE,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,YAAY;KACxD,EACD,OAAO,CAAC,KAAK,CACd,IAAI,CAAC,CAAC;IACT,qFAAqF;IACrF,MAAM,aAAa,GACjB,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC/F,KAAK,CAAC,iBAAiB,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;AAC/D,CAAC;AAED;;;;GAIG;AACH,SAAS,kBAAkB,CACzB,KAAwB,EACxB,OAAwB,EACxB,OAAgB,EAChB,UAAmB,EACnB,MAAqB;IAErB,MAAM,UAAU,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACjD,IAAI,UAAU,IAAI,UAAU,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;QAC7C,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QACvD,OAAO;IACT,CAAC;IACD,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC;IAC9E,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,UAAU,IAAI,yBAAyB,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAC9F,OAAO;IACT,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,IAAI,aAAa,EAAE,CAAC;QACrC,oBAAoB,CAClB,KAAK,EACL,OAAO,EACP,MAAM,CAAC,KAAK,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,EACnE,MAAM,CAAC,IAAI,IAAI,IAAI,CACpB,CAAC;QACF,OAAO;IACT,CAAC;IACD,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAY;IACxC,IAAI,GAAG,YAAY,cAAc,IAAI,GAAG,YAAY,uBAAuB,EAAE,CAAC;QAC5E,OAAO,GAAG,CAAC,KAAK,CAAC;IACnB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AA4ED,0EAA0E;AAC1E,MAAM,UAAU,oBAAoB,CAClC,QAA2B,EAC3B,IAA6D;IAE7D,OAAO;QACL,SAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE;QACxC,eAAe,EAAE,QAAQ,CAAC,IAAI;QAC9B,GAAG,IAAI;KACR,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAC/B,SAA+C,EAC/C,SAAwC;IAExC,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,SAAS,IAAI,SAAS,CAAC;IAC3D,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAuB;IACrD,MAAM,EACJ,SAAS,EACT,cAAc,EAAE,wBAAwB,EACxC,OAAO,EACP,WAAW,EACX,WAAW,EACX,cAAc,EACd,QAAQ,EACR,gBAAgB,GACjB,GAAG,MAAM,CAAC;IACX,MAAM,cAAc,GAClB,OAAO,KAAK,SAAS;QACnB,CAAC,CAAC,CAAC,GAAG,EAAE;YACJ,MAAM,QAAQ,GAAG,wBAAwB,IAAI,oBAAoB,CAAC,EAAE,CAAC,CAAC;YACtE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;oBAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC5D,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC,EAAE;QACN,CAAC,CAAC,wBAAwB,CAAC;IAC/B,MAAM,mBAAmB,GAAG,IAAI,OAAO,EAAyC,CAAC;IACjF,6FAA6F;IAC7F,MAAM,iBAAiB,GAAG,IAAI,OAAO,EAAwC,CAAC;IAC9E,MAAM,gBAAgB,GAAG,MAAM,CAAC,yBAAyB,IAAI;QAC3D,MAAM,EAAE,IAAI,GAAG,EAAkB;KAClC,CAAC;IACF,2FAA2F;IAC3F,sEAAsE;IACtE,MAAM,CAAC,yBAAyB,GAAG,gBAAgB,CAAC;IAEpD,SAAS,WAAW,CAClB,QAAgB,EAChB,SAA8B,EAC9B,WAA2B;QAE3B,OAAO;YACL,QAAQ;YACR,SAAS;YACT,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/D,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvF,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxC,CAAC;IACJ,CAAC;IAED,SAAS,mBAAmB,CAAC,OAA8B;QACzD,MAAM,MAAM,GAAG,MAAM,CAAC,mBAAmB,CAAC;QAC1C,IAAI,CAAC,MAAM;YAAE,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,MAAM,CAAC,kBAAkB,GAAG,CAAC,EAAE,CAAC;YACtF,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;QAC3F,CAAC;QACD,MAAM,KAAK,GACT,MAAM,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC;YAC9B;gBACE,OAAO,CAAC,QAAQ;gBAChB,OAAO,CAAC,QAAQ,IAAI,UAAU;gBAC9B,OAAO,CAAC,WAAW,EAAE,WAAW,IAAI,SAAS;aAC9C,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACd,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,MAAM,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;YACxC,MAAM,IAAI,YAAY,CACpB,UAAU,EACV,kEAAkE,EAClE;gBACE,WAAW,EAAE,mCAAmC;gBAChD,MAAM,EAAE,mCAAmC;gBAC3C,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,KAAK,EAAE,MAAM,CAAC,kBAAkB;gBAChC,iBAAiB,EAAE,CAAC;aACrB,CACF,CAAC;QACJ,CAAC;QACD,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;QAC/C,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,OAAO,GAAG,EAAE;YACV,IAAI,QAAQ;gBAAE,OAAO;YACrB,QAAQ,GAAG,IAAI,CAAC;YAChB,MAAM,SAAS,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAChE,IAAI,SAAS,IAAI,CAAC;gBAAE,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;;gBACrD,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACrD,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,UAAU,sBAAsB,CACnC,OAA8B;QAE9B,MAAM,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,sBAAsB,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QACvE,MAAM,SAAS,GAA2B,EAAE,CAAC;QAC7C,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACpD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACjC,IACE,CAAC,eAAe,EAAE,qBAAqB,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,QAAQ,CACvF,KAAK,CACN,EACD,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,mCAAmC,IAAI,eAAe,CAAC,CAAC;YAC1E,CAAC;YACD,SAAS,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,UAAU,kBAAkB,CAC/B,OAA8B,EAC9B,SAAe,EACf,UAAkB,EAClB,MAAsB,EACtB,WAA+B,EAC/B,KAAe;QAEf,IAAI,CAAC,MAAM,CAAC,cAAc;YAAE,OAAO;QACnC,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,cAAc,CAAC;gBAC1B,GAAG,OAAO;gBACV,SAAS,EAAE,SAAS,CAAC,WAAW,EAAE;gBAClC,UAAU;gBACV,MAAM;gBACN,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvC,GAAG,CAAC,MAAM,KAAK,OAAO;oBACpB,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE;oBACrE,CAAC,CAAC,EAAE,CAAC;aACR,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,+EAA+E;QACjF,CAAC;IACH,CAAC;IAED,SAAS,eAAe,CACtB,YAAgC,EAChC,SAA8B,EAC9B,WAA2B;QAE3B,0FAA0F;QAC1F,MAAM,IAAI,GAAG,YAAY,IAAI,MAAM,CAAC,eAAe,CAAC;QACpD,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,gCAAgC,SAAS,EAAE,CAAC,CAAC;QACnF,CAAC;QACD,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QAClE,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;QACnC,MAAM,KAAK,GAAsB;YAC/B,QAAQ,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE;YAC7D,YAAY,EAAE,CAAC;YACf,SAAS,EAAE,CAAC;YACZ,cAAc,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE;YACnE,iBAAiB,EAAE,CAAC;SACrB,CAAC;QACF,2EAA2E;QAC3E,MAAM,YAAY,GAAG,CAAC,OAAwB,EAAmB,EAAE;YACjE,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC3B,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,cAAc,EAAE,OAAO,CAAC,cAAc;aACvC,CAAC,CAAC;YACH,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YACpE,mFAAmF;YACnF,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,aAAa,CAAC;YAC7C,WAAW,CAAC,WAAW,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,EAAE,SAAS,EAAE;gBAC7D,QAAQ,EAAE,aAAa;gBACvB,KAAK;aACN,CAAC,CAAC;YACH,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC;YAC9B,OAAO;gBACL,KAAK;gBACL,WAAW;gBACX,YAAY,EACV,GAAG,KAAK,SAAS,IAAI,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,uBAAuB;aAC5F,CAAC;QACJ,CAAC,CAAC;QACF,MAAM,OAAO,GAAsB;YACjC,GAAG,OAAO;YACV,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;YAC1C,KAAK,CAAC,QAAQ,CAAC,OAAO;gBACpB,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;gBACtC,MAAM,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;gBAC7C,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;gBAC7B,IAAI,WAA+B,CAAC;gBACpC,qFAAqF;gBACrF,IAAI,UAAU,GAAG,KAAK,CAAC;gBACvB,IAAI,CAAC;oBACH,MAAM,gBAAgB,GAAG,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAC;oBAC/D,WAAW,GAAG,gBAAgB,CAAC,WAAW,CAAC;oBAC3C,wFAAwF;oBACxF,UAAU,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC;oBACtC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,EAAE,GAAG,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;oBAC1E,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBACnC,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;oBACnF,MAAM,kBAAkB,CACtB,OAAO,EACP,SAAS,EACT,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,EAChC,IAAI,EACJ,WAAW,CACZ,CAAC;oBACF,OAAO,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC;gBAC1E,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE;wBACpD,QAAQ,EAAE,KAAK;wBACf,QAAQ,EAAE,KAAK;qBAChB,CAAC,CAAC;oBACH,MAAM,kBAAkB,CACtB,OAAO,EACP,SAAS,EACT,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,EAChC,OAAO,EACP,WAAW,EACX,KAAK,CACN,CAAC;oBACF,MAAM,KAAK,CAAC;gBACd,CAAC;wBAAS,CAAC;oBACT,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC;YACD,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO;gBACnB,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;gBACtC,MAAM,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;gBAC7C,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;gBAC7B,IAAI,WAA+B,CAAC;gBACpC,IAAI,UAAU,GAAG,KAAK,CAAC;gBACvB,IAAI,OAAO,GAAG,KAAK,CAAC;gBACpB,MAAM,QAAQ,GAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;gBACrE,IAAI,CAAC;oBACH,MAAM,gBAAgB,GAAG,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAC;oBAC/D,WAAW,GAAG,gBAAgB,CAAC,WAAW,CAAC;oBAC3C,UAAU,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC;oBACtC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,OAAO,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC;wBAC3E,IAAI,KAAK,CAAC,KAAK;4BAAE,QAAQ,CAAC,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBAClE,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC;wBACpD,IAAI,IAAI,KAAK,SAAS;4BAAE,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;wBAC7C,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;4BAC3B,+EAA+E;4BAC/E,8EAA8E;4BAC9E,4EAA4E;4BAC5E,IAAI,CAAC,OAAO,EAAE,CAAC;gCACb,OAAO,GAAG,IAAI,CAAC;gCACf,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;4BACxE,CAAC;wBACH,CAAC;6BAAM,CAAC;4BACN,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;4BACzB,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;gCAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;wBACtD,CAAC;wBACD,MAAM,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC;oBAC3B,CAAC;oBACD,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,OAAO,GAAG,IAAI,CAAC;wBACf,gFAAgF;wBAChF,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;4BAChE,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;wBACzC,CAAC;6BAAM,CAAC;4BACN,oBAAoB,CAClB,KAAK,EACL,OAAO,EACP,QAAQ,CAAC,KAAK,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,EACrE,QAAQ,CAAC,IAAI,IAAI,IAAI,CACtB,CAAC;wBACJ,CAAC;oBACH,CAAC;oBACD,MAAM,kBAAkB,CACtB,OAAO,EACP,SAAS,EACT,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,EAChC,IAAI,EACJ,WAAW,CACZ,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,OAAO;wBAAE,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;oBAC9E,MAAM,kBAAkB,CACtB,OAAO,EACP,SAAS,EACT,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,EAChC,OAAO,EACP,WAAW,EACX,KAAK,CACN,CAAC;oBACF,MAAM,KAAK,CAAC;gBACd,CAAC;wBAAS,CAAC;oBACT,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC;SACF,CAAC;QACF,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACtC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,SAAS,sBAAsB,CAAC,MAAoB;QAClD,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QACvE,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,SAAS,EAAE,CAAC;YAC5E,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,SAAS,uBAAuB,CAC9B,UAAkB,EAClB,SAAuC;QAEvC,IAAI,CAAC,SAAS;YAAE,OAAO,SAAS,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,6BAA6B,EAAE,CAAC;YAC1C,IAAI,SAAS,CAAC,8BAA8B,EAAE,CAAC;gBAC7C,MAAM,IAAI,KAAK,CACb,WAAW,UAAU,4FAA4F,CAClH,CAAC;YACJ,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,SAAS,CAAC,8BAA8B,EAAE,CAAC;YAC7C,IAAI,SAAS,CAAC,8BAA8B,EAAE,CAAC;gBAC7C,MAAM,IAAI,KAAK,CACb,WAAW,UAAU,wFAAwF,CAC9G,CAAC;YACJ,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,sBAAsB,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,CAAC;YACxF,IAAI,SAAS,CAAC,8BAA8B,EAAE,CAAC;gBAC7C,MAAM,IAAI,KAAK,CACb,WAAW,UAAU,6FAA6F,CACnH,CAAC;YACJ,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAE1B,MAAM,SAAS,GAAG,uBAAuB,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;QAC5E,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5D,OAAO,SAAS,CAAC,MAAM,CAAC;IAC1B,CAAC;IAED,SAAS,qBAAqB,CAAC,GAAY;QACzC,IAAI,GAAG,YAAY,cAAc;YAAE,OAAO,SAAS,CAAC;QACpD,IAAI,GAAG,YAAY,uBAAuB;YAAE,OAAO,YAAY,CAAC;QAChE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;OAMG;IACH,KAAK,UAAU,kBAAkB,CAC/B,KAAwB,EACxB,WAAsC,EACtC,gBAAgB,GAAG,IAAI;QAEvB,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;QACtD,MAAM,aAAa,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;QACjD,KAAK,GAAG;YACN,GAAG,IAAI;YACP,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ;YACjE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK;YACxD,IAAI,EACF,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC5D,mFAAmF;gBACnF,gDAAgD;gBAChD,CAAC,gBAAgB;oBACjB,aAAa,IAAI,IAAI;oBACrB,KAAK,CAAC,SAAS,KAAK,QAAQ;oBAC5B,KAAK,CAAC,IAAI,IAAI,IAAI;oBAClB,KAAK,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC;oBAC3B,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC;oBACxB,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,KAAK,EAAE;wBACjF,iBAAiB,EAAE,KAAK,CAAC,KAAK,CAAC,iBAAiB;wBAChD,gBAAgB,EAAE,KAAK,CAAC,KAAK,CAAC,gBAAgB;qBAC/C,CAAC;oBACJ,CAAC,CAAC,IAAI,CAAC;SACZ,CAAC;QACF,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,UAAU,GAAiB;YAC/B,GAAG,KAAK;YACR,KAAK,EAAE,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE;YACzB,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,GAAG,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,IAAI;YACJ,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,SAAS;YACjC,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE;YACvB,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC;QACF,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAChC,IAAI,gBAAgB,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,MAAM,gBAAgB,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC,CAAC;YACnE,CAAC;YAAC,OAAO,OAAO,EAAE,CAAC;gBACjB,MAAM,GAAG,GAAG,OAAO,YAAY,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACzE,OAAO,CAAC,KAAK,CAAC,6CAA6C,GAAG,EAAE,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;IACH,CAAC;IAED,SAAS,QAAQ,CAAC,CAAyB,EAAE,CAAyB;QACpE,OAAO,QAAQ,CACb,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,EACxD,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CACzD,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,SAAS,cAAc,CACrB,QAA2B,EAC3B,KAAiB,EACjB,KAAa;QAEb,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7F,CAAC;QACD,2FAA2F;QAC3F,oEAAoE;QACpE,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;QAC5E,IAAI,KAAK,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO;gBACL,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC;aACtF,CAAC;QACJ,CAAC;QACD,yFAAyF;QACzF,OAAO;YACL,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,IAAI;YACV,GAAG,CAAC,KAAK,CAAC,YAAY,IAAI,IAAI;gBAC5B,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,iBAAiB,EAAE;gBACjE,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;IACJ,CAAC;IAED,SAAS,WAAW,CAClB,eAAwB,EACxB,gBAAyB,EACzB,KAA2C;QAE3C,IAAI,CAAC,WAAW;YAAE,OAAO;QACzB,MAAM,MAAM,GAAG,WAAW,CAAC,WAAW,CAAC;YACrC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ;YACjC,eAAe;YACf,gBAAgB;YAChB,GAAG,KAAK;SACT,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,qBAAqB,CAAC,MAAM,CAAC,MAAM,IAAI,iBAAiB,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED,SAAS,eAAe,CACtB,UAAkB,EAClB,KAA8B;QAqB9B,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,oDAAoD;YACpD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;QAC1D,CAAC;QACD,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC3C,6CAA6C;QAC7C,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEvB,iEAAiE;QACjE,4DAA4D;QAC5D,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACpF,MAAM,UAAU,GAAG,kBAAkB,CAAC,GAAG,CAAC,WAAW,IAAI,UAAU,EAAE,KAAK,CAAC,CAAC;QAC5E,MAAM,eAAe,GAAG,IAAI,GAAG,CAAS;YACtC,GAAG,CAAC,YAAY,EAAE,eAAe,IAAI,EAAE,CAAC;YACxC,GAAG,UAAU,CAAC,eAAe;SAC9B,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,YAAY,EAAE,IAAI,CAAC;QAClC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAE7B,0FAA0F;QAC1F,wFAAwF;QACxF,4FAA4F;QAC5F,sCAAsC;QACtC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,UAAU,EAAE;YACjD,MAAM,CAAC,eAAe;YACtB,MAAM,CAAC,uBAAuB;SAC/B,CAAC,CAAC;QACH,0FAA0F;QAC1F,6FAA6F;QAC7F,kFAAkF;QAClF,MAAM,eAAe,GACnB,QAAQ,EAAE,SAAS,IAAI,IAAI,IAAI,QAAQ,EAAE,eAAe,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;QAE1F,OAAO;YACL,MAAM;YACN,IAAI;YACJ,KAAK,EAAE,QAAQ,EAAE,KAAK,IAAI,GAAG,CAAC,KAAK,EAAE,IAAI,IAAI,MAAM,CAAC,YAAY;YAChE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,IAAI,GAAG,CAAC,KAAK,EAAE,QAAQ;YACnD,WAAW,EAAE,QAAQ,EAAE,WAAW,IAAI,GAAG,CAAC,KAAK,EAAE,WAAW;YAC5D,SAAS,EAAE,QAAQ,EAAE,SAAS,IAAI,GAAG,CAAC,KAAK,EAAE,SAAS;YACtD,SAAS,EAAE,eAAe,EAAE,SAAS;YACrC,eAAe,EAAE,eAAe,EAAE,eAAe;YACjD,SAAS,EAAE,QAAQ,EAAE,SAAS,IAAI,GAAG,CAAC,KAAK,EAAE,SAAS;YACtD,wBAAwB,EAAE,GAAG,CAAC,wBAAwB;YACtD,eAAe;SAChB,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,SAAS,eAAe,CACtB,UAIC,EACD,UAAmC;QAEnC,IAAI,UAAU,CAAC,wBAAwB,KAAK,KAAK,EAAE,CAAC;YAClD,OAAO,UAAU,CAAC,IAAI,CAAC;QACzB,CAAC;QACD,MAAM,WAAW,GAAG,UAAU,CAAC,eAAe,IAAI,IAAI,GAAG,EAAU,CAAC;QACpE,MAAM,SAAS,GAA4B,EAAE,CAAC;QAC9C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACtD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACzB,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxC,OAAO,UAAU,CAAC,IAAI,CAAC;QACzB,CAAC;QACD,OAAO,GAAG,UAAU,CAAC,IAAI,cAAc,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;IACrE,CAAC;IAED,SAAS,mBAAmB,CAAC,KAA8B;QAIzD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;QAC/B,CAAC;QACD,MAAM,cAAc,GAAG,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC5D,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;YAC3B,MAAM,IAAI,sBAAsB,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAChF,CAAC;QACD,OAAO;YACL,UAAU,EAAE,cAAc,CAAC,aAAa,IAAI,KAAK;YACjD,cAAc;SACf,CAAC;IACJ,CAAC;IAED,8DAA8D;IAC9D,KAAK,UAAU,aAAa,CAAC,MAkB5B;QACC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAEhC,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEzE,eAAe;QACf,MAAM,YAAY,GAAG,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,YAAY;YAC7B,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC;YAC5C,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,GAAG,EAAU,EAAE,CAAC;QAEhE,sDAAsD;QACtD,MAAM,cAAc,GAAG,eAAe,CACpC,MAAM,CAAC,QAAQ,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,EAC/E,UAAU,EACV,MAAM,CAAC,WAAW,CACnB,CAAC;QACF,MAAM,aAAa,GACjB,MAAM,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,IAAI,MAAM,CAAC,YAAY,IAAI,cAAc,CAAC,IAAI,CAAC;QAEjF,wFAAwF;QACxF,uCAAuC;QACvC,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC;QAE3F,gDAAgD;QAChD,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAChF,MAAM,eAAe,GAAG,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACzF,MAAM,cAAc,GAAG,uBAAuB,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAEzE,MAAM,UAAU,GAAG,eAAe,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC3D,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC5E,MAAM,YAAY,GAAG,YAAY;YAC/B,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;YAC9F,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;QAEtB,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC;QAChD,MAAM,oBAAoB,GAAG,MAAM,CAAC,gBAAgB,KAAK,MAAM,CAAC;QAChE,MAAM,kBAAkB,GACtB,YAAY,IAAI,MAAM,CAAC,gBAAgB,KAAK,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;QAC7E,MAAM,oBAAoB,GAAG,CAAC,YAAY,IAAI,CAAC,kBAAkB,CAAC,IAAI,oBAAoB,CAAC;QAC3F,MAAM,wBAAwB,GAAG,SAAS,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QACpF,MAAM,iBAAiB,GAAG,wBAAwB,CAChD,MAAM,CAAC,SAAS,EAChB,WAAW,IAAI,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAC7D,CAAC;QACF,MAAM,6BAA6B,GACjC,MAAM,CAAC,SAAS,KAAK,IAAI,IAAI,MAAM,CAAC,eAAe,KAAK,IAAI;YAC1D,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe;gBACvB,CAAC,iBAAiB,IAAI,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QAClF,MAAM,OAAO,GAAoB;YAC/B,MAAM,EAAE,YAAY,IAAI,SAAS;YACjC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;YACtC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,IAAI,MAAM,CAAC,YAAY;YAC9D,WAAW,EAAE,UAAU,CAAC,WAAW;YACnC,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,SAAS,EAAE,iBAAiB;YAC5B,eAAe,EAAE,6BAA6B;YAC9C,cAAc,EAAE,oBAAoB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,wBAAwB;YAC3E,cAAc,EAAE,oBAAoB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc;YACjE,yBAAyB,EAAE,oBAAoB;gBAC7C,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,SAAS,EAAE,yBAAyB;YACxC,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK;SACpC,CAAC;QACF,4FAA4F;QAC5F,MAAM,SAAS,GACb,MAAM,CAAC,SAAS,IAAI,CAAC,WAAW,IAAI,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACrF,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,oBAAoB,CAAC,SAAS,CAAC,CAAC;YAChC,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;QAC9B,CAAC;QACD,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAC7B,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS;gBAAE,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;YAC5E,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS;gBAAE,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QACvF,CAAC;QAED,IAAI,MAAW,CAAC;QAChB,IAAI,UAAU,GAAe,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QACjF,IAAI,YAAgC,CAAC;QACrC,IAAI,kBAAkB,GAAG,CAAC,CAAC;QAC3B,IAAI,gBAAgB,GAAG,IAAI,CAAC;QAC5B,IAAI,iBAAiB,GAA4C,MAAM,CAAC;QACxE,IAAI,eAAyC,CAAC;QAC9C,IAAI,iBAAqD,CAAC;QAC1D,IAAI,oBAAwF,CAAC;QAE7F,IAAI,CAAC;YACH,IAAI,YAAY,EAAE,CAAC;gBACjB,wEAAwE;gBACxE,yEAAyE;gBACzE,qEAAqE;gBACrE,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACxD,MAAM,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACvC,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC;gBAC5B,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAC7B,eAAe,GAAG,QAAQ,CAAC,SAAS,CAAC;gBACrC,iBAAiB,GAAG,QAAQ,CAAC,aAAa,CAAC;gBAC3C,oBAAoB,GAAG,qBAAqB,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBACpE,IAAI,kBAAkB,IAAI,SAAS,IAAI,oBAAoB,KAAK,YAAY,EAAE,CAAC;oBAC7E,IAAI,CAAC;wBACH,IAAI,oBAAoB,KAAK,MAAM,EAAE,CAAC;4BACpC,MAAM,IAAI,uBAAuB,CAAC;gCAChC,WAAW,EAAE,QAAQ,CAAC,OAAO;gCAC7B,YAAY,EAAE,QAAQ,CAAC,YAAY,IAAI,OAAO;gCAC9C,KAAK,EAAE,QAAQ,CAAC,KAAK;gCACrB,KAAK,EAAE,aAAa;gCACpB,QAAQ,EAAE,cAAc,CAAC,IAAI;6BAC9B,CAAC,CAAC;wBACL,CAAC;wBACD,MAAM,SAAS,GAAG,eAAe;4BAC/B,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,OAAO,EAAE;4BACzC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;wBACjC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAC7B,OAAO,CAAC,cAAc;4BACpB,CAAC,CAAC,gCAAgC,CAAC,SAAS,EAAE,OAAO,CAAC,cAAc,CAAC;4BACrE,CAAC,CAAC,SAAS,CACd,CAAC;oBACJ,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,IAAI,KAAK,YAAY,uBAAuB;4BAAE,MAAM,KAAK,CAAC;wBAC1D,MAAM,IAAI,iBAAiB,CAAC;4BAC1B,QAAQ,EAAE,CAAC;4BACX,SAAS,EAAE,QAAQ,CAAC,OAAO;4BAC3B,SAAS,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;4BAChD,KAAK,EAAE,QAAQ,CAAC,KAAK;4BACrB,KAAK,EAAE,aAAa;4BACpB,QAAQ,EAAE,cAAc,CAAC,IAAI;yBAC9B,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,oBAAoB,EAAE,CAAC;gBAChC,sEAAsE;gBACtE,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACxD,MAAM,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACvC,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC;gBAC5B,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAC7B,MAAM,EAAE,GAAG,qBAAqB,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBACxD,iBAAiB,GAAG,EAAE,KAAK,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,CAAC;iBAAM,IAAI,SAAS,EAAE,CAAC;gBACrB,2BAA2B;gBAC3B,MAAM,SAAS,GAAG,MAAM,sBAAsB,CAAC,cAAc,EAAE,OAAO,EAAE,SAAS,CAAC,MAAM,EAAE;oBACxF,GAAG,MAAM,CAAC,UAAU;oBACpB,GAAG,MAAM,CAAC,UAAU;oBACpB,KAAK,EAAE,aAAa;oBACpB,QAAQ,EAAE,cAAc,CAAC,IAAI;iBAC9B,CAAC,CAAC;gBACH,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC;gBACxB,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC;gBAC7B,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC;gBAC9B,kBAAkB,GAAG,SAAS,CAAC,QAAQ,CAAC;gBACxC,gBAAgB,GAAG,SAAS,CAAC,QAAQ,KAAK,CAAC,CAAC;gBAC5C,iBAAiB,GAAG,MAAM,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACN,iBAAiB;gBACjB,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACxD,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC;gBAC1B,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC;gBAC5B,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAC7B,MAAM,EAAE,GAAG,qBAAqB,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBACxD,iBAAiB,GAAG,EAAE,KAAK,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,oEAAoE;YACpE,qEAAqE;YACrE,2EAA2E;YAC3E,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;YAC5C,MAAM,YAAY,GAChB,GAAG,YAAY,iBAAiB;gBAC9B,CAAC,CAAC,GAAG,CAAC,KAAK;gBACX,CAAC,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;YACzF,MAAM,YAAY,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACtE,MAAM,kBAAkB,CACtB;gBACE,KAAK,EAAE,aAAa;gBACpB,QAAQ,EAAE,cAAc,CAAC,IAAI;gBAC7B,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;gBACpD,SAAS,EAAE,UAAU;gBACrB,GAAG,cAAc,CAAC,cAAc,EAAE,YAAY,EAAE,aAAa,CAAC;gBAC9D,SAAS;gBACT,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ;gBACjC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK;gBAC3B,MAAM,EAAE,qBAAqB,CAAC,GAAG,CAAC;gBAClC,YAAY;aACb,EACD,MAAM,CAAC,WAAW,CACnB,CAAC;YACF,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;QAE5C,MAAM,IAAI,GACR,YAAY;YACZ,kBAAkB,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,YAAY,EAAE,aAAa,EAAE;gBACjF,iBAAiB,EAAE,UAAU,CAAC,iBAAiB;gBAC/C,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;aAC9C,CAAC,CAAC;QAEL,4BAA4B;QAC5B,MAAM,kBAAkB,CACtB;YACE,KAAK,EAAE,aAAa;YACpB,QAAQ,EAAE,cAAc,CAAC,IAAI;YAC7B,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;YACpD,SAAS,EAAE,UAAU;YACrB,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,IAAI,IAAI,IAAI;YAClB,SAAS;YACT,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ;YACjC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK;YAC3B,MAAM,EAAE,SAAS;SAClB,EACD,MAAM,CAAC,WAAW,CACnB,CAAC;QAEF,iBAAiB;QACjB,IAAI,cAAc,EAAE,CAAC;YACnB,cAAc,CAAC,MAAM,CAAC;gBACpB,SAAS,EAAE,UAAU;gBACrB,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;gBACpD,KAAK,EAAE,UAAU,CAAC,KAAK,IAAI,MAAM,CAAC,YAAY;gBAC9C,QAAQ,EAAE,cAAc,CAAC,IAAI;gBAC7B,KAAK,EAAE,UAAU;gBACjB,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,UAAU;gBACjB,UAAU,EAAE;oBACV,MAAM,EAAE,gBAAgB;oBACxB,QAAQ,EAAE,kBAAkB;iBAC7B;gBACD,gBAAgB,EAAE,cAAc,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;gBAChE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK;gBAC3B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ;gBACjC,SAAS;aACV,CAAC,CAAC;QACL,CAAC;QAED,IACE,YAAY;YACZ,oBAAoB,KAAK,YAAY;YACrC,eAAe;YACf,eAAe,CAAC,MAAM,GAAG,CAAC,EAC1B,CAAC;YACD,OAAO;gBACL,YAAY,EAAE,YAAY;gBAC1B,SAAS,EAAE,eAAe;gBAC1B,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClE,KAAK,EAAE,UAAU;gBACjB,KAAK,EAAE,aAAa;gBACpB,QAAQ,EAAE,cAAc,CAAC,IAAI;gBAC7B,IAAI,EAAE,IAAI,IAAI,CAAC;gBACf,aAAa,EAAE,IAAI,IAAI,IAAI;aAC5B,CAAC;QACJ,CAAC;QAED,IAAI,oBAAoB,GAA4C,iBAAiB,CAAC;QACtF,IAAI,YAAY,IAAI,oBAAoB,EAAE,CAAC;YACzC,oBAAoB,GAAG,oBAAoB,KAAK,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC;QAChG,CAAC;QAED,OAAO;YACL,YAAY,EAAE,oBAAoB;YAClC,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,UAAU;YACjB,KAAK,EAAE,aAAa;YACpB,QAAQ,EAAE,cAAc,CAAC,IAAI;YAC7B,IAAI,EAAE,IAAI,IAAI,CAAC;YACf,aAAa,EAAE,IAAI,IAAI,IAAI;SAC5B,CAAC;IACJ,CAAC;IAgBD,SAAS,iBAAiB,CACxB,MAIC;QAED,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,UAAU,eAAe,CAC5B,MAAyB,EACzB,SAAgC,EAChC,UAAkD,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO;QAE5E,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/E,2FAA2F;QAC3F,MAAM,WAAW,GAAG,sBAAsB,CAAC;QAC3C,MAAM,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,WAAW,CAAC,CAA0B,CAAC;QACrE,IAAI,YAAY,GAA4B,EAAE,CAAC;QAC/C,IAAI,QAA8B,CAAC;QACnC,IAAI,YAAgC,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,CAAI,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE;YACpE,MAAM,CAAC,KAAK;gBACV,MAAM,OAAO,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;gBAC3C,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC;gBAClC,QAAQ,GAAG,OAAO,CAAC,cAAc,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC9E,OAAO,YAAY,CAAC;YACtB,CAAC;YACD,WAAW;YACX,KAAK,CAAC,MAAM,CAAC,MAAM;gBACjB,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;gBACnC,MAAM,kBAAkB,CACtB;oBACE,GAAG,MAAM;oBACT,SAAS;oBACT,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ;oBACjC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK;iBAC5B,EACD,WAAW;gBACX,uEAAuE;gBACvE,KAAK,CACN,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;QACH,cAAc,EAAE,MAAM,CAAC;YACrB,SAAS;YACT,YAAY;YACZ,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,KAAK,EAAE,YAAY;YACnB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC;YACvB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,gBAAgB,EAAE,QAAQ;YAC1B,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ;YACjC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK;SAC5B,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO;QACL,WAAW,CAAC,QAAQ;YAClB,OAAO,eAAe,CAAC;gBACrB,GAAG,MAAM;gBACT,MAAM,EAAE,EAAE,GAAG,QAAQ,EAAE;gBACvB,yBAAyB,EAAE,gBAAgB;aAC5C,CAAC,CAAC;QACL,CAAC;QACD,QAAQ,EAAE,EAAE,6BAA6B,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;QACvE,kBAAkB;QAElB,uBAAuB,CAAC,MAAM,GAAG,EAAE;YACjC,WAAW,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,CACJ,MAAyB;YAEzB,OAAO,eAAe,CAAI,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC9C,CAAC;QAED,KAAK,CAAC,QAAQ,CAAC,MAcd;YACC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;YAC3C,IAAI,MAAM,CAAC,YAAY,KAAK,YAAY,EAAE,CAAC;gBACzC,MAAM,IAAI,KAAK,CACb,wHAAwH,CACzH,CAAC;YACJ,CAAC;YACD,OAAO,MAAM,CAAC,IAAI,CAAC;QACrB,CAAC;QAED,iBAAiB;QAEjB,KAAK,CAAC,CAAC,cAAc,CAAC,MAgCrB;YACC,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YACtC,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACzE,MAAM,sBAAsB,GAAG,cAAc,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAE9E,eAAe;YACf,MAAM,YAAY,GAAG,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACxD,MAAM,UAAU,GAAG,YAAY;gBAC7B,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC;gBAC5C,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,GAAG,EAAU,EAAE,CAAC;YAEhE,mBAAmB;YACnB,MAAM,cAAc,GAAG,eAAe,CACpC,MAAM,CAAC,QAAQ,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,EAC/E,QAAQ,EACR,MAAM,CAAC,WAAW,CACnB,CAAC;YACF,MAAM,aAAa,GACjB,MAAM,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,IAAI,MAAM,CAAC,YAAY,IAAI,cAAc,CAAC,IAAI,CAAC;YAEjF,8EAA8E;YAC9E,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC;YAE3F,qEAAqE;YACrE,sEAAsE;YACtE,0DAA0D;YAC1D,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAChF,MAAM,eAAe,GAAG,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACzF,qEAAqE;YACrE,8DAA8D;YAC9D,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;YACnF,MAAM,cAAc,GAAG,eAAe,KAAK,SAAS,IAAI,cAAc,CAAC;YACvE,MAAM,cAAc,GAAG,uBAAuB,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAEzE,MAAM,UAAU,GAAG,eAAe,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YAE3D,wEAAwE;YACxE,sEAAsE;YACtE,iEAAiE;YACjE,iEAAiE;YACjE,qEAAqE;YACrE,8DAA8D;YAC9D,MAAM,mBAAmB,GAAG,SAAS,EAAE,0BAA0B,KAAK,IAAI,CAAC;YAE3E,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC5E,MAAM,iBAAiB,GAAG,YAAY;gBACpC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,cAAc;oBACd,CAAC,CAAC,mBAAmB;wBACnB,CAAC,CAAC,UAAU;wBACZ,CAAC,CAAC,GAAG,UAAU,sGAAsG;oBACvH,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;wBAC7D,CAAC,CAAC,GAAG,UAAU,uCAAuC;wBACtD,CAAC,CAAC,UAAU,CAAC;YAEnB,MAAM,YAAY,GAAG,YAAY;gBAC/B,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC;qBAC5B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;qBAC/C,IAAI,CAAC,MAAM,CAAC;gBACjB,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;YAEtB,MAAM,iBAAiB,GAAG,wBAAwB,CAChD,MAAM,CAAC,SAAS,EAChB,WAAW,IAAI,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAC7D,CAAC;YACF,MAAM,6BAA6B,GACjC,MAAM,CAAC,SAAS,KAAK,IAAI,IAAI,MAAM,CAAC,eAAe,KAAK,IAAI;gBAC1D,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe;oBACvB,CAAC,iBAAiB,IAAI,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YAElF,MAAM,OAAO,GAAoB;gBAC/B,MAAM,EAAE,YAAY,IAAI,SAAS;gBACjC,MAAM,EAAE,iBAAiB;gBACzB,sEAAsE;gBACtE,oEAAoE;gBACpE,gBAAgB;gBAChB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,IAAI,MAAM,CAAC,YAAY;gBAC9D,WAAW,EAAE,UAAU,CAAC,WAAW;gBACnC,SAAS,EAAE,UAAU,CAAC,SAAS;gBAC/B,SAAS,EAAE,iBAAiB;gBAC5B,eAAe,EAAE,6BAA6B;gBAC9C,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;gBAChD,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc;gBAC3D,yBAAyB,EAAE,SAAS,EAAE,yBAAyB;gBAC/D,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK;aACpC,CAAC;YACF,4FAA4F;YAC5F,qFAAqF;YACrF,MAAM,SAAS,GACb,MAAM,CAAC,SAAS,IAAI,CAAC,WAAW,IAAI,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACrF,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,oBAAoB,CAAC,SAAS,CAAC,CAAC;gBAChC,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;YAC9B,CAAC;YAED,uDAAuD;YACvD,IAAI,QAAQ,GAAG,EAAE,CAAC;YAClB,IAAI,WAAmE,CAAC;YACxE,IAAI,oBAAwC,CAAC;YAC7C,IAAI,kBAAsC,CAAC;YAC3C,IAAI,CAAC;gBACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;oBACzD,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;wBAClD,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC;wBACxB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;oBAC7C,CAAC;yBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;wBACjD,WAAW,GAAG;4BACZ,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW;4BACpC,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY;4BACtC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW;4BACpC,iBAAiB,EAAE,KAAK,CAAC,KAAK,CAAC,iBAAiB;4BAChD,gBAAgB,EAAE,KAAK,CAAC,KAAK,CAAC,gBAAgB;4BAC9C,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,KAAK,SAAS;gCAC3C,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC,eAAe,EAAE;gCAClD,CAAC,CAAC,EAAE,CAAC;yBACR,CAAC;wBACF,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI;4BAAE,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC;oBAC1D,CAAC;yBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;wBACjC,iEAAiE;wBACjE,0DAA0D;wBAC1D,kEAAkE;wBAClE,+BAA+B;wBAC/B,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;4BACvB,oBAAoB,GAAG,KAAK,CAAC,YAAY,CAAC;wBAC5C,CAAC;wBACD,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI;4BAAE,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC;wBACxD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;4BAChB,WAAW,GAAG;gCACZ,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW;gCACpC,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY;gCACtC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW;gCACpC,iBAAiB,EAAE,KAAK,CAAC,KAAK,CAAC,iBAAiB;gCAChD,gBAAgB,EAAE,KAAK,CAAC,KAAK,CAAC,gBAAgB;gCAC9C,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,KAAK,SAAS;oCAC3C,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC,eAAe,EAAE;oCAClD,CAAC,CAAC,EAAE,CAAC;6BACR,CAAC;wBACJ,CAAC;oBACH,CAAC;yBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;wBAClC,gEAAgE;wBAChE,iEAAiE;wBACjE,MAAM,kBAAkB,CACtB;4BACE,KAAK,EAAE,aAAa;4BACpB,QAAQ,EAAE,cAAc,CAAC,IAAI;4BAC7B,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;4BACpD,SAAS,EAAE,UAAU;4BACrB,GAAG,cAAc,CACf,cAAc,EACd,WAAW,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,EAClE,aAAa,CACd;4BACD,SAAS,EAAE,CAAC;4BACZ,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ;4BACjC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK;4BAC3B,MAAM,EAAE,QAAQ;4BAChB,YAAY,EAAE,KAAK,CAAC,KAAK;yBAC1B,EACD,MAAM,CAAC,WAAW,CACnB,CAAC;wBACF,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;wBAC5C,OAAO;oBACT,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,iEAAiE;gBACjE,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAC;oBACxC,WAAW,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;gBACrE,MAAM,kBAAkB,CACtB;oBACE,KAAK,EAAE,aAAa;oBACpB,QAAQ,EAAE,cAAc,CAAC,IAAI;oBAC7B,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;oBACpD,SAAS,EAAE,UAAU;oBACrB,GAAG,cAAc,CAAC,cAAc,EAAE,QAAQ,EAAE,aAAa,CAAC;oBAC1D,SAAS,EAAE,CAAC;oBACZ,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ;oBACjC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK;oBAC3B,MAAM,EAAE,qBAAqB,CAAC,GAAG,CAAC;oBAClC,YAAY,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBAC/D,EACD,MAAM,CAAC,WAAW,CACnB,CAAC;gBACF,MAAM,GAAG,CAAC;YACZ,CAAC;YAED,iDAAiD;YACjD,MAAM,UAAU,GACd,kBAAkB;gBAClB,CAAC,WAAW,IAAI,aAAa,CAAC,aAAa,CAAC;oBAC1C,CAAC,CAAC,kBAAkB,CAAC,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,YAAY,EAAE,aAAa,EAAE;wBACnF,iBAAiB,EAAE,WAAW,CAAC,iBAAiB;wBAChD,gBAAgB,EAAE,WAAW,CAAC,gBAAgB;qBAC/C,CAAC;oBACJ,CAAC,CAAC,SAAS,CAAC,CAAC;YAEjB,MAAM,QAAQ,GAAG;gBACf,KAAK,EAAE,WAAW;gBAClB,KAAK,EAAE,aAAa;gBACpB,QAAQ,EAAE,cAAc,CAAC,IAAI;gBAC7B,IAAI,EAAE,UAAU;gBAChB,aAAa,EAAE,UAAU,IAAI,IAAI;gBACjC,YAAY,EAAE,oBAAoB;aACnC,CAAC;YAEF,IACE,OAAO,CAAC,cAAc;gBACtB,CAAC,oBAAoB,KAAK,QAAQ,IAAI,oBAAoB,KAAK,YAAY,CAAC,EAC5E,CAAC;gBACD,MAAM,YAAY,GAAG,WAAW,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;gBACxF,MAAM,kBAAkB,CACtB;oBACE,KAAK,EAAE,aAAa;oBACpB,QAAQ,EAAE,cAAc,CAAC,IAAI;oBAC7B,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;oBACpD,SAAS,EAAE,UAAU;oBACrB,KAAK,EAAE,YAAY;oBACnB,IAAI,EAAE,UAAU,IAAI,IAAI;oBACxB,SAAS,EAAE,CAAC;oBACZ,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ;oBACjC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK;oBAC3B,MAAM,EAAE,YAAY;oBACpB,YAAY,EAAE,uDAAuD,oBAAoB,EAAE;iBAC5F,EACD,MAAM,CAAC,WAAW,CACnB,CAAC;gBACF,MAAM,IAAI,uBAAuB,CAAC;oBAChC,QAAQ,EAAE,cAAc,CAAC,IAAI;oBAC7B,KAAK,EAAE,aAAa;oBACpB,WAAW,EAAE,QAAQ;oBACrB,KAAK,EAAE,YAAY;oBACnB,YAAY,EAAE,oBAAoB;iBACnC,CAAC,CAAC;YACL,CAAC;YAED,mCAAmC;YACnC,IAAI,cAAc,EAAE,CAAC;gBACnB,kEAAkE;gBAClE,MAAM,kBAAkB,CACtB;oBACE,KAAK,EAAE,aAAa;oBACpB,QAAQ,EAAE,cAAc,CAAC,IAAI;oBAC7B,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;oBACpD,SAAS,EAAE,UAAU;oBACrB,KAAK,EAAE,WAAW,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE;oBACzE,IAAI,EAAE,UAAU,IAAI,IAAI;oBACxB,SAAS,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,WAAW;oBAC1C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ;oBACjC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK;oBAC3B,MAAM,EAAE,SAAS;iBAClB,EACD,MAAM,CAAC,WAAW,CACnB,CAAC;gBACF,IAAI,cAAc,IAAI,sBAAsB,EAAE,MAAM,EAAE,CAAC;oBACrD,cAAc,CAAC,MAAM,CAAC;wBACpB,SAAS,EAAE,UAAU;wBACrB,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;wBACpD,KAAK,EAAE,aAAa;wBACpB,QAAQ,EAAE,cAAc,CAAC,IAAI;wBAC7B,KAAK,EAAE,UAAU;wBACjB,MAAM,EAAE,eAAe;4BACrB,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE;4BACxC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE;wBAC7B,KAAK,EAAE,WAAW,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE;wBACzE,UAAU,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE;wBACzC,gBAAgB,EAAE,sBAAsB;wBACxC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK;wBAC3B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ;wBACjC,SAAS,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,WAAW;qBAC3C,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM;oBACJ,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,CAAC,eAAe;wBACpB,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE;wBACxC,CAAC,CAAE,QAAQ,CAAC,IAAI,EAAc,CAA4B;oBAC5D,GAAG,QAAQ;iBACZ,CAAC;YACJ,CAAC;iBAAM,IAAI,SAAS,EAAE,CAAC;gBACrB,IAAI,aAAsB,CAAC;gBAC3B,IAAI,gCAAgC,GAAG,KAAK,CAAC;gBAC7C,IAAI,aAAqC,CAAC;gBAC1C,IAAI,YAAgC,CAAC;gBACrC,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;oBACpC,sFAAsF;oBACtF,qCAAqC;oBACrC,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CACpC,OAAO,CAAC,cAAc;wBACpB,CAAC,CAAC,gCAAgC,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC;wBAClE,CAAC,CAAC,MAAM,CACX,CAAC;gBACJ,CAAC;gBAAC,OAAO,QAAQ,EAAE,CAAC;oBAClB,iEAAiE;oBACjE,gEAAgE;oBAChE,kEAAkE;oBAClE,6DAA6D;oBAC7D,gEAAgE;oBAChE,IAAI,SAAS,CAAC,4BAA4B,EAAE,CAAC;wBAC3C,MAAM,MAAM,GAAG,QAAQ,YAAY,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;wBAC/E,OAAO,CAAC,KAAK,CACX,WAAW,MAAM,CAAC,MAAM,kFAAkF,MAAM,8BAA8B,QAAQ,CAAC,MAAM,iBAAiB,oBAAoB,IAAI,SAAS,EAAE,CAClN,CAAC;wBACF,MAAM,YAAY,GAAG,WAAW,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;wBACxF,MAAM,kBAAkB,CACtB;4BACE,KAAK,EAAE,aAAa;4BACpB,QAAQ,EAAE,cAAc,CAAC,IAAI;4BAC7B,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;4BACpD,SAAS,EAAE,UAAU;4BACrB,GAAG,cAAc,CAAC,cAAc,EAAE,YAAY,EAAE,aAAa,CAAC;4BAC9D,SAAS,EAAE,CAAC;4BACZ,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ;4BACjC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK;4BAC3B,MAAM,EAAE,QAAQ;4BAChB,YAAY,EAAE,mDAAmD,MAAM,EAAE;yBAC1E,EACD,MAAM,CAAC,WAAW,CACnB,CAAC;wBACF,MAAM,IAAI,KAAK,CACb,GAAG,MAAM,CAAC,MAAM,iEAAiE,MAAM,EAAE,CAC1F,CAAC;oBACJ,CAAC;oBACD,kEAAkE;oBAClE,iEAAiE;oBACjE,8DAA8D;oBAC9D,SAAS;oBACT,gCAAgC,GAAG,IAAI,CAAC;oBACxC,OAAO,CAAC,IAAI,CACV,WAAW,MAAM,CAAC,MAAM,+DAA+D,QAAQ,YAAY,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,6CAA6C,QAAQ,CAAC,MAAM,iBAAiB,oBAAoB,IAAI,SAAS,EAAE,CACvQ,CAAC;oBACF,IAAI,CAAC;wBACH,MAAM,SAAS,GAAG,MAAM,sBAAsB,CAC5C,cAAc,EACd,EAAE,GAAG,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,EACtC,SAAS,CAAC,MAAM,EAChB,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,CAAC,IAAI,EAAE,CAC9E,CAAC;wBACF,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC;wBAC/B,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC;wBAChC,YAAY;4BACV,SAAS,CAAC,IAAI;gCACd,kBAAkB,CAChB,SAAS,CAAC,KAAK,CAAC,WAAW,EAC3B,SAAS,CAAC,KAAK,CAAC,YAAY,EAC5B,aAAa,EACb,SAAS,CAAC,KAAK,CAChB,CAAC;oBACN,CAAC;oBAAC,OAAO,WAAW,EAAE,CAAC;wBACrB,8DAA8D;wBAC9D,4DAA4D;wBAC5D,iDAAiD;wBACjD,MAAM,kBAAkB,GACtB,WAAW,YAAY,iBAAiB;4BACtC,CAAC,CAAC,WAAW,CAAC,KAAK;4BACnB,CAAC,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,IAAI;gCACpC,WAAW,EAAE,CAAC;gCACd,YAAY,EAAE,CAAC;gCACf,WAAW,EAAE,CAAC;6BACf,CAAC,CAAC;wBACT,MAAM,aAAa,GAAG,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;wBAChE,MAAM,kBAAkB,CACtB;4BACE,KAAK,EAAE,aAAa;4BACpB,QAAQ,EAAE,cAAc,CAAC,IAAI;4BAC7B,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;4BACpD,SAAS,EAAE,UAAU;4BACrB,GAAG,cAAc,CAAC,cAAc,EAAE,aAAa,EAAE,aAAa,CAAC;4BAC/D,SAAS,EAAE,CAAC;4BACZ,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ;4BACjC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK;4BAC3B,MAAM,EAAE,qBAAqB,CAAC,WAAW,CAAC;4BAC1C,YAAY,EACV,WAAW,YAAY,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;yBAC3E,EACD,MAAM,CAAC,WAAW,CACnB,CAAC;wBACF,MAAM,WAAW,CAAC;oBACpB,CAAC;gBACH,CAAC;gBACD,MAAM,YAAY,GAAG,gCAAgC;oBACnD,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;oBACtC,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;gBACzE,MAAM,WAAW,GAAG,gCAAgC;oBAClD,CAAC,CAAC,UAAU,IAAI,IAAI,IAAI,YAAY,IAAI,IAAI;wBAC1C,CAAC,CAAC,UAAU,GAAG,YAAY;wBAC3B,CAAC,CAAC,SAAS;oBACb,CAAC,CAAC,UAAU,CAAC;gBACf,MAAM,kBAAkB,CACtB;oBACE,KAAK,EAAE,aAAa;oBACpB,QAAQ,EAAE,cAAc,CAAC,IAAI;oBAC7B,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;oBACpD,SAAS,EAAE,UAAU;oBACrB,YAAY,EAAE,gCAAgC,IAAI,SAAS;oBAC3D,KAAK,EAAE,YAAY;oBACnB,IAAI,EAAE,WAAW,IAAI,IAAI;oBACzB,SAAS,EAAE,CAAC;oBACZ,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ;oBACjC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK;oBAC3B,MAAM,EAAE,SAAS;iBAClB,EACD,MAAM,CAAC,WAAW,CACnB,CAAC;gBACF,MAAM;oBACJ,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,aAAoC;oBAC1C,GAAG,QAAQ;oBACX,KAAK,EAAE,YAAY;oBACnB,IAAI,EAAE,WAAW;oBACjB,aAAa,EAAE,WAAW,IAAI,IAAI;oBAClC,uBAAuB,EAAE,gCAAgC;iBAC1D,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,kBAAkB,CACtB;oBACE,KAAK,EAAE,aAAa;oBACpB,QAAQ,EAAE,cAAc,CAAC,IAAI;oBAC7B,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;oBACpD,SAAS,EAAE,UAAU;oBACrB,KAAK,EAAE,WAAW,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE;oBACzE,IAAI,EAAE,UAAU,IAAI,IAAI;oBACxB,SAAS,EAAE,CAAC;oBACZ,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ;oBACjC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK;oBAC3B,MAAM,EAAE,SAAS;iBAClB,EACD,MAAM,CAAC,WAAW,CACnB,CAAC;gBACF,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,GAAG,QAAQ,EAAE,CAAC;YACnE,CAAC;QACH,CAAC;QAED,KAAK,CAAC,OAAO,CAAC,MAMb;YACC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAChC,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,mBAAmB,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YAClF,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAE1C,0DAA0D;YAC1D,MAAM,cAAc,GAAG,eAAe,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YACjF,MAAM,aAAa,GAAG,MAAM,CAAC,YAAY,IAAI,cAAc,CAAC,IAAI,CAAC;YAEjE,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC;YAE3F,MAAM,YAAY,GAChB,kGAAkG,CAAC;YACrG,MAAM,OAAO,GAAoB;gBAC/B,MAAM,EAAE,YAAY;gBACpB,MAAM,EAAE,SAAS;gBACjB,KAAK,EAAE,MAAM,CAAC,YAAY;gBAC1B,cAAc,EAAE,MAAM;gBACtB,cAAc,EAAE,MAAM,CAAC,6BAA6B;oBAClD,CAAC,CAAC,uBAAuB,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM;oBAC1E,CAAC,CAAC,SAAS;gBACb,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC;YACF,gFAAgF;YAChF,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBACnC,oBAAoB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACvC,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC;YACrC,CAAC;YAED,IAAI,SAA2E,CAAC;YAChF,IAAI,CAAC;gBACH,SAAS,GAAG,CAAC,MAAM,sBAAsB,CAAC,cAAc,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE;oBAChF,GAAG,MAAM,CAAC,UAAU;oBACpB,KAAK,EAAE,aAAa;oBACpB,QAAQ,EAAE,cAAc,CAAC,IAAI;iBAC9B,CAAC,CAAqE,CAAC;YAC1E,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;gBAC5C,MAAM,YAAY,GAChB,GAAG,YAAY,iBAAiB;oBAC9B,CAAC,CAAC,GAAG,CAAC,KAAK;oBACX,CAAC,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;gBACzF,MAAM,kBAAkB,CACtB;oBACE,KAAK,EAAE,aAAa;oBACpB,QAAQ,EAAE,cAAc,CAAC,IAAI;oBAC7B,SAAS,EAAE,SAAS;oBACpB,GAAG,cAAc,CAAC,cAAc,EAAE,YAAY,EAAE,aAAa,CAAC;oBAC9D,SAAS;oBACT,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ;oBACjC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK;oBAC3B,MAAM,EAAE,qBAAqB,CAAC,GAAG,CAAC;oBAClC,YAAY,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBAC/D,EACD,MAAM,CAAC,WAAW,CACnB,CAAC;gBACF,MAAM,GAAG,CAAC;YACZ,CAAC;YAED,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;YAE5C,MAAM,kBAAkB,CACtB;gBACE,KAAK,EAAE,aAAa;gBACpB,QAAQ,EAAE,cAAc,CAAC,IAAI;gBAC7B,SAAS,EAAE,SAAS;gBACpB,KAAK,EAAE,SAAS,CAAC,KAAK;gBACtB,IAAI,EACF,SAAS,CAAC,IAAI;oBACd,kBAAkB,CAChB,SAAS,CAAC,KAAK,CAAC,WAAW,EAC3B,SAAS,CAAC,KAAK,CAAC,YAAY,EAC5B,aAAa,EACb,SAAS,CAAC,KAAK,CAChB;oBACD,IAAI;gBACN,SAAS;gBACT,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ;gBACjC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK;gBAC3B,MAAM,EAAE,SAAS;aAClB,EACD,MAAM,CAAC,WAAW,CACnB,CAAC;YAEF,IAAI,cAAc,EAAE,CAAC;gBACnB,cAAc,CAAC,MAAM,CAAC;oBACpB,SAAS,EAAE,SAAS;oBACpB,KAAK,EAAE,MAAM,CAAC,YAAY;oBAC1B,QAAQ,EAAE,cAAc,CAAC,IAAI;oBAC7B,KAAK,EAAE,UAAU;oBACjB,gBAAgB,EAAE,cAAc,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;oBAC5E,MAAM,EAAE,SAAS,CAAC,IAAI;oBACtB,KAAK,EAAE,SAAS,CAAC,KAAK;oBACtB,UAAU,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,QAAQ,KAAK,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE;oBAC9E,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK;oBAC3B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ;oBACjC,SAAS;iBACV,CAAC,CAAC;YACL,CAAC;YAED,OAAO,SAAS,CAAC,IAAI,CAAC;QACxB,CAAC;QAED,KAAK,CAAC,QAAQ,CAAC,MAA4C;YACzD,MAAM,OAAO,GAAG,CAAC;iBACd,MAAM,CAAC;gBACN,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;gBAC7C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;gBAC1C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;aACxD,CAAC;iBACD,SAAS,CAAC,MAAM,CAAC,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,OAAO;gBAAE,MAAM,kBAAkB,EAAE,CAAC,UAAU,CAAC,gCAAgC,CAAC,CAAC;YAC9F,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YACpD,IAAI,QAAQ,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC;gBACxF,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC;oBACpC,MAAM,kBAAkB,EAAE,CAAC,UAAU,CACnC,8EAA8E,CAC/E,CAAC;gBACJ,MAAM,KAAK,GAAG,CAAC;qBACZ,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;qBAChF,SAAS,CAAC,MAAM,CAAC,CAAC;gBACrB,IAAI,CAAC,KAAK,CAAC,OAAO;oBAChB,MAAM,kBAAkB,EAAE,CAAC,UAAU,CACnC,wEAAwE,CACzE,CAAC;gBACJ,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC;gBACpC,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAClC,MAAM,CAAC,GAAG,CACR,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CACf;oBACE,SAAS,KAAK,EAAE;oBAChB;wBACE,IAAI,EAAE,aAAsB;wBAC5B,YAAY,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,mCAAmC,EAAE;qBACvE;iBACO,CACb,CACF,CAAC;gBACF,MAAM,MAAM,GAAG,CAAC,MAAwC,EAAE,EAAE,CAC1D,MAAM,CAAC,MAAM,CACX,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAChB,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,KAAK,EAAE,CAAC,EAAE,WAAW,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,CAC9E,CAAC;gBACJ,MAAM,MAAM,GAAG,MAAM,eAAe,CAClC;oBACE,KAAK,EAAE,EAAE,IAAI,EAAE;oBACf,SAAS;oBACT,QAAQ;oBACR,KAAK;oBACL,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,WAAW,EAAE,MAAM,CAAC,WAAW;iBAChC,EACD,UAAU,EACV,MAAM,CACP,CAAC;gBACF,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACxB,CAAC;YACD,IAAI,QAAQ,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACjD,MAAM,kBAAkB,EAAE,CAAC,UAAU,CAAC,2CAA2C,CAAC,CAAC;YACrF,IAAI,SAAS,KAAK,SAAS;gBACzB,MAAM,kBAAkB,EAAE,CAAC,UAAU,CACnC,uDAAuD,CACxD,CAAC;YACJ,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAChC,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,mBAAmB,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YAClF,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAE1C,iFAAiF;YACjF,MAAM,cAAc,GAAG,eAAe,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YACjF,MAAM,cAAc,GAAG,KAAK,IAAI,MAAM,CAAC,YAAY,CAAC;YACpD,MAAM,aAAa,GAAG,cAAc,IAAI,cAAc,CAAC,IAAI,CAAC;YAE5D,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC;YAE3F,MAAM,YAAY,GAChB,qHAAqH,CAAC;YACxH,MAAM,OAAO,GAAoB;gBAC/B,MAAM,EAAE,YAAY;gBACpB,MAAM,EAAE,WAAW,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,SAAS,EAAE;gBACxE,KAAK,EAAE,cAAc;gBACrB,cAAc,EAAE,MAAM;gBACtB,cAAc,EAAE,MAAM,CAAC,6BAA6B;oBAClD,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM;oBACjF,CAAC,CAAC,SAAS;gBACb,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC;YACF,gFAAgF;YAChF,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBACnC,oBAAoB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACvC,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC;YACrC,CAAC;YAED,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;YACnC,IAAI,SAAuE,CAAC;YAC5E,IAAI,CAAC;gBACH,SAAS,GAAG,MAAM,sBAAsB,CAAC,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE;oBACxE,GAAG,MAAM,CAAC,UAAU;oBACpB,KAAK,EAAE,aAAa;oBACpB,QAAQ,EAAE,cAAc,CAAC,IAAI;iBAC9B,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;gBAC5C,MAAM,YAAY,GAChB,GAAG,YAAY,iBAAiB;oBAC9B,CAAC,CAAC,GAAG,CAAC,KAAK;oBACX,CAAC,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;gBACzF,MAAM,kBAAkB,CACtB;oBACE,KAAK,EAAE,aAAa;oBACpB,QAAQ,EAAE,cAAc,CAAC,IAAI;oBAC7B,SAAS,EAAE,UAAU;oBACrB,GAAG,cAAc,CAAC,cAAc,EAAE,YAAY,EAAE,aAAa,CAAC;oBAC9D,SAAS;oBACT,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ;oBACjC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK;oBAC3B,MAAM,EAAE,qBAAqB,CAAC,GAAG,CAAC;oBAClC,YAAY,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBAC/D,EACD,MAAM,CAAC,WAAW,CACnB,CAAC;gBACF,MAAM,GAAG,CAAC;YACZ,CAAC;YAED,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;YAE5C,8BAA8B;YAC9B,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAE/E,MAAM,kBAAkB,CACtB;gBACE,KAAK,EAAE,aAAa;gBACpB,QAAQ,EAAE,cAAc,CAAC,IAAI;gBAC7B,SAAS,EAAE,UAAU;gBACrB,KAAK,EAAE,SAAS,CAAC,KAAK;gBACtB,IAAI,EACF,SAAS,CAAC,IAAI;oBACd,kBAAkB,CAChB,SAAS,CAAC,KAAK,CAAC,WAAW,EAC3B,SAAS,CAAC,KAAK,CAAC,YAAY,EAC5B,aAAa,EACb,SAAS,CAAC,KAAK,CAChB;oBACD,IAAI;gBACN,SAAS;gBACT,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ;gBACjC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK;gBAC3B,MAAM,EAAE,SAAS;aAClB,EACD,MAAM,CAAC,WAAW,CACnB,CAAC;YAEF,IAAI,cAAc,EAAE,CAAC;gBACnB,cAAc,CAAC,MAAM,CAAC;oBACpB,SAAS,EAAE,UAAU;oBACrB,KAAK,EAAE,cAAc;oBACrB,QAAQ,EAAE,cAAc,CAAC,IAAI;oBAC7B,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,UAAU,EAAE;oBAC/C,gBAAgB,EAAE,cAAc,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;oBAC5E,MAAM,EAAE,MAAM;oBACd,KAAK,EAAE,SAAS,CAAC,KAAK;oBACtB,UAAU,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,QAAQ,KAAK,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE;oBAC9E,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK;oBAC3B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ;oBACjC,SAAS;iBACV,CAAC,CAAC;YACL,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,KAAK,CAAC,QAAQ,CAAC,MAQd;YACC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;YAC5E,CAAC;YAED,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAEhC,WAAW,EAAE,CAAC;YACd,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS;gBAAE,oBAAoB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAE3E,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC;gBACzC,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ;gBACjC,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,GAAG,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1E,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClE,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;YAE5C,IAAI,cAAc,EAAE,CAAC;gBACnB,cAAc,CAAC,MAAM,CAAC;oBACpB,SAAS,EAAE,UAAU;oBACrB,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE;oBAC9B,MAAM,EAAE,OAAO;oBACf,gBAAgB,EAAE,OAAO;oBACzB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK;oBAC3B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ;oBACjC,SAAS;iBACV,CAAC,CAAC;YACL,CAAC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -6,7 +6,8 @@ export interface AICostRecord {
|
|
|
6
6
|
model: string;
|
|
7
7
|
provider: string;
|
|
8
8
|
promptName?: string;
|
|
9
|
-
|
|
9
|
+
decisionName?: string;
|
|
10
|
+
operation: 'generate' | 'extract' | 'classify' | 'decide' | 'embed' | 'transcribe' | 'synthesize' | 'transport';
|
|
10
11
|
/**
|
|
11
12
|
* True when the call originally streamed but fell back to a non-streaming
|
|
12
13
|
* retry after the streamed text failed JSON/schema validation. Both the
|
|
@@ -29,12 +30,21 @@ export interface AICostRecord {
|
|
|
29
30
|
};
|
|
30
31
|
/** Provider-reported or catalog-estimated USD cost; null when unknown. */
|
|
31
32
|
cost: number | null;
|
|
33
|
+
/**
|
|
34
|
+
* What dollar budgets charge while `cost` is null: the call's known spend plus, for each
|
|
35
|
+
* attempt whose usage never came back (e.g. the connection dropped after the request was
|
|
36
|
+
* sent), its input estimate and output cap at the model's price. An attempt on a model
|
|
37
|
+
* with no price adds nothing. Not a billed amount, so `cost` stays null.
|
|
38
|
+
*/
|
|
39
|
+
estimatedCost?: number;
|
|
32
40
|
latencyMs: number;
|
|
33
41
|
tenantId?: string;
|
|
34
42
|
actor?: string;
|
|
35
43
|
/**
|
|
36
44
|
* Whether the underlying provider call completed successfully. Failed rows
|
|
37
|
-
* still represent real provider-side spend and count toward budget caps
|
|
45
|
+
* still represent real provider-side spend and count toward budget caps;
|
|
46
|
+
* a call that never reached the provider, or that it turned away, is
|
|
47
|
+
* recorded at zero cost.
|
|
38
48
|
* Defaults to 'success' inside `createCostTracker` when the caller does
|
|
39
49
|
* not set it, preserving pre-0.3.0 behavior for existing consumers.
|
|
40
50
|
*/
|
|
@@ -56,6 +66,9 @@ export interface BudgetConfig {
|
|
|
56
66
|
* `status` to `'success'` internally.
|
|
57
67
|
*/
|
|
58
68
|
export type AICostRecordInput = Omit<AICostRecord, 'id' | 'timestamp' | 'status' | 'cost'> & {
|
|
69
|
+
/** Framework-generated identity shared with the persistence hook. */
|
|
70
|
+
id?: string;
|
|
71
|
+
timestamp?: Date;
|
|
59
72
|
status?: AICostRecord['status'];
|
|
60
73
|
cost?: number | null;
|
|
61
74
|
};
|
|
@@ -69,6 +82,13 @@ export interface CostTracker {
|
|
|
69
82
|
* layers can compute this ahead of time and pre-check shared daily caps.
|
|
70
83
|
*/
|
|
71
84
|
estimatedCostUsd?: number;
|
|
85
|
+
/**
|
|
86
|
+
* Provider and model the call will use. Unpriced spend (a row with neither a cost nor an
|
|
87
|
+
* estimate) then refuses only calls to that provider and model; a check without them is
|
|
88
|
+
* refused by unpriced spend on any model.
|
|
89
|
+
*/
|
|
90
|
+
provider?: string;
|
|
91
|
+
model?: string;
|
|
72
92
|
}): BudgetCheckResult;
|
|
73
93
|
getDailyUsage(tenantId?: string): DailyUsage;
|
|
74
94
|
getRecords(): AICostRecord[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cost-tracker.d.ts","sourceRoot":"","sources":["../../src/ai/cost-tracker.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAa,MAAM,mBAAmB,CAAC;AAInE,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,IAAI,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EACL,UAAU,GACV,SAAS,GACT,UAAU,GACV,OAAO,GACP,YAAY,GACZ,YAAY,GACZ,WAAW,CAAC;IAChB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,KAAK,EAAE,UAAU,CAAC;IAClB;;;OAGG;IACH,UAAU,CAAC,EAAE;QACX,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC7B,CAAC;IACF,0EAA0E;IAC1E,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf
|
|
1
|
+
{"version":3,"file":"cost-tracker.d.ts","sourceRoot":"","sources":["../../src/ai/cost-tracker.ts"],"names":[],"mappings":"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"}
|
package/dist/ai/cost-tracker.js
CHANGED
|
@@ -35,15 +35,46 @@ export function createCostTracker(budget, usageClients) {
|
|
|
35
35
|
}
|
|
36
36
|
return { total, available };
|
|
37
37
|
}
|
|
38
|
+
/** What a row costs the dollar budgets: its known cost, else its recorded estimate. */
|
|
39
|
+
function sumCharges(recs) {
|
|
40
|
+
let total = 0;
|
|
41
|
+
for (const r of recs)
|
|
42
|
+
total += r.cost ?? r.estimatedCost ?? 0;
|
|
43
|
+
return total;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Spend the budgets cannot count: no cost and no estimate on a call the provider answered,
|
|
47
|
+
* i.e. a model nobody can price. More calls to it would add more uncountable spend, so the
|
|
48
|
+
* budget refuses them. A failed row without any usage is a call whose attempt never brought
|
|
49
|
+
* an answer back; it cannot be priced either, but it is one call and must not lock out the
|
|
50
|
+
* rest of the day.
|
|
51
|
+
*/
|
|
52
|
+
function isUnpriced(record) {
|
|
53
|
+
if (record.cost != null || record.estimatedCost != null)
|
|
54
|
+
return false;
|
|
55
|
+
return (record.status !== 'failed' ||
|
|
56
|
+
record.usage.totalTokens > 0 ||
|
|
57
|
+
Object.values(record.mediaUsage ?? {}).some((amount) => (amount ?? 0) > 0));
|
|
58
|
+
}
|
|
38
59
|
return {
|
|
39
60
|
record(entry) {
|
|
61
|
+
const identity = z
|
|
62
|
+
.object({ id: z.string().min(1).optional(), timestamp: z.date().optional() })
|
|
63
|
+
.safeParse(entry);
|
|
64
|
+
if (!identity.success)
|
|
65
|
+
throw createErrorService().validation('Invalid AI cost record identity');
|
|
66
|
+
const { estimatedCost: rawEstimate, ...rest } = entry;
|
|
67
|
+
const cost = normalizeCost(entry.cost);
|
|
68
|
+
// A known cost supersedes any estimate; an invalid estimate is dropped like an invalid cost.
|
|
69
|
+
const estimatedCost = cost == null ? normalizeCost(rawEstimate) : null;
|
|
40
70
|
records.push({
|
|
41
|
-
...
|
|
42
|
-
cost
|
|
71
|
+
...rest,
|
|
72
|
+
cost,
|
|
73
|
+
...(estimatedCost != null ? { estimatedCost } : {}),
|
|
43
74
|
usage: validateTokenUsage(entry.usage),
|
|
44
75
|
status: entry.status ?? 'success',
|
|
45
|
-
id: crypto.randomUUID(),
|
|
46
|
-
timestamp: new Date(),
|
|
76
|
+
id: identity.data.id ?? crypto.randomUUID(),
|
|
77
|
+
timestamp: identity.data.timestamp ? new Date(identity.data.timestamp) : new Date(),
|
|
47
78
|
});
|
|
48
79
|
},
|
|
49
80
|
checkBudget(config) {
|
|
@@ -51,10 +82,26 @@ export function createCostTracker(budget, usageClients) {
|
|
|
51
82
|
.object({
|
|
52
83
|
estimatedTokens: z.number().finite().nonnegative().optional(),
|
|
53
84
|
estimatedCostUsd: z.number().finite().nonnegative().optional(),
|
|
85
|
+
provider: z.string().optional(),
|
|
86
|
+
model: z.string().optional(),
|
|
54
87
|
})
|
|
55
88
|
.safeParse(config);
|
|
56
89
|
if (!estimate.success)
|
|
57
90
|
return { allowed: false, reason: 'Invalid budget estimate' };
|
|
91
|
+
const { provider, model } = estimate.data;
|
|
92
|
+
// Unpriced spend refuses only the calls that would add to it: a scoped check is blocked
|
|
93
|
+
// by its own provider and model, an unscoped one (media, decisions) by any.
|
|
94
|
+
const unpricedReason = (recs, budgetName) => {
|
|
95
|
+
const blocked = recs.some((record) => isUnpriced(record) &&
|
|
96
|
+
(provider == null ||
|
|
97
|
+
(record.provider === provider && (model == null || record.model === model))));
|
|
98
|
+
if (!blocked)
|
|
99
|
+
return undefined;
|
|
100
|
+
if (provider == null)
|
|
101
|
+
return `Cost data unavailable for prior requests — ${budgetName} budget cannot be enforced.`;
|
|
102
|
+
const subject = model == null ? provider : `${provider} ${model}`;
|
|
103
|
+
return `Cost data unavailable for prior ${subject} requests — ${budgetName} budget cannot be enforced for them.`;
|
|
104
|
+
};
|
|
58
105
|
if (budget?.maxTokensPerRequest != null && config.estimatedTokens != null) {
|
|
59
106
|
if (config.estimatedTokens > budget.maxTokensPerRequest) {
|
|
60
107
|
return {
|
|
@@ -65,14 +112,10 @@ export function createCostTracker(budget, usageClients) {
|
|
|
65
112
|
}
|
|
66
113
|
if (budget?.dailyCostLimit != null) {
|
|
67
114
|
const daily = getTodayRecords();
|
|
68
|
-
const
|
|
69
|
-
const
|
|
70
|
-
if (
|
|
71
|
-
return {
|
|
72
|
-
allowed: false,
|
|
73
|
-
reason: 'Cost data unavailable for prior requests — daily budget cannot be enforced.',
|
|
74
|
-
};
|
|
75
|
-
}
|
|
115
|
+
const projectedTotal = sumCharges(daily) + (config.estimatedCostUsd ?? 0);
|
|
116
|
+
const unavailable = unpricedReason(daily, 'daily');
|
|
117
|
+
if (unavailable)
|
|
118
|
+
return { allowed: false, reason: unavailable };
|
|
76
119
|
if (projectedTotal >= budget.dailyCostLimit) {
|
|
77
120
|
return {
|
|
78
121
|
allowed: false,
|
|
@@ -82,14 +125,10 @@ export function createCostTracker(budget, usageClients) {
|
|
|
82
125
|
}
|
|
83
126
|
if (budget?.perTenantDailyLimit != null && config.tenantId) {
|
|
84
127
|
const tenantDaily = getTodayRecords(config.tenantId);
|
|
85
|
-
const
|
|
86
|
-
const
|
|
87
|
-
if (
|
|
88
|
-
return {
|
|
89
|
-
allowed: false,
|
|
90
|
-
reason: 'Cost data unavailable for prior requests — tenant budget cannot be enforced.',
|
|
91
|
-
};
|
|
92
|
-
}
|
|
128
|
+
const projectedTotal = sumCharges(tenantDaily) + (config.estimatedCostUsd ?? 0);
|
|
129
|
+
const unavailable = unpricedReason(tenantDaily, 'tenant');
|
|
130
|
+
if (unavailable)
|
|
131
|
+
return { allowed: false, reason: unavailable };
|
|
93
132
|
if (projectedTotal >= budget.perTenantDailyLimit) {
|
|
94
133
|
return {
|
|
95
134
|
allowed: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cost-tracker.js","sourceRoot":"","sources":["../../src/ai/cost-tracker.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,uDAAuD;AACvD,8EAA8E;AAE9E,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAGxD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"cost-tracker.js","sourceRoot":"","sources":["../../src/ai/cost-tracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,8 +4,9 @@ import type { TokenUsage } from './provider.js';
|
|
|
4
4
|
export interface AIInvocationRecord {
|
|
5
5
|
id: string;
|
|
6
6
|
timestamp: Date;
|
|
7
|
-
operation: 'generate' | 'extract' | 'classify' | 'retrieve';
|
|
7
|
+
operation: 'generate' | 'extract' | 'classify' | 'retrieve' | 'decide';
|
|
8
8
|
promptName?: string;
|
|
9
|
+
decisionName?: string;
|
|
9
10
|
model?: string;
|
|
10
11
|
provider?: string;
|
|
11
12
|
input: Record<string, unknown>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"explainability.d.ts","sourceRoot":"","sources":["../../src/ai/explainability.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"explainability.d.ts","sourceRoot":"","sources":["../../src/ai/explainability.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,QAAQ,CAAC;IACvE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,mCAAmC;IACnC,gBAAgB,CAAC,EAAE,UAAU,EAAE,CAAC;IAChC,wBAAwB;IACxB,UAAU,CAAC,EAAE;QACX,MAAM,EAAE,OAAO,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;IACF,+BAA+B;IAC/B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAGD,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,kBAAkB,EAAE,IAAI,GAAG,WAAW,CAAC,GAAG,kBAAkB,CAAC;IACrF,UAAU,IAAI,kBAAkB,EAAE,CAAC;IACnC,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAAC;CACvD;AAED,MAAM,WAAW,oBAAoB;IACnC,uDAAuD;IACvD,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,2BAA2B,CACzC,MAAM,CAAC,EAAE,oBAAoB,GAC5B,uBAAuB,CAuCzB"}
|
|
@@ -16,6 +16,7 @@ export function createExplainabilityTracker(config) {
|
|
|
16
16
|
config.audit.record(`ai.${invocation.operation}`, {
|
|
17
17
|
actor: invocation.actor ?? config.actor ?? 'system',
|
|
18
18
|
promptName: invocation.promptName,
|
|
19
|
+
decisionName: invocation.decisionName,
|
|
19
20
|
model: invocation.model,
|
|
20
21
|
usage: invocation.usage,
|
|
21
22
|
retrievalSourceCount: invocation.retrievalSources?.length ?? 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"explainability.js","sourceRoot":"","sources":["../../src/ai/explainability.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,kGAAkG;AAClG,wCAAwC;
|
|
1
|
+
{"version":3,"file":"explainability.js","sourceRoot":"","sources":["../../src/ai/explainability.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,kGAAkG;AAClG,wCAAwC;AAgDxC,MAAM,UAAU,2BAA2B,CACzC,MAA6B;IAE7B,MAAM,OAAO,GAAyB,EAAE,CAAC;IAEzC,OAAO;QACL,MAAM,CAAC,UAAU;YACf,MAAM,MAAM,GAAuB;gBACjC,GAAG,UAAU;gBACb,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE;gBACvB,SAAS,EAAE,IAAI,IAAI,EAAE;aACtB,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAErB,oCAAoC;YACpC,IAAI,MAAM,EAAE,KAAK,EAAE,CAAC;gBAClB,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,UAAU,CAAC,SAAS,EAAE,EAAE;oBAChD,KAAK,EAAE,UAAU,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,IAAI,QAAQ;oBACnD,UAAU,EAAE,UAAU,CAAC,UAAU;oBACjC,YAAY,EAAE,UAAU,CAAC,YAAY;oBACrC,KAAK,EAAE,UAAU,CAAC,KAAK;oBACvB,KAAK,EAAE,UAAU,CAAC,KAAK;oBACvB,oBAAoB,EAAE,UAAU,CAAC,gBAAgB,EAAE,MAAM,IAAI,CAAC;oBAC9D,kBAAkB,EAAE,UAAU,CAAC,UAAU,EAAE,QAAQ;oBACnD,oBAAoB,EAAE,UAAU,CAAC,gBAAgB,EAAE,MAAM,IAAI,CAAC;oBAC9D,SAAS,EAAE,UAAU,CAAC,SAAS;oBAC/B,OAAO,EAAE,UAAU,CAAC,UAAU,EAAE,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;iBACzE,CAAC,CAAC;YACL,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,UAAU;YACR,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;QACtB,CAAC;QAED,WAAW,CAAC,UAAkB;YAC5B,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;QAC5D,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/dist/ai/index.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export { createAIService, singleProviderConfig, type AICostContext, type AIServiceConfig, type OnAICostRecorded, } from './ai-service.js';
|
|
1
|
+
export { createAIService, singleProviderConfig, type AICostContext, type AIProviderCallContext, type AIProviderConcurrencyConfig, type AIProviderOperation, type AIProviderSpan, type AIServiceConfig, type OnAICostRecorded, } from './ai-service.js';
|
|
2
2
|
export { fillPromptTemplate } from './fill-prompt-template.js';
|
|
3
3
|
export { createCostTracker, type AICostRecord, type AICostRecordInput, type BudgetCheckResult, type BudgetConfig, type CostTracker, type DailyUsage, type UsageSyncResult, } from './cost-tracker.js';
|
|
4
4
|
export { deriveLedgerUsage, type DerivedLedgerUsage, type LedgerUsageKind, } from './derive-ledger-usage.js';
|
|
5
5
|
export { createExplainabilityTracker, type AIExplainabilityTracker, type AIInvocationRecord, type ExplainabilityConfig, } from './explainability.js';
|
|
6
6
|
export { allKnownModels, calculateModelCost, estimateModelCost, findModelRate, type Kind, type ModelRate, } from './model-pricing.js';
|
|
7
7
|
export { PromptRegistry, createPromptRegistry } from './prompt-registry.js';
|
|
8
|
-
export { createAnthropicAdapter, createOpenAIAdapter, createProviderAdapter, joinAndFilterModels, normalizeFinishReason, type AIProviderAdapter, type AIProviderCapabilities, type AITool, type AIToolCall, type AIToolChoice, type AIToolExecutionOptions, type ChatMessage, type AnthropicAdapterConfig, type EmbeddingRequest, type EmbeddingResponse, type ListModelsFilter, type OpenAIAdapterConfig, type ProviderAssistantState, type ProviderModel, type ProviderRequest, type ProviderResponse, type ProviderStreamEvent, type TokenUsage, } from './provider.js';
|
|
8
|
+
export { createAnthropicAdapter, createOpenAIAdapter, createProviderAdapter, isProviderAPIError, isProviderTimeoutError, joinAndFilterModels, normalizeFinishReason, ProviderAPIError, type AICacheConfig, type AIPromptCacheOption, type AIProviderAdapter, type AIProviderCapabilities, type AITool, type AIToolCall, type AIToolChoice, type AIToolExecutionOptions, type ChatMessage, type AnthropicAdapterConfig, type EmbeddingRequest, type EmbeddingResponse, type ListModelsFilter, type OpenAIAdapterConfig, type ProviderAssistantState, type ProviderModel, type ProviderRequest, type ProviderResponse, type ProviderStreamEvent, type TokenUsage, } from './provider.js';
|
|
9
9
|
export { runToolLoop, safeJsonStringify, type RunToolLoopParams, type RunToolLoopResult, } from './tool-loop.js';
|
|
10
10
|
export { AIIncompleteOutputError, AIInvalidRequestError, AIRefusalError } from './refusal.js';
|
|
11
11
|
export { ProviderJsonSchemaError, zodToProviderJsonSchema, type ProviderJsonSchemaOptions, type ProviderJsonSchemaResult, } from './zod-to-provider-schema.js';
|
package/dist/ai/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"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"}
|
package/dist/ai/index.js
CHANGED
|
@@ -17,7 +17,7 @@ export { allKnownModels, calculateModelCost, estimateModelCost, findModelRate, }
|
|
|
17
17
|
// Prompt registry
|
|
18
18
|
export { PromptRegistry, createPromptRegistry } from './prompt-registry.js';
|
|
19
19
|
// Provider adapters
|
|
20
|
-
export { createAnthropicAdapter, createOpenAIAdapter, createProviderAdapter, joinAndFilterModels, normalizeFinishReason, } from './provider.js';
|
|
20
|
+
export { createAnthropicAdapter, createOpenAIAdapter, createProviderAdapter, isProviderAPIError, isProviderTimeoutError, joinAndFilterModels, normalizeFinishReason, ProviderAPIError, } from './provider.js';
|
|
21
21
|
// Bounded provider-native tool loop
|
|
22
22
|
export { runToolLoop, safeJsonStringify, } from './tool-loop.js';
|
|
23
23
|
// Provider-side structured output errors
|
package/dist/ai/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"AAAA,kBAAkB;AAClB,6EAA6E;AAC7E,kFAAkF;AAClF,yCAAyC;AACzC,EAAE;AACF,uFAAuF;AAEvF,aAAa;AACb,OAAO,EACL,eAAe,EACf,oBAAoB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"AAAA,kBAAkB;AAClB,6EAA6E;AAC7E,kFAAkF;AAClF,yCAAyC;AACzC,EAAE;AACF,uFAAuF;AAEvF,aAAa;AACb,OAAO,EACL,eAAe,EACf,oBAAoB,GAQrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,gBAAgB;AAChB,OAAO,EACL,iBAAiB,GAQlB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,iBAAiB,GAGlB,MAAM,0BAA0B,CAAC;AAClC,iBAAiB;AACjB,OAAO,EACL,2BAA2B,GAI5B,MAAM,qBAAqB,CAAC;AAC7B,gBAAgB;AAChB,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,GAGd,MAAM,oBAAoB,CAAC;AAC5B,kBAAkB;AAClB,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5E,oBAAoB;AACpB,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,GAqBjB,MAAM,eAAe,CAAC;AACvB,oCAAoC;AACpC,OAAO,EACL,WAAW,EACX,iBAAiB,GAGlB,MAAM,gBAAgB,CAAC;AACxB,yCAAyC;AACzC,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9F,wCAAwC;AACxC,OAAO,EACL,uBAAuB,EACvB,uBAAuB,GAGxB,MAAM,6BAA6B,CAAC;AACrC,eAAe;AACf,OAAO,EACL,aAAa,EACb,yBAAyB,EACzB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,GASf,MAAM,gBAAgB,CAAC;AACxB,WAAW;AACX,OAAO,EACL,qBAAqB,EACrB,mBAAmB,GAKpB,MAAM,eAAe,CAAC;AACvB,mBAAmB;AACnB,OAAO,EACL,aAAa,EACb,oBAAoB,GAKrB,MAAM,mBAAmB,CAAC;AAC3B,oBAAoB;AACpB,OAAO,EACL,iBAAiB,EACjB,sBAAsB,GAGvB,MAAM,iBAAiB,CAAC;AACzB,gEAAgE;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EACL,oCAAoC,EACpC,qCAAqC,EACrC,iCAAiC,EACjC,sBAAsB,EACtB,6BAA6B,EAC7B,4BAA4B,GAC7B,MAAM,yBAAyB,CAAC;AAmBjC,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAM/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -18,6 +18,8 @@ export interface ModelRate {
|
|
|
18
18
|
cachedInputPerMTok?: number;
|
|
19
19
|
/** Above this inclusive input-token boundary, charge 2× input/cache and 1.5× output. */
|
|
20
20
|
longContextThreshold?: number;
|
|
21
|
+
/** Published rates above `longContextThreshold`, replacing the 2× / 1.5× rule. */
|
|
22
|
+
longContextRates?: Pick<ModelRate, 'inputPerMTok' | 'outputPerMTok' | 'cachedInputPerMTok'>;
|
|
21
23
|
/**
|
|
22
24
|
* Capability classification. Optional on the type for backward compat —
|
|
23
25
|
* existing consumers that destructure only the rate fields keep working —
|
|
@@ -48,9 +50,13 @@ export declare function calculateModelCost(inputTokens: number, outputTokens: nu
|
|
|
48
50
|
*
|
|
49
51
|
* Pricing adjustments applied:
|
|
50
52
|
* - **Cached input tokens**: published per-model rate, defaulting to 0.1× input.
|
|
51
|
-
* - **Cache write tokens**:
|
|
53
|
+
* - **Cache write tokens**: 1.25× the base input rate for Claude and for OpenAI GPT-5.6 and
|
|
54
|
+
* later, the base input rate for earlier OpenAI models (`cacheWriteMultiplier`). Both providers
|
|
55
|
+
* count cache writes inside the input tokens, so they are priced once.
|
|
52
56
|
* - **Long context premium**: for Claude Sonnet 4 / 4.5, when total input exceeds
|
|
53
|
-
* 200K tokens, or
|
|
57
|
+
* 200K tokens, or OpenAI models with a `longContextThreshold` (GPT-5.4 to GPT-6)
|
|
58
|
+
* over 272K, charge 2× input/cache and 1.5× output. Claude Haiku 5.5 over 100K uses
|
|
59
|
+
* its published `longContextRates`.
|
|
54
60
|
*
|
|
55
61
|
* Returns undefined for unknown/unsupported models; explicitly free adapters may report zero.
|
|
56
62
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-pricing.d.ts","sourceRoot":"","sources":["../../src/ai/model-pricing.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"model-pricing.d.ts","sourceRoot":"","sources":["../../src/ai/model-pricing.ts"],"names":[],"mappings":"AAwBA;;;;;;;;;GASG;AACH,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG,WAAW,GAAG,YAAY,GAAG,OAAO,GAAG,OAAO,CAAC;AAE3E,MAAM,WAAW,SAAS;IACxB,8BAA8B;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,4EAA4E;IAC5E,aAAa,EAAE,MAAM,CAAC;IACtB,8EAA8E;IAC9E,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,wFAAwF;IACxF,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kFAAkF;IAClF,gBAAgB,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,cAAc,GAAG,eAAe,GAAG,oBAAoB,CAAC,CAAC;IAC5F;;;;OAIG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC;CACb;AA6MD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAkB7D;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAG5E;AA+BD,4FAA4F;AAC5F,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;IAAE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAE,GAClE,MAAM,CAER;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;IACR,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,GACA,MAAM,GAAG,SAAS,CAiDpB"}
|