dexbot 1.1.13 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/README.md +1 -0
  2. package/dist/market_adapter/market_adapter.js +1 -1
  3. package/dist/market_adapter/market_adapter.js.map +1 -1
  4. package/dist/modules/bitshares-native/lru_cache.d.ts +20 -0
  5. package/dist/modules/bitshares-native/lru_cache.d.ts.map +1 -0
  6. package/dist/modules/bitshares-native/lru_cache.js +45 -0
  7. package/dist/modules/bitshares-native/lru_cache.js.map +1 -0
  8. package/dist/modules/bitshares-native/resolvers.d.ts +2 -18
  9. package/dist/modules/bitshares-native/resolvers.d.ts.map +1 -1
  10. package/dist/modules/bitshares-native/resolvers.js +2 -41
  11. package/dist/modules/bitshares-native/resolvers.js.map +1 -1
  12. package/dist/modules/bitshares-native/serial/chain_constants.d.ts +1 -0
  13. package/dist/modules/bitshares-native/serial/chain_constants.d.ts.map +1 -1
  14. package/dist/modules/bitshares-native/serial/chain_constants.js +3 -0
  15. package/dist/modules/bitshares-native/serial/chain_constants.js.map +1 -1
  16. package/dist/modules/bitshares-native/signing_client.d.ts.map +1 -1
  17. package/dist/modules/bitshares-native/signing_client.js +12 -1
  18. package/dist/modules/bitshares-native/signing_client.js.map +1 -1
  19. package/dist/modules/bitshares-native/subscriptions.d.ts.map +1 -1
  20. package/dist/modules/bitshares-native/subscriptions.js +42 -3
  21. package/dist/modules/bitshares-native/subscriptions.js.map +1 -1
  22. package/dist/modules/bitshares-native/transport.d.ts.map +1 -1
  23. package/dist/modules/bitshares-native/transport.js +77 -27
  24. package/dist/modules/bitshares-native/transport.js.map +1 -1
  25. package/dist/modules/bitshares-native/tx/builder.d.ts.map +1 -1
  26. package/dist/modules/bitshares-native/tx/builder.js +26 -16
  27. package/dist/modules/bitshares-native/tx/builder.js.map +1 -1
  28. package/dist/modules/bitshares-native/tx/tx_cache.d.ts +17 -0
  29. package/dist/modules/bitshares-native/tx/tx_cache.d.ts.map +1 -0
  30. package/dist/modules/bitshares-native/tx/tx_cache.js +62 -0
  31. package/dist/modules/bitshares-native/tx/tx_cache.js.map +1 -0
  32. package/dist/modules/bot_settings.d.ts.map +1 -1
  33. package/dist/modules/bot_settings.js +2 -1
  34. package/dist/modules/bot_settings.js.map +1 -1
  35. package/dist/modules/chain_orders.d.ts +4 -1
  36. package/dist/modules/chain_orders.d.ts.map +1 -1
  37. package/dist/modules/chain_orders.js +30 -1
  38. package/dist/modules/chain_orders.js.map +1 -1
  39. package/dist/modules/config.d.ts +6 -0
  40. package/dist/modules/config.d.ts.map +1 -1
  41. package/dist/modules/config.js +11 -0
  42. package/dist/modules/config.js.map +1 -1
  43. package/dist/modules/constants.d.ts +17 -1
  44. package/dist/modules/constants.d.ts.map +1 -1
  45. package/dist/modules/constants.js +84 -18
  46. package/dist/modules/constants.js.map +1 -1
  47. package/dist/modules/credit_runtime.d.ts.map +1 -1
  48. package/dist/modules/credit_runtime.js +40 -29
  49. package/dist/modules/credit_runtime.js.map +1 -1
  50. package/dist/modules/dexbot_class.d.ts +16 -12
  51. package/dist/modules/dexbot_class.d.ts.map +1 -1
  52. package/dist/modules/dexbot_class.js +183 -78
  53. package/dist/modules/dexbot_class.js.map +1 -1
  54. package/dist/modules/dexbot_credential_client.d.ts +1 -0
  55. package/dist/modules/dexbot_credential_client.d.ts.map +1 -1
  56. package/dist/modules/dexbot_credential_client.js +15 -6
  57. package/dist/modules/dexbot_credential_client.js.map +1 -1
  58. package/dist/modules/dexbot_maintenance_runtime.d.ts +1 -5
  59. package/dist/modules/dexbot_maintenance_runtime.d.ts.map +1 -1
  60. package/dist/modules/dexbot_maintenance_runtime.js +78 -42
  61. package/dist/modules/dexbot_maintenance_runtime.js.map +1 -1
  62. package/dist/modules/key_store.d.ts.map +1 -1
  63. package/dist/modules/key_store.js +2 -0
  64. package/dist/modules/key_store.js.map +1 -1
  65. package/dist/modules/launcher/child_env.d.ts.map +1 -1
  66. package/dist/modules/launcher/child_env.js +1 -0
  67. package/dist/modules/launcher/child_env.js.map +1 -1
  68. package/dist/modules/launcher/launch_modes.d.ts +2 -0
  69. package/dist/modules/launcher/launch_modes.d.ts.map +1 -1
  70. package/dist/modules/launcher/launch_modes.js +7 -6
  71. package/dist/modules/launcher/launch_modes.js.map +1 -1
  72. package/dist/modules/node_manager.d.ts +9 -0
  73. package/dist/modules/node_manager.d.ts.map +1 -1
  74. package/dist/modules/node_manager.js +35 -17
  75. package/dist/modules/node_manager.js.map +1 -1
  76. package/dist/modules/order/accounting.d.ts.map +1 -1
  77. package/dist/modules/order/accounting.js +56 -13
  78. package/dist/modules/order/accounting.js.map +1 -1
  79. package/dist/modules/order/async_lock.d.ts +33 -4
  80. package/dist/modules/order/async_lock.d.ts.map +1 -1
  81. package/dist/modules/order/async_lock.js +69 -7
  82. package/dist/modules/order/async_lock.js.map +1 -1
  83. package/dist/modules/order/grid.d.ts +435 -450
  84. package/dist/modules/order/grid.d.ts.map +1 -1
  85. package/dist/modules/order/grid.js +1621 -1548
  86. package/dist/modules/order/grid.js.map +1 -1
  87. package/dist/modules/order/grid_reconcile.d.ts +3 -73
  88. package/dist/modules/order/grid_reconcile.d.ts.map +1 -1
  89. package/dist/modules/order/grid_reconcile.js +11 -843
  90. package/dist/modules/order/grid_reconcile.js.map +1 -1
  91. package/dist/modules/order/grid_reconcile_internal.d.ts +8 -0
  92. package/dist/modules/order/grid_reconcile_internal.d.ts.map +1 -0
  93. package/dist/modules/order/grid_reconcile_internal.js +771 -0
  94. package/dist/modules/order/grid_reconcile_internal.js.map +1 -0
  95. package/dist/modules/order/logger.d.ts +1 -1
  96. package/dist/modules/order/logger.d.ts.map +1 -1
  97. package/dist/modules/order/logger.js +26 -2
  98. package/dist/modules/order/logger.js.map +1 -1
  99. package/dist/modules/order/manager.d.ts +40 -3
  100. package/dist/modules/order/manager.d.ts.map +1 -1
  101. package/dist/modules/order/manager.js +97 -15
  102. package/dist/modules/order/manager.js.map +1 -1
  103. package/dist/modules/order/runner.js +2 -2
  104. package/dist/modules/order/runner.js.map +1 -1
  105. package/dist/modules/order/strategy.js +3 -3
  106. package/dist/modules/order/strategy.js.map +1 -1
  107. package/dist/modules/order/sync_engine.d.ts +1 -1
  108. package/dist/modules/order/sync_engine.d.ts.map +1 -1
  109. package/dist/modules/order/sync_engine.js +121 -29
  110. package/dist/modules/order/sync_engine.js.map +1 -1
  111. package/dist/modules/order/utils/order.d.ts +17 -0
  112. package/dist/modules/order/utils/order.d.ts.map +1 -1
  113. package/dist/modules/order/utils/order.js +56 -19
  114. package/dist/modules/order/utils/order.js.map +1 -1
  115. package/dist/modules/order/utils/system.js +4 -4
  116. package/dist/modules/order/utils/system.js.map +1 -1
  117. package/dist/modules/order/utils/validate.d.ts.map +1 -1
  118. package/dist/modules/order/utils/validate.js +6 -8
  119. package/dist/modules/order/utils/validate.js.map +1 -1
  120. package/dist/scripts/print_grid.js +3 -3
  121. package/dist/scripts/print_grid.js.map +1 -1
  122. package/dist/scripts/test-credit-renewal.js +1 -1
  123. package/dist/scripts/test-credit-renewal.js.map +1 -1
  124. package/dist/unlock.d.ts.map +1 -1
  125. package/dist/unlock.js +26 -12
  126. package/dist/unlock.js.map +1 -1
  127. package/package.json +14 -4
@@ -29,7 +29,7 @@ const AsyncLock = require('./async_lock');
29
29
  const Accountant = require('./accounting');
30
30
  const StrategyEngine = require('./strategy');
31
31
  const SyncEngine = require('./sync_engine');
32
- const Grid = require('./grid');
32
+ const { calculateCurrentSpread, checkSpreadCondition, checkGridHealth } = require('./grid');
33
33
  const Format = require('./format');
34
34
  const { toFiniteNumber, isValidNumber } = Format;
35
35
  // ===============================================================================
@@ -159,6 +159,7 @@ class StateManager {
159
159
  currentWorkingGrid: null
160
160
  };
161
161
  this.recovery = {
162
+ phase: 'idle',
162
163
  attemptCount: 0,
163
164
  lastAttemptAt: 0,
164
165
  inFlight: false,
@@ -207,11 +208,13 @@ class StateManager {
207
208
  this.rebalance.currentWorkingGrid = null;
208
209
  }
209
210
  recordRecoveryAttempt() {
211
+ this.recovery.phase = 'scanning';
210
212
  this.recovery.attemptCount++;
211
213
  this.recovery.lastAttemptAt = Date.now();
212
214
  this.recovery.inFlight = true;
213
215
  }
214
216
  completeRecovery(success) {
217
+ this.recovery.phase = success ? 'idle' : 'executing';
215
218
  this.recovery.inFlight = false;
216
219
  if (!success) {
217
220
  this.recovery.lastFailureAt = Date.now();
@@ -354,15 +357,19 @@ class OrderManager {
354
357
  _recentlyRotatedOrderIds;
355
358
  _gridSidesUpdated;
356
359
  _pauseFundRecalc;
360
+ _pauseFundRecalcWatchdog;
357
361
  _pauseRecalcLogging;
362
+ _pauseRecalcLoggingWatchdog;
358
363
  _throwOnIllegalState;
359
364
  _pipelineBlockedSince;
360
365
  _recoveryAttempted;
366
+ _syncGeneration;
361
367
  _gridVersion;
362
368
  _gridPersistenceSuspendedReason;
363
369
  _pendingBroadcasts;
364
370
  _committedOrderIds;
365
371
  _gridDirtyAt;
372
+ _pendingRecovery;
366
373
  _metrics;
367
374
  _currentWorkingGrid;
368
375
  _cowEngine;
@@ -432,15 +439,19 @@ class OrderManager {
432
439
  this._recentlyRotatedOrderIds = new Set();
433
440
  this._gridSidesUpdated = new Set();
434
441
  this._pauseFundRecalc = 0;
442
+ this._pauseFundRecalcWatchdog = null;
435
443
  this._pauseRecalcLogging = false;
444
+ this._pauseRecalcLoggingWatchdog = null;
436
445
  this._throwOnIllegalState = false;
437
446
  this._pipelineBlockedSince = null;
438
447
  this._recoveryAttempted = false;
448
+ this._syncGeneration = 0;
439
449
  this._gridVersion = 0;
440
450
  this._gridPersistenceSuspendedReason = null;
441
451
  this._pendingBroadcasts = new Map();
442
452
  this._committedOrderIds = new Set();
443
453
  this._gridDirtyAt = null;
454
+ this._pendingRecovery = null;
444
455
  this._metrics = {
445
456
  fundRecalcCount: 0,
446
457
  invariantViolations: { buy: 0, sell: 0 },
@@ -487,10 +498,15 @@ class OrderManager {
487
498
  return this._state.isBroadcasting();
488
499
  }
489
500
  /**
501
+ * Whether the manager is in the middle of a rebalance plan or broadcast.
502
+ * NOT a pure predicate: delegates to _state.isBroadcastingActive()
503
+ * (see StateManager.isBroadcastingActive, manager.ts:362) which
504
+ * auto-clears a stale broadcast flag after 120s (producing a warn log)
505
+ * so that a hung broadcast cannot permanently block rebalancing.
490
506
  * @returns {boolean}
491
507
  */
492
508
  isPlanningActive() {
493
- return this.isRebalancing() || this.isBroadcasting();
509
+ return this.isRebalancing() || this._state.isBroadcastingActive();
494
510
  }
495
511
  /**
496
512
  * @returns {void}
@@ -613,7 +629,7 @@ class OrderManager {
613
629
  });
614
630
  }
615
631
  async _setAccountTotals(totals) {
616
- this.accountTotals = { ...(this.accountTotals || {}), ...totals };
632
+ this.accountTotals = { ...(this.accountTotals || {}), ...totals, _lastFetchedAt: Date.now() };
617
633
  if (!this.funds)
618
634
  this.resetFunds();
619
635
  await this._recalculateFunds();
@@ -678,31 +694,93 @@ class OrderManager {
678
694
  await this.accountant.recalculateFunds();
679
695
  }
680
696
  /**
697
+ * Suppress fund recalculation during batch mutations.
698
+ *
699
+ * Use when multiple _applyOrderUpdate calls would each trigger redundant
700
+ * recalculateFunds (e.g. grid load, grid init, fill batch). Must be paired
701
+ * with resumeFundRecalc() in a try/finally block.
702
+ *
703
+ * Supports nesting via depth counter — only the outermost resume triggers
704
+ * the single consolidated recalculation.
705
+ *
706
+ * For bulk mutation sites that also need to suppress debug RECALC logging
707
+ * during the loop, pair this with pauseRecalcLogging()/resumeRecalcLogging().
708
+ *
709
+ * Use independently of pauseRecalcLogging when you need recalc to still run
710
+ * per-operation but want to batch the trigger (e.g. _updateOrdersForSide
711
+ * needs per-call chain-free tracking but suppresses log spam).
712
+ *
681
713
  * @returns {void}
682
714
  */
683
715
  pauseFundRecalc() {
684
716
  this._pauseFundRecalc++;
717
+ // Safety watchdog: if pauseFundRecalc is not resumed within the timeout,
718
+ // force-reset the counter to prevent permanent suppression from a missed
719
+ // finally block. Only set when depth goes from 0 → 1 so only the outermost
720
+ // pause has a watchdog.
721
+ if (this._pauseFundRecalc === 1) {
722
+ if (this._pauseFundRecalcWatchdog) {
723
+ clearTimeout(this._pauseFundRecalcWatchdog);
724
+ }
725
+ this._pauseFundRecalcWatchdog = setTimeout(() => {
726
+ if (this._pauseFundRecalc > 0) {
727
+ this.logger?.log?.(`[MANAGER] pauseFundRecalc safety watchdog: resetting depth from ${this._pauseFundRecalc} to 0`, 'warn');
728
+ this._pauseFundRecalc = 0;
729
+ this._pauseFundRecalcWatchdog = null;
730
+ this._recalculateFunds().catch((err) => {
731
+ this.logger?.log?.(`[MANAGER] Watchdog recalc failed: ${err.message}`, 'error');
732
+ });
733
+ }
734
+ }, TIMING.SAFETY_PAUSE_TIMEOUT_MS);
735
+ }
685
736
  }
686
737
  /**
738
+ * Resume fund recalculation and trigger one consolidated recalculateFunds()
739
+ * when the outermost resume completes.
687
740
  * @returns {Promise<void>}
688
741
  */
689
742
  async resumeFundRecalc() {
690
743
  this._pauseFundRecalc = Math.max(0, this._pauseFundRecalc - 1);
691
744
  if (this._pauseFundRecalc === 0) {
745
+ if (this._pauseFundRecalcWatchdog) {
746
+ clearTimeout(this._pauseFundRecalcWatchdog);
747
+ this._pauseFundRecalcWatchdog = null;
748
+ }
692
749
  await this.recalculateFunds();
693
750
  }
694
751
  }
695
752
  /**
753
+ * Suppress only the debug-level [RECALC] log lines inside recalculateFunds().
754
+ *
755
+ * Lighter than pauseFundRecalc — recalculation still runs, only log output
756
+ * is suppressed. Use when individual _updateOrder calls must update chain-free
757
+ * balances but the iterative debug logging would flood output
758
+ * (e.g. _updateOrdersForSide grid resize loop).
759
+ *
760
+ * When paired with pauseFundRecalc/resumeFundRecalc (grid load/init),
761
+ * both calcs and logging are suppressed during the batch. When used alone
762
+ * (_updateOrdersForSide), recalc runs per-call but logs are suppressed.
763
+ *
696
764
  * @returns {void}
697
765
  */
698
766
  pauseRecalcLogging() {
699
767
  this._pauseRecalcLogging = true;
768
+ this._pauseRecalcLoggingWatchdog = setTimeout(() => {
769
+ this.logger?.log?.(`[MANAGER] pauseRecalcLogging safety watchdog: forcing resume after ${TIMING.SAFETY_PAUSE_TIMEOUT_MS}ms`, 'warn');
770
+ this._pauseRecalcLogging = false;
771
+ this._pauseRecalcLoggingWatchdog = null;
772
+ }, TIMING.SAFETY_PAUSE_TIMEOUT_MS);
700
773
  }
701
774
  /**
775
+ * Resume recalc debug logging.
702
776
  * @returns {void}
703
777
  */
704
778
  resumeRecalcLogging() {
705
779
  this._pauseRecalcLogging = false;
780
+ if (this._pauseRecalcLoggingWatchdog) {
781
+ clearTimeout(this._pauseRecalcLoggingWatchdog);
782
+ this._pauseRecalcLoggingWatchdog = null;
783
+ }
706
784
  }
707
785
  /**
708
786
  * @param {Array<import('./types').Order>} orders
@@ -860,7 +938,7 @@ class OrderManager {
860
938
  if (this._pauseFundRecalc === 0) {
861
939
  await this.recalculateFunds();
862
940
  }
863
- this._markGridDirty(context, id);
941
+ this._markGridDirty();
864
942
  return true;
865
943
  }
866
944
  _syncWorkingGridFromMasterMutation(orderId, context) {
@@ -868,7 +946,7 @@ class OrderManager {
868
946
  return;
869
947
  }
870
948
  try {
871
- this._currentWorkingGrid.markStale(`master mutation during ${this._rebalanceState.toLowerCase()} (${context})`);
949
+ this._currentWorkingGrid.markStale(`master mutation during ${(this._rebalanceState || '').toLowerCase()} (${context})`);
872
950
  this._currentWorkingGrid.syncFromMaster(this.orders, orderId, this._gridVersion);
873
951
  }
874
952
  catch (syncErr) {
@@ -898,11 +976,9 @@ class OrderManager {
898
976
  * other paths (e.g. raw `this.orders.set(...)` from a refactor) should
899
977
  * invoke this explicitly so the dirty-flag invariant still holds.
900
978
  *
901
- * @param {string} [reason='unknown'] - Context label for diagnostics
902
- * @param {string} [orderId=null] - Order that triggered the mutation
903
979
  * @returns {void}
904
980
  */
905
- _markGridDirty(reason = 'unknown', orderId = null) {
981
+ _markGridDirty() {
906
982
  if (this._gridDirtyAt == null) {
907
983
  this._gridDirtyAt = Date.now();
908
984
  }
@@ -974,7 +1050,6 @@ class OrderManager {
974
1050
  const rebalanceResult = await this.performSafeRebalance(orders, excl);
975
1051
  return rebalanceResult;
976
1052
  }
977
- const { WorkingGrid } = require('./working_grid');
978
1053
  const workingGrid = new WorkingGrid(this.orders, { baseVersion: this._gridVersion });
979
1054
  return {
980
1055
  actions: [],
@@ -1156,20 +1231,20 @@ class OrderManager {
1156
1231
  * @returns {Promise<Object>}
1157
1232
  */
1158
1233
  async checkSpreadCondition(BitShares, batchCb) {
1159
- return await Grid.checkSpreadCondition(this, BitShares, batchCb);
1234
+ return await checkSpreadCondition(this, BitShares, batchCb);
1160
1235
  }
1161
1236
  /**
1162
1237
  * @param {Function} batchCb - Batch callback
1163
1238
  * @returns {Promise<Object>}
1164
1239
  */
1165
1240
  async checkGridHealth(batchCb) {
1166
- return await Grid.checkGridHealth(this, batchCb);
1241
+ return await checkGridHealth(this, batchCb);
1167
1242
  }
1168
1243
  /**
1169
1244
  * @returns {Object} Current spread calculation
1170
1245
  */
1171
1246
  calculateCurrentSpread() {
1172
- return Grid.calculateCurrentSpread(this);
1247
+ return calculateCurrentSpread(this);
1173
1248
  }
1174
1249
  /**
1175
1250
  * @returns {import('./types').DriftCheckResult}
@@ -1408,12 +1483,15 @@ class OrderManager {
1408
1483
  this._gridVersion++;
1409
1484
  committed = true;
1410
1485
  // Track orderIds from successful COW commits for recovery sync protection.
1411
- // Cleared on every commit to reflect only the current confirmed state.
1412
- this._committedOrderIds.clear();
1486
+ // Build a new set from the committed finalMap and atomically swap to
1487
+ // avoid the intermediate empty state that clear() creates — a crash
1488
+ // during clear()+repopulate would lose all committed IDs.
1489
+ const newCommittedIds = new Set();
1413
1490
  for (const [id, order] of finalMap.entries()) {
1414
1491
  if (order.orderId)
1415
- this._committedOrderIds.add(order.orderId);
1492
+ newCommittedIds.add(order.orderId);
1416
1493
  }
1494
+ this._committedOrderIds = newCommittedIds;
1417
1495
  const freshIndexes = workingGrid.getIndexes();
1418
1496
  this._ordersByState = {
1419
1497
  [ORDER_STATES.VIRTUAL]: freshIndexes[ORDER_STATES.VIRTUAL] || new Set(),
@@ -1547,6 +1625,9 @@ class OrderManager {
1547
1625
  comparePrecisions
1548
1626
  });
1549
1627
  }
1628
+ // Delegates to _state.rebalance (StateManager's internal field).
1629
+ // Single source of truth — the getter/setter exists only for backward
1630
+ // compat with code that reads _rebalanceState directly.
1550
1631
  get _rebalanceState() {
1551
1632
  return this._state.getRebalanceState();
1552
1633
  }
@@ -1574,6 +1655,7 @@ class OrderManager {
1574
1655
  }
1575
1656
  set _recoveryState(value) {
1576
1657
  const fallback = {
1658
+ phase: 'idle',
1577
1659
  attemptCount: 0,
1578
1660
  lastAttemptAt: 0,
1579
1661
  inFlight: false,
@@ -1 +1 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../modules/order/manager.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;AAEH,kFAAkF;AAClF,mCAAmC;AACnC,kFAAkF;AAElF,MAAM,EACF,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,MAAM,EACN,SAAS,EACT,eAAe,EACf,eAAe,EAClB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAC5B,MAAM,EACF,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,8BAA8B,EAC9B,wBAAwB,EACxB,oBAAoB,EACpB,iBAAiB,EACpB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAC5B,MAAM,EACF,cAAc,EACd,cAAc,EACd,YAAY,EACZ,0BAA0B,EAC7B,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AAC7B,MAAM,EAAE,mBAAmB,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAChF,MAAM,EACF,aAAa,EACb,0BAA0B,EAC1B,sBAAsB,EACtB,wBAAwB,EACxB,cAAc,EACd,aAAa,EACb,wBAAwB,EACxB,gBAAgB,EAChB,0BAA0B,EAC1B,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACjB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAChC,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAClD,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACnC,MAAM,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAC1C,MAAM,UAAU,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAC3C,MAAM,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AAC7C,MAAM,UAAU,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACnC,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC;AAEjD,kFAAkF;AAClF,kCAAkC;AAClC,kFAAkF;AAClF,EAAE;AACF,mDAAmD;AACnD,EAAE;AACF,kBAAkB;AAClB,0EAA0E;AAC1E,0EAA0E;AAC1E,EAAE;AACF,2EAA2E;AAC3E,EAAE;AACF,YAAY;AACZ,kEAAkE;AAClE,iDAAiD;AACjD,qFAAqF;AACrF,6DAA6D;AAC7D,qEAAqE;AACrE,4CAA4C;AAC5C,0EAA0E;AAC1E,EAAE;AACF,kBAAkB;AAClB,6EAA6E;AAC7E,6DAA6D;AAC7D,iEAAiE;AACjE,uEAAuE;AACvE,2EAA2E;AAC3E,EAAE;AACF,kCAAkC;AAClC,2EAA2E;AAC3E,mDAAmD;AACnD,4DAA4D;AAC5D,iEAAiE;AACjE,mEAAmE;AACnE,EAAE;AACF,4BAA4B;AAC5B,4EAA4E;AAC5E,mEAAmE;AACnE,kEAAkE;AAClE,2DAA2D;AAC3D,EAAE;AACF,kFAAkF;AAElF,MAAM,kBAAkB;IACpB,QAAQ,CAAM;IACd,MAAM,CAAM;IACZ,MAAM,CAAM;IACZ,MAAM,CAAM;IAEZ,YAAY,IAAI;QACZ,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EACV,UAAU,EACV,WAAW,EACX,WAAW,EACX,KAAK,EACL,KAAK,GAAG,EAAE,EACV,UAAU,GAAG,IAAI,GAAG,EAAE,EACzB;QACG,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,UAAU,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC;QAE9E,MAAM,cAAc,GAAG;YACnB,gBAAgB,EAAE,UAAU;YAC5B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,aAAa,EAAE,IAAI,CAAC,MAAM;YAC1B,KAAK;YACL,UAAU;YACV,KAAK;YACL,kBAAkB,EAAE,WAAW;SAClC,CAAC;QAEF,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;QAEtG,IAAI,oBAAoB,GAAG,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,iCAAiC,CAAC;QACtF,MAAM,eAAe,GAAG,aAAa,CACjC,UAAU,EACV,UAAU,EACV,cAAc,EACd;YACI,MAAM,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC;YACpD,oBAAoB;SACvB,CACJ,CAAC;QAEF,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC;YAC1B,OAAO,kBAAkB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,eAAe,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACvF,0BAA0B,CAAC,WAAW,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAEnF,MAAM,UAAU,GAAG;YACf,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS;YAC5C,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS;SAChD,CAAC;QAEF,MAAM,SAAS,GAAG,wBAAwB,CAAC,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACxF,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,iCAAiC,SAAS,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC;YAC9E,OAAO,kBAAkB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,WAAW,CAAC,cAAc,EAAE,IAAI,qCAAqC,CAAC;YACrF,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,qCAAqC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC;YACxE,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC;QAED,MAAM,YAAY,GAAG,iBAAiB,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;QAErE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACxC,IAAI,QAAQ,GAAG,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,iCAAiC,QAAQ,IAAI,EAAE,MAAM,CAAC,CAAC;QAC5E,CAAC;QAED,IAAI,CAAC,MAAM,EAAE,GAAG,CACZ,uBAAuB,gBAAgB,CAAC,MAAM,kBAAkB,YAAY,CAAC,MAAM,EAAE,EACrF,MAAM,CACT,CAAC;QAEF,OAAO,kBAAkB,CAAC;YACtB,OAAO,EAAE,gBAAgB;YACzB,YAAY;YACZ,WAAW;YACX,eAAe,EAAE,cAAc;YAC/B,gBAAgB,EAAE,QAAQ;SAC7B,CAAC,CAAC;IACP,CAAC;CACJ;AAED,kFAAkF;AAClF,2BAA2B;AAC3B,kFAAkF;AAElF,MAAM,YAAY;IACd,MAAM,CAAM;IACZ,SAAS,CAAM;IACf,QAAQ,CAAM;IACd,SAAS,CAAM;IACf,SAAS,CAAM;IACf,SAAS,CAAM;IACf,OAAO,CAAM;IACb,QAAQ,CAAM;IAEd,YAAY,UAAe,EAAE;QACzB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC;QACrC,IAAI,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;IAED,KAAK;QACD,IAAI,CAAC,SAAS,GAAG;YACb,KAAK,EAAE,gBAAgB,CAAC,MAAM;YAC9B,kBAAkB,EAAE,IAAI;SAC3B,CAAC;QAEF,IAAI,CAAC,QAAQ,GAAG;YACZ,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,CAAC;YAChB,QAAQ,EAAE,KAAK;YACf,aAAa,EAAE,CAAC;SACnB,CAAC;QAEF,IAAI,CAAC,SAAS,GAAG;YACb,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,EAAE;YACxC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,EAAE;SAC5C,CAAC;QAEF,IAAI,CAAC,SAAS,GAAG;YACb,eAAe,EAAE,KAAK;SACzB,CAAC;QAEF,IAAI,CAAC,SAAS,GAAG;YACb,cAAc,EAAE,KAAK;YACrB,SAAS,EAAE,CAAC;SACf,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG;YACX,gBAAgB,EAAE,IAAI;YACtB,qBAAqB,EAAE,IAAI;SAC9B,CAAC;QAEF,IAAI,CAAC,QAAQ,GAAG;YACZ,YAAY,EAAE,IAAI;YAClB,iBAAiB,EAAE,KAAK;SAC3B,CAAC;IAEN,CAAC;IAED,iBAAiB;QACb,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;IAChC,CAAC;IAED,iBAAiB,CAAC,KAAK;QACnB,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,0BAA0B,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAED,aAAa;QACT,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,KAAK,gBAAgB,CAAC,WAAW,CAAC;IACjE,CAAC;IAED,cAAc;QACV,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,KAAK,gBAAgB,CAAC,YAAY,CAAC;IAClE,CAAC;IAED,cAAc,CAAC,WAAW;QACtB,IAAI,CAAC,SAAS,CAAC,kBAAkB,GAAG,WAAW,CAAC;IACpD,CAAC;IAED,cAAc;QACV,OAAO,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC;IAC7C,CAAC;IAED,gBAAgB;QACZ,IAAI,CAAC,SAAS,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAC7C,CAAC;IAED,qBAAqB;QACjB,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzC,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;IAClC,CAAC;IAED,gBAAgB,CAAC,OAAO;QACpB,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,IAAI,CAAC,QAAQ,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7C,CAAC;IACL,CAAC;IAED,kBAAkB;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAClC,CAAC;IAED,gBAAgB;QACZ,OAAO,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC;IAED,WAAW,CAAC,IAAI;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,KAAK,CAAC;IAChD,CAAC;IAED,UAAU,CAAC,IAAI;QACX,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;YACnC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACtD,CAAC;IACL,CAAC;IAED,OAAO,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC;QACtC,CAAC;IACL,CAAC;IAED,cAAc;QACV,IAAI,CAAC,SAAS,CAAC,eAAe,GAAG,IAAI,CAAC;QACtC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAED,eAAe;QACX,IAAI,CAAC,SAAS,CAAC,eAAe,GAAG,KAAK,CAAC;QACvC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAED,eAAe;QACX,OAAO,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC;IAC1C,CAAC;IAED,iBAAiB;QACb,IAAI,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC;QACrC,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACtC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,kFAAkF,EAAE,OAAO,CAAC,CAAC;IACpH,CAAC;IAED,gBAAgB;QACZ,IAAI,CAAC,SAAS,CAAC,cAAc,GAAG,KAAK,CAAC;QACtC,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,oBAAoB;QAChB,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;YAChE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;YACtD,IAAI,OAAO,GAAG,MAAM,EAAE,CAAC;gBACnB,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,2DAA2D,EAAE,MAAM,CAAC,CAAC;gBACxF,IAAI,CAAC,SAAS,CAAC,cAAc,GAAG,KAAK,CAAC;gBACtC,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,CAAC,CAAC;YACjC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;IACzC,CAAC;IAED,qBAAqB,CAAC,MAAM;QACxB,IAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG;YAC5B,GAAG,MAAM;YACT,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;SACjB,CAAC;IACN,CAAC;IAED,yBAAyB;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;QAC7C,IAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;QACrC,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,0BAA0B,CAAC,MAAM;QAC7B,IAAI,CAAC,OAAO,CAAC,qBAAqB,GAAG;YACjC,GAAG,MAAM;YACT,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;SACjB,CAAC;IACN,CAAC;IAED,8BAA8B;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC;QAClD,IAAI,CAAC,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;QAC1C,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,mBAAmB;QACf,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;YAC9B,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5C,CAAC;IACL,CAAC;IAED,iBAAiB;QACb,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,GAAG,KAAK,CAAC;IAC5C,CAAC;IAED,0BAA0B;QACtB,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACpF,CAAC;IAED,iBAAiB;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,IAAI,CAAC;IAC/C,CAAC;IAED,QAAQ;QACJ,OAAO;YACH,SAAS,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,kBAAkB,EAAE,IAAI,EAAE;YAC1D,QAAQ,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE;YAC9B,SAAS,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE;YAChC,SAAS,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE;YAChC,SAAS,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE;YAChC,QAAQ,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE;SACjC,CAAC;IACN,CAAC;CACJ;AAED,kFAAkF;AAClF,iCAAiC;AACjC,kFAAkF;AAElF,MAAM,YAAY;IACd,MAAM,CAAM;IACZ,UAAU,CAAM;IAChB,MAAM,CAAM;IACZ,MAAM,CAAM;IACZ,WAAW,CAAM;IACjB,UAAU,CAAM;IAChB,UAAU,CAAM;IAChB,QAAQ,CAAM;IACd,IAAI,CAAM;IACV,MAAM,CAAM;IACZ,cAAc,CAA8B;IAC5C,aAAa,CAA8B;IAC3C,iBAAiB,CAAS;IAC1B,kBAAkB,CAAS;IAC3B,WAAW,CAAS;IACpB,MAAM,CAAM;IACZ,SAAS,CAAM;IACf,aAAa,CAAM;IACnB,KAAK,CAAM;IACX,qBAAqB,CAAM;IAC3B,qBAAqB,CAAM;IAC3B,iBAAiB,CAAU;IAC3B,4BAA4B,CAAQ;IACpC,cAAc,CAAgB;IAC9B,oBAAoB,CAAgB;IACpC,kBAAkB,CAAM;IACxB,SAAS,CAAM;IACf,mBAAmB,CAAM;IACzB,eAAe,CAAM;IACrB,SAAS,CAAM;IACf,SAAS,CAAM;IACf,wBAAwB,CAAW;IACnC,iBAAiB,CAAW;IAC5B,gBAAgB,CAAS;IACzB,mBAAmB,CAAU;IAC7B,oBAAoB,CAAU;IAC9B,qBAAqB,CAAM;IAC3B,kBAAkB,CAAU;IAC5B,YAAY,CAAS;IACrB,+BAA+B,CAAM;IACrC,kBAAkB,CAAgB;IAClC,kBAAkB,CAAc;IAChC,YAAY,CAAgB;IAE5B,QAAQ,CAAM;IACd,mBAAmB,CAAM;IACzB,UAAU,CAAM;IAChB,aAAa,CAAM;IACnB,UAAU,CAAkD;IAE5D;;OAEG;IACH,YAAY,SAA8B,EAAE;QACxC,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,MAAM,EAAE,CAAC;QAC/C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC1I,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,SAAS,CAAC;QAC5C,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,QAAQ,EAAE;YAC/B,KAAK,EAAE,aAAa,EAAE,KAAK,IAAI,SAAS;YACxC,OAAO;YACP,cAAc,EAAE,aAAa,EAAE,MAAM,IAAI,SAAS;SACrD,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;QAEjC,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAExD,4EAA4E;QAC5E,4EAA4E;QAC5E,qDAAqD;QACrD,IAAI,CAAC,cAAc,GAAG;YAClB,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,IAAI,GAAG,EAAE;YACjC,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,IAAI,GAAG,EAAE;YAChC,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,IAAI,GAAG,EAAE;SACpC,CAAC;QACF,IAAI,CAAC,aAAa,GAAG;YACjB,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,EAAE;YAC5B,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE;YAC7B,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,GAAG,EAAE;SAClC,CAAC;QAEF,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,UAAU,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QACnD,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QAClC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QAClC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,4BAA4B,GAAG,EAAE,CAAC;QACvC,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,EAAE,CAAC;QAChC,IAAI,CAAC,oBAAoB,GAAG,IAAI,GAAG,EAAE,CAAC;QACtC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAE/B,sEAAsE;QACtE,oEAAoE;QACpE,yCAAyC;QACzC,+DAA+D;QAC/D,oDAAoD;QACpD,gDAAgD;QAChD,iDAAiD;QACjD,6DAA6D;QAC7D,uCAAuC;QACvC,IAAI,CAAC,eAAe,GAAG,IAAI,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,mBAAmB,GAAG,IAAI,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAE7D,IAAI,CAAC,wBAAwB,GAAG,IAAI,GAAG,EAAE,CAAC;QAC1C,IAAI,CAAC,iBAAiB,GAAG,IAAI,GAAG,EAAE,CAAC;QACnC,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QAClC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,+BAA+B,GAAG,IAAI,CAAC;QAC5C,IAAI,CAAC,kBAAkB,GAAG,IAAI,GAAG,EAAE,CAAC;QACpC,IAAI,CAAC,kBAAkB,GAAG,IAAI,GAAG,EAAE,CAAC;QACpC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAGzB,IAAI,CAAC,QAAQ,GAAG;YACZ,eAAe,EAAE,CAAC;YAClB,mBAAmB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;YACxC,gBAAgB,EAAE,CAAC;YACnB,mBAAmB,EAAE,CAAC;YACtB,2BAA2B,EAAE,CAAC;YAC9B,kBAAkB,EAAE,CAAC;YACrB,gBAAgB,EAAE,IAAI,CAAC,GAAG,EAAE;SAC/B,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QAC7B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAED,aAAa;QACT,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAClC,IAAI,CAAC,UAAU,GAAG,IAAI,kBAAkB,CAAC;gBACrC,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;aACtB,CAAC,CAAC;QACP,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED,oBAAoB;QAChB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC3D,CAAC;IAED,kBAAkB,CAAC,KAAK;QACpB,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,aAAa;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,cAAc;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,gBAAgB;QACZ,OAAO,IAAI,CAAC,aAAa,EAAE,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,cAAc;QACV,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,eAAe;QACX,MAAM,MAAM,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAEpD,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,CAAC;YAChC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YAE9B,sEAAsE;YACtE,wEAAwE;YACxE,MAAM,UAAU,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;YACnD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBACtB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACvB,MAAM,CAAC,SAAS,GAAG,UAAU,CAAC;gBAC9B,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,wDAAwD,UAAU,CAAC,MAAM,IAAI;oBAC7E,iDAAiD,EACjD,MAAM,CACT,CAAC;YACN,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,8EAA8E,EAAE,MAAM,CAAC,CAAC;QAC5G,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,iBAAiB;QACb,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,gBAAgB;QACZ,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,UAAU;QACN,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS;QACjD,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;QAC7B,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IACpF,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS;QAC5C,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;QAC7B,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IAC5E,CAAC;IAED,aAAa,CAAC,IAAI;QACd,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED;;OAEG;IACH,qBAAqB;QACjB,MAAM,MAAM,GAAG,sBAAsB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QACxF,MAAM,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;QACtF,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;QACzF,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC;YAC7E,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;YACvD,CAAC,CAAC,IAAI,CAAC;QACX,OAAO,EAAE,GAAG,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC;IAClE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,oBAAoB,CAAC,SAAS,GAAG,MAAM,CAAC,yBAAyB;QACnE,IAAI,qBAAqB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC;YAAE,OAAO;QAE5D,IAAI,WAAW,GAAG,IAAI,CAAC;QAEvB,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;YACpC,IAAI,qBAAqB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC;gBAAE,OAAO;YAC5D,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC9B,IAAI,CAAC,qBAAqB,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;oBACjD,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC;gBACzC,CAAC,CAAC,CAAC;YACP,CAAC;YACD,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW;YAAE,OAAO;QAEzB,MAAM,OAAO,CAAC,IAAI,CAAC;YACf,WAAW;YACX,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAC1B,UAAU,CAAC,GAAG,EAAE;oBACZ,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,2CAA2C,EAAE,MAAM,CAAC,CAAC;oBACrE,OAAO,EAAE,CAAC;gBACd,CAAC,EAAE,SAAS,CAAC,CAAC;YAClB,CAAC,CAAC;SACL,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,kBAAkB,CAAC,SAAS;QAC9B,IAAI,SAAS;YAAE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC1C,MAAM,IAAI,CAAC,iCAAiC,EAAE,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,iCAAiC;QACnC,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,gCAAgC,EAAE,CAAC;IAC9D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,gBAAgB,CAAC,MAAM,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;QACpF,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;YAC3C,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,MAAM;QAC1B,IAAI,CAAC,aAAa,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;QAClE,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,UAAU,EAAE,CAAC;QAEnC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE/B,IAAI,qBAAqB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,qBAAqB,KAAK,UAAU,EAAE,CAAC;YACtG,IAAI,CAAC;gBACD,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACjC,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBACd,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,2CAA2C,CAAC,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;YACvF,CAAC;YACD,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;YAClC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QACtC,CAAC;IACL,CAAC;IAED,kCAAkC;QAC9B,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC1B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,iCAAiC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;gBAClD,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YACnC,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED;;OAEG;IACH,uBAAuB;QACnB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO;QACzD,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,sBAAsB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAEnH,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QACnC,MAAM,YAAY,GAAG,8BAA8B,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACtH,MAAM,aAAa,GAAG,8BAA8B,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAE1H,IAAI,YAAY,KAAK,CAAC,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACtH,IAAI,aAAa,KAAK,CAAC;gBAAE,IAAI,CAAC,kCAAkC,EAAE,CAAC;QACvE,CAAC;QACD,IAAI,aAAa,KAAK,CAAC,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACzH,IAAI,cAAc,KAAK,CAAC;gBAAE,IAAI,CAAC,kCAAkC,EAAE,CAAC;QACxE,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;QAElE,MAAM,YAAY,GAAG,YAAY,GAAG,CAAC,IAAI,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC5F,MAAM,aAAa,GAAG,aAAa,GAAG,CAAC,IAAI,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAE/F,IAAI,YAAY;YAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;QAC3G,IAAI,aAAa;YAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC;IACnH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB;QAClB,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;YAC3C,OAAO,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC1C,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,iBAAiB;QACnB,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;QAC7B,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;QAChC,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,eAAe;QACX,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB;QAClB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;QAC/D,IAAI,IAAI,CAAC,gBAAgB,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAClC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,kBAAkB;QACd,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,mBAAmB;QACf,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACH,kBAAkB,CAAC,MAAM,EAAE,IAAI;QAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACtD,CAAC;IAED;;;;OAIG;IACH,mBAAmB,CAAC,IAAI,EAAE,OAAO;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,oBAAoB,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,GAAG,EAAE;QAC9C,0EAA0E;QAC1E,kEAAkE;QAClE,gEAAgE;QAChE,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,GAAG,EAAE;QACpC,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,iBAAiB;QACnB,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC9C,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,QAAQ;QACf,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,eAAe,CAAC;QACvD,KAAK,MAAM,EAAE,IAAI,QAAQ;YAAE,IAAI,EAAE;gBAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QAC3E,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,QAAQ;QACjB,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,KAAK,MAAM,EAAE,IAAI,QAAQ;YAAE,IAAI,EAAE;gBAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACH,aAAa,CAAC,EAAE;QACZ,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS;YAAE,OAAO,KAAK,CAAC;QAC7B,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC;YACzB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC/B,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kBAAkB;QACd,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAChD,IAAI,GAAG,GAAG,SAAS,EAAE,CAAC;gBAClB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACnC,CAAC;QACL,CAAC;IACL,CAAC;IAED,4BAA4B,CAAC,UAA+B,EAAE;QAC1D,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5E,MAAM,IAAI,SAAS,CAAC,wCAAwC,CAAC,CAAC;QAClE,CAAC;QAED,OAAO;YACH,cAAc,EAAE,OAAO,CAAC,cAAc,KAAK,IAAI;YAC/C,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SACtE,CAAC;IACN,CAAC;IAED,uBAAuB,CAAC,UAA+B,EAAE;QACrD,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5E,MAAM,IAAI,SAAS,CAAC,kCAAkC,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,aAAa,EAAE,OAAO,GAAG,EAAE;QAC3D,MAAM,aAAa,GAAG,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC;QACjE,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;YAC3C,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,aAAa,EAAE,OAAO,GAAG,EAAE;QAChE,MAAM,aAAa,GAAG,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC;QACjE,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,aAAa,CAAC;QAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAE3D,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtD,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,sBAAsB,CAAC,CAAC;YAC/F,IAAI,UAAU,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC7C,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC;oBAC9B,EAAE,EAAE,KAAK,CAAC,EAAE;oBACZ,OAAO;oBACP,OAAO,EAAE,UAAU,CAAC,OAAO;iBAC9B,CAAC,CAAC;gBACH,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBAC5B,MAAM,GAAG,GAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;oBAC/C,GAAG,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;oBAC3B,MAAM,GAAG,CAAC;gBACd,CAAC;gBACD,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;QAED,uEAAuE;QACvE,uEAAuE;QACvE,uEAAuE;QACvE,IAAI,SAAS,GAAG,EAAE,GAAG,UAAU,CAAC,eAAe,EAAE,CAAC;QAElD,8DAA8D;QAC9D,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC;QAC7E,IAAI,YAAY,IAAI,YAAY,CAAC,WAAW,EAAE,CAAC;YAC3C,SAAS,GAAG,EAAE,GAAG,SAAS,EAAE,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;QAC9D,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,UAAU,CAAC,2BAA2B,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;QACnH,CAAC;QAED,MAAM,YAAY,GAAG,UAAU,CAAC,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;QAClD,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;QAEpB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAClE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAEjE,IAAI,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,IAAI,CAAC,kCAAkC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAErD,IAAI,IAAI,CAAC,gBAAgB,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAClC,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEjC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kCAAkC,CAAC,OAAO,EAAE,OAAO;QAC/C,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YACxD,OAAO;QACX,CAAC;QAED,IAAI,CAAC;YACD,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAC9B,0BAA0B,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,KAAK,OAAO,GAAG,CAC9E,CAAC;YACF,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACrF,CAAC;QAAC,OAAO,OAAY,EAAE,CAAC;YACpB,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,8BAA8B,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YACpF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,+CAA+C,OAAO,KAAK,OAAO,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;QAC1G,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,cAAc,EAAE,OAAO,GAAG,EAAE;QACtE,MAAM,aAAa,GAAG,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC;QACjE,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;YAC3C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC3B,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;YACjE,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;OAUG;IACH,cAAc,CAAC,MAAM,GAAG,SAAS,EAAE,UAAkB,IAAI;QACrD,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACnC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,eAAe;QACX,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACH,WAAW;QACP,OAAO,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC;IACtC,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,cAAc,CAAC,YAAY,GAAG,kBAAkB;QAClD,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;YAC5B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QAClD,CAAC;QACD,IAAI,IAAI,CAAC,+BAA+B,EAAE,CAAC;YACvC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CACd,6DAA6D,IAAI,CAAC,+BAA+B,EAAE,EACnG,MAAM,CACT,CAAC;YACF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,+BAA+B,EAAE,CAAC;QAC5F,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YACpC,iEAAiE;YACjE,4CAA4C;YAC5C,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YACrC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CACd,sDAAsD,YAAY,MAAM,MAAM,CAAC,MAAM,IAAI,SAAS,EAAE,EACpG,MAAM,CACT,CAAC;YACF,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CACd,8CAA8C,YAAY,EAAE,EAC5D,MAAM,CACT,CAAC;QACF,OAAO,MAAM,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACvC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO;QAC3C,oDAAoD;QACpD,MAAM,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAEnD,wDAAwD;QACxD,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,wBAAwB,CAAC,CAAC;QACpF,MAAM,eAAe,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;QAEhD,IAAI,eAAe,EAAE,CAAC;YAClB,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACtE,OAAO,eAAe,CAAC;QAC3B,CAAC;QAED,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAClD,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QACrF,OAAO;YACH,OAAO,EAAE,EAAE;YACX,YAAY,EAAE,EAAE;YAChB,WAAW,EAAE,KAAK;YAClB,WAAW;YACX,cAAc,EAAE,WAAW,CAAC,UAAU,EAAE;YACxC,eAAe,EAAE,IAAI,CAAC,WAAW;YACjC,OAAO,EAAE,KAAK;SACjB,CAAC;IACN,CAAC;IAED;;OAEG;IACH,0BAA0B;QACtB,uCAAuC;QACvC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACjF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QAE/E,mCAAmC;QACnC,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,qBAAqB,CAAC;QAC1E,MAAM,WAAW,GAAG,uBAAuB,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;QAC/F,MAAM,UAAU,GAAG,uBAAuB,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;QAE7F,2EAA2E;QAC3E,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC;QACrD,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC;QACpD,MAAM,cAAc,GAAG,oBAAoB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QACxE,MAAM,aAAa,GAAG,oBAAoB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAErE,0FAA0F;QAC1F,MAAM,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC;aAC9E,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;aACjC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QACzB,2EAA2E;QAC3E,MAAM,UAAU,GAAG,MAAM;aACpB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,cAAc,CAAC;aAC1E,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QAEvC,yFAAyF;QACzF,MAAM,KAAK,GAAG,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC;aAC5E,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;aACjC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QACxB,0EAA0E;QAC1E,MAAM,SAAS,GAAG,KAAK;aAClB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,aAAa,CAAC;aACxE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QAEvC,OAAO,CAAC,GAAG,UAAU,EAAE,GAAG,SAAS,CAAC,CAAC;IACzC,CAAC;IAED;;;;;;OAMG;IACH,uBAAuB,CAAC,IAAI,EAAE,KAAK;QAC/B,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,GAAG;YAAE,OAAO,MAAM,CAAC;QACxB,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACnB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClC,mEAAmE;YACnE,2CAA2C;YAC3C,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gBAC1E,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;OAGG;IACH,sBAAsB,CAAC,IAAI;QACvB,OAAO,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IACpE,CAAC;IAED;;OAEG;IACH,eAAe;QACX,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACpC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,6CAA6C,EAAE,OAAO,CAAC,CAAC;gBAC/F,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;gBACjE,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBACd,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;gBAChE,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC7C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE,0BAA0B,KAAK,CAAC,KAAK,GAAG,EAAE,OAAO,CAAC,CAAC;gBACxF,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC3C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE,yBAAyB,KAAK,CAAC,IAAI,GAAG,EAAE,OAAO,CAAC,CAAC;gBACtF,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;QAED,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YAClE,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;gBACxB,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC9B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,sBAAsB,KAAK,yBAAyB,EAAE,OAAO,CAAC,CAAC;oBAClG,OAAO,KAAK,CAAC;gBACjB,CAAC;YACL,CAAC;QACL,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YAChE,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;gBACxB,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC9B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,qBAAqB,IAAI,yBAAyB,EAAE,OAAO,CAAC,CAAC;oBAChG,OAAO,KAAK,CAAC;gBACjB,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,sBAAsB;QAClB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,2DAA2D,EAAE,OAAO,CAAC,CAAC;YACtF,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;QACjC,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,cAAc;QACV,IAAI,CAAC;YACD,MAAM,cAAc,GAAG;gBACnB,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,IAAI,GAAG,EAAU;gBACzC,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,IAAI,GAAG,EAAU;gBACxC,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,IAAI,GAAG,EAAU;aAC5C,CAAC;YACF,MAAM,aAAa,GAAG;gBAClB,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,EAAU;gBACpC,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,EAAU;gBACrC,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,GAAG,EAAU;aAC1C,CAAC;YAEF,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACpC,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;oBACrC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;oBACrC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBACvC,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,4BAA4B,EAAE,sBAAsB,EAAE,MAAM,CAAC,CAAC;gBAClF,CAAC;YACL,CAAC;YAED,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;YACrC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;YAEnC,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;gBACzB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,2BAA2B,EAAE,MAAM,CAAC,CAAC;gBACrD,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,8CAA8C,EAAE,OAAO,CAAC,CAAC;YACzE,OAAO,KAAK,CAAC;QACjB,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YACd,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;YAC7E,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED;;OAEG;IACH,yBAAyB;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,yBAAyB,EAAE,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,8BAA8B;QAC1B,OAAO,IAAI,CAAC,MAAM,CAAC,8BAA8B,EAAE,CAAC;IACxD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,oBAAoB,CAAC,SAAS,EAAE,OAAO;QACzC,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,eAAe,CAAC,OAAO;QACzB,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,sBAAsB;QAClB,OAAO,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,wBAAwB;QACpB,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YAC7D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,mCAAmC,EAAE,CAAC;QAC1E,CAAC;QACD,OAAO,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,IAAI,IAAI,CAAC,CAAC;IACzG,CAAC;IAED;;;OAGG;IACH,eAAe,CAAC,kBAAgD,CAAC;QAC7D,MAAM,iBAAiB,GAAwB,CAAC,OAAO,eAAe,KAAK,QAAQ,CAAC;YAChF,CAAC,CAAC,EAAE,uBAAuB,EAAE,eAAe,EAAE;YAC9C,CAAC,CAAC,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;QAE9B,MAAM,uBAAuB,GAAG,cAAc,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,CAAC;QAC1F,MAAM,WAAW,GAAG,cAAc,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAClE,MAAM,aAAa,GAAG,CAAC,CAAC,iBAAiB,CAAC,aAAa,CAAC;QACxD,MAAM,gBAAgB,GAAG,CAAC,CAAC,iBAAiB,CAAC,gBAAgB,CAAC;QAC9D,MAAM,YAAY,GAAG,CAAC,CAAC,iBAAiB,CAAC,YAAY,CAAC;QAEtD,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,EAAE,CAAC;QAEnB,yEAAyE;QACzE,mFAAmF;QACnF,6EAA6E;QAC7E,oBAAoB;QACpB,IAAI,uBAAuB,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,GAAG,uBAAuB,eAAe,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,IAAI,CAAC,4BAA4B,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,4BAA4B,CAAC,MAAM,sBAAsB,CAAC,CAAC;QACpF,CAAC;QACD,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,GAAG,WAAW,wBAAwB,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,aAAa,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,gBAAgB,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,EAAE,CAAC;YACrD,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACpD,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC;QACtC,CAAC;aAAM,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;QACpC,CAAC;QAED,OAAO;YACH,OAAO,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC;YAC7B,OAAO;SACV,CAAC;IACN,CAAC;IAED;;OAEG;IACH,4BAA4B;QACxB,IAAI,CAAC,IAAI,CAAC,qBAAqB;YAAE,OAAO,KAAK,CAAC;QAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,qBAAqB,CAAC;QACpD,IAAI,GAAG,GAAG,eAAe,CAAC,UAAU;YAAE,OAAO,KAAK,CAAC;QAEnD,IAAI,CAAC,4BAA4B,GAAG,EAAE,CAAC;QACvC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,iBAAiB;QACb,MAAM,eAAe,GAAG,IAAI,CAAC,qBAAqB;YAC9C,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,qBAAqB;YACzC,CAAC,CAAC,CAAC,CAAC;QAER,OAAO;YACH,SAAS,EAAE,IAAI,CAAC,qBAAqB,KAAK,IAAI;YAC9C,iBAAiB,EAAE,eAAe;YAClC,UAAU,EAAE,eAAe,GAAG,eAAe,CAAC,UAAU;YACxD,iBAAiB,EAAE,IAAI,CAAC,kBAAkB;YAC1C,kBAAkB,EAAE,IAAI,CAAC,4BAA4B,CAAC,MAAM;YAC5D,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,IAAI,CAAC;SACtD,CAAC;IACN,CAAC;IAED;;;;OAIG;IACH,aAAa,CAAC,UAAU,EAAE,cAAc;QACpC,OAAO,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE;YAC1D,MAAM,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC;YACnD,oBAAoB,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,iCAAiC;SACnF,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,oBAAoB,CAAC,KAAK,GAAG,EAAE,EAAE,UAAU,GAAG,IAAI,GAAG,EAAE;QACzD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,uCAAuC,EAAE,MAAM,CAAC,CAAC;QACjE,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;YAC3C,OAAO,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,KAAK,GAAG,EAAE,EAAE,UAAU,GAAG,IAAI,GAAG,EAAE;QAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACvC,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,OAAO,kBAAkB,CAAC,mDAAmD,CAAC,CAAC;QACnF,CAAC;QAED,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC;YACnC,UAAU,EAAE,IAAI,CAAC,MAAM;YACvB,WAAW,EAAE,IAAI,CAAC,YAAY;YAC9B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,KAAK,EAAE,IAAI,CAAC,qBAAqB,EAAE;YACnC,KAAK;YACL,UAAU;SACb,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,WAAW,CAAC;QAC9C,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,iBAAiB,CAAC,UAAU,EAAE,cAAc,EAAE,WAAW;QACrD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAC9D,IAAI,MAAM,CAAC,OAAO;YAAE,OAAO,MAAM,CAAC;QAElC,MAAM,OAAO,GAAG,wBAAwB,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5E,0BAA0B,CAAC,WAAW,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAEjE,OAAO;YACH,GAAG,MAAM;YACT,OAAO;YACP,GAAG,gBAAgB,CAAC,OAAO,CAAC;SAC/B,CAAC;IACN,CAAC;IAED,yBAAyB,CAAC,WAAW,EAAE,cAAc;QACjD,OAAO,wBAAwB,CAAC,WAAW,EAAE,cAAc,EAAE;YACzD,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS;YAC5C,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS;SAChD,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC;IAED,+BAA+B,CAAC,WAAW,EAAE,aAAkC,EAAE;QAC7E,OAAO,sBAAsB,CAAC,WAAW,EAAE;YACvC,YAAY,EAAE,UAAU,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS;YACvE,aAAa,EAAE,UAAU,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS;SAC5E,CAAC,CAAC;IACP,CAAC;IAED,wBAAwB;QACpB,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC;QACvD,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC;QACxD,MAAM,mBAAmB,GAAG,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC;QAC1D,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;QAC7C,MAAM,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC/C,MAAM,gBAAgB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAErD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YACpE,MAAM,IAAI,KAAK,CACX,0DAA0D,eAAe,UAAU,gBAAgB,KAAK;gBACxG,wCAAwC,CAC3C,CAAC;QACN,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,gBAAgB,IAAI,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,KAAK,CACX,+DAA+D,mBAAmB,KAAK;gBACvF,wCAAwC,CAC3C,CAAC;QACN,CAAC;QAED,oEAAoE;QACpE,4EAA4E;QAC5E,MAAM,sBAAsB,GAAG,gBAAgB,GAAG,IAAI,CAAC;QAEvD,OAAO;YACH,YAAY;YACZ,aAAa;YACb,sBAAsB;SACzB,CAAC;IACN,CAAC;IAED,kBAAkB,CAAC,OAAO,EAAE,UAAU;QAClC,OAAO,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAClD,CAAC;IAED,sBAAsB,CAAC,MAAM;QACzB,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,OAAO,GAAG,EAAE;QAC/E,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAC7D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,WAAW,CAAC,cAAc,EAAE,CAAC;QAC3C,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,iBAAiB,CAAC;QAEtB,IAAI,CAAC;YACD,iBAAiB,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;QACxD,CAAC;QAAC,OAAO,YAAiB,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,YAAY,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;YAC1D,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,cAAc,GAAG,cAAc,CAAC,WAAW,EAAE;YAC/C,OAAO,EAAE,KAAK;YACd,cAAc,EAAE,IAAI,CAAC,YAAY;YACjC,UAAU,EAAE,IAAI,CAAC,MAAM;YACvB,iBAAiB;SACpB,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,cAAc,CAAC,MAAM,EAAE,EAAE,cAAc,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC;YAClF,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;YACpC,MAAM,eAAe,GAAG,cAAc,CAAC,WAAW,EAAE;gBAChD,OAAO,EAAE,IAAI;gBACb,cAAc,EAAE,IAAI,CAAC,YAAY;gBACjC,UAAU,EAAE,IAAI,CAAC,MAAM;gBACvB,iBAAiB;aACpB,CAAC,CAAC;YACH,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,EAAE,eAAe,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC;gBACpF,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC5B,OAAO;YACX,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,kCAAkC,KAAK,CAAC,IAAI,YAAY,KAAK,CAAC,QAAQ,WAAW,EACjF,OAAO,CACV,CAAC;YAEF,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC;YACrC,0EAA0E;YAC1E,2EAA2E;YAC3E,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC3C,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBACnC,UAAU,CAAC,KAAK,CAAC,CAAC;gBACtB,CAAC;YACL,CAAC;YAED,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACtC,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC;YACnC,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,SAAS,GAAG,IAAI,CAAC;YAEjB,2EAA2E;YAC3E,uEAAuE;YACvE,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;YAChC,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC3C,IAAI,KAAK,CAAC,OAAO;oBAAE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAClE,CAAC;YAED,MAAM,YAAY,GAAG,WAAW,CAAC,UAAU,EAAE,CAAC;YAC9C,IAAI,CAAC,cAAc,GAAG;gBAClB,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,IAAI,GAAG,EAAE;gBACvE,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG,EAAE;gBACrE,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,IAAI,GAAG,EAAE;aAC1E,CAAC;YACF,IAAI,CAAC,aAAa,GAAG;gBACjB,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,EAAE;gBAC7D,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,EAAE;gBAC/D,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG,EAAE;aACtE,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,CAAC;YACD,IAAI,CAAC,UAAU,EAAE,CAAC;gBACd,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAClC,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,2BAA2B,QAAQ,IAAI,EAAE,OAAO,CAAC,CAAC;YAElE,IAAI,KAAK,CAAC,IAAI,GAAG,eAAe,CAAC,mBAAmB,EAAE,CAAC;gBACnD,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,mCAAmC,KAAK,CAAC,IAAI,2BAA2B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,EACnH,MAAM,CACT,CAAC;YACN,CAAC;QACL,CAAC;QAAC,OAAO,SAAc,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gDAAgD,SAAS,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;YAC9F,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC;YAChD,IAAI,CAAC,cAAc,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACnD,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAChC,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACH,+BAA+B,CAAC,UAA+B,EAAE;QAC7D,MAAM,MAAM,GAAG,0BAA0B,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3E,MAAM,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,KAAK,KAAK,CAAC;QAE1E,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,uBAAuB,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,CAAC;YAC9E,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,2CAA2C,MAAM,CAAC,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;YACrF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QAC3C,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;OAGG;IACH,sBAAsB,CAAC,MAAM,GAAG,WAAW;QACvC,IAAI,CAAC,+BAA+B,GAAG,MAAM,CAAC;IAClD,CAAC;IAED;;;OAGG;IACH,qBAAqB,CAAC,MAAM,GAAG,IAAI;QAC/B,IAAI,CAAC,IAAI,CAAC,+BAA+B;YAAE,OAAO;QAClD,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,+CAA+C,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAC7E,MAAM,CACT,CAAC;QACF,IAAI,CAAC,+BAA+B,GAAG,IAAI,CAAC;IAChD,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,WAAW,CAAC,cAAc;QAC5B,IAAI,IAAI,CAAC,+BAA+B,EAAE,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,iEAAiE,IAAI,CAAC,+BAA+B,EAAE,EACvG,MAAM,CACT,CAAC;YACF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,+BAA+B,EAAE,CAAC;QAC3G,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,+BAA+B,EAAE,CAAC;QAC1D,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,+DAA+D,UAAU,CAAC,MAAM,EAAE,EAClF,MAAM,CACT,CAAC;YACF,OAAO,UAAU,CAAC;QACtB,CAAC;QAED,MAAM,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;QAEpE,+DAA+D;QAC/D,8DAA8D;QAC9D,+DAA+D;QAC/D,gEAAgE;QAChE,2DAA2D;QAC3D,gEAAgE;QAChE,+CAA+C;QAC/C,IAAI,cAAc,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;YAC5D,IAAI,CAAC,eAAe,EAAE,CAAC;QAC3B,CAAC;QAED,OAAO,UAAU,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,UAAU;QACN,OAAO;YACH,GAAG,IAAI,CAAC,QAAQ;YAChB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;YAC7B,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;SAC1B,CAAC;IACN,CAAC;IAED,2BAA2B,CAAC,WAAW,EAAE,UAAU;QAC/C,OAAO,0BAA0B,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAC/D,CAAC;IAED,oBAAoB,CAAC,OAAO;QACxB,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,0BAA0B,CAAC,WAAW,EAAE,OAAO,GAAG,KAAK;QACnD,IAAI,iBAAiB,CAAC;QACtB,IAAI,CAAC;YACD,iBAAiB,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;QACxD,CAAC;QAAC,OAAO,YAAiB,EAAE,CAAC;YACzB,OAAO;gBACH,SAAS,EAAE,KAAK;gBAChB,MAAM,EAAE,YAAY,CAAC,OAAO;gBAC5B,KAAK,EAAE,OAAO;aACjB,CAAC;QACN,CAAC;QAED,OAAO,cAAc,CAAC,WAAW,EAAE;YAC/B,OAAO;YACP,cAAc,EAAE,IAAI,CAAC,YAAY;YACjC,UAAU,EAAE,IAAI,CAAC,MAAM;YACvB,iBAAiB;SACpB,CAAC,CAAC;IACP,CAAC;IAED,IAAI,eAAe;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;IAC3C,CAAC;IAED,IAAI,eAAe,CAAC,KAAK;QACrB,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,iBAAiB;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,gBAAgB,IAAI,IAAI,CAAC;IACzD,CAAC;IAED,IAAI,iBAAiB,CAAC,KAAK;QACvB,IAAI,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC;IACL,CAAC;IAED,IAAI,sBAAsB;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,qBAAqB,IAAI,IAAI,CAAC;IAC9D,CAAC;IAED,IAAI,sBAAsB,CAAC,KAAK;QAC5B,IAAI,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,MAAM,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC;IACL,CAAC;IAED,IAAI,cAAc;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;IAChC,CAAC;IAED,IAAI,cAAc,CAAC,KAAK;QACpB,MAAM,QAAQ,GAAG;YACb,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,CAAC;YAChB,QAAQ,EAAE,KAAK;YACf,aAAa,EAAE,CAAC;YAChB,yBAAyB,EAAE,KAAK;SACnC,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG;YACnB,GAAG,QAAQ;YACX,GAAG,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;SACvD,CAAC;IACN,CAAC;IAED,IAAI,eAAe;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;IACjC,CAAC;IAED,IAAI,eAAe,CAAC,KAAK;QACrB,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO;QAEhD,MAAM,WAAW,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,EAAE,CAAC;QACxD,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG;YACpB,GAAG,EAAE,EAAE,GAAG,WAAW,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE;YAC7C,IAAI,EAAE,EAAE,GAAG,WAAW,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE;SAClD,CAAC;IACN,CAAC;CAEJ;AAED,iBAAS,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../modules/order/manager.ts"],"names":[],"mappings":"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"}
@@ -60,7 +60,7 @@
60
60
  const { path } = require('../path_api');
61
61
  const { OrderManager } = require('./manager');
62
62
  const { PATHS } = require('../paths');
63
- const Grid = require('./grid');
63
+ const { initializeGrid } = require('./grid');
64
64
  const { readBotsFileSync } = require('../bots_file_lock');
65
65
  const { Config } = require('../config');
66
66
  const { parseJsonWithComments, sleep } = require('./utils/system');
@@ -124,7 +124,7 @@ async function runOrderManagerCalculation() {
124
124
  throw err;
125
125
  }
126
126
  const manager = new OrderManager(botConfig);
127
- await Grid.initializeGrid(manager);
127
+ await initializeGrid(manager);
128
128
  const cycles = Config.CALC_CYCLES;
129
129
  const delayMs = Config.CALC_DELAY_MS;
130
130
  for (let cycle = 1; cycle <= cycles; cycle++) {
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../modules/order/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../modules/order/runner.ts"],"names":[],"mappings":"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"}
@@ -57,7 +57,7 @@
57
57
  const { ORDER_TYPES, ORDER_STATES, PIPELINE_TIMING } = require("../constants");
58
58
  const { virtualizeOrder, hasOnChainId, isOrderPlaced } = require("./utils/order");
59
59
  const { floatToBlockchainInt, getPrecisionByOrderType } = require('./utils/math');
60
- const Grid = require('./grid');
60
+ const { calculateGapSlots, hasAnyDust } = require('./grid');
61
61
  class StrategyEngine {
62
62
  manager;
63
63
  _settledFeeEvents;
@@ -282,7 +282,7 @@ class StrategyEngine {
282
282
  if (allSlots.length === 0)
283
283
  return { targetGrid: new Map(), boundaryIdx: currentBoundaryIdx };
284
284
  // 1. Determine new boundary based on fills (Boundary Crawl)
285
- const gapSlots = Grid.calculateGapSlots(config.incrementPercent, config.targetSpreadPercent, config.gridLimits);
285
+ const gapSlots = calculateGapSlots(config.incrementPercent, config.targetSpreadPercent, config.gridLimits);
286
286
  const newBoundaryIdx = deriveTargetBoundary(fills, currentBoundaryIdx, allSlots, config, gapSlots);
287
287
  // 2. Assign Roles (Buy/Sell/Spread)
288
288
  const updatedSlots = assignGridRoles(allSlots, newBoundaryIdx, gapSlots, ORDER_TYPES, ORDER_STATES, { assignOnChain: true });
@@ -391,7 +391,7 @@ class StrategyEngine {
391
391
  */
392
392
  hasAnyDust(partials, side) {
393
393
  const mgr = this.manager;
394
- return Grid.hasAnyDust(mgr, partials, side);
394
+ return hasAnyDust(mgr, partials, side);
395
395
  }
396
396
  }
397
397
  module.exports = StrategyEngine;
@@ -1 +1 @@
1
- {"version":3,"file":"strategy.js","sourceRoot":"","sources":["../../../modules/order/strategy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"strategy.js","sourceRoot":"","sources":["../../../modules/order/strategy.ts"],"names":[],"mappings":"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"}