@agentguard-run/spend 0.4.4 → 0.6.0

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.
Files changed (63) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +23 -0
  3. package/dist/index.d.ts +14 -1
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +37 -3
  6. package/dist/index.js.map +1 -1
  7. package/dist/middleware/provenance.d.ts +11 -0
  8. package/dist/middleware/provenance.d.ts.map +1 -0
  9. package/dist/middleware/provenance.js +17 -0
  10. package/dist/middleware/provenance.js.map +1 -0
  11. package/dist/middleware/provider-registry.d.ts +34 -0
  12. package/dist/middleware/provider-registry.d.ts.map +1 -0
  13. package/dist/middleware/provider-registry.js +290 -0
  14. package/dist/middleware/provider-registry.js.map +1 -0
  15. package/dist/posture/enforce.d.ts +19 -0
  16. package/dist/posture/enforce.d.ts.map +1 -0
  17. package/dist/posture/enforce.js +109 -0
  18. package/dist/posture/enforce.js.map +1 -0
  19. package/dist/receipts/schema.d.ts +46 -0
  20. package/dist/receipts/schema.d.ts.map +1 -0
  21. package/dist/receipts/schema.js +23 -0
  22. package/dist/receipts/schema.js.map +1 -0
  23. package/dist/spend-guard.d.ts +20 -0
  24. package/dist/spend-guard.d.ts.map +1 -1
  25. package/dist/spend-guard.js +24 -2
  26. package/dist/spend-guard.js.map +1 -1
  27. package/dist/types.d.ts +10 -0
  28. package/dist/types.d.ts.map +1 -1
  29. package/dist/workflow/chain-validator.d.ts +4 -0
  30. package/dist/workflow/chain-validator.d.ts.map +1 -0
  31. package/dist/workflow/chain-validator.js +37 -0
  32. package/dist/workflow/chain-validator.js.map +1 -0
  33. package/dist/workflow/context.d.ts +46 -0
  34. package/dist/workflow/context.d.ts.map +1 -0
  35. package/dist/workflow/context.js +360 -0
  36. package/dist/workflow/context.js.map +1 -0
  37. package/dist/workflow/errors.d.ts +43 -0
  38. package/dist/workflow/errors.d.ts.map +1 -0
  39. package/dist/workflow/errors.js +40 -0
  40. package/dist/workflow/errors.js.map +1 -0
  41. package/dist/workflow/index.d.ts +6 -0
  42. package/dist/workflow/index.d.ts.map +1 -0
  43. package/dist/workflow/index.js +20 -0
  44. package/dist/workflow/index.js.map +1 -0
  45. package/dist/workflow/receipt.d.ts +41 -0
  46. package/dist/workflow/receipt.d.ts.map +1 -0
  47. package/dist/workflow/receipt.js +76 -0
  48. package/dist/workflow/receipt.js.map +1 -0
  49. package/dist/workflow/types.d.ts +79 -0
  50. package/dist/workflow/types.d.ts.map +1 -0
  51. package/dist/workflow/types.js +3 -0
  52. package/dist/workflow/types.js.map +1 -0
  53. package/package.json +13 -3
  54. package/src/middleware/provenance.ts +31 -0
  55. package/src/middleware/provider-registry.ts +289 -0
  56. package/src/posture/enforce.ts +87 -0
  57. package/src/receipts/schema.ts +81 -0
  58. package/src/workflow/chain-validator.ts +35 -0
  59. package/src/workflow/context.ts +418 -0
  60. package/src/workflow/errors.ts +27 -0
  61. package/src/workflow/index.ts +18 -0
  62. package/src/workflow/receipt.ts +107 -0
  63. package/src/workflow/types.ts +95 -0
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.AgentGuardConsentRequiredError = exports.AgentGuardComplianceError = void 0;
37
+ exports.enforceCompliance = enforceCompliance;
38
+ exports.verifyConsentReceipt = verifyConsentReceipt;
39
+ const http = __importStar(require("http"));
40
+ const https = __importStar(require("https"));
41
+ class AgentGuardComplianceError extends Error {
42
+ code = 'AGENTGUARD_COMPLIANCE_BLOCK';
43
+ constructor(message) {
44
+ super(message);
45
+ this.name = 'AgentGuardComplianceError';
46
+ }
47
+ }
48
+ exports.AgentGuardComplianceError = AgentGuardComplianceError;
49
+ class AgentGuardConsentRequiredError extends Error {
50
+ code = 'AGENTGUARD_CONSENT_REQUIRED';
51
+ constructor(message) {
52
+ super(message);
53
+ this.name = 'AgentGuardConsentRequiredError';
54
+ }
55
+ }
56
+ exports.AgentGuardConsentRequiredError = AgentGuardConsentRequiredError;
57
+ const DEFAULT_CONSENT_BASE_URL = 'https://agentguard.run';
58
+ async function enforceCompliance(provenance, config = {}) {
59
+ if (!provenance.compliance.foreign_origin_weight_flag)
60
+ return;
61
+ const posture = config.posture ?? 'standard';
62
+ if (posture === 'compliance') {
63
+ throw new AgentGuardComplianceError('Foreign origin weights are blocked in compliance posture. Set posture to standard and provide foreign_origin_consent_receipt_id to use this model.');
64
+ }
65
+ if (posture !== 'standard')
66
+ return;
67
+ const consentId = config.foreignOriginConsentReceiptId || provenance.compliance.foreign_origin_consent_receipt_id;
68
+ if (!consentId) {
69
+ throw new AgentGuardConsentRequiredError('This call uses foreign origin weights. Generate a consent receipt at https://agentguard.run/dashboard/consent/foreign-origin-weights before using this model.');
70
+ }
71
+ const verified = await verifyConsentReceipt(consentId, config);
72
+ if (!verified) {
73
+ throw new AgentGuardConsentRequiredError(`Foreign origin consent receipt ${consentId} is invalid or expired.`);
74
+ }
75
+ }
76
+ async function verifyConsentReceipt(consentId, config = {}) {
77
+ if (!/^ag_consent_[A-Za-z0-9_-]+$/.test(consentId))
78
+ return false;
79
+ const base = (config.consentEndpointBaseUrl || DEFAULT_CONSENT_BASE_URL).replace(/\/$/, '');
80
+ const raw = await (config.consentGetJson ?? getJson)(`${base}/api/consent/verify/${encodeURIComponent(consentId)}`);
81
+ return Boolean(raw && typeof raw === 'object' && raw.valid === true);
82
+ }
83
+ function getJson(url) {
84
+ if (url.startsWith('mock://'))
85
+ return Promise.resolve({ valid: true });
86
+ return new Promise((resolve, reject) => {
87
+ const parsed = new URL(url);
88
+ const client = parsed.protocol === 'http:' ? http : https;
89
+ const req = client.request({ method: 'GET', hostname: parsed.hostname, port: parsed.port, path: parsed.pathname + parsed.search, timeout: 5000 }, (res) => {
90
+ const chunks = [];
91
+ res.on('data', (chunk) => chunks.push(chunk));
92
+ res.on('end', () => {
93
+ const text = Buffer.concat(chunks).toString('utf8');
94
+ if ((res.statusCode ?? 0) >= 400)
95
+ return reject(new Error(`consent endpoint failed: ${res.statusCode}`));
96
+ try {
97
+ resolve(text ? JSON.parse(text) : {});
98
+ }
99
+ catch {
100
+ resolve({});
101
+ }
102
+ });
103
+ });
104
+ req.on('error', reject);
105
+ req.on('timeout', () => req.destroy(new Error('consent endpoint timed out')));
106
+ req.end();
107
+ });
108
+ }
109
+ //# sourceMappingURL=enforce.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enforce.js","sourceRoot":"","sources":["../../src/posture/enforce.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ import type { ReceiptV2 } from '../workflow/types';
2
+ export type ProvenanceProvider = 'anthropic' | 'openai' | 'google' | 'mistral' | 'meta' | 'cohere' | 'fireworks' | 'baseten' | 'together' | 'deepseek' | 'moonshot' | 'alibaba' | 'self_hosted' | 'unknown';
3
+ export type WeightsOriginCountry = 'US' | 'EU' | 'UK' | 'CA' | 'CN' | 'unknown';
4
+ export type JurisdictionCountry = 'US' | 'EU' | 'UK' | 'CA' | 'CN' | 'AU' | 'JP' | 'unknown';
5
+ export interface ModelIdentity {
6
+ provider: ProvenanceProvider;
7
+ model_id: string;
8
+ model_version: string;
9
+ model_family: string;
10
+ weights_origin_country: WeightsOriginCountry;
11
+ }
12
+ export interface HostingProvenance {
13
+ provider_route: string;
14
+ jurisdiction_country: JurisdictionCountry;
15
+ jurisdiction_region: string;
16
+ }
17
+ export interface ComplianceProvenance {
18
+ baa_in_force: boolean;
19
+ baa_vendor: string | null;
20
+ hipaa_eligible: boolean;
21
+ data_retention_days: number | null;
22
+ data_residency_attested: boolean;
23
+ foreign_origin_weight_flag: boolean;
24
+ foreign_origin_consent_receipt_id: string | null;
25
+ }
26
+ export interface ProvenanceBlock {
27
+ model_identity: ModelIdentity;
28
+ hosting: HostingProvenance;
29
+ compliance: ComplianceProvenance;
30
+ captured_at: string;
31
+ }
32
+ export interface ReceiptV1 {
33
+ receipt_id: string;
34
+ schema_version?: 1;
35
+ signature?: string;
36
+ [key: string]: unknown;
37
+ }
38
+ export type ReceiptV3 = Omit<ReceiptV2, 'schema_version'> & {
39
+ schema_version: 3;
40
+ provenance: ProvenanceBlock;
41
+ };
42
+ export type AnyReceipt = ReceiptV1 | ReceiptV2 | ReceiptV3;
43
+ export declare function receiptSchemaVersion(receipt: unknown): 1 | 2 | 3;
44
+ export declare function isReceiptV3(receipt: unknown): receipt is ReceiptV3;
45
+ export declare function assertReceiptV3(receipt: unknown): asserts receipt is ReceiptV3;
46
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/receipts/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,MAAM,kBAAkB,GAC1B,WAAW,GACX,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,MAAM,GACN,QAAQ,GACR,WAAW,GACX,SAAS,GACT,UAAU,GACV,UAAU,GACV,UAAU,GACV,SAAS,GACT,aAAa,GACb,SAAS,CAAC;AAEd,MAAM,MAAM,oBAAoB,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;AAChF,MAAM,MAAM,mBAAmB,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;AAE7F,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,sBAAsB,EAAE,oBAAoB,CAAC;CAC9C;AAED,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,mBAAmB,CAAC;IAC1C,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,cAAc,EAAE,OAAO,CAAC;IACxB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,uBAAuB,EAAE,OAAO,CAAC;IACjC,0BAA0B,EAAE,OAAO,CAAC;IACpC,iCAAiC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClD;AAED,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,aAAa,CAAC;IAC9B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,UAAU,EAAE,oBAAoB,CAAC;IACjC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,CAAC,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,GAAG;IAC1D,cAAc,EAAE,CAAC,CAAC;IAClB,UAAU,EAAE,eAAe,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAE3D,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAMhE;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,SAAS,CAElE;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,SAAS,CAE9E"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.receiptSchemaVersion = receiptSchemaVersion;
4
+ exports.isReceiptV3 = isReceiptV3;
5
+ exports.assertReceiptV3 = assertReceiptV3;
6
+ function receiptSchemaVersion(receipt) {
7
+ if (!receipt || typeof receipt !== 'object')
8
+ throw new Error('Receipt must be an object');
9
+ const raw = receipt.schema_version;
10
+ if (raw === undefined || raw === 1)
11
+ return 1;
12
+ if (raw === 2 || raw === 3)
13
+ return raw;
14
+ throw new Error(`Unsupported receipt schema_version: ${String(raw)}`);
15
+ }
16
+ function isReceiptV3(receipt) {
17
+ return receiptSchemaVersion(receipt) === 3 && Boolean(receipt.provenance);
18
+ }
19
+ function assertReceiptV3(receipt) {
20
+ if (!isReceiptV3(receipt))
21
+ throw new Error('Receipt schema v3 requires a provenance block');
22
+ }
23
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/receipts/schema.ts"],"names":[],"mappings":";;AAkEA,oDAMC;AAED,kCAEC;AAED,0CAEC;AAdD,SAAgB,oBAAoB,CAAC,OAAgB;IACnD,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC1F,MAAM,GAAG,GAAI,OAAwC,CAAC,cAAc,CAAC;IACrE,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAC7C,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IACvC,MAAM,IAAI,KAAK,CAAC,uCAAuC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACxE,CAAC;AAED,SAAgB,WAAW,CAAC,OAAgB;IAC1C,OAAO,oBAAoB,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,CAAE,OAAoC,CAAC,UAAU,CAAC,CAAC;AAC1G,CAAC;AAED,SAAgB,eAAe,CAAC,OAAgB;IAC9C,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;AAC9F,CAAC"}
@@ -16,6 +16,8 @@
16
16
  */
17
17
  import type { SpendPolicy, CallContext, SpendDecision, SpendStore, DecisionLogStore, SignedDecisionLogEntry, CapabilityTier, SpendScope } from './types';
18
18
  import { type LicenseClientOptions } from './license';
19
+ import { type ComplianceEnforcementConfig, type GovernancePosture } from './posture/enforce';
20
+ import type { JurisdictionCountry } from './receipts/schema';
19
21
  export interface SpendGuardConfig {
20
22
  /** The policy to evaluate every call against. */
21
23
  policy: SpendPolicy;
@@ -42,6 +44,24 @@ export interface SpendGuardConfig {
42
44
  licenseEndpointBaseUrl?: string;
43
45
  /** Optional test hook for license endpoint calls. */
44
46
  licensePostJson?: LicenseClientOptions['postJson'];
47
+ /** Governance posture used by provenance enforcement. Defaults to policy.posture or standard. */
48
+ posture?: GovernancePosture;
49
+ /** Optional provider route override, e.g. aws-bedrock or baseten. */
50
+ providerRoute?: string;
51
+ /** Optional hosting jurisdiction override for provenance receipts. */
52
+ jurisdictionCountry?: JurisdictionCountry;
53
+ jurisdictionRegion?: string;
54
+ /** Optional BAA and retention attestations supplied by the integrator. */
55
+ baaInForce?: boolean;
56
+ baaVendor?: string | null;
57
+ dataRetentionDays?: number | null;
58
+ dataResidencyAttested?: boolean;
59
+ /** Consent receipt for standard posture calls using foreign origin weights. */
60
+ foreignOriginConsentReceiptId?: string;
61
+ /** Optional consent endpoint base URL for tests or private mirrors. */
62
+ consentEndpointBaseUrl?: string;
63
+ /** Optional test hook for consent receipt verification. */
64
+ consentGetJson?: ComplianceEnforcementConfig['consentGetJson'];
45
65
  }
46
66
  export interface StreamSettlementOptions {
47
67
  partial?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"spend-guard.d.ts","sourceRoot":"","sources":["../src/spend-guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spend-guard.d.ts","sourceRoot":"","sources":["../src/spend-guard.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,8 @@ const cost_table_1 = require("./cost-table");
34
34
  const i18n_1 = require("./i18n");
35
35
  const telemetry_1 = require("./telemetry");
36
36
  const license_1 = require("./license");
37
+ const provenance_1 = require("./middleware/provenance");
38
+ const enforce_1 = require("./posture/enforce");
37
39
  class SpendGuard {
38
40
  config;
39
41
  spendStore;
@@ -61,10 +63,30 @@ class SpendGuard {
61
63
  async decide(call) {
62
64
  const license = await this.ensureLicenseReady();
63
65
  (0, policy_1.enforcePolicyLicenseGates)(this.config.policy, license);
66
+ const provenance = (0, provenance_1.captureProvenance)({ provider: call.provider, model: call.model, providerRoute: this.config.providerRoute }, {
67
+ config: {
68
+ providerRoute: this.config.providerRoute,
69
+ jurisdictionCountry: this.config.jurisdictionCountry,
70
+ jurisdictionRegion: this.config.jurisdictionRegion,
71
+ baaInForce: this.config.baaInForce,
72
+ baaVendor: this.config.baaVendor,
73
+ dataRetentionDays: this.config.dataRetentionDays,
74
+ dataResidencyAttested: this.config.dataResidencyAttested,
75
+ foreignOriginConsentReceiptId: call.foreignOriginConsentReceiptId ?? this.config.foreignOriginConsentReceiptId,
76
+ },
77
+ });
78
+ await (0, enforce_1.enforceCompliance)(provenance, {
79
+ posture: this.config.posture ?? this.config.policy.posture ?? 'standard',
80
+ foreignOriginConsentReceiptId: call.foreignOriginConsentReceiptId ?? this.config.foreignOriginConsentReceiptId,
81
+ consentEndpointBaseUrl: this.config.consentEndpointBaseUrl,
82
+ consentGetJson: this.config.consentGetJson,
83
+ });
84
+ const enrichedCall = { ...call, provenance };
64
85
  const result = await this.withDecisionLock(async () => {
65
- const decision = await (0, policy_1.evaluatePolicy)(this.config.policy, call, this.spendStore);
86
+ const decision = await (0, policy_1.evaluatePolicy)(this.config.policy, enrichedCall, this.spendStore);
87
+ decision.provenance = provenance;
66
88
  const signed = await this.signAndAppendDecision(decision);
67
- this.rememberReservation(call, decision);
89
+ this.rememberReservation(enrichedCall, decision);
68
90
  return { decision, signed };
69
91
  });
70
92
  if (this.config.onDecision) {
@@ -1 +1 @@
1
- {"version":3,"file":"spend-guard.js","sourceRoot":"","sources":["../src/spend-guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spend-guard.js","sourceRoot":"","sources":["../src/spend-guard.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AA4XH,wCA0CC;AAuBD,8CAGC;AAED,0DAGC;AAED,kCAWC;AAED,wDAIC;AAOD,oCAGC;AAED,sDAQC;AA0DD,0CAiCC;AArkBD,mCAAoC;AAYpC,qCAA8F;AAC9F,iDAIwB;AACxB,iDAAoD;AACpD,iDAA0D;AAC1D,6CAA+D;AAC/D,iCAA4C;AAC5C,2CAAmD;AACnD,uCAAgH;AAChH,wDAA4D;AAC5D,+CAAgH;AAoEhH,MAAa,UAAU;IACb,MAAM,CAAmB;IACzB,UAAU,CAAa;IACvB,QAAQ,CAAmB;IAC3B,YAAY,GAAG,CAAC,CAAC;IACjB,YAAY,GAAG,oCAAqB,CAAC;IACrC,YAAY,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IAChD,YAAY,GAAG,IAAI,GAAG,EAA6B,CAAC;IACpD,YAAY,GAA4C,IAAI,CAAC;IAErE,YAAY,MAAwB;QAClC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,IAAI,iCAAkB,EAAE,CAAC;QAChE,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,IAAI,uCAAwB,EAAE,CAAC;QAClE,IAAA,gCAAoB,EAAC,UAAU,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE;YACrC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;YAC1E,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACxC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC;YACvC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAiB;QAI5B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAChD,IAAA,kCAAyB,EAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACvD,MAAM,UAAU,GAAG,IAAA,8BAAiB,EAClC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,EACxF;YACE,MAAM,EAAE;gBACN,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa;gBACxC,mBAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,mBAAmB;gBACpD,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB;gBAClD,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;gBAClC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;gBAChC,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB;gBAChD,qBAAqB,EAAE,IAAI,CAAC,MAAM,CAAC,qBAAqB;gBACxD,6BAA6B,EAAE,IAAI,CAAC,6BAA6B,IAAI,IAAI,CAAC,MAAM,CAAC,6BAA6B;aAC/G;SACF,CACF,CAAC;QACF,MAAM,IAAA,2BAAiB,EAAC,UAAU,EAAE;YAClC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,UAAU;YACxE,6BAA6B,EAAE,IAAI,CAAC,6BAA6B,IAAI,IAAI,CAAC,MAAM,CAAC,6BAA6B;YAC9G,sBAAsB,EAAE,IAAI,CAAC,MAAM,CAAC,sBAAsB;YAC1D,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;SAC3C,CAAC,CAAC;QACH,MAAM,YAAY,GAAgB,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,CAAC;QAC1D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE;YACpD,MAAM,QAAQ,GAAG,MAAM,IAAA,uBAAc,EAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YACzF,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;YACjC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;YAC1D,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC3B,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,UAAkB,EAClB,iBAAyB,EACzB,kBAA0B,EAC1B,UAAmC,EAAE;QAErC,kBAAkB,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;QAC3D,kBAAkB,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAC;QAE7D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE;YACpD,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACtD,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,OAAO;gBAAE,OAAO,IAAI,CAAC;YACrD,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC;YAE3B,MAAM,WAAW,GAAG,IAAA,6BAAgB,EAClC,WAAW,CAAC,QAAQ,CAAC,aAAa,EAClC,iBAAiB,EACjB,kBAAkB,CACnB,CAAC;YACF,IAAI,WAAW,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YAEtC,MAAM,UAAU,GAAG,WAAW,GAAG,WAAW,CAAC,YAAY,CAAC;YAC1D,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;gBACrB,MAAM,IAAA,gCAAuB,EAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YACjF,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,uBAAuB,CAAC;gBAC9C,WAAW;gBACX,iBAAiB;gBACjB,kBAAkB;gBAClB,WAAW;gBACX,UAAU;gBACV,OAAO,EAAE,OAAO,CAAC,OAAO,KAAK,IAAI;gBACjC,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;YAC5D,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,IAAI,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACrC,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,kBAAkB;QACxB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,IAAI,CAAC,YAAY,GAAG,IAAA,oCAA0B,EAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;gBACrE,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,sBAAsB;gBACnD,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe;aACtC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAC,QAAuB;QACzD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC;QAC1C,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,IAAA,2BAAY,EAAC;YAChC,QAAQ,EAAE,IAAI,CAAC,YAAY;YAC3B,QAAQ;YACR,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU;YAC9C,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS;SAC7C,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC;QACrC,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,mBAAmB,CAAC,IAAiB,EAAE,QAAuB;QACpE,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO,IAAI,QAAQ,CAAC,MAAM,KAAK,WAAW,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO;QAC3G,MAAM,YAAY,GAAG,IAAA,6BAAgB,EAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACnG,IAAI,YAAY,KAAK,IAAI;YAAE,OAAO;QAClC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE;YACzC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAC1B,IAAI;YACJ,QAAQ;YACR,YAAY;YACZ,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;IACL,CAAC;IAEO,uBAAuB,CAAC,IAQ/B;QACC,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QAC7B,OAAO;YACL,UAAU,EAAE,IAAA,mBAAU,GAAE;YACxB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,MAAM,EAAE,OAAO;YACf,YAAY,EAAE,WAAW,CAAC,QAAQ,CAAC,YAAY;YAC/C,iBAAiB,EAAE,WAAW,CAAC,QAAQ,CAAC,iBAAiB;YACzD,cAAc,EAAE,IAAI,CAAC,WAAW;YAChC,iBAAiB,EAAE,WAAW,CAAC,QAAQ,CAAC,gBAAgB;YACxD,gBAAgB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC;YACtF,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,QAAQ;YACvC,cAAc,EAAE,WAAW,CAAC,QAAQ,CAAC,cAAc;YACnD,aAAa,EAAE,WAAW,CAAC,QAAQ,CAAC,aAAa;YACjD,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE;YAC/B,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,OAAO;YACzC,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI;YACxC,OAAO,EAAE;gBACP,iCAAiC,WAAW,CAAC,QAAQ,CAAC,UAAU,IAAI;oBAClE,aAAa,WAAW,CAAC,YAAY,YAAY,IAAI,CAAC,WAAW,WAAW,IAAI,CAAC,UAAU,GAAG;oBAC9F,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChD;YACD,SAAS,EAAE,YAAY;YACvB,kBAAkB,EAAE,WAAW,CAAC,QAAQ,CAAC,UAAU;YACnD,oBAAoB,EAAE,WAAW,CAAC,IAAI,CAAC,WAAW;YAClD,qBAAqB,EAAE,WAAW,CAAC,IAAI,CAAC,YAAY;YACpD,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;IACJ,CAAC;IAEO,oBAAoB;QAC1B,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW;YAC5B,CAAC,CAAC,IAAA,uCAAwB,EAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC;YAC7D,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,gBAAgB;QAC5B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;QAC1E,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACnD,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC;QACvC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAI,EAAoB;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;QACnC,IAAI,OAAoB,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAChD,OAAO,GAAG,OAAO,CAAC;QACpB,CAAC,CAAC,CAAC;QACH,MAAM,QAAQ,CAAC;QACf,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,EAAE,CAAC;QACpB,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAEO,qBAAqB,CAAC,IAAY;QACxC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACpC,CAAC;IAED,cAAc,CAAC,IAAY;QACzB,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,IAAI,CAAC,qBAAqB,CAAC;QACpE,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACxB,kBAAkB,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;QAC9C,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF;AApPD,gCAoPC;AAWD,MAAa,sBAAuB,SAAQ,KAAK;IAC/C,QAAQ,CAAgB;IACxB,KAAK,CAAc;IACnB,MAAM,CAAU;IAChB,YAAY,QAAuB,EAAE,KAAkB,EAAE,MAAe;QACtE,MAAM,OAAO,GAAG,KAAK,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,IAAI,KAAK,EAAE,QAAQ,CAAC;QACnE,KAAK,CACH,IAAA,yBAAkB,EAAC;YACjB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,cAAc,EAAE,QAAQ,CAAC,cAAc;YACvC,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;YAC7C,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,YAAY,EAAE,QAAQ,CAAC,YAAY;gBACjC,CAAC,CAAC;oBACE,WAAW,EAAE,QAAQ,CAAC,YAAY,CAAC,WAAW;oBAC9C,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,MAAM;iBACrC;gBACH,CAAC,CAAC,SAAS;YACb,OAAO;YACP,MAAM;SACP,CAAC,CACH,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AA5BD,wDA4BC;AAED,SAAgB,cAAc;AAC5B,8DAA8D;AAC9D,MAAW,EACX,IAA0B;IAG1B,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;IAEtI,MAAM,cAAc,GAAG,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACxF,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;IAC5F,CAAC;IAED,8DAA8D;IAC9D,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,KAAK,EAAE,MAAW,EAAE,EAAE;QACrD,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAClD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YAChC,MAAM,IAAI,sBAAsB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9E,CAAC;QAED,IAAI,UAAU,GAAG,MAAM,CAAC;QACxB,IAAI,QAAQ,CAAC,MAAM,KAAK,WAAW,IAAI,QAAQ,CAAC,aAAa,KAAK,QAAQ,CAAC,cAAc,EAAE,CAAC;YAC1F,UAAU,GAAG,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,aAAa,EAAE,CAAC;QAC5D,CAAC;QAED,IAAI,UAAU,EAAE,MAAM,KAAK,IAAI,EAAE,CAAC;YAChC,UAAU,GAAG;gBACX,GAAG,UAAU;gBACb,cAAc,EAAE,EAAE,GAAG,CAAC,UAAU,CAAC,cAAc,IAAI,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE;aAC9E,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,CAAC;YAChD,OAAO,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,CAAC;QAClD,MAAM,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC7C,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,eAAe;AACtB,8DAA8D;AAC9D,MAAW,EACX,KAAiB,EACjB,IAA0B;IAE1B,MAAM,SAAS,GAAG,iBAAiB,CAAC,MAAM,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC;IAC5D,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAa,IAAA,0BAAa,EAAC,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IAC9D,OAAO;QACL,QAAQ;QACR,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,SAAS;QACjC,WAAW;QACX,YAAY;QACZ,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK;KAC/B,CAAC;AACJ,CAAC;AAED,SAAgB,iBAAiB,CAAC,QAAiB;IACjD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,CAAC;IACxC,OAAO,QAAQ,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1D,CAAC;AAED,SAAgB,uBAAuB,CAAC,OAAgB;IACtD,MAAM,OAAO,GAAI,OAAwC,EAAE,OAAO,IAAI,OAAO,CAAC;IAC9E,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC;AAED,SAAgB,WAAW,CAAC,KAAc;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnE,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,KAAgC,CAAC;QAC7C,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,GAAG,CAAC,IAAI,CAAC;QAClD,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;YAAE,OAAO,GAAG,CAAC,OAAO,CAAC;QACxD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,OAAO,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5C,CAAC;AAED,SAAgB,sBAAsB,CAAC,MAAe;IACpD,MAAM,GAAG,GAAG,MAAwC,CAAC;IACrD,MAAM,KAAK,GAAG,GAAG,EAAE,qBAAqB,IAAI,GAAG,EAAE,UAAU,IAAI,GAAG,EAAE,SAAS,CAAC;IAC9E,OAAO,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAK,KAAgB,IAAI,CAAC,CAAC,CAAC,CAAC,KAAe,CAAC,CAAC,CAAC,GAAG,CAAC;AACvF,CAAC;AAOD,SAAgB,YAAY,CAAC,QAAiB;IAC5C,MAAM,KAAK,GAAI,QAAuD,EAAE,KAAK,CAAC;IAC9E,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC;AAED,SAAgB,qBAAqB,CAAC,KAAc;IAClD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACrD,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,MAAM,KAAK,GAAG,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,WAAW,CAAC;IACvE,MAAM,MAAM,GAAG,GAAG,CAAC,iBAAiB,IAAI,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,YAAY,CAAC;IAC9E,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/E,IAAK,KAAgB,GAAG,CAAC,IAAK,MAAiB,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACjE,OAAO,EAAE,WAAW,EAAE,KAAe,EAAE,YAAY,EAAE,MAAgB,EAAE,CAAC;AAC1E,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,KAAiB,EACjB,QAAuB,EACvB,QAAiB;IAEjB,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO,IAAI,QAAQ,CAAC,MAAM,KAAK,WAAW,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO;IAC3G,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACrC,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,MAAM,KAAK,CAAC,iBAAiB,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;AAChH,CAAC;AAED,SAAS,gBAAgB,CACvB,MAA8B,EAC9B,KAAiB,EACjB,QAAuB,EACvB,IAAiB;IAEjB,MAAM,OAAO,GAAG,IAAI,wBAAwB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC1D,OAAO,eAAe,CAAC,MAAM,EAAE;QAC7B,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QAC1C,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC,iBAAiB,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAClH,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,wBAAwB;IAKR;IAA2B;IAJvC,UAAU,GAAkB,IAAI,CAAC;IACjC,WAAW,GAAkB,IAAI,CAAC;IAClC,OAAO,GAAG,EAAE,CAAC;IAErB,YAAoB,KAAiB,EAAU,IAAiB;QAA5C,UAAK,GAAL,KAAK,CAAY;QAAU,SAAI,GAAJ,IAAI,CAAa;IAAG,CAAC;IAEpE,OAAO,CAAC,KAAc;QACpB,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC;YACpC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC;QACxC,CAAC;QACD,MAAM,OAAO,GAAI,KAAwC,EAAE,OAAO,CAAC;QACnE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,OAAO;QACpC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAI,MAAmD,EAAE,KAAK,CAAC;YAC1E,IAAI,OAAO,KAAK,EAAE,OAAO,KAAK,QAAQ;gBAAE,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC;QACxE,CAAC;IACH,CAAC;IAED,KAAK;QACH,OAAO;YACL,WAAW,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW;YACrD,YAAY,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC;SAC1E,CAAC;IACJ,CAAC;CACF;AAED,SAAgB,eAAe,CAC7B,MAAwB,EACxB,KAGC;IAED,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,OAAO;QAC7B,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,UAAU,GAAG,KAAK,EAAE,OAAgB,EAAE,MAAe,EAAiB,EAAE;YAC5E,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,IAAI,CAAC;gBACH,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACtC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO;YACT,CAAC;QACH,CAAC,CAAC;QAEF,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBACjC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACrB,MAAM,KAAK,CAAC;YACd,CAAC;YACD,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;YACzC,OAAO;QACT,CAAC;gBAAS,CAAC;YACT,MAAM,UAAU,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;AACP,CAAC;AAED,SAAS,WAAW,CAAC,GAAY;IAC/B,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,OAAO;QAAE,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC1E,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY,EAAE,KAAa;IACrD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,sCAAsC,CAAC,CAAC;IACjE,CAAC;AACH,CAAC"}
package/dist/types.d.ts CHANGED
@@ -9,6 +9,8 @@
9
9
  * All policy decisions are made locally in the customer runtime.
10
10
  * Prompts, completions, and provider API keys never leave the customer process.
11
11
  */
12
+ import type { ProvenanceBlock } from './receipts/schema';
13
+ import type { GovernancePosture } from './posture/enforce';
12
14
  export type SpendAction = 'block' | 'downgrade' | 'shadow' | 'allow';
13
15
  export type SpendWindow = 'per_call' | 'per_minute' | 'per_hour' | 'per_day' | 'per_month';
14
16
  export type Provider = 'openai' | 'anthropic' | 'bedrock' | 'gemini' | 'unknown';
@@ -101,6 +103,8 @@ export interface SpendPolicy {
101
103
  * out of scope of this package and is performed by the integrating code.
102
104
  */
103
105
  requiredCapability?: CapabilityTier;
106
+ /** Optional governance posture used by Advisor and provenance policy. */
107
+ posture?: GovernancePosture;
104
108
  /** Optional outcome definitions for Reviewer Cascade alpha policies. */
105
109
  outcomes?: Record<string, ReviewerCascadeOutcome>;
106
110
  /** Policy version, monotonically increasing */
@@ -126,6 +130,10 @@ export interface CallContext {
126
130
  label?: string;
127
131
  /** Optional capability tier the caller claims */
128
132
  capabilityClaim?: CapabilityTier;
133
+ /** Optional consent receipt for foreign origin model weights. */
134
+ foreignOriginConsentReceiptId?: string;
135
+ /** Captured provider provenance for the call. */
136
+ provenance?: ProvenanceBlock;
129
137
  }
130
138
  /**
131
139
  * The policy decision for a given call.
@@ -175,6 +183,8 @@ export interface SpendDecision {
175
183
  deltaCents?: number;
176
184
  /** True when the stream ended before a provider completion event. */
177
185
  partial?: boolean;
186
+ /** Provider and hosting provenance captured before bytes leave the process. */
187
+ provenance?: ProvenanceBlock;
178
188
  }
179
189
  /**
180
190
  * A signed, hash-chained decision log entry.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { ChainValidationResult, ReceiptV2 } from './types';
2
+ export declare function validateReceiptChain(receipts: ReceiptV2[]): Promise<ChainValidationResult>;
3
+ export declare function computeChainHash(receipt: ReceiptV2): Promise<string>;
4
+ //# sourceMappingURL=chain-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain-validator.d.ts","sourceRoot":"","sources":["../../src/workflow/chain-validator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEhE,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAoBhG;AAED,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAS1E"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateReceiptChain = validateReceiptChain;
4
+ exports.computeChainHash = computeChainHash;
5
+ const receipt_1 = require("./receipt");
6
+ async function validateReceiptChain(receipts) {
7
+ if (receipts.length === 0)
8
+ return { ok: true };
9
+ for (let i = 0; i < receipts.length; i++) {
10
+ if (!(0, receipt_1.verifyReceipt)(receipts[i])) {
11
+ return { ok: false, broken_at: i, reason: 'signature_invalid' };
12
+ }
13
+ if (i === 0)
14
+ continue;
15
+ const prev = receipts[i - 1];
16
+ const curr = receipts[i];
17
+ const expectedHash = await computeChainHash(prev);
18
+ if (curr.chain_validation_hash !== expectedHash) {
19
+ return { ok: false, broken_at: i, reason: 'chain_hash_mismatch' };
20
+ }
21
+ if (curr.parent_receipt_id !== prev.receipt_id) {
22
+ return { ok: false, broken_at: i, reason: 'parent_reference_mismatch' };
23
+ }
24
+ }
25
+ return { ok: true };
26
+ }
27
+ async function computeChainHash(receipt) {
28
+ const canonical = (0, receipt_1.canonicalJSONStringify)({
29
+ receipt_id: receipt.receipt_id,
30
+ workflow_id: receipt.workflow_id,
31
+ cost_usd: receipt.cost_usd,
32
+ signed_at: receipt.signed_at,
33
+ signature: receipt.signature,
34
+ });
35
+ return (0, receipt_1.sha256)(canonical);
36
+ }
37
+ //# sourceMappingURL=chain-validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain-validator.js","sourceRoot":"","sources":["../../src/workflow/chain-validator.ts"],"names":[],"mappings":";;AAGA,oDAoBC;AAED,4CASC;AAlCD,uCAA0E;AAGnE,KAAK,UAAU,oBAAoB,CAAC,QAAqB;IAC9D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IAE/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,IAAI,CAAC,IAAA,uBAAa,EAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC;YACjC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;QAClE,CAAC;QACD,IAAI,CAAC,KAAK,CAAC;YAAE,SAAS;QACtB,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC;QAC1B,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,IAAI,CAAC,qBAAqB,KAAK,YAAY,EAAE,CAAC;YAChD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC;QACpE,CAAC;QACD,IAAI,IAAI,CAAC,iBAAiB,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC;YAC/C,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,2BAA2B,EAAE,CAAC;QAC1E,CAAC;IACH,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC;AAEM,KAAK,UAAU,gBAAgB,CAAC,OAAkB;IACvD,MAAM,SAAS,GAAG,IAAA,gCAAsB,EAAC;QACvC,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC,CAAC;IACH,OAAO,IAAA,gBAAM,EAAC,SAAS,CAAC,CAAC;AAC3B,CAAC"}
@@ -0,0 +1,46 @@
1
+ import type { CheckpointReceipt, ReceiptV2, WorkflowConfig, WorkflowState, WorkflowStatus } from './types';
2
+ interface WorkflowCreateResponse {
3
+ workflow_id: string;
4
+ created_at: string;
5
+ state?: WorkflowState;
6
+ total_spend_usd?: number;
7
+ outcome_count?: number;
8
+ last_receipt_id?: string | null;
9
+ last_checkpoint_id?: string | null;
10
+ last_chain_hash?: string | null;
11
+ receipts?: ReceiptV2[];
12
+ }
13
+ export declare class WorkflowContext {
14
+ readonly workflow_id: string;
15
+ readonly user_id: string;
16
+ readonly config: WorkflowConfig;
17
+ readonly created_at: Date;
18
+ private _total_spend_usd;
19
+ private _outcome_count;
20
+ private _last_receipt_id;
21
+ private _last_checkpoint_id;
22
+ private _last_chain_hash;
23
+ private _state;
24
+ private readonly _receipts;
25
+ private constructor();
26
+ static create(config: WorkflowConfig): Promise<WorkflowContext>;
27
+ static fromCheckpoint(config: WorkflowConfig, existing: WorkflowCreateResponse, userId?: string): WorkflowContext;
28
+ outcome<T>(name: string, fn: () => Promise<T>): Promise<T>;
29
+ checkpoint(label?: string): Promise<CheckpointReceipt>;
30
+ cancel(reason: string): Promise<void>;
31
+ finalize(): Promise<void>;
32
+ status(): WorkflowStatus;
33
+ receipts(): ReceiptV2[];
34
+ private writeCheckpoint;
35
+ private writeFinalReceipt;
36
+ private assertActive;
37
+ private assertOutcomeAllowed;
38
+ private assertBudgetRemaining;
39
+ private assertDurationRemaining;
40
+ private checkPostCallCaps;
41
+ private extractOutcomeCost;
42
+ private postReceipt;
43
+ }
44
+ export declare function workflow<T>(config: WorkflowConfig, fn: (ctx: WorkflowContext) => Promise<T>): Promise<T>;
45
+ export {};
46
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/workflow/context.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE3G,UAAU,sBAAsB;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC;CACxB;AAED,qBAAa,eAAe;IAC1B,SAAgB,WAAW,EAAE,MAAM,CAAC;IACpC,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,SAAgB,MAAM,EAAE,cAAc,CAAC;IACvC,SAAgB,UAAU,EAAE,IAAI,CAAC;IAEjC,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;IAE7C,OAAO;WA0BM,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IA2CrE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,sBAAsB,EAAE,MAAM,SAAe,GAAG,eAAe;IAgBjH,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAqC1D,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAItD,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAO/B,MAAM,IAAI,cAAc;IAoBxB,QAAQ,IAAI,SAAS,EAAE;YAIT,eAAe;YAuBf,iBAAiB;IAoB/B,OAAO,CAAC,YAAY;IAqBpB,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,uBAAuB;YAYjB,iBAAiB;IAY/B,OAAO,CAAC,kBAAkB;YAUZ,WAAW;CAK1B;AAED,wBAAsB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAO9G"}