dexbot 1.4.24 → 1.5.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 (256) hide show
  1. package/CHANGELOG.md +67 -0
  2. package/README.md +7 -2
  3. package/analysis/README.md +61 -5
  4. package/analysis/ama_fitting/package.json +1 -1
  5. package/analysis/analyze_derivatives.ts +1 -1
  6. package/analysis/bot_key_utils.ts +272 -3
  7. package/analysis/bot_usage/discover_bot_accounts.ts +64 -9
  8. package/analysis/bot_usage/kibana_bot_queries.ts +40 -1
  9. package/analysis/chart_utils.ts +6 -3
  10. package/analysis/grid_correction_check.ts +932 -0
  11. package/analysis/resolve_bot_accounts.ts +199 -0
  12. package/analysis/trade_profitability.ts +36 -8
  13. package/analysis/tradingview/README.md +25 -0
  14. package/analysis/tradingview/analyze_tradingview.ts +2 -2
  15. package/analysis/trend_detection/package.json +1 -1
  16. package/claw/modules/claw_launcher.ts +5 -4
  17. package/claw/modules/credit_runtime_adapter.ts +2 -1
  18. package/claw/modules/dexbot_profiles.ts +4 -3
  19. package/claw/package.json +1 -1
  20. package/claw/runtimes/openclaw-plugin/openclaw.plugin.json +1 -1
  21. package/claw/runtimes/openclaw-plugin/package.json +1 -1
  22. package/claw/tests/test_claw_mcp_transport.ts +2 -2
  23. package/dist/analysis/analyze_derivatives.js +1 -1
  24. package/dist/analysis/bot_key_utils.d.ts +28 -1
  25. package/dist/analysis/bot_key_utils.d.ts.map +1 -1
  26. package/dist/analysis/bot_key_utils.js +385 -3
  27. package/dist/analysis/bot_key_utils.js.map +1 -1
  28. package/dist/analysis/bot_usage/discover_bot_accounts.js +60 -10
  29. package/dist/analysis/bot_usage/discover_bot_accounts.js.map +1 -1
  30. package/dist/analysis/bot_usage/kibana_bot_queries.d.ts +45 -1
  31. package/dist/analysis/bot_usage/kibana_bot_queries.d.ts.map +1 -1
  32. package/dist/analysis/bot_usage/kibana_bot_queries.js +39 -1
  33. package/dist/analysis/bot_usage/kibana_bot_queries.js.map +1 -1
  34. package/dist/analysis/chart_utils.d.ts +2 -1
  35. package/dist/analysis/chart_utils.d.ts.map +1 -1
  36. package/dist/analysis/chart_utils.js +4 -1
  37. package/dist/analysis/chart_utils.js.map +1 -1
  38. package/dist/analysis/grid_correction_check.d.ts +90 -0
  39. package/dist/analysis/grid_correction_check.d.ts.map +1 -0
  40. package/dist/analysis/grid_correction_check.js +901 -0
  41. package/dist/analysis/grid_correction_check.js.map +1 -0
  42. package/dist/analysis/resolve_bot_accounts.d.ts +3 -0
  43. package/dist/analysis/resolve_bot_accounts.d.ts.map +1 -0
  44. package/dist/analysis/resolve_bot_accounts.js +216 -0
  45. package/dist/analysis/resolve_bot_accounts.js.map +1 -0
  46. package/dist/analysis/trade_profitability.d.ts.map +1 -1
  47. package/dist/analysis/trade_profitability.js +40 -8
  48. package/dist/analysis/trade_profitability.js.map +1 -1
  49. package/dist/analysis/tradingview/analyze_tradingview.js +2 -2
  50. package/dist/analysis/tradingview/analyze_tradingview.js.map +1 -1
  51. package/dist/bot.d.ts.map +1 -1
  52. package/dist/bot.js +2 -1
  53. package/dist/bot.js.map +1 -1
  54. package/dist/dexbot.d.ts.map +1 -1
  55. package/dist/dexbot.js +134 -22
  56. package/dist/dexbot.js.map +1 -1
  57. package/dist/market_adapter/ama_signal_runner.js +2 -2
  58. package/dist/market_adapter/inputs/fetch_cex_synthetic_data.js +2 -1
  59. package/dist/market_adapter/inputs/fetch_cex_synthetic_data.js.map +1 -1
  60. package/dist/market_adapter/inputs/fetch_lp_data.d.ts +4 -1
  61. package/dist/market_adapter/inputs/fetch_lp_data.d.ts.map +1 -1
  62. package/dist/market_adapter/inputs/fetch_lp_data.js +3 -2
  63. package/dist/market_adapter/inputs/fetch_lp_data.js.map +1 -1
  64. package/dist/modules/account_bots.d.ts +42 -1
  65. package/dist/modules/account_bots.d.ts.map +1 -1
  66. package/dist/modules/account_bots.js +221 -22
  67. package/dist/modules/account_bots.js.map +1 -1
  68. package/dist/modules/account_orders.d.ts +7 -10
  69. package/dist/modules/account_orders.d.ts.map +1 -1
  70. package/dist/modules/account_orders.js +26 -2
  71. package/dist/modules/account_orders.js.map +1 -1
  72. package/dist/modules/bitshares_client.d.ts +4 -1
  73. package/dist/modules/bitshares_client.d.ts.map +1 -1
  74. package/dist/modules/bitshares_client.js +12 -4
  75. package/dist/modules/bitshares_client.js.map +1 -1
  76. package/dist/modules/bot_settings.d.ts.map +1 -1
  77. package/dist/modules/bot_settings.js +2 -1
  78. package/dist/modules/bot_settings.js.map +1 -1
  79. package/dist/modules/chain_orders.d.ts.map +1 -1
  80. package/dist/modules/chain_orders.js +21 -2
  81. package/dist/modules/chain_orders.js.map +1 -1
  82. package/dist/modules/cli_colors.d.ts +39 -0
  83. package/dist/modules/cli_colors.d.ts.map +1 -0
  84. package/dist/modules/cli_colors.js +42 -0
  85. package/dist/modules/cli_colors.js.map +1 -0
  86. package/dist/modules/config.d.ts.map +1 -1
  87. package/dist/modules/config.js +27 -0
  88. package/dist/modules/config.js.map +1 -1
  89. package/dist/modules/constants.d.ts +14 -1
  90. package/dist/modules/constants.d.ts.map +1 -1
  91. package/dist/modules/constants.js +66 -11
  92. package/dist/modules/constants.js.map +1 -1
  93. package/dist/modules/credit_pricing.d.ts +61 -0
  94. package/dist/modules/credit_pricing.d.ts.map +1 -0
  95. package/dist/modules/credit_pricing.js +237 -0
  96. package/dist/modules/credit_pricing.js.map +1 -0
  97. package/dist/modules/credit_runtime.d.ts +1 -0
  98. package/dist/modules/credit_runtime.d.ts.map +1 -1
  99. package/dist/modules/credit_runtime.js +49 -107
  100. package/dist/modules/credit_runtime.js.map +1 -1
  101. package/dist/modules/dexbot_class.d.ts +25 -0
  102. package/dist/modules/dexbot_class.d.ts.map +1 -1
  103. package/dist/modules/dexbot_class.js +82 -12
  104. package/dist/modules/dexbot_class.js.map +1 -1
  105. package/dist/modules/dexbot_cow_runtime.d.ts +39 -17
  106. package/dist/modules/dexbot_cow_runtime.d.ts.map +1 -1
  107. package/dist/modules/dexbot_cow_runtime.js +875 -134
  108. package/dist/modules/dexbot_cow_runtime.js.map +1 -1
  109. package/dist/modules/dexbot_fill_runtime.d.ts +11 -1
  110. package/dist/modules/dexbot_fill_runtime.d.ts.map +1 -1
  111. package/dist/modules/dexbot_fill_runtime.js +108 -1
  112. package/dist/modules/dexbot_fill_runtime.js.map +1 -1
  113. package/dist/modules/dexbot_maintenance_runtime.d.ts +29 -14
  114. package/dist/modules/dexbot_maintenance_runtime.d.ts.map +1 -1
  115. package/dist/modules/dexbot_maintenance_runtime.js +279 -63
  116. package/dist/modules/dexbot_maintenance_runtime.js.map +1 -1
  117. package/dist/modules/dexbot_startup_runtime.d.ts +1 -0
  118. package/dist/modules/dexbot_startup_runtime.d.ts.map +1 -1
  119. package/dist/modules/dexbot_startup_runtime.js +58 -7
  120. package/dist/modules/dexbot_startup_runtime.js.map +1 -1
  121. package/dist/modules/dexbot_state_recovery.d.ts.map +1 -1
  122. package/dist/modules/dexbot_state_recovery.js +55 -3
  123. package/dist/modules/dexbot_state_recovery.js.map +1 -1
  124. package/dist/modules/fund_registry.d.ts +1 -1
  125. package/dist/modules/fund_registry.js +1 -1
  126. package/dist/modules/graceful_shutdown.d.ts +12 -1
  127. package/dist/modules/graceful_shutdown.d.ts.map +1 -1
  128. package/dist/modules/graceful_shutdown.js +39 -1
  129. package/dist/modules/graceful_shutdown.js.map +1 -1
  130. package/dist/modules/key_store.d.ts.map +1 -1
  131. package/dist/modules/key_store.js +38 -1
  132. package/dist/modules/key_store.js.map +1 -1
  133. package/dist/modules/launcher/adapter_requirement.d.ts +38 -0
  134. package/dist/modules/launcher/adapter_requirement.d.ts.map +1 -0
  135. package/dist/modules/launcher/adapter_requirement.js +141 -0
  136. package/dist/modules/launcher/adapter_requirement.js.map +1 -0
  137. package/dist/modules/launcher/bot_supervisor.d.ts +2 -2
  138. package/dist/modules/launcher/bot_supervisor.d.ts.map +1 -1
  139. package/dist/modules/launcher/bot_supervisor.js +32 -3
  140. package/dist/modules/launcher/bot_supervisor.js.map +1 -1
  141. package/dist/modules/launcher/launch_modes.d.ts.map +1 -1
  142. package/dist/modules/launcher/launch_modes.js +5 -4
  143. package/dist/modules/launcher/launch_modes.js.map +1 -1
  144. package/dist/modules/launcher/monolithic_runtime.d.ts +1 -1
  145. package/dist/modules/launcher/monolithic_runtime.d.ts.map +1 -1
  146. package/dist/modules/launcher/monolithic_runtime.js +12 -8
  147. package/dist/modules/launcher/monolithic_runtime.js.map +1 -1
  148. package/dist/modules/launcher/status_reporting.d.ts +6 -6
  149. package/dist/modules/launcher/status_reporting.d.ts.map +1 -1
  150. package/dist/modules/launcher/status_reporting.js +9 -6
  151. package/dist/modules/launcher/status_reporting.js.map +1 -1
  152. package/dist/modules/order/accounting.d.ts.map +1 -1
  153. package/dist/modules/order/accounting.js +20 -3
  154. package/dist/modules/order/accounting.js.map +1 -1
  155. package/dist/modules/order/export.d.ts +1 -1
  156. package/dist/modules/order/export.js +1 -1
  157. package/dist/modules/order/grid.d.ts +1 -1
  158. package/dist/modules/order/grid.d.ts.map +1 -1
  159. package/dist/modules/order/grid.js +335 -43
  160. package/dist/modules/order/grid.js.map +1 -1
  161. package/dist/modules/order/grid_reconcile.d.ts +4 -2
  162. package/dist/modules/order/grid_reconcile.d.ts.map +1 -1
  163. package/dist/modules/order/grid_reconcile.js +242 -222
  164. package/dist/modules/order/grid_reconcile.js.map +1 -1
  165. package/dist/modules/order/grid_reconcile_internal.d.ts +11 -1
  166. package/dist/modules/order/grid_reconcile_internal.d.ts.map +1 -1
  167. package/dist/modules/order/grid_reconcile_internal.js +132 -6
  168. package/dist/modules/order/grid_reconcile_internal.js.map +1 -1
  169. package/dist/modules/order/logger.d.ts +23 -1
  170. package/dist/modules/order/logger.d.ts.map +1 -1
  171. package/dist/modules/order/logger.js +60 -17
  172. package/dist/modules/order/logger.js.map +1 -1
  173. package/dist/modules/order/manager.d.ts +68 -14
  174. package/dist/modules/order/manager.d.ts.map +1 -1
  175. package/dist/modules/order/manager.js +281 -52
  176. package/dist/modules/order/manager.js.map +1 -1
  177. package/dist/modules/order/strategy.d.ts.map +1 -1
  178. package/dist/modules/order/strategy.js +25 -8
  179. package/dist/modules/order/strategy.js.map +1 -1
  180. package/dist/modules/order/sync_engine.d.ts.map +1 -1
  181. package/dist/modules/order/sync_engine.js +262 -167
  182. package/dist/modules/order/sync_engine.js.map +1 -1
  183. package/dist/modules/order/utils/math.d.ts +47 -5
  184. package/dist/modules/order/utils/math.d.ts.map +1 -1
  185. package/dist/modules/order/utils/math.js +175 -11
  186. package/dist/modules/order/utils/math.js.map +1 -1
  187. package/dist/modules/order/utils/order.d.ts +16 -15
  188. package/dist/modules/order/utils/order.d.ts.map +1 -1
  189. package/dist/modules/order/utils/order.js +199 -32
  190. package/dist/modules/order/utils/order.js.map +1 -1
  191. package/dist/modules/order/utils/slot.d.ts +8 -0
  192. package/dist/modules/order/utils/slot.d.ts.map +1 -0
  193. package/dist/modules/order/utils/slot.js +16 -0
  194. package/dist/modules/order/utils/slot.js.map +1 -0
  195. package/dist/modules/order/utils/system.d.ts +52 -4
  196. package/dist/modules/order/utils/system.d.ts.map +1 -1
  197. package/dist/modules/order/utils/system.js +109 -16
  198. package/dist/modules/order/utils/system.js.map +1 -1
  199. package/dist/modules/order/utils/validate.d.ts +6 -9
  200. package/dist/modules/order/utils/validate.d.ts.map +1 -1
  201. package/dist/modules/order/utils/validate.js +107 -85
  202. package/dist/modules/order/utils/validate.js.map +1 -1
  203. package/dist/modules/order/working_grid.d.ts +5 -0
  204. package/dist/modules/order/working_grid.d.ts.map +1 -1
  205. package/dist/modules/order/working_grid.js +21 -0
  206. package/dist/modules/order/working_grid.js.map +1 -1
  207. package/dist/modules/paths.d.ts +4 -2
  208. package/dist/modules/paths.d.ts.map +1 -1
  209. package/dist/modules/paths.js +79 -24
  210. package/dist/modules/paths.js.map +1 -1
  211. package/dist/modules/utils/chain_logs.d.ts +11 -0
  212. package/dist/modules/utils/chain_logs.d.ts.map +1 -0
  213. package/dist/modules/utils/chain_logs.js +23 -0
  214. package/dist/modules/utils/chain_logs.js.map +1 -0
  215. package/dist/modules/utils/sanitize_key.d.ts +7 -0
  216. package/dist/modules/utils/sanitize_key.d.ts.map +1 -1
  217. package/dist/modules/utils/sanitize_key.js +15 -0
  218. package/dist/modules/utils/sanitize_key.js.map +1 -1
  219. package/dist/pm2.d.ts +11 -1
  220. package/dist/pm2.d.ts.map +1 -1
  221. package/dist/pm2.js +66 -15
  222. package/dist/pm2.js.map +1 -1
  223. package/dist/scripts/analyze-credit.d.ts +4 -0
  224. package/dist/scripts/analyze-credit.d.ts.map +1 -0
  225. package/dist/scripts/analyze-credit.js +760 -0
  226. package/dist/scripts/analyze-credit.js.map +1 -0
  227. package/dist/scripts/analyze-orders.d.ts +1 -10
  228. package/dist/scripts/analyze-orders.d.ts.map +1 -1
  229. package/dist/scripts/analyze-orders.js +34 -36
  230. package/dist/scripts/analyze-orders.js.map +1 -1
  231. package/dist/scripts/generate_market_adapter_whitelist.d.ts +2 -5
  232. package/dist/scripts/generate_market_adapter_whitelist.d.ts.map +1 -1
  233. package/dist/scripts/generate_market_adapter_whitelist.js +83 -1
  234. package/dist/scripts/generate_market_adapter_whitelist.js.map +1 -1
  235. package/dist/scripts/test-credit-renewal.d.ts.map +1 -1
  236. package/dist/scripts/test-credit-renewal.js +37 -5
  237. package/dist/scripts/test-credit-renewal.js.map +1 -1
  238. package/dist/scripts/tv.d.ts +11 -0
  239. package/dist/scripts/tv.d.ts.map +1 -0
  240. package/dist/scripts/tv.js +357 -0
  241. package/dist/scripts/tv.js.map +1 -0
  242. package/dist/scripts/update.js +77 -10
  243. package/dist/scripts/update.js.map +1 -1
  244. package/dist/unlock.d.ts.map +1 -1
  245. package/dist/unlock.js +20 -8
  246. package/dist/unlock.js.map +1 -1
  247. package/docs/DEXBOT_COMPARISON.md +11 -11
  248. package/docs/EVOLUTION.md +10 -8
  249. package/docs/FUND_MOVEMENT_AND_ACCOUNTING.md +1 -1
  250. package/docs/GRID_RECALCULATION.md +6 -0
  251. package/docs/MPA_CREDIT_USAGE.md +3 -1
  252. package/docs/README.md +2 -2
  253. package/docs/WORKFLOW.md +3 -1
  254. package/market_adapter/README.md +10 -0
  255. package/package.json +3 -1
  256. package/scripts/README.md +16 -0
@@ -84,8 +84,9 @@
84
84
  */
85
85
  import { path } from './path_api.js';
86
86
  import { getStorage } from './storage/index.js';
87
- import { ensureProfilesDirectory, readInput } from './order/utils/system.js';
88
- import { DEFAULT_CONFIG, GRID_LIMITS, TIMING, LOG_LEVEL, UPDATER, MARKET_ADAPTER, NODE_MANAGEMENT, FILL_PROCESSING, PIPELINE_TIMING, CREDENTIAL_PROMPTS, MAINTENANCE, COW_PERFORMANCE, INCREMENT_BOUNDS, FEE_PARAMETERS, API_LIMITS, LOGGING_CONFIG, NATIVE_CLIENT, LAUNCHER } from './constants.js';
87
+ import { ensureProfilesDirectory, readInput, sleep } from './order/utils/system.js';
88
+ import { setGlobalConsoleLevel, getGlobalConsoleLevel } from './order/logger.js';
89
+ import { DEFAULT_CONFIG, GRID_LIMITS, TIMING, RANGE_QUALITY, LOG_LEVEL, UPDATER, MARKET_ADAPTER, NODE_MANAGEMENT, FILL_PROCESSING, PIPELINE_TIMING, CREDENTIAL_PROMPTS, MAINTENANCE, COW_PERFORMANCE, INCREMENT_BOUNDS, FEE_PARAMETERS, API_LIMITS, LOGGING_CONFIG, NATIVE_CLIENT, LAUNCHER } from './constants.js';
89
90
  import { PATHS } from './paths.js';
90
91
  import { SETTINGS_FILE, readGeneralSettings, writeGeneralSettings } from './general_settings.js';
91
92
  import { parseJsonWithComments } from './order/utils/system.js';
@@ -93,24 +94,27 @@ import { assertNoDuplicateBotKeys, loadSettingsFile } from './bot_settings.js';
93
94
  import { mergeSettings } from './settings_merge.js';
94
95
  import { getErrorMessage } from './utils/errors.js';
95
96
  import { roundToDecimals, parseRelativeMultiplier } from './order/utils/math.js';
97
+ import { CLI_COLORS } from './cli_colors.js';
96
98
  const storage = getStorage();
97
99
  const { writeJSON } = storage;
98
100
  const BOTS_FILE = PATHS.PROFILES.BOTS_JSON;
99
101
  const PROFILES_DIR = PATHS.PROFILES_DIR;
102
+ // Editor palette: values come from the centralized CLI_COLORS module
103
+ // (rendered output unchanged).
100
104
  const COLORS = {
101
- reset: '\x1b[0m',
102
- bold: '\x1b[1m',
103
- white: '\x1b[97m',
104
- gray: '\x1b[38;5;250m',
105
- blue: '\x1b[38;5;39m',
106
- cyan: '\x1b[38;5;45m',
107
- orange: '\x1b[38;5;208m',
108
- yellow: '\x1b[33m',
109
- yellowBold: '\x1b[1;33m',
110
- green: '\x1b[92m',
111
- greenBold: '\x1b[1;32m',
112
- red: '\x1b[1;31m',
113
- redStrong: '\x1b[38;5;196m'
105
+ reset: CLI_COLORS.reset,
106
+ bold: CLI_COLORS.bold,
107
+ white: CLI_COLORS.white,
108
+ gray: CLI_COLORS.silver,
109
+ blue: CLI_COLORS.blue,
110
+ cyan: CLI_COLORS.sky,
111
+ orange: CLI_COLORS.orange,
112
+ yellow: CLI_COLORS.yellow,
113
+ yellowBold: CLI_COLORS.yellowBold,
114
+ green: CLI_COLORS.buy,
115
+ greenBold: CLI_COLORS.greenBold,
116
+ red: CLI_COLORS.boldRed,
117
+ redStrong: CLI_COLORS.redStrong
114
118
  };
115
119
  /**
116
120
  * Loads the bots configuration from profiles/bots.json.
@@ -390,7 +394,7 @@ async function askAssetB(promptText, defaultValue, assetA) {
390
394
  async function askWeightDistribution(promptText, defaultValue) {
391
395
  const MIN_WEIGHT = -1;
392
396
  const MAX_WEIGHT = 2;
393
- console.log(` ${COLORS.cyan}-1=SuperValley${COLORS.reset} ←→ ${COLORS.blue}0=Valley${COLORS.reset} ←→ ${COLORS.gray}0.5=Neutral${COLORS.reset} ←→ ${COLORS.orange}1=Mountain${COLORS.reset} ←→ ${COLORS.redStrong}2=SuperMountain${COLORS.reset}`);
397
+ console.log(` ${COLORS.cyan}-1=SuperValley${COLORS.reset} ←→ ${COLORS.blue}0=Valley${COLORS.reset} ←→ ${COLORS.gray}0.5=Neutral${COLORS.reset} ←→ ${COLORS.bold}${COLORS.orange}1=Mountain${COLORS.reset} ←→ ${COLORS.redStrong}2=SuperMountain${COLORS.reset}`);
394
398
  const suffix = defaultValue !== undefined && defaultValue !== null ? ` [${defaultValue}]` : '';
395
399
  const raw = (await readInput(`${promptText}${suffix}: `)).trim();
396
400
  if (raw === '\x1b')
@@ -494,7 +498,51 @@ function colorPercentageInput(value) {
494
498
  * @returns {string} ANSI-colored value string.
495
499
  */
496
500
  function colorPriceRangeValue(value) {
497
- return colorMultiplierInput(String(value));
501
+ return colorRangeValueByQuality(String(value));
502
+ }
503
+ /**
504
+ * Returns quality tier for a range multiplier: green/yellow/orange/red/fixed.
505
+ * Uses RANGE_QUALITY thresholds: green ≥2.0x, yellow ≥1.55x, orange 1.45x–1.55x, red <1.45x.
506
+ * @param {*} value - Raw range value (e.g. "2x" or numeric).
507
+ * @returns {string} Tier key.
508
+ */
509
+ function getRangeQuality(value) {
510
+ const m = parseRelativeMultiplier(value);
511
+ if (m === null)
512
+ return 'fixed';
513
+ if (m >= RANGE_QUALITY.GREEN_MIN)
514
+ return 'green';
515
+ if (m >= RANGE_QUALITY.YELLOW_MIN)
516
+ return 'yellow';
517
+ if (m < RANGE_QUALITY.RED_MAX)
518
+ return 'red';
519
+ if (m >= RANGE_QUALITY.ORANGE_MIN)
520
+ return 'orange';
521
+ return 'orange';
522
+ }
523
+ /**
524
+ * Colors a range value by quality tier (mountain-style legend):
525
+ * ≥2.0x green wide, ≥1.55x yellow effeciant, ≥1.45x orange tight, <1.45x red suizidal, fixed → red.
526
+ * @param {string} value - Raw value string.
527
+ * @returns {string} ANSI-colored value.
528
+ */
529
+ function colorRangeValueByQuality(value) {
530
+ // retain colorMultiplierInput for fixed-value fallback compatibility
531
+ void colorMultiplierInput;
532
+ const tier = getRangeQuality(value);
533
+ if (tier === 'green')
534
+ return `${COLORS.green}${value}${COLORS.reset}`;
535
+ if (tier === 'yellow')
536
+ return `${COLORS.yellowBold}${value}${COLORS.reset}`;
537
+ if (tier === 'orange')
538
+ return `${COLORS.orange}${value}${COLORS.reset}`;
539
+ return `${COLORS.red}${value}${COLORS.reset}`;
540
+ }
541
+ /**
542
+ * Prints pre-entry legend for Range inputs (mirrors weight mountain legend).
543
+ */
544
+ function printRangeQualityLegend() {
545
+ console.log(` ${COLORS.green}≥2.0x: wide${COLORS.reset} ←→ ${COLORS.yellowBold}≥1.55x: effeciant${COLORS.reset} ←→ ${COLORS.orange}≥1.45x: tight${COLORS.reset} ←→ ${COLORS.red}<1.45x: suizidal${COLORS.reset}`);
498
546
  }
499
547
  /**
500
548
  * Checks if a value is a dynamic price source ("pool", "book", or an AMA
@@ -710,8 +758,11 @@ async function askIntegerInRange(promptText, defaultValue, minVal = 0, maxVal =
710
758
  * @returns {Promise<number|string>} The value or '\x1b' if ESC.
711
759
  */
712
760
  async function askNumberOrMultiplier(promptText, defaultValue) {
761
+ // Pre-entry legend for Range bounds (mirrors weight mountain legend)
762
+ if (/^(minPrice|maxPrice)/i.test(promptText))
763
+ printRangeQualityLegend();
713
764
  const suffix = defaultValue !== undefined && defaultValue !== null ? ` [${colorPriceRangeValue(defaultValue)}]` : '';
714
- const raw = (await readInput(`${promptText}${suffix}: `, { colorize: (input) => colorMultiplierInput(input) })).trim();
765
+ const raw = (await readInput(`${promptText}${suffix}: `, { colorize: (input) => colorRangeValueByQuality(input) })).trim();
715
766
  if (raw === '\x1b')
716
767
  return '\x1b';
717
768
  if (raw === '')
@@ -754,8 +805,9 @@ async function askNumberOrMultiplier(promptText, defaultValue) {
754
805
  * @returns {Promise<number|string>} The value or '\x1b' if ESC.
755
806
  */
756
807
  async function askMaxPrice(promptText, defaultValue, minPrice) {
808
+ printRangeQualityLegend();
757
809
  const suffix = defaultValue !== undefined && defaultValue !== null ? ` [${colorPriceRangeValue(defaultValue)}]` : '';
758
- const raw = (await readInput(`${promptText}${suffix}: `, { colorize: (input) => colorMultiplierInput(input) })).trim();
810
+ const raw = (await readInput(`${promptText}${suffix}: `, { colorize: (input) => colorRangeValueByQuality(input) })).trim();
759
811
  if (raw === '\x1b')
760
812
  return '\x1b';
761
813
  if (raw === '')
@@ -982,6 +1034,124 @@ function normalizeBotDraft(base = {}) {
982
1034
  delete data.gridPriceOffsetClampToBounds;
983
1035
  return data;
984
1036
  }
1037
+ /**
1038
+ * Resolve data.preferredAccount to a chain account ID and stamp data.accountId
1039
+ * (persisted to profiles/bots.json on save). A typed 1.2.x ID is stored
1040
+ * directly; a name is resolved via chain lookup (lazy import so the config
1041
+ * editor never drags in the chain stack at module load). Fail-soft: when the
1042
+ * lookup fails or times out (offline), accountId is left unset with a warning
1043
+ * and analysis tools backfill it on their next successful lookup.
1044
+ *
1045
+ * CONTRACT: a cached accountId is only trusted when it was stored for the
1046
+ * current preferredAccount value. Callers that change preferredAccount MUST
1047
+ * either delete data.accountId first or pass force=true; otherwise a stale
1048
+ * ID is returned as 'cached' without verification.
1049
+ *
1050
+ * Side effects are contained: chain INFO/WARN spam is suppressed for the
1051
+ * duration of the lookup (setSuppressConnectionLog + the Logger global
1052
+ * console floor, both restored in `finally`), and the shared client is
1053
+ * disconnected afterwards so the configurator never holds a socket open
1054
+ * longer than needed (`dexbot bot` additionally disconnects and exits).
1055
+ * Residual edge: if our timeout abandons a still-in-flight connect sweep,
1056
+ * the stack's own total-timeout guard settles it later; the next lookup's
1057
+ * `finally` disconnects any socket it left behind.
1058
+ *
1059
+ * @warning Disconnects the SHARED chain client in `finally`. Call ONLY from
1060
+ * short-lived flows (bot configurator, one-shot scripts) that own no live
1061
+ * connection. NEVER from a long-running process (bot runtime, daemon,
1062
+ * concurrent worker) — it would drop the socket out from under the runtime.
1063
+ * @param {Object} data - Bot draft being edited.
1064
+ * @param {number} [timeoutMs=15000] - Max ms to wait for the chain lookup.
1065
+ * @param {boolean} [quiet=false] - Suppress console output.
1066
+ * @param {boolean} [force=false] - Ignore a cached accountId and re-resolve.
1067
+ * @returns {Promise<{id: string|null, reason: string}>} reason is one of
1068
+ * 'invalid' (no usable preferredAccount), 'id' (typed 1.2.x ID, stamped
1069
+ * directly), 'cached' (previously verified ID reused, no chain hit),
1070
+ * 'resolved' (fresh chain lookup succeeded), 'not-found' (chain answered,
1071
+ * no such account), 'timeout' (nodes unreachable within timeoutMs),
1072
+ * 'error' (import/lookup threw).
1073
+ */
1074
+ async function ensureBotAccountId(data, timeoutMs = 15000, quiet = false, force = false) {
1075
+ if (!data || typeof data !== 'object')
1076
+ return { id: null, reason: 'invalid' };
1077
+ const ref = String(data.preferredAccount ?? '').trim();
1078
+ if (!ref)
1079
+ return { id: null, reason: 'invalid' };
1080
+ if (/^1\.2\.\d+$/.test(ref)) {
1081
+ if (data.accountId !== ref)
1082
+ data.accountId = ref;
1083
+ return { id: ref, reason: 'id' };
1084
+ }
1085
+ if (!force && data.accountId && /^1\.2\.\d+$/.test(String(data.accountId))) {
1086
+ return { id: String(data.accountId), reason: 'cached' };
1087
+ }
1088
+ let chainClient = null;
1089
+ let prevSuppress = false;
1090
+ let prevGlobalLevel = null;
1091
+ let suppressionArmed = false;
1092
+ try {
1093
+ chainClient = await import('./bitshares_client.js');
1094
+ prevSuppress = chainClient.isSuppressConnectionLog();
1095
+ prevGlobalLevel = getGlobalConsoleLevel();
1096
+ suppressionArmed = true;
1097
+ chainClient.setSuppressConnectionLog(true);
1098
+ setGlobalConsoleLevel('warn');
1099
+ const chainOrders = await import('./chain_orders.js');
1100
+ const timeoutErr = new Error(`account lookup timed out after ${timeoutMs}ms`);
1101
+ timeoutErr.code = 'ACCOUNT_LOOKUP_TIMEOUT';
1102
+ let id = null;
1103
+ try {
1104
+ id = await Promise.race([
1105
+ chainOrders.resolveAccountId(ref),
1106
+ sleep(timeoutMs).then(() => { throw timeoutErr; }),
1107
+ ]);
1108
+ }
1109
+ catch (err) {
1110
+ const reason = err && err.code === 'ACCOUNT_LOOKUP_TIMEOUT' ? 'timeout' : 'error';
1111
+ if (!quiet) {
1112
+ const hint = reason === 'timeout'
1113
+ ? `nodes unreachable (timed out after ${timeoutMs}ms). Continuing without accountId — it will be stored automatically once a lookup succeeds.`
1114
+ : `(${getErrorMessage(err)}). Continuing without accountId — it will be stored automatically once a lookup succeeds.`;
1115
+ console.log(` ${COLORS.yellow}Could not resolve account '${ref}' to 1.2.x ${hint}${COLORS.reset}`);
1116
+ }
1117
+ return { id: null, reason };
1118
+ }
1119
+ if (id && /^1\.2\.\d+$/.test(String(id))) {
1120
+ data.accountId = String(id);
1121
+ if (!quiet)
1122
+ console.log(` ${COLORS.green}Resolved account '${ref}' → ${id} (stored as accountId).${COLORS.reset}`);
1123
+ return { id: String(id), reason: 'resolved' };
1124
+ }
1125
+ if (!quiet)
1126
+ console.log(` ${COLORS.yellow}Account '${ref}' not found on the blockchain. Continuing without accountId — fix the name and it will be stored automatically once a lookup succeeds.${COLORS.reset}`);
1127
+ return { id: null, reason: 'not-found' };
1128
+ }
1129
+ catch (err) {
1130
+ if (!quiet)
1131
+ console.log(` ${COLORS.yellow}Could not resolve account '${ref}' to 1.2.x (${getErrorMessage(err)}). Continuing without accountId — it will be stored automatically once a lookup succeeds.${COLORS.reset}`);
1132
+ return { id: null, reason: 'error' };
1133
+ }
1134
+ finally {
1135
+ if (chainClient) {
1136
+ try {
1137
+ await chainClient.disconnectClient();
1138
+ }
1139
+ catch (_) { /* best-effort cleanup */ }
1140
+ if (suppressionArmed) {
1141
+ try {
1142
+ chainClient.setSuppressConnectionLog(prevSuppress);
1143
+ }
1144
+ catch (_) { /* restore-only */ }
1145
+ }
1146
+ }
1147
+ if (suppressionArmed) {
1148
+ try {
1149
+ setGlobalConsoleLevel(prevGlobalLevel);
1150
+ }
1151
+ catch (_) { /* restore-only */ }
1152
+ }
1153
+ }
1154
+ }
985
1155
  /**
986
1156
  * Interactive menu to edit bot data.
987
1157
  * @param {Object} [base={}] - The initial bot data to edit.
@@ -995,7 +1165,7 @@ async function promptBotData(base = {}) {
995
1165
  while (!finished) {
996
1166
  if (showMenu) {
997
1167
  console.log(`\n${COLORS.bold}--- Bot Editor: ` + (data.name || 'New Bot') + ` ---${COLORS.reset}`);
998
- console.log(`${COLORS.yellowBold}1) Pair:${COLORS.reset} ${COLORS.red}${data.assetA || '?'} / ${data.assetB || '?'} ${COLORS.reset}`);
1168
+ console.log(`${COLORS.yellowBold}1) Pair:${COLORS.reset} ${COLORS.cyan}${data.assetA || '?'} / ${data.assetB || '?'}${COLORS.reset}`);
999
1169
  console.log(`${COLORS.yellowBold}2) Identity:${COLORS.reset} ${COLORS.orange}Name:${COLORS.reset} ${data.name || '?'} , ${COLORS.orange}Account:${COLORS.reset} ${data.preferredAccount || '?'} , ${COLORS.orange}Active:${COLORS.reset} ${colorBooleanFlag(data.active, true)}, ${COLORS.orange}DryRun:${COLORS.reset} ${colorBooleanFlag(data.dryRun, false)}`);
1000
1170
  console.log(`${COLORS.yellowBold}3) Price:${COLORS.reset} ${COLORS.orange}Range:${COLORS.reset} [${colorPriceRangeValue(data.minPrice)} - ${colorPriceRangeValue(data.maxPrice)}], ${COLORS.orange}Start:${COLORS.reset} ${colorStartPriceValue(data.startPrice)}, ${COLORS.orange}Pool:${COLORS.reset} ${data.poolRef || 'none'}, ${COLORS.orange}GridPrice:${COLORS.reset} ${colorGridPriceValue(data.gridPrice, data.startPrice)}`);
1001
1171
  console.log(`${COLORS.yellowBold}4) Grid:${COLORS.reset} ${COLORS.orange}Weights:${COLORS.reset} (S:${data.weightDistribution.sell}, B:${data.weightDistribution.buy}), ${COLORS.orange}Incr:${COLORS.reset} ${data.incrementPercent}%, ${COLORS.orange}Spread:${COLORS.reset} ${data.targetSpreadPercent}%`);
@@ -1029,9 +1199,35 @@ async function promptBotData(base = {}) {
1029
1199
  const name = await askRequiredString('Bot name', data.name);
1030
1200
  if (name === '\x1b')
1031
1201
  break;
1032
- const prefAcc = await askRequiredString('Preferred account', data.preferredAccount);
1202
+ let prefAcc = await askRequiredString('Preferred account', data.preferredAccount);
1033
1203
  if (prefAcc === '\x1b')
1034
1204
  break;
1205
+ // Verify the account exists on the blockchain and stamp its ID.
1206
+ // Re-prompt while verification fails. A 'timeout' means the
1207
+ // nodes were unreachable (indistinguishable from a bad name
1208
+ // while offline); anything else means the name is unknown.
1209
+ {
1210
+ const draft = { ...data, preferredAccount: prefAcc };
1211
+ for (;;) {
1212
+ const checked = await ensureBotAccountId(draft, 15000, true, true);
1213
+ if (checked.id)
1214
+ break;
1215
+ const why = checked.reason === 'timeout'
1216
+ ? `nodes unreachable (lookup timed out). Check your connection and try again, or press Esc to cancel.`
1217
+ : `account '${draft.preferredAccount}' not found on the blockchain. Check the name and try again, or press Esc to cancel.`;
1218
+ console.log(`${COLORS.red}Error: ${why}${COLORS.reset}`);
1219
+ const retry = await askRequiredString('Preferred account', String(draft.preferredAccount ?? ''));
1220
+ if (retry === '\x1b') {
1221
+ prefAcc = retry;
1222
+ break;
1223
+ }
1224
+ draft.preferredAccount = retry;
1225
+ }
1226
+ if (prefAcc === '\x1b')
1227
+ break;
1228
+ prefAcc = String(draft.preferredAccount);
1229
+ data.accountId = draft.accountId;
1230
+ }
1035
1231
  const active = await askBoolean('Active', data.active);
1036
1232
  if (active === '\x1b')
1037
1233
  break;
@@ -1125,6 +1321,9 @@ async function promptBotData(base = {}) {
1125
1321
  break;
1126
1322
  }
1127
1323
  }
1324
+ // Stamp accountId when possible (fail-soft when offline); the
1325
+ // Identity section above already hard-verifies the name on entry.
1326
+ await ensureBotAccountId(data);
1128
1327
  finished = true;
1129
1328
  break;
1130
1329
  case 'c':
@@ -1402,5 +1601,5 @@ async function main() {
1402
1601
  }
1403
1602
  console.log('Botmanager closed!');
1404
1603
  }
1405
- export { main, normalizeBotDraft, parseJsonWithComments, parseCronToDelta, deltaToCron };
1604
+ export { main, normalizeBotDraft, ensureBotAccountId, parseJsonWithComments, parseCronToDelta, deltaToCron };
1406
1605
  //# sourceMappingURL=account_bots.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"account_bots.js","sourceRoot":"","sources":["../../modules/account_bots.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"account_bots.js","sourceRoot":"","sources":["../../modules/account_bots.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmFG;AAGH,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,kBAAkB,EAAE,WAAW,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACpT,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACjG,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;AAC7B,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;AAG9B,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;AAC3C,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;AACxC,qEAAqE;AACrE,+BAA+B;AAC/B,MAAM,MAAM,GAAG;IACX,KAAK,EAAE,UAAU,CAAC,KAAK;IACvB,IAAI,EAAE,UAAU,CAAC,IAAI;IACrB,KAAK,EAAE,UAAU,CAAC,KAAK;IACvB,IAAI,EAAE,UAAU,CAAC,MAAM;IACvB,IAAI,EAAE,UAAU,CAAC,IAAI;IACrB,IAAI,EAAE,UAAU,CAAC,GAAG;IACpB,MAAM,EAAE,UAAU,CAAC,MAAM;IACzB,MAAM,EAAE,UAAU,CAAC,MAAM;IACzB,UAAU,EAAE,UAAU,CAAC,UAAU;IACjC,KAAK,EAAE,UAAU,CAAC,GAAG;IACrB,SAAS,EAAE,UAAU,CAAC,SAAS;IAC/B,GAAG,EAAE,UAAU,CAAC,OAAO;IACvB,SAAS,EAAE,UAAU,CAAC,SAAS;CAClC,CAAC;AAEF;;;GAGG;AACH,SAAS,cAAc;IACnB,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/F,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC;IACrF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;QAAE,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;IAClD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAChC,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc,CAAC,MAAW,EAAE,QAAgB;IACjD,IAAI,CAAC;QACD,uBAAuB,CAAC,YAAY,CAAC,CAAC;QACtC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAChG,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC;YAAE,wBAAwB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAC3E,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1E,MAAM,GAAG,CAAC;IACd,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,SAAS,mBAAmB;IACxB,MAAM,QAAQ,GAAG;QACb,SAAS,EAAE,SAAS;QACpB,WAAW,EAAE,EAAE,GAAG,WAAW,EAAE,eAAe,EAAE,EAAE,GAAG,WAAW,CAAC,eAAe,EAAE,EAAE;QACpF,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE;QACrB,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE;QACvB,cAAc,EAAE,EAAE,GAAG,cAAc,EAAE;QACrC,eAAe,EAAE,EAAE,GAAG,eAAe,EAAE;QACvC,cAAc,EAAE,EAAE,GAAG,cAAc,EAAE;QACrC,eAAe,EAAE,EAAE,GAAG,eAAe,EAAE;QACvC,eAAe,EAAE,EAAE,GAAG,eAAe,EAAE;QACvC,kBAAkB,EAAE,EAAE,GAAG,kBAAkB,EAAE;QAC7C,WAAW,EAAE,EAAE,GAAG,WAAW,EAAE;QAC/B,eAAe,EAAE,EAAE,GAAG,eAAe,EAAE;QACvC,gBAAgB,EAAE,EAAE,GAAG,gBAAgB,EAAE;QACzC,cAAc,EAAE,EAAE,GAAG,cAAc,EAAE;QACrC,UAAU,EAAE,EAAE,GAAG,UAAU,EAAE;QAC7B,cAAc,EAAE,EAAE,GAAG,cAAc,EAAE;QACrC,aAAa,EAAE,EAAE,GAAG,aAAa,EAAE;QACnC,QAAQ,EAAE,EAAE,GAAG,QAAQ,EAAE;KAC5B,CAAC;IAEF,MAAM,QAAQ,GAAG,mBAAmB,CAAC;QACjC,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,CAAC,GAAQ,EAAE,EAAE;YAClB,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5E,CAAC;KACJ,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAEjD,4DAA4D;IAC5D,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,2BAA2B,CAAC,CAAC;IACzF,MAAM,qBAAqB,GAAG,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,sBAAsB,GAAG,CAAC;QAC/F,CAAC,CAAC,sBAAsB;QACxB,CAAC,CAAC,cAAc,CAAC,2BAA2B,CAAC;IACjD,MAAM,CAAC,cAAc,CAAC,2BAA2B,GAAG,qBAAqB,CAAC;IAE1E,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,SAAS,mBAAmB,CAAC,QAAa;IACtC,IAAI,CAAC;QACD,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,iCAAiC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACjF,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5E,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAS,QAAQ,CAAC,IAAW;IACzB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAC9C,OAAO;IACX,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,CAAC,GAAQ,EAAE,KAAa,EAAE,EAAE;QACrC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,YAAY,KAAK,GAAG,CAAC,GAAG,CAAC;QAClD,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,KAAK,IAAI,GAAG,cAAc,GAAG,YAAY,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC;IACvH,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,cAAc,CAAC,IAAW,EAAE,aAAqB;IAC5D,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,CAAC;IACf,MAAM,GAAG,GAAG,CAAC,MAAM,SAAS,CAAC,GAAG,aAAa,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9E,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IAClC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACxB,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACpD,IAAI,GAAG,KAAK,EAAE;YAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,GAAG,GAAG,CAAC,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,SAAS,CAAC,UAAkB,EAAE,YAAkB;IAC3D,MAAM,MAAM,GAAG,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/F,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,GAAG,UAAU,GAAG,MAAM,IAAI,CAAC,CAAC;IAC3D,IAAI,MAAM,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IACrC,IAAI,CAAC,MAAM;QAAE,OAAO,YAAY,CAAC;IACjC,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,iBAAiB,CAAC,UAAkB,EAAE,YAAkB;IACnE,OAAO,IAAI,EAAE,CAAC;QACV,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QACxD,IAAI,KAAK,KAAK,MAAM;YAAE,OAAO,MAAM,CAAC;QACpC,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE;YAAE,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IAC3C,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,eAAe,CAAC,WAAmB,EAAE,YAAoB;IACpE,MAAM,OAAO,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAE/C,kBAAkB;IAClB,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAC,mBAAmB,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACjF,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IAEnC,cAAc;IACd,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IACxB,OAAO,IAAI,EAAE,CAAC;QACV,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAChE,IAAI,OAAO,KAAK,MAAM;YAAE,OAAO,MAAM,CAAC;QACtC,IAAI,6BAA6B,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9C,IAAI,GAAG,OAAO,CAAC;YACf,MAAM;QACV,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACnC,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,gBAAgB,CAAC,UAAkB,EAAE,YAAoB;IACpE,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACtD,OAAO,IAAI,EAAE,CAAC;QACV,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QACxD,IAAI,KAAK,KAAK,MAAM;YAAE,OAAO,MAAM,CAAC;QACpC,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;QAC3C,IAAI,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,OAAO,OAAO,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,uCAAuC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnF,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,WAAW,CAAC,UAAkB,EAAE,YAAoB;IAC/D,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACvD,OAAO,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,qBAAqB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QACxD,IAAI,KAAK,KAAK,MAAM;YAAE,OAAO,MAAM,CAAC;QACpC,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;QAC3C,IAAI,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,OAAO,OAAO,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,0CAA0C,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpF,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,QAAQ,CAAC,UAAkB,EAAE,YAAkB;IAC1D,OAAO,IAAI,EAAE,CAAC;QACV,MAAM,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACrF,MAAM,MAAM,GAAG,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,cAAc,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAErG,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,GAAG,UAAU,GAAG,MAAM,IAAI,CAAC,CAAC;QAC3D,IAAI,MAAM,KAAK,MAAM;YAAE,OAAO,MAAM,CAAC;QAErC,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,IAAI,cAAc;gBAAE,OAAO,cAAc,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;YACvC,SAAS;QACb,CAAC;QAED,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IACvC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,SAAS,CAAC,UAAkB,EAAE,YAAkB,EAAE,MAAe;IAC5E,OAAO,IAAI,EAAE,CAAC;QACV,MAAM,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACrF,MAAM,MAAM,GAAG,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,cAAc,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAErG,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,GAAG,UAAU,GAAG,MAAM,IAAI,CAAC,CAAC;QAC3D,IAAI,MAAM,KAAK,MAAM;YAAE,OAAO,MAAM,CAAC;QAErC,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,IAAI,cAAc;gBAAE,OAAO,cAAc,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;YACvC,SAAS;QACb,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;QAE3C,kDAAkD;QAClD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,mDAAmD,MAAM,GAAG,CAAC,CAAC;YAC1E,SAAS;QACb,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,qBAAqB,CAAC,UAAkB,EAAE,YAAkB;IACvE,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC;IACtB,MAAM,UAAU,GAAG,CAAC,CAAC;IACrB,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,IAAI,iBAAiB,MAAM,CAAC,KAAK,OAAO,MAAM,CAAC,IAAI,WAAW,MAAM,CAAC,KAAK,OAAO,MAAM,CAAC,IAAI,cAAc,MAAM,CAAC,KAAK,OAAO,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,aAAa,MAAM,CAAC,KAAK,OAAO,MAAM,CAAC,SAAS,kBAAkB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAClQ,MAAM,MAAM,GAAG,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/F,MAAM,GAAG,GAAG,CAAC,MAAM,SAAS,CAAC,GAAG,UAAU,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACjE,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IAClC,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,YAAY,CAAC;IACpC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC5C,OAAO,qBAAqB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,MAAM,GAAG,UAAU,IAAI,MAAM,GAAG,UAAU,EAAE,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,uCAAuC,UAAU,QAAQ,UAAU,GAAG,CAAC,CAAC;QACpF,OAAO,qBAAqB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,6BAA6B,CAAC,UAAkB,EAAE,YAAkB;IAC/E,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC;IACtB,MAAM,UAAU,GAAG,CAAC,CAAC;IACrB,MAAM,MAAM,GAAG,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/F,MAAM,GAAG,GAAG,CAAC,MAAM,SAAS,CAAC,GAAG,UAAU,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACjE,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IAClC,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,YAAY,CAAC;IACpC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC5C,OAAO,6BAA6B,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,MAAM,GAAG,UAAU,IAAI,MAAM,GAAG,UAAU,EAAE,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,uCAAuC,UAAU,QAAQ,UAAU,GAAG,CAAC,CAAC;QACpF,OAAO,6BAA6B,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB,CAAC,KAAU;IAClC,OAAO,uBAAuB,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;AACnD,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,oBAAoB,CAAC,KAAa;IACvC,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,CAAC,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;QACzC,gEAAgE;QAChE,qEAAqE;QACrE,yDAAyD;QACzD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,GAAG,MAAM,CAAC,GAAG,GAAG,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;QACvE,OAAO,GAAG,MAAM,CAAC,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;IACpD,CAAC;IACD,OAAO,GAAG,MAAM,CAAC,GAAG,GAAG,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;AAClD,CAAC;AAED;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,KAAU;IAClC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,6BAA6B,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;AACzF,CAAC;AAED;;;;;;GAMG;AACH,SAAS,oBAAoB,CAAC,KAAU;IACpC,IAAI,kBAAkB,CAAC,KAAK,CAAC;QAAE,OAAO,GAAG,MAAM,CAAC,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;IAC/E,OAAO,GAAG,MAAM,CAAC,GAAG,GAAG,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;AAClD,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,oBAAoB,CAAC,KAAU;IACpC,OAAO,wBAAwB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACnD,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CAAC,KAAU;IAC/B,MAAM,CAAC,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IACzC,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,OAAO,CAAC;IAC/B,IAAI,CAAC,IAAI,aAAa,CAAC,SAAS;QAAE,OAAO,OAAO,CAAC;IACjD,IAAI,CAAC,IAAI,aAAa,CAAC,UAAU;QAAE,OAAO,QAAQ,CAAC;IACnD,IAAI,CAAC,GAAG,aAAa,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,CAAC,IAAI,aAAa,CAAC,UAAU;QAAE,OAAO,QAAQ,CAAC;IACnD,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED;;;;;GAKG;AACH,SAAS,wBAAwB,CAAC,KAAa;IAC3C,qEAAqE;IACrE,KAAK,oBAAoB,CAAC;IAC1B,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACpC,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO,GAAG,MAAM,CAAC,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;IACtE,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,GAAG,MAAM,CAAC,UAAU,GAAG,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;IAC5E,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,GAAG,MAAM,CAAC,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;IACxE,OAAO,GAAG,MAAM,CAAC,GAAG,GAAG,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,SAAS,uBAAuB;IAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,KAAK,cAAc,MAAM,CAAC,KAAK,OAAO,MAAM,CAAC,UAAU,oBAAoB,MAAM,CAAC,KAAK,OAAO,MAAM,CAAC,MAAM,gBAAgB,MAAM,CAAC,KAAK,OAAO,MAAM,CAAC,GAAG,mBAAmB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;AACvN,CAAC;AAED;;;;;GAKG;AACH,SAAS,oBAAoB,CAAC,KAAU;IACpC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACzC,OAAO,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,MAAM,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACjF,CAAC;AAED;;;;;;GAMG;AACH,SAAS,oBAAoB,CAAC,KAAU;IACpC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IACjC,IAAI,oBAAoB,CAAC,IAAI,CAAC;QAAE,OAAO,GAAG,MAAM,CAAC,KAAK,GAAG,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;IAC/E,OAAO,GAAG,MAAM,CAAC,GAAG,GAAG,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;AACjD,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,mBAAmB,CAAC,KAAU,EAAE,UAAgB;IACrD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,oBAAoB,CAAC,UAAU,CAAC;YAC1C,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,aAAa,MAAM,CAAC,KAAK,EAAE;YAC5C,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,aAAa,MAAM,CAAC,KAAK,EAAE,CAAC;QAC/C,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3B,IAAI,oBAAoB,CAAC,IAAI,CAAC;QAAE,OAAO,GAAG,MAAM,CAAC,KAAK,GAAG,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;IAC/E,OAAO,GAAG,MAAM,CAAC,GAAG,GAAG,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;AACjD,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,gBAAgB,CAAC,KAAU,EAAE,aAAsB;IACxD,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC;IACvB,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACjD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5B,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,GAAG,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,GAAG,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;AACrG,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,IAAY;IAClC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAE1D,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACvC,IAAI,IAAI,GAAG,CAAC,CAAC;IAEb,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;SAAM,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;QAC1B,IAAI,GAAG,CAAC,CAAC;IACb,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC;AAC5C,CAAC;AAED;;;;;GAKG;AACH,SAAS,WAAW,CAAC,IAAY,EAAE,IAAY;IAC3C,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IAC7C,OAAO,GAAG,GAAG,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC;AAC3C,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,mBAAmB,CAAC,UAAkB,EAAE,YAAkB,EAAE,SAAiB,CAAC,EAAE,SAAiB,GAAG;IAC/G,MAAM,MAAM,GAAG,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/F,MAAM,GAAG,GAAG,CAAC,MAAM,SAAS,CAAC,GAAG,UAAU,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACjE,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IAClC,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,YAAY,CAAC;IACpC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC5C,OAAO,mBAAmB,CAAC,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACzE,CAAC;IACD,mEAAmE;IACnE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACnD,OAAO,mBAAmB,CAAC,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACzE,CAAC;IACD,kBAAkB;IAClB,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,WAAW,UAAU,KAAK,MAAM,gBAAgB,MAAM,EAAE,CAAC,CAAC;QACtE,OAAO,mBAAmB,CAAC,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,WAAW,UAAU,KAAK,MAAM,gBAAgB,MAAM,EAAE,CAAC,CAAC;QACtE,OAAO,mBAAmB,CAAC,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;;;;;;;;GASG;AACH,KAAK,UAAU,sBAAsB,CAAC,UAAkB,EAAE,YAAkB,EAAE,mBAA2B,CAAC,EAAE,kBAA0B,WAAW,CAAC,iBAAiB;IAC/J,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/E,MAAM,mBAAmB,GAAG,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC;IAC/G,MAAM,WAAW,GAAG,eAAe,CAAC,aAAa,GAAG,mBAAmB,EAAE,CAAC,CAAC,CAAC;IAC5E,MAAM,gBAAgB,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;IAChI,MAAM,MAAM,GAAG,gBAAgB,KAAK,SAAS,IAAI,gBAAgB,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACtH,MAAM,GAAG,GAAG,CAAC,MAAM,SAAS,CAAC,GAAG,UAAU,QAAQ,gBAAgB,IAAI,MAAM,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1F,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IAClC,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,gBAAgB,CAAC;IACxC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC5C,OAAO,sBAAsB,CAAC,UAAU,EAAE,YAAY,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAC;IAC/F,CAAC;IACD,mEAAmE;IACnE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACnD,OAAO,sBAAsB,CAAC,UAAU,EAAE,YAAY,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAC;IAC/F,CAAC;IACD,0FAA0F;IAC1F,IAAI,MAAM,GAAG,MAAM,CAAC,OAAO,GAAG,WAAW,EAAE,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,WAAW,UAAU,KAAK,MAAM,gBAAgB,mBAAmB,uBAAuB,gBAAgB,GAAG,CAAC,CAAC;QAC3H,OAAO,sBAAsB,CAAC,UAAU,EAAE,YAAY,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAC;IAC/F,CAAC;IACD,uBAAuB;IACvB,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,WAAW,UAAU,KAAK,MAAM,sBAAsB,CAAC,CAAC;QACpE,OAAO,sBAAsB,CAAC,UAAU,EAAE,YAAY,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAC;IAC/F,CAAC;IACD,OAAO,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AACtC,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,iBAAiB,CAAC,UAAkB,EAAE,YAAkB,EAAE,SAAiB,CAAC,EAAE,SAAiB,GAAG;IAC7G,MAAM,MAAM,GAAG,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/F,MAAM,GAAG,GAAG,CAAC,MAAM,SAAS,CAAC,GAAG,UAAU,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACjE,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IAClC,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,YAAY,CAAC;IACpC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC5C,OAAO,iBAAiB,CAAC,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACvE,CAAC;IACD,8CAA8C;IAC9C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,WAAW,UAAU,KAAK,MAAM,oCAAoC,CAAC,CAAC;QAClF,OAAO,iBAAiB,CAAC,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACvE,CAAC;IACD,kBAAkB;IAClB,IAAI,MAAM,GAAG,MAAM,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,WAAW,UAAU,KAAK,MAAM,qBAAqB,MAAM,QAAQ,MAAM,EAAE,CAAC,CAAC;QACzF,OAAO,iBAAiB,CAAC,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,qBAAqB,CAAC,UAAkB,EAAE,YAAkB;IACvE,qEAAqE;IACrE,IAAI,uBAAuB,CAAC,IAAI,CAAC,UAAU,CAAC;QAAE,uBAAuB,EAAE,CAAC;IACxE,MAAM,MAAM,GAAG,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,oBAAoB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACrH,MAAM,GAAG,GAAG,CAAC,MAAM,SAAS,CAAC,GAAG,UAAU,GAAG,MAAM,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3H,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IAClC,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,YAAY,CAAC;IACpC,IAAI,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,WAAW,UAAU,MAAM,OAAO,uDAAuD,CAAC,CAAC;YACvG,OAAO,qBAAqB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAC3D,CAAC;QACD,mEAAmE;QACnE,uEAAuE;QACvE,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;YACzC,CAAC,CAAC,4GAA4G;YAC9G,CAAC,CAAC,6IAA6I,CAAC;QACpJ,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,WAAW,UAAU,MAAM,OAAO,MAAM,aAAa,EAAE,CAAC,CAAC;YACrE,OAAO,qBAAqB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;QACpE,OAAO,qBAAqB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAC3D,CAAC;IACD,iDAAiD;IACjD,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,WAAW,UAAU,KAAK,MAAM,iCAAiC,CAAC,CAAC;QAC/E,OAAO,qBAAqB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,WAAW,CAAC,UAAkB,EAAE,YAAkB,EAAE,QAAc;IAC7E,uBAAuB,EAAE,CAAC;IAC1B,MAAM,MAAM,GAAG,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,oBAAoB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACrH,MAAM,GAAG,GAAG,CAAC,MAAM,SAAS,CAAC,GAAG,UAAU,GAAG,MAAM,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3H,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IAClC,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,YAAY,CAAC;IACpC,IAAI,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,WAAW,UAAU,MAAM,OAAO,uDAAuD,CAAC,CAAC;YACvG,OAAO,WAAW,CAAC,UAAU,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;QAC3D,CAAC;QACD,oEAAoE;QACpE,yEAAyE;QACzE,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,WAAW,UAAU,MAAM,OAAO,+GAA+G,CAAC,CAAC;YAC/J,OAAO,WAAW,CAAC,UAAU,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;QACpE,OAAO,WAAW,CAAC,UAAU,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;IAC3D,CAAC;IACD,iDAAiD;IACjD,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,WAAW,UAAU,KAAK,MAAM,iCAAiC,CAAC,CAAC;QAC/E,OAAO,WAAW,CAAC,UAAU,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;IAC3D,CAAC;IACD,yEAAyE;IACzE,0EAA0E;IAC1E,uEAAuE;IACvE,+EAA+E;IAC/E,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChC,MAAM,aAAa,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QACrF,IAAI,MAAM,IAAI,aAAa,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,WAAW,UAAU,KAAK,MAAM,yBAAyB,aAAa,GAAG,CAAC,CAAC;YACvF,OAAO,WAAW,CAAC,UAAU,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;QAC3D,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,SAAS,wBAAwB,CAAC,KAAa;IAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACpD,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,GAAG,OAAO,GAAG,CAAC;AACzB,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,qBAAqB,CAAC,UAAkB,EAAE,YAAkB;IACvE,MAAM,MAAM,GAAG,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,oBAAoB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACrH,MAAM,GAAG,GAAG,CAAC,MAAM,SAAS,CAAC,GAAG,UAAU,GAAG,MAAM,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACvH,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IAClC,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,YAAY,CAAC;IACpC,MAAM,OAAO,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAC;IAC9C,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,OAAO,CAAC;IACrC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;QAC1E,OAAO,qBAAqB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,UAAU,CAAC,UAAkB,EAAE,YAAkB;IAC5D,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;IAC3C,MAAM,GAAG,GAAG,CAAC,MAAM,SAAS,CAAC,GAAG,UAAU,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACjF,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IAClC,IAAI,CAAC,GAAG;QAAE,OAAO,CAAC,CAAC,YAAY,CAAC;IAChC,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,aAAa,CAAC,UAAkB,EAAE,YAAkB;IAC/D,OAAO,IAAI,EAAE,CAAC;QACV,MAAM,MAAM,GAAG,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,oBAAoB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACrH,MAAM,GAAG,GAAG,CAAC,MAAM,SAAS,CAAC,GAAG,UAAU,GAAG,MAAM,IAAI,EAAE;YACrD,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC;SAC3D,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAEX,IAAI,GAAG,KAAK,MAAM;YAAE,OAAO,MAAM,CAAC;QAElC,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;gBACtD,OAAO,YAAY,CAAC;YACxB,CAAC;YACD,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QAChC,IAAI,KAAK,KAAK,MAAM;YAAE,OAAO,KAAK,CAAC;QACnC,IAAI,KAAK,KAAK,MAAM;YAAE,OAAO,MAAM,CAAC;QAEpC,6CAA6C;QAC7C,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7C,OAAO,GAAG,CAAC;QACf,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;IACpE,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,UAAU,CAAC,UAAkB,EAAE,YAAwC;IAClF,OAAO,IAAI,EAAE,CAAC;QACV,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,YAAY,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/D,MAAM,GAAG,GAAG,CAAC,MAAM,SAAS,CAAC,GAAG,UAAU,GAAG,MAAM,oBAAoB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACjF,IAAI,GAAG,KAAK,MAAM;YAAE,OAAO,MAAM,CAAC;QAClC,IAAI,CAAC,GAAG;YAAE,OAAO,YAAY,IAAI,IAAI,CAAC;QAEtC,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QAChC,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAC7E,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC;QACjE,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACxF,OAAO,UAAU,CAAC;QACtB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,sFAAsF,CAAC,CAAC;IACxG,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,gBAAgB,CAAC,UAAkB,EAAE,YAAkB,EAAE,UAAgB;IACpF,OAAO,IAAI,EAAE,CAAC;QACV,MAAM,cAAc,GAAG,YAAY,KAAK,IAAI,IAAI,YAAY,KAAK,SAAS;YACtE,CAAC,CAAC,mBAAmB,CAAC,IAAI,EAAE,UAAU,CAAC;YACvC,CAAC,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,CAAC,MAAM,SAAS,CAAC,GAAG,UAAU,KAAK,cAAc,KAAK,EAAE;YAChE,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC;SAC1D,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACX,IAAI,GAAG,KAAK,MAAM;YAAE,OAAO,MAAM,CAAC;QAClC,IAAI,CAAC,GAAG;YAAE,OAAO,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC;QAElE,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QAChC,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,YAAY;YAAE,OAAO,IAAI,CAAC;QACrG,IAAI,KAAK,KAAK,MAAM;YAAE,OAAO,KAAK,CAAC;QACnC,IAAI,KAAK,KAAK,MAAM;YAAE,OAAO,MAAM,CAAC;QACpC,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAEhD,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC;YAAE,OAAO,GAAG,CAAC;QAEhD,OAAO,CAAC,GAAG,CAAC,mFAAmF,CAAC,CAAC;IACrG,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,IAAI,GAAG,EAAE;IAChC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAE9C,IAAI,CAAC,IAAI,CAAC,kBAAkB;QAAE,IAAI,CAAC,kBAAkB,GAAG,EAAE,GAAG,cAAc,CAAC,kBAAkB,EAAE,CAAC;IACjG,IAAI,CAAC,IAAI,CAAC,QAAQ;QAAE,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC;IACnE,IAAI,CAAC,IAAI,CAAC,YAAY;QAAE,IAAI,CAAC,YAAY,GAAG,EAAE,GAAG,cAAc,CAAC,YAAY,EAAE,CAAC;IAE/E,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;QAAE,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC;IACnE,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;QAAE,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC;IACnE,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;QAAE,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC;IACzE,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;QAAE,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC;IACzE,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS;QAAE,IAAI,CAAC,gBAAgB,GAAG,cAAc,CAAC,gBAAgB,CAAC;IACjG,IAAI,IAAI,CAAC,mBAAmB,KAAK,SAAS;QAAE,IAAI,CAAC,mBAAmB,GAAG,cAAc,CAAC,mBAAmB,CAAC;IAC1G,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;QAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,cAAc,CAAC,UAAU,IAAI,MAAM,CAAC;IAC5G,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;QAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxD,OAAO,IAAI,CAAC,kBAAkB,CAAC;IAC/B,OAAO,IAAI,CAAC,4BAA4B,CAAC;IACzC,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,KAAK,UAAU,kBAAkB,CAAC,IAAS,EAAE,SAAS,GAAG,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,KAAK;IACxF,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC9E,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACvD,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IACjD,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,SAAS,KAAK,GAAG;YAAE,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;QACjD,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACrC,CAAC;IACD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QACzE,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC5D,CAAC;IACD,IAAI,WAAW,GAAQ,IAAI,CAAC;IAC5B,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,eAAe,GAAkB,IAAI,CAAC;IAC1C,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,IAAI,CAAC;QACD,WAAW,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QACpD,YAAY,GAAG,WAAW,CAAC,uBAAuB,EAAE,CAAC;QACrD,eAAe,GAAG,qBAAqB,EAAE,CAAC;QAC1C,gBAAgB,GAAG,IAAI,CAAC;QACxB,WAAW,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;QAC3C,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAC9B,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QACtD,MAAM,UAAU,GAAQ,IAAI,KAAK,CAAC,kCAAkC,SAAS,IAAI,CAAC,CAAC;QACnF,UAAU,CAAC,IAAI,GAAG,wBAAwB,CAAC;QAC3C,IAAI,EAAE,GAAkB,IAAI,CAAC;QAC7B,IAAI,CAAC;YACD,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;gBACpB,WAAW,CAAC,gBAAgB,CAAC,GAAG,CAAC;gBACjC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;aACrD,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,wBAAwB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;YAClF,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,MAAM,IAAI,GAAG,MAAM,KAAK,SAAS;oBAC7B,CAAC,CAAC,sCAAsC,SAAS,6FAA6F;oBAC9I,CAAC,CAAC,IAAI,eAAe,CAAC,GAAG,CAAC,2FAA2F,CAAC;gBAC1H,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,MAAM,8BAA8B,GAAG,cAAc,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YACxG,CAAC;YACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAChC,CAAC;QACD,IAAI,EAAE,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;YAC5B,IAAI,CAAC,KAAK;gBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,KAAK,qBAAqB,GAAG,OAAO,EAAE,0BAA0B,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YACpH,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;QAClD,CAAC;QACD,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,MAAM,YAAY,GAAG,yIAAyI,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAClN,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAC7C,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,MAAM,8BAA8B,GAAG,eAAe,eAAe,CAAC,GAAG,CAAC,4FAA4F,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAC1N,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IACzC,CAAC;YAAS,CAAC;QACP,IAAI,WAAW,EAAE,CAAC;YACd,IAAI,CAAC;gBAAC,MAAM,WAAW,CAAC,gBAAgB,EAAE,CAAC;YAAC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC,CAAC,yBAAyB,CAAC,CAAC;YACrF,IAAI,gBAAgB,EAAE,CAAC;gBACnB,IAAI,CAAC;oBAAC,WAAW,CAAC,wBAAwB,CAAC,YAAY,CAAC,CAAC;gBAAC,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAAC;YAChG,CAAC;QACL,CAAC;QACD,IAAI,gBAAgB,EAAE,CAAC;YACnB,IAAI,CAAC;gBAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC;YAAC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAAC;QACpF,CAAC;IACL,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,aAAa,CAAC,IAAI,GAAG,EAAE;IAClC,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAErC,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,QAAQ,GAAG,IAAI,CAAC;IAEpB,OAAO,CAAC,QAAQ,EAAE,CAAC;QACf,IAAI,QAAQ,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,IAAI,kBAAkB,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC,GAAG,OAAO,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YACnG,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,UAAU,WAAW,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,IAAI,GAAG,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAC5I,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,UAAU,eAAe,MAAM,CAAC,KAAK,MAAM,MAAM,CAAC,MAAM,QAAQ,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,WAAW,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,gBAAgB,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,UAAU,MAAM,CAAC,KAAK,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,UAAU,MAAM,CAAC,KAAK,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YACpW,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,UAAU,YAAY,MAAM,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,SAAS,MAAM,CAAC,KAAK,KAAK,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,MAAM,CAAC,MAAM,SAAS,MAAM,CAAC,KAAK,IAAI,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,MAAM,CAAC,MAAM,QAAQ,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,IAAI,MAAM,KAAK,MAAM,CAAC,MAAM,aAAa,MAAM,CAAC,KAAK,IAAI,mBAAmB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YAC5a,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,UAAU,WAAW,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,MAAM,WAAW,MAAM,CAAC,KAAK,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,MAAM,MAAM,CAAC,MAAM,QAAQ,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,gBAAgB,MAAM,MAAM,CAAC,MAAM,UAAU,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC;YACpT,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,UAAU,cAAc,MAAM,CAAC,KAAK,OAAO,MAAM,CAAC,MAAM,QAAQ,MAAM,CAAC,KAAK,IAAI,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,OAAO,MAAM,CAAC,KAAK,IAAI,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,MAAM,UAAU,MAAM,CAAC,KAAK,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC;YACrU,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;YAClE,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,SAAS,iBAAiB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAChE,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,8BAA8B,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAC1E,QAAQ,GAAG,KAAK,CAAC;QACrB,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,MAAM,SAAS,CAAC,oCAAoC,EAAE;YAClE,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;SACjG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAEzB,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACpB,QAAQ,GAAG,IAAI,CAAC;YAChB,SAAS,GAAG,IAAI,CAAC;YACjB,MAAM;QACV,CAAC;QAED,QAAQ,MAAM,EAAE,CAAC;YACb,KAAK,GAAG;gBACJ,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,qBAAqB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBAClE,IAAI,MAAM,KAAK,MAAM;oBAAE,MAAM;gBAC7B,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,oBAAoB,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAC1E,IAAI,MAAM,KAAK,MAAM;oBAAE,MAAM;gBAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;gBACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;gBACrB,QAAQ,GAAG,IAAI,CAAC;gBAChB,MAAM;YACV,KAAK,GAAG;gBACJ,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5D,IAAI,IAAI,KAAK,MAAM;oBAAE,MAAM;gBAC3B,IAAI,OAAO,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAClF,IAAI,OAAO,KAAK,MAAM;oBAAE,MAAM;gBAC9B,gEAAgE;gBAChE,4DAA4D;gBAC5D,4DAA4D;gBAC5D,2DAA2D;gBAC3D,CAAC;oBACG,MAAM,KAAK,GAAG,EAAE,GAAG,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC;oBACrD,SAAS,CAAC;wBACN,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;wBACnE,IAAI,OAAO,CAAC,EAAE;4BAAE,MAAM;wBACtB,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,KAAK,SAAS;4BACpC,CAAC,CAAC,oGAAoG;4BACtG,CAAC,CAAC,YAAY,KAAK,CAAC,gBAAgB,sFAAsF,CAAC;wBAC/H,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,UAAU,GAAG,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;wBACzD,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,EAAE,MAAM,CAAC,KAAK,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,CAAC;wBACjG,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;4BAAC,OAAO,GAAG,KAAK,CAAC;4BAAC,MAAM;wBAAC,CAAC;wBACjD,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC;oBACnC,CAAC;oBACD,IAAI,OAAO,KAAK,MAAM;wBAAE,MAAM;oBAC9B,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;oBACzC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;gBACrC,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBACvD,IAAI,MAAM,KAAK,MAAM;oBAAE,MAAM;gBAC7B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBACxD,IAAI,MAAM,KAAK,MAAM;oBAAE,MAAM;gBAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;gBACjB,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC;gBAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;gBACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;gBACrB,QAAQ,GAAG,IAAI,CAAC;gBAChB,MAAM;YACV,KAAK,GAAG;gBACJ,MAAM,IAAI,GAAG,MAAM,qBAAqB,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACpE,IAAI,IAAI,KAAK,MAAM;oBAAE,MAAM;gBAC3B,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBAChE,IAAI,IAAI,KAAK,MAAM;oBAAE,MAAM;gBAC3B,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,gCAAgC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;gBACtF,IAAI,MAAM,KAAK,MAAM;oBAAE,MAAM;gBAC7B,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,2CAA2C,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC1F,IAAI,KAAK,KAAK,MAAM;oBAAE,MAAM;gBAC5B,MAAM,EAAE,GAAG,MAAM,gBAAgB,CAAC,uCAAuC,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC5G,IAAI,EAAE,KAAK,MAAM;oBAAE,MAAM;gBACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;gBACzB,IAAI,CAAC,OAAO,GAAG,KAAK,IAAI,SAAS,CAAC;gBAClC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;gBACpB,QAAQ,GAAG,IAAI,CAAC;gBAChB,MAAM;YACV,KAAK,GAAG;gBACJ,MAAM,KAAK,GAAG,MAAM,qBAAqB,CAAC,4BAA4B,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBACtG,IAAI,KAAK,KAAK,MAAM;oBAAE,MAAM;gBAC5B,MAAM,IAAI,GAAG,MAAM,6BAA6B,CAAC,2BAA2B,EAAE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;gBAC3G,IAAI,IAAI,KAAK,MAAM;oBAAE,MAAM;gBAC3B,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,kBAAkB,EAAE,IAAI,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,WAAW,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC;gBAC/I,IAAI,KAAK,KAAK,MAAM;oBAAE,MAAM;gBAC5B,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,IAAI,KAAK,GAAG,CAAC,CAAC;gBAE5D,wDAAwD;gBACxD,MAAM,eAAe,GAAG,mBAAmB,EAAE,CAAC;gBAC9C,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,gBAAgB,EAAE,aAAa,EAAE,KAAK,EAAE,eAAe,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;gBAEpI,IAAI,OAAO,KAAK,MAAM;oBAAE,MAAM;gBAC9B,IAAI,CAAC,kBAAkB,CAAC,IAAI,GAAG,KAAK,CAAC;gBACrC,IAAI,CAAC,kBAAkB,CAAC,GAAG,GAAG,IAAI,CAAC;gBACnC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;gBAC9B,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC;gBACnC,QAAQ,GAAG,IAAI,CAAC;gBAChB,MAAM;YACV,KAAK,GAAG;gBACJ,MAAM,KAAK,GAAG,MAAM,qBAAqB,CAAC,sBAAsB,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACtF,IAAI,KAAK,KAAK,MAAM;oBAAE,MAAM;gBAC5B,MAAM,IAAI,GAAG,MAAM,qBAAqB,CAAC,qBAAqB,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACnF,IAAI,IAAI,KAAK,MAAM;oBAAE,MAAM;gBAC3B,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,yBAAyB,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;gBACjG,IAAI,KAAK,KAAK,MAAM;oBAAE,MAAM;gBAC5B,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,wBAAwB,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;gBAC9F,IAAI,IAAI,KAAK,MAAM;oBAAE,MAAM;gBAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC;gBAC3B,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC;gBACzB,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,KAAK,CAAC;gBAC/B,IAAI,CAAC,YAAY,CAAC,GAAG,GAAG,IAAI,CAAC;gBAC7B,QAAQ,GAAG,IAAI,CAAC;gBAChB,MAAM;YACV,KAAK,GAAG;gBACJ,uCAAuC;gBACvC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACvE,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,6DAA6D,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;oBACtG,MAAM;gBACV,CAAC;gBACD,CAAC;oBACG,MAAM,eAAe,GAAG,mBAAmB,EAAE,CAAC;oBAC9C,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,WAAW,CAAC,iBAAiB,CAAC;wBAC/E,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,iBAAiB;wBAC/C,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC;oBACpC,MAAM,iBAAiB,GAAG,eAAe,CAAC,IAAI,CAAC,gBAAgB,GAAG,YAAY,EAAE,CAAC,CAAC,CAAC;oBACnF,IAAI,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,OAAO,GAAG,iBAAiB,EAAE,CAAC;wBAChE,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,+BAA+B,IAAI,CAAC,mBAAmB,gBAAgB,YAAY,uBAAuB,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;wBACpL,MAAM;oBACV,CAAC;gBACL,CAAC;gBACD,8DAA8D;gBAC9D,kEAAkE;gBAClE,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBAC/B,QAAQ,GAAG,IAAI,CAAC;gBAChB,MAAM;YACV,KAAK,GAAG;gBACJ,QAAQ,GAAG,IAAI,CAAC;gBAChB,SAAS,GAAG,IAAI,CAAC;gBACjB,MAAM;YACV,QAAQ;YACJ,0EAA0E;QAClF,CAAC;IACL,CAAC;IAED,IAAI,SAAS;QAAE,OAAO,IAAI,CAAC;IAE3B,6EAA6E;IAC7E,+EAA+E;IAC/E,gFAAgF;IAChF,gFAAgF;IAChF,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC;AACvB,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,qBAAqB;IAChC,MAAM,QAAQ,GAAG,mBAAmB,EAAE,CAAC;IACvC,IAAI,QAAQ,GAAG,KAAK,CAAC;IAEpB,OAAO,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,oCAAoC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAC9E,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,UAAU,kBAAkB,MAAM,CAAC,KAAK,MAAM,MAAM,CAAC,MAAM,SAAS,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,WAAW,CAAC,4BAA4B,MAAM,MAAM,CAAC,MAAM,OAAO,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,WAAW,CAAC,eAAe,CAAC,cAAc,MAAM,MAAM,CAAC,MAAM,aAAa,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,cAAc,CAAC,2BAA2B,GAAG,CAAC,CAAC;QAChW,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,UAAU,qBAAqB,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,kBAAkB,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,WAAW,CAAC,iCAAiC,GAAG,CAAC,CAAC;QAC/K,MAAM,SAAS,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACrD,MAAM,aAAa,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,UAAU,IAAI,eAAe,CAAC,wBAAwB,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAChI,MAAM,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,aAAa,IAAI,MAAM,CAAC;QAC1E,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,UAAU,kBAAkB,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,SAAS,MAAM,CAAC,KAAK,IAAI,SAAS,KAAK,MAAM,CAAC,MAAM,aAAa,MAAM,CAAC,KAAK,IAAI,aAAa,QAAQ,MAAM,CAAC,MAAM,YAAY,MAAM,CAAC,KAAK,IAAI,eAAe,EAAE,CAAC,CAAC;QACjP,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,UAAU,cAAc,MAAM,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,6BAA6B,CAAC,CAAC;QACnJ,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACvH,MAAM,YAAY,GAAG,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,IAAI,WAAW,CAAC,CAAC;QAChF,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,UAAU,cAAc,MAAM,CAAC,KAAK,UAAU,aAAa,KAAK,MAAM,CAAC,MAAM,UAAU,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,YAAY,MAAM,CAAC,KAAK,IAAI,YAAY,CAAC,IAAI,MAAM,MAAM,CAAC,MAAM,QAAQ,MAAM,CAAC,KAAK,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;QACnR,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,SAAS,iBAAiB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,8BAA8B,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAE1E,MAAM,MAAM,GAAG,CAAC,MAAM,SAAS,CAAC,oCAAoC,EAAE;YACjE,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;SACpF,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAE1B,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACpB,QAAQ,GAAG,IAAI,CAAC;YAChB,MAAM;QACV,CAAC;QAED,QAAQ,MAAM,EAAE,CAAC;YACb,KAAK,GAAG;gBACJ,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,2BAA2B,EAAE,QAAQ,CAAC,WAAW,CAAC,4BAA4B,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;gBAClI,IAAI,MAAM,KAAK,MAAM;oBAAE,MAAM;gBAC7B,MAAM,GAAG,GAAG,MAAM,mBAAmB,CAAC,4BAA4B,EAAE,QAAQ,CAAC,WAAW,CAAC,eAAe,CAAC,cAAc,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;gBACjI,IAAI,GAAG,KAAK,MAAM;oBAAE,MAAM;gBAC1B,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,uBAAuB,EAAE,QAAQ,CAAC,cAAc,CAAC,2BAA2B,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;gBACpI,IAAI,QAAQ,KAAK,MAAM;oBAAE,MAAM;gBAC/B,QAAQ,CAAC,WAAW,CAAC,4BAA4B,GAAG,MAAM,CAAC;gBAC3D,QAAQ,CAAC,WAAW,CAAC,eAAe,CAAC,cAAc,GAAG,GAAG,CAAC;gBAC1D,QAAQ,CAAC,cAAc,CAAC,2BAA2B,GAAG,QAAQ,CAAC;gBAC/D,MAAM;YACV,KAAK,GAAG;gBACJ,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAC,0BAA0B,EAAE,QAAQ,CAAC,WAAW,CAAC,iCAAiC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;gBACpI,IAAI,IAAI,KAAK,MAAM;oBAAE,MAAM;gBAC3B,QAAQ,CAAC,WAAW,CAAC,iCAAiC,GAAG,IAAI,CAAC;gBAC9D,MAAM;YACV,KAAK,GAAG;gBACJ,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;gBAC9B,CAAC;oBACG,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;wBACrE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI;wBACrB,CAAC,CAAC,eAAe,CAAC,aAAa,CAAC;oBACpC,IAAI,QAAQ,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC;oBAChC,IAAI,eAAe,GAAG,KAAK,CAAC;oBAE5B,OAAO,IAAI,EAAE,CAAC;wBACV,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,IAAI,2BAA2B,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;wBACvE,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;4BACzB,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC;wBACtE,CAAC,CAAC,CAAC;wBACH,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,SAAS,cAAc,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;wBAC/D,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,GAAG,iBAAiB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;wBAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,UAAU,UAAU,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;wBAE5D,MAAM,UAAU,GAAG,CAAC,MAAM,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;wBACxE,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;4BACxB,eAAe,GAAG,IAAI,CAAC;4BACvB,MAAM;wBACV,CAAC;wBAED,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;4BACrB,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,kBAAkB,CAAC,CAAC;4BACpD,IAAI,OAAO,KAAK,MAAM;gCAAE,SAAS;4BACjC,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;gCAC5B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;gCAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,KAAK,SAAS,MAAM,CAAC,KAAK,WAAW,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;4BACpF,CAAC;wBACL,CAAC;6BAAM,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;4BAC5B,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gCACvB,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,MAAM,6CAA6C,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gCAC3F,SAAS;4BACb,CAAC;4BACD,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,+BAA+B,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;4BAClG,IAAI,SAAS,KAAK,MAAM;gCAAE,SAAS;4BACnC,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;4BACrD,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,KAAK,WAAW,MAAM,CAAC,KAAK,IAAI,OAAO,EAAE,CAAC,CAAC;wBACvE,CAAC;6BAAM,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;4BAC5B,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC;4BAC/B,MAAM;wBACV,CAAC;oBACL,CAAC;oBAED,IAAI,eAAe;wBAAE,MAAM;gBAC/B,CAAC;gBAED,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,6BAA6B,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,UAAU,IAAI,eAAe,CAAC,wBAAwB,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;gBAClL,IAAI,UAAU,KAAK,MAAM;oBAAE,MAAM;gBACjC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW;oBAAE,QAAQ,CAAC,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC;gBACjE,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,GAAG,UAAU,GAAG,KAAK,CAAC;gBAE3D,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,0DAA0D,EAAE,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,aAAa,IAAI,EAAE,CAAC,CAAC;gBAC5I,IAAI,QAAQ,KAAK,MAAM;oBAAE,MAAM;gBAC/B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS;oBAAE,QAAQ,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;gBAC7D,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,aAAa,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC;gBACjE,MAAM;YACV,KAAK,GAAG;gBACJ,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,iBAAiB,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAC1E,IAAI,QAAQ,KAAK,MAAM;oBAAE,MAAM;gBAC/B,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC;gBAC9B,MAAM;YACV,KAAK,GAAG;gBACJ,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,0BAA0B,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC;gBACjG,IAAI,QAAQ,KAAK,MAAM;oBAAE,MAAM;gBAC/B,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC;gBAElC,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,IAAI,UAAU,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,OAAO,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,MAAM,MAAM,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,GAAG,OAAO,MAAM,CAAC,KAAK,QAAQ,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,KAAK,qBAAqB,CAAC,CAAC;gBACzN,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACzE,IAAI,MAAM,KAAK,MAAM;oBAAE,MAAM;gBAE7B,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAC9E,IAAI,QAAQ,KAAK,MAAM;oBAAE,MAAM;gBAE/B,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;gBAEjC,QAAQ,CAAC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;gBACrC,MAAM;YACV,KAAK,GAAG;gBACJ,mBAAmB,CAAC,QAAQ,CAAC,CAAC;gBAC9B,QAAQ,GAAG,IAAI,CAAC;gBAChB,MAAM;YACV,KAAK,GAAG;gBACJ,QAAQ,GAAG,IAAI,CAAC;gBAChB,MAAM;YACV;gBACI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACvC,CAAC;IACL,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,IAAI;IACf,OAAO,CAAC,GAAG,CAAC,+CAA+C,SAAS,GAAG,CAAC,CAAC;IACzE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,EAAE,CAAC;IAC9C,IAAI,IAAI,GAAG,KAAK,CAAC;IAChB,OAAO,CAAC,IAAI,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,CAAC,MAAM,SAAS,CAAC,0BAA0B,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,IAAI,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,GAAG,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;YAChE,IAAI,GAAG,IAAI,CAAC;YACZ,SAAS;QACb,CAAC;QAEF,QAAQ,SAAS,EAAE,CAAC;YAChB,KAAK,GAAG,CAAC,CAAC,CAAC;gBACP,OAAO,IAAI,EAAE,CAAC;oBACV,IAAI,CAAC;wBACD,MAAM,KAAK,GAAG,MAAM,aAAa,EAAE,CAAC;wBACpC,IAAI,CAAC,KAAK;4BAAE,MAAM;wBAClB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBACxB,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;wBACjC,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;oBAC9E,CAAC;oBAAC,OAAO,GAAQ,EAAE,CAAC;wBAChB,OAAO,CAAC,GAAG,CAAC,sBAAsB,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;wBAC5D,MAAM;oBACV,CAAC;gBACL,CAAC;gBACD,MAAM;YACV,CAAC;YACD,KAAK,GAAG,CAAC,CAAC,CAAC;gBACP,OAAO,IAAI,EAAE,CAAC;oBACV,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,6BAA6B,CAAC,CAAC;oBAC7E,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,MAAM;wBAAE,MAAM;oBAC1C,IAAI,CAAC;wBACD,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;wBACpD,IAAI,KAAK,EAAE,CAAC;4BACR,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;4BACzB,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;4BACjC,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,CAAC,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;wBACnF,CAAC;oBACL,CAAC;oBAAC,OAAO,GAAQ,EAAE,CAAC;wBAChB,OAAO,CAAC,GAAG,CAAC,sBAAsB,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAChE,CAAC;gBACL,CAAC;gBACD,MAAM;YACV,CAAC;YACD,KAAK,GAAG,CAAC,CAAC,CAAC;gBACP,OAAO,IAAI,EAAE,CAAC;oBACV,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,6BAA6B,CAAC,CAAC;oBAC7E,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,MAAM;wBAAE,MAAM;oBAC1C,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,YAAY,GAAG,GAAG,CAAC,GAAG,CAAC;oBACxE,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,WAAW,eAAe,IAAI,EAAE,KAAK,CAAC,CAAC;oBACxE,IAAI,OAAO,KAAK,MAAM;wBAAE,MAAM;oBAC9B,IAAI,OAAO,EAAE,CAAC;wBACV,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC9C,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;wBACjC,OAAO,CAAC,GAAG,CAAC,gBAAgB,OAAO,CAAC,IAAI,IAAI,eAAe,UAAU,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBACvG,CAAC;yBAAM,CAAC;wBACJ,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;oBACzC,CAAC;gBACL,CAAC;gBACD,MAAM;YACV,CAAC;YACD,KAAK,GAAG,CAAC,CAAC,CAAC;gBACP,OAAO,IAAI,EAAE,CAAC;oBACV,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,2BAA2B,CAAC,CAAC;oBAC3E,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,MAAM;wBAAE,MAAM;oBAC1C,IAAI,CAAC;wBACD,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;wBACpD,IAAI,KAAK,EAAE,CAAC;4BACR,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;4BACtC,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;4BACjC,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,IAAI,UAAU,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;wBACjF,CAAC;oBACL,CAAC;oBAAC,OAAO,GAAQ,EAAE,CAAC;wBAChB,OAAO,CAAC,GAAG,CAAC,sBAAsB,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAChE,CAAC;gBACL,CAAC;gBACD,MAAM;YACV,CAAC;YACD,KAAK,GAAG;gBACJ,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACtB,MAAM;YACV,KAAK,GAAG;gBACJ,MAAM,qBAAqB,EAAE,CAAC;gBAC9B,MAAM;YACV,KAAK,GAAG;gBACJ,IAAI,GAAG,IAAI,CAAC;gBACZ,MAAM;YACV;gBACI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAC1C,CAAC;IACL,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;AACtC,CAAC;AAED,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAA"}
@@ -53,6 +53,8 @@
53
53
  * - price: Price level
54
54
  * - size: Order size in base asset
55
55
  * - orderId: Blockchain order ID (null for VIRTUAL)
56
+ * - createUncertain: (optional, only when true) slot keeps its size because a
57
+ * CREATE broadcast result was lost; consumed by the loadGrid orphan sanitizer
56
58
  *
57
59
  * ===============================================================================
58
60
  */
@@ -89,7 +91,7 @@ declare class AccountOrders {
89
91
  /**
90
92
  * Create an AccountOrders instance.
91
93
  * @param {Object} options - Configuration options
92
- * @param {string} options.botKey - Bot identifier (e.g., 'xrp-bts-0', 'h-bts-1')
94
+ * @param {string} options.botKey - Bot identifier (e.g., 'asset1-asset2-0', 'market-a-1')
93
95
  * @param {string} [options.ordersDir] - Optional override for the per-bot storage directory
94
96
  * @param {string} [options.profilesPath] - Optional override for the per-bot storage file path
95
97
  */
@@ -161,14 +163,16 @@ declare class AccountOrders {
161
163
  * @param {Object|null} assets - Optional asset metadata { assetA, assetB }
162
164
  * @param {Object|null} debugInputs - Optional debug-only input snapshot
163
165
  * @param {Object|null} recentFillKeys - Optional fill key dedup snapshot for crash recovery
166
+ * @param {Object|null} genesis - Optional frozen genesis (priceLevels etc)
164
167
  */
165
- storeMasterGrid(orders?: any[], btsFeesOwed?: any, boundaryIdx?: any, assets?: any, debugInputs?: any, recentFillKeys?: any): Promise<void>;
168
+ storeMasterGrid(orders?: any[], btsFeesOwed?: any, boundaryIdx?: any, assets?: any, debugInputs?: any, recentFillKeys?: any, genesis?: any): Promise<void>;
166
169
  /**
167
170
  * Load the persisted order grid for this bot.
168
171
  * @param {boolean} forceReload - If true, reload from disk to ensure fresh data
169
172
  * @returns {Array|null} Order grid array or null if not found
170
173
  */
171
174
  loadGrid(forceReload?: boolean): any;
175
+ loadGenesis(forceReload?: boolean): any;
172
176
  /**
173
177
  * Load the recently queued fill keys for crash-durable dedup.
174
178
  * @param {boolean} forceReload - If true, reload from disk
@@ -255,14 +259,7 @@ declare class AccountOrders {
255
259
  * @returns {Object} The serialized order.
256
260
  * @private
257
261
  */
258
- _serializeOrder(order?: any): {
259
- id: any;
260
- type: any;
261
- state: any;
262
- price: number;
263
- size: number;
264
- orderId: any;
265
- };
262
+ _serializeOrder(order?: any): Record<string, any>;
266
263
  }
267
264
  export { AccountOrders, createBotKey, sanitizeKey };
268
265
  //# sourceMappingURL=account_orders.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"account_orders.d.ts","sourceRoot":"","sources":["../../modules/account_orders.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AAaH,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAgBtD;;;;;;;;GAQG;AACH,iBAAS,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,UAUzC;AA0DD;;;;;;;;;;;;GAYG;AACH,cAAM,aAAa;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,GAAG,CAAC;IACtB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,IAAI,EAAE,GAAG,CAAC;IAEV;;;;;;OAMG;gBACS,OAAO,GAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAmB;IAkBnG;;;;OAIG;IACH,SAAS;IAKT;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,EAAE,GAAG;IAoBvB;;;OAGG;IACH,QAAQ;IAKR;;;;;OAKG;IACG,QAAQ,CAAC,SAAS,EAAE,GAAG;IAyB7B;;;;;;OAMG;IACH,YAAY,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG;IASrC;;;;;;;;OAQG;IACH,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAW;;;;;;;;;;IAc/F;;;;;;;;;OASG;IACG,eAAe,CAAC,MAAM,GAAE,GAAG,EAAO,EAAE,WAAW,GAAE,GAAU,EAAE,WAAW,GAAE,GAAU,EAAE,MAAM,GAAE,GAAU,EAAE,WAAW,GAAE,GAAU,EAAE,cAAc,GAAE,GAAU;IAmDnK;;;;OAIG;IACH,QAAQ,CAAC,WAAW,GAAE,OAAe;IAOrC;;;;OAIG;IACH,kBAAkB,CAAC,WAAW,GAAE,OAAe;IAU/C;;;;OAIG;IACH,mBAAmB,CAAC,WAAW,GAAE,OAAe;IAUhD;;;;OAIG;IACH,eAAe,CAAC,WAAW,GAAE,OAAe;IAa5C;;;;OAIG;IACH,cAAc,CAAC,WAAW,GAAE,OAAe;IAU3C;;;;;;OAMG;IACH,eAAe,CAAC,WAAW,GAAE,OAAe;IAa5C;;;OAGG;IACG,SAAS;IAWf;;;;;OAKG;IACH,kBAAkB,CAAC,OAAO,GAAE,OAAO,GAAG;QAAE,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAO;IAoB3F;;;OAGG;IACG,yBAAyB,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAyB1D;;;;OAIG;IACG,sBAAsB,CAAC,WAAW,GAAE,MAAgB;IA2B1D;;;;;OAKG;IACH,gBAAgB,CAAC,WAAW,GAAE,OAAe;;;;;;;;;;;;;;;;IA+B7C;;;;;OAKG;IACH,eAAe,CAAC,KAAK,GAAE,GAAQ;;;;;;;;CA0BhC;AAED,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,CAAA"}
1
+ {"version":3,"file":"account_orders.d.ts","sourceRoot":"","sources":["../../modules/account_orders.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AAaH,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAgBtD;;;;;;;;GAQG;AACH,iBAAS,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,UAUzC;AA2DD;;;;;;;;;;;;GAYG;AACH,cAAM,aAAa;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,GAAG,CAAC;IACtB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,IAAI,EAAE,GAAG,CAAC;IAEV;;;;;;OAMG;gBACS,OAAO,GAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAmB;IAkBnG;;;;OAIG;IACH,SAAS;IAKT;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,EAAE,GAAG;IAoBvB;;;OAGG;IACH,QAAQ;IAKR;;;;;OAKG;IACG,QAAQ,CAAC,SAAS,EAAE,GAAG;IAyB7B;;;;;;OAMG;IACH,YAAY,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG;IASrC;;;;;;;;OAQG;IACH,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAW;;;;;;;;;;IAc/F;;;;;;;;;;OAUG;IACG,eAAe,CAAC,MAAM,GAAE,GAAG,EAAO,EAAE,WAAW,GAAE,GAAU,EAAE,WAAW,GAAE,GAAU,EAAE,MAAM,GAAE,GAAU,EAAE,WAAW,GAAE,GAAU,EAAE,cAAc,GAAE,GAAU,EAAE,OAAO,GAAE,GAAU;IAuDxL;;;;OAIG;IACH,QAAQ,CAAC,WAAW,GAAE,OAAe;IAOrC,WAAW,CAAC,WAAW,GAAE,OAAe;IAUxC;;;;OAIG;IACH,kBAAkB,CAAC,WAAW,GAAE,OAAe;IAU/C;;;;OAIG;IACH,mBAAmB,CAAC,WAAW,GAAE,OAAe;IAUhD;;;;OAIG;IACH,eAAe,CAAC,WAAW,GAAE,OAAe;IAa5C;;;;OAIG;IACH,cAAc,CAAC,WAAW,GAAE,OAAe;IAU3C;;;;;;OAMG;IACH,eAAe,CAAC,WAAW,GAAE,OAAe;IAa5C;;;OAGG;IACG,SAAS;IAYf;;;;;OAKG;IACH,kBAAkB,CAAC,OAAO,GAAE,OAAO,GAAG;QAAE,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAO;IAoB3F;;;OAGG;IACG,yBAAyB,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAyB1D;;;;OAIG;IACG,sBAAsB,CAAC,WAAW,GAAE,MAAgB;IA2B1D;;;;;OAKG;IACH,gBAAgB,CAAC,WAAW,GAAE,OAAe;;;;;;;;;;;;;;;;IA+B7C;;;;;OAKG;IACH,eAAe,CAAC,KAAK,GAAE,GAAQ;CAkChC;AAED,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,CAAA"}