ox 0.14.29 → 0.14.31

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 (54) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/_cjs/core/AbiParameters.js +2 -1
  3. package/_cjs/core/AbiParameters.js.map +1 -1
  4. package/_cjs/core/internal/abiParameters.js +10 -2
  5. package/_cjs/core/internal/abiParameters.js.map +1 -1
  6. package/_cjs/tempo/KeyAuthorization.js +39 -10
  7. package/_cjs/tempo/KeyAuthorization.js.map +1 -1
  8. package/_cjs/tempo/MultisigConfig.js +26 -26
  9. package/_cjs/tempo/MultisigConfig.js.map +1 -1
  10. package/_cjs/tempo/SignatureEnvelope.js +189 -55
  11. package/_cjs/tempo/SignatureEnvelope.js.map +1 -1
  12. package/_cjs/version.js +1 -1
  13. package/_esm/core/AbiParameters.js +4 -1
  14. package/_esm/core/AbiParameters.js.map +1 -1
  15. package/_esm/core/internal/abiParameters.js +17 -2
  16. package/_esm/core/internal/abiParameters.js.map +1 -1
  17. package/_esm/tempo/KeyAuthorization.js +41 -9
  18. package/_esm/tempo/KeyAuthorization.js.map +1 -1
  19. package/_esm/tempo/MultisigConfig.js +53 -81
  20. package/_esm/tempo/MultisigConfig.js.map +1 -1
  21. package/_esm/tempo/SignatureEnvelope.js +202 -75
  22. package/_esm/tempo/SignatureEnvelope.js.map +1 -1
  23. package/_esm/tempo/index.js +2 -2
  24. package/_esm/version.js +1 -1
  25. package/_types/core/AbiParameters.d.ts.map +1 -1
  26. package/_types/core/internal/abiParameters.d.ts.map +1 -1
  27. package/_types/core/internal/rpcSchemas/eth.d.ts +16 -0
  28. package/_types/core/internal/rpcSchemas/eth.d.ts.map +1 -1
  29. package/_types/tempo/KeyAuthorization.d.ts +22 -16
  30. package/_types/tempo/KeyAuthorization.d.ts.map +1 -1
  31. package/_types/tempo/MultisigConfig.d.ts +43 -83
  32. package/_types/tempo/MultisigConfig.d.ts.map +1 -1
  33. package/_types/tempo/SignatureEnvelope.d.ts +62 -40
  34. package/_types/tempo/SignatureEnvelope.d.ts.map +1 -1
  35. package/_types/tempo/index.d.ts +2 -2
  36. package/_types/version.d.ts +1 -1
  37. package/core/AbiParameters.ts +3 -1
  38. package/core/internal/abiParameters.ts +17 -2
  39. package/core/internal/rpcSchemas/eth.ts +16 -0
  40. package/package.json +11 -1
  41. package/tempo/KeyAuthorization.test-d/package.json +6 -0
  42. package/tempo/KeyAuthorization.test-d.ts +62 -0
  43. package/tempo/KeyAuthorization.test.ts +132 -0
  44. package/tempo/KeyAuthorization.ts +76 -29
  45. package/tempo/MultisigConfig.test.ts +86 -37
  46. package/tempo/MultisigConfig.ts +75 -132
  47. package/tempo/SignatureEnvelope.test-d/package.json +6 -0
  48. package/tempo/SignatureEnvelope.test-d.ts +97 -0
  49. package/tempo/SignatureEnvelope.test.ts +322 -30
  50. package/tempo/SignatureEnvelope.ts +314 -118
  51. package/tempo/e2e.test.ts +22 -207
  52. package/tempo/index.ts +2 -2
  53. package/tempo/multisig.e2e.test.ts +582 -0
  54. package/version.ts +1 -1
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.VerificationError = exports.InvalidSerializedError = exports.MissingPropertiesError = exports.CoercionError = exports.types = exports.magicBytes = void 0;
3
+ exports.VerificationError = exports.InvalidMultisigApprovalError = exports.InvalidSerializedError = exports.MissingPropertiesError = exports.CoercionError = exports.types = exports.magicBytes = void 0;
4
4
  exports.assert = assert;
5
5
  exports.extractAddress = extractAddress;
6
6
  exports.extractPublicKey = extractPublicKey;
@@ -92,22 +92,71 @@ function assert(envelope) {
92
92
  }
93
93
  if (type === 'multisig') {
94
94
  const multisig = envelope;
95
- const missing = [];
96
- if (!multisig.account)
97
- missing.push('account');
98
- if (!multisig.genesisConfigId)
99
- missing.push('genesisConfigId');
100
- if (!Array.isArray(multisig.signatures))
101
- missing.push('signatures');
102
- if (missing.length > 0)
103
- throw new MissingPropertiesError({ envelope, missing, type: 'multisig' });
104
- for (const inner of multisig.signatures)
105
- assert(inner);
106
- if (multisig.init)
107
- MultisigConfig.assert(multisig.init);
95
+ assertMultisig(multisig, 1);
108
96
  return;
109
97
  }
110
98
  }
99
+ function assertMultisig(envelope, depth) {
100
+ const missing = [];
101
+ if (!envelope.account)
102
+ missing.push('account');
103
+ if (!Array.isArray(envelope.signatures))
104
+ missing.push('signatures');
105
+ if (missing.length > 0)
106
+ throw new MissingPropertiesError({
107
+ envelope,
108
+ missing,
109
+ type: 'multisig',
110
+ });
111
+ if (depth > MultisigConfig.maxNestingDepth)
112
+ throw new InvalidMultisigApprovalError({
113
+ reason: `multisig nesting depth exceeds ${MultisigConfig.maxNestingDepth}`,
114
+ });
115
+ if (!Address.validate(envelope.account))
116
+ throw new InvalidMultisigApprovalError({
117
+ reason: 'multisig account is invalid',
118
+ });
119
+ if (Hex.toBigInt(envelope.account) === 0n)
120
+ throw new InvalidMultisigApprovalError({
121
+ reason: 'multisig account cannot be zero',
122
+ });
123
+ if (envelope.signatures.length === 0)
124
+ throw new InvalidMultisigApprovalError({
125
+ reason: 'multisig signatures cannot be empty',
126
+ });
127
+ if (envelope.signatures.length > MultisigConfig.maxSignatures)
128
+ throw new InvalidMultisigApprovalError({
129
+ reason: `multisig signatures exceed ${MultisigConfig.maxSignatures}`,
130
+ });
131
+ if (envelope.init) {
132
+ MultisigConfig.assert(envelope.init);
133
+ if (!Address.isEqual(MultisigConfig.getAddress(envelope.init), envelope.account))
134
+ throw new InvalidMultisigApprovalError({
135
+ reason: 'multisig init does not derive account',
136
+ });
137
+ }
138
+ for (const inner of envelope.signatures) {
139
+ const type = getType(inner);
140
+ if (type === 'keychain')
141
+ throw new InvalidMultisigApprovalError({
142
+ reason: 'keychain owner approvals are not allowed',
143
+ });
144
+ if (type === 'multisig') {
145
+ const multisig = inner;
146
+ if (multisig.init)
147
+ throw new InvalidMultisigApprovalError({
148
+ reason: 'nested multisig owner approvals cannot carry `init`',
149
+ });
150
+ assertMultisig(multisig, depth + 1);
151
+ }
152
+ else
153
+ assert(inner);
154
+ if (Hex.size(serialize(inner)) > MultisigConfig.maxOwnerSignatureBytes)
155
+ throw new InvalidMultisigApprovalError({
156
+ reason: `multisig owner signature exceeds ${MultisigConfig.maxOwnerSignatureBytes} bytes`,
157
+ });
158
+ }
159
+ }
111
160
  function extractAddress(options) {
112
161
  const { signature, root } = options;
113
162
  if (signature.type === 'keychain') {
@@ -137,6 +186,9 @@ function extractPublicKey(options) {
137
186
  }
138
187
  }
139
188
  function deserialize(value) {
189
+ return deserialize_(value, 0);
190
+ }
191
+ function deserialize_(value, multisigDepth) {
140
192
  const serialized = value.endsWith(exports.magicBytes.slice(2))
141
193
  ? Hex.slice(value, 0, -Hex.size(exports.magicBytes))
142
194
  : value;
@@ -216,7 +268,7 @@ function deserialize(value) {
216
268
  if (typeId === serializedKeychainType ||
217
269
  typeId === serializedKeychainV2Type) {
218
270
  const userAddress = Hex.slice(data, 0, 20);
219
- const inner = deserialize(Hex.slice(data, 20));
271
+ const inner = deserialize_(Hex.slice(data, 20), multisigDepth);
220
272
  return {
221
273
  userAddress,
222
274
  inner,
@@ -225,18 +277,76 @@ function deserialize(value) {
225
277
  };
226
278
  }
227
279
  if (typeId === serializedMultisigType) {
228
- const [account, genesisConfigId, signatures, init] = Rlp.toHex(data);
229
- return {
280
+ const depth = multisigDepth + 1;
281
+ if (depth > MultisigConfig.maxNestingDepth)
282
+ throw new InvalidSerializedError({
283
+ reason: `multisig nesting depth exceeds ${MultisigConfig.maxNestingDepth}`,
284
+ serialized,
285
+ });
286
+ const decoded = Rlp.toHex(data);
287
+ if (!Array.isArray(decoded) || decoded.length !== 2)
288
+ throw new InvalidSerializedError({
289
+ reason: 'invalid multisig wire shape: expected exactly two fields',
290
+ serialized,
291
+ });
292
+ const [address, signatures] = decoded;
293
+ if (!Array.isArray(signatures) || signatures.some(Array.isArray))
294
+ throw new InvalidSerializedError({
295
+ reason: 'invalid multisig signatures list',
296
+ serialized,
297
+ });
298
+ if (signatures.length === 0)
299
+ throw new InvalidSerializedError({
300
+ reason: 'multisig signatures cannot be empty',
301
+ serialized,
302
+ });
303
+ if (signatures.length > MultisigConfig.maxSignatures)
304
+ throw new InvalidSerializedError({
305
+ reason: `multisig signatures exceed ${MultisigConfig.maxSignatures}`,
306
+ serialized,
307
+ });
308
+ for (const signature of signatures)
309
+ if (Hex.size(signature) > MultisigConfig.maxOwnerSignatureBytes)
310
+ throw new InvalidSerializedError({
311
+ reason: `multisig owner signature exceeds ${MultisigConfig.maxOwnerSignatureBytes} bytes`,
312
+ serialized,
313
+ });
314
+ if (!Array.isArray(address) && !Address.validate(address))
315
+ throw new InvalidSerializedError({
316
+ reason: 'invalid multisig account',
317
+ serialized,
318
+ });
319
+ if (Array.isArray(address)) {
320
+ const [salt, threshold, owners] = address;
321
+ if (address.length !== 3 ||
322
+ Array.isArray(salt) ||
323
+ Hex.size(salt) !== 32 ||
324
+ Array.isArray(threshold) ||
325
+ Hex.size(threshold) > 1 ||
326
+ !Array.isArray(owners) ||
327
+ owners.some((owner) => !Array.isArray(owner) ||
328
+ owner.length !== 2 ||
329
+ owner.some(Array.isArray) ||
330
+ Hex.size(owner[1]) > 1))
331
+ throw new InvalidSerializedError({
332
+ reason: 'invalid multisig init config',
333
+ serialized,
334
+ });
335
+ }
336
+ const init = Array.isArray(address)
337
+ ? MultisigConfig.fromTuple(address)
338
+ : undefined;
339
+ const account = init
340
+ ? MultisigConfig.getAddress(init)
341
+ : address;
342
+ const envelope = {
230
343
  type: 'multisig',
231
344
  account,
232
- genesisConfigId,
233
- signatures: signatures.map((signature) => deserialize(signature)),
234
- ...(init && init !== '0x'
235
- ? {
236
- init: MultisigConfig.fromTuple(init),
237
- }
238
- : {}),
345
+ signatures: signatures.map((signature) => deserialize_(signature, depth)),
346
+ ...(init ? { init } : {}),
239
347
  };
348
+ assertMultisig(envelope, depth);
349
+ return envelope;
240
350
  }
241
351
  throw new InvalidSerializedError({
242
352
  reason: `Unknown signature type identifier: ${typeId}. Expected ${serializedP256Type} (P256), ${serializedWebAuthnType} (WebAuthn), ${serializedKeychainType} (Keychain V1), ${serializedKeychainV2Type} (Keychain V2), or ${serializedMultisigType} (Multisig)`,
@@ -263,18 +373,10 @@ function from(value, options) {
263
373
  return MultisigConfig.getAddress(genesisConfig);
264
374
  return rest.account;
265
375
  })();
266
- const genesisConfigId = (() => {
267
- if (rest.genesisConfigId)
268
- return rest.genesisConfigId;
269
- if (genesisConfig)
270
- return MultisigConfig.toId(genesisConfig);
271
- return rest.genesisConfigId;
272
- })();
273
376
  const initSource = init === true ? genesisConfig : init || undefined;
274
377
  return {
275
378
  ...rest,
276
379
  account,
277
- genesisConfigId,
278
380
  signatures: rest.signatures.map((signature) => from(signature)),
279
381
  ...(initSource ? { init: MultisigConfig.from(initSource) } : {}),
280
382
  type,
@@ -383,17 +485,26 @@ function fromRpc(envelope) {
383
485
  };
384
486
  }
385
487
  if (envelope.type === 'multisig' ||
386
- ('account' in envelope &&
387
- 'configId' in envelope &&
388
- 'signatures' in envelope)) {
488
+ ('signatures' in envelope && ('account' in envelope || 'init' in envelope))) {
389
489
  const multisig = envelope;
390
- return {
490
+ const hasAccount = typeof multisig.account !== 'undefined';
491
+ const hasInit = typeof multisig.init !== 'undefined';
492
+ if (hasAccount === hasInit)
493
+ throw new InvalidMultisigApprovalError({
494
+ reason: 'RPC multisig must contain exactly one of `account` or `init`',
495
+ });
496
+ const init = hasInit
497
+ ? MultisigConfig.from(multisig.init)
498
+ : undefined;
499
+ const account = init ? MultisigConfig.getAddress(init) : multisig.account;
500
+ const result = {
391
501
  type: 'multisig',
392
- account: multisig.account,
393
- genesisConfigId: multisig.configId,
394
- signatures: multisig.signatures.map((signature) => deserialize(signature)),
395
- ...(multisig.init ? { init: MultisigConfig.from(multisig.init) } : {}),
502
+ account: account,
503
+ signatures: multisig.signatures.map((signature) => fromRpc(signature)),
504
+ ...(init ? { init } : {}),
396
505
  };
506
+ assert(result);
507
+ return result;
397
508
  }
398
509
  throw new CoercionError({ envelope });
399
510
  }
@@ -423,8 +534,9 @@ function getType(envelope) {
423
534
  return 'webAuthn';
424
535
  if ('userAddress' in envelope && 'inner' in envelope)
425
536
  return 'keychain';
426
- if ((('account' in envelope && 'genesisConfigId' in envelope) ||
427
- 'genesisConfig' in envelope) &&
537
+ if (('account' in envelope ||
538
+ 'genesisConfig' in envelope ||
539
+ 'init' in envelope) &&
428
540
  'signatures' in envelope)
429
541
  return 'multisig';
430
542
  throw new CoercionError({
@@ -455,11 +567,12 @@ function serialize(envelope, options = {}) {
455
567
  }
456
568
  if (type === 'multisig') {
457
569
  const multisig = envelope;
570
+ assert(multisig);
458
571
  return Hex.concat(serializedMultisigType, Rlp.fromHex([
459
- multisig.account,
460
- multisig.genesisConfigId,
572
+ multisig.init
573
+ ? MultisigConfig.toTuple(multisig.init)
574
+ : multisig.account,
461
575
  multisig.signatures.map((signature) => serialize(signature)),
462
- multisig.init ? MultisigConfig.toTuple(multisig.init) : '0x',
463
576
  ]), options.magic ? exports.magicBytes : '0x');
464
577
  }
465
578
  throw new CoercionError({ envelope });
@@ -468,12 +581,7 @@ function sortMultisigApprovals(value) {
468
581
  const { payload, signatures } = value;
469
582
  const digest = MultisigConfig.getSignPayload('genesisConfig' in value && value.genesisConfig
470
583
  ? { payload, genesisConfig: value.genesisConfig }
471
- : {
472
- payload,
473
- account: value.account,
474
- genesisConfigId: value
475
- .genesisConfigId,
476
- });
584
+ : { payload, account: value.account });
477
585
  return signatures
478
586
  .map((signature) => ({
479
587
  key: Hex.toBigInt(extractAddress({ payload: digest, signature })),
@@ -526,12 +634,26 @@ function toRpc(envelope) {
526
634
  }
527
635
  if (type === 'multisig') {
528
636
  const multisig = envelope;
637
+ assert(multisig);
638
+ const signatures = multisig.signatures.map((signature) => toRpc(signature));
639
+ if (multisig.init) {
640
+ const init = {
641
+ ...multisig.init,
642
+ salt: multisig.init.salt ?? MultisigConfig.zeroSalt,
643
+ threshold: Number(multisig.init.threshold),
644
+ owners: multisig.init.owners.map((owner) => ({
645
+ ...owner,
646
+ weight: Number(owner.weight),
647
+ })),
648
+ };
649
+ return {
650
+ init,
651
+ signatures,
652
+ };
653
+ }
529
654
  return {
530
- type: 'multisig',
531
655
  account: multisig.account,
532
- configId: multisig.genesisConfigId,
533
- signatures: multisig.signatures.map((signature) => serialize(signature)),
534
- ...(multisig.init ? { init: multisig.init } : {}),
656
+ signatures,
535
657
  };
536
658
  }
537
659
  throw new CoercionError({ envelope });
@@ -628,6 +750,18 @@ class InvalidSerializedError extends Errors.BaseError {
628
750
  }
629
751
  }
630
752
  exports.InvalidSerializedError = InvalidSerializedError;
753
+ class InvalidMultisigApprovalError extends Errors.BaseError {
754
+ constructor({ reason }) {
755
+ super(`Invalid native multisig owner approval: ${reason}.`);
756
+ Object.defineProperty(this, "name", {
757
+ enumerable: true,
758
+ configurable: true,
759
+ writable: true,
760
+ value: 'SignatureEnvelope.InvalidMultisigApprovalError'
761
+ });
762
+ }
763
+ }
764
+ exports.InvalidMultisigApprovalError = InvalidMultisigApprovalError;
631
765
  class VerificationError extends Errors.BaseError {
632
766
  constructor() {
633
767
  super(...arguments);
@@ -1 +1 @@
1
- {"version":3,"file":"SignatureEnvelope.js","sourceRoot":"","sources":["../../tempo/SignatureEnvelope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SignatureEnvelope.js","sourceRoot":"","sources":["../../tempo/SignatureEnvelope.ts"],"names":[],"mappings":"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"}
package/_cjs/version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.version = void 0;
4
- exports.version = '0.14.29';
4
+ exports.version = '0.14.31';
5
5
  //# sourceMappingURL=version.js.map
@@ -23,7 +23,10 @@ export function decode(parameters, data, options = {}) {
23
23
  const values = as === 'Array' ? [] : {};
24
24
  for (let i = 0; i < parameters.length; ++i) {
25
25
  const param = parameters[i];
26
- cursor.setPosition(consumed);
26
+ // Zero-width types (e.g. `uint256[0]`, empty tuples) at the end of the
27
+ // data consume no bytes, so the cursor may already be exhausted.
28
+ if (consumed < bytes.length)
29
+ cursor.setPosition(consumed);
27
30
  const [data, consumed_] = internal.decodeParameter(cursor, param, {
28
31
  checksumAddress,
29
32
  staticPosition: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"AbiParameters.js","sourceRoot":"","sources":["../../core/AbiParameters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AbiParameters.js","sourceRoot":"","sources":["../../core/AbiParameters.ts"],"names":[],"mappings":"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"}
@@ -43,7 +43,8 @@ export function decodeArray(cursor, param, options) {
43
43
  const { checksumAddress, length, staticPosition } = options;
44
44
  // If the length of the array is not known in advance (dynamic array),
45
45
  // this means we will need to wonder off to the pointer and decode.
46
- if (!length) {
46
+ // Note: zero-length fixed arrays (`T[0]`) are not dynamic.
47
+ if (length === null) {
47
48
  // Dealing with a dynamic type, so get the offset of the array data.
48
49
  const offset = Bytes.toNumber(cursor.readBytes(sizeOfOffset));
49
50
  // Start is the static position of current slot + offset.
@@ -66,6 +67,12 @@ export function decodeArray(cursor, param, options) {
66
67
  });
67
68
  consumed += consumed_;
68
69
  value.push(data);
70
+ // Charge zero-width elements against the read limit to bound work
71
+ // on huge lengths of zero-width types (e.g. `uint256[0][]`).
72
+ if (consumed_ === 0) {
73
+ cursor.assertReadLimit();
74
+ cursor._touch();
75
+ }
69
76
  }
70
77
  // As we have gone wondering, restore to the original position + next slot.
71
78
  cursor.setPosition(staticPosition + 32);
@@ -104,6 +111,12 @@ export function decodeArray(cursor, param, options) {
104
111
  });
105
112
  consumed += consumed_;
106
113
  value.push(data);
114
+ // Charge zero-width elements against the read limit to bound work
115
+ // on huge lengths of zero-width types (e.g. `uint256[0][4294967295]`).
116
+ if (consumed_ === 0) {
117
+ cursor.assertReadLimit();
118
+ cursor._touch();
119
+ }
107
120
  }
108
121
  return [value, consumed];
109
122
  }
@@ -318,7 +331,9 @@ export function encodeArray(value, options) {
318
331
  givenLength: value.length,
319
332
  type: `${parameter.type}[${length}]`,
320
333
  });
321
- let dynamicChild = false;
334
+ // Zero-length fixed arrays of dynamic types (e.g. `string[0]`) are dynamic
335
+ // per the ABI spec, even though they have no elements to inspect.
336
+ let dynamicChild = value.length === 0 && hasDynamicChild(parameter);
322
337
  const preparedParameters = [];
323
338
  for (let i = 0; i < value.length; i++) {
324
339
  const preparedParam = prepareParameter({
@@ -1 +1 @@
1
- {"version":3,"file":"abiParameters.js","sourceRoot":"","sources":["../../../core/internal/abiParameters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abiParameters.js","sourceRoot":"","sources":["../../../core/internal/abiParameters.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,OAAO,MAAM,eAAe,CAAA;AACxC,OAAO,KAAK,KAAK,MAAM,aAAa,CAAA;AACpC,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,GAAG,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAkD7C,gBAAgB;AAChB,MAAM,UAAU,eAAe,CAC7B,MAAqB,EACrB,KAA8B,EAC9B,OAA0E;IAE1E,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,GAAG,OAAO,CAAA;IACnD,MAAM,eAAe,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACtD,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,eAAe,CAAA;QACtC,OAAO,WAAW,CAChB,MAAM,EACN,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAClB,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,EAAE,CAC5C,CAAA;IACH,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;QACxB,OAAO,WAAW,CAAC,MAAM,EAAE,KAA0B,EAAE;YACrD,eAAe;YACf,cAAc;SACf,CAAC,CAAA;IACJ,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;QAC1B,OAAO,aAAa,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAA;IAC7D,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,UAAU,CAAC,MAAM,CAAC,CAAA;IACpD,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QAChC,OAAO,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,cAAc,EAAE,CAAC,CAAA;IACvD,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QAC/D,OAAO,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IACpC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,YAAY,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,CAAC,CAAA;IAC5E,MAAM,IAAI,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;AACtD,CAAC;AAeD,MAAM,YAAY,GAAG,EAAE,CAAA;AACvB,MAAM,YAAY,GAAG,EAAE,CAAA;AAEvB,gBAAgB;AAChB,MAAM,UAAU,aAAa,CAC3B,MAAqB,EACrB,UAA8C,EAAE;IAEhD,MAAM,EAAE,QAAQ,GAAG,KAAK,EAAE,GAAG,OAAO,CAAA;IACpC,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;IAClC,MAAM,IAAI,GAAG,CAAC,OAAgB,EAAE,EAAE,CAChC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;IAChD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAC3D,CAAC;AASD,gBAAgB;AAChB,MAAM,UAAU,WAAW,CACzB,MAAqB,EACrB,KAA8B,EAC9B,OAIC;IAED,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAA;IAE3D,sEAAsE;IACtE,mEAAmE;IACnE,2DAA2D;IAC3D,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,oEAAoE;QACpE,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAA;QAE7D,yDAAyD;QACzD,MAAM,KAAK,GAAG,cAAc,GAAG,MAAM,CAAA;QACrC,MAAM,WAAW,GAAG,KAAK,GAAG,YAAY,CAAA;QAExC,+CAA+C;QAC/C,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;QACzB,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAA;QAE7D,+CAA+C;QAC/C,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;QAE3C,IAAI,QAAQ,GAAG,CAAC,CAAA;QAChB,MAAM,KAAK,GAAc,EAAE,CAAA;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YAChC,iHAAiH;YACjH,2EAA2E;YAC3E,MAAM,CAAC,WAAW,CAAC,WAAW,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;YACpE,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE;gBACvD,eAAe;gBACf,cAAc,EAAE,WAAW;aAC5B,CAAC,CAAA;YACF,QAAQ,IAAI,SAAS,CAAA;YACrB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAChB,kEAAkE;YAClE,6DAA6D;YAC7D,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;gBACpB,MAAM,CAAC,eAAe,EAAE,CAAA;gBACxB,MAAM,CAAC,MAAM,EAAE,CAAA;YACjB,CAAC;QACH,CAAC;QAED,2EAA2E;QAC3E,MAAM,CAAC,WAAW,CAAC,cAAc,GAAG,EAAE,CAAC,CAAA;QACvC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IACpB,CAAC;IAED,kDAAkD;IAClD,wEAAwE;IACxE,kDAAkD;IAClD,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,mEAAmE;QACnE,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAA;QAE7D,yDAAyD;QACzD,MAAM,KAAK,GAAG,cAAc,GAAG,MAAM,CAAA;QAErC,MAAM,KAAK,GAAc,EAAE,CAAA;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YAChC,4DAA4D;YAC5D,MAAM,CAAC,WAAW,CAAC,KAAK,GAAG,CAAC,GAAG,EAAE,CAAC,CAAA;YAClC,MAAM,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE;gBAC5C,eAAe;gBACf,cAAc,EAAE,KAAK;aACtB,CAAC,CAAA;YACF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAClB,CAAC;QAED,2EAA2E;QAC3E,MAAM,CAAC,WAAW,CAAC,cAAc,GAAG,EAAE,CAAC,CAAA;QACvC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IACpB,CAAC;IAED,iFAAiF;IACjF,oDAAoD;IACpD,IAAI,QAAQ,GAAG,CAAC,CAAA;IAChB,MAAM,KAAK,GAAc,EAAE,CAAA;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE;YACvD,eAAe;YACf,cAAc,EAAE,cAAc,GAAG,QAAQ;SAC1C,CAAC,CAAA;QACF,QAAQ,IAAI,SAAS,CAAA;QACrB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAChB,kEAAkE;QAClE,uEAAuE;QACvE,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;YACpB,MAAM,CAAC,eAAe,EAAE,CAAA;YACxB,MAAM,CAAC,MAAM,EAAE,CAAA;QACjB,CAAC;IACH,CAAC;IACD,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;AAC1B,CAAC;AAMD,gBAAgB;AAChB,MAAM,UAAU,UAAU,CAAC,MAAqB;IAC9C,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;AAClE,CAAC;AAMD,gBAAgB;AAChB,MAAM,UAAU,WAAW,CACzB,MAAqB,EACrB,KAA8B,EAC9B,EAAE,cAAc,EAA8B;IAE9C,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC3C,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,mEAAmE;QACnE,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAA;QAEnD,qDAAqD;QACrD,MAAM,CAAC,WAAW,CAAC,cAAc,GAAG,MAAM,CAAC,CAAA;QAE3C,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAA;QAEnD,4CAA4C;QAC5C,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;YACjB,2EAA2E;YAC3E,MAAM,CAAC,WAAW,CAAC,cAAc,GAAG,EAAE,CAAC,CAAA;YACvC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QACnB,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;QAErC,2EAA2E;QAC3E,MAAM,CAAC,WAAW,CAAC,cAAc,GAAG,EAAE,CAAC,CAAA;QACvC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;IAClC,CAAC;IAED,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;IAC5E,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;AACpB,CAAC;AASD,gBAAgB;AAChB,MAAM,UAAU,YAAY,CAC1B,MAAqB,EACrB,KAA8B;IAE9B,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC,CAAA;IACrE,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;IAClC,OAAO;QACL,IAAI,GAAG,EAAE;YACP,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC;YACnC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC;QACrC,EAAE;KACH,CAAA;AACH,CAAC;AAcD,gBAAgB;AAChB,MAAM,UAAU,WAAW,CACzB,MAAqB,EACrB,KAAwB,EACxB,OAA0E;IAE1E,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,GAAG,OAAO,CAAA;IAEnD,wEAAwE;IACxE,0EAA0E;IAC1E,4EAA4E;IAC5E,0EAA0E;IAC1E,MAAM,eAAe,GACnB,KAAK,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;IAE7E,0EAA0E;IAC1E,6BAA6B;IAC7B,MAAM,KAAK,GAAQ,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAC5C,IAAI,QAAQ,GAAG,CAAC,CAAA;IAEhB,2EAA2E;IAC3E,cAAc;IACd,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,mEAAmE;QACnE,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAA;QAE7D,6DAA6D;QAC7D,MAAM,KAAK,GAAG,cAAc,GAAG,MAAM,CAAA;QAErC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YACjD,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAE,CAAA;YACtC,MAAM,CAAC,WAAW,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAA;YACpC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE;gBAC3D,eAAe;gBACf,cAAc,EAAE,KAAK;aACtB,CAAC,CAAA;YACF,QAAQ,IAAI,SAAS,CAAA;YACrB,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,IAAK,CAAC,GAAG,IAAI,CAAA;QACtD,CAAC;QAED,2EAA2E;QAC3E,MAAM,CAAC,WAAW,CAAC,cAAc,GAAG,EAAE,CAAC,CAAA;QACvC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IACpB,CAAC;IAED,sEAAsE;IACtE,eAAe;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QACjD,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAE,CAAA;QACtC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE;YAC3D,eAAe;YACf,cAAc;SACf,CAAC,CAAA;QACF,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,IAAK,CAAC,GAAG,IAAI,CAAA;QACpD,QAAQ,IAAI,SAAS,CAAA;IACvB,CAAC;IACD,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;AAC1B,CAAC;AAMD,gBAAgB;AAChB,MAAM,UAAU,YAAY,CAC1B,MAAqB,EACrB,EAAE,cAAc,EAA8B;IAE9C,sCAAsC;IACtC,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAA;IAEnD,yDAAyD;IACzD,MAAM,KAAK,GAAG,cAAc,GAAG,MAAM,CAAA;IACrC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;IAEzB,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAA;IAEnD,2DAA2D;IAC3D,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;QACjB,MAAM,CAAC,WAAW,CAAC,cAAc,GAAG,EAAE,CAAC,CAAA;QACvC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IACjB,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IACzC,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;IAElD,2EAA2E;IAC3E,MAAM,CAAC,WAAW,CAAC,cAAc,GAAG,EAAE,CAAC,CAAA;IAEvC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;AACpB,CAAC;AAUD,gBAAgB;AAChB,MAAM,UAAU,iBAAiB,CAE/B,EACA,eAAe,EACf,UAAU,EACV,MAAM,GAOP;IACC,MAAM,kBAAkB,GAAwB,EAAE,CAAA;IAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,kBAAkB,CAAC,IAAI,CACrB,gBAAgB,CAAC;YACf,eAAe;YACf,SAAS,EAAE,UAAU,CAAC,CAAC,CAAE;YACzB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;SACjB,CAAC,CACH,CAAA;IACH,CAAC;IACD,OAAO,kBAAkB,CAAA;AAC3B,CAAC;AAOD,gBAAgB;AAChB,MAAM,UAAU,gBAAgB,CAE9B,EACA,eAAe,GAAG,KAAK,EACvB,SAAS,EAAE,UAAU,EACrB,KAAK,GAON;IACC,MAAM,SAAS,GAAG,UAAqC,CAAA;IAEvD,MAAM,eAAe,GAAG,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IAC1D,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,eAAe,CAAA;QACtC,OAAO,WAAW,CAAC,KAAK,EAAE;YACxB,eAAe;YACf,MAAM;YACN,SAAS,EAAE;gBACT,GAAG,SAAS;gBACZ,IAAI;aACL;SACF,CAAC,CAAA;IACJ,CAAC;IACD,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC/B,OAAO,WAAW,CAAC,KAAyB,EAAE;YAC5C,eAAe;YACf,SAAS,EAAE,SAA8B;SAC1C,CAAC,CAAA;IACJ,CAAC;IACD,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,aAAa,CAAC,KAA2B,EAAE;YAChD,QAAQ,EAAE,eAAe;SAC1B,CAAC,CAAA;IACJ,CAAC;IACD,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC9B,OAAO,aAAa,CAAC,KAA2B,CAAC,CAAA;IACnD,CAAC;IACD,IAAI,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1E,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;QAC/C,MAAM,CAAC,EAAE,AAAD,EAAG,IAAI,GAAG,KAAK,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;QAClE,OAAO,YAAY,CAAC,KAA0B,EAAE;YAC9C,MAAM;YACN,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;SACnB,CAAC,CAAA;IACJ,CAAC;IACD,IAAI,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,OAAO,WAAW,CAAC,KAA2B,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,CAAA;IAC3E,CAAC;IACD,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,YAAY,CAAC,KAA0B,CAAC,CAAA;IACjD,CAAC;IACD,MAAM,IAAI,aAAa,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;AAC1D,CAAC;AAeD,gBAAgB;AAChB,MAAM,UAAU,MAAM,CAAC,kBAAuC;IAC5D,4DAA4D;IAC5D,IAAI,UAAU,GAAG,CAAC,CAAA;IAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,kBAAkB,CAAC,CAAC,CAAE,CAAA;QACnD,IAAI,OAAO;YAAE,UAAU,IAAI,EAAE,CAAA;;YACxB,UAAU,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACtC,CAAC;IAED,yDAAyD;IACzD,MAAM,gBAAgB,GAAc,EAAE,CAAA;IACtC,MAAM,iBAAiB,GAAc,EAAE,CAAA;IACvC,IAAI,WAAW,GAAG,CAAC,CAAA;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,kBAAkB,CAAC,CAAC,CAAE,CAAA;QACnD,IAAI,OAAO,EAAE,CAAC;YACZ,gBAAgB,CAAC,IAAI,CACnB,GAAG,CAAC,UAAU,CAAC,UAAU,GAAG,WAAW,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CACvD,CAAA;YACD,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC/B,WAAW,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAClC,CAAC;aAAM,CAAC;YACN,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAChC,CAAC;IACH,CAAC;IAED,2CAA2C;IAC3C,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,gBAAgB,EAAE,GAAG,iBAAiB,CAAC,CAAA;AAC9D,CAAC;AAWD,gBAAgB;AAChB,MAAM,UAAU,aAAa,CAC3B,KAAc,EACd,OAA8B;IAE9B,MAAM,EAAE,QAAQ,GAAG,KAAK,EAAE,GAAG,OAAO,CAAA;IACpC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;IAC3C,OAAO;QACL,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAa,CAAC;KACrD,CAAA;AACH,CAAC;AAUD,gBAAgB;AAChB,MAAM,UAAU,WAAW,CACzB,KAA0C,EAC1C,OAIC;IAED,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAA;IAEtD,MAAM,OAAO,GAAG,MAAM,KAAK,IAAI,CAAA;IAE/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAA;IAC3E,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM;QACrC,MAAM,IAAI,aAAa,CAAC,wBAAwB,CAAC;YAC/C,cAAc,EAAE,MAAO;YACvB,WAAW,EAAE,KAAK,CAAC,MAAM;YACzB,IAAI,EAAE,GAAG,SAAS,CAAC,IAAI,IAAI,MAAM,GAAG;SACrC,CAAC,CAAA;IAEJ,2EAA2E;IAC3E,kEAAkE;IAClE,IAAI,YAAY,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,eAAe,CAAC,SAAS,CAAC,CAAA;IACnE,MAAM,kBAAkB,GAAwB,EAAE,CAAA;IAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,aAAa,GAAG,gBAAgB,CAAC;YACrC,eAAe;YACf,SAAS;YACT,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;SAChB,CAAC,CAAA;QACF,IAAI,aAAa,CAAC,OAAO;YAAE,YAAY,GAAG,IAAI,CAAA;QAC9C,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IACxC,CAAC;IAED,IAAI,OAAO,IAAI,YAAY,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAA;QACvC,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,kBAAkB,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;YACtE,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EACL,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM;aACpE,CAAA;QACH,CAAC;QACD,IAAI,YAAY;YAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAC3D,CAAC;IACD,OAAO;QACL,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;KACzE,CAAA;AACH,CAAC;AAYD,gBAAgB;AAChB,MAAM,UAAU,WAAW,CACzB,KAAc,EACd,EAAE,IAAI,EAAoB;IAE1B,MAAM,CAAC,EAAE,aAAa,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC7C,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACjC,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,IAAI,MAAM,GAAG,KAAK,CAAA;QAClB,wDAAwD;QACxD,4CAA4C;QAC5C,IAAI,SAAS,GAAG,EAAE,KAAK,CAAC;YACtB,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAA;QAC5E,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,GAAG,CAAC,MAAM,CACjB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EACpD,MAAM,CACP;SACF,CAAA;IACH,CAAC;IACD,IAAI,SAAS,KAAK,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC;QAClD,MAAM,IAAI,aAAa,CAAC,sBAAsB,CAAC;YAC7C,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC;YAChD,KAAK;SACN,CAAC,CAAA;IACJ,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAA;AACzD,CAAC;AAYD,gBAAgB;AAChB,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,IAAI,OAAO,KAAK,KAAK,SAAS;QAC5B,MAAM,IAAI,MAAM,CAAC,SAAS,CACxB,2BAA2B,KAAK,YAAY,OAAO,KAAK,qCAAqC,CAC9F,CAAA;IACH,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAA;AACzE,CAAC;AAUD,gBAAgB;AAChB,MAAM,UAAU,YAAY,CAC1B,KAAa,EACb,EAAE,MAAM,EAAE,IAAI,EAAqC;IAEnD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAA;QAC1D,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QACnC,IAAI,KAAK,GAAG,GAAG,IAAI,KAAK,GAAG,GAAG;YAC5B,MAAM,IAAI,GAAG,CAAC,sBAAsB,CAAC;gBACnC,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE;gBACnB,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE;gBACnB,MAAM;gBACN,IAAI,EAAE,IAAI,GAAG,CAAC;gBACd,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;aACxB,CAAC,CAAA;IACN,CAAC;IACD,OAAO;QACL,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE;YAC7B,IAAI,EAAE,EAAE;YACR,MAAM;SACP,CAAC;KACH,CAAA;AACH,CAAC;AAOD,gBAAgB;AAChB,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IACtC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAA;IACtD,MAAM,KAAK,GAAc,EAAE,CAAA;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;IACrE,CAAC;IACD,OAAO;QACL,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,GAAG,CAAC,MAAM,CACjB,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAC9D,GAAG,KAAK,CACT;KACF,CAAA;AACH,CAAC;AAYD,gBAAgB;AAChB,MAAM,UAAU,WAAW,CAKzB,KAA0C,EAC1C,OAGC;IAED,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,GAAG,OAAO,CAAA;IAE9C,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,MAAM,kBAAkB,GAAwB,EAAE,CAAA;IAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrD,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAE,CAAA;QACvC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAA;QACpD,MAAM,aAAa,GAAG,gBAAgB,CAAC;YACrC,eAAe;YACf,SAAS,EAAE,MAAM;YACjB,KAAK,EAAG,KAAa,CAAC,KAAM,CAAuB;SACpD,CAAC,CAAA;QACF,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QACtC,IAAI,aAAa,CAAC,OAAO;YAAE,OAAO,GAAG,IAAI,CAAA;IAC3C,CAAC;IACD,OAAO;QACL,OAAO;QACP,OAAO,EAAE,OAAO;YACd,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC;YAC5B,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;KACpE,CAAA;AACH,CAAC;AAOD,gBAAgB;AAChB,MAAM,UAAU,kBAAkB,CAChC,IAAY;IAEZ,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAA;IAC9C,OAAO,OAAO;QACZ,CAAC,CAAC,yCAAyC;YACzC,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAE,CAAC;QACzD,CAAC,CAAC,SAAS,CAAA;AACf,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,eAAe,CAAC,KAA8B;IAC5D,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAA;IACtB,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IAClC,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO,IAAI,CAAA;IACjC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAA;IAEpC,IAAI,IAAI,KAAK,OAAO;QAAE,OAAQ,KAAa,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,CAAA;IAE7E,MAAM,eAAe,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACtD,IACE,eAAe;QACf,eAAe,CAAC;YACd,GAAG,KAAK;YACR,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC;SACE,CAAC;QAE7B,OAAO,IAAI,CAAA;IAEb,OAAO,KAAK,CAAA;AACd,CAAC"}