aicodeman 1.45.0 → 1.47.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 (312) hide show
  1. package/README.md +26 -6
  2. package/dist/agent-codex-identity.d.ts +26 -0
  3. package/dist/agent-codex-identity.d.ts.map +1 -0
  4. package/dist/agent-codex-identity.js +253 -0
  5. package/dist/agent-codex-identity.js.map +1 -0
  6. package/dist/agent-inspection.d.ts +32 -0
  7. package/dist/agent-inspection.d.ts.map +1 -0
  8. package/dist/agent-inspection.js +196 -0
  9. package/dist/agent-inspection.js.map +1 -0
  10. package/dist/agent-staging.d.ts +130 -0
  11. package/dist/agent-staging.d.ts.map +1 -0
  12. package/dist/agent-staging.js +312 -0
  13. package/dist/agent-staging.js.map +1 -0
  14. package/dist/cli-agent.d.ts +31 -2
  15. package/dist/cli-agent.d.ts.map +1 -1
  16. package/dist/cli-agent.js +279 -34
  17. package/dist/cli-agent.js.map +1 -1
  18. package/dist/cli-history.d.ts +20 -0
  19. package/dist/cli-history.d.ts.map +1 -0
  20. package/dist/cli-history.js +61 -0
  21. package/dist/cli-history.js.map +1 -0
  22. package/dist/cli.d.ts.map +1 -1
  23. package/dist/cli.js +6 -1
  24. package/dist/cli.js.map +1 -1
  25. package/dist/codex-rollout-format.d.ts +66 -0
  26. package/dist/codex-rollout-format.d.ts.map +1 -0
  27. package/dist/codex-rollout-format.js +111 -0
  28. package/dist/codex-rollout-format.js.map +1 -0
  29. package/dist/codex-transcript.d.ts +3 -0
  30. package/dist/codex-transcript.d.ts.map +1 -1
  31. package/dist/codex-transcript.js +13 -41
  32. package/dist/codex-transcript.js.map +1 -1
  33. package/dist/config/cli-registry/schema.d.ts +12 -7
  34. package/dist/config/cli-registry/schema.d.ts.map +1 -1
  35. package/dist/config/cli-registry/schema.js +26 -0
  36. package/dist/config/cli-registry/schema.js.map +1 -1
  37. package/dist/config/cli-registry/stock.d.ts.map +1 -1
  38. package/dist/config/cli-registry/stock.js +40 -1
  39. package/dist/config/cli-registry/stock.js.map +1 -1
  40. package/dist/config/cli-registry/types.d.ts +57 -0
  41. package/dist/config/cli-registry/types.d.ts.map +1 -1
  42. package/dist/config/server-timing.d.ts +6 -0
  43. package/dist/config/server-timing.d.ts.map +1 -1
  44. package/dist/config/server-timing.js +9 -0
  45. package/dist/config/server-timing.js.map +1 -1
  46. package/dist/daemon-control.d.ts +1 -0
  47. package/dist/daemon-control.d.ts.map +1 -1
  48. package/dist/daemon-control.js +2 -0
  49. package/dist/daemon-control.js.map +1 -1
  50. package/dist/deepseek-transcript.d.ts +9 -7
  51. package/dist/deepseek-transcript.d.ts.map +1 -1
  52. package/dist/deepseek-transcript.js +9 -7
  53. package/dist/deepseek-transcript.js.map +1 -1
  54. package/dist/docker-hosts.d.ts +8 -0
  55. package/dist/docker-hosts.d.ts.map +1 -1
  56. package/dist/docker-hosts.js +29 -0
  57. package/dist/docker-hosts.js.map +1 -1
  58. package/dist/git-fetch-scheduler.d.ts +124 -0
  59. package/dist/git-fetch-scheduler.d.ts.map +1 -0
  60. package/dist/git-fetch-scheduler.js +249 -0
  61. package/dist/git-fetch-scheduler.js.map +1 -0
  62. package/dist/git-fetch.d.ts +241 -0
  63. package/dist/git-fetch.d.ts.map +1 -0
  64. package/dist/git-fetch.js +392 -0
  65. package/dist/git-fetch.js.map +1 -0
  66. package/dist/git-workspace-status.d.ts +36 -1
  67. package/dist/git-workspace-status.d.ts.map +1 -1
  68. package/dist/git-workspace-status.js +42 -5
  69. package/dist/git-workspace-status.js.map +1 -1
  70. package/dist/hooks-config.d.ts +14 -2
  71. package/dist/hooks-config.d.ts.map +1 -1
  72. package/dist/hooks-config.js +39 -3
  73. package/dist/hooks-config.js.map +1 -1
  74. package/dist/local-history.d.ts +71 -0
  75. package/dist/local-history.d.ts.map +1 -0
  76. package/dist/local-history.js +750 -0
  77. package/dist/local-history.js.map +1 -0
  78. package/dist/mcp-server.d.ts.map +1 -1
  79. package/dist/mcp-server.js +2 -2
  80. package/dist/mcp-server.js.map +1 -1
  81. package/dist/mux-interface.d.ts +5 -2
  82. package/dist/mux-interface.d.ts.map +1 -1
  83. package/dist/prompt-cache-keepwarm.d.ts.map +1 -1
  84. package/dist/prompt-cache-keepwarm.js +5 -3
  85. package/dist/prompt-cache-keepwarm.js.map +1 -1
  86. package/dist/ralph-fix-plan-watcher.d.ts +13 -1
  87. package/dist/ralph-fix-plan-watcher.d.ts.map +1 -1
  88. package/dist/ralph-fix-plan-watcher.js +21 -3
  89. package/dist/ralph-fix-plan-watcher.js.map +1 -1
  90. package/dist/ralph-tracker.d.ts +6 -0
  91. package/dist/ralph-tracker.d.ts.map +1 -1
  92. package/dist/ralph-tracker.js +8 -0
  93. package/dist/ralph-tracker.js.map +1 -1
  94. package/dist/session.d.ts +113 -0
  95. package/dist/session.d.ts.map +1 -1
  96. package/dist/session.js +341 -13
  97. package/dist/session.js.map +1 -1
  98. package/dist/terminal-input-classifier.d.ts +8 -0
  99. package/dist/terminal-input-classifier.d.ts.map +1 -0
  100. package/dist/terminal-input-classifier.js +60 -0
  101. package/dist/terminal-input-classifier.js.map +1 -0
  102. package/dist/tmux-manager.d.ts +23 -1
  103. package/dist/tmux-manager.d.ts.map +1 -1
  104. package/dist/tmux-manager.js +54 -6
  105. package/dist/tmux-manager.js.map +1 -1
  106. package/dist/types/session.d.ts +15 -0
  107. package/dist/types/session.d.ts.map +1 -1
  108. package/dist/types/session.js.map +1 -1
  109. package/dist/web/network-auth-policy.d.ts +13 -3
  110. package/dist/web/network-auth-policy.d.ts.map +1 -1
  111. package/dist/web/network-auth-policy.js +15 -3
  112. package/dist/web/network-auth-policy.js.map +1 -1
  113. package/dist/web/ports/infra-port.d.ts +2 -0
  114. package/dist/web/ports/infra-port.d.ts.map +1 -1
  115. package/dist/web/public/admin-ui.js.gz +0 -0
  116. package/dist/web/public/api-client.c9b1cddc.js.gz +0 -0
  117. package/dist/web/public/app.fe8a6b4c.js +43 -0
  118. package/dist/web/public/app.fe8a6b4c.js.br +0 -0
  119. package/dist/web/public/app.fe8a6b4c.js.gz +0 -0
  120. package/dist/web/public/approvals-ui.js.gz +0 -0
  121. package/dist/web/public/{constants.0b3cdde9.js → constants.affcdde6.js} +611 -12
  122. package/dist/web/public/constants.affcdde6.js.br +0 -0
  123. package/dist/web/public/constants.affcdde6.js.gz +0 -0
  124. package/dist/web/public/cron-ui.js.gz +0 -0
  125. package/dist/web/public/entrance-animations.js.gz +0 -0
  126. package/dist/web/public/git-status-ui.js +88 -5
  127. package/dist/web/public/git-status-ui.js.br +0 -0
  128. package/dist/web/public/git-status-ui.js.gz +0 -0
  129. package/dist/web/public/header-divider.eb2d2463.js.gz +0 -0
  130. package/dist/web/public/home-sessions.js.gz +0 -0
  131. package/dist/web/public/host-wake-ui.js.gz +0 -0
  132. package/dist/web/public/i18n.a618ef4e.js +2 -0
  133. package/dist/web/public/i18n.a618ef4e.js.br +0 -0
  134. package/dist/web/public/i18n.a618ef4e.js.gz +0 -0
  135. package/dist/web/public/{image-input.941386e7.js → image-input.a5d0f8f3.js} +18 -9
  136. package/dist/web/public/image-input.a5d0f8f3.js.br +0 -0
  137. package/dist/web/public/image-input.a5d0f8f3.js.gz +0 -0
  138. package/dist/web/public/index.html +110 -19
  139. package/dist/web/public/index.html.br +0 -0
  140. package/dist/web/public/index.html.gz +0 -0
  141. package/dist/web/public/input-cjk.8bc46081.js.gz +0 -0
  142. package/dist/web/public/{keyboard-accessory.4e8b20ac.js → keyboard-accessory.ff64fafc.js} +5 -1
  143. package/dist/web/public/keyboard-accessory.ff64fafc.js.br +0 -0
  144. package/dist/web/public/keyboard-accessory.ff64fafc.js.gz +0 -0
  145. package/dist/web/public/{mobile-handlers.1c0cbcd8.js → mobile-handlers.f7c3f692.js} +22 -0
  146. package/dist/web/public/mobile-handlers.f7c3f692.js.br +0 -0
  147. package/dist/web/public/mobile-handlers.f7c3f692.js.gz +0 -0
  148. package/dist/web/public/mobile-ime-preview.2dbaf262.js.gz +0 -0
  149. package/dist/web/public/mobile-overview.js.gz +0 -0
  150. package/dist/web/public/mobile.1bbd2d67.css +1 -0
  151. package/dist/web/public/mobile.1bbd2d67.css.br +0 -0
  152. package/dist/web/public/mobile.1bbd2d67.css.gz +0 -0
  153. package/dist/web/public/notification-manager.feb82c04.js.gz +0 -0
  154. package/dist/web/public/orchestrator-panel.js.gz +0 -0
  155. package/dist/web/public/{panels-ui.78c3defb.js → panels-ui.4a56ee63.js} +1 -1
  156. package/dist/web/public/panels-ui.4a56ee63.js.br +0 -0
  157. package/dist/web/public/panels-ui.4a56ee63.js.gz +0 -0
  158. package/dist/web/public/ralph-panel.b350e2ef.js.gz +0 -0
  159. package/dist/web/public/ralph-wizard.b6c0dd19.js.gz +0 -0
  160. package/dist/web/public/readmymind-ui.js.gz +0 -0
  161. package/dist/web/public/reboot-restore-ui.js.gz +0 -0
  162. package/dist/web/public/respawn-ui.d7adcf6a.js.gz +0 -0
  163. package/dist/web/public/sanitize-html.e7147e76.js.gz +0 -0
  164. package/dist/web/public/session-lineage.js.gz +0 -0
  165. package/dist/web/public/{session-ui.ea6b1994.js → session-ui.426fb671.js} +8 -8
  166. package/dist/web/public/session-ui.426fb671.js.br +0 -0
  167. package/dist/web/public/session-ui.426fb671.js.gz +0 -0
  168. package/dist/web/public/{settings-ui.085dd202.js → settings-ui.a191154e.js} +11 -11
  169. package/dist/web/public/settings-ui.a191154e.js.br +0 -0
  170. package/dist/web/public/settings-ui.a191154e.js.gz +0 -0
  171. package/dist/web/public/spreadsheet-preview-worker.js.gz +0 -0
  172. package/dist/web/public/spreadsheet-preview.75c751de.js.gz +0 -0
  173. package/dist/web/public/spreadsheet-xlsx-core.js.gz +0 -0
  174. package/dist/web/public/styles.4f0c67a0.css +1 -0
  175. package/dist/web/public/styles.4f0c67a0.css.br +0 -0
  176. package/dist/web/public/styles.4f0c67a0.css.gz +0 -0
  177. package/dist/web/public/subagent-windows.07277a58.js.gz +0 -0
  178. package/dist/web/public/sw.js +2 -2
  179. package/dist/web/public/sw.js.br +0 -0
  180. package/dist/web/public/sw.js.gz +0 -0
  181. package/dist/web/public/tab-layout-browser.2d6189f7.js.gz +0 -0
  182. package/dist/web/public/{tab-rail-resize.7157e0bd.js → tab-rail-resize.b5cdceaf.js} +1 -1
  183. package/dist/web/public/tab-rail-resize.b5cdceaf.js.br +0 -0
  184. package/dist/web/public/tab-rail-resize.b5cdceaf.js.gz +0 -0
  185. package/dist/web/public/terminal-keycode229-recovery.98843069.js +1 -0
  186. package/dist/web/public/terminal-keycode229-recovery.98843069.js.br +0 -0
  187. package/dist/web/public/terminal-keycode229-recovery.98843069.js.gz +0 -0
  188. package/dist/web/public/terminal-split.js.gz +0 -0
  189. package/dist/web/public/terminal-tile.js +10 -6
  190. package/dist/web/public/terminal-tile.js.br +0 -0
  191. package/dist/web/public/terminal-tile.js.gz +0 -0
  192. package/dist/web/public/terminal-ui.7e787829.js +4 -0
  193. package/dist/web/public/terminal-ui.7e787829.js.br +0 -0
  194. package/dist/web/public/terminal-ui.7e787829.js.gz +0 -0
  195. package/dist/web/public/tile-grid.js.gz +0 -0
  196. package/dist/web/public/ultracode-panel.js.gz +0 -0
  197. package/dist/web/public/ultracode-windows.js.gz +0 -0
  198. package/dist/web/public/vendor/dompurify.min.js.gz +0 -0
  199. package/dist/web/public/vendor/exceljs.min.js.gz +0 -0
  200. package/dist/web/public/vendor/fflate.min.js.gz +0 -0
  201. package/dist/web/public/vendor/marked.min.js.gz +0 -0
  202. package/dist/web/public/vendor/xterm-addon-fit.min.js.gz +0 -0
  203. package/dist/web/public/vendor/xterm-addon-serialize.min.js.gz +0 -0
  204. package/dist/web/public/vendor/xterm-addon-unicode11.min.js.gz +0 -0
  205. package/dist/web/public/vendor/xterm-addon-webgl.min.js.gz +0 -0
  206. package/dist/web/public/vendor/{xterm-predictive-echo.ae5e3d5d.js → xterm-predictive-echo.276b11d9.js} +1 -1
  207. package/dist/web/public/vendor/xterm-predictive-echo.276b11d9.js.br +0 -0
  208. package/dist/web/public/vendor/xterm-predictive-echo.276b11d9.js.gz +0 -0
  209. package/dist/web/public/vendor/xterm-zerolag-input.1be42307.js +5 -0
  210. package/dist/web/public/vendor/xterm-zerolag-input.1be42307.js.br +0 -0
  211. package/dist/web/public/vendor/xterm-zerolag-input.1be42307.js.gz +0 -0
  212. package/dist/web/public/vendor/xterm.css.gz +0 -0
  213. package/dist/web/public/vendor/xterm.min.js.gz +0 -0
  214. package/dist/web/public/voice-input.2342c37b.js.gz +0 -0
  215. package/dist/web/public/voice-pcm-worklet.js.gz +0 -0
  216. package/dist/web/public/webview-tabs.js.gz +0 -0
  217. package/dist/web/public/whats-new.json +8 -9
  218. package/dist/web/request-body-parser.d.ts +23 -0
  219. package/dist/web/request-body-parser.d.ts.map +1 -0
  220. package/dist/web/request-body-parser.js +57 -0
  221. package/dist/web/request-body-parser.js.map +1 -0
  222. package/dist/web/routes/agent-session-routes.d.ts +20 -0
  223. package/dist/web/routes/agent-session-routes.d.ts.map +1 -0
  224. package/dist/web/routes/agent-session-routes.js +160 -0
  225. package/dist/web/routes/agent-session-routes.js.map +1 -0
  226. package/dist/web/routes/case-routes.d.ts.map +1 -1
  227. package/dist/web/routes/case-routes.js +32 -26
  228. package/dist/web/routes/case-routes.js.map +1 -1
  229. package/dist/web/routes/config-backup-routes.js +2 -2
  230. package/dist/web/routes/config-backup-routes.js.map +1 -1
  231. package/dist/web/routes/file-routes.d.ts +5 -0
  232. package/dist/web/routes/file-routes.d.ts.map +1 -1
  233. package/dist/web/routes/file-routes.js +5 -1
  234. package/dist/web/routes/file-routes.js.map +1 -1
  235. package/dist/web/routes/git-status-routes.d.ts +21 -7
  236. package/dist/web/routes/git-status-routes.d.ts.map +1 -1
  237. package/dist/web/routes/git-status-routes.js +78 -12
  238. package/dist/web/routes/git-status-routes.js.map +1 -1
  239. package/dist/web/routes/index.d.ts +1 -0
  240. package/dist/web/routes/index.d.ts.map +1 -1
  241. package/dist/web/routes/index.js +1 -0
  242. package/dist/web/routes/index.js.map +1 -1
  243. package/dist/web/routes/ralph-routes.d.ts.map +1 -1
  244. package/dist/web/routes/ralph-routes.js +52 -18
  245. package/dist/web/routes/ralph-routes.js.map +1 -1
  246. package/dist/web/routes/session-routes.d.ts.map +1 -1
  247. package/dist/web/routes/session-routes.js +101 -28
  248. package/dist/web/routes/session-routes.js.map +1 -1
  249. package/dist/web/routes/system-routes.d.ts.map +1 -1
  250. package/dist/web/routes/system-routes.js +87 -59
  251. package/dist/web/routes/system-routes.js.map +1 -1
  252. package/dist/web/routes/ws-routes.d.ts +5 -0
  253. package/dist/web/routes/ws-routes.d.ts.map +1 -1
  254. package/dist/web/routes/ws-routes.js +84 -47
  255. package/dist/web/routes/ws-routes.js.map +1 -1
  256. package/dist/web/schemas.d.ts +30 -7
  257. package/dist/web/schemas.d.ts.map +1 -1
  258. package/dist/web/schemas.js +40 -1
  259. package/dist/web/schemas.js.map +1 -1
  260. package/dist/web/server.d.ts +5 -2
  261. package/dist/web/server.d.ts.map +1 -1
  262. package/dist/web/server.js +102 -18
  263. package/dist/web/server.js.map +1 -1
  264. package/dist/web/settings-writer.d.ts +47 -0
  265. package/dist/web/settings-writer.d.ts.map +1 -0
  266. package/dist/web/settings-writer.js +110 -0
  267. package/dist/web/settings-writer.js.map +1 -0
  268. package/package.json +1 -1
  269. package/skills/codeman/SKILL.md +25 -6
  270. package/skills/codeman/reference/history.md +84 -0
  271. package/skills/codeman/reference/inspection-and-staging.md +152 -0
  272. package/skills/codeman/reference/messaging.md +1 -1
  273. package/skills/codeman/reference/verbs.md +18 -3
  274. package/dist/web/public/app.42d0abae.js +0 -43
  275. package/dist/web/public/app.42d0abae.js.br +0 -0
  276. package/dist/web/public/app.42d0abae.js.gz +0 -0
  277. package/dist/web/public/constants.0b3cdde9.js.br +0 -0
  278. package/dist/web/public/constants.0b3cdde9.js.gz +0 -0
  279. package/dist/web/public/i18n.1e68220d.js +0 -2
  280. package/dist/web/public/i18n.1e68220d.js.br +0 -0
  281. package/dist/web/public/i18n.1e68220d.js.gz +0 -0
  282. package/dist/web/public/image-input.941386e7.js.br +0 -0
  283. package/dist/web/public/image-input.941386e7.js.gz +0 -0
  284. package/dist/web/public/keyboard-accessory.4e8b20ac.js.br +0 -0
  285. package/dist/web/public/keyboard-accessory.4e8b20ac.js.gz +0 -0
  286. package/dist/web/public/mobile-handlers.1c0cbcd8.js.br +0 -0
  287. package/dist/web/public/mobile-handlers.1c0cbcd8.js.gz +0 -0
  288. package/dist/web/public/mobile.12fb18de.css +0 -1
  289. package/dist/web/public/mobile.12fb18de.css.br +0 -0
  290. package/dist/web/public/mobile.12fb18de.css.gz +0 -0
  291. package/dist/web/public/panels-ui.78c3defb.js.br +0 -0
  292. package/dist/web/public/panels-ui.78c3defb.js.gz +0 -0
  293. package/dist/web/public/session-ui.ea6b1994.js.br +0 -0
  294. package/dist/web/public/session-ui.ea6b1994.js.gz +0 -0
  295. package/dist/web/public/settings-ui.085dd202.js.br +0 -0
  296. package/dist/web/public/settings-ui.085dd202.js.gz +0 -0
  297. package/dist/web/public/styles.3b59b41d.css +0 -1
  298. package/dist/web/public/styles.3b59b41d.css.br +0 -0
  299. package/dist/web/public/styles.3b59b41d.css.gz +0 -0
  300. package/dist/web/public/tab-rail-resize.7157e0bd.js.br +0 -0
  301. package/dist/web/public/tab-rail-resize.7157e0bd.js.gz +0 -0
  302. package/dist/web/public/terminal-keycode229-recovery.af09f99a.js +0 -1
  303. package/dist/web/public/terminal-keycode229-recovery.af09f99a.js.br +0 -0
  304. package/dist/web/public/terminal-keycode229-recovery.af09f99a.js.gz +0 -0
  305. package/dist/web/public/terminal-ui.fb2a27f5.js +0 -2
  306. package/dist/web/public/terminal-ui.fb2a27f5.js.br +0 -0
  307. package/dist/web/public/terminal-ui.fb2a27f5.js.gz +0 -0
  308. package/dist/web/public/vendor/xterm-predictive-echo.ae5e3d5d.js.br +0 -0
  309. package/dist/web/public/vendor/xterm-predictive-echo.ae5e3d5d.js.gz +0 -0
  310. package/dist/web/public/vendor/xterm-zerolag-input.0b69623c.js +0 -4
  311. package/dist/web/public/vendor/xterm-zerolag-input.0b69623c.js.br +0 -0
  312. package/dist/web/public/vendor/xterm-zerolag-input.0b69623c.js.gz +0 -0
package/dist/cli-agent.js CHANGED
@@ -2,16 +2,21 @@
2
2
  * @fileoverview `codeman agent …` — session-to-session verbs for the agent running
3
3
  * inside a Codeman session, in every CLI mode.
4
4
  *
5
- * A thin HTTP client over endpoints that already exist (`quick-start`, `input`,
6
- * `wait`, `wait-output`, `last-response`, `terminal`, `DELETE sessions/:id`, and the
7
- * agent inbox: `inbox`, `inbox/ack`, `agent-inbox/summary`). It
8
- * invents no route and no transport: everything goes through `CODEMAN_API_URL`, so
9
- * auth, ownership and the per-session waiter cap apply unchanged. The behaviour is
5
+ * A thin HTTP client over the server's endpoints (`quick-start` for a named
6
+ * case, `POST sessions` + `sessions/:id/interactive|shell` for a worker in an
7
+ * existing directory, `input`, `wait`, `wait-output`, `last-response`, `terminal`,
8
+ * `DELETE sessions/:id`, the agent inbox: `inbox`, `inbox/ack`,
9
+ * `agent-inbox/summary`, and the experimental, opt-in
10
+ * `inspect`/`stage`/`submit` of `web/routes/agent-session-routes.ts`, which answer 403
11
+ * until `agentCoordinationEnabled` is on; that refusal is printed verbatim). It uses no
12
+ * transport of its own: everything goes through `CODEMAN_API_URL`, so auth, ownership
13
+ * and the per-session waiter cap apply unchanged. The behaviour is
10
14
  * the packaged agent skill's (`skills/codeman`), ported from shell prose into code
11
15
  * with tests, so a `codex`/`opencode`/`pi` agent — which never gets the claude-only
12
16
  * preamble — has the same verbs from one line in its AGENTS.md.
13
17
  *
14
- * Invariants (each asserted in `test/cli-agent.test.ts`):
18
+ * Invariants (each asserted in `test/cli-agent.test.ts` or
19
+ * `test/cli-agent-project-spawn.test.ts`):
15
20
  * 1. Refuses outside a Codeman session (`CODEMAN_MUX=1` + `CODEMAN_API_URL`); it
16
21
  * never guesses a URL — a server you are not part of is not yours to drive.
17
22
  * 2. `send` transmits printable text plus `\r` only. ESC exists solely as
@@ -23,14 +28,26 @@
23
28
  * 4. An id shorter than 8 characters refuses (exit 4) before any request, on every
24
29
  * verb. `9` would resolve to whichever session is alone with that first
25
30
  * character, the user's own interactive tab included.
31
+ * 5. `spawn` without a case starts the worker in an existing directory (cwd, or
32
+ * `--working-dir`) via `POST sessions` + `interactive|shell`, without the
33
+ * `X-Codeman-Agent-Origin` header, so no agent-case marker is written. It refuses
34
+ * (exit 4, before any request) an empty `--working-dir` and a bare spawn from a
35
+ * HOME cwd: it always sends an explicit `workingDir`, so the server's skip of
36
+ * workspace hooks for a request that names none cannot protect `~/.claude`.
26
37
  *
27
38
  * Commands live here as functions returning an exit code, not calling
28
39
  * `process.exit`, so the whole surface is unit-testable against a fake server.
29
40
  *
30
41
  * @module cli-agent
31
42
  */
43
+ import { open, realpath, stat } from 'node:fs/promises';
44
+ import { homedir } from 'node:os';
45
+ import { resolve } from 'node:path';
32
46
  import http from 'node:http';
33
47
  import https from 'node:https';
48
+ import { isUtf8 } from 'node:buffer';
49
+ import { STAGE_MAX_BYTES } from './agent-staging.js';
50
+ import { INSPECT_MAX_BYTES } from './agent-inspection.js';
34
51
  import { basicAuthHeader, credentialsFrom, readCodemanEnvFile, } from './codeman-credentials.js';
35
52
  import { getCli } from './config/cli-registry/registry.js';
36
53
  import { GLYPH, palette, table } from './cli-style.js';
@@ -268,6 +285,18 @@ export const httpRequest = (ctx, options) => {
268
285
  req.end();
269
286
  });
270
287
  };
288
+ /**
289
+ * One line describing a thrown request error. Node 22 rejects a refused connection to a host
290
+ * that resolves to both ::1 and 127.0.0.1 with an AggregateError whose `message` is empty, so
291
+ * fall back to its `code` (ECONNREFUSED) before a generic line rather than printing nothing.
292
+ */
293
+ export function describeRequestError(error) {
294
+ const message = getErrorMessage(error);
295
+ if (message)
296
+ return message;
297
+ const code = error?.code;
298
+ return code ? String(code) : 'request failed without a message';
299
+ }
271
300
  /** One line describing a failed response, for humans. Plain-text guards (401/403/429) have no envelope. */
272
301
  export function describeFailure(res) {
273
302
  if (res.json && !res.json.success) {
@@ -278,7 +307,13 @@ export function describeFailure(res) {
278
307
  return `HTTP 401 ${text}: the server wants a password (CODEMAN_PASSWORD, or the data dir's .env)`;
279
308
  return `HTTP ${res.status}${text ? ` ${text}` : ''}`;
280
309
  }
281
- /** Print `data` as JSON (the `--json` path) — always the envelope's `data`, never a reshaped copy. */
310
+ /**
311
+ * Print `data` as JSON (the `--json` path): the envelope's `data`, never a reshaped copy,
312
+ * except a directory spawn, which prints `{ sessionId, workingDir, created: true }` plus
313
+ * `ready` when a readiness wait ran, `readinessError` when that call failed, and
314
+ * `startupError` when its start fails, because `POST /api/sessions` answers with the
315
+ * whole session row.
316
+ */
282
317
  function emitJson(deps, data) {
283
318
  deps.io.out(JSON.stringify(data, null, 2));
284
319
  }
@@ -405,46 +440,137 @@ export const AGENT_ORIGIN_HEADER = { 'X-Codeman-Agent-Origin': 'codeman-agent-cl
405
440
  export function composerReadyMark(mode) {
406
441
  return getCli(mode)?.capabilities.composerReadyMark;
407
442
  }
408
- /** `agent spawn` — quick-start with lineage, then the readiness ladder where the mode has one. */
443
+ /** realpath, or the plain resolved path when it cannot be resolved; never throws. */
444
+ async function canonicalPath(path) {
445
+ try {
446
+ return await realpath(path);
447
+ }
448
+ catch {
449
+ return resolve(path);
450
+ }
451
+ }
452
+ /**
453
+ * Whether `directory` is the user's home directory, comparing realpaths so a symlinked
454
+ * HOME (or a cwd reached through a symlink) still matches. False when HOME is unknown.
455
+ */
456
+ export async function isHomeDirectory(directory) {
457
+ let home;
458
+ try {
459
+ home = homedir();
460
+ }
461
+ catch {
462
+ return false;
463
+ }
464
+ if (!home)
465
+ return false;
466
+ const [a, b] = await Promise.all([canonicalPath(directory), canonicalPath(home)]);
467
+ return a === b;
468
+ }
469
+ /** `agent spawn`: start in a project directory or named case, preserving lineage and mode readiness. */
409
470
  export async function agentSpawn(deps, options) {
471
+ const cli = getCli(options.mode);
472
+ if (!cli)
473
+ return fail(deps, `Unknown mode: ${options.mode}`, EXIT.refused);
474
+ if (options.caseName !== undefined && options.workingDir !== undefined)
475
+ return fail(deps, 'Use a case OR --working-dir, not both', EXIT.refused);
476
+ // Same rule for the flag: `--working-dir "$WT"` with WT empty (a failed
477
+ // `git worktree add`) must not fall through to the caller's own checkout, which
478
+ // `resolve('')` would make it.
479
+ if (options.workingDir !== undefined && options.workingDir.trim() === '')
480
+ return fail(deps, 'refusing: --working-dir is empty; pass an existing directory or omit the flag', EXIT.refused);
481
+ // Only an OMITTED case means "use a directory": an empty one (`spawn "$CASE"` with
482
+ // CASE unset) still goes to quick-start, whose schema refuses it.
483
+ const workingDir = options.caseName !== undefined ? undefined : resolve(options.workingDir ?? process.cwd());
484
+ if (workingDir) {
485
+ // eslint-disable-next-line no-control-regex
486
+ if (/[\x00-\x1f\x7f]/.test(workingDir))
487
+ return fail(deps, 'Working directory contains control characters', EXIT.refused);
488
+ try {
489
+ if (!(await stat(workingDir)).isDirectory())
490
+ throw new Error('not a directory');
491
+ }
492
+ catch {
493
+ return fail(deps, 'Working directory must be an existing local directory', EXIT.refused);
494
+ }
495
+ // The server installs workspace hooks (and, with agent skill injection on, the
496
+ // skill) into the directory it is given, and it skips that only when the caller
497
+ // names no workingDir, because the cwd fallback is $HOME under installer-created
498
+ // services. This CLI always sends its directory explicitly, so an implicit cwd of
499
+ // HOME must be refused here or it would write ~/.claude/settings.local.json and
500
+ // ~/.claude/skills. An explicit `--working-dir ~` is the caller's choice and stays.
501
+ if (options.workingDir === undefined && (await isHomeDirectory(workingDir)))
502
+ return fail(deps, 'refusing: the current directory is your home directory; pass --working-dir ~ to start a worker there on purpose', EXIT.refused);
503
+ }
410
504
  const body = {
411
- caseName: options.caseName,
505
+ ...(workingDir ? { workingDir } : { caseName: options.caseName }),
412
506
  mode: options.mode,
413
507
  parentSessionId: deps.ctx.selfId,
414
508
  };
415
509
  if (options.name)
416
- body.sessionName = options.name;
510
+ body[workingDir ? 'name' : 'sessionName'] = options.name;
417
511
  const res = await deps.request(deps.ctx, {
418
512
  method: 'POST',
419
- path: '/api/v1/quick-start',
513
+ path: workingDir ? '/api/v1/sessions' : '/api/v1/quick-start',
420
514
  body,
421
- headers: { ...AGENT_ORIGIN_HEADER },
515
+ headers: workingDir ? undefined : { ...AGENT_ORIGIN_HEADER },
422
516
  });
423
- const data = res.json?.data;
517
+ const created = res.json?.data;
518
+ // `POST /api/sessions` answers `{ session: { id, ... } }`; quick-start answers `{ sessionId, ... }`.
519
+ const createdId = created?.session?.id;
520
+ const data = workingDir && createdId ? { sessionId: createdId, workingDir, created: true } : created;
424
521
  if (!res.json?.success || !data?.sessionId)
425
522
  return fail(deps, describeFailure(res));
426
523
  const sid = data.sessionId;
524
+ if (workingDir) {
525
+ // Creation alone leaves a session without a pane. Report the exact created id
526
+ // on an ambiguous or rejected start; never retry a start or hide a leaked tab.
527
+ let startupError;
528
+ try {
529
+ const started = await deps.request(deps.ctx, {
530
+ method: 'POST',
531
+ path: `/api/v1/sessions/${encodeURIComponent(sid)}/${cli.capabilities.startMode}`,
532
+ });
533
+ if (!started.json?.success)
534
+ startupError = describeFailure(started);
535
+ }
536
+ catch (error) {
537
+ startupError = getErrorMessage(error) || 'Startup request failed';
538
+ }
539
+ if (startupError) {
540
+ if (deps.json)
541
+ emitJson(deps, { ...data, ready: false, startupError });
542
+ else
543
+ deps.io.out(sid);
544
+ deps.io.err(`Session ${sid} was created but startup failed or is ambiguous: ${startupError}`);
545
+ return EXIT.error;
546
+ }
547
+ }
427
548
  let ready;
428
549
  let readinessError;
429
550
  let dead = false;
430
551
  const mark = composerReadyMark(options.mode);
431
552
  if (options.ready && mark) {
432
- const wait = await deps.request(deps.ctx, {
433
- method: 'GET',
434
- path: `/api/v1/sessions/${encodeURIComponent(sid)}/wait-output`,
435
- query: { match: mark, from: 'buffer', timeout: options.timeoutMs },
436
- timeoutMs: options.timeoutMs + 10_000,
437
- });
438
- // A failed readiness call (waiter cap, 400, network) is its own error, not "the
439
- // composer never showed up": report the real reason instead of the trust-dialog hint.
440
- if (!wait.json?.success)
441
- readinessError = describeFailure(wait);
442
- else {
443
- const result = wait.json.data?.wait;
444
- // A worker that died while we waited is exit 3 like every other wait, not a
445
- // "composer not seen" timeout that sends the caller looking for a dialog.
446
- dead = waitExitCode(result) === EXIT.dead;
447
- ready = !dead && Boolean(result?.matched);
553
+ try {
554
+ const wait = await deps.request(deps.ctx, {
555
+ method: 'GET',
556
+ path: `/api/v1/sessions/${encodeURIComponent(sid)}/wait-output`,
557
+ query: { match: mark, from: 'buffer', timeout: options.timeoutMs },
558
+ timeoutMs: options.timeoutMs + 10_000,
559
+ });
560
+ // A failed readiness call (waiter cap, 400, network) is its own error, not "the
561
+ // composer never showed up": report the real reason instead of the trust-dialog hint.
562
+ if (!wait.json?.success)
563
+ readinessError = describeFailure(wait);
564
+ else {
565
+ const result = wait.json.data?.wait;
566
+ // A worker that died while we waited is exit 3 like every other wait, not a
567
+ // "composer not seen" timeout that sends the caller looking for a dialog.
568
+ dead = waitExitCode(result) === EXIT.dead;
569
+ ready = !dead && Boolean(result?.matched);
570
+ }
571
+ }
572
+ catch (error) {
573
+ readinessError = describeRequestError(error);
448
574
  }
449
575
  }
450
576
  if (deps.json) {
@@ -453,7 +579,7 @@ export async function agentSpawn(deps, options) {
453
579
  else {
454
580
  // Human lines go to stderr so `SID=$(codeman agent spawn …)` captures the id alone.
455
581
  const say = (line) => deps.io.err(line);
456
- say(palette.ok(`${GLYPH.ok} spawned ${sid} (${options.mode}, case ${data.caseName ?? options.caseName})`));
582
+ say(palette.ok(`${GLYPH.ok} spawned ${sid} (${options.mode}, ${workingDir ?? data.caseName ?? options.caseName})`));
457
583
  if (ready === true)
458
584
  say(palette.muted(' composer up: the worker can take a prompt'));
459
585
  if (dead)
@@ -602,6 +728,99 @@ export async function agentWait(deps, options) {
602
728
  }
603
729
  return waitExitCode(data?.wait);
604
730
  }
731
+ /** Bounded incremental evidence, with an opaque server-owned cursor. */
732
+ export async function agentInspect(deps, options) {
733
+ if (!Number.isInteger(options.maxBytes) || options.maxBytes < 1 || options.maxBytes > INSPECT_MAX_BYTES)
734
+ return fail(deps, '--max-bytes must be between 1 and 65536', EXIT.refused);
735
+ const target = await resolveSessionId(deps, options.id);
736
+ if ('error' in target)
737
+ return fail(deps, target.error, target.code);
738
+ const response = await deps.request(deps.ctx, {
739
+ method: 'GET',
740
+ path: `/api/v1/sessions/${encodeURIComponent(target.id)}/inspect`,
741
+ query: { maxBytes: options.maxBytes, since: options.since },
742
+ });
743
+ if (!response.json?.success)
744
+ return fail(deps, describeFailure(response));
745
+ if (deps.json)
746
+ emitJson(deps, response.json.data);
747
+ else {
748
+ const data = response.json.data;
749
+ deps.io.out(`[${data.source ?? 'unknown'}]${data.truncated ? ' truncated' : ''}${data.blockedReason ? ` (${data.blockedReason})` : ''}`);
750
+ deps.io.out(data.evidence ?? '');
751
+ if (data.cursor)
752
+ deps.io.out(`cursor: ${data.cursor}`);
753
+ }
754
+ return EXIT.ok;
755
+ }
756
+ /** Stage exactly the printable UTF8 file contents; never sends Enter. */
757
+ export async function agentStage(deps, options) {
758
+ if (isSelfSession(deps.ctx.selfId, options.id))
759
+ return fail(deps, `refusing: ${options.id} is me`, EXIT.refused);
760
+ let message;
761
+ try {
762
+ const info = await stat(options.messageFile);
763
+ if (!info.isFile() || info.size > STAGE_MAX_BYTES)
764
+ return fail(deps, 'message file must be a regular file within 8192 UTF8 bytes', EXIT.refused);
765
+ const handle = await open(options.messageFile, 'r');
766
+ try {
767
+ const buffer = Buffer.alloc(STAGE_MAX_BYTES + 1);
768
+ const { bytesRead } = await handle.read(buffer, 0, buffer.length, 0);
769
+ const bytes = buffer.subarray(0, bytesRead);
770
+ if (bytesRead > STAGE_MAX_BYTES || !isUtf8(bytes))
771
+ return fail(deps, 'message file must contain at most 8192 bytes of UTF8', EXIT.refused);
772
+ message = bytes.toString('utf8');
773
+ }
774
+ finally {
775
+ await handle.close();
776
+ }
777
+ }
778
+ catch (error) {
779
+ return fail(deps, `cannot read message file: ${getErrorMessage(error)}`, EXIT.refused);
780
+ }
781
+ const refusal = inputRefusal(message);
782
+ if (refusal || message !== message.trimEnd())
783
+ return fail(deps, refusal ?? 'stage refuses trailing whitespace', EXIT.refused);
784
+ const target = await resolveSessionId(deps, options.id);
785
+ if ('error' in target)
786
+ return fail(deps, target.error, target.code);
787
+ const response = await deps.request(deps.ctx, {
788
+ method: 'POST',
789
+ path: `/api/v1/sessions/${encodeURIComponent(target.id)}/stage`,
790
+ body: { message },
791
+ });
792
+ if (!response.json?.success)
793
+ return fail(deps, describeFailure(response));
794
+ if (deps.json)
795
+ emitJson(deps, response.json.data);
796
+ else {
797
+ const data = response.json.data;
798
+ deps.io.out(`staged (no Enter): ${data.stageId}\nsha256: ${data.sha256}\nexpires: ${new Date(data.expiresAt).toISOString()}`);
799
+ }
800
+ return EXIT.ok;
801
+ }
802
+ /** Submit one verified staged composer; failure never automatically replays Enter. */
803
+ export async function agentSubmit(deps, options) {
804
+ if (isSelfSession(deps.ctx.selfId, options.id))
805
+ return fail(deps, `refusing: ${options.id} is me`, EXIT.refused);
806
+ if (!/^[a-f0-9]{64}$/.test(options.confirmSha) || !/^[a-f0-9-]{36}$/.test(options.stageId))
807
+ return fail(deps, 'submit requires a stage UUID and its exact SHA-256', EXIT.refused);
808
+ const target = await resolveSessionId(deps, options.id);
809
+ if ('error' in target)
810
+ return fail(deps, target.error, target.code);
811
+ const response = await deps.request(deps.ctx, {
812
+ method: 'POST',
813
+ path: `/api/v1/sessions/${encodeURIComponent(target.id)}/submit`,
814
+ body: { stageId: options.stageId, confirmSha: options.confirmSha },
815
+ });
816
+ if (!response.json?.success)
817
+ return fail(deps, describeFailure(response));
818
+ if (deps.json)
819
+ emitJson(deps, response.json.data);
820
+ else
821
+ deps.io.out('Enter delivered once; inspect or wait for acceptance (no automatic retry).');
822
+ return EXIT.ok;
823
+ }
605
824
  /** `agent read` — the last answer (the route picks the transcript reader or the pane segmenter) or a terminal tail. */
606
825
  export async function agentRead(deps, options) {
607
826
  const target = await resolveSessionId(deps, options.id);
@@ -857,7 +1076,7 @@ async function run(json, verb) {
857
1076
  process.exitCode = await verb(deps);
858
1077
  }
859
1078
  catch (err) {
860
- console.error(palette.err(`${GLYPH.fail} ${getErrorMessage(err)}`));
1079
+ console.error(palette.err(`${GLYPH.fail} ${describeRequestError(err)}`));
861
1080
  process.exitCode = EXIT.error;
862
1081
  }
863
1082
  }
@@ -865,7 +1084,7 @@ async function run(json, verb) {
865
1084
  export function registerAgentCommands(program) {
866
1085
  const agent = program
867
1086
  .command('agent')
868
- .description('Talk to other sessions from inside one (any CLI mode): list, spawn, send, wait, read, interrupt, rm, and the inbox: post, inbox, ack');
1087
+ .description('Talk to other sessions from inside one (any CLI mode): list, spawn, send, wait, read, interrupt, rm, the inbox: post, inbox, ack, and the experimental, opt-in inspect, stage, submit');
869
1088
  agent
870
1089
  .command('ls')
871
1090
  .alias('list')
@@ -873,15 +1092,17 @@ export function registerAgentCommands(program) {
873
1092
  .option('--json', 'Machine-readable output')
874
1093
  .action((options) => run(Boolean(options.json), agentLs));
875
1094
  agent
876
- .command('spawn <case>')
877
- .description('Start a worker session in a case (created if missing) and wait for its composer where the mode draws one')
1095
+ .command('spawn [case]')
1096
+ .description('Start a worker in cwd, an existing directory, or a named case; wait for its composer where supported')
878
1097
  .option('-m, --mode <mode>', 'Run mode id, as the Run menu names it', 'claude')
879
1098
  .option('-n, --name <name>', 'Session name shown in the UI')
1099
+ .option('--working-dir <directory>', 'Existing project directory (defaults to cwd when no case is given; a cwd of HOME is refused, pass it explicitly)')
880
1100
  .option('--no-ready', 'Return as soon as the session exists, without the readiness wait')
881
1101
  .option('-t, --timeout <ms>', 'Readiness budget in ms', String(DEFAULT_WAIT_MS))
882
1102
  .option('--json', 'Machine-readable output')
883
1103
  .action((caseName, options) => run(Boolean(options.json), (deps) => agentSpawn(deps, {
884
1104
  caseName,
1105
+ workingDir: options.workingDir,
885
1106
  mode: options.mode,
886
1107
  name: options.name,
887
1108
  ready: options.ready,
@@ -930,6 +1151,30 @@ export function registerAgentCommands(program) {
930
1151
  fresh: options.fresh,
931
1152
  timeoutMs: parsePositiveInt(options.timeout, DEFAULT_WAIT_MS),
932
1153
  })));
1154
+ agent
1155
+ .command('inspect <id>')
1156
+ .description('Experimental, opt-in (agentCoordinationEnabled): bounded transcript evidence or a labeled pane snapshot; opaque incremental cursors')
1157
+ .option('--max-bytes <n>', 'UTF8 evidence budget (1–65536)', '8192')
1158
+ .option('--since <cursor>', 'Resume a cursor from the same owner, pane and transcript')
1159
+ .option('--json', 'Machine-readable output')
1160
+ .action((id, options) => run(Boolean(options.json), (deps) => agentInspect(deps, {
1161
+ id,
1162
+ maxBytes: parsePositiveInt(options.maxBytes, 8192, '--max-bytes'),
1163
+ since: options.since,
1164
+ })));
1165
+ agent
1166
+ .command('stage <id>')
1167
+ .description('Experimental, opt-in (agentCoordinationEnabled): type a printable single-line UTF8 file without Enter; requires a verifiable local Codex composer, and refuses slash or shell commands and a last word starting with @ or $ (use send)')
1168
+ .requiredOption('--message-file <path>', 'Regular UTF8 file, at most 8192 bytes, no trailing newline')
1169
+ .option('--json', 'Machine-readable output')
1170
+ .action((id, options) => run(Boolean(options.json), (deps) => agentStage(deps, { id, messageFile: options.messageFile })));
1171
+ agent
1172
+ .command('submit <id>')
1173
+ .description('Experimental, opt-in (agentCoordinationEnabled): send Enter once only when the staged composer, pane and hash still match')
1174
+ .requiredOption('--stage-id <receipt>', 'One-shot stage receipt')
1175
+ .requiredOption('--confirm-sha <hash>', 'Exact SHA-256 returned by stage')
1176
+ .option('--json', 'Machine-readable output')
1177
+ .action((id, options) => run(Boolean(options.json), (deps) => agentSubmit(deps, { id, stageId: options.stageId, confirmSha: options.confirmSha })));
933
1178
  agent
934
1179
  .command('read <id>')
935
1180
  .description("Print a session's last answer (as the server reads it for that mode) or, with --tail, its terminal")
@@ -1 +1 @@
1
- {"version":3,"file":"cli-agent.js","sourceRoot":"","sources":["../src/cli-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B,OAAO,EACL,eAAe,EACf,eAAe,EACf,kBAAkB,GAEnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,SAAS,IAAI,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAe5E,uEAAuE;AACvE,MAAM,OAAO,eAAgB,SAAQ,KAAK;CAAG;AAE7C,yEAAyE;AACzE,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,EAAE,EAAE,CAAC;IACL,KAAK,EAAE,CAAC;IACR,OAAO,EAAE,CAAC;IACV,IAAI,EAAE,CAAC;IACP,OAAO,EAAE,CAAC;CACF,CAAC;AAEX;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAAyB,OAAO,CAAC,GAAG,EACpC,UAAwC,kBAAkB;IAE1D,IAAI,GAAG,CAAC,WAAW,KAAK,GAAG,EAAE,CAAC;QAC5B,MAAM,IAAI,eAAe,CAAC,+EAA+E,CAAC,CAAC;IAC7G,CAAC;IACD,MAAM,MAAM,GAAG,GAAG,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC;IAC3C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,eAAe,CAAC,yDAAyD,CAAC,CAAC;IACvF,CAAC;IACD,MAAM,MAAM,GAAG,GAAG,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC;IAC9C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,eAAe,CAAC,iEAAiE,CAAC,CAAC;IAC/F,CAAC;IACD,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;IACpD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;AAClF,CAAC;AAED,gFAAgF;AAChF,gCAAgC;AAChC,gFAAgF;AAEhF;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,EAAU;IACtD,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1C,OAAO,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;AACxD,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,EAAU;IACtD,IAAI,CAAC,EAAE;QAAE,OAAO,4BAA4B,CAAC;IAC7C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,qEAAqE,CAAC;IACpG,IAAI,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC;QAAE,OAAO,aAAa,EAAE,QAAQ,CAAC;IAC9D,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAwB;IACzD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAClD,OAAO;QACL,KAAK,EAAE,kDAAkD,KAAK,CAAC,MAAM,gHAAgH;KACtL,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,mFAAmF,CAAC;IAClH,oFAAoF;IACpF,mFAAmF;IACnF,oFAAoF;IACpF,oCAAoC;IACpC,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,OAAO,wKAAwK,CAAC;IAClL,CAAC;IACD,6EAA6E;IAC7E,4CAA4C;IAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IACnD,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACpE,OAAO,2CAA2C,IAAI,6DAA6D,CAAC;IACtH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAY,EACZ,OAAsG;IAEtG,MAAM,IAAI,GAA4B;QACpC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI;QACzC,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,GAAG,EAAE,OAAO,CAAC,GAAG;KACjB,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;QAAE,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IACzD,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS;QAAE,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAC9E,OAAO,IAAI,CAAC;AACd,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,kBAAkB,CAAC,QAAgB,EAAE,GAAW;IAC9D,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;AAC1D,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,eAAe,CAAC,MAAc,EAAE,MAAM,GAAG,EAAE;IACzD,OAAO,qBAAqB,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAChF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,4CAA4C;IAC5C,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;AAChE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,CACL,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACpC,4CAA4C;SAC3C,OAAO,CAAC,gCAAgC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAC3G,CAAC;AACJ,CAAC;AAED,0GAA0G;AAC1G,MAAM,UAAU,gBAAgB,CAAC,GAAuB,EAAE,QAAgB,EAAE,IAAI,GAAG,WAAW;IAC5F,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IACvC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACtB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,qCAAqC,GAAG,GAAG,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,IAA4B;IACvD,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC;IAC7B,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC;IAC3D,IAAI,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC;IACvC,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC;IAChD,OAAO,IAAI,CAAC,EAAE,CAAC;AACjB,CAAC;AAgDD,wFAAwF;AACxF,MAAM,UAAU,WAAW,CAAC,GAAiB;IAC3C,MAAM,OAAO,GAA2B,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;IACvE,4EAA4E;IAC5E,kFAAkF;IAClF,gFAAgF;IAChF,oFAAoF;IACpF,mFAAmF;IACnF,IAAI,GAAG,CAAC,MAAM;QAAE,OAAO,CAAC,0BAA0B,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC;IACjE,MAAM,aAAa,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvE,IAAI,aAAa;QAAE,OAAO,CAAC,aAAa,GAAG,aAAa,CAAC;IACzD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,wGAAwG;AACxG,MAAM,CAAC,MAAM,WAAW,GAAe,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;IACtD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;QAC/D,IAAI,KAAK,KAAK,SAAS;YAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACvF,MAAM,OAAO,GAAoC,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;IACrG,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;QAC7C,OAAO,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC1D,CAAC;IACD,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAC3B;YACE,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,IAAI,EAAE,GAAG,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE;YACpC,kBAAkB,EAAE,KAAK;YACzB,OAAO;YACP,OAAO,EAAE,OAAO,CAAC,SAAS,IAAI,MAAM;YACpC,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,EACD,CAAC,GAAG,EAAE,EAAE;YACN,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YACtD,gFAAgF;YAChF,iFAAiF;YACjF,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACxB,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACjB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACrD,IAAI,IAA6B,CAAC;gBAClC,IAAI,CAAC;oBACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAgB,CAAC;gBACzC,CAAC;gBAAC,MAAM,CAAC;oBACP,IAAI,GAAG,SAAS,CAAC;gBACnB,CAAC;gBACD,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,UAAU,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;QACL,CAAC,CACF,CAAC;QACF,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,2BAA2B,OAAO,CAAC,SAAS,IAAI,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7G,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACxB,IAAI,QAAQ,KAAK,SAAS;YAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChD,GAAG,CAAC,GAAG,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,2GAA2G;AAC3G,MAAM,UAAU,eAAe,CAAC,GAAgB;IAC9C,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAClC,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,OAAO,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,gBAAgB,UAAU,GAAG,CAAC,MAAM,GAAG,CAAC;IACxG,CAAC;IACD,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAClD,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;QACpB,OAAO,YAAY,IAAI,0EAA0E,CAAC;IACpG,OAAO,QAAQ,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACvD,CAAC;AAoBD,sGAAsG;AACtG,SAAS,QAAQ,CAAC,IAAe,EAAE,IAAa;IAC9C,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,IAAI,CAAC,IAAe,EAAE,OAAe,EAAE,OAAe,IAAI,CAAC,KAAK;IACvE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IAClE,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAYD,0FAA0F;AAC1F,MAAM,cAAc,GAAG,EAAE,CAAC;AAE1B;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAEtC;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAe,EACf,EAAU;IAEV,IAAI,CAAC,EAAE;QAAE,OAAO,EAAE,KAAK,EAAE,4BAA4B,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;IAC5E,IAAI,EAAE,CAAC,MAAM,GAAG,oBAAoB,EAAE,CAAC;QACrC,OAAO;YACL,KAAK,EAAE,cAAc,EAAE,qBAAqB,oBAAoB,0EAA0E;YAC1I,IAAI,EAAE,IAAI,CAAC,OAAO;SACnB,CAAC;IACJ,CAAC;IACD,IAAI,EAAE,CAAC,MAAM,IAAI,cAAc;QAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAC/C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACtF,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO;QAAE,OAAO,EAAE,KAAK,EAAE,eAAe,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IACjF,MAAM,OAAO,GAAG,CAAE,GAAG,CAAC,IAAI,CAAC,IAAiC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;IACvG,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACvD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IAClH,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,mBAAmB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;AAClH,CAAC;AAUD;;;GAGG;AACH,KAAK,UAAU,iBAAiB,CAAC,IAAe;IAC9C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,6BAA6B,EAAE,CAAC,CAAC;QACjG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO;YAAE,OAAO,SAAS,CAAC;QACzC,OAAQ,GAAG,CAAC,IAAI,CAAC,IAAmE,EAAE,QAAQ,IAAI,EAAE,CAAC;IACvG,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,SAAS,CAAC,GAAgC;IACxD,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,GAAG,CAAC,OAAO,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7G,IAAI,GAAG,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,yFAAyF;AACzF,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAe;IAC3C,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACrC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;QACnE,iBAAiB,CAAC,IAAI,CAAC;KACxB,CAAC,CAAC;IACH,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO;QAAE,OAAO,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAI,GAAG,CAAC,IAAI,CAAC,IAAiC,IAAI,EAAE,CAAC;IACnE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,QAAQ,CACN,IAAI,EACJ,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACnB,GAAG,CAAC;YACJ,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC;YAC1C,2EAA2E;YAC3E,iEAAiE;YACjE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjD,CAAC,CAAC,CACJ,CAAC;QACF,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;IACD,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC9B,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC;QACjH,IAAI,KAAK;YAAE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5C,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QACvC,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC9G,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClD,IAAI,CAAC,EAAE,CAAC,GAAG,CACT,OAAO,CAAC,KAAK,CAAC,qBAAqB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,8CAA8C,CAAC,CAC9G,CAAC;IACF,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,CAAC,EAAE,CAAC,GAAG,CACT,OAAO,CAAC,KAAK,CAAC,6FAA6F,CAAC,CAC7G,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC,EAAE,CAAC;AACjB,CAAC;AAWD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,wBAAwB,EAAE,mBAAmB,EAAW,CAAC;AAE9F;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,iBAAiB,CAAC;AACtD,CAAC;AACD,kGAAkG;AAClG,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAe,EAAE,OAAqB;IACrE,MAAM,IAAI,GAA4B;QACpC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,eAAe,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM;KACjC,CAAC;IACF,IAAI,OAAO,CAAC,IAAI;QAAE,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAClD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE;QACvC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,qBAAqB;QAC3B,IAAI;QACJ,OAAO,EAAE,EAAE,GAAG,mBAAmB,EAAE;KACpC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,IAAgF,CAAC;IACxG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,IAAI,EAAE,SAAS;QAAE,OAAO,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;IACpF,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC;IAE3B,IAAI,KAA0B,CAAC;IAC/B,IAAI,cAAkC,CAAC;IACvC,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,OAAO,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE;YACxC,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,oBAAoB,kBAAkB,CAAC,GAAG,CAAC,cAAc;YAC/D,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE;YAClE,SAAS,EAAE,OAAO,CAAC,SAAS,GAAG,MAAM;SACtC,CAAC,CAAC;QACH,gFAAgF;QAChF,sFAAsF;QACtF,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO;YAAE,cAAc,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;aAC3D,CAAC;YACJ,MAAM,MAAM,GAAI,IAAI,CAAC,IAAI,CAAC,IAA0C,EAAE,IAAI,CAAC;YAC3E,4EAA4E;YAC5E,0EAA0E;YAC1E,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC;YAC1C,KAAK,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,QAAQ,CAAC,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;IACrD,CAAC;SAAM,CAAC;QACN,oFAAoF;QACpF,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChD,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,YAAY,GAAG,KAAK,OAAO,CAAC,IAAI,UAAU,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;QAC3G,IAAI,KAAK,KAAK,IAAI;YAAE,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC,CAAC;QACtF,IAAI,IAAI;YAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,8CAA8C,CAAC,CAAC,CAAC;QACxF,IAAI,KAAK,KAAK,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YAC7B,GAAG,CACD,OAAO,CAAC,IAAI,CACV,GAAG,KAAK,CAAC,IAAI,6BAA6B,OAAO,CAAC,SAAS,2BAA2B,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,mDAAmD,CACzJ,CACF,CAAC;QACJ,CAAC;QACD,IAAI,cAAc;YAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,4BAA4B,cAAc,EAAE,CAAC,CAAC,CAAC;QAChG,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,cAAc,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAC5D,GAAG,CACD,OAAO,CAAC,KAAK,CACX,KAAK,OAAO,CAAC,IAAI,mFAAmF,CACrG,CACF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IACD,IAAI,cAAc;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC;IACtC,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC;IAC3B,OAAO,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;AAClD,CAAC;AAaD,iGAAiG;AACjG,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAe,EAAE,OAAoB;IACnE,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC,IAAI,EAAE,aAAa,OAAO,CAAC,EAAE,uDAAuD,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAClH,CAAC;IACD,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,OAAO;QAAE,OAAO,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IACxD,IAAI,OAAO,IAAI,MAAM;QAAE,OAAO,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACpE,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE;QACvC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;QAC9D,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE;QAC5C,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,WAAW,EAAE,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;KACxE,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE;QACvC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,oBAAoB,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ;QAC/D,IAAI;QACJ,SAAS,EAAE,CAAC,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,GAAG,MAAM;KAClD,CAAC,CAAC;IACH,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO;QAAE,OAAO,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;IAChE,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,IAET,CAAC;IACd,IAAI,IAAI,CAAC,IAAI;QAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IAC1C,qFAAqF;IACrF,oFAAoF;IACpF,mFAAmF;IACnF,sEAAsE;IACtE,IAAI,IAAI,EAAE,OAAO,EAAE,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,IAAI,CAAC,EAAE,CAAC,GAAG,CACT,OAAO,CAAC,GAAG,CACT,GAAG,KAAK,CAAC,IAAI,aAAa,MAAM,CAAC,EAAE,oGAAoG,CACxI,CACF,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IACD,iFAAiF;IACjF,qFAAqF;IACrF,sFAAsF;IACtF,IAAI,IAAI,EAAE,SAAS,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,IAAI,CAAC,EAAE,CAAC,GAAG,CACT,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,mBAAmB,MAAM,CAAC,EAAE,gDAAgD,CAAC,CACvG,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;QACnD,IAAI,IAAI,EAAE,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,0DAA0D,CAAC,CAAC,CAAC;QACrG,CAAC;aAAM,IAAI,IAAI,EAAE,QAAQ,EAAE,CAAC;YAC1B,IAAI,CAAC,EAAE,CAAC,GAAG,CACT,OAAO,CAAC,EAAE,CACR,GAAG,KAAK,CAAC,EAAE,iBAAiB,MAAM,CAAC,EAAE,GAAG,OAAO,iFAAiF,CACjI,CACF,CAAC;QACJ,CAAC;aAAM,IAAI,IAAI,EAAE,SAAS,KAAK,IAAI,EAAE,CAAC;YACpC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,iBAAiB,MAAM,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC;QAC7E,CAAC;aAAM,CAAC;YACN,iFAAiF;YACjF,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,iBAAiB,MAAM,CAAC,EAAE,GAAG,OAAO,sCAAsC,CAAC,CAAC,CAAC;QACjH,CAAC;QACD,IAAI,IAAI,EAAE,IAAI;YAAE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC,EAAE,CAAC;IAC/C,OAAO,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,YAAY,CAAC,IAAgB;IACpC,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,qBAAqB,CAAC,CAAC;IACnF,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,OAAO,OAAO,CAAC,GAAG,CAChB,GAAG,KAAK,CAAC,IAAI,yGAAyG,CACvH,CAAC;IACJ,CAAC;IACD,uFAAuF;IACvF,uFAAuF;IACvF,IAAI,IAAI,CAAC,QAAQ;QAAE,OAAO,OAAO,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,SAAS,IAAI,GAAG,cAAc,CAAC,CAAC;IAChG,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,OAAO;YACjB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,aAAa,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAC7F,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,OAAO,CAAC,EAAE,CACf,GAAG,KAAK,CAAC,EAAE,YAAY,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,+CAA+C,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7G,CAAC;AACJ,CAAC;AAYD,kFAAkF;AAClF,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAe,EAAE,OAAoB;IACnE,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK;QAChC,OAAO,IAAI,CAAC,IAAI,EAAE,4DAA4D,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAChG,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IACxD,IAAI,OAAO,IAAI,MAAM;QAAE,OAAO,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACpE,MAAM,GAAG,GAAG,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC1C,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK;QACvB,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE;YAC3B,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,oBAAoB,GAAG,cAAc;YAC3C,KAAK,EAAE;gBACL,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,QAAQ;gBAC9B,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;gBACtC,OAAO,EAAE,OAAO,CAAC,SAAS;aAC3B;YACD,SAAS,EAAE,OAAO,CAAC,SAAS,GAAG,MAAM;SACtC,CAAC;QACJ,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE;YAC3B,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,oBAAoB,GAAG,OAAO;YACpC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE;YACjG,SAAS,EAAE,OAAO,CAAC,SAAS,GAAG,MAAM;SACtC,CAAC,CAAC;IACP,mFAAmF;IACnF,oFAAoF;IACpF,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO;QAAE,OAAO,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;IAChE,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,IAAiF,CAAC;IACxG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,QAAQ,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IAC7B,CAAC;SAAM,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,WAAW;YAClB,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,4DAA4D,CAAC,CAAC,CAAC;IACzG,CAAC;IACD,OAAO,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAClC,CAAC;AAUD,uHAAuH;AACvH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAe,EAAE,OAAoB;IACnE,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IACxD,IAAI,OAAO,IAAI,MAAM;QAAE,OAAO,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACpE,MAAM,GAAG,GAAG,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC1C,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE;YACvC,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,oBAAoB,GAAG,WAAW;YACxC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE;SAC9B,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO;YAAE,OAAO,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;QAChE,MAAM,MAAM,GAAI,GAAG,CAAC,IAAI,CAAC,IAAgD,EAAE,cAAc,IAAI,EAAE,CAAC;QAChG,IAAI,IAAI,CAAC,IAAI;YAAE,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;YACxC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE;QACvC,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,oBAAoB,GAAG,gBAAgB;QAC7C,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE;KACtD,CAAC,CAAC;IACH,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO;QAAE,OAAO,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;IAChE,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,IAET,CAAC;IACd,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,QAAQ,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,IAAI,IAAI,EAAE,QAAQ,EAAE,CAAC;QACnC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACjF,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;IAC9B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,CAAC,EAAE,CAAC,GAAG,CACT,OAAO,CAAC,KAAK,CAAC,kGAAkG,CAAC,CAClH,CAAC;QACF,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;IACD,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClB,OAAO,IAAI,CAAC,EAAE,CAAC;AACjB,CAAC;AAED,8EAA8E;AAC9E,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAe,EAAE,OAAuB;IAC3E,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC,IAAI,EAAE,aAAa,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACjH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IACxD,IAAI,OAAO,IAAI,MAAM;QAAE,OAAO,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACpE,MAAM,IAAI,GAAG,kBAAkB,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACzG,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE;QACvC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,oBAAoB,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ;QAC/D,IAAI;KACL,CAAC,CAAC;IACH,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO;QAAE,OAAO,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;IAChE,IAAI,IAAI,CAAC,IAAI;QAAE,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;;QAEjD,IAAI,CAAC,EAAE,CAAC,GAAG,CACT,OAAO,CAAC,EAAE,CACR,GAAG,KAAK,CAAC,EAAE,gBAAgB,MAAM,CAAC,EAAE,uEAAuE,CAC5G,CACF,CAAC;IACJ,OAAO,IAAI,CAAC,EAAE,CAAC;AACjB,CAAC;AAED,mEAAmE;AACnE,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAe,EAAE,OAAuB;IACpE,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IAC3D,IAAI,OAAO;QAAE,OAAO,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IACxD,IAAI,OAAO,IAAI,MAAM;QAAE,OAAO,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACpE,gFAAgF;IAChF,oFAAoF;IACpF,MAAM,eAAe,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IAClE,IAAI,eAAe;QAAE,OAAO,IAAI,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACtE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE;QACvC,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,oBAAoB,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;KAC1D,CAAC,CAAC;IACH,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO;QAAE,OAAO,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;IAChE,IAAI,IAAI,CAAC,IAAI;QAAE,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;;QAC9C,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,YAAY,MAAM,CAAC,EAAE,qCAAqC,CAAC,CAAC,CAAC;IACpG,OAAO,IAAI,CAAC,EAAE,CAAC;AACjB,CAAC;AAeD;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAwB;IACvD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAClD,OAAO,EAAE,KAAK,EAAE,mDAAmD,KAAK,CAAC,MAAM,aAAa,EAAE,CAAC;AACjG,CAAC;AAED,4FAA4F;AAC5F,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAe,EAAE,OAAqC;IACpF,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,IAAI,EAAE,yBAAyB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1F,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IACxD,IAAI,OAAO,IAAI,MAAM;QAAE,OAAO,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACpE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE;QACvC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,oBAAoB,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ;QAC/D,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE;KAC7B,CAAC,CAAC;IACH,sFAAsF;IACtF,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO;QAAE,OAAO,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;IAChE,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,IAAoF,CAAC;IAC3G,IAAI,IAAI,CAAC,IAAI;QAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;;QAExC,IAAI,CAAC,EAAE,CAAC,GAAG,CACT,OAAO,CAAC,EAAE,CACR,GAAG,KAAK,CAAC,EAAE,cAAc,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,IAAI,GAAG,aAAa,IAAI,EAAE,MAAM,IAAI,GAAG,UAAU,CAClH,CACF,CAAC;IACJ,OAAO,IAAI,CAAC,EAAE,CAAC;AACjB,CAAC;AASD,0EAA0E;AAC1E,KAAK,UAAU,aAAa,CAAC,IAAe,EAAE,EAAU;IACtD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;QACtF,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO;YAAE,OAAO,KAAK,CAAC;QACrC,OAAO,CAAC,CAAE,GAAG,CAAC,IAAI,CAAC,IAAiC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACvF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,kDAAkD;AAClD,SAAS,GAAG,CAAC,SAAiB,EAAE,GAAW;IACzC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IAC5D,IAAI,CAAC,GAAG,EAAE;QAAE,OAAO,GAAG,CAAC,GAAG,CAAC;IAC3B,IAAI,CAAC,GAAG,IAAI;QAAE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;IAC9C,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AACpC,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAe,EAAE,OAAyB;IAC7E,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3E,IAAI,OAAO,IAAI,MAAM;QAAE,OAAO,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACpE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE;QACvC,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,oBAAoB,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ;QAC/D,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE;QAC/B,SAAS,EAAE,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS;KAC9E,CAAC,CAAC;IACH,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO;QAAE,OAAO,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;IAChE,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,IAQT,CAAC;IACd,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,EAAE,CAAC;IACtC,qFAAqF;IACrF,mFAAmF;IACnF,mFAAmF;IACnF,+CAA+C;IAC/C,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC9E,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,IAAI,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;IACnG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,QAAQ,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACrC,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACpD,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC;QAC9F,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,wCAAwC,CAAC,CAAC,CAAC;IAClF,CAAC;SAAM,IAAI,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,uEAAuE,CAAC,CAAC,CAAC;IACtG,CAAC;SAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;IACvG,CAAC;SAAM,IAAI,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC1B,IAAI,CAAC,EAAE,CAAC,GAAG,CACT,OAAO,CAAC,KAAK,CACX,GAAG,QAAQ,CAAC,MAAM,mGAAmG,CACtH,CACF,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,MAAM,2CAA2C,CAAC,CAAC,CAAC;IAC5F,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,iFAAiF;AACjF,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAe,EAAE,OAA0B;IACxE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/D,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,IAAI,EAAE,0BAA0B,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAClF,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3D,IAAI,OAAO,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE;QACvC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,oBAAoB,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY;QACjE,IAAI,EAAE,EAAE,GAAG,EAAE;KACd,CAAC,CAAC;IACH,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO;QAAE,OAAO,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;IAChE,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,IAA0D,CAAC;IACjF,IAAI,IAAI,CAAC,IAAI;QAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;;QACrC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,UAAU,IAAI,EAAE,OAAO,IAAI,CAAC,KAAK,IAAI,EAAE,OAAO,IAAI,GAAG,iBAAiB,CAAC,CAAC,CAAC;IAChH,OAAO,IAAI,CAAC,EAAE,CAAC;AACjB,CAAC;AAED,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF,MAAM,eAAe,GAAG,MAAM,CAAC;AAE/B,6GAA6G;AAC7G,SAAS,QAAQ,CAAC,IAAa;IAC7B,IAAI,CAAC;QACH,OAAO;YACL,GAAG,EAAE,mBAAmB,EAAE;YAC1B,OAAO,EAAE,WAAW;YACpB,IAAI;YACJ,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;SAC7E,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,eAAe,EAAE,CAAC;YACnC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC3D,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,uFAAuF;AACvF,KAAK,UAAU,GAAG,CAAC,IAAa,EAAE,IAA0C;IAC1E,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;QAChC,OAAO;IACT,CAAC;IACD,IAAI,CAAC;QACH,OAAO,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACpE,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;IAChC,CAAC;AACH,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,MAAM,KAAK,GAAG,OAAO;SAClB,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CACV,sIAAsI,CACvI,CAAC;IAEJ,KAAK;SACF,OAAO,CAAC,IAAI,CAAC;SACb,KAAK,CAAC,MAAM,CAAC;SACb,WAAW,CAAC,iCAAiC,CAAC;SAC9C,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;SAC3C,MAAM,CAAC,CAAC,OAA2B,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAEhF,KAAK;SACF,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CACV,0GAA0G,CAC3G;SACA,MAAM,CAAC,mBAAmB,EAAE,uCAAuC,EAAE,QAAQ,CAAC;SAC9E,MAAM,CAAC,mBAAmB,EAAE,8BAA8B,CAAC;SAC3D,MAAM,CAAC,YAAY,EAAE,kEAAkE,CAAC;SACxF,MAAM,CAAC,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;SAC/E,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;SAC3C,MAAM,CACL,CAAC,QAAgB,EAAE,OAA0F,EAAE,EAAE,CAC/G,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAClC,UAAU,CAAC,IAAI,EAAE;QACf,QAAQ;QACR,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,SAAS,EAAE,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC;KAC9D,CAAC,CACH,CACJ,CAAC;IAEJ,KAAK;SACF,OAAO,CAAC,qBAAqB,CAAC;SAC9B,WAAW,CACV,0KAA0K,CAC3K;SACA,MAAM,CAAC,YAAY,EAAE,+DAA+D,CAAC;SACrF,MAAM,CAAC,uBAAuB,EAAE,oEAAoE,CAAC;SACrG,MAAM,CAAC,oBAAoB,EAAE,iCAAiC,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;SACxF,MAAM,CAAC,YAAY,EAAE,qCAAqC,CAAC;SAC3D,MAAM,CAAC,kBAAkB,EAAE,qDAAqD,CAAC;SACjF,MAAM,CACL,WAAW,EACX,iKAAiK,CAClK;SACA,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;SAC3C,MAAM,CACL,CACE,EAAU,EACV,KAAe,EACf,OAQC,EACD,EAAE,CACF,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE;QAClC,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,OAAO,IAAI,MAAM;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACtF,OAAO,SAAS,CAAC,IAAI,EAAE;YACrB,EAAE;YACF,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,IAAI,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACxD,SAAS,EAAE,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC;YAC7D,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,GAAG,EAAE,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,OAAO,CAAC;SACvF,CAAC,CAAC;IACL,CAAC,CAAC,CACL,CAAC;IAEJ,KAAK;SACF,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CACV,uGAAuG,CACxG;SACA,MAAM,CACL,uBAAuB,EACvB,yNAAyN,CAC1N;SACA,MAAM,CACL,sBAAsB,EACtB,yQAAyQ,CAC1Q;SACA,MAAM,CAAC,gBAAgB,EAAE,yDAAyD,EAAE,QAAQ,CAAC;SAC7F,MAAM,CAAC,UAAU,EAAE,0BAA0B,CAAC;SAC9C,MAAM,CAAC,SAAS,EAAE,6CAA6C,CAAC;SAChE,MAAM,CAAC,oBAAoB,EAAE,cAAc,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;SACrE,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;SAC3C,MAAM,CACL,CACE,EAAU,EACV,OAQC,EACD,EAAE,CACF,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAClC,SAAS,CAAC,IAAI,EAAE;QACd,EAAE;QACF,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,IAAI,EAAE,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ;QAC/C,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,SAAS,EAAE,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC;KAC9D,CAAC,CACH,CACJ,CAAC;IAEJ,KAAK;SACF,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,oGAAoG,CAAC;SACjH,MAAM,CAAC,gBAAgB,EAAE,iEAAiE,CAAC;SAC3F,MAAM,CAAC,QAAQ,EAAE,8DAA8D,CAAC;SAChF,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;SAC3C,MAAM,CAAC,CAAC,EAAU,EAAE,OAA0D,EAAE,EAAE,CACjF,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAClC,SAAS,CAAC,IAAI,EAAE;QACd,EAAE;QACF,IAAI,EAAE,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC;QAC7F,IAAI,EAAE,OAAO,CAAC,IAAI;KACnB,CAAC,CACH,CACF,CAAC;IAEJ,KAAK;SACF,OAAO,CAAC,gBAAgB,CAAC;SACzB,WAAW,CAAC,0FAA0F,CAAC;SACvG,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;SAC3C,MAAM,CAAC,CAAC,EAAU,EAAE,OAA2B,EAAE,EAAE,CAClD,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CACnE,CAAC;IAEJ,KAAK;SACF,OAAO,CAAC,qBAAqB,CAAC;SAC9B,WAAW,CACV,mJAAmJ,CACpJ;SACA,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;QAC5C,kFAAkF;QAClF,6EAA6E;QAC7E,iFAAiF;SAChF,kBAAkB,EAAE;SACpB,MAAM,CAAC,CAAC,EAAU,EAAE,KAAe,EAAE,OAA2B,EAAE,EAAE,CACnE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE;QAClC,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,OAAO,IAAI,OAAO;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACxF,OAAO,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC,CAAC,CACH,CAAC;IAEJ,KAAK;SACF,OAAO,CAAC,YAAY,CAAC;SACrB,WAAW,CACV,8JAA8J,CAC/J;SACA,MAAM,CAAC,YAAY,EAAE,4CAA4C,CAAC;SAClE,MAAM,CAAC,oBAAoB,EAAE,iCAAiC,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;SACxF,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;SAC3C,MAAM,CAAC,CAAC,EAAsB,EAAE,OAA6D,EAAE,EAAE,CAChG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAClC,cAAc,CAAC,IAAI,EAAE;QACnB,EAAE;QACF,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS;KACtF,CAAC,CACH,CACF,CAAC;IAEJ,KAAK;SACF,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,8FAA8F,CAAC;SAC3G,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;SAC3C,MAAM,CAAC,CAAC,GAAa,EAAE,OAA2B,EAAE,EAAE,CACrD,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAC9D,CAAC;IAEJ,KAAK;SACF,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,0DAA0D,CAAC;SACvE,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;SAC3C,MAAM,CAAC,CAAC,EAAU,EAAE,OAA2B,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAEpH,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"cli-agent.js","sourceRoot":"","sources":["../src/cli-agent.ts"],"names":[],"mappings":"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"}