@xfuel/verify 0.3.0 → 0.3.3

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 (56) hide show
  1. package/README.md +37 -16
  2. package/dist/anchor-trust.d.ts +129 -0
  3. package/dist/anchor-trust.d.ts.map +1 -0
  4. package/dist/anchor-trust.js +395 -0
  5. package/dist/anchor-trust.js.map +1 -0
  6. package/dist/anchor-witness.d.ts +134 -7
  7. package/dist/anchor-witness.d.ts.map +1 -1
  8. package/dist/anchor-witness.js +497 -44
  9. package/dist/anchor-witness.js.map +1 -1
  10. package/dist/carry-forward.d.ts +79 -0
  11. package/dist/carry-forward.d.ts.map +1 -0
  12. package/dist/carry-forward.js +184 -0
  13. package/dist/carry-forward.js.map +1 -0
  14. package/dist/cli.js +674 -30
  15. package/dist/cli.js.map +1 -1
  16. package/dist/epoch.d.ts +143 -0
  17. package/dist/epoch.d.ts.map +1 -0
  18. package/dist/epoch.js +352 -0
  19. package/dist/epoch.js.map +1 -0
  20. package/dist/index.d.ts +86 -5
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +395 -118
  23. package/dist/index.js.map +1 -1
  24. package/dist/issuer-history.d.ts +19 -0
  25. package/dist/issuer-history.d.ts.map +1 -1
  26. package/dist/issuer-history.js +131 -75
  27. package/dist/issuer-history.js.map +1 -1
  28. package/dist/issuer-pin.d.ts +126 -0
  29. package/dist/issuer-pin.d.ts.map +1 -0
  30. package/dist/issuer-pin.js +567 -0
  31. package/dist/issuer-pin.js.map +1 -0
  32. package/dist/preimage.d.ts +29 -0
  33. package/dist/preimage.d.ts.map +1 -1
  34. package/dist/preimage.js +162 -2
  35. package/dist/preimage.js.map +1 -1
  36. package/dist/receipt-lane.d.ts +1 -0
  37. package/dist/receipt-lane.d.ts.map +1 -1
  38. package/dist/receipt-lane.js +5 -2
  39. package/dist/receipt-lane.js.map +1 -1
  40. package/dist/refusal.d.ts +5 -2
  41. package/dist/refusal.d.ts.map +1 -1
  42. package/dist/refusal.js +28 -6
  43. package/dist/refusal.js.map +1 -1
  44. package/dist/request-binding.d.ts +7 -0
  45. package/dist/request-binding.d.ts.map +1 -0
  46. package/dist/request-binding.js +26 -0
  47. package/dist/request-binding.js.map +1 -0
  48. package/dist/row-hash.d.ts +22 -0
  49. package/dist/row-hash.d.ts.map +1 -0
  50. package/dist/row-hash.js +26 -0
  51. package/dist/row-hash.js.map +1 -0
  52. package/dist/v11-receipt.d.ts +21 -0
  53. package/dist/v11-receipt.d.ts.map +1 -0
  54. package/dist/v11-receipt.js +351 -0
  55. package/dist/v11-receipt.js.map +1 -0
  56. package/package.json +1 -1
package/dist/epoch.js ADDED
@@ -0,0 +1,352 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EPOCH2_OPENING_ROOT = exports.EPOCH1_SIZE2_ROOT = exports.EPOCH1_SIZE1_ROOT = exports.EPOCH1_FINAL_SIZE = exports.EPOCH1_FINAL_ROOT = exports.EPOCH1_GENESIS_DIGEST = exports.TREE_HEAD_SCHEMA_V2 = exports.TREE_HEAD_SCHEMA_V1 = void 0;
4
+ exports.epoch1PrefixRoot = epoch1PrefixRoot;
5
+ exports.matchEpoch1Prefix = matchEpoch1Prefix;
6
+ exports.canonicalUnloggedRows = canonicalUnloggedRows;
7
+ exports.unloggedListHash = unloggedListHash;
8
+ exports.verifyUnloggedSection = verifyUnloggedSection;
9
+ exports.unloggedIdCommitment = unloggedIdCommitment;
10
+ exports.verifyUnloggedCommitment = verifyUnloggedCommitment;
11
+ exports.unloggedReasonForTask = unloggedReasonForTask;
12
+ exports.acceptTreeHeadSchema = acceptTreeHeadSchema;
13
+ exports.verifyEpochLink = verifyEpochLink;
14
+ exports.verifyEpochRecord = verifyEpochRecord;
15
+ exports.verifyEpochInclusion = verifyEpochInclusion;
16
+ /**
17
+ * Epoch links for the receipt log.
18
+ *
19
+ * A version 1 head has no epoch claims and still verifies.
20
+ * Epoch 1 inclusion proofs stay valid on their own root.
21
+ * A later epoch must name the previous epoch's root and size.
22
+ */
23
+ const node_crypto_1 = require("node:crypto");
24
+ const anchor_witness_js_1 = require("./anchor-witness.js");
25
+ exports.TREE_HEAD_SCHEMA_V1 = 'chit402.tree_head.v1';
26
+ exports.TREE_HEAD_SCHEMA_V2 = 'chit402.tree_head.v2';
27
+ /** Historical epoch 1. A self-consistent record with any other final root is forged. */
28
+ exports.EPOCH1_GENESIS_DIGEST = '422cceb1be77114317043b0a00bc18cba6ca9cee34144cd23875c6dcf1b47368';
29
+ exports.EPOCH1_FINAL_ROOT = 'dd20e39a39a225b7b3441bb7f61532c06562288b74ae5dc4dda015c48312f973';
30
+ exports.EPOCH1_FINAL_SIZE = 4;
31
+ /** SHA-256(0x00 || genesis bytes of digest 422cceb1). Single-leaf root. */
32
+ exports.EPOCH1_SIZE1_ROOT = '8665a0fcb74c2cfeca3a356efe18fe878cf94c21cd38da6b19a2bb57629bc35c';
33
+ /** Anchored size-2 head. The v9 tree_head_hash on xfuel-39af100b. */
34
+ exports.EPOCH1_SIZE2_ROOT = 'ecf9a330a9e82d45e0887807261276fad2fbfb394189bb8f7f35b0e9163c70ae';
35
+ exports.EPOCH2_OPENING_ROOT = 'f2043ee96b6e9f678b76bb3c512b5d911293dbb2a3bf198c98252c83802f3286';
36
+ /** Size 3 has no anchored head and the leaf preimages are not in this repo. */
37
+ const EPOCH1_PREFIX_ROOTS = {
38
+ 1: exports.EPOCH1_SIZE1_ROOT,
39
+ 2: exports.EPOCH1_SIZE2_ROOT,
40
+ 4: exports.EPOCH1_FINAL_ROOT,
41
+ };
42
+ function epoch1PrefixRoot(treeSize) {
43
+ return EPOCH1_PREFIX_ROOTS[Number(treeSize)] || null;
44
+ }
45
+ function matchEpoch1Prefix(treeSize, root) {
46
+ const want = epoch1PrefixRoot(treeSize);
47
+ const got = String(root || '').replace(/^0x/, '').toLowerCase();
48
+ if (!want || got !== want)
49
+ return { ok: false, reason: 'epoch1_prefix' };
50
+ return { ok: true };
51
+ }
52
+ function isGenuineV1Head(head) {
53
+ if (!head)
54
+ return false;
55
+ if (head.schema === exports.TREE_HEAD_SCHEMA_V2 || Number(head.payload_version) === 2)
56
+ return false;
57
+ return head.schema === exports.TREE_HEAD_SCHEMA_V1 || Number(head.payload_version) === 1;
58
+ }
59
+ const ORPHAN_GENESIS_ONLY = '20d887917a4c32a49434e4b8f8db864cbf26a8e3a0daa6f5f89ab097282413f9';
60
+ const ORPHAN_FF950E72 = 'ff950e7204762565751e1c7a6bfbdb167c15452f26259a97f63a2c90b2f61ec3';
61
+ const UNLOGGED_REASONS = new Set(['missing_row_hash', 'forked', 'depends_on_refused']);
62
+ function canonicalUnloggedRows(rows) {
63
+ return (Array.isArray(rows) ? rows : []).map((row) => ({
64
+ task_id: String(row?.task_id || ''),
65
+ agent_id: row?.agent_id == null || row.agent_id === '' ? null : Number(row.agent_id),
66
+ reason: String(row?.reason || ''),
67
+ }));
68
+ }
69
+ function unloggedListHash(rows) {
70
+ return (0, node_crypto_1.createHash)('sha256').update(JSON.stringify(rows)).digest('hex');
71
+ }
72
+ function isPlainObject(value) {
73
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
74
+ }
75
+ function verifyUnloggedSection(section) {
76
+ // `in` throws on a string, a number, or a boolean. A hostile value fails closed.
77
+ if (!isPlainObject(section) || !('rows' in section) || !Array.isArray(section.rows)) {
78
+ return { ok: false, reason: 'unlogged_missing' };
79
+ }
80
+ const list = canonicalUnloggedRows(section.rows);
81
+ if (JSON.stringify(list) !== JSON.stringify(section.rows))
82
+ return { ok: false, reason: 'unlogged_canonical' };
83
+ for (const row of list) {
84
+ if (!row.task_id)
85
+ return { ok: false, reason: 'unlogged_task' };
86
+ if (!UNLOGGED_REASONS.has(row.reason))
87
+ return { ok: false, reason: 'unlogged_reason' };
88
+ }
89
+ if (Number(section.count) !== list.length)
90
+ return { ok: false, reason: 'unlogged_count' };
91
+ if (section.hash !== unloggedListHash(list))
92
+ return { ok: false, reason: 'unlogged_hash' };
93
+ return { ok: true };
94
+ }
95
+ /**
96
+ * SHA-256 of `{"count":N,"ids":[...]}`. Ids are unique and sorted by UTF-16
97
+ * code unit. The same bytes the gateway signs into a version 3 epoch record.
98
+ */
99
+ function unloggedIdCommitment(rows) {
100
+ const ids = [];
101
+ const seen = new Set();
102
+ for (const row of Array.isArray(rows) ? rows : []) {
103
+ const id = String(typeof row === 'string' ? row : (row?.task_id || ''));
104
+ if (!id || seen.has(id))
105
+ continue;
106
+ seen.add(id);
107
+ ids.push(id);
108
+ }
109
+ ids.sort();
110
+ const count = ids.length;
111
+ const commitment = (0, node_crypto_1.createHash)('sha256').update(JSON.stringify({ count, ids })).digest('hex');
112
+ return { count, commitment };
113
+ }
114
+ /**
115
+ * Version 3 shape. Extra keys are a disclosure. Pass `ids` to recompute
116
+ * the digest; without them only the shape is checked.
117
+ */
118
+ function verifyUnloggedCommitment(section, ids) {
119
+ if (!section || typeof section !== 'object' || Array.isArray(section)) {
120
+ return { ok: false, reason: 'unlogged_missing' };
121
+ }
122
+ for (const key of Object.keys(section)) {
123
+ if (key !== 'count' && key !== 'commitment')
124
+ return { ok: false, reason: 'unlogged_disclosed' };
125
+ }
126
+ const commitment = section.commitment;
127
+ const count = section.count;
128
+ if (!Number.isInteger(count) || count < 0)
129
+ return { ok: false, reason: 'unlogged_count' };
130
+ if (typeof commitment !== 'string' || !/^[0-9a-f]{64}$/.test(commitment)) {
131
+ return { ok: false, reason: 'unlogged_commitment' };
132
+ }
133
+ if (ids != null) {
134
+ const expect = unloggedIdCommitment(ids);
135
+ if (expect.count !== count || expect.commitment !== commitment) {
136
+ return { ok: false, reason: 'unlogged_commitment' };
137
+ }
138
+ }
139
+ return { ok: true };
140
+ }
141
+ /**
142
+ * Reason for a task a version 2 record attested as outside the tree.
143
+ * Null when the list does not verify. A version 3 commitment has no reason.
144
+ */
145
+ function unloggedReasonForTask(record, taskId) {
146
+ if (Number(record?.payload_version) !== 2)
147
+ return null;
148
+ const section = record?.unlogged;
149
+ if (!isPlainObject(section) || !('rows' in section) || !Array.isArray(section.rows))
150
+ return null;
151
+ const checked = verifyUnloggedSection(section);
152
+ if (!checked.ok)
153
+ return null;
154
+ const id = String(taskId || '');
155
+ const rows = section.rows;
156
+ return rows.find((row) => row.task_id === id) || null;
157
+ }
158
+ function acceptTreeHeadSchema(head) {
159
+ if (!head || typeof head !== 'object')
160
+ return { ok: false, reason: 'no_head' };
161
+ const schema = head.schema;
162
+ const version = head.payload_version;
163
+ if (schema == null && version == null)
164
+ return { ok: true };
165
+ if (schema === exports.TREE_HEAD_SCHEMA_V1 || schema === exports.TREE_HEAD_SCHEMA_V2 || schema == null) {
166
+ if (version == null || version === 1 || version === 2)
167
+ return { ok: true };
168
+ }
169
+ return { ok: false, reason: 'unknown_head_schema' };
170
+ }
171
+ /**
172
+ * Epoch 1 (and a head with no epoch, the v1 shape) has no predecessor.
173
+ * A later epoch must point at the previous epoch's root and size.
174
+ */
175
+ function verifyEpochLink(head, previous) {
176
+ const schema = acceptTreeHeadSchema(head);
177
+ if (!schema.ok)
178
+ return schema;
179
+ const explicitEpoch = head?.epoch == null ? null : Number(head.epoch);
180
+ if (explicitEpoch == null) {
181
+ if (!isGenuineV1Head(head))
182
+ return { ok: false, reason: 'epoch_missing' };
183
+ if (head?.prev_epoch_root)
184
+ return { ok: false, reason: 'epoch1_has_prev' };
185
+ return { ok: true };
186
+ }
187
+ const epoch = explicitEpoch;
188
+ if (!Number.isInteger(epoch) || epoch < 1)
189
+ return { ok: false, reason: 'bad_epoch' };
190
+ if (epoch === 1) {
191
+ if (head?.prev_epoch_root)
192
+ return { ok: false, reason: 'epoch1_has_prev' };
193
+ const sizeRaw = head?.tree_size ?? head?.final_size;
194
+ const size = sizeRaw == null ? null : Number(sizeRaw);
195
+ const rootRaw = head?.root ?? head?.final_root;
196
+ const root = typeof rootRaw === 'string' ? rootRaw.replace(/^0x/, '').toLowerCase() : '';
197
+ if (size !== exports.EPOCH1_FINAL_SIZE || root !== exports.EPOCH1_FINAL_ROOT) {
198
+ return { ok: false, reason: 'epoch1_root' };
199
+ }
200
+ const recordShape = head?.final_size != null || head?.genesis_digest != null;
201
+ if (recordShape && head?.genesis_digest !== exports.EPOCH1_GENESIS_DIGEST) {
202
+ return { ok: false, reason: 'epoch1_genesis' };
203
+ }
204
+ return { ok: true };
205
+ }
206
+ if (!previous?.root)
207
+ return { ok: false, reason: 'missing_previous_epoch' };
208
+ if (head?.prev_epoch_root !== previous.root)
209
+ return { ok: false, reason: 'prev_epoch_root' };
210
+ if (Number(head?.prev_epoch_size) !== Number(previous.tree_size))
211
+ return { ok: false, reason: 'prev_epoch_size' };
212
+ return { ok: true };
213
+ }
214
+ /**
215
+ * Epoch 1 is pinned to dd20e39a, size 4, genesis 422cceb1.
216
+ * A self-consistent chain with another root does not verify.
217
+ * The issuer signature is required. d7f6c548 must be present, root null,
218
+ * and marked unrecoverable.
219
+ */
220
+ function verifyEpochRecord(record, options = {}) {
221
+ const jws = record?.issuer_signature?.jws;
222
+ if (!jws)
223
+ return { ok: false, reason: 'epoch_signature_missing' };
224
+ if (typeof options.verifySignature !== 'function') {
225
+ return { ok: false, reason: 'epoch_signature_unverified' };
226
+ }
227
+ if (!options.verifySignature(jws))
228
+ return { ok: false, reason: 'epoch_signature_invalid' };
229
+ const epochs = record?.epochs;
230
+ if (!Array.isArray(epochs) || epochs.length === 0)
231
+ return { ok: false, reason: 'no_epochs' };
232
+ for (let i = 0; i < epochs.length; i += 1) {
233
+ const row = epochs[i];
234
+ if (Number(row.epoch) !== i + 1)
235
+ return { ok: false, reason: 'epoch_index' };
236
+ if (i === 0) {
237
+ if (row.prev_epoch_root != null)
238
+ return { ok: false, reason: 'epoch1_has_prev' };
239
+ if (Number(row.prev_epoch_size || 0) !== 0)
240
+ return { ok: false, reason: 'epoch1_size' };
241
+ continue;
242
+ }
243
+ const prev = epochs[i - 1];
244
+ const prevRoot = prev.final_root || prev.opening_root;
245
+ const prevSize = prev.final_size ?? prev.opening_size;
246
+ if (row.prev_epoch_root !== prevRoot)
247
+ return { ok: false, reason: 'prev_epoch_root' };
248
+ if (Number(row.prev_epoch_size) !== Number(prevSize))
249
+ return { ok: false, reason: 'prev_epoch_size' };
250
+ }
251
+ if (!Array.isArray(record?.orphans))
252
+ return { ok: false, reason: 'orphans_missing' };
253
+ const epoch1 = epochs.find((row) => Number(row.epoch) === 1);
254
+ if (!epoch1)
255
+ return { ok: false, reason: 'epoch1_missing' };
256
+ if (epoch1.final_root !== exports.EPOCH1_FINAL_ROOT || Number(epoch1.final_size) !== exports.EPOCH1_FINAL_SIZE) {
257
+ return { ok: false, reason: 'epoch1_root' };
258
+ }
259
+ if (epoch1.genesis_digest !== exports.EPOCH1_GENESIS_DIGEST)
260
+ return { ok: false, reason: 'epoch1_genesis' };
261
+ const epoch2 = epochs.find((row) => Number(row.epoch) === 2);
262
+ if (epoch2) {
263
+ if (epoch2.prev_epoch_root !== exports.EPOCH1_FINAL_ROOT || Number(epoch2.prev_epoch_size) !== exports.EPOCH1_FINAL_SIZE) {
264
+ return { ok: false, reason: 'prev_epoch_root' };
265
+ }
266
+ if (epoch2.opening_root && epoch2.opening_root !== exports.EPOCH2_OPENING_ROOT) {
267
+ return { ok: false, reason: 'epoch2_opening' };
268
+ }
269
+ }
270
+ const orphans = record.orphans;
271
+ const lost = orphans.find((row) => row?.root_prefix === 'd7f6c548');
272
+ if (!lost)
273
+ return { ok: false, reason: 'orphan_d7f6c548_missing' };
274
+ if (lost.root != null)
275
+ return { ok: false, reason: 'orphan_d7f6c548_root_invented' };
276
+ if (lost.unrecoverable !== true)
277
+ return { ok: false, reason: 'orphan_d7f6c548_unmarked' };
278
+ if (!orphans.some((row) => row?.root === ORPHAN_GENESIS_ONLY))
279
+ return { ok: false, reason: 'orphans_incomplete' };
280
+ if (!orphans.some((row) => row?.root === exports.EPOCH2_OPENING_ROOT))
281
+ return { ok: false, reason: 'orphans_incomplete' };
282
+ const version = Number(record.payload_version) || 1;
283
+ if (version === 1) {
284
+ if (record.unlogged != null)
285
+ return { ok: false, reason: 'unlogged_unexpected' };
286
+ }
287
+ else if (version === 2) {
288
+ const listed = verifyUnloggedSection(record.unlogged);
289
+ if (!listed.ok)
290
+ return listed;
291
+ const chains = v2OrphanChains(orphans);
292
+ if (!chains.ok)
293
+ return chains;
294
+ }
295
+ else if (version === 3) {
296
+ const listed = verifyUnloggedCommitment(record.unlogged);
297
+ if (!listed.ok)
298
+ return listed;
299
+ const chains = v2OrphanChains(orphans);
300
+ if (!chains.ok)
301
+ return chains;
302
+ }
303
+ else {
304
+ return { ok: false, reason: 'epoch_record_version' };
305
+ }
306
+ return { ok: true };
307
+ }
308
+ function v2OrphanChains(orphans) {
309
+ const early = orphans.find((row) => row?.root === ORPHAN_FF950E72);
310
+ if (!early)
311
+ return { ok: false, reason: 'orphan_ff950e72_missing' };
312
+ if (early.chain !== 'base' || early.solana !== 'absent')
313
+ return { ok: false, reason: 'orphan_ff950e72_chain' };
314
+ const genesis = orphans.find((row) => row?.root === ORPHAN_GENESIS_ONLY);
315
+ if (genesis?.chain !== 'base_and_solana')
316
+ return { ok: false, reason: 'orphan_20d88791_chain' };
317
+ const lost = orphans.find((row) => row?.root_prefix === 'd7f6c548');
318
+ if (lost?.chain !== 'base_and_solana')
319
+ return { ok: false, reason: 'orphan_d7f6c548_chain' };
320
+ return { ok: true };
321
+ }
322
+ /**
323
+ * Inclusion against the epoch the proof names. Epoch 1 proofs with no epoch
324
+ * field stay valid. A later epoch also has to link to the previous epoch.
325
+ */
326
+ function verifyEpochInclusion(input) {
327
+ const epoch = input.epoch == null ? 1 : Number(input.epoch);
328
+ if (epoch === 1) {
329
+ const prefix = matchEpoch1Prefix(input.treeSize, input.root);
330
+ if (!prefix.ok)
331
+ return prefix;
332
+ }
333
+ let leaf = input.leaf ? new Uint8Array(input.leaf) : null;
334
+ if (!leaf && input.taskId) {
335
+ leaf = (0, anchor_witness_js_1.leafHash)(Buffer.from(`${input.taskId}|${input.rowHash || ''}`));
336
+ }
337
+ if (!leaf)
338
+ return { ok: false, reason: 'no_leaf' };
339
+ const included = (0, anchor_witness_js_1.verifyMerkleInclusion)(Buffer.from(leaf), input.index, input.treeSize, input.root, input.proof);
340
+ if (!included)
341
+ return { ok: false, reason: 'inclusion_failed' };
342
+ if (epoch === 1)
343
+ return { ok: true };
344
+ return verifyEpochLink({
345
+ schema: exports.TREE_HEAD_SCHEMA_V2,
346
+ payload_version: 2,
347
+ epoch,
348
+ prev_epoch_root: input.prevEpochRoot,
349
+ prev_epoch_size: input.prevEpochSize,
350
+ }, input.previous);
351
+ }
352
+ //# sourceMappingURL=epoch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"epoch.js","sourceRoot":"","sources":["../src/epoch.ts"],"names":[],"mappings":";;;AA8BA,4CAEC;AAED,8CAKC;AAkED,sDAMC;AAED,4CAEC;AAMD,sDAcC;AAMD,oDAaC;AAMD,4DAuBC;AAMD,sDAYC;AAMD,oDASC;AAMD,0CAiCC;AAQD,8CAkEC;AAiBD,oDAiCC;AA3XD;;;;;;GAMG;AACH,6CAAyC;AACzC,2DAA0F;AAE7E,QAAA,mBAAmB,GAAG,sBAAsB,CAAC;AAC7C,QAAA,mBAAmB,GAAG,sBAAsB,CAAC;AAE1D,wFAAwF;AAC3E,QAAA,qBAAqB,GAAG,kEAAkE,CAAC;AAC3F,QAAA,iBAAiB,GAAG,kEAAkE,CAAC;AACvF,QAAA,iBAAiB,GAAG,CAAC,CAAC;AACnC,2EAA2E;AAC9D,QAAA,iBAAiB,GAAG,kEAAkE,CAAC;AACpG,qEAAqE;AACxD,QAAA,iBAAiB,GAAG,kEAAkE,CAAC;AACvF,QAAA,mBAAmB,GAAG,kEAAkE,CAAC;AAEtG,+EAA+E;AAC/E,MAAM,mBAAmB,GAA2B;IAClD,CAAC,EAAE,yBAAiB;IACpB,CAAC,EAAE,yBAAiB;IACpB,CAAC,EAAE,yBAAiB;CACrB,CAAC;AAEF,SAAgB,gBAAgB,CAAC,QAAgB;IAC/C,OAAO,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,IAAI,CAAC;AACvD,CAAC;AAED,SAAgB,iBAAiB,CAAC,QAAgB,EAAE,IAA+B;IACjF,MAAM,IAAI,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAChE,IAAI,CAAC,IAAI,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IACzE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC;AAED,SAAS,eAAe,CAAC,IAAsC;IAC7D,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,IAAI,IAAI,CAAC,MAAM,KAAK,2BAAmB,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5F,OAAO,IAAI,CAAC,MAAM,KAAK,2BAAmB,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AACnF,CAAC;AACD,MAAM,mBAAmB,GAAG,kEAAkE,CAAC;AAC/F,MAAM,eAAe,GAAG,kEAAkE,CAAC;AAwD3F,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,kBAAkB,EAAE,QAAQ,EAAE,oBAAoB,CAAC,CAAC,CAAC;AAEvF,SAAgB,qBAAqB,CAAC,IAAoD;IACxF,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACrD,OAAO,EAAE,MAAM,CAAC,GAAG,EAAE,OAAO,IAAI,EAAE,CAAC;QACnC,QAAQ,EAAE,GAAG,EAAE,QAAQ,IAAI,IAAI,IAAK,GAAG,CAAC,QAAoB,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACjG,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,IAAI,EAAE,CAAC;KAClC,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAgB,gBAAgB,CAAC,IAAmB;IAClD,OAAO,IAAA,wBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAgB,qBAAqB,CAAC,OAAgB;IACpD,iFAAiF;IACjF,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACpF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;IACnD,CAAC;IACD,MAAM,IAAI,GAAG,qBAAqB,CAAC,OAAO,CAAC,IAAmC,CAAC,CAAC;IAChF,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAC9G,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,CAAC,OAAO;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;QAChE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;IACzF,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC1F,IAAI,OAAO,CAAC,IAAI,KAAK,gBAAgB,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IAC3F,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC;AAED;;;GAGG;AACH,SAAgB,oBAAoB,CAAC,IAA6D;IAChG,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAClD,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;QACxE,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,SAAS;QAClC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACb,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,CAAC;IACD,GAAG,CAAC,IAAI,EAAE,CAAC;IACX,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC;IACzB,MAAM,UAAU,GAAG,IAAA,wBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7F,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AAC/B,CAAC;AAED;;;GAGG;AACH,SAAgB,wBAAwB,CACtC,OAAgE,EAChE,GAAqB;IAErB,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACtE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;IACnD,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,YAAY;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAClG,CAAC;IACD,MAAM,UAAU,GAAI,OAA8B,CAAC,UAAU,CAAC;IAC9D,MAAM,KAAK,GAAI,OAA8B,CAAC,KAAK,CAAC;IACpD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC1F,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACzE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC;IACtD,CAAC;IACD,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAChB,MAAM,MAAM,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK,IAAI,MAAM,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;YAC/D,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC;QACtD,CAAC;IACH,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC;AAED;;;GAGG;AACH,SAAgB,qBAAqB,CACnC,MAAsC,EACtC,MAAiC;IAEjC,IAAI,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACvD,MAAM,OAAO,GAAG,MAAM,EAAE,QAAQ,CAAC;IACjC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACjG,MAAM,OAAO,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/C,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC;IAC7B,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAqB,CAAC;IAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,KAAK,EAAE,CAAC,IAAI,IAAI,CAAC;AACxD,CAAC;AAMD,SAAgB,oBAAoB,CAAC,IAAsC;IACzE,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC/E,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC;IACrC,IAAI,MAAM,IAAI,IAAI,IAAI,OAAO,IAAI,IAAI;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IAC3D,IAAI,MAAM,KAAK,2BAAmB,IAAI,MAAM,KAAK,2BAAmB,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;QACvF,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC;YAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IAC7E,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC;AACtD,CAAC;AAED;;;GAGG;AACH,SAAgB,eAAe,CAC7B,IAAsC,EACtC,QAAqE;IAErE,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,MAAM,CAAC;IAC9B,MAAM,aAAa,GAAG,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtE,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;QAC1B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;QAC1E,IAAI,IAAI,EAAE,eAAe;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;QAC3E,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC;IACD,MAAM,KAAK,GAAG,aAAa,CAAC;IAC5B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IACrF,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAChB,IAAI,IAAI,EAAE,eAAe;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;QAC3E,MAAM,OAAO,GAAG,IAAI,EAAE,SAAS,IAAI,IAAI,EAAE,UAAU,CAAC;QACpD,MAAM,IAAI,GAAG,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,UAAU,CAAC;QAC/C,MAAM,IAAI,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzF,IAAI,IAAI,KAAK,yBAAiB,IAAI,IAAI,KAAK,yBAAiB,EAAE,CAAC;YAC7D,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;QAC9C,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,EAAE,UAAU,IAAI,IAAI,IAAI,IAAI,EAAE,cAAc,IAAI,IAAI,CAAC;QAC7E,IAAI,WAAW,IAAI,IAAI,EAAE,cAAc,KAAK,6BAAqB,EAAE,CAAC;YAClE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;QACjD,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC;IACD,IAAI,CAAC,QAAQ,EAAE,IAAI;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC;IAC5E,IAAI,IAAI,EAAE,eAAe,KAAK,QAAQ,CAAC,IAAI;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC7F,IAAI,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,KAAK,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAClH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,iBAAiB,CAC/B,MAAsC,EACtC,UAA8B,EAAE;IAEhC,MAAM,GAAG,GAAG,MAAM,EAAE,gBAAgB,EAAE,GAAG,CAAC;IAC1C,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC;IAClE,IAAI,OAAO,OAAO,CAAC,eAAe,KAAK,UAAU,EAAE,CAAC;QAClD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,4BAA4B,EAAE,CAAC;IAC7D,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC;IAC3F,MAAM,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC;IAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAC7F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;QAC7E,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACZ,IAAI,GAAG,CAAC,eAAe,IAAI,IAAI;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;YACjF,IAAI,MAAM,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,CAAC,KAAK,CAAC;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;YACxF,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,YAAY,CAAC;QACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,YAAY,CAAC;QACtD,IAAI,GAAG,CAAC,eAAe,KAAK,QAAQ;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;QACtF,IAAI,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,MAAM,CAAC,QAAQ,CAAC;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;IACxG,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;IACrF,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7D,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC5D,IAAI,MAAM,CAAC,UAAU,KAAK,yBAAiB,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,yBAAiB,EAAE,CAAC;QAC/F,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IAC9C,CAAC;IACD,IAAI,MAAM,CAAC,cAAc,KAAK,6BAAqB;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;IACpG,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7D,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,MAAM,CAAC,eAAe,KAAK,yBAAiB,IAAI,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,yBAAiB,EAAE,CAAC;YACzG,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;QAClD,CAAC;QACD,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,KAAK,2BAAmB,EAAE,CAAC;YACvE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;QACjD,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAyF,CAAC;IACjH,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,UAAU,CAAC,CAAC;IACpE,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC;IACnE,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,+BAA+B,EAAE,CAAC;IACrF,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAC;IAC1F,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,mBAAmB,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAClH,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,2BAAmB,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAClH,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACpD,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QAClB,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC;IACnF,CAAC;SAAM,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,OAAO,MAAM,CAAC;QAC9B,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,OAAO,MAAM,CAAC;IAChC,CAAC;SAAM,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,wBAAwB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,OAAO,MAAM,CAAC;QAC9B,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,OAAO,MAAM,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC;IACvD,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC;AAED,SAAS,cAAc,CAAC,OAA+F;IACrH,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,eAAe,CAAC,CAAC;IACnE,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC;IACpE,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC;IAC/G,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,mBAAmB,CAAC,CAAC;IACzE,IAAI,OAAO,EAAE,KAAK,KAAK,iBAAiB;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC;IAChG,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,UAAU,CAAC,CAAC;IACpE,IAAI,IAAI,EAAE,KAAK,KAAK,iBAAiB;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC;IAC7F,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC;AAED;;;GAGG;AACH,SAAgB,oBAAoB,CAAC,KAYpC;IACC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC5D,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAChB,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,OAAO,MAAM,CAAC;IAChC,CAAC;IACD,IAAI,IAAI,GAAsB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7E,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QAC1B,IAAI,GAAG,IAAA,4BAAQ,EAAC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IACnD,MAAM,QAAQ,GAAG,IAAA,yCAAqB,EAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAChH,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAChE,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACrC,OAAO,eAAe,CAAC;QACrB,MAAM,EAAE,2BAAmB;QAC3B,eAAe,EAAE,CAAC;QAClB,KAAK;QACL,eAAe,EAAE,KAAK,CAAC,aAAa;QACpC,eAAe,EAAE,KAAK,CAAC,aAAa;KACrC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;AACrB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -11,6 +11,7 @@
11
11
  * See docs/specs/RECEIPT_V2_SEMANTICS.md for the verification algorithm.
12
12
  */
13
13
  import { type InclusionStep } from './anchor-witness.js';
14
+ import { type CarryForwardView, type CarryHead, type CarryInclusion } from './carry-forward.js';
14
15
  import { computePaymentCommitment, computeInferenceBinding, type PaymentCommitmentInput, type InferenceBindingInput } from './binding.js';
15
16
  import { verifyBasePayer, parseBasePaymentRef, isEvmAddress, sumUsdcTransfersFromPayer, fetchBaseTransactionReceipt, USDC_ADDRESSES, ERC20_TRANSFER_TOPIC, BASE_RPC_URL, type BasePayerVerification, type BaseReceiptFetcher } from './base-payer.js';
16
17
  import { verifySolanaPayer, parseSolanaPaymentRef, isSolanaBase58Pubkey, extractUsdcTransfersFromTx, inferUsdcOutflowFromBalances, fetchSolanaTransaction, SOLANA_RPC_URL, SOLANA_USDC_MINT_MAINNET, SOLANA_USDC_MINT_DEVNET, type SolanaPayerVerification, type SolanaRpcFetcher, type SolanaRpcGetTransactionResult } from './solana-payer.js';
@@ -19,6 +20,7 @@ import { resolvePinnedIssuerJwk, verifyIssuerJws } from './jws.js';
19
20
  import { type ReceiptLane, type ReceiptTreeHead } from './receipt-lane.js';
20
21
  import { type PreimageCheck } from './preimage.js';
21
22
  import { type IssuerHistoryCheck, type IssuerHistoryDocument } from './issuer-history.js';
23
+ import { type TreeHeadDocument } from './anchor-trust.js';
22
24
  export { computePaymentCommitment, computeInferenceBinding, type PaymentCommitmentInput, type InferenceBindingInput, verifyBasePayer, parseBasePaymentRef, isEvmAddress, sumUsdcTransfersFromPayer, fetchBaseTransactionReceipt, USDC_ADDRESSES, ERC20_TRANSFER_TOPIC, BASE_RPC_URL, type BasePayerVerification, type BaseReceiptFetcher, verifySolanaPayer, parseSolanaPaymentRef, isSolanaBase58Pubkey, extractUsdcTransfersFromTx, inferUsdcOutflowFromBalances, fetchSolanaTransaction, SOLANA_RPC_URL, SOLANA_USDC_MINT_MAINNET, SOLANA_USDC_MINT_DEVNET, type SolanaPayerVerification, type SolanaRpcFetcher, type SolanaRpcGetTransactionResult, verifyPayerBinding, receiptPayerClaimsFromEnvelope, decodeJwsPayload, type PayerBindingVerification, type ReceiptPayerClaims, type PayerRail, };
23
25
  /** ZKVerifierSP1 contract on Base mainnet. */
24
26
  export declare const ZK_VERIFIER_ADDRESS = "0x9373499645292715a2275A78eD65B14215C41c06";
@@ -134,6 +136,8 @@ export interface XFuelReceipt {
134
136
  } | null;
135
137
  /** Append position. Unsigned relative to the payment JWS; signed inside book_chain. */
136
138
  book_seq?: number | null;
139
+ /** Log leaf hash. Same field verifyAnchoredRoot reads before book_chain.row_hash. */
140
+ row_hash?: string | null;
137
141
  book_chain?: {
138
142
  seq?: number | null;
139
143
  row_hash?: string | null;
@@ -232,8 +236,15 @@ export interface ReceiptVerification {
232
236
  amount_usdc: string | null;
233
237
  /** Settlement ref from verified signed claims. Null when the signature is not trusted. */
234
238
  tx: string | null;
235
- /** Unsigned outer fields that disagree with the JWS payload. */
239
+ /** Signed claim paths whose outer copy disagrees. */
236
240
  claim_mismatches: ClaimMismatch[];
241
+ /**
242
+ * Outer paths the payment JWS does not cover. Overall does not verify them.
243
+ * `issuer_signature` is omitted: those bytes are the signature that was checked.
244
+ */
245
+ unsigned_fields: string[];
246
+ /** Overall covers signed claims and the checks named in `errors`. */
247
+ verified_scope: 'signed_claims';
237
248
  /**
238
249
  * `not_present_legacy` — v8 (or older) payload with no claim_id key. Still verifies.
239
250
  * `ok` — claim_id-era payload, and a payment.ref is paired with a seat.
@@ -260,7 +271,13 @@ export interface ReceiptVerification {
260
271
  /** Kid window against the signed issuer history. Unreachable is a warning unless strict. */
261
272
  issuer_history: IssuerHistoryCheck;
262
273
  warnings: string[];
263
- overall: 'verified' | 'partial' | 'failed';
274
+ /**
275
+ * Set only when the leaf is included under an earlier signed epoch head
276
+ * and under the current signed epoch head. Dates are those head claims.
277
+ * Absent for a receipt in the current epoch.
278
+ */
279
+ carry_forward?: CarryForwardView | null;
280
+ overall: 'verified' | 'partial' | 'failed' | 'verified_carried_forward';
264
281
  errors: string[];
265
282
  }
266
283
  /**
@@ -371,8 +388,36 @@ export declare function hashCanonicalPayload(receipt: XFuelReceipt): string;
371
388
  * Older payloads omit the key and stay valid.
372
389
  */
373
390
  export declare function claimIdVerdict(claims: Record<string, unknown> | null | undefined): 'not_present_legacy' | 'ok' | 'refused';
374
- /** Flag unsigned outer copies that disagree with the JWS payload. */
391
+ /**
392
+ * Walk every signed claim. When the outer receipt has the same path, the
393
+ * values must match, including null against a filled-in outer copy. A path
394
+ * the outer receipt omits is not a copy, so it is not a mismatch.
395
+ */
375
396
  export declare function diffOuterClaims(receipt: XFuelReceipt, claims: Record<string, unknown> | null): ClaimMismatch[];
397
+ /** Outer paths the signed claims do not cover. Sorted. Not a failure by themselves. */
398
+ export declare function unsignedOuterFields(receipt: unknown, claims: Record<string, unknown> | null): string[];
399
+ /**
400
+ * Key sources shared by receipt verification and the epoch-record check:
401
+ * a caller-supplied JWKS, `--jwks-url` (any https URL), and `--fetch-jwks`
402
+ * from an allowlisted host. A failed fetch is an error. It does not add a key.
403
+ */
404
+ export declare function loadIssuerJwks(source: {
405
+ verification?: {
406
+ jwks_uri?: string | null;
407
+ };
408
+ issuer_signature?: {
409
+ jws?: string;
410
+ };
411
+ } | null | undefined, options?: {
412
+ jwks?: Jwks;
413
+ jwksUri?: string;
414
+ fetchJwks?: boolean;
415
+ trustedJwksHosts?: readonly string[];
416
+ fetchImpl?: typeof fetch;
417
+ }): Promise<{
418
+ jwks?: Jwks;
419
+ errors: string[];
420
+ }>;
376
421
  /** Fetch a JWKS document. Caller decides whether the URL is a trust root. */
377
422
  export declare function fetchIssuerJwks(uri: string, fetchImpl?: typeof fetch): Promise<Jwks>;
378
423
  /**
@@ -411,8 +456,13 @@ export interface VerifyReceiptOptions {
411
456
  * Tree head to check against the signed `tree_head_hash`. An equal root is
412
457
  * the issuance prefix and proves inclusion of this receipt. A different root
413
458
  * verifies only when `inclusion` proves the leaf is in that head.
459
+ * A tree-head witness (anything beyond `{ root, tree_size }`) is checked
460
+ * offline. A missing `issuer_signature` fails closed. The signature must
461
+ * cover the outer size, root, and the other signed fields. The issuer-history
462
+ * document fetched for this call is the one that trusts the head's kid.
463
+ * No chain RPC.
414
464
  */
415
- head?: ReceiptTreeHead | null;
465
+ head?: (ReceiptTreeHead & TreeHeadDocument) | null;
416
466
  /**
417
467
  * Inclusion witness for `head` when its root is not the signed prefix.
418
468
  * `leaf` is the 32-byte leaf hash hex. Without it the leaf is
@@ -442,18 +492,49 @@ export interface VerifyReceiptOptions {
442
492
  issuerHistoryBytes?: string | null;
443
493
  /** `--no-issuer-history`. A signed pin is not checked. */
444
494
  skipIssuerHistory?: boolean;
495
+ /**
496
+ * Earlier-epoch head and current-epoch head for a leaf that was carried
497
+ * into the current log. Omitted for a receipt that is only in the current
498
+ * epoch. Dates are read from the signed heads, not from this object.
499
+ */
500
+ carry?: {
501
+ oldHead: CarryHead;
502
+ oldInclusion: CarryInclusion;
503
+ currentHead: CarryHead;
504
+ currentInclusions: CarryInclusion[];
505
+ row_hash?: string | null;
506
+ } | null;
445
507
  /**
446
508
  * Stored canonical object (the GET /preimage body). SHA-256 must match
447
509
  * the signed payload_hash. Absent bytes are not rebuilt.
448
510
  */
449
511
  canonicalPreimage?: string | null;
512
+ /** Holder salt. 64 lowercase hex. Malformed values are rejected, not normalized. */
513
+ salt?: string | null;
514
+ /**
515
+ * Holder openings. `output` is raw bytes. The others are UTF-8 JSON of the
516
+ * committed object.
517
+ */
518
+ open?: {
519
+ output?: Buffer | null;
520
+ accounting?: string | null;
521
+ routing?: string | null;
522
+ refusal?: string | null;
523
+ } | null;
450
524
  }
525
+ /** v1–v10 verifier. A v11 payload is `unsupported_version` and is not checked as v10. */
526
+ export declare function verifyReceiptUpToV10(receipt: XFuelReceipt, options?: VerifyReceiptOptions): Promise<ReceiptVerification>;
451
527
  export declare function verifyReceipt(receipt: XFuelReceipt, options?: VerifyReceiptOptions): Promise<ReceiptVerification>;
452
528
  export { resolvePinnedIssuerJwk, verifyIssuerJws, DEFAULT_TRUSTED_ISSUER_KIDS, DEFAULT_TRUSTED_JWKS_HOSTS, KEY_UNTRUSTED, jwkThumbprint, isPinnedTrustedJwk, jwksHostAllowed, } from './jws.js';
453
529
  export { buildReceiptLane, receiptLaneFromVerification, receiptLaneDecision, deriveSettledBy, deriveSettled, anchorChangedSinceBinding, RECEIPT_LANE_SCHEMA, RECEIPT_LANE_RULE, RECEIPT_LANE_ORDERING, RECEIPT_LANE_BOUNDARY, type ReceiptLane, type SettledBy, type RegistryClassification, type LocalCheckHint, type AnchorIdentity, type ReceiptTreeHead, } from './receipt-lane.js';
454
530
  export { headBindingVerdict, signedHeadBinding, outerHeadDisagrees, HEAD_BINDING_PAYLOAD_VERSION, type HeadBindingVerdict, type SignedHeadBinding, } from './head-binding.js';
455
- export { isRefusalDocument, verifyRefusal, REFUSAL_SCHEMA, REFUSAL_PAYLOAD_VERSION, REFUSAL_PROVES, REFUSAL_DOES_NOT_PROVE, type RefusalDocument, type RefusalVerification, type RefusalJwks, } from './refusal.js';
531
+ export { isRefusalDocument, verifyRefusal, REFUSAL_SCHEMA, REFUSAL_SCHEMA_V2, REFUSAL_PAYLOAD_VERSION, REFUSAL_PROVES, REFUSAL_DOES_NOT_PROVE, type RefusalDocument, type RefusalVerification, type RefusalJwks, } from './refusal.js';
532
+ export { verifyRequestDigest, requestDigestOfPreimage, type RequestBindingStatus, } from './request-binding.js';
533
+ export { acceptTreeHeadSchema, verifyEpochLink, verifyEpochRecord, verifyEpochInclusion, verifyUnloggedSection, verifyUnloggedCommitment, unloggedIdCommitment, unloggedReasonForTask, canonicalUnloggedRows, TREE_HEAD_SCHEMA_V1, TREE_HEAD_SCHEMA_V2, EPOCH1_FINAL_ROOT, EPOCH1_FINAL_SIZE, EPOCH1_GENESIS_DIGEST, EPOCH1_SIZE1_ROOT, EPOCH1_SIZE2_ROOT, epoch1PrefixRoot, matchEpoch1Prefix, EPOCH2_OPENING_ROOT, type EpochTreeHead, type EpochRecord, type EpochRecordEntry, type EpochRecordOptions, type UnloggedRow, type UnloggedSection, type UnloggedCommitment, } from './epoch.js';
534
+ export { verifyCarryForward, PINNED_ANCHOR_EPOCHS, CARRY_FORWARD_STATUS, type CarryForwardInput, type CarryForwardVerdict, type CarryForwardView, type CarryHead, type CarryInclusion, } from './carry-forward.js';
456
535
  export { verifyAnchoredRoot, verifyMerkleInclusion, extractMemos, parseAnchorMemo, leafHash, ANCHOR_PROVES, ANCHOR_DOES_NOT_PROVE, SOLANA_GENESIS, BASE_MAINNET_CHAIN_ID, type AnchorWitnessResult, type AnchorReceipt, type AnchorInclusion, type AnchorHead, type VerifyAnchoredRootInput, } from './anchor-witness.js';
536
+ export { assessIssuerPin, issuerPinContentUrl, issuerPinFileHash, loadIssuerPinBytes, readIssuerPinClaim, registrationPreimage, rotationStatement, serializeIssuerPin, verifyCitizenRotation, verifyRegistrationSignature, canonicalPublicKey, ISSUER_REGISTRATION_CONTEXT, ISSUER_ROTATION_CONTEXT, ISSUER_PIN_VERSION, ISSUER_PIN_SCHEMA, ISSUER_PIN_PATH, ISSUER_PIN_CHAIN_ID, PUBLISHED_ISSUER_PIN_KID, CITIZEN_FREEZE_SCHEMA, CITIZEN_FREEZE_PURPOSE, ISSUER_PIN_MISMATCH, ISSUER_PIN_HASH_MISMATCH, ISSUER_SELF_SIG_INVALID, ISSUER_PIN_DOWNGRADE, ISSUER_PIN_MUTABLE_REF, ISSUER_ROTATION_UNCONTROLLED, ISSUER_PIN_CHAIN_REFUSED, type IssuerPinRef, type IssuerPinAssessment, type IssuerKeyPin, type AssessIssuerPinInput, } from './issuer-pin.js';
537
+ export { PINNED_BASE_ANCHOR_WALLET, PINNED_SOLANA_ANCHOR_FEE_PAYER, ANCHOR_WALLET_SOURCES_NOT_CONSULTED, LEGACY_HEAD_UNPINNED_SIGNER, HEAD_TRUST_MESSAGES, headOmitsPinnedSigner, verifyTreeHeadTrust, verifyAnchorWalletDocument, compileAnchorWallets, } from './anchor-trust.js';
457
538
  export { verifyCanonicalPreimageBytes, CANONICAL_PAYLOAD_VERSION, } from './canonical-preimage.js';
458
539
  export { readIssuerHistoryPin, issuerHistoryDocumentHash, type IssuerHistoryPin, } from './issuer-history.js';
459
540
  declare const _default: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAmC,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAE1F,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC3B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,yBAAyB,EACzB,2BAA2B,EAC3B,cAAc,EACd,oBAAoB,EACpB,YAAY,EACZ,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,0BAA0B,EAC1B,4BAA4B,EAC5B,sBAAsB,EACtB,cAAc,EACd,wBAAwB,EACxB,uBAAuB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EACrB,KAAK,6BAA6B,EACnC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,kBAAkB,EAClB,8BAA8B,EAC9B,gBAAgB,EAChB,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACf,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,sBAAsB,EACtB,eAAe,EAShB,MAAM,UAAU,CAAC;AAMlB,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,eAAe,EACrB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAA4B,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,EAGL,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC3B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAuB,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE/E,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,yBAAyB,EACzB,2BAA2B,EAC3B,cAAc,EACd,oBAAoB,EACpB,YAAY,EACZ,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,0BAA0B,EAC1B,4BAA4B,EAC5B,sBAAsB,EACtB,cAAc,EACd,wBAAwB,EACxB,uBAAuB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EACrB,KAAK,6BAA6B,EAClC,kBAAkB,EAClB,8BAA8B,EAC9B,gBAAgB,EAChB,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,KAAK,SAAS,GACf,CAAC;AAEF,8CAA8C;AAC9C,eAAO,MAAM,mBAAmB,+CAA+C,CAAC;AAEhF,gCAAgC;AAChC,eAAO,MAAM,oBAAoB,6BAA6B,CAAC;AAO/D,0CAA0C;AAC1C,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE;QACN,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,gBAAgB,CAAC,EAAE;YACjB,UAAU,CAAC,EAAE,MAAM,CAAC;SACrB,GAAG,IAAI,CAAC;KACV,CAAC;IACF,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC/B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACjC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACjC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,UAAU,CAAC,EAAE;YACX,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,kBAAkB,CAAC,EAAE;gBACnB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;gBACjC,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;gBACpC,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;gBACrC,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;gBACrC,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;aACpC,CAAC;SACH,GAAG,IAAI,CAAC;KACV,CAAC;IACF,YAAY,CAAC,EAAE;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GAAG,IAAI,CAAC;IACT,aAAa,CAAC,EAAE;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,IAAI,CAAC;IACT,KAAK,CAAC,EAAE;QACN,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC3B,CAAC;IACF,OAAO,CAAC,EAAE;QACR,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACjC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,IAAI,CAAC;IACT,SAAS,CAAC,EAAE;QACV,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,gBAAgB,CAAC,EAAE;QACjB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,gBAAgB,CAAC,EAAE;QACjB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,UAAU,CAAC,EAAE,QAAQ,CAAC;KACvB,CAAC;IACF,YAAY,CAAC,EAAE;QACb,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC7B,CAAC;IACF,cAAc,CAAC,EAAE;QACf,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;KACnC,GAAG,IAAI,CAAC;IACT,wFAAwF;IACxF,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,iFAAiF;IACjF,SAAS,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACtD,uFAAuF;IACvF,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,qFAAqF;IACrF,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IACtE,2EAA2E;IAC3E,YAAY,CAAC,EAAE;QACb,iBAAiB,CAAC,EAAE;YAClB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;YACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;YACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;YACzB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;SACjC,GAAG,IAAI,CAAC;QACT,cAAc,CAAC,EAAE;YACf,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;YACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;YACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;YACzB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;SACjC,GAAG,IAAI,CAAC;QACT,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,4BAA4B,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;KAC/C,GAAG,IAAI,CAAC;IACT,SAAS,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACnC,IAAI,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;CAC/B;AAED,6CAA6C;AAC7C,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,IAAI,CAAC;IACV,GAAG,EAAE,OAAO,CAAC;IACb,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,yCAAyC;AACzC,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,QAAQ,EAAE,CAAC;CAClB;AAED,8CAA8C;AAC9C,MAAM,WAAW,2BAA2B;IAC1C,wDAAwD;IACxD,OAAO,EAAE,OAAO,CAAC;IACjB,iEAAiE;IACjE,KAAK,EAAE,OAAO,CAAC;IACf,iCAAiC;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4GAA4G;IAC5G,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8EAA8E;IAC9E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,qDAAqD;IACrD,KAAK,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;IAC9B,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,2DAA2D;AAC3D,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,mBAAmB,CAAC;IAC7B,gBAAgB,EAAE,2BAA2B,CAAC;IAC9C,KAAK,EAAE,iBAAiB,CAAC;IACzB,SAAS,EAAE,qBAAqB,CAAC;IACjC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,wGAAwG;IACxG,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,0FAA0F;IAC1F,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,qDAAqD;IACrD,gBAAgB,EAAE,aAAa,EAAE,CAAC;IAClC;;;OAGG;IACH,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,qEAAqE;IACrE,cAAc,EAAE,eAAe,CAAC;IAChC;;;;OAIG;IACH,QAAQ,EAAE,oBAAoB,GAAG,IAAI,GAAG,SAAS,CAAC;IAClD;;;;OAIG;IACH,YAAY,EAAE;QACZ,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,SAAS,EAAE,OAAO,CAAC;KACpB,GAAG,IAAI,CAAC;IACT;;;;OAIG;IACH,YAAY,EAAE,WAAW,CAAC;IAC1B,yFAAyF;IACzF,SAAS,EAAE,aAAa,CAAC;IACzB,4FAA4F;IAC5F,cAAc,EAAE,kBAAkB,CAAC;IACnC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB;;;;OAIG;IACH,aAAa,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACxC,OAAO,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,0BAA0B,CAAC;IACxE,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAWrE;AAgDD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAKpE;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,iFAAiF;IACjF,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,gBAAgB,GAAG,cAAc,GAAG,YAAY,GAAG,IAAI,CAAC;IACtE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAOD;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,GAAG,SAAS,EACtC,KAAK,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,GAAG,IAAI,CAgBf;AAED,MAAM,WAAW,+BAA+B;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+DAA+D;IAC/D,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ;;;OAGG;IACH,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACjC;AA8CD;;;;;;;;;;;;GAYG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,YAAY,EACrB,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,GAAG,SAAS,EACtC,OAAO,GAAE,+BAAoC,GAC5C,2BAA2B,CAmF7B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,YAAY,EACrB,GAAG,EAAE,QAAQ,GACZ,2BAA2B,CA4B7B;AAgBD;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,YAAY,EACrB,IAAI,CAAC,EAAE,IAAI,EACX,OAAO,GAAE;IAAE,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAAO,GAChD,2BAA2B,CA8G7B;AAkBD,wBAAgB,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,mBAAmB,CAkFxE;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,YAAY,EACrB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAO,GAC1D,OAAO,CAAC,qBAAqB,CAAC,CA2ChC;AAED;;;GAGG;AACH,eAAO,MAAM,sBAAsB,+BAAyB,CAAC;AAE7D;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAElE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,GACjD,oBAAoB,GAAG,IAAI,GAAG,SAAS,CAWzC;AA8ED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,aAAa,EAAE,CAK9G;AAqCD,uFAAuF;AACvF,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,MAAM,EAAE,CAItG;AAgID;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE;IACN,YAAY,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAC5C,gBAAgB,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACrC,GAAG,IAAI,GAAG,SAAS,EACpB,OAAO,GAAE;IACP,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CACrB,GACL,OAAO,CAAC;IAAE,IAAI,CAAC,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAqB5C;AAED,6EAA6E;AAC7E,wBAAsB,eAAe,CACnC,GAAG,EAAE,MAAM,EACX,SAAS,GAAE,OAAO,KAAwB,GACzC,OAAO,CAAC,IAAI,CAAC,CAOf;AAED;;;;;;;GAOG;AACH,yFAAyF;AACzF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,YAAY,GAAG,kBAAkB,CAE5E;AAED,MAAM,WAAW,oBAAoB;IACnC,6EAA6E;IAC7E,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ;;;OAGG;IACH,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,2EAA2E;IAC3E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gFAAgF;IAChF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kEAAkE;IAClE,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sBAAsB,CAAC,EAAE,gBAAgB,CAAC;IAC1C,gBAAgB,CAAC,EAAE,kBAAkB,CAAC;IACtC;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,CAAC,eAAe,GAAG,gBAAgB,CAAC,GAAG,IAAI,CAAC;IACnD;;;;OAIG;IACH,SAAS,CAAC,EAAE;QACV,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,KAAK,CAAC,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;KAChC,GAAG,IAAI,CAAC;IACT;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kEAAkE;IAClE,aAAa,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC7C,+EAA+E;IAC/E,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,qDAAqD;IACrD,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,2CAA2C;IAC3C,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,4EAA4E;IAC5E,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,0DAA0D;IAC1D,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;OAIG;IACH,KAAK,CAAC,EAAE;QACN,OAAO,EAAE,SAAS,CAAC;QACnB,YAAY,EAAE,cAAc,CAAC;QAC7B,WAAW,EAAE,SAAS,CAAC;QACvB,iBAAiB,EAAE,cAAc,EAAE,CAAC;QACpC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC1B,GAAG,IAAI,CAAC;IACT;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,oFAAoF;IACpF,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB;;;OAGG;IACH,IAAI,CAAC,EAAE;QACL,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACzB,GAAG,IAAI,CAAC;CACV;AA8FD,yFAAyF;AACzF,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,YAAY,EACrB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,mBAAmB,CAAC,CAE9B;AAED,wBAAsB,aAAa,CACjC,OAAO,EAAE,YAAY,EACrB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,mBAAmB,CAAC,CA2a9B;AAED,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,2BAA2B,EAC3B,0BAA0B,EAC1B,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,eAAe,GAChB,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,gBAAgB,EAChB,2BAA2B,EAC3B,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,yBAAyB,EACzB,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,eAAe,GACrB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,4BAA4B,EAC5B,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,GACvB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EACvB,cAAc,EACd,sBAAsB,EACtB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,WAAW,GACjB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,KAAK,oBAAoB,GAC1B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,kBAAkB,GACxB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,cAAc,GACpB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,aAAa,EACb,qBAAqB,EACrB,cAAc,EACd,qBAAqB,EACrB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,uBAAuB,GAC7B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,2BAA2B,EAC3B,kBAAkB,EAClB,2BAA2B,EAC3B,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,wBAAwB,EACxB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,EACxB,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,EACtB,4BAA4B,EAC5B,wBAAwB,EACxB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,oBAAoB,GAC1B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,yBAAyB,EACzB,8BAA8B,EAC9B,mCAAmC,EACnC,2BAA2B,EAC3B,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,0BAA0B,EAC1B,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,KAAK,gBAAgB,GACtB,MAAM,qBAAqB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE7B,wBA0BE"}