@atrib/verify 0.4.0 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -58,12 +58,12 @@ Per the [§5.8](https://github.com/creatornader/atrib/blob/main/atrib-spec.md#58
58
58
 
59
59
  ### `new AtribVerifier(options)`
60
60
 
61
- | Field | Type | Default | Description |
62
- | ----------------- | -------- | ----------------------------- | ----------------------------------------------------------------------- |
63
- | `logEndpoint` | `string` | `https://log.atrib.dev/v1` | The Merkle log to fetch checkpoints and proofs from. |
64
- | `graphEndpoint` | `string` | `https://graph.atrib.dev/v1` | The graph query endpoint (spec [§3](https://github.com/creatornader/atrib/blob/main/atrib-spec.md#3-graph-query-interface)). |
65
- | `resolveEndpoint` | `string` | `https://resolve.atrib.dev/v1` | Reserved for v2 remote calculation. |
66
- | `merchantKey` | `string` | unset | Base64url Ed25519 32-byte seed. Optional. `verify()` works without it. |
61
+ | Field | Type | Default | Description |
62
+ | ----------------- | -------- | ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------- |
63
+ | `logEndpoint` | `string` | `https://log.atrib.dev/v1` | The Merkle log to fetch checkpoints and proofs from. |
64
+ | `graphEndpoint` | `string` | `https://graph.atrib.dev/v1` | The graph query endpoint (spec [§3](https://github.com/creatornader/atrib/blob/main/atrib-spec.md#3-graph-query-interface)). |
65
+ | `resolveEndpoint` | `string` | `https://resolve.atrib.dev/v1` | Reserved for v2 remote calculation. |
66
+ | `merchantKey` | `string` | unset | Base64url Ed25519 32-byte seed. Optional. `verify()` works without it. |
67
67
 
68
68
  ### `verify(doc, options): Promise<VerificationResult>`
69
69
 
@@ -79,11 +79,11 @@ Per-record verification. Verifies a single signed record's Ed25519 signature and
79
79
  import { verifyRecord } from '@atrib/verify'
80
80
 
81
81
  const result = await verifyRecord(record, {
82
- upstreamCandidate, // optional, for provenance_token resolution
83
- informedByCandidates: [], // optional, for informed_by[] resolution
84
- identityClaim, // optional, for capability_check (caller does directory lookup)
85
- ap2ViEvidence, // optional, transaction-only AP2 / VI evidence bundle
86
- ap2ViEvidenceOptions, // optional, passed to verifyAp2ViEvidenceAsync()
82
+ upstreamCandidate, // optional, for provenance_token resolution
83
+ informedByCandidates: [], // optional, for informed_by[] resolution
84
+ identityClaim, // optional, for capability_check (caller does directory lookup)
85
+ ap2ViEvidence, // optional, transaction-only AP2 / VI evidence bundle
86
+ ap2ViEvidenceOptions, // optional, passed to verifyAp2ViEvidenceAsync()
87
87
  })
88
88
  // result: {
89
89
  // valid: boolean
@@ -103,16 +103,65 @@ const result = await verifyRecord(record, {
103
103
  - `informed_by_resolution`: `{ resolved: string[], dangling: string[] }` per record carrying `informed_by` ([D041](https://github.com/creatornader/atrib/blob/main/DECISIONS.md#d041-informed_by-linking-primitive-and-informed_by-edge-type) / [§1.2.5](https://github.com/creatornader/atrib/blob/main/atrib-spec.md#125-informed_by)). Dangling references are flagged but do not fail verification: they signal "the verifier has not seen upstream context," not "the record is invalid."
104
104
  - `posture`: `{ timestamp_granularity, timestamp_consistent, timestamp_granularity_explicit, args_commitment_form, result_commitment_form, tool_name_form }` ([D045](https://github.com/creatornader/atrib/blob/main/DECISIONS.md#d045-privacy-postures-normative-spec-section) / [D061](https://github.com/creatornader/atrib/blob/main/DECISIONS.md#d061-add-tool_name-args_hash-result_hash-fields-to-§121) / [§8.2](https://github.com/creatornader/atrib/blob/main/atrib-spec.md#82-opaque-name-posture) / [§8.3](https://github.com/creatornader/atrib/blob/main/atrib-spec.md#83-salted-commitment-posture) / [§8.4](https://github.com/creatornader/atrib/blob/main/atrib-spec.md#84-coarsened-timing-posture)). Always populated. Surfaces (a) the declared timing granularity, whether the timestamp value structurally matches the spec's trailing-zero invariant, and whether the field was explicitly set vs defaulted; (b) the structurally-detected `args_hash` / `result_hash` commitment scheme: `'salted-sha256'` when `args_salt` / `result_salt` is present, `'plain-sha256'` otherwise (the `'hmac-sha256'` variant from [§8.3](https://github.com/creatornader/atrib/blob/main/atrib-spec.md#83-salted-commitment-posture) is signaled out-of-band and is not structurally detectable); and (c) the [§8.2](https://github.com/creatornader/atrib/blob/main/atrib-spec.md#82-opaque-name-posture) `tool_name_form`: `'hashed'` when `tool_name` matches `^sha256:[0-9a-f]{64}$`, `'plain'` for any other present value, `null` when the field is absent. Per [D061](https://github.com/creatornader/atrib/blob/main/DECISIONS.md#d061-add-tool_name-args_hash-result_hash-fields-to-121) the [§8.2](https://github.com/creatornader/atrib/blob/main/atrib-spec.md#82-opaque-name-posture) verbatim-vs-opaque distinction is NOT structurally detectable, both surface as `'plain'`.
105
105
  - `capability_check`: `{ envelope, in_envelope, mismatches, unresolvable }` ([D051](https://github.com/creatornader/atrib/blob/main/DECISIONS.md#d051-capability-scoped-records-via-directory-published-envelopes) / [§6.7](https://github.com/creatornader/atrib/blob/main/atrib-spec.md#67-capability-declarations)). Populated only when the caller passes a resolved `identityClaim` in options. Checks the record's `event_type` against the envelope's `event_types` allowlist and the record's `timestamp` against `expires_at`. `tool_names` (against tool_call records), `max_amount`, and `counterparties` (against transaction records) flag `unresolvable: true` because the constraints depend on data not yet on the standard record shape (`tool_name`) or out-of-band protocol events (payment amount + counterparty). Per [§6.7.3](https://github.com/creatornader/atrib/blob/main/atrib-spec.md#673-out-of-envelope-records) out-of-envelope is a signal, not invalidation: mismatches do not flip `valid` to false. The caller is responsible for fetching the active envelope at the record's timestamp via `@atrib/directory`'s `lookup()` (or a cached equivalent); `@atrib/verify` intentionally has no `@atrib/directory` dependency.
106
- - `cross_attestation`: `{ signers_count, signers_valid, missing }` ([D052](https://github.com/creatornader/atrib/blob/main/DECISIONS.md#d052-cross-attestation-requirement-for-transaction-records) / [§1.7.6](https://github.com/creatornader/atrib/blob/main/atrib-spec.md#176-cross-attestation-requirement-for-transaction-records)). Populated only on transaction records (`event_type = transaction`). Each entry in `signers[]` is verified against the cross-attestation canonical bytes (JCS form with `signers: []` and the top-level `signature` field omitted, per [§1.7.6](https://github.com/creatornader/atrib/blob/main/atrib-spec.md#176-cross-attestation-requirement-for-transaction-records)). `signatureOk` requires a valid signer entry whose `creator_key` matches the record's top-level `creator_key`; unrelated counterparty signers do not validate the record on behalf of its creator. `missing: true` when fewer than 2 signers verify, atrib's normative minimum. Per [§1.7.6](https://github.com/creatornader/atrib/blob/main/atrib-spec.md#176-cross-attestation-requirement-for-transaction-records) missing is a signal, not invalidation: `valid` stays true if the underlying signature path holds. Agent-side Path 2 fallback records usually surface as `signers_count: 1, missing: true` until a counterparty signs the same bytes. Legacy single-signer transaction records (no `signers[]` array, only top-level `signature`) surface as `signers_count: 0, missing: true` so consumers can flag them while accepting the cryptographic validity.
106
+ - `cross_attestation`: `{ signers_count, signers_valid, missing }` ([D052](https://github.com/creatornader/atrib/blob/main/DECISIONS.md#d052-cross-attestation-requirement-for-transaction-records) / [§1.7.6](https://github.com/creatornader/atrib/blob/main/atrib-spec.md#176-cross-attestation-requirement-for-transaction-records)). Populated only on transaction records (`event_type = transaction`). Each entry in `signers[]` is verified against the cross-attestation canonical bytes (JCS form with `signers: []` and the top-level `signature` field omitted, per [§1.7.6](https://github.com/creatornader/atrib/blob/main/atrib-spec.md#176-cross-attestation-requirement-for-transaction-records)). `signatureOk` requires a valid signer entry whose `creator_key` matches the record's top-level `creator_key`; unrelated counterparty signers do not validate the record on behalf of its creator. `missing: true` when fewer than 2 distinct signer keys verify, atrib's normative minimum. Duplicate entries from one key do not inflate `signers_valid`. Per [§1.7.6](https://github.com/creatornader/atrib/blob/main/atrib-spec.md#176-cross-attestation-requirement-for-transaction-records) missing is a signal, not invalidation: `valid` stays true if the underlying signature path holds. Agent-side Path 2 fallback records usually surface as `signers_count: 1, missing: true` until a counterparty signs the same bytes. Legacy single-signer transaction records (no `signers[]` array, only top-level `signature`) surface as `signers_count: 0, missing: true` so consumers can flag them while accepting the cryptographic validity.
107
107
  - `ap2_vi_evidence`: the async AP2 / VI verifier result ([D094](https://github.com/creatornader/atrib/blob/main/DECISIONS.md#d094-ap2--vi-evidence-attaches-to-verifier-results-as-a-tiered-block) / [§5.5.4](https://github.com/creatornader/atrib/blob/main/atrib-spec.md#554-ap2--verifiable-intent-evidence-checks)). Populated only when the caller passes `ap2ViEvidence` for a transaction record. It does not alter `valid`, `signatureOk`, or `cross_attestation`; consumers inspect `ap2_vi_evidence.valid` for AP2 authorization evidence.
108
108
 
109
109
  **Pending per-record annotations** (tracked as a Pending decision in [DECISIONS.md P005](https://github.com/creatornader/atrib/blob/main/DECISIONS.md#p005-reconcile-atribverify-readme-per-record-annotations-with-actual-code-surface)):
110
110
 
111
111
  - `cross_log_proof_count` / `cross_log_threshold_met` / `cross_log_equivocation_detected` ([D050](https://github.com/creatornader/atrib/blob/main/DECISIONS.md#d050-cross-log-replication-for-equivocation-defense) / [§2.11](https://github.com/creatornader/atrib/blob/main/atrib-spec.md#211-cross-log-replication)): requires multi-log proof-bundle parsing and trusted-log-set config.
112
- (Note: `tool_name_form`, `args_commitment_form`, and `result_commitment_form` per [§8.2](https://github.com/creatornader/atrib/blob/main/atrib-spec.md#82-opaque-name-posture)/[§8.3](https://github.com/creatornader/atrib/blob/main/atrib-spec.md#83-salted-commitment-posture) are all now implemented under `posture` above. [D061](https://github.com/creatornader/atrib/blob/main/DECISIONS.md#d061-add-tool_name-args_hash-result_hash-fields-to-121) added `tool_name`, `args_hash`, and `result_hash` to the [§1.2.1](https://github.com/creatornader/atrib/blob/main/atrib-spec.md#121-field-definitions) canonical record schema, completing the structural inputs.)
112
+ (Note: `tool_name_form`, `args_commitment_form`, and `result_commitment_form` per [§8.2](https://github.com/creatornader/atrib/blob/main/atrib-spec.md#82-opaque-name-posture)/[§8.3](https://github.com/creatornader/atrib/blob/main/atrib-spec.md#83-salted-commitment-posture) are all now implemented under `posture` above. [D061](https://github.com/creatornader/atrib/blob/main/DECISIONS.md#d061-add-tool_name-args_hash-result_hash-fields-to-121) added `tool_name`, `args_hash`, and `result_hash` to the [§1.2.1](https://github.com/creatornader/atrib/blob/main/atrib-spec.md#121-field-definitions) canonical record schema, completing the structural inputs.)
113
113
 
114
114
  Each pending annotation is its own ADR scope when external consumers need it.
115
115
 
116
+ ### `verifyHandoffClaims(claims, options): Promise<HandoffVerificationResult>`
117
+
118
+ Verifier-side Pattern 3 handoff acceptance. Use this when one agent receives another agent's `record_hash` claim and needs to verify the supplied record, private body material, and proof before signing its own `informed_by` follow-up.
119
+
120
+ ```typescript
121
+ import { handoffClaimsFromEvidencePacket, verifyHandoffClaims } from '@atrib/verify'
122
+
123
+ const claims = handoffClaimsFromEvidencePacket({
124
+ required_record_hashes: [record_hash],
125
+ records: [
126
+ {
127
+ record_hash,
128
+ record,
129
+ proof,
130
+ _local: { content: body },
131
+ },
132
+ ],
133
+ })
134
+
135
+ const handoff = await verifyHandoffClaims(claims, {
136
+ trusted_creator_keys: [agentAPublicKey],
137
+ allowed_context_ids: [expectedContextId],
138
+ require_body: true,
139
+ require_body_commitment: true,
140
+ require_log_inclusion: true,
141
+ log_public_key: logPublicKey,
142
+ max_age_ms: 60_000,
143
+ })
144
+
145
+ if (handoff.all_accepted) {
146
+ const informedBy = handoff.accepted_record_hashes
147
+ // Sign the receiving agent's next record with informed_by: informedBy.
148
+ }
149
+ ```
150
+
151
+ Checks performed:
152
+
153
+ - Record hash binding: supplied record hash must equal the claimed `record_hash`.
154
+ - Signature: `verifyRecord()` must accept the signed record.
155
+ - Trust set: `creator_key` must be in `trusted_creator_keys` when supplied.
156
+ - Context policy: `context_id` must be in `allowed_context_ids` when supplied.
157
+ - Freshness: record timestamp must be within `max_age_ms` when supplied.
158
+ - Body commitments: supplied `body`, `args`, or `result` must match `args_hash` / `result_hash` when required.
159
+ - Log proof: supplied proof must bind to the serialized log entry for that record, verify the inclusion path, and verify the C2SP checkpoint signature when `log_public_key` is supplied.
160
+
161
+ `handoffClaimsFromEvidencePacket()` accepts parsed [D062](https://github.com/creatornader/atrib/blob/main/DECISIONS.md#d062-local-mirror-sidecar--two-tier-private-local--public-canonical-persistence) local mirror envelopes, private continuation packets, or arrays of evidence entries. It preserves missing required hashes as verifier rejections. The helper never fetches private material. Callers provide records, body material, and proof bundles from a local mirror, private handoff packet, Record Body Archive Layer, log lookup, or another channel. Rejected claims carry named reasons such as `wrong_signer`, `wrong_context`, `stale`, `body_hash_mismatch`, and `proof_invalid`.
162
+
163
+ The library helper backs the `@atrib/verify-mcp` `atrib-verify` primitive promoted by [D106](https://github.com/creatornader/atrib/blob/main/DECISIONS.md#d106-verify-is-promoted-to-cognitive-primitive-7). The MCP wrapper handles agent-facing use; this package remains the verifier library.
164
+
116
165
  ### `verifyAp2ViEvidence(...)` and `verifyAp2ViEvidenceAsync(...)`
117
166
 
118
167
  AP2 / Verifiable Intent evidence checking for merchants and auditors. This runs outside the transaction detector path. It does not alter the graph, the settlement calculation, or record validity. It answers a narrower question: did the AP2 receipts and VI mandate chain form a coherent evidence bundle?
@@ -170,7 +219,7 @@ Checks performed when evidence is present:
170
219
  - VI SD-JWT structural checks for duplicate disclosures, duplicate digest references, unused disclosures, unsupported `_sd_alg`, and future `nbf`.
171
220
  - ES256 signatures: L1 via trusted issuer keys, L2 via L1 `cnf.jwk`, L3 via the L2 delegated agent key.
172
221
  - `sd_hash` links, disclosure digest links, autonomous L2 `cnf.jwk` consistency, and final checkout/payment binding.
173
- - Typed AP2 mandate constraints: merchant allowlists, checkout line items, payment amount ranges, allowed payees, allowed payment instruments, allowed PISPs, and execution windows.
222
+ - Typed AP2 mandate constraints: merchant allowlists, checkout line items, payment amount ranges, allowed payees, allowed payment instruments, allowed PISPs, execution windows, and `payment.reference`.
174
223
 
175
224
  The default signature policy is `require`. Missing keys or invalid signatures make `valid` false while still returning a structured result. Use `signaturePolicy: "best-effort"` for structural triage where issuer keys are not yet available.
176
225
 
@@ -182,7 +231,9 @@ VC type metadata and status-list fetches are explicit. If a caller enables `sdJw
182
231
 
183
232
  The default constraint policy is `require`. Failed, unresolved, or unsupported disclosed AP2 constraints make `valid` false. Use `constraintPolicy: "best-effort"` to keep those findings advisory, or `"off"` to skip them. The lower-level `evaluateAp2ViConstraints(input, disclosures?)` helper is exported for decoded mandate material and fixture replay.
184
233
 
185
- The local AP2 / VI evidence corpus lives under `packages/agent/test/fixtures/ap2/`. It includes signed immediate evidence, signed autonomous success evidence, a decoded constraint replay case, and a named autonomous negative matrix. The crypto conformance corpus lives under `spec/conformance/ap2-vi-crypto/`. It pins offline JOSE, JWKS, metadata, SD-JWT, and clock-edge cases for the async verifier.
234
+ Checkout line-item checks accept both atrib's decoded `line_items[]` fixture shape and VI checkout JWT payloads that carry purchased products under `cart.items[].sku`. `payment.reference` is evaluated against the open checkout mandate disclosure digest and the same final checkout-payment binding surfaced as `checkoutPaymentBindingOk`.
235
+
236
+ The local AP2 / VI evidence corpus lives under `packages/agent/test/fixtures/ap2/`. It includes signed immediate evidence, signed autonomous success evidence, a decoded constraint replay case, and a named autonomous negative matrix. The integration package also carries upstream-generated AP2 / VI artifacts under `packages/integration/test/fixtures/ap2-vi-reference/`. The crypto conformance corpus lives under `spec/conformance/ap2-vi-crypto/`. It pins offline JOSE, JWKS, metadata, SD-JWT, and clock-edge cases for the async verifier.
186
237
 
187
238
  The same evidence bundle can be passed to `verifyRecord(record, { ap2ViEvidence, ap2ViEvidenceOptions })` for transaction records or to `verifier.verify(doc, { ap2ViEvidence, ap2ViEvidenceOptions })` for settlement recommendation verification. Both APIs attach the result as `ap2_vi_evidence`; neither API fetches AP2 / VI material on its own.
188
239
 
@@ -202,6 +253,7 @@ For advanced use (custom calculators, alternative signing flows), the package al
202
253
  - `evaluateAp2ViConstraints(input, disclosures?)`: decoded AP2 open-mandate constraint checking
203
254
  - `verifyAp2ViEvidence(bundle, options?)`: decoded AP2 / VI receipt and mandate-chain evidence checking
204
255
  - `verifyAp2ViEvidenceAsync(bundle, options?)`: compact AP2 receipt JWT verification, async VI SD-JWT / VC conformance, plus decoded evidence checks. `verifyRecord()` and `AtribVerifier.verify()` call this when supplied with `ap2ViEvidence`
256
+ - `verifyHandoffClaims(claims, options?)`: Pattern 3 handoff claim acceptance before a receiving agent signs an `informed_by` follow-up
205
257
  - `recommendationSigningInput(doc)`: the canonical bytes that get signed
206
258
  - `distributionsMatch(a, b)`: float-tolerant equality (within `1e-9` per recipient)
207
259
  - `fetchGraph(endpoint, contextId, treeSize?)`, `fetchSessionPolicyRecord`, `fetchPolicyDocument`
@@ -235,15 +287,15 @@ Run them with `pnpm --filter @atrib/verify test`.
235
287
 
236
288
  ## Spec references
237
289
 
238
- | Spec section | What this package implements |
239
- | ------------ | ---------------------------------------------------- |
240
- | [§3](https://github.com/creatornader/atrib/blob/main/atrib-spec.md#3-graph-query-interface) | Graph query interface (client side) |
241
- | [§4.3](https://github.com/creatornader/atrib/blob/main/atrib-spec.md#43-the-default-policy) | Default policy document |
242
- | [§4.6](https://github.com/creatornader/atrib/blob/main/atrib-spec.md#46-the-calculation-algorithm) | Pure calculation algorithm |
243
- | [§4.7](https://github.com/creatornader/atrib/blob/main/atrib-spec.md#47-settlement-recommendation-document) | Recommendation document signing/verification |
244
- | [§5.5](https://github.com/creatornader/atrib/blob/main/atrib-spec.md#55-atribverify-merchant-verification-library) | `AtribVerifier` class. `verify()` and `calculate()` |
245
- | [§5.5.4](https://github.com/creatornader/atrib/blob/main/atrib-spec.md#554-ap2--verifiable-intent-evidence-checks) | AP2 / VI evidence checks |
246
- | [§5.8](https://github.com/creatornader/atrib/blob/main/atrib-spec.md#58-degradation-contract) | Degradation contract; failures never break the host |
290
+ | Spec section | What this package implements |
291
+ | ------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------- |
292
+ | [§3](https://github.com/creatornader/atrib/blob/main/atrib-spec.md#3-graph-query-interface) | Graph query interface (client side) |
293
+ | [§4.3](https://github.com/creatornader/atrib/blob/main/atrib-spec.md#43-the-default-policy) | Default policy document |
294
+ | [§4.6](https://github.com/creatornader/atrib/blob/main/atrib-spec.md#46-the-calculation-algorithm) | Pure calculation algorithm |
295
+ | [§4.7](https://github.com/creatornader/atrib/blob/main/atrib-spec.md#47-settlement-recommendation-document) | Recommendation document signing/verification |
296
+ | [§5.5](https://github.com/creatornader/atrib/blob/main/atrib-spec.md#55-atribverify-merchant-verification-library) | `AtribVerifier` class. `verify()` and `calculate()` |
297
+ | [§5.5.4](https://github.com/creatornader/atrib/blob/main/atrib-spec.md#554-ap2--verifiable-intent-evidence-checks) | AP2 / VI evidence checks |
298
+ | [§5.8](https://github.com/creatornader/atrib/blob/main/atrib-spec.md#58-degradation-contract) | Degradation contract; failures never break the host |
247
299
 
248
300
  The full protocol spec is at [`atrib-spec.md`](https://github.com/creatornader/atrib/blob/main/atrib-spec.md).
249
301
 
@@ -110,10 +110,12 @@ export interface Ap2MandateConstraintEvaluation {
110
110
  }
111
111
  export interface Ap2MandateConstraintInput {
112
112
  openCheckoutMandates?: unknown[];
113
+ openCheckoutMandateDigests?: string[];
113
114
  closedCheckoutMandates?: unknown[];
114
115
  openPaymentMandates?: unknown[];
115
116
  closedPaymentMandates?: unknown[];
116
117
  checkoutPayload?: unknown;
118
+ checkoutPaymentBindingOk?: boolean | null;
117
119
  nowSeconds?: number;
118
120
  }
119
121
  export interface Ap2EvidenceCheck {
@@ -1 +1 @@
1
- {"version":3,"file":"ap2-vi-evidence.d.ts","sourceRoot":"","sources":["../src/ap2-vi-evidence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ap2-vi-evidence.d.ts","sourceRoot":"","sources":["../src/ap2-vi-evidence.ts"],"names":[],"mappings":"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"}
@@ -79,7 +79,10 @@ function parseCredential(input) {
79
79
  const value = disclosureValue(decodeBase64urlJson(encoded));
80
80
  return { encoded, digest: hashAscii(encoded), value };
81
81
  });
82
- const mandateValues = disclosures.flatMap((disclosure) => isRecord(disclosure.value) && isString(disclosure.value['vct']) ? [disclosure.value] : []);
82
+ const mandateDisclosures = disclosures.flatMap((disclosure) => isRecord(disclosure.value) && isString(disclosure.value['vct'])
83
+ ? [{ digest: disclosure.digest, value: disclosure.value }]
84
+ : []);
85
+ const mandateValues = mandateDisclosures.map((mandate) => mandate.value);
83
86
  return {
84
87
  input,
85
88
  jwt,
@@ -88,6 +91,7 @@ function parseCredential(input) {
88
91
  signingInput: `${parts[0]}.${parts[1]}`,
89
92
  signature: base64urlDecode(parts[2]),
90
93
  disclosures,
94
+ mandateDisclosures,
91
95
  mandateValues,
92
96
  };
93
97
  }
@@ -226,11 +230,24 @@ function checkoutLineItemId(value) {
226
230
  const product = value['product'];
227
231
  if (isRecord(product) && isString(product['id']))
228
232
  return product['id'];
233
+ if (isRecord(product) && isString(product['sku']))
234
+ return product['sku'];
235
+ if (isString(value['sku']))
236
+ return value['sku'];
229
237
  return isString(value['id']) ? value['id'] : null;
230
238
  }
239
+ function checkoutLineItems(checkoutPayload) {
240
+ const lineItems = checkoutPayload['line_items'];
241
+ if (Array.isArray(lineItems))
242
+ return lineItems;
243
+ const cart = checkoutPayload['cart'];
244
+ if (isRecord(cart) && Array.isArray(cart['items']))
245
+ return cart['items'];
246
+ return null;
247
+ }
231
248
  function checkoutLineItemQuantities(checkoutPayload) {
232
- const items = checkoutPayload['line_items'];
233
- if (!Array.isArray(items))
249
+ const items = checkoutLineItems(checkoutPayload);
250
+ if (items === null)
234
251
  return null;
235
252
  const quantities = new Map();
236
253
  for (const item of items) {
@@ -296,7 +313,7 @@ function maxLineItemFlow(requirements, checkoutQuantities) {
296
313
  flow += increment;
297
314
  }
298
315
  }
299
- function evaluatePaymentConstraint(constraint, closedPaymentMandates, nowSeconds) {
316
+ function evaluatePaymentConstraint(constraint, closedPaymentMandates, nowSeconds, checkoutPaymentBindingOk, openCheckoutMandateDigests = []) {
300
317
  const type = isString(constraint['type']) ? normalizeConstraintType(constraint['type']) : '';
301
318
  if (closedPaymentMandates.length === 0) {
302
319
  return makeConstraintCheck(constraint, 'payment', 'unresolved', 'closed_payment_missing');
@@ -366,6 +383,25 @@ function evaluatePaymentConstraint(constraint, closedPaymentMandates, nowSeconds
366
383
  }
367
384
  return makeConstraintCheck(constraint, 'payment', 'passed');
368
385
  }
386
+ if (type === 'payment.reference') {
387
+ const referencedCheckoutDigest = constraint['conditional_transaction_id'];
388
+ if (!isString(referencedCheckoutDigest)) {
389
+ return makeConstraintCheck(constraint, 'payment', 'unresolved', 'conditional_transaction_id');
390
+ }
391
+ if (openCheckoutMandateDigests.length === 0) {
392
+ return makeConstraintCheck(constraint, 'payment', 'unresolved', 'open_checkout_digest');
393
+ }
394
+ if (!openCheckoutMandateDigests.includes(referencedCheckoutDigest)) {
395
+ return makeConstraintCheck(constraint, 'payment', 'failed', 'open_checkout_digest');
396
+ }
397
+ if (checkoutPaymentBindingOk === false) {
398
+ return makeConstraintCheck(constraint, 'payment', 'failed', 'checkout_payment_binding');
399
+ }
400
+ if (checkoutPaymentBindingOk === null || checkoutPaymentBindingOk === undefined) {
401
+ return makeConstraintCheck(constraint, 'payment', 'unresolved', 'checkout_payment_binding');
402
+ }
403
+ return makeConstraintCheck(constraint, 'payment', 'passed');
404
+ }
369
405
  if (type === 'payment.execution_date') {
370
406
  const immediateExecutionDate = new Date(nowSeconds * 1000).toISOString();
371
407
  for (const mandate of closedPaymentMandates) {
@@ -466,6 +502,8 @@ export function evaluateAp2ViConstraints(input, disclosures = new Map()) {
466
502
  const resolvedCheckoutPayload = resolveDisclosureRefs(input.checkoutPayload, disclosures);
467
503
  const checkoutPayload = resolveCheckoutPayload(resolvedCheckoutPayload, closedCheckoutMandates);
468
504
  const nowSeconds = input.nowSeconds ?? Math.floor(Date.now() / 1000);
505
+ const checkoutPaymentBindingOk = input.checkoutPaymentBindingOk;
506
+ const openCheckoutMandateDigests = input.openCheckoutMandateDigests ?? [];
469
507
  const checks = [];
470
508
  for (const mandate of openCheckoutMandates) {
471
509
  for (const constraint of getConstraintObjects(mandate)) {
@@ -476,7 +514,7 @@ export function evaluateAp2ViConstraints(input, disclosures = new Map()) {
476
514
  for (const mandate of openPaymentMandates) {
477
515
  for (const constraint of getConstraintObjects(mandate)) {
478
516
  const resolved = resolveDisclosureRefs(constraint, disclosures);
479
- checks.push(evaluatePaymentConstraint(isRecord(resolved) ? resolved : constraint, closedPaymentMandates, nowSeconds));
517
+ checks.push(evaluatePaymentConstraint(isRecord(resolved) ? resolved : constraint, closedPaymentMandates, nowSeconds, checkoutPaymentBindingOk, openCheckoutMandateDigests));
480
518
  }
481
519
  }
482
520
  return { status: summarizeConstraintChecks(checks), checks };
@@ -766,6 +804,11 @@ function expectedReceiptReference(serialized, explicitHash) {
766
804
  function findMandates(parsedCredentials, vct) {
767
805
  return parsedCredentials.flatMap((parsed) => parsed.mandateValues.filter((mandate) => mandate['vct'] === vct));
768
806
  }
807
+ function findMandateDigests(parsedCredentials, vct) {
808
+ return parsedCredentials.flatMap((parsed) => parsed.mandateDisclosures
809
+ .filter((mandate) => mandate.value['vct'] === vct)
810
+ .map((mandate) => mandate.digest));
811
+ }
769
812
  function checkCheckoutHash(mandates, errors) {
770
813
  for (const mandate of mandates) {
771
814
  const checkoutJwt = mandate['checkout_jwt'];
@@ -1098,6 +1141,7 @@ export function verifyAp2ViEvidence(bundle, options = {}) {
1098
1141
  const finalCheckoutMandates = findMandates(parsedCredentials, 'mandate.checkout.1');
1099
1142
  const openPaymentMandates = findMandates(parsedCredentials, 'mandate.payment.open.1');
1100
1143
  const openCheckoutMandates = findMandates(parsedCredentials, 'mandate.checkout.open.1');
1144
+ const openCheckoutMandateDigests = findMandateDigests(parsedCredentials, 'mandate.checkout.open.1');
1101
1145
  checkCheckoutHash(finalCheckoutMandates, errors);
1102
1146
  const checkoutPaymentBindingOk = checkPaymentCheckoutBinding(finalPaymentMandates, finalCheckoutMandates, errors);
1103
1147
  const delegationOk = checkDelegation(openCheckoutMandates, openPaymentMandates, errors);
@@ -1110,10 +1154,12 @@ export function verifyAp2ViEvidence(bundle, options = {}) {
1110
1154
  ? { status: 'not_checked', checks: [] }
1111
1155
  : evaluateAp2ViConstraints({
1112
1156
  openCheckoutMandates,
1157
+ openCheckoutMandateDigests,
1113
1158
  closedCheckoutMandates: finalCheckoutMandates,
1114
1159
  openPaymentMandates,
1115
1160
  closedPaymentMandates: finalPaymentMandates,
1116
1161
  checkoutPayload: bundle.ap2?.checkoutPayload,
1162
+ checkoutPaymentBindingOk,
1117
1163
  nowSeconds,
1118
1164
  }, disclosureMap(parsedCredentials));
1119
1165
  if (constraintPolicy !== 'off') {
@@ -1 +1 @@
1
- {"version":3,"file":"ap2-vi-evidence.js","sourceRoot":"","sources":["../src/ap2-vi-evidence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ap2-vi-evidence.js","sourceRoot":"","sources":["../src/ap2-vi-evidence.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAEtC,OAAO,YAAY,MAAM,cAAc,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,aAAa,CAAA;AACpE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAOnD,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,SAAS,EACT,qBAAqB,EACrB,SAAS,GACV,MAAM,MAAM,CAAA;AAsMb,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAA;AACrC,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAA;AAErC,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AAC7E,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAA;AAClC,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAC5D,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;AACjE,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAC/F,CAAA;AACH,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAC3D,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa;IACxC,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAC/D,CAAC;AAED,SAAS,cAAc,CAAC,MAAgC,EAAE,MAAe;IACvE,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;AAC/D,CAAC;AAED,SAAS,qBAAqB,CAC5B,MAAuC,EACvC,OAAuC,EACvC,MAAe;IAEf,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAA;AACjF,CAAC;AAED,SAAS,gCAAgC,CAAC,OAAmB;IAC3D,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,MAAM,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAA;IACnD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC;QAAE,OAAO,OAAO,CAAA;IAEnD,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;QACnC,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;QAC3B,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAS,6BAA6B,CAAC,OAAmB;IACxD,OAAO,IAAI,GAAG,CAAC,gCAAgC,CAAC,OAAO,CAAC,CAAC,CAAA;AAC3D,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAgB;IAC3C,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,CAAA;AAC/C,CAAC;AAED,SAAS,eAAe,CAAC,OAAgB;IACvC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAA;IAC7C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC,CAAC,CAAC,CAAA;IAC3C,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,OAAO,CAAC,CAAC,CAAC,CAAA;IAC1C,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAS,eAAe,CAAC,KAAwB;IAC/C,MAAM,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACvD,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;IAE7C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC5B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;IACrC,CAAC;IAED,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAC5C,MAAM,OAAO,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;IAEhF,MAAM,WAAW,GAAG,cAAc;SAC/B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;SACnC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACf,MAAM,KAAK,GAAG,eAAe,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAA;QAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAA;IACvD,CAAC,CAAC,CAAA;IACJ,MAAM,kBAAkB,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CAC5D,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC;QAC1D,CAAC,CAAC,EAAE,CACP,CAAA;IACD,MAAM,aAAa,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAExE,OAAO;QACL,KAAK;QACL,GAAG;QACH,MAAM;QACN,OAAO;QACP,YAAY,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;QACvC,SAAS,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACpC,WAAW;QACX,kBAAkB;QAClB,aAAa;KACd,CAAA;AACH,CAAC;AAED,SAAS,MAAM,CAAC,GAAwC;IACtD,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAE,GAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACxD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAA;AACnC,CAAC;AAED,SAAS,SAAS,CAAC,MAA8B;IAC/C,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,CAAA;IAC3B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,CAAA;IACpC,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAA;IACtB,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,GAAkB,CAAC,CAAC,CAAC,SAAS,CAAA;AACxD,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IACrC,OAAO,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAA;AACzD,CAAC;AAED,SAAS,QAAQ,CAAC,IAAa,EAAE,KAAc;IAC7C,MAAM,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;IACzC,MAAM,cAAc,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;IAC3C,OAAO,aAAa,KAAK,IAAI,IAAI,aAAa,KAAK,cAAc,CAAA;AACnE,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAmB;IAC/C,MAAM,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,CAAA;IAC1C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;QAAE,OAAO,EAAE,CAAA;IAC1C,OAAO,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;AACrC,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAa;IAC5C,OAAO,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;AAC9E,CAAC;AAED,SAAS,mBAAmB,CAC1B,UAAsB,EACtB,MAA2B,EAC3B,MAAgC,EAChC,MAAe;IAEf,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,UAAU,CAAA;IACpF,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;AAC3F,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc,EAAE,WAAiC;IAC9E,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAA;IAC9F,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IAElC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;IAC3B,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxD,OAAO,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;YAC5B,CAAC,CAAC,qBAAqB,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;YAC7D,CAAC,CAAC,KAAK,CAAA;IACX,CAAC;IAED,MAAM,QAAQ,GAAe,EAAE,CAAA;IAC/B,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAClD,QAAQ,CAAC,GAAG,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IAC5D,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,aAAa,CAAC,iBAAqC;IAC1D,MAAM,WAAW,GAAG,IAAI,GAAG,EAAmB,CAAA;IAC9C,KAAK,MAAM,MAAM,IAAI,iBAAiB,EAAE,CAAC;QACvC,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YAC5C,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,CAAA;QACtD,CAAC;IACH,CAAC;IACD,OAAO,WAAW,CAAA;AACpB,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAgB,EAAE,KAAiB,EAAE,MAAgB;IAC7E,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAClF,CAAC;AAED,SAAS,aAAa,CAAC,IAAa,EAAE,KAAc,EAAE,MAAgB;IACpE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IACrD,MAAM,eAAe,GAAG,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;IAC7D,OAAO,CACL,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAC7F,CAAA;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAgB,EAAE,MAAe,EAAE,MAAgB;IAC3E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAA;IACxC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAA;IAClC,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC/C,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAC5C,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;AACrF,CAAC;AAED,SAAS,aAAa,CAAC,MAAkB;IACvC,MAAM,MAAM,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAA;IACvC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QAC3F,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,CAAA;AACnE,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc;IAC1C,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IACzC,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;AAC5C,CAAC;AAED,SAAS,cAAc,CAAC,KAAa,EAAE,KAAe,EAAE,KAAe;IACrE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAC9B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAA;IAEvC,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACpB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACnC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,GAAG,SAAS;YAAE,OAAO,KAAK,CAAA;IACnE,CAAC;IACD,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACpB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACnC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,GAAG,SAAS;YAAE,OAAO,KAAK,CAAA;IACnE,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAa;IAC5C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;QAChC,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAE,OAAsB,CAAC,CAAC,CAAC,SAAS,CAAA;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAC7B,eAAwB,EACxB,sBAAoC;IAEpC,IAAI,QAAQ,CAAC,eAAe,CAAC;QAAE,OAAO,eAAe,CAAA;IAErD,KAAK,MAAM,OAAO,IAAI,sBAAsB,EAAE,CAAC;QAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAA;QAC3C,IAAI,QAAQ,CAAC,OAAO,CAAC;YAAE,OAAO,OAAO,CAAA;QAErC,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;QAC3C,IAAI,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,uBAAuB,CAAC,WAAW,CAAC,CAAA;YACpD,IAAI,OAAO;gBAAE,OAAO,OAAO,CAAA;QAC7B,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAiB;IAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAA;IAChC,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAA;IACtE,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAAE,OAAO,OAAO,CAAC,KAAK,CAAC,CAAA;IACxE,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAA;IAC/C,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AACnD,CAAC;AAED,SAAS,iBAAiB,CAAC,eAA2B;IACpD,MAAM,SAAS,GAAG,eAAe,CAAC,YAAY,CAAC,CAAA;IAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAA;IAE9C,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,CAAA;IACpC,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC,CAAA;IAExE,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,0BAA0B,CAAC,eAA2B;IAC7D,MAAM,KAAK,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAAA;IAChD,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAE/B,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC5C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAA;QAChC,MAAM,EAAE,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAA;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAA;QACjC,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC;YAAE,OAAO,IAAI,CAAA;QACxE,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAA;IAC1D,CAAC;IACD,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,SAAS,eAAe,CACtB,YAAqE,EACrE,kBAAuC;IAEvC,MAAM,MAAM,GAAG,QAAQ,CAAA;IACvB,MAAM,IAAI,GAAG,MAAM,CAAA;IACnB,MAAM,KAAK,GAAG,IAAI,GAAG,EAA+B,CAAA;IAEpD,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,EAAU,EAAE,QAAgB,EAAQ,EAAE;QACnE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,CAAA;QAChD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,GAAG,EAAE,CAAC,CAAA;QAC5C,KAAK,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAA;QACpE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IACzD,CAAC,CAAA;IAED,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE;QAC1C,MAAM,OAAO,GAAG,OAAO,KAAK,EAAE,CAAA;QAC9B,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAA;QAC9C,KAAK,MAAM,MAAM,IAAI,WAAW,CAAC,aAAa,EAAE,CAAC;YAC/C,IAAI,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC;gBAChC,OAAO,CAAC,OAAO,EAAE,QAAQ,MAAM,EAAE,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAA;QAC/D,CAAC;IACH,CAAC,CAAC,CAAA;IACF,KAAK,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,kBAAkB,EAAE,CAAC;QACpD,OAAO,CAAC,QAAQ,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;IAC3C,CAAC;IAED,IAAI,IAAI,GAAG,CAAC,CAAA;IACZ,SAAS,CAAC;QACR,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAA;QACxC,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,CAAA;QACtB,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAEtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAA;YACtB,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBACrD,IAAI,QAAQ,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACtC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;oBACtB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAClB,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAA;QAElC,IAAI,SAAS,GAAG,MAAM,CAAC,gBAAgB,CAAA;QACvC,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,IAAI,KAAK,MAAM,EAAE,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAE,EAAE,CAAC;YAChE,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAE,CAAA;YAC9B,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,CAAA;QAC9D,CAAC;QAED,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,IAAI,KAAK,MAAM,EAAE,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAE,EAAE,CAAC;YAChE,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAE,CAAA;YAC9B,KAAK,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,GAAG,CAAC,IAAI,CAAE,GAAG,SAAS,CAAC,CAAA;YACnE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,GAAG,CAAC,IAAI,CAAE,GAAG,SAAS,CAAC,CAAA;QACrE,CAAC;QACD,IAAI,IAAI,SAAS,CAAA;IACnB,CAAC;AACH,CAAC;AAED,SAAS,yBAAyB,CAChC,UAAsB,EACtB,qBAAmC,EACnC,UAAkB,EAClB,wBAAyC,EACzC,6BAAuC,EAAE;IAEzC,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC5F,IAAI,qBAAqB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvC,OAAO,mBAAmB,CAAC,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,wBAAwB,CAAC,CAAA;IAC3F,CAAC;IAED,IAAI,IAAI,KAAK,sBAAsB,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,oBAAoB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;QACnD,MAAM,GAAG,GAAG,oBAAoB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;QACnD,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjC,OAAO,mBAAmB,CAAC,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,CAAC,CAAA;QACjF,CAAC;QAED,KAAK,MAAM,OAAO,IAAI,qBAAqB,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;YACrC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB,OAAO,mBAAmB,CAAC,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAA;YACnF,CAAC;YACD,IAAI,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,KAAK,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACnF,OAAO,mBAAmB,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAA;YACzE,CAAC;YACD,IAAI,GAAG,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;gBAC7C,OAAO,mBAAmB,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;YACpE,CAAC;YACD,IAAI,GAAG,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;gBAC7C,OAAO,mBAAmB,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;YACpE,CAAC;QACH,CAAC;QACD,OAAO,mBAAmB,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;IAC7D,CAAC;IAED,IAAI,IAAI,KAAK,wBAAwB,EAAE,CAAC;QACtC,KAAK,MAAM,OAAO,IAAI,qBAAqB,EAAE,CAAC;YAC5C,MAAM,EAAE,GAAG,gBAAgB,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE;gBACnE,IAAI;gBACJ,SAAS;gBACT,MAAM;aACP,CAAC,CAAA;YACF,IAAI,EAAE,KAAK,IAAI;gBAAE,OAAO,mBAAmB,CAAC,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,CAAC,CAAA;YAC3F,IAAI,CAAC,EAAE;gBAAE,OAAO,mBAAmB,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;QAC/E,CAAC;QACD,OAAO,mBAAmB,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;IAC7D,CAAC;IAED,IAAI,IAAI,KAAK,qCAAqC,EAAE,CAAC;QACnD,KAAK,MAAM,OAAO,IAAI,qBAAqB,EAAE,CAAC;YAC5C,MAAM,EAAE,GAAG,gBAAgB,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,EAAE;gBAChF,IAAI;gBACJ,MAAM;gBACN,aAAa;aACd,CAAC,CAAA;YACF,IAAI,EAAE,KAAK,IAAI;gBAAE,OAAO,mBAAmB,CAAC,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,CAAC,CAAA;YAC3F,IAAI,CAAC,EAAE;gBAAE,OAAO,mBAAmB,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,oBAAoB,CAAC,CAAA;QAC5F,CAAC;QACD,OAAO,mBAAmB,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;IAC7D,CAAC;IAED,IAAI,IAAI,KAAK,uBAAuB,EAAE,CAAC;QACrC,KAAK,MAAM,OAAO,IAAI,qBAAqB,EAAE,CAAC;YAC5C,MAAM,EAAE,GAAG,gBAAgB,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE;gBAClE,aAAa;gBACb,YAAY;gBACZ,YAAY;aACb,CAAC,CAAA;YACF,IAAI,EAAE,KAAK,IAAI;gBAAE,OAAO,mBAAmB,CAAC,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,CAAC,CAAA;YAC3F,IAAI,CAAC,EAAE;gBAAE,OAAO,mBAAmB,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;QAC9E,CAAC;QACD,OAAO,mBAAmB,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;IAC7D,CAAC;IAED,IAAI,IAAI,KAAK,mBAAmB,EAAE,CAAC;QACjC,MAAM,wBAAwB,GAAG,UAAU,CAAC,4BAA4B,CAAC,CAAA;QACzE,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC;YACxC,OAAO,mBAAmB,CAAC,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,4BAA4B,CAAC,CAAA;QAC/F,CAAC;QACD,IAAI,0BAA0B,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5C,OAAO,mBAAmB,CAAC,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,sBAAsB,CAAC,CAAA;QACzF,CAAC;QACD,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC;YACnE,OAAO,mBAAmB,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,sBAAsB,CAAC,CAAA;QACrF,CAAC;QACD,IAAI,wBAAwB,KAAK,KAAK,EAAE,CAAC;YACvC,OAAO,mBAAmB,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,0BAA0B,CAAC,CAAA;QACzF,CAAC;QACD,IAAI,wBAAwB,KAAK,IAAI,IAAI,wBAAwB,KAAK,SAAS,EAAE,CAAC;YAChF,OAAO,mBAAmB,CAAC,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,0BAA0B,CAAC,CAAA;QAC7F,CAAC;QACD,OAAO,mBAAmB,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;IAC7D,CAAC;IAED,IAAI,IAAI,KAAK,wBAAwB,EAAE,CAAC;QACtC,MAAM,sBAAsB,GAAG,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAA;QACxE,KAAK,MAAM,OAAO,IAAI,qBAAqB,EAAE,CAAC;YAC5C,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;gBACvD,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;gBAC3B,CAAC,CAAC,sBAAsB,CAAA;YAC1B,MAAM,EAAE,GAAG,cAAc,CAAC,aAAa,EAAE,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,CAAA;YAC3F,IAAI,EAAE,KAAK,IAAI;gBAAE,OAAO,mBAAmB,CAAC,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,CAAC,CAAA;YACxF,IAAI,CAAC,EAAE;gBAAE,OAAO,mBAAmB,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAA;QACxF,CAAC;QACD,OAAO,mBAAmB,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;IAC7D,CAAC;IAED,OAAO,mBAAmB,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,CAAC,CAAA;AAClE,CAAC;AAED,SAAS,0BAA0B,CACjC,UAAsB,EACtB,eAAuC,EACvC,qBAAmC;IAEnC,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAE5F,IAAI,IAAI,KAAK,4BAA4B,EAAE,CAAC;QAC1C,MAAM,QAAQ,GACZ,eAAe,EAAE,CAAC,UAAU,CAAC;YAC7B,qBAAqB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;QACpF,MAAM,EAAE,GAAG,gBAAgB,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAA;QACvF,IAAI,EAAE,KAAK,IAAI;YAAE,OAAO,mBAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,CAAC,CAAA;QAC7F,IAAI,CAAC,EAAE;YAAE,OAAO,mBAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAA;QACjF,OAAO,mBAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAA;IAC9D,CAAC;IAED,IAAI,IAAI,KAAK,qBAAqB,EAAE,CAAC;QACnC,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,OAAO,mBAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,0BAA0B,CAAC,CAAA;QAC9F,CAAC;QAED,MAAM,kBAAkB,GAAG,0BAA0B,CAAC,eAAe,CAAC,CAAA;QACtE,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;QACjC,IAAI,kBAAkB,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzD,OAAO,mBAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,CAAC,CAAA;QAChF,CAAC;QAED,MAAM,YAAY,GAA4D,EAAE,CAAA;QAChF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpB,OAAO,mBAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,CAAC,CAAA;YACjF,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAA;YACjC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;gBAC7C,OAAO,mBAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,CAAC,CAAA;YACjF,CAAC;YACD,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAA;YAChD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;gBACpC,OAAO,mBAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,kBAAkB,CAAC,CAAA;YACtF,CAAC;YACD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAA;YACvC,KAAK,MAAM,UAAU,IAAI,eAAe,EAAE,CAAC;gBACzC,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBAAE,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA;YAC7F,CAAC;YACD,IAAI,aAAa,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBAC7B,OAAO,mBAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,kBAAkB,CAAC,CAAA;YACtF,CAAC;YACD,YAAY,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAA;QAChD,CAAC;QAED,MAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;QACnF,MAAM,gBAAgB,GAAG,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAC9D,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,GAAG,GAAG,QAAQ,EACjC,CAAC,CACF,CAAA;QACD,MAAM,OAAO,GAAG,eAAe,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAA;QAEjE,IAAI,OAAO,KAAK,gBAAgB,IAAI,gBAAgB,KAAK,gBAAgB,EAAE,CAAC;YAC1E,OAAO,mBAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAA;QAC5E,CAAC;QACD,OAAO,mBAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAA;IAC9D,CAAC;IAED,OAAO,mBAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,aAAa,CAAC,CAAA;AACnE,CAAC;AAED,SAAS,yBAAyB,CAChC,MAAmC;IAEnC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,gBAAgB,CAAA;IAChD,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAA;IACtE,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,YAAY,IAAI,KAAK,CAAC,MAAM,KAAK,aAAa,CAAC,EAAE,CAAC;QAC5F,OAAO,YAAY,CAAA;IACrB,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,KAAgC,EAChC,cAAoC,IAAI,GAAG,EAAE;IAE7C,MAAM,oBAAoB,GAAG,CAAC,KAAK,CAAC,oBAAoB,IAAI,EAAE,CAAC;SAC5D,MAAM,CAAC,QAAQ,CAAC;SAChB,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,qBAAqB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;SAC7D,MAAM,CAAC,QAAQ,CAAC,CAAA;IACnB,MAAM,sBAAsB,GAAG,CAAC,KAAK,CAAC,sBAAsB,IAAI,EAAE,CAAC;SAChE,MAAM,CAAC,QAAQ,CAAC;SAChB,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,qBAAqB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;SAC7D,MAAM,CAAC,QAAQ,CAAC,CAAA;IACnB,MAAM,mBAAmB,GAAG,CAAC,KAAK,CAAC,mBAAmB,IAAI,EAAE,CAAC;SAC1D,MAAM,CAAC,QAAQ,CAAC;SAChB,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,qBAAqB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;SAC7D,MAAM,CAAC,QAAQ,CAAC,CAAA;IACnB,MAAM,qBAAqB,GAAG,CAAC,KAAK,CAAC,qBAAqB,IAAI,EAAE,CAAC;SAC9D,MAAM,CAAC,QAAQ,CAAC;SAChB,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,qBAAqB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;SAC7D,MAAM,CAAC,QAAQ,CAAC,CAAA;IACnB,MAAM,uBAAuB,GAAG,qBAAqB,CAAC,KAAK,CAAC,eAAe,EAAE,WAAW,CAAC,CAAA;IACzF,MAAM,eAAe,GAAG,sBAAsB,CAAC,uBAAuB,EAAE,sBAAsB,CAAC,CAAA;IAC/F,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;IACpE,MAAM,wBAAwB,GAAG,KAAK,CAAC,wBAAwB,CAAA;IAC/D,MAAM,0BAA0B,GAAG,KAAK,CAAC,0BAA0B,IAAI,EAAE,CAAA;IACzE,MAAM,MAAM,GAAgC,EAAE,CAAA;IAE9C,KAAK,MAAM,OAAO,IAAI,oBAAoB,EAAE,CAAC;QAC3C,KAAK,MAAM,UAAU,IAAI,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC;YACvD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAA;YAC/D,MAAM,CAAC,IAAI,CACT,0BAA0B,CACxB,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,EAC1C,eAAe,EACf,qBAAqB,CACtB,CACF,CAAA;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,mBAAmB,EAAE,CAAC;QAC1C,KAAK,MAAM,UAAU,IAAI,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC;YACvD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAA;YAC/D,MAAM,CAAC,IAAI,CACT,yBAAyB,CACvB,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,EAC1C,qBAAqB,EACrB,UAAU,EACV,wBAAwB,EACxB,0BAA0B,CAC3B,CACF,CAAA;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,yBAAyB,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;AAC9D,CAAC;AAED,SAAS,aAAa,CAAC,KAA4C;IACjE,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAA;IACtD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAA;IACpD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAA;IAClC,KAAK,MAAM,GAAG,IAAI,IAAI;QAAE,kBAAkB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IACzD,OAAO,EAAE,IAAI,EAAE,IAAa,EAAE,CAAA;AAChC,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAY,EAAE,SAAqB,EAAE,SAAqB;IACtF,MAAM,GAAG,GAAG,eAAe,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;IAC9D,OAAO,WAAW,CAChB,QAAQ,EACR,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAC1B,EAAE,GAAG,EAAE,WAAW,EAAE,YAAY,EAAE,EAClC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CACvB,CAAA;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAwB,EAAE,SAAqB;IACzE,OAAO,oBAAoB,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;AAC/E,CAAC;AAED,SAAS,aAAa,CAAC,GAAkB,EAAE,IAAkB;IAC3D,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC,CAAC,CAAC,CAAA;IAChC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAA;AAChD,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAe,EAAE,QAAqB;IAChE,MAAM,MAAM,GAAG,GAAiB,CAAA;IAChC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;IAC1B,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;QAC5D,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACnB,CAAC;IAED,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,OAAO,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACzC,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IACzB,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACzC,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IACzB,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACzC,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAA;IAChC,IACE,MAAM,KAAK,SAAS;QACpB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EACjF,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACzC,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,IAAiB,EAAE,IAAY;IACtD,OAAO,OAAO,IAAI,gBAAgB,IAAI,EAAE,CAAA;AAC1C,CAAC;AAED,SAAS,4BAA4B,CAAC,IAAY;IAChD,IACE,IAAI,KAAK,mBAAmB;QAC5B,IAAI,KAAK,uBAAuB;QAChC,IAAI,KAAK,kBAAkB;QAC3B,IAAI,KAAK,uBAAuB;QAChC,IAAI,KAAK,oBAAoB;QAC7B,IAAI,KAAK,YAAY;QACrB,IAAI,KAAK,oBAAoB;QAC7B,IAAI,KAAK,sBAAsB;QAC/B,IAAI,KAAK,eAAe,EACxB,CAAC;QACD,OAAO,IAAI,KAAK,mBAAmB,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,IAAI,CAAA;IAC3E,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAS,oBAAoB,CAC3B,YAAoC,EACpC,IAAiB,EACjB,IAAY,EACZ,MAAiC;IAEjC,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IACzC,YAAY,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAA;IAChC,IAAI,MAAM,KAAK,SAAS;QAAE,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;;QACpD,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AACxC,CAAC;AAED,SAAS,oBAAoB,CAC3B,MAAqB,EACrB,OAA8B;IAE9B,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,KAAK,MAAM,CAAC,CAAA;QACtE,IAAI,KAAK;YAAE,OAAO,KAAK,CAAA;IACzB,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,KAAK,SAAS,CAAC,CAAA;AACpE,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,GAAW,EAAE,SAAmC;IACvE,MAAM,OAAO,GAAG,SAAS,IAAI,UAAU,CAAC,KAAK,CAAA;IAC7C,IAAI,OAAO,OAAO,KAAK,UAAU;QAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;IACvE,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAA;IACnC,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;IAC1D,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAA;AACxB,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,MAA2B,EAC3B,SAAmC;IAEnC,MAAM,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;IAE1E,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,OAAO;YACL,MAAM,EAAE,iBAAiB,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACrD,MAAM,EAAE,QAAQ;SACjB,CAAA;IACH,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO;YACL,MAAM,EAAE,kBAAkB,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;YAClE,MAAM,EAAE,UAAU;SACnB,CAAA;IACH,CAAC;IAED,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;QAC/D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;QAE5D,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;QACnC,IAAI,eAAe,CAAC,UAAU,CAAC,EAAE,CAAC;YAChC,OAAO;gBACL,MAAM,EAAE,iBAAiB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;gBACpD,MAAM,EAAE,UAAU;aACnB,CAAA;QACH,CAAC;QAED,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAA;QACpC,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACtB,OAAO;gBACL,MAAM,EAAE,kBAAkB,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;gBAC3D,MAAM,EAAE,UAAU;aACnB,CAAA;QACH,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;IAC1C,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;AACvC,CAAC;AAED,SAAS,WAAW,CAAC,KAAwB,EAAE,GAAkB;IAC/D,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,GAAG,KAAK,QAAQ,CAAA;IAC3C,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,cAAc,CAAA;IACxE,OAAO,GAAG,KAAK,WAAW,CAAA;AAC5B,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAwB;IACnD,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAEhD,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAChC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IACvE,MAAM,eAAe,GAAG,6BAA6B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAErE,OAAO,MAAM,CAAC,WAAW,CAAC,KAAK,CAC7B,CAAC,UAAU,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAC3F,CAAA;AACH,CAAC;AAED,SAAS,0BAA0B,CAAC,MAAwB;IAC1D,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,IAAI,mBAAmB,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QACnF,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;IACxC,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IACvC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/C,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;IACtC,CAAC;IAED,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAChC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC9D,MAAM,eAAe,GAAG,gCAAgC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACxE,IAAI,mBAAmB,CAAC,SAAS,CAAC,IAAI,mBAAmB,CAAC,eAAe,CAAC,EAAE,CAAC;QAC3E,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAA;IAC/C,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAwB;IACtD,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACxE,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACxE,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACxE,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK;QACzB,GAAG;QACH,GAAG;QACH,GAAG;QACH,SAAS,EAAE,cAAc,CAAC,aAAa,CAAC;QACxC,gBAAgB,EAAE,qBAAqB,CAAC,aAAa,EAAE,IAAI,EAAE,gBAAgB,CAAC;QAC9E,QAAQ,EAAE,IAAI;QACd,aAAa,EAAE,mBAAmB,CAAC,MAAM,CAAC;QAC1C,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;KAC3E,CAAA;AACH,CAAC;AAED,SAAS,YAAY,CACnB,KAAc,EACd,cAAwB,EACxB,iBAA0B;IAE1B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO;YACL,OAAO,EAAE,KAAK,KAAK,SAAS;YAC5B,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,KAAK;YACd,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,IAAI;YACjB,aAAa,EAAE,CAAC,gBAAgB,CAAC;SAClC,CAAA;IACH,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACjE,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAC1E,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,CACzC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAC9D,CAAA;IACD,MAAM,OAAO,GAAG,MAAM,KAAK,SAAS,CAAA;IACpC,MAAM,WAAW,GAAG,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,KAAK,iBAAiB,CAAA;IAE5F,OAAO;QACL,OAAO,EAAE,IAAI;QACb,MAAM;QACN,OAAO;QACP,SAAS;QACT,WAAW;QACX,aAAa;KACd,CAAA;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAuB;IACnD,OAAO;QACL,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,IAAI;QACjB,aAAa,EAAE,CAAC,gBAAgB,CAAC;QACjC,GAAG;KACJ,CAAA;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,IAAiB,EACjB,UAAkB,EAClB,OAA8B,EAC9B,MAAiC,EACjC,UAAkB,EAClB,gBAAwB,EACxB,SAAmC;IAEnC,MAAM,YAAY,GAA2B;QAC3C,KAAK,EAAE;YACL,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE,IAAI;YACZ,GAAG,EAAE,IAAI;YACT,GAAG,EAAE,IAAI;YACT,UAAU,EAAE,IAAI;SACjB;QACD,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,EAAE;KACb,CAAA;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAA;QAChD,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,CAAA;QACrC,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAA;QAEzD,YAAY,CAAC,KAAK,CAAC,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAA;QACjE,YAAY,CAAC,KAAK,CAAC,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAA;QACjE,YAAY,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAA;QAElC,IAAI,MAAM,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;YAC3B,oBAAoB,CAAC,YAAY,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAA;YACnE,OAAO,YAAY,CAAA;QACrB,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,oBAAoB,CAAC,YAAY,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,CAAC,CAAA;YACpE,OAAO,YAAY,CAAA;QACrB,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrD,oBAAoB,CAAC,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,CAAA;YAC/D,OAAO,YAAY,CAAA;QACrB,CAAC;QAED,MAAM,YAAY,GAAG,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAC1D,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,oBAAoB,CAAC,YAAY,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,CAAC,CAAA;YACpE,OAAO,YAAY,CAAA;QACrB,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,oBAAoB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;QAC/D,YAAY,CAAC,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC,MAAM,CAAA;QAE1C,MAAM,aAAa,GAAqB;YACtC,UAAU,EAAE,CAAC,OAAO,CAAC;YACrB,cAAc,EAAE,gBAAgB;YAChC,WAAW,EAAE,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;SACzC,CAAA;QACD,IAAI,YAAY,CAAC,QAAQ,KAAK,SAAS;YAAE,aAAa,CAAC,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAA;QACvF,IAAI,YAAY,CAAC,MAAM,KAAK,SAAS;YAAE,aAAa,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAA;QAEjF,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;QACvE,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAA;QAChC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,UAAU,GAAG,gBAAgB,GAAG,GAAG,EAAE,CAAC;YACzD,oBAAoB,CAAC,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,CAAC,CAAA;YACjE,OAAO,YAAY,CAAA;QACrB,CAAC;QAED,YAAY,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAA;QAClC,YAAY,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAqB,CAAA;QACrD,OAAO,YAAY,CAAA;IACrB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,GAAG,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;QAChF,oBAAoB,CAAC,YAAY,EAAE,IAAI,EAAE,4BAA4B,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAA;QACpF,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,mBAAmB,EAAE,CAAC;YACvD,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;QAC1E,CAAC;QACD,OAAO,YAAY,CAAA;IACrB,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAAC,UAAmB,EAAE,YAAqB;IAC1E,IAAI,YAAY;QAAE,OAAO,YAAY,CAAA;IACrC,IAAI,UAAU;QAAE,OAAO,SAAS,CAAC,UAAU,CAAC,CAAA;IAC5C,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAS,YAAY,CAAC,iBAAqC,EAAE,GAAW;IACtE,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAC1C,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CACjE,CAAA;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,iBAAqC,EAAE,GAAW;IAC5E,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAC1C,MAAM,CAAC,kBAAkB;SACtB,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC;SACjD,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CACpC,CAAA;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAsB,EAAE,MAAgB;IACjE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;QAC3C,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;QAC7C,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;YAAE,SAAQ;QAC/D,IAAI,SAAS,CAAC,WAAW,CAAC,KAAK,YAAY,EAAE,CAAC;YAC5C,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAA;QAC1C,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,2BAA2B,CAClC,eAA6B,EAC7B,gBAA8B,EAC9B,MAAgB;IAEhB,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAE9E,MAAM,cAAc,GAAG,IAAI,GAAG,CAC5B,gBAAgB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAC7E,CAAA;IACD,MAAM,EAAE,GAAG,eAAe,CAAC,KAAK,CAC9B,CAAC,OAAO,EAAE,EAAE,CACV,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,IAAI,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CACvF,CAAA;IACD,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAA;IAC5D,OAAO,EAAE,CAAA;AACX,CAAC;AAED,SAAS,eAAe,CACtB,oBAAkC,EAClC,mBAAiC,EACjC,MAAgB;IAEhB,MAAM,IAAI,GAAG,CAAC,GAAG,oBAAoB,EAAE,GAAG,mBAAmB,CAAC;SAC3D,GAAG,CAAC,SAAS,CAAC;SACd,MAAM,CAAC,CAAC,GAAG,EAAqB,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,CAAA;IACxD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAClC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;IACrB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA;IACpD,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;IAC1C,OAAO,EAAE,CAAA;AACX,CAAC;AAED,SAAS,0BAA0B,CACjC,iBAAqC,EACrC,MAA2B,EAC3B,iBAA+B,EAC/B,eAA0C,EAC1C,MAAgB,EAChB,QAAkB;IAElB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAuC,CAAA;IAC9D,KAAK,MAAM,MAAM,IAAI,iBAAiB;QAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IAE/E,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC5B,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC5B,MAAM,SAAS,GAAG,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IACxC,MAAM,WAAW,GACf,EAAE,EAAE,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAqB,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,IAAI,EAAE,CAAA;IAE9F,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,iBAAiB,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACjE,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAE,CAAA;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAE,CAAA;QAC5B,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;YAC1B,KAAK,CAAC,SAAS,GAAG,cAAc,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;YAClD,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;YACjC,SAAQ;QACV,CAAC;QAED,IAAI,GAA2B,CAAA;QAC/B,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YAChC,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAA;QACnD,CAAC;aAAM,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACvC,GAAG,GAAG,SAAS,CAAA;YACf,IAAI,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,CAAC;gBAC1D,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;QACrC,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,CAAA;QACxE,CAAC;QAED,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,KAAK,CAAC,SAAS,GAAG,cAAc,CAAC,aAAa,EAAE,aAAa,CAAC,CAAA;YAC9D,QAAQ,CAAC,IAAI,CAAC,4BAA4B,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAA;YAC/D,IAAI,eAAe,KAAK,SAAS;gBAAE,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;YAC1E,SAAQ;QACV,CAAC;QAED,IAAI,CAAC;YACH,KAAK,CAAC,SAAS,GAAG,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC;gBAC/C,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC;gBAC5B,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;YAC1C,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,SAAS;gBAAE,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;QAC/E,CAAC;QAAC,MAAM,CAAC;YACP,KAAK,CAAC,SAAS,GAAG,cAAc,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;YACxD,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;QACrC,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAClB,iBAAqC,EACrC,MAA2B,EAC3B,MAAgB;IAEhB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAuC,CAAA;IAC9D,KAAK,MAAM,MAAM,IAAI,iBAAiB;QAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IAE/E,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAE5B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,iBAAiB,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACjE,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAE,CAAA;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAE,CAAA;QAE5B,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YAChC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,SAAS,CAAA;YACxD,SAAQ;QACV,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QACxC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACtB,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAA;YACtB,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;YACjC,SAAQ;QACV,CAAC;QAED,IAAI,kBAAsC,CAAA;QAC1C,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YAChC,kBAAkB,GAAG,EAAE,EAAE,KAAK,CAAC,KAAK,CAAA;QACtC,CAAC;aAAM,CAAC;YACN,kBAAkB,GAAG,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAA;QACtD,CAAC;QAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAA;YACrB,SAAQ;QACV,CAAC;QAED,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC,kBAAkB,CAAC,KAAK,MAAM,CAAA;QACzD,IAAI,CAAC,KAAK,CAAC,QAAQ;YAAE,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;IACzD,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CACtB,iBAAqC,EACrC,UAAkB,EAClB,gBAAwB,EACxB,MAAgB;IAEhB,KAAK,MAAM,MAAM,IAAI,iBAAiB,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACjC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,UAAU,GAAG,GAAG,GAAG,gBAAgB;YAAE,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;QAC9F,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACjC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,UAAU,GAAG,gBAAgB,GAAG,GAAG;YACtD,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAA;QAC5C,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACjC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,UAAU,GAAG,gBAAgB,GAAG,GAAG;YACtD,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAA;IAC9C,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,IAA0B,EAAE,GAAW;IAC1D,IAAI,GAAG,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;IAC9D,MAAM,KAAK,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAA;IACxF,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;AACtB,CAAC;AAED,SAAS,aAAa,CAAC,SAAqB;IAC1C,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,EAAE,eAAe,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAA;AAC/F,CAAC;AAED,SAAS,yBAAyB,CAChC,MAAwB,EACxB,iBAA+B,EAC/B,OAAiD;IAEjD,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACxE,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI;QAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAA;IAE7E,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAA;IACvD,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAA;IAEjD,MAAM,WAAW,GACf,OAAO;SACJ,GAAG,CAAC,IAAI,CAAC;QACV,EAAE,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC;SAC7B,MAAM,CAAC,CAAC,GAAG,EAAqB,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,IAAI,EAAE,CAAA;IAChE,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAA;AACnE,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IACzE,IAAI,OAAO,CAAC,QAAQ,CAAC,6BAA6B,CAAC;QAAE,OAAO,gBAAgB,CAAA;IAC5E,IAAI,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QAAE,OAAO,aAAa,CAAA;IACtE,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,mBAAmB,CAAA;IACtF,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;QAAE,OAAO,WAAW,CAAA;IACrD,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IACxE,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IACzC,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IACzC,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,aAAa,CAAA;IACnF,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IACzC,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAA;IAC/C,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAS,0BAA0B,CACjC,MAA8C,EAC9C,IAAY,EACZ,KAAwB,EACxB,MAAgB,EAChB,QAAkB;IAElB,IAAI,MAAM,KAAK,SAAS;QAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;;QACtC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC,CAAA;AACxC,CAAC;AAED,SAAS,qBAAqB,CAC5B,MAA2C,EAC3C,WAA2C,EAC3C,MAAgB,EAChB,QAAkB;IAElB,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;QACvC,IAAI,IAAwB,CAAA;QAC5B,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ;YAAE,IAAI,GAAG,wBAAwB,KAAK,CAAC,IAAI,EAAE,CAAA;QAC1E,IAAI,KAAK,CAAC,MAAM,KAAK,YAAY;YAAE,IAAI,GAAG,4BAA4B,KAAK,CAAC,IAAI,EAAE,CAAA;QAClF,IAAI,KAAK,CAAC,MAAM,KAAK,aAAa;YAAE,IAAI,GAAG,6BAA6B,KAAK,CAAC,IAAI,EAAE,CAAA;QACpF,IAAI,IAAI,KAAK,SAAS;YAAE,SAAQ;QAEhC,IAAI,MAAM,KAAK,SAAS;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;;YACtC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC1B,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gCAAgC,CAC7C,WAAgC,EAChC,iBAA+B,EAC/B,MAA8C,EAC9C,OAAgC,EAChC,OAAmC,EACnC,UAAkB,EAClB,gBAAwB;IAExB,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,MAAM,QAAQ,GAAa,EAAE,CAAA;IAC7B,MAAM,iBAAiB,GAAuD,EAAE,CAAA;IAChF,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAA;IAEnF,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,WAAW,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC3D,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAE,CAAA;QACtC,IAAI,CAAC;YACH,iBAAiB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;QACxE,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,KAAK,CAAC,GAAG,qBAAqB,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;YAClE,0BAA0B,CACxB,MAAM,EACN,+BAA+B,EAC/B,UAAU,CAAC,KAAK,EAChB,MAAM,EACN,QAAQ,CACT,CAAA;QACH,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,GAAG,EAAuC,CAAA;IAC9D,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,iBAAiB;QAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IAEnF,KAAK,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,iBAAiB,EAAE,CAAC;QAC9D,MAAM,GAAG,GAAG,yBAAyB,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAA;QACzE,MAAM,gBAAgB,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAA;QAE3D,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,OAAO,EAAE,CAAC;YACrC,MAAM,CAAC,UAAU,CAAC,GAAG,qBAAqB,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;YACrE,0BAA0B,CACxB,MAAM,EACN,+BAA+B,EAC/B,MAAM,CAAC,KAAK,CAAC,KAAK,EAClB,MAAM,EACN,QAAQ,CACT,CAAA;YACD,SAAQ;QACV,CAAC;QAED,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,CAAC,UAAU,CAAC,GAAG,qBAAqB,CAAC,SAAS,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA;YACnF,0BAA0B,CACxB,MAAM,EACN,+BAA+B,EAC/B,MAAM,CAAC,KAAK,CAAC,KAAK,EAClB,MAAM,EACN,QAAQ,CACT,CAAA;YACD,SAAQ;QACV,CAAC;QAED,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,CAAC,UAAU,CAAC,GAAG,qBAAqB,CAAC,aAAa,EAAE,OAAO,EAAE,aAAa,CAAC,CAAA;YACjF,0BAA0B,CACxB,MAAM,EACN,mCAAmC,EACnC,MAAM,CAAC,KAAK,CAAC,KAAK,EAClB,MAAM,EACN,QAAQ,CACT,CAAA;YACD,SAAQ;QACV,CAAC;QAED,IAAI,mBAAmB,CAAC,MAAM,CAAC,KAAK,KAAK,EAAE,CAAC;YAC1C,MAAM,CAAC,UAAU,CAAC,GAAG,qBAAqB,CAAC,SAAS,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAA;YACnF,0BAA0B,CACxB,MAAM,EACN,+BAA+B,EAC/B,MAAM,CAAC,KAAK,CAAC,KAAK,EAClB,MAAM,EACN,QAAQ,CACT,CAAA;YACD,SAAQ;QACV,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAA;YACnC,MAAM,aAAa,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAA;YAEhF,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;gBAC5B,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAA;gBACvC,MAAM,iBAAiB,GACrB,SAAS,CAAC,iBAAiB;oBAC3B,CAAC,KAAK,IAAI,EAAE;wBACV,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;oBAChD,CAAC,CAAC,CAAA;gBACJ,MAAM,UAAU,GACd,SAAS,CAAC,UAAU;oBACpB,CAAC,SAAS,CAAC,gBAAgB;wBACzB,CAAC,CAAC,KAAK,IAAI,EAAE;4BACT,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;wBAC7C,CAAC;wBACH,CAAC,CAAC,SAAS,CAAC,CAAA;gBAChB,MAAM,QAAQ,GAAkB;oBAC9B,MAAM,EAAE,WAAW;oBACnB,OAAO,EAAE,SAAS;oBAClB,QAAQ;oBACR,sBAAsB,EAAE,SAAS,CAAC,gBAAgB,KAAK,IAAI;oBAC3D,iBAAiB;iBAClB,CAAA;gBACD,IAAI,SAAS,CAAC,kBAAkB,KAAK,SAAS;oBAC5C,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,kBAAkB,EAAE,SAAS,CAAC,kBAAkB,EAAE,CAAC,CAAA;gBAC/E,IAAI,SAAS,CAAC,eAAe,KAAK,SAAS;oBACzC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,eAAe,EAAE,SAAS,CAAC,eAAe,EAAE,CAAC,CAAA;gBACzE,IAAI,UAAU,KAAK,SAAS;oBAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,CAAC,CAAA;gBAErE,MAAM,gBAAgB,GAAG,IAAI,eAAe,CAAC,QAAQ,CAAC,CAAA;gBACtD,MAAM,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;gBAChE,MAAM,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YACtD,CAAC;iBAAM,CAAC;gBACN,MAAM,gBAAgB,GAAG,IAAI,aAAa,CAA0B;oBAClE,MAAM,EAAE,WAAW;oBACnB,OAAO,EAAE,SAAS;oBAClB,QAAQ;iBACT,CAAC,CAAA;gBACF,MAAM,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;gBAChE,MAAM,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YACtD,CAAC;YAED,MAAM,CAAC,UAAU,CAAC,GAAG,qBAAqB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QACjE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,UAAU,CAAC,GAAG,qBAAqB,CAAC,SAAS,EAAE,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAA;YACvF,0BAA0B,CACxB,MAAM,EACN,+BAA+B,EAC/B,MAAM,CAAC,KAAK,CAAC,KAAK,EAClB,MAAM,EACN,QAAQ,CACT,CAAA;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;AACrC,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,MAA2B,EAC3B,UAAsC,EAAE;IAExC,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,MAAM,QAAQ,GAAa,EAAE,CAAA;IAC7B,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,SAAS,CAAA;IAC5D,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,SAAS,CAAA;IAC9D,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,MAAM,CAAC,iBAAiB,IAAI,EAAE,CAAA;IACrF,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;IACtE,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,GAAG,CAAA;IAExD,MAAM,iBAAiB,GAAuB,EAAE,CAAA;IAChD,MAAM,gBAAgB,GAAwB,EAAE,CAAA;IAChD,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,EAAE,EAAE,WAAW,IAAI,EAAE,EAAE,CAAC;QACtD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC,CAAA;YAC1C,MAAM,KAAK,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAA;YAC5C,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAC9B,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAE5B,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;YAC7E,IAAI,KAAK,CAAC,aAAa,KAAK,KAAK;gBAAE,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAA;YAC/E,MAAM,CAAC,IAAI,CAAC,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAA;QACpD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,GAAG,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAA;YACzF,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACjB,gBAAgB,CAAC,IAAI,CAAC;gBACpB,KAAK,EAAE,UAAU,CAAC,KAAK;gBACvB,GAAG,EAAE,IAAI;gBACT,GAAG,EAAE,IAAI;gBACT,GAAG,EAAE,IAAI;gBACT,SAAS,EAAE,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC;gBAC7C,gBAAgB,EAAE,qBAAqB,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC;gBACjE,QAAQ,EAAE,IAAI;gBACd,aAAa,EAAE,IAAI;gBACnB,WAAW,EAAE,EAAE;aAChB,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,WAAW,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAA;IACxD,eAAe,CAAC,iBAAiB,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAA;IACxE,0BAA0B,CACxB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,MAAM,EACN,QAAQ,CACT,CAAA;IAED,MAAM,oBAAoB,GAAG,YAAY,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,CAAA;IACjF,MAAM,qBAAqB,GAAG,YAAY,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,CAAA;IACnF,MAAM,mBAAmB,GAAG,YAAY,CAAC,iBAAiB,EAAE,wBAAwB,CAAC,CAAA;IACrF,MAAM,oBAAoB,GAAG,YAAY,CAAC,iBAAiB,EAAE,yBAAyB,CAAC,CAAA;IACvF,MAAM,0BAA0B,GAAG,kBAAkB,CACnD,iBAAiB,EACjB,yBAAyB,CAC1B,CAAA;IAED,iBAAiB,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAA;IAChD,MAAM,wBAAwB,GAAG,2BAA2B,CAC1D,oBAAoB,EACpB,qBAAqB,EACrB,MAAM,CACP,CAAA;IACD,MAAM,YAAY,GAAG,eAAe,CAAC,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,CAAC,CAAA;IACvF,MAAM,IAAI,GACR,mBAAmB,CAAC,MAAM,GAAG,CAAC,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC;QAC/D,CAAC,CAAC,YAAY;QACd,CAAC,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC;YACnE,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,SAAS,CAAA;IACjB,MAAM,WAAW,GACf,gBAAgB,KAAK,KAAK;QACxB,CAAC,CAAC,EAAE,MAAM,EAAE,aAAsB,EAAE,MAAM,EAAE,EAAE,EAAE;QAChD,CAAC,CAAC,wBAAwB,CACtB;YACE,oBAAoB;YACpB,0BAA0B;YAC1B,sBAAsB,EAAE,qBAAqB;YAC7C,mBAAmB;YACnB,qBAAqB,EAAE,oBAAoB;YAC3C,eAAe,EAAE,MAAM,CAAC,GAAG,EAAE,eAAe;YAC5C,wBAAwB;YACxB,UAAU;SACX,EACD,aAAa,CAAC,iBAAiB,CAAC,CACjC,CAAA;IACP,IAAI,gBAAgB,KAAK,KAAK,EAAE,CAAC;QAC/B,qBAAqB,CAAC,gBAAgB,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;IACxE,CAAC;IAED,MAAM,GAAG,GAAqB,EAAE,CAAA;IAChC,MAAM,wBAAwB,GAAG,wBAAwB,CACvD,MAAM,CAAC,GAAG,EAAE,oBAAoB,EAChC,MAAM,CAAC,GAAG,EAAE,wBAAwB,CACrC,CAAA;IACD,MAAM,yBAAyB,GAAG,wBAAwB,CACxD,MAAM,CAAC,GAAG,EAAE,qBAAqB,EACjC,MAAM,CAAC,GAAG,EAAE,yBAAyB,CACtC,CAAA;IAED,IAAI,MAAM,CAAC,GAAG,EAAE,cAAc,KAAK,SAAS,EAAE,CAAC;QAC7C,GAAG,CAAC,cAAc,GAAG,YAAY,CAC/B,MAAM,CAAC,GAAG,CAAC,cAAc,EACzB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,CAAC,EACnD,wBAAwB,CACzB,CAAA;QACD,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,OAAO;YAAE,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAA;QAC/E,IAAI,GAAG,CAAC,cAAc,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;YAC7C,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAA;QACnD,IAAI,GAAG,CAAC,cAAc,CAAC,WAAW,KAAK,KAAK;YAC1C,MAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAA;IACzD,CAAC;IAED,IAAI,MAAM,CAAC,GAAG,EAAE,eAAe,KAAK,SAAS,EAAE,CAAC;QAC9C,GAAG,CAAC,eAAe,GAAG,YAAY,CAChC,MAAM,CAAC,GAAG,CAAC,eAAe,EAC1B,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,EACjD,yBAAyB,CAC1B,CAAA;QACD,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO;YAAE,MAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAA;QACjF,IAAI,GAAG,CAAC,eAAe,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;YAC9C,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAA;QACpD,IAAI,GAAG,CAAC,eAAe,CAAC,WAAW,KAAK,KAAK;YAC3C,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAA;IAC1D,CAAC;IAED,MAAM,eAAe,GACnB,GAAG,CAAC,cAAc,EAAE,OAAO,KAAK,IAAI,IAAI,GAAG,CAAC,cAAc,CAAC,WAAW,KAAK,KAAK,CAAA;IAClF,MAAM,gBAAgB,GACpB,GAAG,CAAC,eAAe,EAAE,OAAO,KAAK,IAAI,IAAI,GAAG,CAAC,eAAe,CAAC,WAAW,KAAK,KAAK,CAAA;IACpF,MAAM,mBAAmB,GAAG,eAAe,IAAI,gBAAgB,CAAA;IAC/D,MAAM,aAAa,GACjB,GAAG,CAAC,cAAc,EAAE,OAAO,KAAK,IAAI,IAAI,GAAG,CAAC,eAAe,EAAE,OAAO,KAAK,IAAI,CAAA;IAE/E,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,aAAa,IAAI,mBAAmB,CAAC;QACrE,mBAAmB;QACnB,GAAG;QACH,EAAE,EAAE;YACF,IAAI;YACJ,WAAW,EAAE,gBAAgB;YAC7B,YAAY;YACZ,wBAAwB;YACxB,WAAW;SACZ;QACD,MAAM,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5B,QAAQ,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;KACjC,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,MAA2B,EAC3B,UAAsC,EAAE;IAExC,MAAM,GAAG,GAAqB,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,CAAA;IAC/C,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,MAAM,CAAC,iBAAiB,IAAI,EAAE,CAAA;IACrF,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,SAAS,CAAA;IAC9D,MAAM,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,IAAI,SAAS,CAAA;IAC1E,MAAM,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,IAAI,WAAW,CAAA;IAC9E,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;IACtE,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,GAAG,CAAA;IACxD,MAAM,SAAS,GAAa,EAAE,CAAA;IAC9B,MAAM,WAAW,GAAa,EAAE,CAAA;IAChC,MAAM,WAAW,GAAa,EAAE,CAAA;IAChC,MAAM,aAAa,GAAa,EAAE,CAAA;IAElC,MAAM,UAAU,GAAG,GAAG,CAAC,iBAAiB;QACtC,CAAC,CAAC,MAAM,gBAAgB,CACpB,SAAS,EACT,GAAG,CAAC,iBAAiB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,OAAO,CAAC,KAAK,CACd;QACH,CAAC,CAAC,SAAS,CAAA;IACb,IAAI,UAAU,EAAE,CAAC;QACf,SAAS,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;QACpC,WAAW,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;QACxC,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YACvB,IAAI,GAAG,CAAC,cAAc,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1F,MAAM,IAAI,GAAG,eAAe,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAA;gBAC3D,IAAI,gBAAgB,KAAK,SAAS;oBAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;;oBACnD,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC7B,CAAC;YACD,GAAG,CAAC,cAAc,GAAG,UAAU,CAAC,OAAO,CAAA;QACzC,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,GAAG,CAAC,kBAAkB;QACxC,CAAC,CAAC,MAAM,gBAAgB,CACpB,UAAU,EACV,GAAG,CAAC,kBAAkB,EACtB,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,OAAO,CAAC,KAAK,CACd;QACH,CAAC,CAAC,SAAS,CAAA;IACb,IAAI,WAAW,EAAE,CAAC;QAChB,SAAS,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;QACrC,WAAW,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAA;QACzC,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACxB,IACE,GAAG,CAAC,eAAe,KAAK,SAAS;gBACjC,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,WAAW,CAAC,OAAO,CAAC,EACnD,CAAC;gBACD,MAAM,IAAI,GAAG,eAAe,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAA;gBAC5D,IAAI,gBAAgB,KAAK,SAAS;oBAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;;oBACnD,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC7B,CAAC;YACD,GAAG,CAAC,eAAe,GAAG,WAAW,CAAC,OAAO,CAAA;QAC3C,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,mBAAmB,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,CAAA;IAE/D,IAAI,sBAAsB,KAAK,KAAK,EAAE,CAAC;QACrC,MAAM,WAAW,GAAG,MAAM,CAAC,EAAE,EAAE,WAAW,IAAI,EAAE,CAAA;QAChD,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,MAAM,CAAC,iBAAiB,IAAI,EAAE,CAAA;QACrF,MAAM,KAAK,GAAG,MAAM,gCAAgC,CAClD,WAAW,EACX,iBAAiB,EACjB,sBAAsB,EACtB,uBAAuB,EACvB,OAAO,EACP,UAAU,EACV,gBAAgB,CACjB,CAAA;QAED,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;YAC1C,IAAI,KAAK;gBAAE,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAE,CAAA;QAC1D,CAAC;QACD,WAAW,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAA;QACjC,aAAa,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAA;IACvC,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,MAAM,CAAC,GAAG,CAAC,cAAc;YAAE,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,GAAG,UAAU,CAAC,KAAK,CAAA;;YAC1E,MAAM,CAAC,GAAG,CAAC,cAAc,GAAG,oBAAoB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IACzE,CAAC;IACD,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,MAAM,CAAC,GAAG,CAAC,eAAe;YAAE,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,GAAG,WAAW,CAAC,KAAK,CAAA;;YAC7E,MAAM,CAAC,GAAG,CAAC,eAAe,GAAG,oBAAoB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;IAC3E,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,SAAS,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;IAC7E,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,GAAG,WAAW,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA;IACrF,MAAM,aAAa,GACjB,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,KAAK,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,KAAK,IAAI,CAAA;IAE7F,OAAO;QACL,GAAG,MAAM;QACT,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,aAAa,IAAI,MAAM,CAAC,mBAAmB,CAAC;QAC5E,MAAM;QACN,QAAQ;KACT,CAAA;AACH,CAAC"}