@openrig/cli 0.6.14 → 0.7.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 (778) hide show
  1. package/README.md +10 -9
  2. package/daemon/assets/plugins/openrig-core/.claude-plugin/plugin.json +1 -1
  3. package/daemon/assets/plugins/openrig-core/.codex-plugin/plugin.json +1 -1
  4. package/daemon/assets/plugins/openrig-core/README.md +11 -4
  5. package/daemon/assets/plugins/openrig-core/hooks/codex.json +6 -6
  6. package/daemon/assets/plugins/openrig-core/hooks/scripts/activity-relay.cjs +13 -1
  7. package/daemon/assets/plugins/openrig-core/hooks/scripts/codex-hook-trust.cjs +49 -0
  8. package/daemon/assets/plugins/openrig-core/hooks/scripts/refocus.cjs +26 -5
  9. package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/SKILL.md +9 -2
  10. package/daemon/assets/plugins/openrig-core/skills/forming-an-openrig-mental-model/SKILL.md +3 -2
  11. package/daemon/assets/plugins/openrig-core/skills/messaging-the-human/SKILL.md +24 -0
  12. package/daemon/assets/plugins/openrig-core/skills/openrig-skills/SKILL.md +2 -2
  13. package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +28 -18
  14. package/daemon/assets/plugins/openrig-core/skills/queue-handoff/SKILL.md +10 -4
  15. package/daemon/assets/skills/rigs/SKILL.md +24 -5
  16. package/daemon/context-packs/help/manifest.yaml +1 -1
  17. package/daemon/context-packs/onboarding-width/manifest.yaml +1 -1
  18. package/daemon/context-packs/onboarding-width/public-what-you-can-do.md +4 -6
  19. package/daemon/context-packs/reference/getting-started.md +87 -21
  20. package/daemon/context-packs/reference/manifest.yaml +1 -1
  21. package/daemon/context-packs/reference/rig-spec.md +1 -1
  22. package/daemon/context-packs/reference/whats-new.md +123 -68
  23. package/daemon/context-packs/skills/agent-operated-software/manifest.yaml +1 -1
  24. package/daemon/context-packs/skills/agent-operated-workflows/manifest.yaml +1 -1
  25. package/daemon/context-packs/skills/applying-a-permission-policy/manifest.yaml +1 -1
  26. package/daemon/context-packs/skills/claude-compaction-restore/SKILL.md +9 -2
  27. package/daemon/context-packs/skills/claude-compaction-restore/manifest.yaml +1 -1
  28. package/daemon/context-packs/skills/core/agent-starters/manifest.yaml +1 -1
  29. package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/manifest.yaml +1 -1
  30. package/daemon/context-packs/skills/core/cross-host-rig-commands/manifest.yaml +1 -1
  31. package/daemon/context-packs/skills/core/human-in-the-loop/manifest.yaml +1 -1
  32. package/daemon/context-packs/skills/core/messaging-the-human/SKILL.md +24 -0
  33. package/daemon/context-packs/skills/core/messaging-the-human/manifest.yaml +1 -1
  34. package/daemon/context-packs/skills/core/openrig-architect/manifest.yaml +1 -1
  35. package/daemon/context-packs/skills/core/openrig-cmux/manifest.yaml +1 -1
  36. package/daemon/context-packs/skills/core/openrig-herdr/manifest.yaml +1 -1
  37. package/daemon/context-packs/skills/core/openrig-skills/SKILL.md +2 -2
  38. package/daemon/context-packs/skills/core/openrig-skills/manifest.yaml +1 -1
  39. package/daemon/context-packs/skills/core/openrig-software-factory/manifest.yaml +1 -1
  40. package/daemon/context-packs/skills/core/openrig-upgrade/SKILL.md +11 -5
  41. package/daemon/context-packs/skills/core/openrig-upgrade/manifest.yaml +1 -1
  42. package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/manifest.yaml +1 -1
  43. package/daemon/context-packs/skills/core/rig-lifecycle/manifest.yaml +1 -1
  44. package/daemon/context-packs/skills/core/session-source-fork/manifest.yaml +1 -1
  45. package/daemon/context-packs/skills/core/specification-system/manifest.yaml +1 -1
  46. package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/manifest.yaml +1 -1
  47. package/daemon/context-packs/skills/core/watchdog/manifest.yaml +1 -1
  48. package/daemon/context-packs/skills/delegating-work/manifest.yaml +1 -1
  49. package/daemon/context-packs/skills/forming-an-openrig-mental-model/SKILL.md +3 -2
  50. package/daemon/context-packs/skills/forming-an-openrig-mental-model/manifest.yaml +1 -1
  51. package/daemon/context-packs/skills/loading-addressable-markdown/manifest.yaml +1 -1
  52. package/daemon/context-packs/skills/mission-slice-sop/manifest.yaml +1 -1
  53. package/daemon/context-packs/skills/openrig-operating-model/manifest.yaml +1 -1
  54. package/daemon/context-packs/skills/openrig-user/SKILL.md +28 -18
  55. package/daemon/context-packs/skills/openrig-user/manifest.yaml +1 -1
  56. package/daemon/context-packs/skills/orienting-to-an-inherited-seat/manifest.yaml +1 -1
  57. package/daemon/context-packs/skills/pm/backlog-capture/manifest.yaml +1 -1
  58. package/daemon/context-packs/skills/pm/context-builder/manifest.yaml +1 -1
  59. package/daemon/context-packs/skills/pm/exec-summary/manifest.yaml +1 -1
  60. package/daemon/context-packs/skills/pm/office-hours/manifest.yaml +1 -1
  61. package/daemon/context-packs/skills/pm/plan-review/manifest.yaml +1 -1
  62. package/daemon/context-packs/skills/pm/requirements-writer/manifest.yaml +1 -1
  63. package/daemon/context-packs/skills/pm/ui-mockup/manifest.yaml +1 -1
  64. package/daemon/context-packs/skills/pods/development-team/SKILL.md +2 -0
  65. package/daemon/context-packs/skills/pods/development-team/manifest.yaml +3 -1
  66. package/daemon/context-packs/skills/pods/development-team/references/refactoring.md +11 -0
  67. package/daemon/context-packs/skills/pods/orchestration-team/manifest.yaml +1 -1
  68. package/daemon/context-packs/skills/pods/oversight-team/manifest.yaml +1 -1
  69. package/daemon/context-packs/skills/pods/review-team/SKILL.md +46 -96
  70. package/daemon/context-packs/skills/pods/review-team/manifest.yaml +1 -1
  71. package/daemon/context-packs/skills/process/agent-browser/manifest.yaml +1 -1
  72. package/daemon/context-packs/skills/process/context-engineering/manifest.yaml +1 -1
  73. package/daemon/context-packs/skills/process/dogfood/manifest.yaml +1 -1
  74. package/daemon/context-packs/skills/process/frontend-design/manifest.yaml +1 -1
  75. package/daemon/context-packs/skills/process/systematic-debugging/manifest.yaml +1 -1
  76. package/daemon/context-packs/skills/process/test-driven-development/manifest.yaml +1 -1
  77. package/daemon/context-packs/skills/process/verification-before-completion/SKILL.md +17 -80
  78. package/daemon/context-packs/skills/process/verification-before-completion/manifest.yaml +5 -3
  79. package/daemon/context-packs/skills/process/verification-before-completion/references/performance-claims.md +12 -0
  80. package/daemon/context-packs/skills/queue-handoff/SKILL.md +10 -4
  81. package/daemon/context-packs/skills/queue-handoff/manifest.yaml +1 -1
  82. package/daemon/context-packs/skills/refocusing/manifest.yaml +1 -1
  83. package/daemon/context-packs/skills/retiring-and-inheriting-a-seat/manifest.yaml +1 -1
  84. package/daemon/context-packs/skills/seat-continuity-and-handover/manifest.yaml +1 -1
  85. package/daemon/context-packs/skills/session-compaction-and-restore/manifest.yaml +1 -1
  86. package/daemon/context-packs/skills/software-for-agents/manifest.yaml +1 -1
  87. package/daemon/context-packs/world-example/manifest.yaml +1 -1
  88. package/daemon/context-packs/world-public/manifest.yaml +1 -1
  89. package/daemon/dist/adapters/claude-code-adapter.d.ts +6 -2
  90. package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
  91. package/daemon/dist/adapters/claude-code-adapter.js +33 -6
  92. package/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
  93. package/daemon/dist/adapters/codex-resume.d.ts.map +1 -1
  94. package/daemon/dist/adapters/codex-resume.js +2 -7
  95. package/daemon/dist/adapters/codex-resume.js.map +1 -1
  96. package/daemon/dist/adapters/codex-runtime-adapter.d.ts +68 -2
  97. package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
  98. package/daemon/dist/adapters/codex-runtime-adapter.js +371 -60
  99. package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
  100. package/daemon/dist/adapters/compose-services-adapter.d.ts +16 -0
  101. package/daemon/dist/adapters/compose-services-adapter.d.ts.map +1 -1
  102. package/daemon/dist/adapters/compose-services-adapter.js +52 -9
  103. package/daemon/dist/adapters/compose-services-adapter.js.map +1 -1
  104. package/daemon/dist/adapters/kernel-authority.d.ts.map +1 -1
  105. package/daemon/dist/adapters/kernel-authority.js +9 -5
  106. package/daemon/dist/adapters/kernel-authority.js.map +1 -1
  107. package/daemon/dist/adapters/pi-runner.d.ts +2 -0
  108. package/daemon/dist/adapters/pi-runner.d.ts.map +1 -1
  109. package/daemon/dist/adapters/pi-runner.js +5 -0
  110. package/daemon/dist/adapters/pi-runner.js.map +1 -1
  111. package/daemon/dist/adapters/runtime-probe-exec.d.ts +11 -0
  112. package/daemon/dist/adapters/runtime-probe-exec.d.ts.map +1 -0
  113. package/daemon/dist/adapters/runtime-probe-exec.js +25 -0
  114. package/daemon/dist/adapters/runtime-probe-exec.js.map +1 -0
  115. package/daemon/dist/adapters/stub-runner.d.ts.map +1 -1
  116. package/daemon/dist/adapters/stub-runner.js +2 -0
  117. package/daemon/dist/adapters/stub-runner.js.map +1 -1
  118. package/daemon/dist/adapters/tmux.d.ts +21 -1
  119. package/daemon/dist/adapters/tmux.d.ts.map +1 -1
  120. package/daemon/dist/adapters/tmux.js +100 -13
  121. package/daemon/dist/adapters/tmux.js.map +1 -1
  122. package/daemon/dist/build-info.js +3 -3
  123. package/daemon/dist/db/all-migrations.d.ts.map +1 -1
  124. package/daemon/dist/db/all-migrations.js +12 -0
  125. package/daemon/dist/db/all-migrations.js.map +1 -1
  126. package/daemon/dist/db/migrations/116_queue_item_wake_input_box.d.ts +3 -0
  127. package/daemon/dist/db/migrations/116_queue_item_wake_input_box.d.ts.map +1 -0
  128. package/daemon/dist/db/migrations/116_queue_item_wake_input_box.js +8 -0
  129. package/daemon/dist/db/migrations/116_queue_item_wake_input_box.js.map +1 -0
  130. package/daemon/dist/db/migrations/118_human_quiet_windows.d.ts +3 -0
  131. package/daemon/dist/db/migrations/118_human_quiet_windows.d.ts.map +1 -0
  132. package/daemon/dist/db/migrations/118_human_quiet_windows.js +30 -0
  133. package/daemon/dist/db/migrations/118_human_quiet_windows.js.map +1 -0
  134. package/daemon/dist/db/migrations/119_seat_identity_pane_pid.d.ts +3 -0
  135. package/daemon/dist/db/migrations/119_seat_identity_pane_pid.d.ts.map +1 -0
  136. package/daemon/dist/db/migrations/119_seat_identity_pane_pid.js +7 -0
  137. package/daemon/dist/db/migrations/119_seat_identity_pane_pid.js.map +1 -0
  138. package/daemon/dist/db/migrations/121_rig_startup_layers.d.ts +13 -0
  139. package/daemon/dist/db/migrations/121_rig_startup_layers.d.ts.map +1 -0
  140. package/daemon/dist/db/migrations/121_rig_startup_layers.js +17 -0
  141. package/daemon/dist/db/migrations/121_rig_startup_layers.js.map +1 -0
  142. package/daemon/dist/db/migrations/122_human_operating_modes.d.ts +3 -0
  143. package/daemon/dist/db/migrations/122_human_operating_modes.d.ts.map +1 -0
  144. package/daemon/dist/db/migrations/122_human_operating_modes.js +55 -0
  145. package/daemon/dist/db/migrations/122_human_operating_modes.js.map +1 -0
  146. package/daemon/dist/db/migrations/123_queue_delegated_decision.d.ts +3 -0
  147. package/daemon/dist/db/migrations/123_queue_delegated_decision.d.ts.map +1 -0
  148. package/daemon/dist/db/migrations/123_queue_delegated_decision.js +10 -0
  149. package/daemon/dist/db/migrations/123_queue_delegated_decision.js.map +1 -0
  150. package/daemon/dist/domain/active-occupant.d.ts +5 -3
  151. package/daemon/dist/domain/active-occupant.d.ts.map +1 -1
  152. package/daemon/dist/domain/active-occupant.js +2 -2
  153. package/daemon/dist/domain/active-occupant.js.map +1 -1
  154. package/daemon/dist/domain/activity-taxonomy.d.ts +16 -1
  155. package/daemon/dist/domain/activity-taxonomy.d.ts.map +1 -1
  156. package/daemon/dist/domain/activity-taxonomy.js +21 -0
  157. package/daemon/dist/domain/activity-taxonomy.js.map +1 -1
  158. package/daemon/dist/domain/agent-activity-store.d.ts +20 -0
  159. package/daemon/dist/domain/agent-activity-store.d.ts.map +1 -1
  160. package/daemon/dist/domain/agent-activity-store.js +41 -5
  161. package/daemon/dist/domain/agent-activity-store.js.map +1 -1
  162. package/daemon/dist/domain/agent-images/evidence-guard.js +3 -3
  163. package/daemon/dist/domain/agent-images/evidence-guard.js.map +1 -1
  164. package/daemon/dist/domain/agent-images/resume-token-discovery.d.ts.map +1 -1
  165. package/daemon/dist/domain/agent-images/resume-token-discovery.js +2 -10
  166. package/daemon/dist/domain/agent-images/resume-token-discovery.js.map +1 -1
  167. package/daemon/dist/domain/ask-service.d.ts +1 -0
  168. package/daemon/dist/domain/ask-service.d.ts.map +1 -1
  169. package/daemon/dist/domain/ask-service.js +7 -1
  170. package/daemon/dist/domain/ask-service.js.map +1 -1
  171. package/daemon/dist/domain/bootstrap-orchestrator.d.ts +2 -0
  172. package/daemon/dist/domain/bootstrap-orchestrator.d.ts.map +1 -1
  173. package/daemon/dist/domain/bootstrap-orchestrator.js +5 -6
  174. package/daemon/dist/domain/bootstrap-orchestrator.js.map +1 -1
  175. package/daemon/dist/domain/claim-service.d.ts +1 -1
  176. package/daemon/dist/domain/claim-service.d.ts.map +1 -1
  177. package/daemon/dist/domain/claim-service.js +7 -0
  178. package/daemon/dist/domain/claim-service.js.map +1 -1
  179. package/daemon/dist/domain/classification-sources.d.ts.map +1 -1
  180. package/daemon/dist/domain/classification-sources.js +2 -0
  181. package/daemon/dist/domain/classification-sources.js.map +1 -1
  182. package/daemon/dist/domain/claude-compaction-enforcer.d.ts +17 -4
  183. package/daemon/dist/domain/claude-compaction-enforcer.d.ts.map +1 -1
  184. package/daemon/dist/domain/claude-compaction-enforcer.js +88 -24
  185. package/daemon/dist/domain/claude-compaction-enforcer.js.map +1 -1
  186. package/daemon/dist/domain/claude-core-plugin-env.d.ts +11 -0
  187. package/daemon/dist/domain/claude-core-plugin-env.d.ts.map +1 -1
  188. package/daemon/dist/domain/claude-core-plugin-env.js +15 -0
  189. package/daemon/dist/domain/claude-core-plugin-env.js.map +1 -1
  190. package/daemon/dist/domain/codex-core-plugin-install.d.ts +41 -0
  191. package/daemon/dist/domain/codex-core-plugin-install.d.ts.map +1 -0
  192. package/daemon/dist/domain/codex-core-plugin-install.js +126 -0
  193. package/daemon/dist/domain/codex-core-plugin-install.js.map +1 -0
  194. package/daemon/dist/domain/codex-thread-id.d.ts +23 -1
  195. package/daemon/dist/domain/codex-thread-id.d.ts.map +1 -1
  196. package/daemon/dist/domain/codex-thread-id.js +58 -17
  197. package/daemon/dist/domain/codex-thread-id.js.map +1 -1
  198. package/daemon/dist/domain/context-monitor.d.ts +13 -5
  199. package/daemon/dist/domain/context-monitor.d.ts.map +1 -1
  200. package/daemon/dist/domain/context-monitor.js +47 -13
  201. package/daemon/dist/domain/context-monitor.js.map +1 -1
  202. package/daemon/dist/domain/context-usage-store.d.ts.map +1 -1
  203. package/daemon/dist/domain/context-usage-store.js +3 -0
  204. package/daemon/dist/domain/context-usage-store.js.map +1 -1
  205. package/daemon/dist/domain/current-work.d.ts +18 -0
  206. package/daemon/dist/domain/current-work.d.ts.map +1 -1
  207. package/daemon/dist/domain/current-work.js +17 -3
  208. package/daemon/dist/domain/current-work.js.map +1 -1
  209. package/daemon/dist/domain/draft-aware-delivery.d.ts +7 -7
  210. package/daemon/dist/domain/draft-aware-delivery.d.ts.map +1 -1
  211. package/daemon/dist/domain/draft-aware-delivery.js +61 -82
  212. package/daemon/dist/domain/draft-aware-delivery.js.map +1 -1
  213. package/daemon/dist/domain/execution-view.d.ts.map +1 -1
  214. package/daemon/dist/domain/execution-view.js +2 -1
  215. package/daemon/dist/domain/execution-view.js.map +1 -1
  216. package/daemon/dist/domain/existing-rig-restore.d.ts +110 -0
  217. package/daemon/dist/domain/existing-rig-restore.d.ts.map +1 -0
  218. package/daemon/dist/domain/existing-rig-restore.js +254 -0
  219. package/daemon/dist/domain/existing-rig-restore.js.map +1 -0
  220. package/daemon/dist/domain/fresh-occupant-relation.d.ts.map +1 -1
  221. package/daemon/dist/domain/fresh-occupant-relation.js +9 -2
  222. package/daemon/dist/domain/fresh-occupant-relation.js.map +1 -1
  223. package/daemon/dist/domain/gateway/channel-operations.d.ts +3 -4
  224. package/daemon/dist/domain/gateway/channel-operations.d.ts.map +1 -1
  225. package/daemon/dist/domain/gateway/channel-operations.js.map +1 -1
  226. package/daemon/dist/domain/gateway/connections-projection.d.ts +0 -5
  227. package/daemon/dist/domain/gateway/connections-projection.d.ts.map +1 -1
  228. package/daemon/dist/domain/gateway/connections-projection.js +3 -46
  229. package/daemon/dist/domain/gateway/connections-projection.js.map +1 -1
  230. package/daemon/dist/domain/gateway/delivery-rules-engine.d.ts +11 -1
  231. package/daemon/dist/domain/gateway/delivery-rules-engine.d.ts.map +1 -1
  232. package/daemon/dist/domain/gateway/delivery-rules-engine.js +12 -2
  233. package/daemon/dist/domain/gateway/delivery-rules-engine.js.map +1 -1
  234. package/daemon/dist/domain/gateway/dispatch-buffer.d.ts +4 -0
  235. package/daemon/dist/domain/gateway/dispatch-buffer.d.ts.map +1 -1
  236. package/daemon/dist/domain/gateway/dispatch-buffer.js +18 -0
  237. package/daemon/dist/domain/gateway/dispatch-buffer.js.map +1 -1
  238. package/daemon/dist/domain/gateway/human-mode-account.d.ts +61 -0
  239. package/daemon/dist/domain/gateway/human-mode-account.d.ts.map +1 -0
  240. package/daemon/dist/domain/gateway/human-mode-account.js +112 -0
  241. package/daemon/dist/domain/gateway/human-mode-account.js.map +1 -0
  242. package/daemon/dist/domain/gateway/human-operating-modes.d.ts +171 -0
  243. package/daemon/dist/domain/gateway/human-operating-modes.d.ts.map +1 -0
  244. package/daemon/dist/domain/gateway/human-operating-modes.js +422 -0
  245. package/daemon/dist/domain/gateway/human-operating-modes.js.map +1 -0
  246. package/daemon/dist/domain/gateway/human-quiet-windows.d.ts +121 -0
  247. package/daemon/dist/domain/gateway/human-quiet-windows.d.ts.map +1 -0
  248. package/daemon/dist/domain/gateway/human-quiet-windows.js +217 -0
  249. package/daemon/dist/domain/gateway/human-quiet-windows.js.map +1 -0
  250. package/daemon/dist/domain/gateway/human-registry.d.ts +23 -2
  251. package/daemon/dist/domain/gateway/human-registry.d.ts.map +1 -1
  252. package/daemon/dist/domain/gateway/human-registry.js +67 -5
  253. package/daemon/dist/domain/gateway/human-registry.js.map +1 -1
  254. package/daemon/dist/domain/gateway/operator-delivery-engine.d.ts.map +1 -1
  255. package/daemon/dist/domain/gateway/operator-delivery-engine.js +9 -0
  256. package/daemon/dist/domain/gateway/operator-delivery-engine.js.map +1 -1
  257. package/daemon/dist/domain/gateway/slack/inbound.d.ts +10 -2
  258. package/daemon/dist/domain/gateway/slack/inbound.d.ts.map +1 -1
  259. package/daemon/dist/domain/gateway/slack/inbound.js +24 -2
  260. package/daemon/dist/domain/gateway/slack/inbound.js.map +1 -1
  261. package/daemon/dist/domain/gateway/slack/message.d.ts +1 -0
  262. package/daemon/dist/domain/gateway/slack/message.d.ts.map +1 -1
  263. package/daemon/dist/domain/gateway/slack/message.js +5 -1
  264. package/daemon/dist/domain/gateway/slack/message.js.map +1 -1
  265. package/daemon/dist/domain/gateway/slack/outbound-driver.d.ts +9 -3
  266. package/daemon/dist/domain/gateway/slack/outbound-driver.d.ts.map +1 -1
  267. package/daemon/dist/domain/gateway/slack/outbound-driver.js +40 -6
  268. package/daemon/dist/domain/gateway/slack/outbound-driver.js.map +1 -1
  269. package/daemon/dist/domain/gateway/slack/slack-delivery.d.ts +19 -1
  270. package/daemon/dist/domain/gateway/slack/slack-delivery.d.ts.map +1 -1
  271. package/daemon/dist/domain/gateway/slack/slack-delivery.js +128 -41
  272. package/daemon/dist/domain/gateway/slack/slack-delivery.js.map +1 -1
  273. package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts +3 -2
  274. package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts.map +1 -1
  275. package/daemon/dist/domain/gateway/slack/slack-subsystem.js +268 -50
  276. package/daemon/dist/domain/gateway/slack/slack-subsystem.js.map +1 -1
  277. package/daemon/dist/domain/health-passive-ceremony.d.ts +4 -0
  278. package/daemon/dist/domain/health-passive-ceremony.d.ts.map +1 -1
  279. package/daemon/dist/domain/health-passive-ceremony.js +34 -4
  280. package/daemon/dist/domain/health-passive-ceremony.js.map +1 -1
  281. package/daemon/dist/domain/hosts/hosts-registry-reader.d.ts +3 -1
  282. package/daemon/dist/domain/hosts/hosts-registry-reader.d.ts.map +1 -1
  283. package/daemon/dist/domain/hosts/hosts-registry-reader.js +9 -9
  284. package/daemon/dist/domain/hosts/hosts-registry-reader.js.map +1 -1
  285. package/daemon/dist/domain/hosts/learned-host-bindings.d.ts +28 -0
  286. package/daemon/dist/domain/hosts/learned-host-bindings.d.ts.map +1 -0
  287. package/daemon/dist/domain/hosts/learned-host-bindings.js +77 -0
  288. package/daemon/dist/domain/hosts/learned-host-bindings.js.map +1 -0
  289. package/daemon/dist/domain/hot-potato-enforcer.d.ts +7 -5
  290. package/daemon/dist/domain/hot-potato-enforcer.d.ts.map +1 -1
  291. package/daemon/dist/domain/hot-potato-enforcer.js +19 -10
  292. package/daemon/dist/domain/hot-potato-enforcer.js.map +1 -1
  293. package/daemon/dist/domain/human-questions.d.ts +8 -1
  294. package/daemon/dist/domain/human-questions.d.ts.map +1 -1
  295. package/daemon/dist/domain/human-questions.js.map +1 -1
  296. package/daemon/dist/domain/kernel-boot-tracker.d.ts +17 -1
  297. package/daemon/dist/domain/kernel-boot-tracker.d.ts.map +1 -1
  298. package/daemon/dist/domain/kernel-boot-tracker.js +44 -3
  299. package/daemon/dist/domain/kernel-boot-tracker.js.map +1 -1
  300. package/daemon/dist/domain/kernel-boot.d.ts +21 -0
  301. package/daemon/dist/domain/kernel-boot.d.ts.map +1 -1
  302. package/daemon/dist/domain/kernel-boot.js +57 -2
  303. package/daemon/dist/domain/kernel-boot.js.map +1 -1
  304. package/daemon/dist/domain/model-divergence/current-generation-record.d.ts +2 -1
  305. package/daemon/dist/domain/model-divergence/current-generation-record.d.ts.map +1 -1
  306. package/daemon/dist/domain/model-divergence/current-generation-record.js +8 -3
  307. package/daemon/dist/domain/model-divergence/current-generation-record.js.map +1 -1
  308. package/daemon/dist/domain/native-process-lineage.d.ts.map +1 -1
  309. package/daemon/dist/domain/native-process-lineage.js +43 -15
  310. package/daemon/dist/domain/native-process-lineage.js.map +1 -1
  311. package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
  312. package/daemon/dist/domain/node-inventory.js +26 -12
  313. package/daemon/dist/domain/node-inventory.js.map +1 -1
  314. package/daemon/dist/domain/node-launcher.d.ts +5 -3
  315. package/daemon/dist/domain/node-launcher.d.ts.map +1 -1
  316. package/daemon/dist/domain/node-launcher.js +29 -25
  317. package/daemon/dist/domain/node-launcher.js.map +1 -1
  318. package/daemon/dist/domain/outbox-handler.d.ts +3 -5
  319. package/daemon/dist/domain/outbox-handler.d.ts.map +1 -1
  320. package/daemon/dist/domain/outbox-handler.js +9 -19
  321. package/daemon/dist/domain/outbox-handler.js.map +1 -1
  322. package/daemon/dist/domain/park-wake-text.d.ts +11 -0
  323. package/daemon/dist/domain/park-wake-text.d.ts.map +1 -0
  324. package/daemon/dist/domain/park-wake-text.js +26 -0
  325. package/daemon/dist/domain/park-wake-text.js.map +1 -0
  326. package/daemon/dist/domain/plugin-vendor-service.d.ts +4 -0
  327. package/daemon/dist/domain/plugin-vendor-service.d.ts.map +1 -1
  328. package/daemon/dist/domain/plugin-vendor-service.js +29 -6
  329. package/daemon/dist/domain/plugin-vendor-service.js.map +1 -1
  330. package/daemon/dist/domain/policies/delivery-digest-flush.d.ts +1 -0
  331. package/daemon/dist/domain/policies/delivery-digest-flush.d.ts.map +1 -1
  332. package/daemon/dist/domain/policies/delivery-digest-flush.js +25 -4
  333. package/daemon/dist/domain/policies/delivery-digest-flush.js.map +1 -1
  334. package/daemon/dist/domain/policies/mode-scheduled-end.d.ts +37 -0
  335. package/daemon/dist/domain/policies/mode-scheduled-end.d.ts.map +1 -0
  336. package/daemon/dist/domain/policies/mode-scheduled-end.js +161 -0
  337. package/daemon/dist/domain/policies/mode-scheduled-end.js.map +1 -0
  338. package/daemon/dist/domain/policies/parked-owner-consumer.d.ts +11 -7
  339. package/daemon/dist/domain/policies/parked-owner-consumer.d.ts.map +1 -1
  340. package/daemon/dist/domain/policies/parked-owner-consumer.js +82 -113
  341. package/daemon/dist/domain/policies/parked-owner-consumer.js.map +1 -1
  342. package/daemon/dist/domain/policies/quiet-release.d.ts +109 -0
  343. package/daemon/dist/domain/policies/quiet-release.d.ts.map +1 -0
  344. package/daemon/dist/domain/policies/quiet-release.js +213 -0
  345. package/daemon/dist/domain/policies/quiet-release.js.map +1 -0
  346. package/daemon/dist/domain/profile-resolver.d.ts.map +1 -1
  347. package/daemon/dist/domain/profile-resolver.js +8 -3
  348. package/daemon/dist/domain/profile-resolver.js.map +1 -1
  349. package/daemon/dist/domain/proof/source-watch.js +2 -2
  350. package/daemon/dist/domain/proof/source-watch.js.map +1 -1
  351. package/daemon/dist/domain/queue-destination-check.d.ts +6 -0
  352. package/daemon/dist/domain/queue-destination-check.d.ts.map +1 -0
  353. package/daemon/dist/domain/queue-destination-check.js +35 -0
  354. package/daemon/dist/domain/queue-destination-check.js.map +1 -0
  355. package/daemon/dist/domain/queue-owner.d.ts.map +1 -1
  356. package/daemon/dist/domain/queue-owner.js +2 -1
  357. package/daemon/dist/domain/queue-owner.js.map +1 -1
  358. package/daemon/dist/domain/queue-recovery.d.ts +1 -1
  359. package/daemon/dist/domain/queue-recovery.d.ts.map +1 -1
  360. package/daemon/dist/domain/queue-recovery.js +3 -2
  361. package/daemon/dist/domain/queue-recovery.js.map +1 -1
  362. package/daemon/dist/domain/queue-repository.d.ts +108 -67
  363. package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
  364. package/daemon/dist/domain/queue-repository.js +316 -140
  365. package/daemon/dist/domain/queue-repository.js.map +1 -1
  366. package/daemon/dist/domain/queue-stuck-sweep.d.ts +13 -1
  367. package/daemon/dist/domain/queue-stuck-sweep.d.ts.map +1 -1
  368. package/daemon/dist/domain/queue-stuck-sweep.js +95 -13
  369. package/daemon/dist/domain/queue-stuck-sweep.js.map +1 -1
  370. package/daemon/dist/domain/queue-transition-log.d.ts +5 -0
  371. package/daemon/dist/domain/queue-transition-log.d.ts.map +1 -1
  372. package/daemon/dist/domain/queue-transition-log.js +25 -8
  373. package/daemon/dist/domain/queue-transition-log.js.map +1 -1
  374. package/daemon/dist/domain/queue-wake-ladder.d.ts +2 -0
  375. package/daemon/dist/domain/queue-wake-ladder.d.ts.map +1 -1
  376. package/daemon/dist/domain/queue-wake-ladder.js +94 -11
  377. package/daemon/dist/domain/queue-wake-ladder.js.map +1 -1
  378. package/daemon/dist/domain/quiet-hold-custody.d.ts +24 -0
  379. package/daemon/dist/domain/quiet-hold-custody.d.ts.map +1 -0
  380. package/daemon/dist/domain/quiet-hold-custody.js +85 -0
  381. package/daemon/dist/domain/quiet-hold-custody.js.map +1 -0
  382. package/daemon/dist/domain/rehydrate-eligibility.d.ts +12 -1
  383. package/daemon/dist/domain/rehydrate-eligibility.d.ts.map +1 -1
  384. package/daemon/dist/domain/rehydrate-eligibility.js +47 -9
  385. package/daemon/dist/domain/rehydrate-eligibility.js.map +1 -1
  386. package/daemon/dist/domain/restore-orchestrator.d.ts +11 -0
  387. package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
  388. package/daemon/dist/domain/restore-orchestrator.js +144 -15
  389. package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
  390. package/daemon/dist/domain/restore-plan-preview.d.ts +3 -1
  391. package/daemon/dist/domain/restore-plan-preview.d.ts.map +1 -1
  392. package/daemon/dist/domain/restore-plan-preview.js +30 -13
  393. package/daemon/dist/domain/restore-plan-preview.js.map +1 -1
  394. package/daemon/dist/domain/review/gather.d.ts.map +1 -1
  395. package/daemon/dist/domain/review/gather.js +8 -5
  396. package/daemon/dist/domain/review/gather.js.map +1 -1
  397. package/daemon/dist/domain/rig-mode/operating-posture.d.ts.map +1 -1
  398. package/daemon/dist/domain/rig-mode/operating-posture.js +3 -1
  399. package/daemon/dist/domain/rig-mode/operating-posture.js.map +1 -1
  400. package/daemon/dist/domain/rig-repository.d.ts +11 -1
  401. package/daemon/dist/domain/rig-repository.d.ts.map +1 -1
  402. package/daemon/dist/domain/rig-repository.js +27 -3
  403. package/daemon/dist/domain/rig-repository.js.map +1 -1
  404. package/daemon/dist/domain/rig-teardown.d.ts.map +1 -1
  405. package/daemon/dist/domain/rig-teardown.js +31 -4
  406. package/daemon/dist/domain/rig-teardown.js.map +1 -1
  407. package/daemon/dist/domain/rigspec-instantiator.d.ts +9 -0
  408. package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
  409. package/daemon/dist/domain/rigspec-instantiator.js +59 -28
  410. package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
  411. package/daemon/dist/domain/rigspec-schema.d.ts +5 -0
  412. package/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
  413. package/daemon/dist/domain/rigspec-schema.js +30 -0
  414. package/daemon/dist/domain/rigspec-schema.js.map +1 -1
  415. package/daemon/dist/domain/runtime-adapter.d.ts +27 -2
  416. package/daemon/dist/domain/runtime-adapter.d.ts.map +1 -1
  417. package/daemon/dist/domain/runtime-adapter.js.map +1 -1
  418. package/daemon/dist/domain/seat-activity-service.d.ts +18 -3
  419. package/daemon/dist/domain/seat-activity-service.d.ts.map +1 -1
  420. package/daemon/dist/domain/seat-activity-service.js +124 -57
  421. package/daemon/dist/domain/seat-activity-service.js.map +1 -1
  422. package/daemon/dist/domain/seat-attention-reconciler.d.ts +8 -1
  423. package/daemon/dist/domain/seat-attention-reconciler.d.ts.map +1 -1
  424. package/daemon/dist/domain/seat-attention-reconciler.js +3 -1
  425. package/daemon/dist/domain/seat-attention-reconciler.js.map +1 -1
  426. package/daemon/dist/domain/seat-delivery-guard.d.ts.map +1 -1
  427. package/daemon/dist/domain/seat-delivery-guard.js +21 -5
  428. package/daemon/dist/domain/seat-delivery-guard.js.map +1 -1
  429. package/daemon/dist/domain/seat-handover-service.d.ts +2 -2
  430. package/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
  431. package/daemon/dist/domain/seat-handover-service.js +28 -2
  432. package/daemon/dist/domain/seat-handover-service.js.map +1 -1
  433. package/daemon/dist/domain/seat-identity-reconciler.js +1 -1
  434. package/daemon/dist/domain/seat-identity-reconciler.js.map +1 -1
  435. package/daemon/dist/domain/seat-identity-store.d.ts.map +1 -1
  436. package/daemon/dist/domain/seat-identity-store.js +5 -2
  437. package/daemon/dist/domain/seat-identity-store.js.map +1 -1
  438. package/daemon/dist/domain/seat-launch-environment.d.ts.map +1 -1
  439. package/daemon/dist/domain/seat-launch-environment.js +17 -1
  440. package/daemon/dist/domain/seat-launch-environment.js.map +1 -1
  441. package/daemon/dist/domain/seat-lifecycle-service.d.ts +4 -0
  442. package/daemon/dist/domain/seat-lifecycle-service.d.ts.map +1 -1
  443. package/daemon/dist/domain/seat-restart-in-place.d.ts +33 -14
  444. package/daemon/dist/domain/seat-restart-in-place.d.ts.map +1 -1
  445. package/daemon/dist/domain/seat-restart-in-place.js +102 -30
  446. package/daemon/dist/domain/seat-restart-in-place.js.map +1 -1
  447. package/daemon/dist/domain/self-attach-service.d.ts +3 -2
  448. package/daemon/dist/domain/self-attach-service.d.ts.map +1 -1
  449. package/daemon/dist/domain/self-attach-service.js +18 -1
  450. package/daemon/dist/domain/self-attach-service.js.map +1 -1
  451. package/daemon/dist/domain/services-readiness.d.ts.map +1 -1
  452. package/daemon/dist/domain/services-readiness.js +14 -3
  453. package/daemon/dist/domain/services-readiness.js.map +1 -1
  454. package/daemon/dist/domain/session-registry.d.ts +45 -0
  455. package/daemon/dist/domain/session-registry.d.ts.map +1 -1
  456. package/daemon/dist/domain/session-registry.js +124 -0
  457. package/daemon/dist/domain/session-registry.js.map +1 -1
  458. package/daemon/dist/domain/session-transport.d.ts +24 -6
  459. package/daemon/dist/domain/session-transport.d.ts.map +1 -1
  460. package/daemon/dist/domain/session-transport.js +58 -41
  461. package/daemon/dist/domain/session-transport.js.map +1 -1
  462. package/daemon/dist/domain/skill-discovery.d.ts +7 -1
  463. package/daemon/dist/domain/skill-discovery.d.ts.map +1 -1
  464. package/daemon/dist/domain/skill-discovery.js +41 -7
  465. package/daemon/dist/domain/skill-discovery.js.map +1 -1
  466. package/daemon/dist/domain/snapshot-repository.d.ts +1 -0
  467. package/daemon/dist/domain/snapshot-repository.d.ts.map +1 -1
  468. package/daemon/dist/domain/snapshot-repository.js +23 -10
  469. package/daemon/dist/domain/snapshot-repository.js.map +1 -1
  470. package/daemon/dist/domain/startup-orchestrator.d.ts +21 -3
  471. package/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -1
  472. package/daemon/dist/domain/startup-orchestrator.js +66 -16
  473. package/daemon/dist/domain/startup-orchestrator.js.map +1 -1
  474. package/daemon/dist/domain/startup-submission-evidence.d.ts +4 -11
  475. package/daemon/dist/domain/startup-submission-evidence.d.ts.map +1 -1
  476. package/daemon/dist/domain/startup-submission-evidence.js +11 -17
  477. package/daemon/dist/domain/startup-submission-evidence.js.map +1 -1
  478. package/daemon/dist/domain/successor-session-launcher.d.ts +2 -1
  479. package/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -1
  480. package/daemon/dist/domain/successor-session-launcher.js +3 -1
  481. package/daemon/dist/domain/successor-session-launcher.js.map +1 -1
  482. package/daemon/dist/domain/terminal/herdr-adapter.d.ts +1 -1
  483. package/daemon/dist/domain/terminal/herdr-adapter.d.ts.map +1 -1
  484. package/daemon/dist/domain/terminal/herdr-adapter.js +22 -4
  485. package/daemon/dist/domain/terminal/herdr-adapter.js.map +1 -1
  486. package/daemon/dist/domain/types.d.ts +15 -4
  487. package/daemon/dist/domain/types.d.ts.map +1 -1
  488. package/daemon/dist/domain/types.js.map +1 -1
  489. package/daemon/dist/domain/user-settings/settings-browser.d.ts.map +1 -1
  490. package/daemon/dist/domain/user-settings/settings-browser.js +2 -0
  491. package/daemon/dist/domain/user-settings/settings-browser.js.map +1 -1
  492. package/daemon/dist/domain/user-settings/settings-store.d.ts +1 -1
  493. package/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
  494. package/daemon/dist/domain/user-settings/settings-store.js +33 -7
  495. package/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
  496. package/daemon/dist/domain/watchdog-delivery.d.ts +3 -23
  497. package/daemon/dist/domain/watchdog-delivery.d.ts.map +1 -1
  498. package/daemon/dist/domain/watchdog-delivery.js +12 -89
  499. package/daemon/dist/domain/watchdog-delivery.js.map +1 -1
  500. package/daemon/dist/domain/watchdog-history-log.d.ts +5 -2
  501. package/daemon/dist/domain/watchdog-history-log.d.ts.map +1 -1
  502. package/daemon/dist/domain/watchdog-history-log.js.map +1 -1
  503. package/daemon/dist/domain/watchdog-jobs-repository.d.ts +2 -2
  504. package/daemon/dist/domain/watchdog-jobs-repository.d.ts.map +1 -1
  505. package/daemon/dist/domain/watchdog-jobs-repository.js +4 -0
  506. package/daemon/dist/domain/watchdog-jobs-repository.js.map +1 -1
  507. package/daemon/dist/domain/watchdog-policy-engine.d.ts +16 -24
  508. package/daemon/dist/domain/watchdog-policy-engine.d.ts.map +1 -1
  509. package/daemon/dist/domain/watchdog-policy-engine.js +44 -43
  510. package/daemon/dist/domain/watchdog-policy-engine.js.map +1 -1
  511. package/daemon/dist/domain/whoami-service.d.ts +2 -0
  512. package/daemon/dist/domain/whoami-service.d.ts.map +1 -1
  513. package/daemon/dist/domain/whoami-service.js +23 -6
  514. package/daemon/dist/domain/whoami-service.js.map +1 -1
  515. package/daemon/dist/domain/workflow-boot-sweep.d.ts +2 -1
  516. package/daemon/dist/domain/workflow-boot-sweep.d.ts.map +1 -1
  517. package/daemon/dist/domain/workflow-boot-sweep.js +11 -5
  518. package/daemon/dist/domain/workflow-boot-sweep.js.map +1 -1
  519. package/daemon/dist/domain/workflow-exception-escalation.d.ts.map +1 -1
  520. package/daemon/dist/domain/workflow-exception-escalation.js +2 -1
  521. package/daemon/dist/domain/workflow-exception-escalation.js.map +1 -1
  522. package/daemon/dist/domain/workflow-projector.d.ts.map +1 -1
  523. package/daemon/dist/domain/workflow-projector.js +5 -2
  524. package/daemon/dist/domain/workflow-projector.js.map +1 -1
  525. package/daemon/dist/domain/workflow-role-context.js +2 -2
  526. package/daemon/dist/domain/workflow-role-context.js.map +1 -1
  527. package/daemon/dist/domain/workflow-runtime.d.ts +1 -1
  528. package/daemon/dist/domain/workflow-runtime.d.ts.map +1 -1
  529. package/daemon/dist/domain/workflow-runtime.js +2 -0
  530. package/daemon/dist/domain/workflow-runtime.js.map +1 -1
  531. package/daemon/dist/routes/activity.d.ts +13 -1
  532. package/daemon/dist/routes/activity.d.ts.map +1 -1
  533. package/daemon/dist/routes/activity.js +67 -2
  534. package/daemon/dist/routes/activity.js.map +1 -1
  535. package/daemon/dist/routes/agent-images.d.ts.map +1 -1
  536. package/daemon/dist/routes/agent-images.js +2 -0
  537. package/daemon/dist/routes/agent-images.js.map +1 -1
  538. package/daemon/dist/routes/compaction.d.ts.map +1 -1
  539. package/daemon/dist/routes/compaction.js +7 -2
  540. package/daemon/dist/routes/compaction.js.map +1 -1
  541. package/daemon/dist/routes/discovery.js +3 -0
  542. package/daemon/dist/routes/discovery.js.map +1 -1
  543. package/daemon/dist/routes/down.js +9 -1
  544. package/daemon/dist/routes/down.js.map +1 -1
  545. package/daemon/dist/routes/gateway.d.ts +2 -0
  546. package/daemon/dist/routes/gateway.d.ts.map +1 -1
  547. package/daemon/dist/routes/gateway.js +181 -1
  548. package/daemon/dist/routes/gateway.js.map +1 -1
  549. package/daemon/dist/routes/kernel-status.js +6 -1
  550. package/daemon/dist/routes/kernel-status.js.map +1 -1
  551. package/daemon/dist/routes/provider.d.ts.map +1 -1
  552. package/daemon/dist/routes/provider.js +0 -73
  553. package/daemon/dist/routes/provider.js.map +1 -1
  554. package/daemon/dist/routes/queue.d.ts.map +1 -1
  555. package/daemon/dist/routes/queue.js +73 -13
  556. package/daemon/dist/routes/queue.js.map +1 -1
  557. package/daemon/dist/routes/rigs.d.ts.map +1 -1
  558. package/daemon/dist/routes/rigs.js +29 -10
  559. package/daemon/dist/routes/rigs.js.map +1 -1
  560. package/daemon/dist/routes/rigspec.js +2 -3
  561. package/daemon/dist/routes/rigspec.js.map +1 -1
  562. package/daemon/dist/routes/seat.js +2 -2
  563. package/daemon/dist/routes/seat.js.map +1 -1
  564. package/daemon/dist/routes/skills.js +2 -2
  565. package/daemon/dist/routes/skills.js.map +1 -1
  566. package/daemon/dist/routes/transcripts.d.ts.map +1 -1
  567. package/daemon/dist/routes/transcripts.js +7 -3
  568. package/daemon/dist/routes/transcripts.js.map +1 -1
  569. package/daemon/dist/routes/transport.js +1 -1
  570. package/daemon/dist/routes/transport.js.map +1 -1
  571. package/daemon/dist/routes/up.js +36 -52
  572. package/daemon/dist/routes/up.js.map +1 -1
  573. package/daemon/dist/startup.d.ts.map +1 -1
  574. package/daemon/dist/startup.js +102 -60
  575. package/daemon/dist/startup.js.map +1 -1
  576. package/daemon/docs/reference/agent-state-taxonomy.md +17 -2
  577. package/daemon/docs/reference/getting-started.md +87 -21
  578. package/daemon/docs/reference/quickstart.md +33 -20
  579. package/daemon/docs/reference/refocus-channel.md +9 -3
  580. package/daemon/docs/reference/rig-spec.md +1 -1
  581. package/daemon/docs/reference/seat-delivery.md +57 -18
  582. package/daemon/docs/reference/slack-app-setup.md +49 -2
  583. package/daemon/docs/reference/whats-new.md +123 -68
  584. package/daemon/specs/agents/shared/skills/core/messaging-the-human/SKILL.md +24 -0
  585. package/daemon/specs/agents/shared/skills/core/openrig-skills/SKILL.md +2 -2
  586. package/daemon/specs/agents/shared/skills/core/openrig-upgrade/SKILL.md +11 -5
  587. package/daemon/specs/agents/shared/skills/pods/development-team/SKILL.md +2 -0
  588. package/daemon/specs/agents/shared/skills/pods/development-team/references/refactoring.md +11 -0
  589. package/daemon/specs/agents/shared/skills/pods/review-team/SKILL.md +46 -96
  590. package/daemon/specs/agents/shared/skills/process/verification-before-completion/SKILL.md +17 -80
  591. package/daemon/specs/agents/shared/skills/process/verification-before-completion/references/performance-claims.md +12 -0
  592. package/daemon/specs/rigs/launch/kernel/agents/operator/agent/guidance/role.md +93 -14
  593. package/dist/build-info.js +3 -3
  594. package/dist/cli-error.d.ts +4 -0
  595. package/dist/cli-error.d.ts.map +1 -1
  596. package/dist/cli-error.js +6 -0
  597. package/dist/cli-error.js.map +1 -1
  598. package/dist/commands/agent-image.d.ts.map +1 -1
  599. package/dist/commands/agent-image.js +15 -7
  600. package/dist/commands/agent-image.js.map +1 -1
  601. package/dist/commands/archive.d.ts.map +1 -1
  602. package/dist/commands/archive.js +17 -3
  603. package/dist/commands/archive.js.map +1 -1
  604. package/dist/commands/attach.d.ts.map +1 -1
  605. package/dist/commands/attach.js +6 -4
  606. package/dist/commands/attach.js.map +1 -1
  607. package/dist/commands/broadcast.js +2 -0
  608. package/dist/commands/broadcast.js.map +1 -1
  609. package/dist/commands/community-harness.d.ts.map +1 -1
  610. package/dist/commands/community-harness.js +2 -1
  611. package/dist/commands/community-harness.js.map +1 -1
  612. package/dist/commands/compact-plan.d.ts.map +1 -1
  613. package/dist/commands/compact-plan.js +2 -1
  614. package/dist/commands/compact-plan.js.map +1 -1
  615. package/dist/commands/compact.d.ts.map +1 -1
  616. package/dist/commands/compact.js +10 -3
  617. package/dist/commands/compact.js.map +1 -1
  618. package/dist/commands/config.d.ts.map +1 -1
  619. package/dist/commands/config.js +10 -2
  620. package/dist/commands/config.js.map +1 -1
  621. package/dist/commands/context.d.ts.map +1 -1
  622. package/dist/commands/context.js +16 -9
  623. package/dist/commands/context.js.map +1 -1
  624. package/dist/commands/expand.d.ts.map +1 -1
  625. package/dist/commands/expand.js +16 -2
  626. package/dist/commands/expand.js.map +1 -1
  627. package/dist/commands/export.d.ts.map +1 -1
  628. package/dist/commands/export.js +9 -2
  629. package/dist/commands/export.js.map +1 -1
  630. package/dist/commands/fork.d.ts.map +1 -1
  631. package/dist/commands/fork.js +3 -1
  632. package/dist/commands/fork.js.map +1 -1
  633. package/dist/commands/gateway.d.ts +39 -0
  634. package/dist/commands/gateway.d.ts.map +1 -1
  635. package/dist/commands/gateway.js +310 -3
  636. package/dist/commands/gateway.js.map +1 -1
  637. package/dist/commands/health.js +3 -2
  638. package/dist/commands/health.js.map +1 -1
  639. package/dist/commands/host.d.ts +1 -1
  640. package/dist/commands/host.d.ts.map +1 -1
  641. package/dist/commands/host.js +2 -2
  642. package/dist/commands/host.js.map +1 -1
  643. package/dist/commands/launch.d.ts.map +1 -1
  644. package/dist/commands/launch.js +9 -2
  645. package/dist/commands/launch.js.map +1 -1
  646. package/dist/commands/plugin.d.ts.map +1 -1
  647. package/dist/commands/plugin.js +2 -1
  648. package/dist/commands/plugin.js.map +1 -1
  649. package/dist/commands/provider.d.ts.map +1 -1
  650. package/dist/commands/provider.js +0 -73
  651. package/dist/commands/provider.js.map +1 -1
  652. package/dist/commands/ps.d.ts +4 -0
  653. package/dist/commands/ps.d.ts.map +1 -1
  654. package/dist/commands/ps.js +95 -5
  655. package/dist/commands/ps.js.map +1 -1
  656. package/dist/commands/queue.d.ts +4 -0
  657. package/dist/commands/queue.d.ts.map +1 -1
  658. package/dist/commands/queue.js +78 -3
  659. package/dist/commands/queue.js.map +1 -1
  660. package/dist/commands/release.d.ts.map +1 -1
  661. package/dist/commands/release.js +16 -2
  662. package/dist/commands/release.js.map +1 -1
  663. package/dist/commands/restore-check.d.ts.map +1 -1
  664. package/dist/commands/restore-check.js +2 -1
  665. package/dist/commands/restore-check.js.map +1 -1
  666. package/dist/commands/restore-packet.d.ts.map +1 -1
  667. package/dist/commands/restore-packet.js +2 -1
  668. package/dist/commands/restore-packet.js.map +1 -1
  669. package/dist/commands/restore.d.ts.map +1 -1
  670. package/dist/commands/restore.js +23 -6
  671. package/dist/commands/restore.js.map +1 -1
  672. package/dist/commands/scope.d.ts.map +1 -1
  673. package/dist/commands/scope.js +5 -2
  674. package/dist/commands/scope.js.map +1 -1
  675. package/dist/commands/seat.js +0 -4
  676. package/dist/commands/seat.js.map +1 -1
  677. package/dist/commands/send.d.ts.map +1 -1
  678. package/dist/commands/send.js +27 -3
  679. package/dist/commands/send.js.map +1 -1
  680. package/dist/commands/setup.d.ts +3 -0
  681. package/dist/commands/setup.d.ts.map +1 -1
  682. package/dist/commands/setup.js +29 -9
  683. package/dist/commands/setup.js.map +1 -1
  684. package/dist/commands/shrink.d.ts.map +1 -1
  685. package/dist/commands/shrink.js +16 -2
  686. package/dist/commands/shrink.js.map +1 -1
  687. package/dist/commands/slack.d.ts.map +1 -1
  688. package/dist/commands/slack.js +11 -24
  689. package/dist/commands/slack.js.map +1 -1
  690. package/dist/commands/snapshot.d.ts.map +1 -1
  691. package/dist/commands/snapshot.js +36 -10
  692. package/dist/commands/snapshot.js.map +1 -1
  693. package/dist/commands/specs.d.ts.map +1 -1
  694. package/dist/commands/specs.js +11 -5
  695. package/dist/commands/specs.js.map +1 -1
  696. package/dist/commands/start.d.ts.map +1 -1
  697. package/dist/commands/start.js +36 -10
  698. package/dist/commands/start.js.map +1 -1
  699. package/dist/commands/status.d.ts.map +1 -1
  700. package/dist/commands/status.js +4 -1
  701. package/dist/commands/status.js.map +1 -1
  702. package/dist/commands/transcript.d.ts.map +1 -1
  703. package/dist/commands/transcript.js +12 -7
  704. package/dist/commands/transcript.js.map +1 -1
  705. package/dist/commands/unarchive.d.ts.map +1 -1
  706. package/dist/commands/unarchive.js +16 -2
  707. package/dist/commands/unarchive.js.map +1 -1
  708. package/dist/commands/up.d.ts.map +1 -1
  709. package/dist/commands/up.js +33 -7
  710. package/dist/commands/up.js.map +1 -1
  711. package/dist/commands/walk.d.ts.map +1 -1
  712. package/dist/commands/walk.js +2 -1
  713. package/dist/commands/walk.js.map +1 -1
  714. package/dist/commands/whoami.d.ts.map +1 -1
  715. package/dist/commands/whoami.js +3 -0
  716. package/dist/commands/whoami.js.map +1 -1
  717. package/dist/config-store.d.ts +4 -2
  718. package/dist/config-store.d.ts.map +1 -1
  719. package/dist/config-store.js +34 -7
  720. package/dist/config-store.js.map +1 -1
  721. package/dist/daemon-lifecycle.d.ts +9 -4
  722. package/dist/daemon-lifecycle.d.ts.map +1 -1
  723. package/dist/daemon-lifecycle.js +27 -9
  724. package/dist/daemon-lifecycle.js.map +1 -1
  725. package/dist/daemon-reachability.d.ts +13 -0
  726. package/dist/daemon-reachability.d.ts.map +1 -1
  727. package/dist/daemon-reachability.js +28 -0
  728. package/dist/daemon-reachability.js.map +1 -1
  729. package/dist/fetch-with-timeout.d.ts.map +1 -1
  730. package/dist/fetch-with-timeout.js +19 -16
  731. package/dist/fetch-with-timeout.js.map +1 -1
  732. package/dist/host-bindings.d.ts +6 -0
  733. package/dist/host-bindings.d.ts.map +1 -1
  734. package/dist/host-bindings.js +7 -4
  735. package/dist/host-bindings.js.map +1 -1
  736. package/dist/lib/bundle-check.d.ts.map +1 -1
  737. package/dist/lib/bundle-check.js +13 -5
  738. package/dist/lib/bundle-check.js.map +1 -1
  739. package/dist/mcp-server.d.ts.map +1 -1
  740. package/dist/mcp-server.js +57 -14
  741. package/dist/mcp-server.js.map +1 -1
  742. package/dist/rig-handle.d.ts +18 -1
  743. package/dist/rig-handle.d.ts.map +1 -1
  744. package/dist/rig-handle.js +19 -2
  745. package/dist/rig-handle.js.map +1 -1
  746. package/package.json +1 -1
  747. package/tui/dist/config/config-model.js +1 -1
  748. package/tui/dist/config/config-model.js.map +1 -1
  749. package/tui/dist/connections/connections-model.d.ts +0 -5
  750. package/tui/dist/connections/connections-model.d.ts.map +1 -1
  751. package/tui/dist/connections/connections-model.js +1 -1
  752. package/tui/dist/connections/connections-model.js.map +1 -1
  753. package/tui/dist/daemon-client.d.ts +2 -0
  754. package/tui/dist/daemon-client.d.ts.map +1 -1
  755. package/tui/dist/daemon-client.js +23 -0
  756. package/tui/dist/daemon-client.js.map +1 -1
  757. package/tui/dist/hydrate.d.ts.map +1 -1
  758. package/tui/dist/hydrate.js +13 -1
  759. package/tui/dist/hydrate.js.map +1 -1
  760. package/tui/dist/live.d.ts +10 -1
  761. package/tui/dist/live.d.ts.map +1 -1
  762. package/tui/dist/live.js +56 -7
  763. package/tui/dist/live.js.map +1 -1
  764. package/tui/dist/main.js +35 -2
  765. package/tui/dist/main.js.map +1 -1
  766. package/tui/dist/render.d.ts.map +1 -1
  767. package/tui/dist/render.js +111 -7
  768. package/tui/dist/render.js.map +1 -1
  769. package/tui/dist/types.d.ts +53 -0
  770. package/tui/dist/types.d.ts.map +1 -1
  771. package/tui/dist/version-skew.d.ts +24 -0
  772. package/tui/dist/version-skew.d.ts.map +1 -0
  773. package/tui/dist/version-skew.js +37 -0
  774. package/tui/dist/version-skew.js.map +1 -0
  775. package/daemon/dist/domain/provider/subscription-moves.d.ts +0 -77
  776. package/daemon/dist/domain/provider/subscription-moves.d.ts.map +0 -1
  777. package/daemon/dist/domain/provider/subscription-moves.js +0 -140
  778. package/daemon/dist/domain/provider/subscription-moves.js.map +0 -1
@@ -1,5 +1,6 @@
1
+ import { quietHoldCustody } from "./quiet-hold-custody.js";
1
2
  import { latestHookMovedOn, latestHookPermissionPending, latestHookWaitsOnPerson } from "./agent-activity-store.js";
2
- import { openPromptRefusals, CLOSE_PREFIX, REFUSED_PREFIX } from "./policies/parked-owner-consumer.js";
3
+ import { openPromptRefusals, CLOSE_PREFIX, PARKED_OWNER_POLICY_NAME, REFUSED_PREFIX } from "./policies/parked-owner-consumer.js";
3
4
  import { findQueueRecovery, recoveryTag } from "./queue-recovery.js";
4
5
  import { lastMeaningfulTransition } from "./queue-waiting.js";
5
6
  import { deriveUsageLimitPools } from "./provider/provider-signals.js";
@@ -209,7 +210,10 @@ function hasPickupEvidence(db, row) {
209
210
  // ladder before the resolution pass reads it.
210
211
  note.startsWith("slack-owner-notification-") ||
211
212
  note.startsWith("delivery-termination:") ||
212
- note.startsWith("delivery-deferral-"))
213
+ note.startsWith("delivery-deferral-") ||
214
+ // Quiet hours: holding an ask and releasing it are delivery machinery too, never someone picking it up.
215
+ note.startsWith("delivery-decision: quiet-hold ") ||
216
+ note.startsWith("quiet-release-"))
213
217
  continue;
214
218
  return true;
215
219
  }
@@ -592,6 +596,12 @@ export async function runWakeLadderTick(deps) {
592
596
  if (hasPickupEvidence(deps.db, row))
593
597
  continue;
594
598
  }
599
+ // An ask held for quiet hours (or released and waiting for its post) belongs to its window's release job, which
600
+ // posts it when quiet ends; escalating it would post to the person during quiet. An orphaned hold isn't owned, and
601
+ // a release whose post failed is an ordinary failed delivery.
602
+ const quiet = quietHoldCustody(deps.db, row.qitemId, now);
603
+ if (quiet && (quiet.state === "held" || quiet.state === "released"))
604
+ continue;
595
605
  activeLadders += 1;
596
606
  // Due-ness: the latest ladder marker (or the original nudge attempt) is older than
597
607
  // the retry interval. No markers + no recorded attempt = due now. Gates ACTIONS
@@ -752,7 +762,7 @@ export function makePromptStateReader(deps) {
752
762
  const hook = deps.getLatestHook?.(destination), runtime = node?.runtime ?? null;
753
763
  if (latestHookWaitsOnPerson(hook, runtime) || latestHookPermissionPending(hook, runtime))
754
764
  return "blocked";
755
- if (runtime === "codex" && hook?.rawEvent === "PermissionPromptCleared" &&
765
+ if ((runtime === "codex" || runtime === "claude-code") && hook?.rawEvent === "PermissionPromptCleared" &&
756
766
  hook.evidenceSource === "runtime_hook" &&
757
767
  (hook.stale !== true || hook.reason === "stale_runtime_hook") &&
758
768
  Date.parse(hook.eventAt ?? "") > Date.parse(refusedAt))
@@ -760,13 +770,47 @@ export function makePromptStateReader(deps) {
760
770
  return latestHookMovedOn(hook, refusedAt, runtime) ? "clear" : "unknown";
761
771
  };
762
772
  }
763
- const PROMPT_ALERT_TAG = "wake-prompt-refusal";
773
+ /** Marks the row that asks a person to resolve a seat stuck at a permission or approval prompt. */
774
+ export const PROMPT_ALERT_TAG = "wake-prompt-refusal";
764
775
  const PROMPT_EPISODE_TAG = "prompt-episode:";
765
776
  const PROMPT_RETIRED_NOTE = "prompt escalation retired: prompt cleared or original episode ended; not a delivery receipt";
777
+ /** The ladder's own transition on a prompt alert it retires because its seat's prompt read clear, and the only thing that
778
+ * ends a watchdog refusal run. A transition, not the resolution: a fallback route may already hold that field's text. */
779
+ const PROMPT_CLEARED_NOTE = "prompt escalation: the seat's prompt read clear";
766
780
  /** Rows whose tag text could hold the prompt alert tag: valid JSON stores a string verbatim or with backslash
767
781
  * escapes, so this superset (LIKE also ignores case) loses no row the exact json_each test below accepts. It only
768
782
  * spares JSON parsing of the rows that cannot match. The alert tag holds no LIKE wildcard. */
769
783
  const PROMPT_ALERT_ROWS = `(tags LIKE '%"${PROMPT_ALERT_TAG}"%' OR tags LIKE '%\\%')`;
784
+ /** Active watchdog jobs whose last two attempts were both refused at the same target's prompt. A run of refusals starts
785
+ * after the job's latest other entry at that target (looked up past the 50-entry read when the read is all refusals) or
786
+ * after this seat's latest prompt-cleared alert retirement, whichever is later; the key names that boundary, so it stays
787
+ * the same until a reminder lands or the prompt clears. Jobs are found through the refused outcome's index. The
788
+ * parked-owner job's refusals already arrive as notes on the rows it wakes. */
789
+ function refusedWatchdogJobs(db, clearedAlert) {
790
+ if (!db.prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = 'watchdog_history'").get())
791
+ return [];
792
+ const jobs = db.prepare(`SELECT job_id, registered_by_session FROM watchdog_jobs WHERE state = 'active' AND policy != ?
793
+ AND job_id IN (SELECT job_id FROM watchdog_history WHERE outcome = 'refused')`).all(PARKED_OWNER_POLICY_NAME);
794
+ const recent = db.prepare(`SELECT history_id, outcome, delivery_target_session AS dest, evaluated_at FROM watchdog_history
795
+ WHERE job_id = ? ORDER BY evaluated_at DESC, history_id DESC LIMIT 50`);
796
+ const before = db.prepare(`SELECT history_id, evaluated_at FROM watchdog_history WHERE job_id = ?
797
+ AND NOT (outcome = 'refused' AND delivery_target_session IS ?) ORDER BY evaluated_at DESC, history_id DESC LIMIT 1`);
798
+ return jobs.flatMap(({ job_id, registered_by_session }) => {
799
+ const entries = recent.all(job_id);
800
+ const dest = entries[0]?.dest;
801
+ if (!dest)
802
+ return [];
803
+ const end = entries.findIndex(e => e.outcome !== "refused" || e.dest !== dest);
804
+ const run = end === -1 ? entries : entries.slice(0, end);
805
+ const anchor = end !== -1 ? entries[end] : entries.length === 50 ? before.get(job_id, dest) : undefined;
806
+ const retired = run.length < 2 ? null : clearedAlert(dest);
807
+ const cleared = retired && (!anchor || retired.at > anchor.evaluated_at) ? retired : null;
808
+ if (run.filter(e => !cleared || e.evaluated_at > cleared.at).length < 2)
809
+ return [];
810
+ const after = cleared ? `alert:${cleared.qitemId}` : anchor?.history_id ?? "start";
811
+ return [{ jobId: job_id, dest, registeredBy: registered_by_session, key: `${dest}|watchdog:${job_id}|after:${after}`, refusedAt: entries[0].evaluated_at }];
812
+ });
813
+ }
770
814
  /** Positive refusals enter the existing rungs without ever retrying the blocked
771
815
  * seat. One aggregate carries the episode's obligations and notification key;
772
816
  * original work remains owned by its current recipient. */
@@ -826,7 +870,7 @@ async function advancePromptRefusals(deps, now, intervalS, graceS, resolveOrch,
826
870
  continue;
827
871
  let group = groups.get(primary.destinationSession);
828
872
  if (!group) {
829
- group = { keys: [], rows: new Map(), refusedAt: episode.refusedAt };
873
+ group = { keys: [], rows: new Map(), jobs: new Map(), refusedAt: episode.refusedAt };
830
874
  groups.set(primary.destinationSession, group);
831
875
  }
832
876
  if (Date.parse(episode.refusedAt) > Date.parse(group.refusedAt))
@@ -836,6 +880,33 @@ async function advancePromptRefusals(deps, now, intervalS, graceS, resolveOrch,
836
880
  group.rows.set(row.qitemId, row);
837
881
  }
838
882
  }
883
+ // A watchdog reminder refused twice at the same prompt joins its seat's episode; the row carries the job ids. The
884
+ // seat's latest alert the ladder marked as retired on a cleared prompt bounds the run; an ended episode doesn't.
885
+ const clearedAlerts = new Map();
886
+ const clearedAlert = (dest) => {
887
+ if (!clearedAlerts.has(dest))
888
+ clearedAlerts.set(dest, deps.db.prepare(`SELECT q.qitem_id AS qitemId, MAX(t.ts) AS at
889
+ FROM queue_items q JOIN queue_transitions t ON t.qitem_id = q.qitem_id
890
+ WHERE ${PROMPT_ALERT_ROWS} AND q.state NOT IN ('pending','in-progress','blocked') AND json_valid(q.tags)
891
+ AND EXISTS (SELECT 1 FROM json_each(q.tags) WHERE value = ?)
892
+ AND t.actor_session = ? AND t.transition_note = ?
893
+ GROUP BY q.qitem_id ORDER BY at DESC LIMIT 1`).get(`prompt-destination:${dest}`, LADDER_ACTOR, PROMPT_CLEARED_NOTE) ?? null);
894
+ return clearedAlerts.get(dest);
895
+ };
896
+ for (const job of refusedWatchdogJobs(deps.db, clearedAlert)) {
897
+ const tag = `${PROMPT_EPISODE_TAG}${job.key}`;
898
+ if (closedEpisode(tag))
899
+ continue;
900
+ let group = groups.get(job.dest);
901
+ if (!group) {
902
+ group = { keys: [], rows: new Map(), jobs: new Map(), refusedAt: job.refusedAt };
903
+ groups.set(job.dest, group);
904
+ }
905
+ if (Date.parse(job.refusedAt) > Date.parse(group.refusedAt))
906
+ group.refusedAt = job.refusedAt;
907
+ group.keys.push(tag);
908
+ group.jobs.set(job.jobId, job.registeredBy);
909
+ }
839
910
  const promptState = (dest) => {
840
911
  try {
841
912
  return deps.readPromptState?.(dest, groups.get(dest)?.refusedAt ?? now.toISOString()) ?? "unknown";
@@ -861,7 +932,10 @@ async function advancePromptRefusals(deps, now, intervalS, graceS, resolveOrch,
861
932
  const group = groups.get(dest);
862
933
  const tags = aggregate.tags;
863
934
  const sameEpisode = group?.keys.some(key => tags.includes(key));
864
- if (!sameEpisode || promptState(dest) === "clear") {
935
+ const cleared = promptState(dest) === "clear";
936
+ if (!sameEpisode || cleared) {
937
+ if (cleared)
938
+ appendMarker(deps.queueRepo, aggregate, PROMPT_CLEARED_NOTE);
865
939
  await deps.queueRepo.update({ qitemId: qitem_id, actorSession: aggregate.sourceSession, state: "done",
866
940
  closureReason: "no-follow-on", transitionNote: PROMPT_RETIRED_NOTE });
867
941
  }
@@ -908,7 +982,7 @@ async function advancePromptRefusals(deps, now, intervalS, graceS, resolveOrch,
908
982
  const orch = resolveOrch(dest);
909
983
  const toOperator = orch === null || orch === dest;
910
984
  const reason = "interactive prompt blocks outstanding work; no input was sent";
911
- const aggregate = await ensureEscalationRow(deps, dest, toOperator ? resolveOperatorSeat() ?? members[0].row.sourceSession : orch, members, reason, `prompt-destination:${dest}`, [PROMPT_ALERT_TAG, ...group.keys]);
985
+ const aggregate = await ensureEscalationRow(deps, dest, toOperator ? resolveOperatorSeat() ?? members[0]?.row.sourceSession ?? [...group.jobs.values()][0] : orch, members, reason, `prompt-destination:${dest}`, [PROMPT_ALERT_TAG, ...group.keys], group.jobs);
912
986
  const row = deps.queueRepo.getById(aggregate.qitemId);
913
987
  if (!row)
914
988
  continue;
@@ -916,6 +990,12 @@ async function advancePromptRefusals(deps, now, intervalS, graceS, resolveOrch,
916
990
  if (addedKeys.length) {
917
991
  deps.db.prepare("UPDATE queue_items SET tags = ? WHERE qitem_id = ?")
918
992
  .run(JSON.stringify([...(row.tags ?? []), ...addedKeys]), row.qitemId);
993
+ // An alert that already exists names a reminder that joins it; nothing is sent again for it.
994
+ const addedJobs = [...group.jobs.keys()].filter(id => addedKeys.some(key => key.includes(`|watchdog:${id}|`)));
995
+ if (addedJobs.length)
996
+ deps.queueRepo.transitionLog.append({ qitemId: row.qitemId, state: row.state, actorSession: LADDER_ACTOR,
997
+ transitionNote: `wake-escalation watchdog reminders added: ${addedJobs.join(", ")}`,
998
+ closureTarget: row.state === "in-progress" ? deps.queueRepo.retainedClaimBlocker(row.qitemId) : undefined });
919
999
  }
920
1000
  // The aggregate ID is the episode. Claiming it does not start a second
921
1001
  // delivery episode or erase its accepted dispatch/receipt history.
@@ -933,7 +1013,7 @@ async function advancePromptRefusals(deps, now, intervalS, graceS, resolveOrch,
933
1013
  if (promptState(dest) !== "blocked")
934
1014
  continue;
935
1015
  const freshMembers = members.map(m => readCandidate(m.row.qitemId, dest));
936
- if (unreadableDestinations.has(dest) || !freshMembers.some(fresh => fresh && fresh.destinationSession === dest && ["pending", "in-progress", "blocked"].includes(fresh.state)))
1016
+ if (unreadableDestinations.has(dest) || (!group.jobs.size && !freshMembers.some(fresh => fresh && fresh.destinationSession === dest && ["pending", "in-progress", "blocked"].includes(fresh.state))))
937
1017
  continue;
938
1018
  if (!view.orchRung) {
939
1019
  if (!toOperator) {
@@ -1035,7 +1115,9 @@ async function refreshEscalationRowIfExists(deps, dest, members, dedupTag = esca
1035
1115
  closureTarget: row.state === "in-progress" ? deps.queueRepo.retainedClaimBlocker(existing.qitem_id) : undefined });
1036
1116
  })();
1037
1117
  }
1038
- async function ensureEscalationRow(deps, dest, orch, members, reason, dedupTag = escalationDedupTag(dest), extraTags = []) {
1118
+ async function ensureEscalationRow(deps, dest, orch, members, reason, dedupTag = escalationDedupTag(dest), extraTags = [],
1119
+ /** Watchdog reminders refused at this seat's prompt: job id to the session that registered it. */
1120
+ jobs = new Map()) {
1039
1121
  const existing = deps.db
1040
1122
  .prepare(`SELECT qitem_id FROM queue_items
1041
1123
  WHERE state IN ('pending','in-progress','blocked') AND tags LIKE ? LIMIT 1`)
@@ -1049,12 +1131,13 @@ async function ensureEscalationRow(deps, dest, orch, members, reason, dedupTag =
1049
1131
  `reason: ${reason}\n` +
1050
1132
  `stuck batons (${members.length}):\n` +
1051
1133
  members.map((m) => `- ${m.row.qitemId}: ${m.row.summary ?? "outstanding work"} (${m.reason})`).join("\n") +
1134
+ (jobs.size ? `\nwatchdog reminders refused at its prompt (${jobs.size}):\n${[...jobs.keys()].map(id => `- ${id}`).join("\n")}` : "") +
1052
1135
  `\nThe rows above still carry their obligations exactly-once; this escalation is the wake, not the content.`;
1053
1136
  const created = await deps.queueRepo.create({
1054
- sourceSession: members[0].row.sourceSession,
1137
+ sourceSession: members[0]?.row.sourceSession ?? [...jobs.values()][0],
1055
1138
  destinationSession: orch,
1056
1139
  body,
1057
- summary: `Wake escalation: ${members.length} baton(s) stuck at ${dest} — ${reason}`,
1140
+ summary: `Wake escalation: ${members.length} baton(s)${jobs.size ? ` and ${jobs.size} watchdog reminder(s)` : ""} stuck at ${dest} — ${reason}`,
1058
1141
  tags: [WAKE_ESCALATION_TAG, dedupTag, ...extraTags, ...members.map(m => recoveryTag(m.row.qitemId))],
1059
1142
  nudge: false, // delivery is the ladder's own rung attempt, recorded with its outcome
1060
1143
  });
@@ -1 +1 @@
1
- {"version":3,"file":"queue-wake-ladder.js","sourceRoot":"","sources":["../../src/domain/queue-wake-ladder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAGpH,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACvG,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAoB,MAAM,oBAAoB,CAAC;AA4ChF,OAAO,EAAE,qBAAqB,EAAuB,MAAM,gCAAgC,CAAC;AAE5F,OAAO,EACL,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAmB,MAAM,6BAA6B,CAAC;AAChH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,uBAAuB,EACvB,0BAA0B,EAC1B,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,CAAC,MAAM,uBAAuB,GAAG,mCAAmC,CAAC;AAC3E,MAAM,CAAC,MAAM,mCAAmC,GAAG,GAAG,CAAC;AACvD,MAAM,CAAC,MAAM,kBAAkB,GAAG,sBAAsB,CAAC;AACzD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACxC,MAAM,CAAC,MAAM,2BAA2B,GAAG,uCAAuC,CAAC;AACnF,MAAM,CAAC,MAAM,uCAAuC,GAAG,EAAE,CAAC;AAC1D,MAAM,CAAC,MAAM,mBAAmB,GAAG,+BAA+B,CAAC;AACnE,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAG,CAAC;AACnD;;;;;;0CAM0C;AAC1C,MAAM,CAAC,MAAM,mBAAmB,GAAG,uBAAuB,CAAC;AAE3D,MAAM,CAAC,MAAM,uBAAuB,GAAkB,QAAQ,CAAC;AAE/D,8EAA8E;AAC9E,iFAAiF;AACjF,yEAAyE;AACzE,MAAM,CAAC,MAAM,gCAAgC,GAAG,EAAE,CAAC;AACnD,MAAM,CAAC,MAAM,kCAAkC,GAAG,EAAE,CAAC;AACrD,MAAM,UAAU,2BAA2B,CAAC,SAAuB,IAAI,CAAC,MAAM;IAC5E,OAAO,gCAAgC,GAAG,IAAI,CAAC,KAAK,CAClD,MAAM,EAAE,GAAG,CAAC,kCAAkC,GAAG,gCAAgC,GAAG,CAAC,CAAC,CACvF,CAAC;AACJ,CAAC;AAED;mFACmF;AACnF,MAAM,CAAC,MAAM,yBAAyB,GAAG,sBAAsB,CAAC;AAEhE,iEAAiE;AACjE,MAAM,CAAC,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;AACrD,MAAM,UAAU,kBAAkB,CAAC,WAAmB;IACpD,OAAO,mBAAmB,WAAW,EAAE,CAAC;AAC1C,CAAC;AAED,iFAAiF;AACjF,MAAM,CAAC,MAAM,qBAAqB,GAAG,iBAAiB,CAAC;AACvD,MAAM,CAAC,MAAM,oBAAoB,GAAG,gBAAgB,CAAC;AAErD,MAAM,YAAY,GAAG,oBAAoB,CAAC;AAiB1C,+EAA+E;AAC/E,MAAM,UAAU,sBAAsB;IACpC,MAAM,KAAK,GAA6B;QACtC,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,IAAI;QACjB,SAAS,EAAE,IAAI;QACf,mBAAmB,EAAE,CAAC;QACtB,aAAa,EAAE,CAAC;QAChB,eAAe,EAAE,CAAC;QAClB,cAAc,EAAE,CAAC;KAClB,CAAC;IACF,OAAO;QACL,MAAM,CAAC,OAAO,EAAE,MAAM;YACpB,KAAK,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC5C,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC;YAC5B,KAAK,CAAC,SAAS,GAAG,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACnF,KAAK,CAAC,mBAAmB,GAAG,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrF,IAAI,MAAM,EAAE,MAAM,KAAK,SAAS;gBAAE,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC;YACtE,IAAI,MAAM,EAAE,WAAW,KAAK,SAAS;gBAAE,KAAK,CAAC,eAAe,GAAG,MAAM,CAAC,WAAW,CAAC;YAClF,IAAI,MAAM,EAAE,SAAS;gBAAE,KAAK,CAAC,cAAc,IAAI,MAAM,CAAC,SAAS,CAAC;QAClE,CAAC;QACD,QAAQ;YACN,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC;QACtB,CAAC;KACF,CAAC;AACJ,CAAC;AAED;oFACoF;AACpF,SAAS,mBAAmB;IAC1B,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,aAAa,EAAE,CAAC,UAAU,CAAC,8BAAuC,CAAC,CAAC,KAAK,CAAC;QACxF,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,GAAW,EAAE,QAAgB;IAClD,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,aAAa,EAAE,CAAC,UAAU,CAAC,GAAY,CAAC,CAAC,KAAK,CAAC;QAC7D,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAChD,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACpD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAW,EAAE,CAC1D,aAAa,CAAC,uBAAuB,EAAE,mCAAmC,CAAC,CAAC;AAC9E,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAW,EAAE,CAAC,aAAa,CAAC,kBAAkB,EAAE,sBAAsB,CAAC,CAAC;AAC3G,MAAM,CAAC,MAAM,mCAAmC,GAAG,GAAW,EAAE,CAC9D,aAAa,CAAC,2BAA2B,EAAE,uCAAuC,CAAC,CAAC;AACtF,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAW,EAAE,CACtD,aAAa,CAAC,mBAAmB,EAAE,+BAA+B,CAAC,CAAC;AACtE,MAAM,UAAU,oBAAoB;IAClC,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,aAAa,EAAE,CAAC,UAAU,CAAC,mBAA4B,CAAC,CAAC,KAAK,CAAC;QAC7E,OAAO,CAAC,KAAK,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,uBAAuB,CAAC;IAC3E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,uBAAuB,CAAC;IACjC,CAAC;AACH,CAAC;AAkED,SAAS,UAAU,CAAC,EAAqB,EAAE,OAAe,EAAE,KAAK,GAAG,wBAAwB,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC;IAChH,MAAM,IAAI,GAAG,EAAE;SACZ,OAAO,CAAC,mHAAmH,CAAC;SAC5H,GAAG,CAAC,OAAO,EAAE,KAAK,CAAgB,CAAC;IACtC,MAAM,IAAI,GAAe;QACvB,QAAQ,EAAE,CAAC;QACX,YAAY,EAAE,IAAI;QAClB,QAAQ,EAAE,KAAK;QACf,cAAc,EAAE,KAAK;QACrB,MAAM,EAAE,KAAK;QACb,kBAAkB,EAAE,KAAK;QACzB,WAAW,EAAE,IAAI;QACjB,iBAAiB,EAAE,KAAK;QACxB,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,KAAK;QAChB,kBAAkB,EAAE,KAAK;QACzB,aAAa,EAAE,IAAI;KACpB,CAAC;IACF,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,CAAC,CAAC,eAAe,IAAI,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;QACnD,IAAI,SAAS;YAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QAClC,IAAI,MAAM,IAAI,kCAAkC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,cAAc,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,MAAM,IAAI,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QAC5E,IAAI,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,kBAAkB,sCAAsC,CAAC,EAAE,CAAC;YAC3F,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,kBAAkB,sCAAsC,CAAC,MAAM,CAAC,CAAC;QACrG,CAAC;QACD,IAAI,MAAM,IAAI,mDAAmD,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7E,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YACtD,IAAI,QAAQ;gBAAE,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC;YAC9C,qEAAqE;YACrE,sEAAsE;YACtE,4DAA4D;YAC5D,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QACjC,CAAC;QACD,2EAA2E;QAC3E,2EAA2E;QAC3E,wEAAwE;QACxE,4EAA4E;QAC5E,mEAAmE;QACnE,8DAA8D;QAC9D,IAAI,IAAI,CAAC,UAAU,CAAC,kCAAkC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE,CAAC;YACpG,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,oBAAoB,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBACpG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAChC,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC;YAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACpE,IAAI,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC;YAAE,QAAQ,IAAI,CAAC,CAAC;QAC1D,IAAI,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC;QACxD,IAAI,SAAS,IAAI,MAAM,EAAE,CAAC;YACxB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBACxD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;YACzF,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,CAAC,kBAAkB,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC7C,OAAO,IAAI,CAAC;AACd,CAAC;AAED;mFACmF;AACnF,SAAS,iBAAiB,CAAC,EAAqB,EAAE,GAA+D;IAC/G,IAAI,GAAG,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAC/B,+FAA+F;IAC/F,mFAAmF;IACnF,IAAI,GAAG,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC;IACnC,MAAM,IAAI,GAAG,EAAE;SACZ,OAAO,CAAC,kEAAkE,CAAC;SAC3E,GAAG,CAAC,GAAG,CAAC,OAAO,CAA8C,CAAC;IACjE,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,CAAC,CAAC,eAAe,IAAI,EAAE,CAAC;QACrC,IAAI,IAAI,KAAK,SAAS;YAAE,SAAS;QACjC,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,SAAS;QACzC,IACE,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC;YACtC,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC;YACnC,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC;YACxC,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC;YACtC,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC;YACrC,uEAAuE;YACvE,wEAAwE;YACxE,8CAA8C;YAC9C,IAAI,CAAC,UAAU,CAAC,2BAA2B,CAAC;YAC5C,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC;YACxC,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC;YAErC,SAAS;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAID,SAAS,kBAAkB,CAAC,eAA8B;IACxD,IAAI,CAAC,eAAe;QAAE,OAAO,IAAI,CAAC;IAClC,IAAI,eAAe,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC3D,iFAAiF;IACjF,4EAA4E;IAC5E,gFAAgF;IAChF,8EAA8E;IAC9E,+EAA+E;IAC/E,gFAAgF;IAChF,2EAA2E;IAC3E,gFAAgF;IAChF,2EAA2E;IAC3E,IAAI,eAAe,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC7D,IACE,eAAe,KAAK,uBAAuB;QAC3C,eAAe,CAAC,UAAU,CAAC,gBAAgB,CAAC;QAC5C,eAAe,CAAC,UAAU,CAAC,gBAAgB,CAAC;QAE5C,OAAO,aAAa,CAAC;IACvB,OAAO,IAAI,CAAC,CAAC,6DAA6D;AAC5E,CAAC;AAED;;;;;4BAK4B;AAC5B,SAAS,iBAAiB,CAAC,GAAiF;IAC1G,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACrD,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/B,MAAM,QAAQ,GAAG,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC;IACvE,IAAI,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,aAAa,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/F,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;8EAE8E;AAC9E,SAAS,gBAAgB,CAAC,EAAqB,EAAE,OAAe;IAC9D,MAAM,QAAQ,GAAG,iBAAiB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAChD,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IACjG,MAAM,WAAW,GAAG,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC;;;4EAGmC,CAAC;SACpE,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,CAAC,CAAC;IACrE,OAAO,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;AACvC,CAAC;AAED;;uEAEuE;AACvE,MAAM,UAAU,qBAAqB,CAAC,EAAqB,EAAE,GAAqB;IAChF,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACrF,IAAI,gBAAgB,CAAC,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IACnD,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;QACnE,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,GAAG,CAAC,KAAK,KAAK,aAAa,IAAI,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,EAAE,CAAC,OAAO,CAC3E,2HAA2H,CAC5H,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AACtB,CAAC;AAED;kFACkF;AAClF,SAAS,cAAc,CACrB,EAAqB,EACrB,WAAmB,EACnB,YAAoB,EACpB,GAAS;IAET,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACxD,IAAI,QAAQ,EAAE,CAAC;QACb,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACxC,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACnC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YACnD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YACrD,KAAK,GAAG,CAAC;YACT,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;gBAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACnC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC;oBAClD,OAAO,EAAE,MAAM,EAAE,sBAAsB,yBAAyB,WAAW,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;gBAC3G,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,kFAAkF;IAClF,oFAAoF;IACpF,MAAM,MAAM,GAAG,oBAAoB,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;IACrD,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,MAAM,GAAG,GAAG,EAAE;SACX,OAAO,CAAC,kEAAkE,CAAC;SAC3E,GAAG,CAAC,MAAM,CAA8C,CAAC;IAC5D,IAAI,CAAC,GAAG,EAAE,UAAU;QAAE,OAAO,IAAI,CAAC;IAClC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC1C,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC;IAC7C,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,GAAG,YAAY,EAAE,CAAC;QACrC,OAAO,EAAE,MAAM,EAAE,4CAA4C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,YAAY,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,MAAM,GAAG,YAAY,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;IAC/K,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,gBAAgB,CAAC,EAAqB,EAAE,WAAmB,EAAE,YAAoB,EAAE,GAAS;IACnG,OAAO,cAAc,CAAC,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,CAAC,EAAE,MAAM,IAAI,IAAI,CAAC;AAC5E,CAAC;AAED;;iEAEiE;AACjE,MAAM,UAAU,sBAAsB,CAAC,EAAqB,EAAE,OAAe;IAC3E,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC;;;wGAG+E,CAAC;SACpG,GAAG,CAAC,OAAO,CAAuM,CAAC;IACtN,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACzE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,sEAAsE,CAAC;SAC9G,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAyD,CAAC,CAAC,CAAC,IAAI,CAAC;IACxF,MAAM,gBAAgB,GAAG,GAAgC,EAAE,CAAC,CAAC;QAC3D,KAAK,EAAE,WAAY,CAAC,mBAAmB,EAAE,SAAS,EAAE,kBAAkB,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,EAAE;QAClK,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,QAAS,CAAC,OAAO,EAAE,KAAK,EAAE,QAAS,CAAC,KAAK,EAAE;QACpG,IAAI,EAAE,gHAAgH;KACvH,CAAC,CAAC;IACH,IAAI,QAAQ,IAAI,CAAC,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,gBAAgB,EAAE,CAAC;IAC3G,IAAI,QAAQ,IAAI,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAAE,OAAO,gBAAgB,EAAE,CAAC;IAC1H,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,aAAa,CAAC;WAC5E,CAAC,GAAG,CAAC,KAAK,KAAK,aAAa,IAAI,GAAG,CAAC,SAAS,IAAI,IAAI,KAAK,QAAQ,IAAI,EAAE,CAAC,OAAO,CACjF,2HAA2H,CAC5H,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IAClB,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,IAAI,iBAAiB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9H,MAAM,MAAM,GAAG,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACvC,IAAI,MAAM,CAAC,SAAS;QAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;YAC3D,KAAK,EAAE,0BAA0B,CAAC,EAAE,EAAE,GAAG,CAAC,kBAAkB,CAAC,IAAI,GAAG,CAAC,kBAAkB;YACvF,SAAS,EAAE,4DAA4D,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI;YAC3G,IAAI,EAAE,oHAAoH;SAC3H,CAAC;IACF,MAAM,QAAQ,GAAG,+BAA+B,EAAE,EAAE,GAAG,GAAG,mBAAmB,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IAClG,MAAM,KAAK,GAAG,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC;IACzD,IAAI,CAAC,KAAK,IAAI,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAY,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAAE,OAAO,gBAAgB,EAAE,CAAC;IAC1H,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACrG,IAAI,GAAG,GAAG,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,QAAQ,GAAG,IAAI,CAAC;IACvF,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;QAC3B,qEAAqE;QACrE,sEAAsE;QACtE,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,mCAAmC,EAAE,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IACrH,CAAC;IACD,IAAI,KAAK,EAAE,CAAC;QACV,0EAA0E;QAC1E,2EAA2E;QAC3E,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC;4GAC4E,CAAC;aACtG,GAAG,CAAC,GAAG,CAAC,kBAAkB,EAAE,GAAG,qBAAqB,GAAG,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,QAAQ,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,GAAG,CAA0B,CAAC;QACnJ,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG;YAAE,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAE,CAAC,EAAE,CAAC,GAAG,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;IAC3G,CAAC;IACD,MAAM,UAAU,GAAG,cAAc,CAAC,EAAE,EAAE,GAAG,CAAC,kBAAkB,EAAE,2BAA2B,EAAE,EAAE,GAAG,CAAC,CAAC;IAClG,IAAI,UAAU;QAAE,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IAClE,MAAM,IAAI,GAAG,0BAA0B,CAAC,EAAE,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG,CAAC,kBAAkB,CAAC;IACrF,OAAO;QACL,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,mBAAmB,EAAE,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAK;QACrG,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,gCAAgC;QAC5L,KAAK,EAAE,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,eAAe,EAAE,QAAQ;QAChG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,mHAAmH,EAAE,CAAC;KAChN,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,IAAqB,EAAE,GAAc,EAAE,IAAY;IACvE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;QACxB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,YAAY,EAAE,YAAY;QAC1B,cAAc,EAAE,IAAI;QACpB,iFAAiF;QACjF,aAAa,EAAE,GAAG,CAAC,KAAK,KAAK,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;KAChG,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,EAAsC,EAAE,GAAS;IACrE,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC;IAC9C,MAAM,CAAC,GAAG,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACvD,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC;IAC9B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAe;IACxC,OAAO,GAAG,2BAA2B,GAAG,OAAO,EAAE,CAAC;AACpD,CAAC;AAED,SAAS,KAAK,CAAC,OAAe;IAC5B,OAAO,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,IAA8C,EAC9C,IAAoB,EACpB,GAAS,EACT,aAAqB;IAErB,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAC9B;;;;cAIU,CACX,CAAC,GAAG,CAAC,uBAAuB,EAAE,OAAO,CAAqC,CAAC;IAE5E,IAAI,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1E,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/D,IAAI,IAAI,EAAE,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI;YAAE,OAAO,OAAO,CAAC;QACxD,IAAI,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,OAAO,CAAC,OAAO,uBAAuB,CAAC,CAAC;IAC3F,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAE,CAAC,CAAC;QACzC,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YACpC,aAAa,EAAE,YAAY;YAC3B,kBAAkB,EAAE,eAAe,GAAG,EAAE;YACxC,IAAI,EAAE,4BAA4B,IAAI,CAAC,OAAO,qCAAqC,IAAI,CAAC,SAAS,GAAG;YACpG,IAAI,EAAE,CAAC,uBAAuB,EAAE,OAAO,CAAC;YACxC,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,aAAa,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE;YACpF,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;IACL,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,aAAa,GAAG,IAAI,CAAC;IACnE,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IACnF,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QACpB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,YAAY,EAAE,YAAY;QAC1B,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,2BAA2B,IAAI,CAAC,OAAO,EAAE;QACpD,cAAc,EAAE,qBAAqB,IAAI,CAAC,MAAM,SAAS,IAAI,CAAC,OAAO,UAAU,IAAI,CAAC,SAAS,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,EAAE;QACxI,gBAAgB;KACjB,CAAC,CAAC;IACH,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAE,CAAC;AAClD,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAAoB;IAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;QACnC,wEAAwE;QACxE,sEAAsE;QACtE,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,uIAAuI,CAAC,CAAC,GAAG,CAAC,KAAK,mBAAmB,IAAI,CAA0F,CAAC;QACvS,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,IAAK,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAc,CAAC,QAAQ,CAAC,gBAAgB,CAAC;gBAAE,SAAS;YAClF,MAAM,GAAG,GAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;YAC1I,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;gBAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACvC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,eAAe,KAAK,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;YACrL,CAAC,CAAC;gBAAE,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,gFAAgF,EAAE,CAAC,CAAC;QAC3P,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,IAAI,+BAA+B,EAAE,CAAC;QACjF,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,mBAAmB,EAAE,CAAC;QACnD,MAAM,SAAS,GAAG,IAAI,CAAC,wBAAwB,IAAI,mCAAmC,EAAE,CAAC;QACzF,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,IAAI,2BAA2B,EAAE,CAAC;QACtE,MAAM,WAAW,GACf,IAAI,CAAC,mBAAmB,IAAI,CAAC,CAAC,OAAe,EAAE,EAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;QAClG,MAAM,WAAW,GACf,IAAI,CAAC,WAAW;YAChB,CAAC,KAAK,EAAE,OAAe,EAAE,MAAc,EAAmB,EAAE;gBAC1D,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;gBACvD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,mBAAmB,IAAI,sCAAsC,CAAC;YACxG,CAAC,CAAC,CAAC;QAEL,MAAM,OAAO,GAAuB,EAAE,CAAC;QACvC,IAAI,CAAC;YACH,MAAM,qBAAqB,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAC/F,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,yEAAyE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnI,CAAC;QACD,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAC1B,MAAM,eAAe,GAAG,IAAI,GAAG,EAA0B,CAAC;QAC1D,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAChD,MAAM,KAAK,GAAG,qBAAqB,CAAC;oBAClC,GAAG,KAAK;oBACR,GAAG;oBACH,eAAe,EAAE,SAAS;iBAC3B,CAAC,CAAC;gBACH,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,YAAY;wBAAE,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACxE,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,8EAA8E,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACxI,CAAC;QACH,CAAC;QACD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAqB,CAAC;QAEnD,qFAAqF;QACrF,yDAAyD;QACzD,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE;aACtB,OAAO,CACN;yFACiF,CAClF;aACA,GAAG,EAAiC,CAAC;QAExC,2EAA2E;QAC3E,2EAA2E;QAC3E,4EAA4E;QAC5E,4EAA4E;QAC5E,wEAAwE;QACxE,wEAAwE;QACxE,4DAA4D;QAC5D,MAAM,sBAAsB,GAAG,IAAI,CAAC,EAAE;aACnC,OAAO,CACN;;;;;;;cAOM,CACP;aACA,GAAG,EAAiC,CAAC;QAYxC,yEAAyE;QACzE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAC;QAC/C;wFACgF;QAChF,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC/C,IAAI,aAAa,GAAG,CAAC,CAAC;QAEtB,MAAM,SAAS,GAAG,CAAC,IAAY,EAAU,EAAE;YACzC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5B,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;gBACvE,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE;qBACpB,OAAO,CACN;yFAC6E,CAC9E;qBACA,GAAG,CAAC,IAAI,EAAE,GAAG,qBAAqB,GAAG,EAAE,KAAK,CAAkB,CAAC;gBAClE,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;YACpC,CAAC;YACD,OAAO,YAAY,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;QACjC,CAAC,CAAC;QAEF,KAAK,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,SAAS,EAAE,GAAG,sBAAsB,CAAC,EAAE,CAAC;YACrE,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC7C,IAAI,CAAC,GAAG;gBAAE,SAAS;YACnB,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YAC9D,sEAAsE;YACtE,yEAAyE;YACzE,wEAAwE;YACxE,IAAI,SAAS,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBACzC,IAAI,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBACnD,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO,GAAG,MAAM,uBAAuB,CACrC,IAAI,EACJ,SAAS,EACT,GAAG,EACH,IAAI,CAAC,uBAAuB,IAAI,2BAA2B,EAAE,CAC9D,CAAC;oBACF,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAChD,CAAC;gBACD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;oBACpB,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,YAAY,EAAE,YAAY;oBAC1B,KAAK,EAAE,SAAS;oBAChB,SAAS,EAAE,OAAO,CAAC,OAAO;oBAC1B,cAAc,EAAE,gCAAgC,SAAS,CAAC,OAAO,UAAU,SAAS,CAAC,SAAS,+BAA+B,OAAO,CAAC,OAAO,EAAE;iBAC/I,CAAC,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBACnE,SAAS;YACX,CAAC;YACD,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;YACpC,IAAI,CAAC,IAAI;gBAAE,SAAS;YACpB,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YAC3D,IAAI,WAAW,IAAI,CAAC,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC;gBAAE,SAAS;YAChG,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YAC9C,IAAI,IAAI,CAAC,SAAS;gBAAE,SAAS,CAAC,6CAA6C;YAE3E,iFAAiF;YACjF,6BAA6B;YAC7B,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;gBAC3B,IAAI,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,SAAS;oBAAE,SAAS;gBAC3D,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC;oBAAE,SAAS;YAChD,CAAC;YACD,aAAa,IAAI,CAAC,CAAC;YAEnB,mFAAmF;YACnF,gFAAgF;YAChF,uEAAuE;YACvE,MAAM,YAAY,GAChB,IAAI,CAAC,YAAY,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACxF,MAAM,GAAG,GACP,YAAY,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,GAAG,YAAY,IAAI,SAAS,GAAG,IAAI,CAAC;YAC1G,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,kBAAkB,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAE9F,MAAM,QAAQ,GAAG,WAAW,CAAC;YAC7B,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC/E,uEAAuE;YACvE,yEAAyE;YACzE,oDAAoD;YACpD,IAAI,WAAW,EAAE,IAAI,EAAE,QAAQ,CAAC,gBAAgB,CAAC;mBAC5C,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC;gBAAE,SAAS;YAEjF,mFAAmF;YACnF,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC;gBAC7C,IAAI,CAAC,GAAG;oBAAE,SAAS;gBACnB,6EAA6E;gBAC7E,IAAI,SAAS,EAAE,CAAC;oBACd,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;wBAC7B,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,qBAAqB,IAAI,SAAS,EAAE,CAAC,CAAC;wBAC3E,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;oBAC5D,CAAC;oBACD,SAAS;gBACX,CAAC;gBACD,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBAC5B,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,oBAAoB,kCAAkC,CAAC,CAAC;oBAC7F,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC3D,CAAC;gBACD,IAAI,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,GAAG;oBAAE,SAAS,CAAC,2BAA2B;gBACnF,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,kBAAkB,EAAE,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChF,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAC;gBACvE,YAAY,CACV,IAAI,CAAC,SAAS,EACd,GAAG,EACH,GAAG,qBAAqB,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,GAAG,YAAY,OAAO,EAAE,CAC1E,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAC;gBACxF,SAAS;YACX,CAAC;YAED,IAAI,QAAQ,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBAClE,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,wCAAwC,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC;gBACrH,SAAS;YACX,CAAC;YAED,kFAAkF;YAClF,8EAA8E;YAC9E,MAAM,MAAM,GACV,IAAI,KAAK,QAAQ;gBACf,CAAC,CAAC,eAAe,IAAI,CAAC,QAAQ,eAAe,YAAY,CAAC,IAAI,CAAC,aAAa,IAAI,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM;gBACzG,CAAC,CAAC,qDAAqD,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC;YAClG,MAAM,IAAI,GAAG,GAAG,CAAC,kBAAkB,CAAC;YACpC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACpD,UAAU,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;QAC1E,CAAC;QAED,oFAAoF;QACpF,sFAAsF;QACtF,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,UAAU,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;YAE/B,+EAA+E;YAC/E,iFAAiF;YACjF,MAAM,4BAA4B,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;YAExD,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAChE,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACjE,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,OAAO,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC;YAE9D,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBACnC,gFAAgF;oBAChF,8EAA8E;oBAC9E,6EAA6E;oBAC7E,8EAA8E;oBAC9E,6EAA6E;oBAC7E,yDAAyD;oBACzD,MAAM,SAAS,GAAG,mBAAmB,EAAE,IAAI,aAAa,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,aAAa,CAAC;oBAC/E,MAAM,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;oBACxE,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;wBAC9B,YAAY,CACV,IAAI,CAAC,SAAS,EACd,CAAC,CAAC,GAAG,EACL,GAAG,kBAAkB,wCAAwC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,aAAa,YAAY,CAAC,CAAC,MAAM,EAAE,CACrI,CAAC;wBACF,IAAI,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;4BAC/D,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC;4BACjE,iBAAiB,IAAI,CAAC,CAAC;wBACzB,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;oBAC5E,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;oBACxD,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;wBAC9B,YAAY,CACV,IAAI,CAAC,SAAS,EACd,CAAC,CAAC,GAAG,EACL,GAAG,kBAAkB,oBAAoB,IAAI,YAAY,OAAO,WAAW,CAAC,CAAC,MAAM,EAAE,CACtF,CAAC;wBACF,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,uBAAuB,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;wBACxF,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;4BACnC,0EAA0E;4BAC1E,wEAAwE;4BACxE,eAAe,CACb,IAAI,CAAC,SAAS,EACd,CAAC,CAAC,GAAG,EACL,8BAA8B,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,GAAG,CAChF,CAAC;4BACF,iBAAiB,IAAI,CAAC,CAAC;wBACzB,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,SAAS,CAAC,2DAA2D;YACvE,CAAC;YAED,wEAAwE;YACxE,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;gBAC3B,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBAC7G,IAAI,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC/D,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC;wBACjE,iBAAiB,IAAI,CAAC,CAAC;oBACzB,CAAC;gBACH,CAAC;YACH,CAAC;YAED,0EAA0E;YAC1E,wEAAwE;YACxE,gCAAgC;YAChC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,IAAI,CAAC,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBAC/E,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,EAAE,yBAAyB,CAAC,CAAC;oBAClE,iBAAiB,IAAI,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,eAAe,GACnB,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;+EACqE,CACtE;aACA,GAAG,CAAC,KAAK,mBAAmB,IAAI,CACpC,CAAC,CAAC,CAAC;QACJ,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;QACzD,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC/G,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAC9B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,GAAG,CAAC,gDAAgD,OAAO,EAAE,CAAC,CAAC;QAC/D,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAC7C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IAC5D,CAAC;AACH,CAAC;AAED;;;yEAGyE;AACzE,MAAM,UAAU,0BAA0B,CACxC,KAAqG,EACrG,SAAiB;IAEjB,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC7D,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IACjD,MAAM,QAAQ,GAAG,KAAK,CAAC,kBAAkB,CAAC;IAC1C,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChC,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACvF,CAAC;AAED;;;;+GAI+G;AAC/G,MAAM,UAAU,qBAAqB,CAAC,IAIrC;IACC,OAAO,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE;QAChC,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACnG,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,MAAM;YAAE,OAAO,OAAO,CAAC;QACrD,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC,GAAG,CAAC,MAAM,CAA2C,CAAC;QAC7H,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI,EAAE,OAAO,IAAI,IAAI,CAAC;QAChF,IAAI,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,2BAA2B,CAAC,IAAI,EAAE,OAAO,CAAC;YAAE,OAAO,SAAS,CAAC;QAC3G,IACE,OAAO,KAAK,OAAO,IAAI,IAAI,EAAE,QAAQ,KAAK,yBAAyB;YACnE,IAAI,CAAC,cAAc,KAAK,cAAc;YACtC,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,oBAAoB,CAAC;YAC7D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;YACtD,OAAO,OAAO,CAAC;QACjB,OAAO,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3E,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,gBAAgB,GAAG,qBAAqB,CAAC;AAC/C,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;AAC7C,MAAM,mBAAmB,GAAG,6FAA6F,CAAC;AAC1H;;8FAE8F;AAC9F,MAAM,iBAAiB,GAAG,iBAAiB,gBAAgB,0BAA0B,CAAC;AAEtF;;2DAE2D;AAC3D,KAAK,UAAU,qBAAqB,CAClC,IAAoB,EACpB,GAAS,EACT,SAAiB,EACjB,MAAc,EACd,WAAmD,EACnD,WAAiE,EACjE,OAA2B;IAE3B,MAAM,MAAM,GAAG,IAAI,GAAG,EAA+E,CAAC;IACtG,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAU,CAAC;IACjD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,MAAM,aAAa,GAAG,CAAC,EAAU,EAAE,WAAmB,EAAoB,EAAE;QAC1E,IAAI,CAAC;YAAC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAChD,sBAAsB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACxC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBACxB,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACnB,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,uCAAuC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,2CAA2C,CAAC,CAAC;YACpI,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC;IACF,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;iGAK4D,CAAC;SAC7F,GAAG,CAAC,GAAG,cAAc,GAAG,EAAE,gBAAgB,CAA6D,CAAC;IAC3G,+GAA+G;IAC/G,+GAA+G;IAC/G,6GAA6G;IAC7G,8EAA8E;IAC9E,IAAI,eAAyC,CAAC;IAC9C,MAAM,aAAa,GAAG,CAAC,UAAkB,EAAW,EAAE;QACpD,eAAe,KAAK,IAAI,GAAG,CAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;6CACJ,iBAAiB;;2DAEH,CAAC;aACrD,GAAG,CAAC,gBAAgB,CAA+B,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9E,OAAO,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC,CAAC;IACF,KAAK,MAAM,EAAE,QAAQ,EAAE,mBAAmB,EAAE,IAAI,UAAU,EAAE,CAAC;QAC3D,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;QAC7D,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,6EAA6E;QAC7E,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,SAAS;YAAE,SAAS;QACtD,KAAK,MAAM,OAAO,IAAI,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YACnF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,kBAAkB,GAAG,CAAC;gBAAE,SAAS;YACxE,uEAAuE;YACvE,sEAAsE;YACtE,IAAI,aAAa,CAAC,GAAG,kBAAkB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;gBAAE,SAAS;YACnE,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAoB,EAAE,CACjH,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,kBAAkB,KAAK,OAAO,CAAC,kBAAkB,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACtI,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,SAAS;YAC3B,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;YACnD,IAAI,CAAC,KAAK,EAAE,CAAC;gBAAC,KAAK,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,GAAG,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;gBAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;YAAC,CAAC;YACnI,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC;gBAAE,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;YACrG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,kBAAkB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YACvD,KAAK,MAAM,GAAG,IAAI,IAAI;gBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,EAAE;QACnC,IAAI,CAAC;YAAC,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,SAAS,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,SAAS,CAAC;QAAC,CAAC;IACzI,CAAC,CAAC;IACF,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;oFAC+C,CAAC;SAChF,GAAG,CAAC,gBAAgB,CAAgC,CAAC;IACxD,KAAK,MAAM,EAAE,QAAQ,EAAE,IAAI,UAAU,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC;YAAE,SAAS;QAC3D,MAAM,cAAc,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAC9G,MAAM,IAAI,GAAG,cAAc,EAAE,KAAK,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACjE,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,+DAA+D;QAC/D,IAAI,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;QAC5B,MAAM,WAAW,GAAG,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;YAClD,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,aAAa,EAAE,KAAK,EAAE,MAAM;gBACnG,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,mBAAmB,EAAE,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;QACnC,IAAI,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QAC/C,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;YACtB,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;gBACtC,KAAK,MAAM,EAAE,GAAG,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;oBACtF,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,YAAY,IAAI,GAAG,+BAA+B,CAAC,CAAC;gBAC3F,CAAC;YACH,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,KAAK,KAAK,SAAS,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC;YAAE,SAAS;QAClF,MAAM,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,kDAAkD,EAAE,CAAC,CAAC,CAAC;QAC3H,wEAAwE;QACxE,0EAA0E;QAC1E,4EAA4E;QAC5E,MAAM,cAAc,GAAG,IAAI,GAAG,EAAqB,CAAC;QACpD,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;YAC9C,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YACzD,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC/F,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACtD,IAAI,CAAC,IAAI;gBAAE,OAAO,KAAK,CAAC;YACxB,IAAI,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,gBAAgB,CAAC;gBAAE,OAAO,KAAK,CAAC;YACxD,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YAClD,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACvC,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QACH,IAAI,cAAc;YAAE,SAAS;QAC7B,KAAK,MAAM,GAAG,IAAI,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC;gBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,wDAAwD,EAAE,CAAC,CAAC;QAC5H,CAAC;QACD,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,UAAU,GAAG,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC;QAClD,MAAM,MAAM,GAAG,+DAA+D,CAAC;QAC/E,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE,IAAI,EACpD,UAAU,CAAC,CAAC,CAAC,mBAAmB,EAAE,IAAI,OAAO,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAK,EAAE,OAAO,EAAE,MAAM,EAC5F,sBAAsB,IAAI,EAAE,EAAE,CAAC,gBAAgB,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACnE,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QACrE,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;YACrB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,oDAAoD,CAAC;iBAClE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAC3E,CAAC;QACD,uEAAuE;QACvE,mEAAmE;QACnE,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACjD,IAAI,IAAI,CAAC,SAAS;YAAE,SAAS;QAC7B,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,iBAAiB;gBAAE,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,yBAAyB,CAAC,CAAC;YAC5F,SAAS,CAAC,qDAAqD;QACjE,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,YAAY,GAAG,SAAS,GAAG,IAAI;YAAE,SAAS;QACjG,4DAA4D;QAC5D,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,SAAS;YAAE,SAAS;QAC9C,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAC1E,IAAI,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CACjE,KAAK,IAAI,KAAK,CAAC,kBAAkB,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAAE,SAAS;QACvH,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,IAAK,CAAC,CAAC;gBACtD,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,kBAAkB,oBAAoB,IAAI,YAAY,OAAO,WAAW,MAAM,EAAE,CAAC,CAAC;gBACvH,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,uBAAuB,EAAE,MAAM,EAAE,IAAK,EAAE,CAAC,CAAC;gBACvF,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC;oBAAE,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,8BAA8B,OAAO,GAAG,CAAC,CAAC;gBACnH,SAAS;YACX,CAAC;YACD,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,kBAAkB,kCAAkC,MAAM,EAAE,CAAC,CAAC;QACrG,CAAC;QACD,IAAI,MAAM,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC;YAAE,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,wBAAwB,CAAC,CAAC;IAClI,CAAC;AACH,CAAC;AAED;;;;;8EAK8E;AAC9E,SAAS,iBAAiB,CAAC,IAAoB,EAAE,WAAmB;IAClE,IAAI,gBAAgB,CAAC,WAAW,CAAC,CAAC,IAAI,KAAK,UAAU;QAAE,OAAO,IAAI,CAAC;IACnE,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,GAAG,EAAE,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,CAAC;IAC3E,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC;IAC9B,OAAO,6BAA6B,CAAC,WAAW,EAAE,QAAQ,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;AAChF,CAAC;AAED;;;;;wEAKwE;AACxE,KAAK,UAAU,YAAY,CACzB,IAAoB,EACpB,GAAc,EACd,MAAc,EACd,OAA2B,EAC3B,IAAgB;AAChB,sEAAsE;AACtE,uBAAuB,GAAG,IAAI;IAE9B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;IAC5B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;QACzB,YAAY,CACV,IAAI,EACJ,GAAG,EACH,GAAG,kBAAkB,sFAAsF,MAAM,EAAE,CACpH,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IACE,uBAAuB;QACvB,CAAC,IAAI,CAAC,kBAAkB;QACxB,CAAC,IAAI,CAAC,SAAS,IAAI,oBAAoB,EAAE,CAAC,KAAK,eAAe;QAC9D,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,kBAAkB,CAAC,EAChD,CAAC;QACD,2EAA2E;QAC3E,gEAAgE;QAChE,YAAY,CACV,IAAI,EACJ,GAAG,EACH,GAAG,kBAAkB,6FAA6F,MAAM,EAAE,CAC3H,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,oFAAoF;QACpF,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC1E,IAAI,OAAO,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;QACjC,0EAA0E;QAC1E,2EAA2E;QAC3E,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC3C,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,kBAAkB,uCAAuC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;YACxG,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,YAAY,CACV,IAAI,EACJ,GAAG,EACH,GAAG,kBAAkB,2CAA2C,OAAO,CAAC,QAAQ,aAAa,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,qBAAqB,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,MAAM,EAAE,CAClR,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAC;IACpE,OAAO,OAAO,CAAC,QAAQ,CAAC;AAC1B,CAAC;AAED,SAAS,eAAe,CAAC,IAAqB,EAAE,GAAc,EAAE,GAAW;IACzE,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,uBAAuB,IAAI,GAAG,EAAE,CAAC,CAAC;AAC/D,CAAC;AAED;;sFAEsF;AACtF;;sEAEsE;AACtE,KAAK,UAAU,4BAA4B,CACzC,IAAoB,EACpB,IAAY,EACZ,OAAkC,EAClC,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC;IAEnC,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE;SACrB,OAAO,CACN;mFAC6E,CAC9E;SACA,GAAG,CAAC,KAAK,QAAQ,IAAI,CAAqC,CAAC;IAC9D,IAAI,CAAC,QAAQ;QAAE,OAAO;IACtB,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAE,CAAC;IACvD,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;IAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9F,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO;IAC1B,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;QACvB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,oDAAoD,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAClI,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,YAAY;YAC5G,cAAc,EAAE,kCAAkC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACpE,aAAa,EAAE,GAAG,CAAC,KAAK,KAAK,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;IACvH,CAAC,CAAC,EAAE,CAAC;AACP,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,IAAoB,EACpB,IAAY,EACZ,IAAY,EACZ,OAAkD,EAClD,MAAc,EACd,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,EACnC,YAAsB,EAAE;IAExB,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE;SACrB,OAAO,CACN;mFAC6E,CAC9E;SACA,GAAG,CAAC,KAAK,QAAQ,IAAI,CAAqC,CAAC;IAC9D,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,4BAA4B,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAClE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;IACxC,CAAC;IACD,MAAM,IAAI,GACR,gDAAgD;QAChD,gBAAgB,IAAI,IAAI;QACxB,WAAW,MAAM,IAAI;QACrB,iBAAiB,OAAO,CAAC,MAAM,MAAM;QACrC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,IAAI,kBAAkB,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACzG,4GAA4G,CAAC;IAC/G,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAC1C,aAAa,EAAE,OAAO,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,aAAa;QAC5C,kBAAkB,EAAE,IAAI;QACxB,IAAI;QACJ,OAAO,EAAE,oBAAoB,OAAO,CAAC,MAAM,sBAAsB,IAAI,MAAM,MAAM,EAAE;QACnF,IAAI,EAAE,CAAC,mBAAmB,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QACpG,KAAK,EAAE,KAAK,EAAE,uEAAuE;KACtF,CAAC,CAAC;IACH,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;AACtC,CAAC;AAUD;yEACyE;AACzE,MAAM,OAAO,mBAAmB;IACb,IAAI,CAA+E;IAC5F,KAAK,GAA0B,IAAI,CAAC;IACpC,QAAQ,GAA4B,IAAI,CAAC;IACzC,YAAY,GAAG,KAAK,CAAC;IACrB,OAAO,GAAG,KAAK,CAAC;IAExB,YAAY,IAA6B;QACvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACpB,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,QAAQ,CAAC;YACpB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;YAC/C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IAEO,YAAY;QAClB,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO;QAC9B,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,mCAAmC,GAAG,IAAI,CAAC;QAClF,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,UAAU,CAAC,CAAC,GAAG,EAAE;YACnD,KAAK,IAAI,CAAC,UAAU,EAAE;iBACnB,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;iBAC7D,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QACxC,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,CAAC;CACF"}
1
+ {"version":3,"file":"queue-wake-ladder.js","sourceRoot":"","sources":["../../src/domain/queue-wake-ladder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import type Database from "better-sqlite3";
2
+ export interface QuietHoldCustody {
3
+ state: "held" | "released" | "release-failed" | "orphaned";
4
+ windowId: string;
5
+ notificationKey: string;
6
+ /** For `held` while quiet is on: when it ends. Never a later quiet's start. */
7
+ nextBoundary: string | null;
8
+ /** For `held`: quiet has ended, and the window's release job posts it at its next pass. */
9
+ quietOver?: true;
10
+ /** For `release-failed`: the failure class the gateway recorded. */
11
+ failure?: string;
12
+ /** Custody couldn't be read for a row known to carry a quiet hold: treated as held for this pass. */
13
+ unreadable?: true;
14
+ }
15
+ export declare function quietHoldCustody(db: Database.Database, qitemId: string, now?: Date): QuietHoldCustody | null;
16
+ /** The waiting view's backstop for an ask in quiet custody; null when quiet custody doesn't own it (none, or orphaned). */
17
+ export declare function quietCustodyBackstop(owner: string, quiet: QuietHoldCustody | null): {
18
+ owner: string;
19
+ mechanism: string;
20
+ dueAt: string | null;
21
+ intervalSeconds: number | null;
22
+ note: string;
23
+ } | null;
24
+ //# sourceMappingURL=quiet-hold-custody.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quiet-hold-custody.d.ts","sourceRoot":"","sources":["../../src/domain/quiet-hold-custody.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAI3C,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,gBAAgB,GAAG,UAAU,CAAC;IAC3D,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,+EAA+E;IAC/E,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,2FAA2F;IAC3F,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qGAAqG;IACrG,UAAU,CAAC,EAAE,IAAI,CAAC;CACnB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,GAAE,IAAiB,GAAG,gBAAgB,GAAG,IAAI,CAiDxH;AAED,2HAA2H;AAC3H,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,IAAI,GAChF;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAmBhH"}
@@ -0,0 +1,85 @@
1
+ import { HumanQuietStore } from "./gateway/human-quiet-windows.js";
2
+ import { hasToken, parseQuietHoldNote, releaseJobWindowSpec } from "./policies/quiet-release.js";
3
+ export function quietHoldCustody(db, qitemId, now = new Date()) {
4
+ let sawHold = false;
5
+ try {
6
+ const notes = db.prepare("SELECT transition_note AS note FROM queue_transitions WHERE qitem_id = ? ORDER BY transition_id")
7
+ .all(qitemId).map((r) => r.note ?? "");
8
+ if (!notes.some((n) => n.startsWith("delivery-decision: quiet-hold ")))
9
+ return null;
10
+ sawHold = true;
11
+ // The current notification's key: the latest owner notification, else the row itself (as the gateway keys it).
12
+ const owner = db.prepare("SELECT transition_id AS id FROM queue_transitions WHERE qitem_id = ? AND owner_notification_level IS NOT NULL ORDER BY transition_id DESC LIMIT 1")
13
+ .get(qitemId);
14
+ const key = owner ? `${qitemId}:${owner.id}` : qitemId;
15
+ const hold = notes.map(parseQuietHoldNote).find((h) => h?.notificationKey === key);
16
+ if (!hold)
17
+ return null;
18
+ const windowId = hold.windowId;
19
+ if (notes.some((n) => hasToken(n, "slack-owner-notification-posted", key) || hasToken(n, "quiet-release-disposition", key)))
20
+ return null;
21
+ const live = db.prepare("SELECT 1 FROM watchdog_jobs WHERE policy = 'quiet-release' AND state = 'active' AND spec_yaml LIKE ? LIMIT 1")
22
+ .get(`%${releaseJobWindowSpec(windowId)}%`);
23
+ // Without a live job nothing redrives a release or releases a hold, whichever step it reached: orphaned.
24
+ if (!live)
25
+ return { state: "orphaned", windowId, notificationKey: key, nextBoundary: null };
26
+ // The latest release step decides: dispatched (released, or failed if its post failed since) or returned (held again).
27
+ let step = -1;
28
+ for (let i = notes.length - 1; i >= 0; i--) {
29
+ if (hasToken(notes[i], "quiet-release-dispatched", key) || hasToken(notes[i], "quiet-release-returned", key)) {
30
+ step = i;
31
+ break;
32
+ }
33
+ }
34
+ if (step >= 0 && notes[step].startsWith("quiet-release-dispatched ")) {
35
+ // A post failure for this notification with no receipt (a receipt or disposition ended custody above) is still
36
+ // unresolved, even one recorded before this dispatch: the gateway records a failure once per notification, so a
37
+ // failed re-dispatch adds none. That is the ledger's rule too: failed until a receipt. A release still in flight
38
+ // after an earlier failure therefore reads as failed until its post lands.
39
+ const failed = notes.find((n) => hasToken(n, "slack-owner-notification-transport-failed", key));
40
+ if (failed) {
41
+ const failure = failed.split(/\s+/).find((t) => t.startsWith("class="))?.slice("class=".length) ?? "unknown";
42
+ return { state: "release-failed", windowId, notificationKey: key, nextBoundary: null, failure };
43
+ }
44
+ return { state: "released", windowId, notificationKey: key, nextBoundary: null };
45
+ }
46
+ const entity = db.prepare("SELECT entity_id AS id FROM human_quiet_windows WHERE window_id = ?").get(windowId);
47
+ const quiet = entity ? new HumanQuietStore(db).quietStateFor(entity.id, now) : null;
48
+ if (quiet && !quiet.active)
49
+ return { state: "held", windowId, notificationKey: key, nextBoundary: null, quietOver: true };
50
+ const nextBoundary = quiet?.active && quiet.nextBoundary.kind === "end" ? quiet.nextBoundary.at : null;
51
+ return { state: "held", windowId, notificationKey: key, nextBoundary };
52
+ }
53
+ catch (error) {
54
+ // A schema without these tables (an older database) has no quiet custody. Once a row is known to carry a quiet hold,
55
+ // any other failure to read its custody is "can't tell", which must not read as "no quiet hold": that would let the
56
+ // ladder escalate, and so post, during quiet. It reads as held for this pass; the ladder and sweep read it again.
57
+ // Before a quiet-hold note has been seen, the row is ordinary as far as quiet hours know: it reads exactly as before.
58
+ if (!sawHold || /no such table/.test(error.message))
59
+ return null;
60
+ return { state: "held", windowId: "unknown", notificationKey: qitemId, nextBoundary: null, unreadable: true };
61
+ }
62
+ }
63
+ /** The waiting view's backstop for an ask in quiet custody; null when quiet custody doesn't own it (none, or orphaned). */
64
+ export function quietCustodyBackstop(owner, quiet) {
65
+ if (!quiet || quiet.state === "orphaned")
66
+ return null;
67
+ const mechanism = `quiet-release:${quiet.windowId}`;
68
+ if (quiet.state === "released") {
69
+ return { owner, mechanism, dueAt: null, intervalSeconds: null, note: "Released when quiet ended; waiting for transport (the post)." };
70
+ }
71
+ if (quiet.state === "release-failed") {
72
+ return { owner, mechanism, dueAt: null, intervalSeconds: null,
73
+ note: `Released when quiet ended, but its post failed (${quiet.failure}); the release stays queued for redelivery.` };
74
+ }
75
+ if (quiet.unreadable) {
76
+ return { owner, mechanism, dueAt: null, intervalSeconds: null,
77
+ note: "Quiet-hours custody couldn't be read; the ask is treated as held for now, so it isn't escalated." };
78
+ }
79
+ if (quiet.quietOver) {
80
+ return { owner, mechanism, dueAt: null, intervalSeconds: 60, note: "Quiet hours have ended; the window's release job posts it at its next pass." };
81
+ }
82
+ return { owner, mechanism, dueAt: quiet.nextBoundary, intervalSeconds: 60,
83
+ note: `Held by quiet hours${quiet.nextBoundary ? ` until ${quiet.nextBoundary}` : ""}; the window's release job posts it when quiet ends.` };
84
+ }
85
+ //# sourceMappingURL=quiet-hold-custody.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quiet-hold-custody.js","sourceRoot":"","sources":["../../src/domain/quiet-hold-custody.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type Database from "better-sqlite3";
2
- import type { RigWithRelations, Snapshot } from "./types.js";
2
+ import type { RigWithRelations, Session, Snapshot, SnapshotData } from "./types.js";
3
3
  export interface CurrentStateRehydrateEligibility {
4
4
  ok: boolean;
5
5
  blockers: string[];
@@ -13,7 +13,18 @@ export interface CurrentStateRehydrateEligibility {
13
13
  * not permission to revive a historical occupant; current-state capture
14
14
  * preserves the ambiguity and restore refuses it explicitly.
15
15
  */
16
+ export declare function assessSnapshotCurrentOccupants(db: Database.Database, rig: RigWithRelations, snapshot: {
17
+ data: Pick<SnapshotData, "activeOccupantsByNode" | "activeSessionIdByNode"> & {
18
+ sessions: Array<Pick<Session, "id" | "nodeId" | "resumeType" | "resumeToken"> & {
19
+ status: string | null;
20
+ }>;
21
+ };
22
+ }, preserveStoppedInitial?: boolean): {
23
+ matches: boolean;
24
+ stoppedNodeIds: Set<string>;
25
+ };
16
26
  export declare function snapshotMatchesCurrentOccupants(db: Database.Database, rig: RigWithRelations, snapshot: Snapshot): boolean;
27
+ export declare function stoppedSnapshotReason(logicalId: string, rigName: string): string;
17
28
  /**
18
29
  * Determines whether current persisted DB state is sufficient to synthesize a
19
30
  * restore snapshot after volatile runtime state (tmux) disappeared.
@@ -1 +1 @@
1
- {"version":3,"file":"rehydrate-eligibility.d.ts","sourceRoot":"","sources":["../../src/domain/rehydrate-eligibility.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAG3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE7D,MAAM,WAAW,gCAAgC;IAC/C,EAAE,EAAE,OAAO,CAAC;IACZ,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,+BAA+B,CAC7C,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,GAAG,EAAE,gBAAgB,EACrB,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAmCT;AAED;;;;;;;GAOG;AACH,wBAAgB,sCAAsC,CACpD,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,GAAG,EAAE,gBAAgB,GACpB,gCAAgC,CA+ClC"}
1
+ {"version":3,"file":"rehydrate-eligibility.d.ts","sourceRoot":"","sources":["../../src/domain/rehydrate-eligibility.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAG3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEpF,MAAM,WAAW,gCAAgC;IAC/C,EAAE,EAAE,OAAO,CAAC;IACZ,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,8BAA8B,CAC5C,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,GAAG,EAAE,gBAAgB,EACrB,QAAQ,EAAE;IAAE,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,uBAAuB,GAAG,uBAAuB,CAAC,GAAG;QACxF,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,GAAG,QAAQ,GAAG,YAAY,GAAG,aAAa,CAAC,GAAG;YAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,CAAC,CAAC;KAC5G,CAAA;CAAE,EACH,sBAAsB,UAAQ,GAC7B;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAAE,CAmEnD;AAED,wBAAgB,+BAA+B,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAEzH;AAED,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAGhF;AAED;;;;;;;GAOG;AACH,wBAAgB,sCAAsC,CACpD,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,GAAG,EAAE,gBAAgB,GACpB,gCAAgC,CA+ClC"}