dexbot 1.4.2 → 1.4.4

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 (79) hide show
  1. package/README.md +1 -0
  2. package/dist/modules/account_bots.d.ts.map +1 -1
  3. package/dist/modules/account_bots.js +29 -1
  4. package/dist/modules/account_bots.js.map +1 -1
  5. package/dist/modules/constants.d.ts +1 -0
  6. package/dist/modules/constants.d.ts.map +1 -1
  7. package/dist/modules/constants.js +5 -0
  8. package/dist/modules/constants.js.map +1 -1
  9. package/dist/modules/dexbot_cow_runtime.d.ts +30 -0
  10. package/dist/modules/dexbot_cow_runtime.d.ts.map +1 -1
  11. package/dist/modules/dexbot_cow_runtime.js +228 -7
  12. package/dist/modules/dexbot_cow_runtime.js.map +1 -1
  13. package/dist/modules/dexbot_maintenance_runtime.d.ts.map +1 -1
  14. package/dist/modules/dexbot_maintenance_runtime.js +31 -25
  15. package/dist/modules/dexbot_maintenance_runtime.js.map +1 -1
  16. package/dist/modules/launcher/credential_daemon.d.ts.map +1 -1
  17. package/dist/modules/launcher/credential_daemon.js +3 -4
  18. package/dist/modules/launcher/credential_daemon.js.map +1 -1
  19. package/dist/modules/launcher/market_adapter_runtime.d.ts.map +1 -1
  20. package/dist/modules/launcher/market_adapter_runtime.js +2 -4
  21. package/dist/modules/launcher/market_adapter_runtime.js.map +1 -1
  22. package/dist/modules/launcher/market_adapter_watchdog.d.ts.map +1 -1
  23. package/dist/modules/launcher/market_adapter_watchdog.js +4 -6
  24. package/dist/modules/launcher/market_adapter_watchdog.js.map +1 -1
  25. package/dist/modules/logger.js +0 -1
  26. package/dist/modules/logger.js.map +1 -1
  27. package/dist/modules/order/accounting.d.ts +2 -2
  28. package/dist/modules/order/accounting.d.ts.map +1 -1
  29. package/dist/modules/order/accounting.js +3 -6
  30. package/dist/modules/order/accounting.js.map +1 -1
  31. package/dist/modules/order/grid.d.ts +1 -1
  32. package/dist/modules/order/grid.d.ts.map +1 -1
  33. package/dist/modules/order/grid.js +83 -69
  34. package/dist/modules/order/grid.js.map +1 -1
  35. package/dist/modules/order/grid_reconcile.d.ts +3 -9
  36. package/dist/modules/order/grid_reconcile.d.ts.map +1 -1
  37. package/dist/modules/order/grid_reconcile.js +80 -48
  38. package/dist/modules/order/grid_reconcile.js.map +1 -1
  39. package/dist/modules/order/logger.d.ts.map +1 -1
  40. package/dist/modules/order/logger.js +2 -8
  41. package/dist/modules/order/logger.js.map +1 -1
  42. package/dist/modules/order/manager.d.ts +38 -7
  43. package/dist/modules/order/manager.d.ts.map +1 -1
  44. package/dist/modules/order/manager.js +89 -130
  45. package/dist/modules/order/manager.js.map +1 -1
  46. package/dist/modules/order/strategy.js +0 -1
  47. package/dist/modules/order/strategy.js.map +1 -1
  48. package/dist/modules/order/sync_engine.d.ts.map +1 -1
  49. package/dist/modules/order/sync_engine.js +1 -2
  50. package/dist/modules/order/sync_engine.js.map +1 -1
  51. package/dist/modules/order/utils/math.d.ts +26 -1
  52. package/dist/modules/order/utils/math.d.ts.map +1 -1
  53. package/dist/modules/order/utils/math.js +107 -54
  54. package/dist/modules/order/utils/math.js.map +1 -1
  55. package/dist/modules/order/utils/order.d.ts.map +1 -1
  56. package/dist/modules/order/utils/order.js +10 -20
  57. package/dist/modules/order/utils/order.js.map +1 -1
  58. package/dist/modules/order/utils/system.d.ts +10 -4
  59. package/dist/modules/order/utils/system.d.ts.map +1 -1
  60. package/dist/modules/order/utils/system.js +47 -28
  61. package/dist/modules/order/utils/system.js.map +1 -1
  62. package/dist/modules/order/utils/timeout.d.ts +25 -0
  63. package/dist/modules/order/utils/timeout.d.ts.map +1 -0
  64. package/dist/modules/order/utils/timeout.js +49 -0
  65. package/dist/modules/order/utils/timeout.js.map +1 -0
  66. package/dist/modules/order/utils/validate.d.ts +8 -1
  67. package/dist/modules/order/utils/validate.d.ts.map +1 -1
  68. package/dist/modules/order/utils/validate.js +33 -8
  69. package/dist/modules/order/utils/validate.js.map +1 -1
  70. package/dist/modules/order/utils/withPoolRef.d.ts +6 -0
  71. package/dist/modules/order/utils/withPoolRef.d.ts.map +1 -0
  72. package/dist/modules/order/utils/withPoolRef.js +129 -0
  73. package/dist/modules/order/utils/withPoolRef.js.map +1 -0
  74. package/dist/modules/types.d.ts +1 -0
  75. package/dist/modules/types.d.ts.map +1 -1
  76. package/dist/unlock.d.ts.map +1 -1
  77. package/dist/unlock.js +2 -4
  78. package/dist/unlock.js.map +1 -1
  79. package/package.json +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"accounting.js","sourceRoot":"","sources":["../../../modules/order/accounting.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0EG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGH,4CAAkG;AAClG,2CAAmD;AACnD,iDAAmC;AACnC,+DAAiD;AACjD,6DAA+C;AAC/C,uCAKsB;AACtB,iEAGgC;AAChC,4CAAkD;AAClD,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC;AAElC;;;GAGG;AACH,MAAM,UAAU;IACZ;;;;;;;;OAQG;IACH,OAAO,CAAM;IACb,sBAAsB,CAAU;IAChC,yBAAyB,CAA8F;IACvH,iBAAiB,CAAsD;IAEvE,YAAY,OAAY;QACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC,CAAE,wCAAwC;QAC9E,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAAE,gDAAgD;QACxF,IAAI,CAAC,iBAAiB,GAAG,IAAI,GAAG,EAAE,CAAC;IACvC,CAAC;IAED,aAAa,CAAC,GAAQ,EAAE,OAAY,EAAE,QAAa,MAAM,EAAE,aAAkB,kBAAM,CAAC,wBAAwB;QACxG,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAE5C,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC/C,MAAM,MAAM,GAAG,KAAK,IAAI,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,KAAK,CAAC,UAAU,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC;YACxG,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO,GAAG,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC;YAC1D,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;YAChE,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC;QACtB,IAAI,KAAK,CAAC,UAAU,GAAG,SAAS;YAAE,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;QAC/D,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACH,wBAAwB,CAAC,kBAAuB;QAC5C,KAAK,MAAM,UAAU,IAAI,kBAAkB,EAAE,CAAC;YAC1C,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;QAC1F,CAAC;IACL,CAAC;IAED,gBAAgB;QACZ,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;QACzB,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,uBAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,uBAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5H,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,qBAAqB,CAAC,KAAU;QAC5B,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;QACvE,OAAO;YACH,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC;SACxC,CAAC;IACN,CAAC;IAED,kBAAkB;QACd,IAAI,CAAC;YACD,MAAM,IAAI,GAAG,IAAA,mBAAY,EAAC,KAAK,CAAC,CAAC;YACjC,OAAO;gBACH,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;gBAC1D,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;gBAC1D,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;gBAC1D,uBAAuB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,IAAI,EAAE,uBAAuB,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,oBAAoB,IAAI,0BAAc,CAAC,oBAAoB,CAAC,CAAC;aACpL,CAAC;QACN,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,0CAA0C,GAAG,EAAE,OAAO,IAAI,GAAG,2BAA2B,EAAE,MAAM,CAAC,CAAC;YAC9H,OAAO;gBACH,SAAS,EAAE,CAAC;gBACZ,SAAS,EAAE,CAAC;gBACZ,SAAS,EAAE,CAAC;gBACZ,uBAAuB,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,oBAAoB,IAAI,0BAAc,CAAC,oBAAoB;aACxH,CAAC;QACN,CAAC;IACL,CAAC;IAED,8BAA8B,CAAC,cAAmB,EAAE,WAAgB;QAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC;QAChE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;QAEzE,IAAI,QAAQ,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC;QAE9C,sEAAsE;QACtE,sEAAsE;QACtE,mEAAmE;QACnE,IAAI,MAAM,GAAG,SAAS,CAAC;QACvB,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YAChB,MAAM,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;QACjD,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,uBAAuB,CAAC,QAAa,EAAE,QAAa,EAAE,OAAY,EAAE,WAAgB;QAChF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,wBAAY,CAAC,MAAM,IAAI,QAAQ,CAAC,KAAK,KAAK,wBAAY,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC1I,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,wBAAY,CAAC,MAAM,IAAI,QAAQ,CAAC,KAAK,KAAK,wBAAY,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC1I,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC;QACrE,MAAM,cAAc,GAAG,SAAS,IAAI,SAAS,IAAI,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,CAAC;QACvF,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC9C,MAAM,gBAAgB,GAAG,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QAE3F,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QAE/C,IAAI,CAAC,SAAS,IAAI,SAAS,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;YACrC,wEAAwE;YACxE,YAAY,IAAI,GAAG,CAAC;YACpB,YAAY,GAAG,GAAG,CAAC;QACvB,CAAC;aAAM,IAAI,SAAS,IAAI,cAAc,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;YAChD,4EAA4E;YAC5E,MAAM,iBAAiB,GAAG,IAAI,CAAC,8BAA8B,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YACxF,YAAY,IAAI,WAAW,GAAG,iBAAiB,CAAC;YAChD,YAAY,IAAI,GAAG,CAAC;YACpB,YAAY,GAAG,GAAG,CAAC;QACvB,CAAC;aAAM,IAAI,SAAS,IAAI,gBAAgB,EAAE,CAAC;YACvC,kEAAkE;YAClE,6CAA6C;YAC7C,YAAY,GAAG,CAAC,CAAC;QACrB,CAAC;aAAM,IAAI,SAAS,IAAI,CAAC,SAAS,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;YAC5C,sFAAsF;YACtF,uFAAuF;YACvF,YAAY,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,GAAG,CAAC,CAAC;YAC/C,YAAY,GAAG,CAAC,CAAC;QACrB,CAAC;aAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,YAAY,GAAG,CAAC,CAAC;QACrB,CAAC;QAED,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC3C,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;gBACnB,QAAQ,CAAC,WAAW,GAAG;oBACnB,GAAG,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAC;oBAC/B,WAAW,EAAE,YAAY;iBAC5B,CAAC;YACN,CAAC;iBAAM,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;gBAC9B,2DAA2D;gBAC3D,oDAAoD;gBACpD,0DAA0D;gBAC1D,0CAA0C;gBAC1C,OAAO,QAAQ,CAAC,WAAW,CAAC;YAChC,CAAC;QACL,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,KAAK,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;YACxE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CACnB,aAAa,OAAO,iBAAiB,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,SAAS,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,WAAW,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,EAC3M,OAAO,CACV,CAAC;QACN,CAAC;QAED,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;IAC1C,CAAC;IAED,iCAAiC,CAAC,OAAY,EAAE,OAAY;QACxD,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC7C,IAAI,CAAC,YAAY,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAE3C,MAAM,KAAK,GAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAW,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC;QACpH,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC;QAClE,IAAI,WAAW,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAElC,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC9C,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAE1B,2FAA2F;QAC3F,MAAM,MAAM,GAAG,WAAW,GAAG,WAAW,CAAC,uBAAuB,CAAC;QACjE,IAAI,MAAM,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAE7B,OAAO;YACH,SAAS,EAAE,YAAY;YACvB,KAAK,EAAE,MAAM;YACb,SAAS,EAAE,8BAA8B;SAC5C,CAAC;IACN,CAAC;IAED;;;;OAIG;IACH,UAAU;QACN,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;QACzB,GAAG,CAAC,aAAa,GAAG,GAAG,CAAC,aAAa,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAEjK,GAAG,CAAC,KAAK,GAAG;YACR,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;YAC9B,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE;YAChE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;YAC5B,SAAS,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE;YACpE,WAAW,EAAE,CAAC,EAAyB,kBAAkB;YACzD,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,gCAAgC;SAChF,CAAC;IACN,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,KAAK,CAAC,gBAAgB;QACjB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;QACzB,IAAI,GAAG,CAAC,gBAAgB,GAAG,CAAC;YAAE,OAAO;QACrC,IAAI,CAAC,GAAG,CAAC,KAAK;YAAE,IAAI,CAAC,UAAU,EAAE,CAAC;QAElC,4DAA4D;QAC5D,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YACjB,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;QAC1E,CAAC;QAED,qEAAqE;QACrE,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAU,CAAC;QAE/D,IAAI,OAAO,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC;QAC9B,IAAI,QAAQ,GAAG,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC;QAChC,IAAI,UAAU,GAAG,CAAC,EAAE,WAAW,GAAG,CAAC,CAAC;QAEpC,yBAAyB;QACzB,GAAG,CAAC,kBAAkB,GAAG,GAAG,CAAC,aAAa,CAAC,uBAAW,CAAC,MAAM,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC;QAEzE,iEAAiE;QACjE,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,wBAAY,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,KAAK,wBAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;YAClH,MAAM,SAAS,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,wBAAY,CAAC,OAAO,CAAC,CAAC;YAC1D,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,IAAI,IAAI,CAAC;gBAAE,SAAS;YAExB,sBAAsB;YACtB,+CAA+C;YAC/C,4EAA4E;YAC5E,4DAA4D;YAC5D,+DAA+D;YAC9D,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,KAAK,uBAAW,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,uBAAW,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC3H,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,KAAK,uBAAW,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,uBAAW,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAE/H,IAAI,KAAK,EAAE,CAAC;gBACR,IAAI,QAAQ,EAAE,CAAC;oBACX,OAAO,IAAI,IAAI,CAAC;oBAChB,QAAQ,IAAI,IAAI,CAAC;gBACrB,CAAC;gBACD,IAAI,SAAS;oBAAE,UAAU,IAAI,IAAI,CAAC;YACtC,CAAC;iBAAM,IAAI,MAAM,EAAE,CAAC;gBAChB,IAAI,QAAQ,EAAE,CAAC;oBACX,QAAQ,IAAI,IAAI,CAAC;oBACjB,SAAS,IAAI,IAAI,CAAC;gBACtB,CAAC;gBACD,IAAI,SAAS;oBAAE,WAAW,IAAI,IAAI,CAAC;YACvC,CAAC;QACL,CAAC;QAED,4DAA4D;QAC5D,MAAM,YAAY,GAAG,GAAG,CAAC,aAAa,EAAE,OAAO,IAAI,CAAC,CAAC;QACrD,MAAM,aAAa,GAAG,GAAG,CAAC,aAAa,EAAE,QAAQ,IAAI,CAAC,CAAC;QAEvD,wDAAwD;QACxD,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC5D,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC/D,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QAE3D,oDAAoD;QACpD,yDAAyD;QACzD,MAAM,aAAa,GAAG,YAAY,GAAG,QAAQ,CAAC;QAC9C,MAAM,cAAc,GAAG,aAAa,GAAG,SAAS,CAAC;QAEjD,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;QACrE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,OAAO,GAAG,UAAU,EAAE,IAAI,EAAE,QAAQ,GAAG,WAAW,EAAE,CAAC;QAEnF,kEAAkE;QACjE,0EAA0E;QAC1E,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,GAAG,IAAA,mCAA4B,EAAC,KAAK,EAAE,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,IAAI,IAAI,CAAC,CAAC;QACpN,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,IAAA,mCAA4B,EAAC,MAAM,EAAE,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,IAAI,IAAI,CAAC,CAAC;QAEvN,iFAAiF;QACjF,IAAI,OAAO,GAAG,CAAC,uBAAuB,KAAK,UAAU,EAAE,CAAC;YACpD,GAAG,CAAC,uBAAuB,EAAE,CAAC;QAClC,CAAC;QAEA,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,OAAO,IAAI,GAAG,CAAC,gBAAgB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;YACvG,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC;YACnD,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC;YACrD,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;gBAClE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,uBAAuB,MAAM,CAAC,uBAAuB,CAAC,aAAa,EAAE,YAAY,CAAC,UAAU,MAAM,CAAC,uBAAuB,CAAC,YAAY,EAAE,YAAY,CAAC,UAAU,MAAM,CAAC,uBAAuB,CAAC,OAAO,EAAE,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBAClP,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,wBAAwB,MAAM,CAAC,uBAAuB,CAAC,cAAc,EAAE,aAAa,CAAC,UAAU,MAAM,CAAC,uBAAuB,CAAC,aAAa,EAAE,aAAa,CAAC,UAAU,MAAM,CAAC,uBAAuB,CAAC,QAAQ,EAAE,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAC7P,CAAC;QACL,CAAC;QAEF,IAAI,GAAG,CAAC,gBAAgB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,EAAE,CAAC;YACtF,MAAM,QAAQ,GAAG,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;YAEtE,MAAM,eAAe,GAAG,CAAC,YAAiB,EAAE,EAAE;gBAC1C,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;gBACnC,IAAI,CAAC,qBAAqB,CACtB,GAAG,EACH,YAAY,CAAC,YAAY,EACzB,YAAY,CAAC,aAAa,EAC1B,YAAY,CAAC,QAAQ,EACrB,YAAY,CAAC,SAAS,CACzB;qBACI,KAAK,CAAC,CAAC,GAAQ,EAAE,EAAE;oBAChB,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,kCAAkC,IAAA,wBAAe,EAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;gBACzF,CAAC,CAAC;qBACD,OAAO,CAAC,GAAG,EAAE;oBACV,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;oBACpC,IAAI,IAAI,CAAC,yBAAyB,EAAE,CAAC;wBACjC,MAAM,OAAO,GAAG,IAAI,CAAC,yBAAyB,CAAC;wBAC/C,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;wBACtC,eAAe,CAAC,OAAO,CAAC,CAAC;oBAC7B,CAAC;gBACL,CAAC,CAAC,CAAC;YACX,CAAC,CAAC;YAEF,0EAA0E;YAC1E,gFAAgF;YAChF,iFAAiF;YACjF,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAC9B,IAAI,CAAC,yBAAyB,GAAG,QAAQ,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACJ,eAAe,CAAC,QAAQ,CAAC,CAAC;YAC9B,CAAC;QACL,CAAC;IACL,CAAC;IAEA;;;;;;;;;;;;;;OAcG;IACF,KAAK,CAAC,qBAAqB,CAAC,GAAQ,EAAE,YAAiB,EAAE,aAAkB,EAAE,QAAa,EAAE,SAAc;QACtG,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC;QACnD,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC;QACpD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YACpE,OAAO,CAAE,kDAAkD;QAC/D,CAAC;QACD,MAAM,iBAAiB,GAAG,IAAA,wBAAiB,EAAC,YAAY,CAAC,CAAC;QAC3D,MAAM,kBAAkB,GAAG,IAAA,wBAAiB,EAAC,aAAa,CAAC,CAAC;QAC3D,MAAM,iBAAiB,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,gCAAgC,CAAC,GAAG,GAAG,CAAC;QAE5F,mEAAmE;QACnE,uEAAuE;QACtE,qEAAqE;QACrE,sEAAsE;QACtE,iEAAiE;QACjE,iEAAiE;QACjE,oEAAoE;QACpE,oEAAoE;QACpE,sEAAsE;QACtE,mEAAmE;QACnE,+CAA+C;QAC/C,MAAM,aAAa,GAAG,GAAG,CAAC,sBAAsB,CAAC;QACjD,MAAM,yBAAyB,GAAG,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,yBAAyB,GAAG,iBAAiB,GAAG,yBAAyB,CAAC;QAEhF,IAAI,YAAY,GAAG,KAAK,CAAC;QAEzB,+BAA+B;QAC/B,yEAAyE;QACzE,oEAAoE;QACpE,wFAAwF;QACxF,MAAM,WAAW,GAAG,YAAY,GAAG,QAAQ,CAAC;QAC5C,MAAM,SAAS,GAAG,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,IAAI,WAAW,CAAC,GAAG,WAAW,CAAC,CAAC;QACnE,MAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,SAAS,IAAI,WAAW,CAAC,GAAG,yBAAyB,CAAC,CAAC;QAEjH,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,SAAS,IAAI,OAAO,GAAG,mBAAmB,EAAE,CAAC;YACjF,YAAY,GAAG,IAAI,CAAC;YACpB,6CAA6C;YAC7C,wFAAwF;YACxF,2CAA2C;YAC3C,IAAI,CAAC,aAAa,CACd,oBAAoB,EACpB,8DAA8D,MAAM,CAAC,uBAAuB,CAAC,SAAS,EAAE,YAAY,CAAC,sBAAsB,MAAM,CAAC,uBAAuB,CAAC,WAAW,EAAE,YAAY,CAAC,YAAY,MAAM,CAAC,uBAAuB,CAAC,OAAO,EAAE,YAAY,CAAC,cAAc,MAAM,CAAC,uBAAuB,CAAC,mBAAmB,EAAE,YAAY,CAAC,GAAG,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,EAAE,GAAG,EACpZ,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAC3C,CAAC;QACN,CAAC;QAED,MAAM,YAAY,GAAG,aAAa,GAAG,SAAS,CAAC;QAC/C,MAAM,UAAU,GAAG,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,YAAY,CAAC,GAAG,YAAY,CAAC,CAAC;QACvE,MAAM,oBAAoB,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,UAAU,IAAI,YAAY,CAAC,GAAG,yBAAyB,CAAC,CAAC;QAEpH,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,SAAS,IAAI,QAAQ,GAAG,oBAAoB,EAAE,CAAC;YACrF,YAAY,GAAG,IAAI,CAAC;YACpB,6CAA6C;YAC7C,IAAI,CAAC,aAAa,CACd,qBAAqB,EACrB,+DAA+D,MAAM,CAAC,uBAAuB,CAAC,UAAU,EAAE,aAAa,CAAC,sBAAsB,MAAM,CAAC,uBAAuB,CAAC,YAAY,EAAE,aAAa,CAAC,YAAY,MAAM,CAAC,uBAAuB,CAAC,QAAQ,EAAE,aAAa,CAAC,cAAc,MAAM,CAAC,uBAAuB,CAAC,oBAAoB,EAAE,aAAa,CAAC,GAAG,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,EAAE,GAAG,EAC7Z,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAC3C,CAAC;QACN,CAAC;QAED,8DAA8D;QAC9D,uEAAuE;QACvE,oEAAoE;QACpE,gDAAgD;QAChD,IAAI,GAAG,CAAC,MAAM,EAAE,gBAAgB,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACpD,IAAI,CAAC;gBACD,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC;gBAC5C,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;gBAClC,MAAM,cAAc,GAAG,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;gBAC/D,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5B,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;oBAChE,MAAM,WAAW,GAAG,YAAY,CAAC,oBAAoB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;oBACtE,MAAM,YAAY,GAAG,YAAY,CAAC,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;oBACxE,MAAM,QAAQ,GAAG,YAAY,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;oBAC3E,MAAM,SAAS,GAAG,YAAY,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;oBAE7E,IAAI,QAAQ,KAAK,IAAI,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;wBACvC,MAAM,eAAe,GAAG,CAAC,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,GAAG,WAAW,CAAC,CAAC;wBAC7E,MAAM,YAAY,GAAG,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;wBAC3D,MAAM,aAAa,GAAG,eAAe,GAAG,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC;wBAChE,IAAI,YAAY,GAAG,aAAa,IAAI,eAAe,GAAG,iBAAiB,EAAE,CAAC;4BACtE,YAAY,GAAG,IAAI,CAAC;4BACpB,IAAI,CAAC,aAAa,CACd,6BAA6B,EAC7B,mDAAmD,MAAM,CAAC,uBAAuB,CAAC,YAAY,EAAE,YAAY,CAAC,IAAI;gCACjH,qBAAqB,MAAM,CAAC,uBAAuB,CAAC,eAAe,EAAE,YAAY,CAAC,GAAG;gCACrF,UAAU,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EACtF,OAAO,CACV,CAAC;wBACN,CAAC;oBACL,CAAC;oBAED,IAAI,SAAS,KAAK,IAAI,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;wBACzC,MAAM,gBAAgB,GAAG,CAAC,aAAa,GAAG,SAAS,CAAC,GAAG,CAAC,SAAS,GAAG,YAAY,CAAC,CAAC;wBAClF,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,CAAC;wBAC7D,MAAM,cAAc,GAAG,gBAAgB,GAAG,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC;wBAClE,IAAI,aAAa,GAAG,cAAc,IAAI,gBAAgB,GAAG,kBAAkB,EAAE,CAAC;4BAC1E,YAAY,GAAG,IAAI,CAAC;4BACpB,IAAI,CAAC,aAAa,CACd,8BAA8B,EAC9B,oDAAoD,MAAM,CAAC,uBAAuB,CAAC,aAAa,EAAE,aAAa,CAAC,IAAI;gCACpH,qBAAqB,MAAM,CAAC,uBAAuB,CAAC,gBAAgB,EAAE,aAAa,CAAC,GAAG;gCACvF,UAAU,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EACxF,OAAO,CACV,CAAC;wBACN,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;YAAC,OAAO,IAAS,EAAE,CAAC;gBACjB,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,iDAAiD,IAAA,wBAAe,EAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YACxG,CAAC;QACL,CAAC;QAED,wDAAwD;QACxD,IAAI,YAAY,EAAE,CAAC;YACf,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;gBAC1B,IAAI,CAAC;oBACD,MAAM,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,0BAA0B,CAAC,CAAC;gBACrE,CAAC;gBAAC,OAAO,GAAQ,EAAE,CAAC;oBAChB,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,wCAAwC,IAAA,wBAAe,EAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;oBAC3F,GAAG,CAAC,cAAc,GAAG,EAAE,GAAG,GAAG,CAAC,cAAc,EAAE,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;gBAC9E,CAAC;YACL,CAAC,CAAC;YACF,IAAI,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;gBAC9B,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,GAAQ,EAAE,EAAE;oBAC5B,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,mDAAmD,IAAA,wBAAe,EAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;gBAC1G,CAAC,CAAC,CAAC;YACP,CAAC;iBAAM,CAAC;gBACJ,MAAM,UAAU,EAAE,CAAC;YACvB,CAAC;QACL,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,qBAAqB,CAAC,GAAQ;QAChC,MAAM,UAAU,GAAG,IAAA,0BAAiB,EAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,+DAA+D;aAC1E,CAAC;QACN,CAAC;QAED,kCAAkC;QAClC,MAAM,GAAG,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QACzC,0DAA0D;QAC1D,8DAA8D;QAC9D,sEAAsE;QACtE,GAAG,CAAC,sBAAsB,GAAG,IAAI,CAAC;QAElC,2BAA2B;QAC3B,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAChE,gFAAgF;QAChF,8EAA8E;QAC9E,6EAA6E;QAC7E,oEAAoE;QACpE,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,kBAAkB,CAAC,UAAU,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;QACtF,MAAM,oBAAoB,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,oBAAoB,CAAC;YACxE,CAAC,CAAC,UAAU,CAAC,oBAAoB;YACjC,CAAC,CAAC,EAAE,CAAC;QAET,kEAAkE;QAClE,sEAAsE;QACtE,0DAA0D;QAC1D,MAAM,qBAAqB,GAAG,GAAG,CAAC,+BAA+B,CAAC,EAAE,uBAAuB,EAAE,KAAK,EAAE,CAAC,CAAC;QACtG,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,CAAC;YACjC,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClC,OAAO;oBACH,GAAG,qBAAqB;oBACxB,4BAA4B,EAAE,IAAI;oBAClC,oBAAoB;oBACpB,MAAM,EAAE,GAAG,qBAAqB,CAAC,MAAM,KAAK,oBAAoB,CAAC,MAAM,0DAA0D;iBACpI,CAAC;YACN,CAAC;YACD,OAAO,qBAAqB,CAAC;QACjC,CAAC;QAED,IAAI,OAAO,GAAG,CAAC,wBAAwB,KAAK,UAAU,EAAE,CAAC;YACrD,MAAM,eAAe,GAAG,GAAG,CAAC,wBAAwB,EAAE,CAAC;YACvD,IAAI,eAAe,IAAI,eAAe,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;gBACvD,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAClC,OAAO;wBACH,GAAG,eAAe;wBAClB,4BAA4B,EAAE,IAAI;wBAClC,oBAAoB;wBACpB,MAAM,EAAE,GAAG,eAAe,CAAC,MAAM,KAAK,oBAAoB,CAAC,MAAM,0DAA0D;qBAC9H,CAAC;gBACN,CAAC;gBACD,OAAO,eAAe,CAAC;YAC3B,CAAC;QACL,CAAC;QAED,OAAO,qBAAqB,CAAC;IACjC,CAAC;IAEC;;;;;;;OAOG;IACL,KAAK,CAAC,oBAAoB,CAAC,GAAQ,EAAE,aAAkB;QACjD,IAAI,CAAC,GAAG,CAAC,cAAc,IAAI,OAAO,GAAG,CAAC,cAAc,KAAK,QAAQ,EAAE,CAAC;YAChE,GAAG,CAAC,cAAc,GAAG,EAAE,YAAY,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,EAAE,yBAAyB,EAAE,KAAK,EAAE,CAAC;QACpI,CAAC;QAED,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,cAAc,IAAI,2BAAe,CAAC;QACzD,MAAM,KAAK,GAAG,GAAG,CAAC,cAAc,CAAC;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,0BAA0B,CAAC,CAAC,CAAC;QAC3E,MAAM,cAAc,GAAG,MAAM,CAAC,EAAE,CAAC,qBAAqB,CAAC,CAAC;QACxD,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,cAAc,GAAG,CAAC,CAAC;QAE9E,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACjB,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,yDAAyD,EAAE,OAAO,CAAC,CAAC;YACtF,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,sEAAsE;QACtE,qEAAqE;QACrE,mDAAmD;QACnD,MAAM,OAAO,GAAG,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,0BAA0B,IAAI,2BAAe,CAAC,0BAA0B,CAAC,CAAC;QAC1I,IAAI,KAAK,CAAC,YAAY,GAAG,CAAC,IAAI,KAAK,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,OAAO,EAAE,CAAC;YAC7F,2EAA2E;YAC3E,4EAA4E;YAC5E,uEAAuE;YACvE,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CACb,qCAAqC,KAAK,CAAC,YAAY,gBAAgB,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,kBAAM,CAAC,uBAAuB,CAAC,QAAQ,EACvJ,MAAM,CACT,CAAC;YACF,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC;YACvB,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC;QAC5B,CAAC;QAED,IAAI,eAAe,IAAI,KAAK,CAAC,YAAY,IAAI,cAAc,EAAE,CAAC;YAC1D,IAAI,CAAC,aAAa,CACd,uBAAuB,EACvB,oCAAoC,KAAK,CAAC,YAAY,IAAI,cAAc,KAAK;gBAC7E,uFAAuF,EACvF,MAAM,CACT,CAAC;YACF,oEAAoE;YACpE,wEAAwE;YACxE,sEAAsE;YACtE,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC;gBACnC,GAAG,CAAC,oBAAoB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACtC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;oBACb,GAAG,CAAC,MAAM,CAAC,GAAG,CACV,qFAAqF;wBACrF,qFAAqF;wBACrF,uFAAuF,EACvF,OAAO,CACV,CAAC;gBACN,CAAC;YACL,CAAC;YACD,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,KAAK,CAAC,YAAY,GAAG,CAAC,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;YAChD,MAAM,OAAO,GAAG,GAAG,GAAG,KAAK,CAAC,aAAa,CAAC;YAC1C,IAAI,OAAO,GAAG,eAAe,EAAE,CAAC;gBAC5B,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CACb,+BAA+B,OAAO,MAAM,eAAe,sBAAsB,EACjF,OAAO,CACV,CAAC;gBACF,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;QAED,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;QACtB,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC;QACxB,KAAK,CAAC,aAAa,GAAG,GAAG,CAAC;QAC1B,GAAG,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC9B,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CACb,cAAc,aAAa,yCAAyC,KAAK,CAAC,YAAY,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAC1I,MAAM,CACT,CAAC;QAEF,IAAI,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;YAEzD,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;gBACrB,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,qCAAqC,EAAE,MAAM,CAAC,CAAC;gBACjE,KAAK,CAAC,yBAAyB,GAAG,KAAK,CAAC;gBACxC,sEAAsE;gBACtE,wEAAwE;gBACxE,oEAAoE;gBACpE,oEAAoE;gBACpE,8DAA8D;gBAC9D,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACjC,IAAI,UAAU,CAAC,4BAA4B,IAAI,OAAO,GAAG,CAAC,2BAA2B,KAAK,UAAU,EAAE,CAAC;gBACnG,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC;oBACjE,CAAC,CAAC,UAAU,CAAC,oBAAoB,CAAC,MAAM;oBACxC,CAAC,CAAC,CAAC,CAAC;gBACR,IAAI,CAAC,KAAK,CAAC,yBAAyB,EAAE,CAAC;oBACnC,KAAK,CAAC,yBAAyB,GAAG,IAAI,CAAC;oBACvC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CACb,yCAAyC,cAAc,0DAA0D,EACjH,MAAM,CACT,CAAC;oBACF,OAAO,CAAC,OAAO,EAAE;yBACZ,IAAI,CAAC,KAAK,IAAI,EAAE;wBACb,MAAM,cAAc,GAAG,MAAM,GAAG,CAAC,2BAA2B,CAAC,iCAAiC,EAAE;4BAC5F,oBAAoB,EAAE,UAAU,CAAC,oBAAoB,IAAI,EAAE;4BAC3D,MAAM,EAAE,yBAAyB;yBACpC,CAAC,CAAC;wBACH,IAAI,cAAc,EAAE,OAAO,EAAE,CAAC;4BAC1B,KAAK,CAAC,yBAAyB,GAAG,KAAK,CAAC;4BACxC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CACb,oDAAoD,cAAc,CAAC,MAAM,IAAI,iBAAiB,EAAE,EAChG,MAAM,CACT,CAAC;wBACN,CAAC;oBACL,CAAC,CAAC;yBACD,KAAK,CAAC,CAAC,GAAQ,EAAE,EAAE;wBAChB,KAAK,CAAC,yBAAyB,GAAG,KAAK,CAAC;wBACxC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,wDAAwD,IAAA,wBAAe,EAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;oBAC/G,CAAC,CAAC,CAAC;gBACX,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,aAAa,CACd,qCAAqC,EACrC,qFAAqF,EACrF,MAAM,CACT,CAAC;gBACN,CAAC;YACL,CAAC;YACD,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,qCAAqC,UAAU,CAAC,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;YACrF,OAAO,KAAK,CAAC;QACjB,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACjC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,oCAAoC,IAAA,wBAAe,EAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YACvF,OAAO,KAAK,CAAC;QACjB,CAAC;gBAAS,CAAC;YACP,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;YACvB,GAAG,CAAC,kBAAkB,GAAG,KAAK,CAAC;QACnC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACD,kBAAkB;QACb,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,IAAI,CAAC,OAAO,CAAC,kBAAkB,GAAG,KAAK,CAAC;QACxC,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG;YAC1B,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,CAAC;YAChB,QAAQ,EAAE,KAAK;YACf,aAAa,EAAE,CAAC;YAChB,yBAAyB,EAAE,KAAK;SACnC,CAAC;QACF,iEAAiE;QACjE,2CAA2C;QAC3C,IAAI,CAAC,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAC7C,CAAC;IAEN;;;;;;;OAOG;IACH,KAAK,CAAC,sBAAsB,CAAC,SAAc,EAAE,IAAS,EAAE,YAAiB,MAAM;QAC1E,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;QACzB,MAAM,KAAK,GAAG,SAAS,KAAK,uBAAW,CAAC,GAAG,CAAC;QAC5C,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;QAE1C,IAAI,CAAC,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;YAC7D,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QAC9C,CAAC;QAED,uEAAuE;QACvE,uEAAuE;QACvE,qEAAqE;QACrE,uCAAuC;QACvC,MAAM,yBAAyB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,yBAAyB,CAAC;QAC3F,MAAM,WAAW,GAAG,GAAG,CAAC,aAAa,CAAC,cAAc,IAAI,CAAC,CAAC;QAC1D,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,GAAG,yBAAyB,EAAE,CAAC;YACvD,GAAG,CAAC,MAAM,CAAC,GAAG,CACV,eAAe,SAAS,IAAI,SAAS,8BAA8B,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,QAAQ,yBAAyB,OAAO;gBACnI,wDAAwD,EACxD,MAAM,CACT,CAAC;YACF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QAC1C,CAAC;QAED,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;QACxD,IAAI,OAAO,GAAG,IAAI,EAAE,CAAC;YACjB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,SAAS,IAAI,SAAS,8BAA8B,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAChK,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;QACjD,CAAC;QAED,MAAM,QAAQ,GAAG,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACxC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC,CAAC;QAErD,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YAC7C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,GAAG,KAAK,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,SAAS,QAAQ,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC5L,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,cAAc,CAAC,SAAc,EAAE,IAAS,EAAE,YAAiB,SAAS;QACrE,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;QACzB,MAAM,KAAK,GAAG,SAAS,KAAK,uBAAW,CAAC,GAAG,CAAC;QAC5C,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;QAE3C,IAAI,CAAC,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QAE7E,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;QACvD,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC;QAExC,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YAC7C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,GAAG,KAAK,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,SAAS,QAAQ,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC1L,CAAC;QACD,OAAO,IAAI,CAAC;IAClB,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,kBAAkB,CAAC,SAAc,EAAE,UAAe,EAAE,cAAmB,EAAE,cAAmB,EAAE,UAAe,MAAM;QACrH,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;YACnD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;YACzB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;YAEjC,wBAAwB;YACxB,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;gBACvB,kDAAkD;gBAClD,IAAI,CAAC,kBAAkB,CAAC,uBAAW,CAAC,IAAI,EAAE,CAAC,UAAU,EAAE,GAAG,OAAO,OAAO,CAAC,CAAC;gBAC1E,IAAI,CAAC,kBAAkB,CAAC,uBAAW,CAAC,GAAG,EAAE,cAAc,EAAE,GAAG,OAAO,WAAW,CAAC,CAAC;YACpF,CAAC;iBAAM,CAAC;gBACJ,kDAAkD;gBAClD,IAAI,CAAC,kBAAkB,CAAC,uBAAW,CAAC,GAAG,EAAE,CAAC,UAAU,EAAE,GAAG,OAAO,OAAO,CAAC,CAAC;gBACzE,IAAI,CAAC,kBAAkB,CAAC,uBAAW,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,OAAO,WAAW,CAAC,CAAC;YACrF,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAGD;;;;;OAKG;IACH,kBAAkB,CAAC,SAAc,EAAE,KAAU,EAAE,SAAc;QACzD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;QACzB,MAAM,KAAK,GAAG,CAAC,SAAS,KAAK,uBAAW,CAAC,GAAG,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;QAC/C,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QAExC,IAAI,CAAC,GAAG,CAAC,aAAa;YAAE,OAAO;QAE/B,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3D,6EAA6E;QAC7E,uEAAuE;QACvE,gEAAgE;QAChE,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,OAAO,GAAG,KAAK,CAAC;QAE7C,IAAI,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,SAAS,IAAI,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;YACpF,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC7D,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YAC7C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,QAAQ,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,SAAS,eAAe,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,WAAW,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACxP,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,kBAAkB,CAAC,QAAa;QAC5B,IAAI,QAAQ,KAAK,uBAAW,CAAC,GAAG,IAAI,QAAQ,KAAK,KAAK;YAAE,OAAO,uBAAW,CAAC,GAAG,CAAC;QAC/E,IAAI,QAAQ,KAAK,uBAAW,CAAC,IAAI,IAAI,QAAQ,KAAK,MAAM;YAAE,OAAO,uBAAW,CAAC,IAAI,CAAC;QAClF,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACH,iBAAiB,CAAC,KAAU,EAAE,gBAAqB,IAAI,EAAE,mBAAwB,IAAI;QACjF,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;QAC3D,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAE9B,oDAAoD;QACpD,6EAA6E;QAC7E,uDAAuD;QACvD,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC3D,IAAI,aAAa;YAAE,OAAO,aAAa,CAAC;QAExC,MAAM,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QACtE,IAAI,gBAAgB;YAAE,OAAO,gBAAgB,CAAC;QAE9C,MAAM,UAAU,GAAG;YACf,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,aAAa;YACpB,aAAa,EAAE,QAAQ;YACvB,aAAa,EAAE,aAAa;SAC/B,CAAC;QAEF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACjC,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;YACtD,IAAI,UAAU;gBAAE,OAAO,UAAU,CAAC;QACtC,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,2BAA2B,CAAC,QAAa,EAAE,QAAa,EAAE,OAAY,EAAE,MAAW,CAAC,EAAE,sBAA2B,KAAK;QACxH,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;QACzB,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ;YAAE,OAAO;QAEnC,wEAAwE;QACxE,2EAA2E;QAC3E,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,QAAQ,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC/B,CAAC;QAED,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACvB,MAAM,WAAW,GAAG,CAAC,QAAQ,CAAC,KAAK,KAAK,wBAAY,CAAC,MAAM,IAAI,QAAQ,CAAC,KAAK,KAAK,wBAAY,CAAC,OAAO,CAAC,CAAC;YACxG,MAAM,WAAW,GAAG,CAAC,QAAQ,CAAC,KAAK,KAAK,wBAAY,CAAC,MAAM,IAAI,QAAQ,CAAC,KAAK,KAAK,wBAAY,CAAC,OAAO,CAAC,CAAC;YACxG,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC9C,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE9C,+DAA+D;YAC/D,+DAA+D;YAC/D,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACnD,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACnD,MAAM,eAAe,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;YAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC/D,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC/D,MAAM,gBAAgB,GAAG,WAAW,IAAI,WAAW,CAAC;YAEpD,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;gBAC7C,GAAG,CAAC,MAAM,CAAC,GAAG,CACV,gDAAgD,QAAQ,CAAC,EAAE,UAAU,QAAQ,CAAC,IAAI,IAAI;oBACtF,SAAS,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,IAAI;oBAC9C,QAAQ,MAAM,CAAC,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,IAAI,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,IAAI,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI;oBACnK,SAAS,MAAM,CAAC,qBAAqB,CAAC,eAAe,EAAE,gBAAgB,IAAI,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,aAAa,OAAO,EAAE,EAChH,OAAO,CACV,CAAC;YACN,CAAC;YAED,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;gBACtB,4CAA4C;gBAC5C,MAAM,cAAc,GAAG,WAAW,IAAI,QAAQ,CAAC,IAAI,CAAC;gBACpD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,cAAc,EAAE,eAAe,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;gBAChG,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;oBACb,MAAM,OAAO,GAAG;wBACZ,IAAI,EAAE,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,8BAA8B;wBACpG,IAAI,EAAE,cAAc;wBACpB,MAAM,EAAE,eAAe;wBACvB,OAAO;wBACP,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;qBACjB,CAAC;oBACF,GAAG,CAAC,sBAAsB,GAAG,OAAO,CAAC;oBAErC,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;wBAC5B,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CACb,iEAAiE,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC,QAAQ,cAAc,WAAW,OAAO,uBAAuB,EACrK,MAAM,CACT,CAAC;wBACF,8DAA8D;wBAC9D,4DAA4D;wBAC5D,2DAA2D;oBAC/D,CAAC;yBAAM,CAAC;wBACJ,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CACb,yCAAyC,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC,QAAQ,cAAc,WAAW,OAAO,wBAAwB,EAC9I,OAAO,CACV,CAAC;wBAEF,IAAI,GAAG,CAAC,oBAAoB,EAAE,CAAC;4BAC3B,MAAM,GAAG,GAAG,IAAI,KAAK,CACjB,6CAA6C,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,cAAc,WAAW,OAAO,EAAE,CAC3H,CAAC;4BACD,GAAW,CAAC,IAAI,GAAG,8BAA8B,CAAC;4BACnD,MAAM,GAAG,CAAC;wBACd,CAAC;oBACL,CAAC;oBAED,6DAA6D;oBAC7D,6DAA6D;oBAC7D,iEAAiE;oBACjE,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;wBACxB,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,yCAAyC,CAAC;6BAC3F,KAAK,CAAC,CAAC,GAAQ,EAAE,EAAE;4BAChB,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,oDAAoD,IAAA,wBAAe,EAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;4BACvG,GAAG,CAAC,cAAc,GAAG,EAAE,GAAG,GAAG,CAAC,cAAc,EAAE,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;wBAC9E,CAAC,CAAC;6BACD,OAAO,CAAC,GAAG,EAAE;4BACV,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC;wBAChC,CAAC,CAAC,CAAC;oBACX,CAAC;yBAAM,CAAC;wBACJ,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CACb,gHAAgH,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC,QAAQ,cAAc,EAAE,EAC7K,MAAM,CACT,CAAC;oBACN,CAAC;gBACL,CAAC;YACL,CAAC;iBAAM,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;gBAC7B,oDAAoD;gBACpD,MAAM,WAAW,GAAG,WAAW,IAAI,QAAQ,CAAC,IAAI,CAAC;gBACjD,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;YACpF,CAAC;QACL,CAAC;QAED,0CAA0C;QAC1C,sEAAsE;QACtE,mEAAmE;QACnE,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC7C,IAAI,YAAY,EAAE,CAAC;YACf,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;YACxF,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,YAAY,EAAE,GAAG,OAAO,MAAM,CAAC,CAAC;YAC1E,CAAC;QACL,CAAC;IACL,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,aAAa,CAAC,gBAAqB,IAAI;QACzC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;QAEzB,mCAAmC;QACnC,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC;YAAE,OAAO;QAC/E,IAAI,CAAC,GAAG,CAAC,aAAa;YAAE,OAAO;QAE/B,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACtG,MAAM,uBAAuB,GAAG,CAAC,aAAa,KAAK,KAAK,IAAI,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7G,IAAI,IAAI,GAAG,OAAO,IAAI,uBAAuB,CAAC;QAE9C,IAAI,uBAAuB,IAAI,OAAO,IAAI,uBAAuB,KAAK,OAAO,EAAE,CAAC;YAC5E,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CACb,sCAAsC,uBAAuB,8BAA8B,OAAO,KAAK,EACvG,MAAM,CACT,CAAC;YACF,IAAI,GAAG,OAAO,CAAC;QACnB,CAAC;QAED,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC;QACnC,MAAM,SAAS,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,uBAAW,CAAC,GAAG,CAAC,CAAC,CAAC,uBAAW,CAAC,IAAI,CAAC;QACxE,MAAM,OAAO,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;QAC1D,MAAM,SAAS,GAAG,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAElD,iDAAiD;QACjD,IAAI,SAAS,GAAG,IAAI,EAAE,CAAC;YACnB,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;gBAC7C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,wCAAwC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YAC3I,CAAC;YACD,OAAO;QACX,CAAC;QAED,gCAAgC;QAChC,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;QAEhE,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YAC7C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,sBAAsB,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpF,CAAC;QAED,yCAAyC;QACzC,GAAG,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC;QAE1B,mDAAmD;QACnD,MAAM,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACjC,CAAC;IAED;;;;;;OAMG;IACH,kBAAkB,CAAC,UAAe;QAC9B,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACzD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,EAAE,CAAC;QACxG,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;QACzB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,YAAY,GAAG,CAAC,CAAC;QAErB,0CAA0C;QAC1C,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,IAAI,IAAI,CAAC;gBAAE,SAAS;YAExB,IAAI,KAAK,CAAC,IAAI,KAAK,uBAAW,CAAC,GAAG,EAAE,CAAC;gBACjC,iCAAiC;gBACjC,WAAW,IAAI,IAAI,CAAC;YACxB,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,uBAAW,CAAC,IAAI,EAAE,CAAC;gBACzC,iCAAiC;gBACjC,YAAY,IAAI,IAAI,CAAC;YACzB,CAAC;QACL,CAAC;QAED,yDAAyD;QACzD,qEAAqE;QACrE,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACtG,IAAI,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;YACvC,IAAI,OAAO,KAAK,KAAK;gBAAE,WAAW,IAAI,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC;;gBACvD,YAAY,IAAI,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC;QAC/C,CAAC;QAED,8DAA8D;QAC9D,qEAAqE;QACrE,6EAA6E;QAC7E,2DAA2D;QAC3D,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;QAEjD,0CAA0C;QAC1C,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,KAAK,SAAS,EAAE,CAAC;YAC7F,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACnF,CAAC;QACD,MAAM,QAAQ,GAAG,IAAA,wBAAiB,EAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QAClE,MAAM,SAAS,GAAG,IAAA,wBAAiB,EAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QAEnE,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC;QACtE,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC;QAE1E,MAAM,OAAO,GAAG,YAAY,KAAK,CAAC,IAAI,aAAa,KAAK,CAAC,CAAC;QAE1D,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,GAAG,CAAC,MAAM,CAAC,GAAG,CACV,8DAA8D,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,UAAU,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,EAC/I,MAAM,CACT,CAAC;QACN,CAAC;QAED,OAAO;YACH,OAAO;YACP,SAAS,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE;YACrD,OAAO,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE;SAC9D,CAAC;IACL,CAAC;IAGF;;;;;;;;OAQG;IACH,uBAAuB,CAAC,WAAgB,EAAE,SAAc,EAAE,OAAY;QAClE,IAAI,CAAC,WAAW;YAAE,OAAO,SAAS,CAAC;QAEnC,qEAAqE;QACrE,uEAAuE;QACvE,sCAAsC;QACtC,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,gEAAgE;QAChE,0EAA0E;QAC1E,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,IAAA,mBAAY,EAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YAC9D,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;YACpE,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YACjD,CAAC;YACD,OAAO,WAAW,CAAC;QACvB,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CACvB,mDAAmD,WAAW,KAAK,IAAA,wBAAe,EAAC,GAAG,CAAC,yBAAyB,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,wDAAwD,EACvM,OAAO,CACV,CAAC;YACF,OAAO,SAAS,CAAC;QACrB,CAAC;IACL,CAAC;IAEA;;;;;;;;OAQG;IACJ,KAAK,CAAC,qBAAqB,CAAC,MAAW,EAAE,UAAe,IAAI,EAAE,UAAe,EAAE;QAC1E,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;QACzB,2EAA2E;QAC3E,4EAA4E;QAC5E,gEAAgE;QAChE,MAAM,eAAe,GAAG,IAAA,0DAAmC,EAAC,OAAO,CAAC,CAAC;QACrE,MAAM,IAAI,GAAG,MAAM,EAAE,IAAI,CAAC;QAC1B,MAAM,QAAQ,GAAG,MAAM,EAAE,QAAQ,CAAC;QAClC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAErC,wCAAwC;QACxC,gEAAgE;QAChE,0DAA0D;QAC1D,4EAA4E;QAC5E,+DAA+D;QAC/D,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAChC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CACd,6DAA6D,MAAM,CAAC,QAAQ,+DAA+D,EAC3I,MAAM,CACT,CAAC;QACN,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,KAAK,KAAK,CAAC;QAE3C,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;QACxC,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;QAExC,MAAM,eAAe,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC;QACtD,MAAM,eAAe,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC;QAErD,IAAI,eAAe,KAAK,SAAS,IAAI,eAAe,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QAEjF,4DAA4D;QAC5D,qEAAqE;QACrE,MAAM,kBAAkB,GAAU,EAAE,CAAC;QACrC,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;QACxC,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;QAExC,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,IAAA,wBAAiB,EAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YAC/D,kBAAkB,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,uBAAW,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC;QACrG,CAAC;aAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,IAAA,wBAAiB,EAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YAC/D,kBAAkB,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,uBAAW,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC;QACpG,CAAC;QAED,IAAI,QAAQ,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,MAAM,SAAS,GAAG,IAAA,wBAAiB,EAAC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YACtE,MAAM,SAAS,GAAG,IAAI,CAAC,uBAAuB,CAAC,YAAY,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YACjF,kBAAkB,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,uBAAW,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;QAC3G,CAAC;aAAM,IAAI,QAAQ,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACxC,MAAM,SAAS,GAAG,IAAA,wBAAiB,EAAC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YACtE,MAAM,SAAS,GAAG,IAAI,CAAC,uBAAuB,CAAC,YAAY,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YACjF,kBAAkB,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,uBAAW,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;QAC1G,CAAC;QAED,MAAM,mBAAmB,GAAG,IAAI,CAAC,iCAAiC,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC7F,IAAI,mBAAmB,EAAE,CAAC;YACtB,kBAAkB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,WAAW,GAAkB,IAAI,CAAC;QACrC,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC;QACpE,IAAI,OAAO,EAAE,CAAC;YACV,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzB,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC3C,IAAI,aAAa,KAAK,SAAS,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC,GAAG,kBAAM,CAAC,wBAAwB,EAAE,CAAC;gBACjG,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CACrB,mDAAmD,OAAO,eAAe,WAAW,GAAG,aAAa,SAAS,EAC7G,MAAM,CACT,CAAC;gBACF,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;QAEA,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC;QAE5D,qEAAqE;QACrE,yEAAyE;QACzE,wEAAwE;QACxE,IAAI,OAAO,IAAI,kBAAkB,EAAE,CAAC;YAChC,IAAI,CAAC;gBACD,MAAM,kBAAkB,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;YACpG,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAChB,IAAI,eAAe,KAAK,uDAAgC,CAAC,SAAS,EAAE,CAAC;oBACjE,qEAAqE;oBACrE,kBAAkB,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;oBAC/D,MAAM,GAAG,CAAC;gBACd,CAAC;gBACD,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CACb,uCAAuC,OAAO,KAAK,IAAA,wBAAe,EAAC,GAAG,CAAC,EAAE,EACzE,MAAM,CACT,CAAC;YACN,CAAC;QACL,CAAC;QAED,IAAI,CAAC,wBAAwB,CAAC,kBAAkB,CAAC,CAAC;QAElD,IAAI,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YAChD,0EAA0E;YAC1E,IAAI,OAAO,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC;gBACrB,MAAM,MAAM,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,kBAAM,CAAC,wBAAwB,CAAC;gBAC7E,KAAK,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC;oBAC5B,IAAI,EAAE,GAAG,MAAM;wBAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACvC,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IACjB,CAAC;CACJ;AAED,kBAAe,UAAU,CAAA;AAEzB,MAAM,CAAC,OAAO,GAAG,UAAU,CAAA"}
1
+ {"version":3,"file":"accounting.js","sourceRoot":"","sources":["../../../modules/order/accounting.ts"],"names":[],"mappings":"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"}
@@ -445,5 +445,5 @@ export declare function calculateGeometricSizeForSpreadCorrection(manager: any,
445
445
  * @returns {Promise<import('./types').SpreadCorrectionResult>}
446
446
  * @throws {Error} If preferredSide is invalid.
447
447
  */
448
- export declare function prepareSpreadCorrectionOrders(manager: any, preferredSide: any): Promise<any>;
448
+ export declare function prepareSpreadCorrectionOrders(manager: any, preferredSide: any, outOfSpread?: number): Promise<any>;
449
449
  //# sourceMappingURL=grid.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../../modules/order/grid.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../../modules/order/grid.ts"],"names":[],"mappings":"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"}
@@ -172,6 +172,7 @@ function _snapshotFundState(manager) {
172
172
  const math_1 = require("./utils/math");
173
173
  const order_1 = require("./utils/order");
174
174
  const system_1 = require("./utils/system");
175
+ const withPoolRef_1 = require("./utils/withPoolRef");
175
176
  const market_adapter_whitelist_1 = require("../market_adapter_whitelist");
176
177
  const errors_1 = require("../utils/errors");
177
178
  function calculateGapSlots(incrementPercent, targetSpreadPercent, gridLimitsOverride) {
@@ -298,9 +299,10 @@ async function _getSizingContext(manager, side, { skipRecalc = false } = {}) {
298
299
  const targetBuy = Math.max(0, manager.config.activeOrders?.buy ?? 1);
299
300
  const targetSell = Math.max(0, manager.config.activeOrders?.sell ?? 1);
300
301
  const totalTarget = targetBuy + targetSell;
301
- const isBtsSide = (isBuy && manager.config.assetB === 'BTS') || (!isBuy && manager.config.assetA === 'BTS');
302
+ const btsOrderType = (0, math_1.getBtsSide)(manager.config?.assetA, manager.config?.assetB);
303
+ const isBtsSide = isBuy ? (btsOrderType === constants_1.ORDER_TYPES.BUY) : (btsOrderType === constants_1.ORDER_TYPES.SELL);
302
304
  const formulaBudget = (0, math_1.calculateOrderCreationFees)(manager.config.assetA, manager.config.assetB, totalTarget, manager.config?.feeParams?.BTS_RESERVATION_MULTIPLIER);
303
- budget = (0, order_1.adjustBudgetForBtsFees)(budget, isBtsSide, formulaBudget, manager.config.min_BTS_value || 0, Format.toFiniteNumber(manager.funds?.btsBalance?.free, 0), Format.toFiniteNumber(isBuy ? (snap.allocatedBuy || 0) : (snap.allocatedSell || 0)), Format.toFiniteNumber(snap.allocatedBuy || 0)
305
+ budget = (0, math_1.adjustBudgetForBtsFees)(budget, isBtsSide, formulaBudget, manager.config.min_BTS_value || 0, Format.toFiniteNumber(manager.funds?.btsBalance?.free, 0), Format.toFiniteNumber(isBuy ? (snap.allocatedBuy || 0) : (snap.allocatedSell || 0)), Format.toFiniteNumber(snap.allocatedBuy || 0)
304
306
  + Format.toFiniteNumber(snap.allocatedSell || 0));
305
307
  }
306
308
  return {
@@ -475,17 +477,6 @@ function createOrderGrid(config) {
475
477
  function _clearOrderCachesLogic(manager) {
476
478
  // Replace frozen master grid with fresh empty frozen Map (COW pattern)
477
479
  manager.orders = Object.freeze(new Map());
478
- // Clear index Sets with fresh empty Sets (mutable for _applyOrderUpdate)
479
- if (manager._ordersByState) {
480
- for (const key of Object.keys(manager._ordersByState)) {
481
- manager._ordersByState[key] = new Set();
482
- }
483
- }
484
- if (manager._ordersByType) {
485
- for (const key of Object.keys(manager._ordersByType)) {
486
- manager._ordersByType[key] = new Set();
487
- }
488
- }
489
480
  }
490
481
  /**
491
482
  * Restore a persisted grid snapshot onto a manager instance.
@@ -511,8 +502,7 @@ async function loadGrid(manager, grid, boundaryIdx = null) {
511
502
  manager.funds.btsFeesOwed = savedBtsFeesOwed;
512
503
  // Restore boundary index for StrategyEngine
513
504
  if (typeof boundaryIdx === 'number') {
514
- manager.boundaryIdx = boundaryIdx;
515
- // FIX: Use consistent optional chaining pattern for logger calls
505
+ manager._restoreBoundary(boundaryIdx);
516
506
  manager.logger?.log?.(`Restored boundary index: ${boundaryIdx}`, 'info');
517
507
  }
518
508
  // Reassign slot types for virtual slots based on current boundary.
@@ -522,7 +512,7 @@ async function loadGrid(manager, grid, boundaryIdx = null) {
522
512
  if (typeof boundaryIdx === 'number') {
523
513
  const gapSlots = calculateGapSlots(manager.config?.incrementPercent, manager.config?.targetSpreadPercent, manager.config?.gridLimits);
524
514
  const buyEndIdx = boundaryIdx;
525
- const sellStartIdx = boundaryIdx + gapSlots + 1;
515
+ const sellStartIdx = (0, math_1.getSellStartIdx)(boundaryIdx, gapSlots);
526
516
  let reassignCount = 0;
527
517
  grid = grid.map((slot, i) => {
528
518
  if (slot.state === constants_1.ORDER_STATES.VIRTUAL && !slot.orderId) {
@@ -615,7 +605,7 @@ async function initializeGrid(manager) {
615
605
  if (typeof mpRaw !== 'number' || isNaN(mpRaw)) {
616
606
  try {
617
607
  const { BitShares } = require('../bitshares_client');
618
- const derived = await (0, system_1.derivePrice)(BitShares, manager.config.assetA, manager.config.assetB, manager.config.priceMode || 'auto');
608
+ const derived = await (0, withPoolRef_1.derivePriceWithPoolRef)(BitShares, manager.config.assetA, manager.config.assetB, manager.config.priceMode || 'auto', manager.config.poolRef);
619
609
  if (derived) {
620
610
  manager.logger?.log?.(`[DIAGNOSTIC] initializeGrid: Derived new startPrice=${derived.toFixed(8)} (mode=${manager.config.priceMode || 'auto'})`, 'info');
621
611
  manager.config.startPrice = Number(derived);
@@ -654,7 +644,7 @@ async function initializeGrid(manager) {
654
644
  else if (gpMode === 'pool' || gpMode === 'book') {
655
645
  try {
656
646
  const { BitShares } = require('../bitshares_client');
657
- const derived = await (0, system_1.derivePrice)(BitShares, manager.config.assetA, manager.config.assetB, gpMode);
647
+ const derived = await (0, withPoolRef_1.derivePriceWithPoolRef)(BitShares, manager.config.assetA, manager.config.assetB, gpMode, manager.config.poolRef);
658
648
  if (derived) {
659
649
  gp = Number(derived);
660
650
  gpSource = gpMode;
@@ -798,7 +788,7 @@ async function initializeGrid(manager) {
798
788
  // RC-8: Update boundary with notification to dependent systems
799
789
  // Persist master boundary for StrategyEngine
800
790
  if (manager.boundaryIdx !== boundaryIdx) {
801
- manager.boundaryIdx = boundaryIdx;
791
+ manager._restoreBoundary(boundaryIdx);
802
792
  // RC-8: Notify StrategyEngine of boundary change (if method exists)
803
793
  if (typeof manager.notifyBoundaryUpdate === 'function') {
804
794
  try {
@@ -1053,10 +1043,18 @@ async function _recalculateGridOrderSizesFromBlockchain(manager, orderType, opti
1053
1043
  const ctx = await _getSizingContext(manager, sideName);
1054
1044
  if (!ctx)
1055
1045
  return collectActions ? { actions: [], changed: false } : undefined;
1056
- // Get ALL slots for this side, sorted for calculateRotationOrderSizes
1046
+ // Get ALL slots for this side, sorted for calculateRotationOrderSizes.
1057
1047
  // SELL: sorted ASC (Market to Edge)
1058
1048
  // BUY: sorted ASC (Edge to Market)
1059
- const allSideSlots = Array.from(manager.orders.values())
1049
+ //
1050
+ // When a working grid is available (COW mode), read types from it
1051
+ // instead of manager.orders. This ensures slots whose type changed
1052
+ // due to a boundary shift (e.g. SPREAD→BUY) are included in the
1053
+ // correct side's size calculation — using manager.orders here would
1054
+ // filter by stale pre-shift types and miss the crossers, producing a
1055
+ // budget allocation that doesn't match the post-shift grid structure.
1056
+ const orderSource = collectActions ? workingGrid : manager.orders;
1057
+ const allSideSlots = Array.from(orderSource.values())
1060
1058
  .filter((o) => o.type === orderType)
1061
1059
  .sort((a, b) => a.price - b.price);
1062
1060
  if (allSideSlots.length === 0)
@@ -1168,32 +1166,43 @@ async function updateGridFromBlockchainSnapshot(manager, orderType = 'both', fro
1168
1166
  const workingGrid = new WorkingGrid(manager.orders, { baseVersion: manager._gridVersion });
1169
1167
  const allActions = [];
1170
1168
  let hasWorkingChanges = false;
1171
- // Calculate size updates for each side (via existing sizing function in COW mode)
1172
- if (orderType === constants_1.ORDER_TYPES.BUY || orderType === 'both') {
1173
- const buyResult = await _recalculateGridOrderSizesFromBlockchain(manager, constants_1.ORDER_TYPES.BUY, { workingGrid });
1174
- allActions.push(...buyResult.actions);
1175
- hasWorkingChanges = hasWorkingChanges || buyResult.changed;
1176
- }
1177
- if (orderType === constants_1.ORDER_TYPES.SELL || orderType === 'both') {
1178
- const sellResult = await _recalculateGridOrderSizesFromBlockchain(manager, constants_1.ORDER_TYPES.SELL, { workingGrid });
1179
- allActions.push(...sellResult.actions);
1180
- hasWorkingChanges = hasWorkingChanges || sellResult.changed;
1181
- }
1182
- // If the boundary is shifting, reassign slot types in the WorkingGrid now.
1183
- // This ensures the COW commit delivers consistent types + boundaryIdx in one
1184
- // atomic operation — manager.boundaryIdx must not be touched before the commit.
1185
1169
  const newBoundary = (overrideBoundaryIdx !== null) ? overrideBoundaryIdx : manager.boundaryIdx;
1170
+ // REASSIGN SLOT TYPES FIRST when the boundary is shifting.
1171
+ // _recalculateGridOrderSizesFromBlockchain needs to see the corrected
1172
+ // types so that slots which cross the boundary (e.g. SPREAD→BUY) are
1173
+ // included in the correct side's budget allocation. Running assignGridRoles
1174
+ // after the size calc means crossers keep their pre-shift sizes, producing
1175
+ // an allocation that doesn't match the post-shift grid structure.
1176
+ //
1177
+ // NOTE: syncBoundaryToFunds is a pure computation (no eager write), so
1178
+ // manager.boundaryIdx still carries the pre-shift value here. The
1179
+ // overrideBoundaryIdx !== manager.boundaryIdx check correctly detects
1180
+ // that a shift is needed. The boundary is only written atomically
1181
+ // inside _commitWorkingGrid via _setBoundary.
1186
1182
  if (overrideBoundaryIdx !== null && overrideBoundaryIdx !== manager.boundaryIdx) {
1187
1183
  const gapSlots = calculateGapSlots(manager.config.incrementPercent, manager.config.targetSpreadPercent, manager.config.gridLimits);
1188
1184
  const allSlots = Array.from(workingGrid.values())
1189
1185
  .filter((s) => s.price != null)
1190
1186
  .sort((a, b) => a.price - b.price);
1191
- const updatedSlots = (0, order_1.assignGridRoles)(allSlots, newBoundary, gapSlots, constants_1.ORDER_TYPES, constants_1.ORDER_STATES);
1187
+ const updatedSlots = (0, order_1.assignGridRoles)(allSlots, newBoundary, gapSlots, constants_1.ORDER_TYPES, constants_1.ORDER_STATES, { assignOnChain: true });
1192
1188
  for (const slot of updatedSlots) {
1193
1189
  workingGrid.set(slot.id, slot);
1194
1190
  }
1195
1191
  hasWorkingChanges = true;
1196
1192
  }
1193
+ // Calculate size updates for each side (via existing sizing function in COW mode).
1194
+ // _recalculateGridOrderSizesFromBlockchain reads types from the working grid when
1195
+ // one is passed, so boundary-crossing slots are now correctly classified.
1196
+ if (orderType === constants_1.ORDER_TYPES.BUY || orderType === 'both') {
1197
+ const buyResult = await _recalculateGridOrderSizesFromBlockchain(manager, constants_1.ORDER_TYPES.BUY, { workingGrid });
1198
+ allActions.push(...buyResult.actions);
1199
+ hasWorkingChanges = hasWorkingChanges || buyResult.changed;
1200
+ }
1201
+ if (orderType === constants_1.ORDER_TYPES.SELL || orderType === 'both') {
1202
+ const sellResult = await _recalculateGridOrderSizesFromBlockchain(manager, constants_1.ORDER_TYPES.SELL, { workingGrid });
1203
+ allActions.push(...sellResult.actions);
1204
+ hasWorkingChanges = hasWorkingChanges || sellResult.changed;
1205
+ }
1197
1206
  // Return COW result only if there are changes
1198
1207
  if (allActions.length === 0 && !hasWorkingChanges) {
1199
1208
  return null;
@@ -1275,9 +1284,14 @@ async function compareGrids(calculatedGrid, persistedGrid, manager = null) {
1275
1284
  const computeSideIdeals = (activeOrders, type, ctx) => {
1276
1285
  if (!manager || !ctx || ctx.budget <= 0 || activeOrders.length === 0)
1277
1286
  return activeOrders;
1278
- // Identify ALL slots currently assigned to this side.
1279
- // Ideal sizing must use the full slot count to determine geometric share per slot.
1280
- const sideSlots = Array.from(manager.orders.values())
1287
+ // Identify ALL slots currently assigned to this side from the calculated
1288
+ // grid snapshot (not a fresh read from manager.orders). Using the snapshot
1289
+ // avoids TOCTOU races and ensures the slot classification is consistent with
1290
+ // the grid state used for the RMS computation. If a boundary shift is pending
1291
+ // (set via _gridSidesUpdated but not yet committed through the COW pipeline),
1292
+ // the types in manager.orders are stale — reading from the snapshot matches
1293
+ // what the rest of the comparison sees.
1294
+ const sideSlots = calculatedSnap
1281
1295
  .filter((o) => o.type === type)
1282
1296
  .sort((a, b) => (a.price ?? 0) - (b.price ?? 0));
1283
1297
  if (sideSlots.length === 0)
@@ -1474,7 +1488,7 @@ async function checkSpreadCondition(manager, _BitShares, updateOrdersOnChainBatc
1474
1488
  const gapSlots = calculateGapSlots(manager.config.incrementPercent, manager.config.targetSpreadPercent, manager.config.gridLimits);
1475
1489
  const railLen = allSlots.length;
1476
1490
  const buyEndIdx = manager.boundaryIdx;
1477
- const sellStartIdx = manager.boundaryIdx + gapSlots + 1;
1491
+ const sellStartIdx = (0, math_1.getSellStartIdx)(manager.boundaryIdx, gapSlots);
1478
1492
  const buySideCount = Math.max(0, Math.min(railLen, buyEndIdx + 1));
1479
1493
  const sellSideCount = Math.max(0, railLen - sellStartIdx);
1480
1494
  // Structural resync: both sides have room but one is empty.
@@ -1500,7 +1514,7 @@ async function checkSpreadCondition(manager, _BitShares, updateOrdersOnChainBatc
1500
1514
  if (!decision.side)
1501
1515
  return false;
1502
1516
  // Perform spread correction by placing orders on the chosen side.
1503
- correction = await prepareSpreadCorrectionOrders(manager, decision.side);
1517
+ correction = await prepareSpreadCorrectionOrders(manager, decision.side, manager.outOfSpread);
1504
1518
  if (!correction)
1505
1519
  return false;
1506
1520
  let placeCount = correction.ordersToPlace?.length || 0;
@@ -1511,7 +1525,7 @@ async function checkSpreadCondition(manager, _BitShares, updateOrdersOnChainBatc
1511
1525
  const oppositeSide = decision.side === constants_1.ORDER_TYPES.BUY ? constants_1.ORDER_TYPES.SELL : constants_1.ORDER_TYPES.BUY;
1512
1526
  manager.logger?.log?.(`[SPREAD] Side ${decision.side} produced zero candidates; ` +
1513
1527
  `trying opposite side ${oppositeSide}.`, 'debug');
1514
- const oppositeCorrection = await prepareSpreadCorrectionOrders(manager, oppositeSide);
1528
+ const oppositeCorrection = await prepareSpreadCorrectionOrders(manager, oppositeSide, manager.outOfSpread);
1515
1529
  if (oppositeCorrection) {
1516
1530
  correction = oppositeCorrection;
1517
1531
  placeCount = correction.ordersToPlace?.length || 0;
@@ -1553,7 +1567,7 @@ async function checkSpreadCondition(manager, _BitShares, updateOrdersOnChainBatc
1553
1567
  const decision = determineOrderSideByFunds(manager, lastPrice);
1554
1568
  if (!decision.side)
1555
1569
  return { side: false };
1556
- const c = await prepareSpreadCorrectionOrders(manager, decision.side);
1570
+ const c = await prepareSpreadCorrectionOrders(manager, decision.side, manager.outOfSpread);
1557
1571
  return { side: true, correction: c };
1558
1572
  });
1559
1573
  if (!rePlanResult.side) {
@@ -1859,7 +1873,7 @@ async function calculateGeometricSizeForSpreadCorrection(manager, targetType) {
1859
1873
  * @returns {Promise<import('./types').SpreadCorrectionResult>}
1860
1874
  * @throws {Error} If preferredSide is invalid.
1861
1875
  */
1862
- async function prepareSpreadCorrectionOrders(manager, preferredSide) {
1876
+ async function prepareSpreadCorrectionOrders(manager, preferredSide, outOfSpread = 0) {
1863
1877
  // FIX: Validate preferredSide parameter to prevent silent logic errors
1864
1878
  if (preferredSide !== constants_1.ORDER_TYPES.BUY && preferredSide !== constants_1.ORDER_TYPES.SELL) {
1865
1879
  throw new Error(`Invalid preferredSide: ${preferredSide}. Must be '${constants_1.ORDER_TYPES.BUY}' or '${constants_1.ORDER_TYPES.SELL}'.`);
@@ -1868,7 +1882,7 @@ async function prepareSpreadCorrectionOrders(manager, preferredSide) {
1868
1882
  const ordersToUpdate = [];
1869
1883
  const railType = preferredSide;
1870
1884
  const sideName = railType === constants_1.ORDER_TYPES.BUY ? 'buy' : 'sell';
1871
- const configuredMissingSlots = Number(manager.outOfSpread || 0);
1885
+ const configuredMissingSlots = Number(outOfSpread || 0);
1872
1886
  const missingSlots = configuredMissingSlots > 0
1873
1887
  ? Math.floor(configuredMissingSlots)
1874
1888
  : 1;
@@ -1878,38 +1892,29 @@ async function prepareSpreadCorrectionOrders(manager, preferredSide) {
1878
1892
  // 1. Priority: Update existing PARTIAL orders at the edge (Highest Buy / Lowest Sell).
1879
1893
  // 2. Fallback: Activate SPREAD slots at the edge (Lowest Spread for Buy / Highest Spread for Sell).
1880
1894
  const allOrders = Array.from(manager.orders.values());
1881
- let edgePartial = null;
1882
- const partials = allOrders
1883
- .filter((o) => o.type === railType && o.state === constants_1.ORDER_STATES.PARTIAL)
1884
- .sort((a, b) => railType === constants_1.ORDER_TYPES.BUY ? b.price - a.price : a.price - b.price);
1885
- if (partials.length > 0) {
1886
- edgePartial = partials[0];
1887
- manager.logger?.log?.(`[SPREAD-CORRECTION] Identified partial order at ${edgePartial.price} for update`, 'debug');
1888
- }
1889
- // Boundary-correct type computation. Used by both candidate pools below to ensure
1890
- // spread correction does not re-activate slots whose current boundary position
1891
- // places them on the wrong side or in the spread zone — doing so would compound
1892
- // inventory at prices where the bot already traded.
1895
+ // Boundary-correct type computation — hoisted before edge-partial and
1896
+ // candidate filters so all call sites (including the edge-partial filter
1897
+ // which now uses getSlotCorrectType) can access it.
1893
1898
  //
1894
- // The natural type of a slot is derived from its position in the price-sorted rail
1895
- // relative to boundaryIdx + gapSlots: indices in [0, boundaryIdx] are BUY, indices
1896
- // in [boundaryIdx + gapSlots + 1, N-1] are SELL, the middle band is SPREAD.
1899
+ // The natural type of a slot is derived from its position in the price-sorted
1900
+ // rail relative to boundaryIdx + gapSlots: indices in [0, boundaryIdx] are
1901
+ // BUY, indices in [boundaryIdx + gapSlots + 1, N-1] are SELL, the middle
1902
+ // band is SPREAD.
1897
1903
  const allSlotsByPrice = allOrders
1898
1904
  .filter((o) => o.price != null && Number.isFinite(o.price))
1899
1905
  .sort((a, b) => a.price - b.price);
1900
1906
  const slotIndexMap = new Map(allSlotsByPrice.map((o, i) => [o.id, i]));
1901
1907
  const gapSlots = calculateGapSlots(manager.config?.incrementPercent, manager.config?.targetSpreadPercent, manager.config?.gridLimits);
1902
- // Sync boundary from current fund state to avoid stale boundaryIdx causing
1903
- // getSlotCorrectType to misclassify slots (e.g. after fills shifted the
1904
- // boundary but the COW commit hasn't updated it yet). This is safe under
1905
- // the grid lock — no concurrent modifications can race with this read.
1908
+ // Compute boundary from current fund state for local slot classification.
1909
+ // syncBoundaryToFunds is a pure computation — it does NOT mutate
1910
+ // manager.boundaryIdx. The boundary is only updated atomically through
1911
+ // _commitWorkingGrid in the COW pipeline via _setBoundary.
1906
1912
  const boundarySync = (0, system_1.syncBoundaryToFunds)(manager);
1907
- if (boundarySync.changed && boundarySync.newIdx !== undefined) {
1908
- manager.boundaryIdx = boundarySync.newIdx;
1909
- }
1910
- const bIdx = manager.boundaryIdx ?? 0;
1913
+ const bIdx = (boundarySync.changed && boundarySync.newIdx !== undefined)
1914
+ ? boundarySync.newIdx
1915
+ : (manager.boundaryIdx ?? 0);
1911
1916
  const buyEndIdx = bIdx;
1912
- const sellStartIdx = bIdx + Number(gapSlots) + 1;
1917
+ const sellStartIdx = (0, math_1.getSellStartIdx)(bIdx, gapSlots);
1913
1918
  const getSlotCorrectType = (slot) => {
1914
1919
  const idx = slotIndexMap.get(slot.id);
1915
1920
  if (idx === undefined)
@@ -1920,6 +1925,15 @@ async function prepareSpreadCorrectionOrders(manager, preferredSide) {
1920
1925
  return constants_1.ORDER_TYPES.SELL;
1921
1926
  return constants_1.ORDER_TYPES.SPREAD;
1922
1927
  };
1928
+ let edgePartial = null;
1929
+ const partials = allOrders
1930
+ .filter((o) => getSlotCorrectType(o) === railType
1931
+ && o.state === constants_1.ORDER_STATES.PARTIAL)
1932
+ .sort((a, b) => railType === constants_1.ORDER_TYPES.BUY ? b.price - a.price : a.price - b.price);
1933
+ if (partials.length > 0) {
1934
+ edgePartial = partials[0];
1935
+ manager.logger?.log?.(`[SPREAD-CORRECTION] Identified partial order at ${edgePartial.price} for update`, 'debug');
1936
+ }
1923
1937
  // Primary candidates: SPREAD-type slots adjacent to the gap. Filter by
1924
1938
  // boundary-correct type so a SPREAD slot that, after a boundary shift, now sits
1925
1939
  // in the BUY or SELL zone is excluded — it would otherwise be placed on the