@maudecode/talaria-web 1.17.2 → 1.18.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 (387) hide show
  1. package/_release.json +8 -8
  2. package/dist/api/auth-raw.d.ts +1 -1
  3. package/dist/api/auth-raw.js +4 -4
  4. package/dist/api/auth-raw.js.map +1 -1
  5. package/dist/api/automation-raw.d.ts +6 -0
  6. package/dist/api/automation-raw.js +53 -6
  7. package/dist/api/automation-raw.js.map +1 -1
  8. package/dist/api/automation-router.d.ts +26 -1
  9. package/dist/api/automation-router.js +16 -2
  10. package/dist/api/automation-router.js.map +1 -1
  11. package/dist/api/chat-router.d.ts +649 -15
  12. package/dist/api/chat-router.js +52 -50
  13. package/dist/api/chat-router.js.map +1 -1
  14. package/dist/api/git-router.d.ts +35 -1
  15. package/dist/api/git-router.js +18 -19
  16. package/dist/api/git-router.js.map +1 -1
  17. package/dist/api/raw-routes.d.ts +8 -0
  18. package/dist/api/raw-routes.js +247 -36
  19. package/dist/api/raw-routes.js.map +1 -1
  20. package/dist/api/router.d.ts +10 -0
  21. package/dist/api/router.js +10 -8
  22. package/dist/api/router.js.map +1 -1
  23. package/dist/api/sessions-router.d.ts +1492 -115
  24. package/dist/api/sessions-router.js +134 -8
  25. package/dist/api/sessions-router.js.map +1 -1
  26. package/dist/api/settings-router.d.ts +31 -0
  27. package/dist/api/settings-router.js +8 -3
  28. package/dist/api/settings-router.js.map +1 -1
  29. package/dist/api/sse-routes.d.ts +5 -0
  30. package/dist/api/sse-routes.js +50 -3
  31. package/dist/api/sse-routes.js.map +1 -1
  32. package/dist/api/tools-raw.js +6 -23
  33. package/dist/api/tools-raw.js.map +1 -1
  34. package/dist/api/tools-router.d.ts +356 -15
  35. package/dist/api/tools-router.js +148 -19
  36. package/dist/api/tools-router.js.map +1 -1
  37. package/dist/app.js +35 -15
  38. package/dist/app.js.map +1 -1
  39. package/dist/auth/gate.js +5 -2
  40. package/dist/auth/gate.js.map +1 -1
  41. package/dist/auth/oidc.d.ts +5 -2
  42. package/dist/auth/oidc.js +8 -7
  43. package/dist/auth/oidc.js.map +1 -1
  44. package/dist/bin/talaria-web.js +1 -1
  45. package/dist/bin/talaria-web.js.map +1 -1
  46. package/dist/cli/dotenv.js +1 -0
  47. package/dist/cli/dotenv.js.map +1 -1
  48. package/dist/config/agent-config.js +3 -2
  49. package/dist/config/agent-config.js.map +1 -1
  50. package/dist/config.d.ts +2 -0
  51. package/dist/config.js +5 -1
  52. package/dist/config.js.map +1 -1
  53. package/dist/http/context.d.ts +17 -3
  54. package/dist/http/context.js +31 -4
  55. package/dist/http/context.js.map +1 -1
  56. package/dist/http/csp.d.ts +2 -1
  57. package/dist/http/csp.js +3 -2
  58. package/dist/http/csp.js.map +1 -1
  59. package/dist/profiles/profiles.d.ts +10 -0
  60. package/dist/profiles/profiles.js +40 -2
  61. package/dist/profiles/profiles.js.map +1 -1
  62. package/dist/providers/catalog.d.ts +6 -2
  63. package/dist/providers/catalog.js +30 -11
  64. package/dist/providers/catalog.js.map +1 -1
  65. package/dist/raster-image.d.ts +7 -0
  66. package/dist/raster-image.js +267 -0
  67. package/dist/raster-image.js.map +1 -0
  68. package/dist/redact.js +327 -40
  69. package/dist/redact.js.map +1 -1
  70. package/dist/runtime.js +89 -23
  71. package/dist/runtime.js.map +1 -1
  72. package/dist/server.js +5 -0
  73. package/dist/server.js.map +1 -1
  74. package/dist/sessions/background-tasks.d.ts +2 -9
  75. package/dist/sessions/background-tasks.js +2 -12
  76. package/dist/sessions/background-tasks.js.map +1 -1
  77. package/dist/sessions/cli-sessions.d.ts +15 -4
  78. package/dist/sessions/cli-sessions.js +120 -29
  79. package/dist/sessions/cli-sessions.js.map +1 -1
  80. package/dist/sessions/completions.d.ts +48 -8
  81. package/dist/sessions/completions.js +222 -26
  82. package/dist/sessions/completions.js.map +1 -1
  83. package/dist/sessions/export.d.ts +5 -0
  84. package/dist/sessions/export.js +30 -0
  85. package/dist/sessions/export.js.map +1 -1
  86. package/dist/sessions/gateway-watcher.d.ts +7 -3
  87. package/dist/sessions/gateway-watcher.js +31 -19
  88. package/dist/sessions/gateway-watcher.js.map +1 -1
  89. package/dist/sessions/handoff.d.ts +32 -0
  90. package/dist/sessions/handoff.js +114 -0
  91. package/dist/sessions/handoff.js.map +1 -0
  92. package/dist/sessions/list.d.ts +7 -1
  93. package/dist/sessions/list.js +13 -5
  94. package/dist/sessions/list.js.map +1 -1
  95. package/dist/sessions/merge.d.ts +2 -4
  96. package/dist/sessions/merge.js +8 -15
  97. package/dist/sessions/merge.js.map +1 -1
  98. package/dist/sessions/recovery.d.ts +22 -0
  99. package/dist/sessions/recovery.js +506 -0
  100. package/dist/sessions/recovery.js.map +1 -0
  101. package/dist/sessions/relay.d.ts +21 -2
  102. package/dist/sessions/relay.js +156 -11
  103. package/dist/sessions/relay.js.map +1 -1
  104. package/dist/sessions/service.d.ts +108 -6
  105. package/dist/sessions/service.js +403 -29
  106. package/dist/sessions/service.js.map +1 -1
  107. package/dist/sessions/session.d.ts +6 -0
  108. package/dist/sessions/session.js +40 -2
  109. package/dist/sessions/session.js.map +1 -1
  110. package/dist/sessions/state-db-worker.d.ts +1 -0
  111. package/dist/sessions/state-db-worker.js +33 -0
  112. package/dist/sessions/state-db-worker.js.map +1 -0
  113. package/dist/sessions/state-db.d.ts +61 -0
  114. package/dist/sessions/state-db.js +291 -0
  115. package/dist/sessions/state-db.js.map +1 -1
  116. package/dist/sessions/store.d.ts +7 -0
  117. package/dist/sessions/store.js +31 -22
  118. package/dist/sessions/store.js.map +1 -1
  119. package/dist/sessions/titles.d.ts +2 -0
  120. package/dist/sessions/titles.js +4 -0
  121. package/dist/sessions/titles.js.map +1 -1
  122. package/dist/sessions/tool-display.d.ts +3 -3
  123. package/dist/sessions/tool-display.js +11 -37
  124. package/dist/sessions/tool-display.js.map +1 -1
  125. package/dist/sessions/turn-context.d.ts +1 -1
  126. package/dist/sessions/turn-context.js +11 -7
  127. package/dist/sessions/turn-context.js.map +1 -1
  128. package/dist/sessions/turn.d.ts +37 -2
  129. package/dist/sessions/turn.js +182 -49
  130. package/dist/sessions/turn.js.map +1 -1
  131. package/dist/sessions/wakeup-pause.d.ts +59 -0
  132. package/dist/sessions/wakeup-pause.js +181 -0
  133. package/dist/sessions/wakeup-pause.js.map +1 -0
  134. package/dist/settings.js +5 -7
  135. package/dist/settings.js.map +1 -1
  136. package/dist/sidecar/fake.d.ts +2 -2
  137. package/dist/sidecar/fake.js.map +1 -1
  138. package/dist/startup.d.ts +13 -5
  139. package/dist/startup.js +48 -0
  140. package/dist/startup.js.map +1 -1
  141. package/dist/test/ts-worker-hooks.d.ts +1 -0
  142. package/dist/test/ts-worker-hooks.js +24 -0
  143. package/dist/test/ts-worker-hooks.js.map +1 -0
  144. package/dist/text/diff.d.ts +9 -14
  145. package/dist/text/diff.js +74 -108
  146. package/dist/text/diff.js.map +1 -1
  147. package/dist/tools/crons.js +45 -8
  148. package/dist/tools/crons.js.map +1 -1
  149. package/dist/tools/dashboard-plugins.d.ts +53 -0
  150. package/dist/tools/dashboard-plugins.js +188 -0
  151. package/dist/tools/dashboard-plugins.js.map +1 -0
  152. package/dist/tools/extensions.d.ts +13 -1
  153. package/dist/tools/extensions.js +132 -60
  154. package/dist/tools/extensions.js.map +1 -1
  155. package/dist/tools/health.d.ts +32 -0
  156. package/dist/tools/health.js +111 -19
  157. package/dist/tools/health.js.map +1 -1
  158. package/dist/tools/mcp.d.ts +13 -0
  159. package/dist/tools/mcp.js +88 -0
  160. package/dist/tools/mcp.js.map +1 -1
  161. package/dist/tools/project-os.d.ts +11 -0
  162. package/dist/tools/project-os.js +267 -0
  163. package/dist/tools/project-os.js.map +1 -0
  164. package/dist/tools/skills.d.ts +5 -1
  165. package/dist/tools/skills.js +5 -3
  166. package/dist/tools/skills.js.map +1 -1
  167. package/dist/tools/updates.d.ts +27 -9
  168. package/dist/tools/updates.js +163 -51
  169. package/dist/tools/updates.js.map +1 -1
  170. package/dist/tools/wiki.d.ts +68 -0
  171. package/dist/tools/wiki.js +413 -0
  172. package/dist/tools/wiki.js.map +1 -0
  173. package/dist/workspace/escape.d.ts +61 -0
  174. package/dist/workspace/escape.js +149 -0
  175. package/dist/workspace/escape.js.map +1 -0
  176. package/dist/workspace/extract.d.ts +22 -0
  177. package/dist/workspace/extract.js +308 -0
  178. package/dist/workspace/extract.js.map +1 -0
  179. package/dist/workspace/fs.d.ts +12 -0
  180. package/dist/workspace/fs.js +92 -23
  181. package/dist/workspace/fs.js.map +1 -1
  182. package/dist/workspace/git.d.ts +18 -0
  183. package/dist/workspace/git.js +38 -25
  184. package/dist/workspace/git.js.map +1 -1
  185. package/dist/workspace/media.d.ts +4 -4
  186. package/dist/workspace/media.js +16 -45
  187. package/dist/workspace/media.js.map +1 -1
  188. package/dist/workspace/rollback.d.ts +34 -20
  189. package/dist/workspace/rollback.js +171 -265
  190. package/dist/workspace/rollback.js.map +1 -1
  191. package/dist/workspace/unzip.js +4 -1
  192. package/dist/workspace/unzip.js.map +1 -1
  193. package/dist/workspace/upload.d.ts +7 -4
  194. package/dist/workspace/upload.js +5 -2
  195. package/dist/workspace/upload.js.map +1 -1
  196. package/dist/workspace/worktrees.d.ts +2 -1
  197. package/dist/workspace/worktrees.js +14 -15
  198. package/dist/workspace/worktrees.js.map +1 -1
  199. package/package.json +4 -2
  200. package/sidecar/agent_dependency.json +4 -4
  201. package/sidecar/scripts/replay_sidecar.py +24 -0
  202. package/sidecar/talaria_sidecar/__init__.py +1 -1
  203. package/sidecar/talaria_sidecar/home.py +13 -2
  204. package/sidecar/talaria_sidecar/methods/__init__.py +2 -2
  205. package/sidecar/talaria_sidecar/methods/aux.py +39 -5
  206. package/sidecar/talaria_sidecar/methods/chat.py +9 -5
  207. package/sidecar/talaria_sidecar/methods/checkpoints.py +89 -0
  208. package/sidecar/talaria_sidecar/methods/commands.py +81 -0
  209. package/sidecar/talaria_sidecar/methods/cron.py +29 -2
  210. package/sidecar/talaria_sidecar/methods/gateway.py +32 -15
  211. package/sidecar/talaria_sidecar/methods/kanban.py +28 -7
  212. package/sidecar/talaria_sidecar/methods/mcp.py +1 -1
  213. package/sidecar/talaria_sidecar/methods/process.py +58 -4
  214. package/sidecar/talaria_sidecar/methods/profiles.py +77 -7
  215. package/sidecar/talaria_sidecar/methods/providers.py +27 -8
  216. package/sidecar/talaria_sidecar/methods/state_db.py +39 -5
  217. package/sidecar/talaria_sidecar/runtime.py +17 -1
  218. package/static/dist/FILES.txt +127 -126
  219. package/static/dist/assets/AppShell-g3bkgnvt.js +1 -0
  220. package/static/dist/assets/ChatPage-oo7bdan6.js +25 -0
  221. package/static/dist/assets/Dialog-g355qxhp.js +1 -0
  222. package/static/dist/assets/ExtensionRoute-i2y9fvjm.js +1 -0
  223. package/static/dist/assets/HubRoute-lmkrbw47.js +2 -0
  224. package/static/dist/assets/{Markdown-mdwlvj3w.js → Markdown-j4kut4j2.js} +114 -114
  225. package/static/dist/assets/{RightPanel-ftvrjlcp.js → RightPanel-ohlsdzfl.js} +1 -1
  226. package/static/dist/assets/Select-kddq75qc.js +1 -0
  227. package/static/dist/assets/SessionListPanel-lu3oy0hw.js +1 -0
  228. package/static/dist/assets/{SettingsLayout-jonjefmj.js → SettingsLayout-o9bv4mgb.js} +1 -1
  229. package/static/dist/assets/{States-nmejrwrm.js → States-eq6fe29m.js} +1 -1
  230. package/static/dist/assets/Toaster-pc247u9f.js +1 -0
  231. package/static/dist/assets/{_app-gdidzd94.js → _app-f8n1i0m1.js} +1 -1
  232. package/static/dist/assets/{_app.ext._extensionId-opyh9y0v.js → _app.ext._extensionId-gfbzpoou.js} +1 -1
  233. package/static/dist/assets/_app.index-bzzv80hk.js +1 -0
  234. package/static/dist/assets/_app.insights-dzixbryi.js +1 -0
  235. package/static/dist/assets/_app.kanban-c6hep2us.js +1 -0
  236. package/static/dist/assets/_app.logs-i69qds98.js +1 -0
  237. package/static/dist/assets/_app.memory-kl4vf0gd.js +1 -0
  238. package/static/dist/assets/_app.profiles-b8zinmyp.js +1 -0
  239. package/static/dist/assets/{_app.session._sessionId-bfd4h3id.js → _app.session._sessionId-fn1bhde6.js} +1 -1
  240. package/static/dist/assets/_app.settings-cg8plwmf.js +1 -0
  241. package/static/dist/assets/_app.settings._section-bkwbi9zn.js +3 -0
  242. package/static/dist/assets/_app.skills-cs47sbvs.js +1 -0
  243. package/static/dist/assets/_app.tasks-dwvk64tc.js +1 -0
  244. package/static/dist/assets/_app.todos-c8xjm8p3.js +1 -0
  245. package/static/dist/assets/_app.workspaces-ehvd1gds.js +1 -0
  246. package/static/dist/assets/{abnfDiagram-VCTEODGH-b2x1lqot.js → abnfDiagram-VCTEODGH-c8kdixke.js} +1 -1
  247. package/static/dist/assets/architecture-7GRP2DOG-6crvnylg.js +1 -0
  248. package/static/dist/assets/{architectureDiagram-5GKGNRK7-h38o5l7b.js → architectureDiagram-5GKGNRK7-cku06x1p.js} +1 -1
  249. package/static/dist/assets/{back-bemaer09.js → back-h7aun7ew.js} +1 -1
  250. package/static/dist/assets/{blockDiagram-I7D4REHJ-bqquxv2u.js → blockDiagram-I7D4REHJ-jzthp1wa.js} +1 -1
  251. package/static/dist/assets/{c4Diagram-7LVT6UL2-f3fb8w6z.js → c4Diagram-7LVT6UL2-mwr67mt8.js} +1 -1
  252. package/static/dist/assets/{cancel-drd0g6d9.js → cancel-fhi0vcnu.js} +1 -1
  253. package/static/dist/assets/channel-b2zo73z1.js +1 -0
  254. package/static/dist/assets/{chunk-4HAMMTFA-bzfyyzp3.js → chunk-4HAMMTFA-gpq1y228.js} +1 -1
  255. package/static/dist/assets/{chunk-75Z2AOVW-ly99rfx5.js → chunk-75Z2AOVW-ktje58c4.js} +1 -1
  256. package/static/dist/assets/{chunk-DU6HZSFF-bg6ecfqf.js → chunk-DU6HZSFF-ofajdixh.js} +3 -3
  257. package/static/dist/assets/{chunk-F27PBJKO-e8k7mmqw.js → chunk-F27PBJKO-cmev85ti.js} +1 -1
  258. package/static/dist/assets/{chunk-GMAD6QVW-cmalnoaj.js → chunk-GMAD6QVW-htjgt22y.js} +1 -1
  259. package/static/dist/assets/{chunk-GVQU2GXP-gmif5o01.js → chunk-GVQU2GXP-qndvoxl7.js} +1 -1
  260. package/static/dist/assets/{chunk-IMKFNOWR-f1nwwh6u.js → chunk-IMKFNOWR-e5bkd5q6.js} +1 -1
  261. package/static/dist/assets/{chunk-L3NEJ4N5-oktfh5v7.js → chunk-L3NEJ4N5-mj1155r6.js} +1 -1
  262. package/static/dist/assets/{chunk-OSK3NFVY-b1sdx96z.js → chunk-OSK3NFVY-e7gkikcw.js} +1 -1
  263. package/static/dist/assets/{chunk-P2QGCYS3-fhu4nzxt.js → chunk-P2QGCYS3-f7t54xfm.js} +1 -1
  264. package/static/dist/assets/{chunk-POPQ4Y6H-em31rnef.js → chunk-POPQ4Y6H-i927v9oa.js} +1 -1
  265. package/static/dist/assets/{chunk-PWAF6VOD-bxhhyftw.js → chunk-PWAF6VOD-m84lmnyt.js} +1 -1
  266. package/static/dist/assets/{chunk-SHT3W25Y-fmrvwcav.js → chunk-SHT3W25Y-mi0tlcu9.js} +1 -1
  267. package/static/dist/assets/{chunk-SVP7TREG-lymukl2j.js → chunk-SVP7TREG-dnau702j.js} +1 -1
  268. package/static/dist/assets/{chunk-TICWLB2K-lmza6k23.js → chunk-TICWLB2K-edem1gkg.js} +1 -1
  269. package/static/dist/assets/classDiagram-ZZMXUADV-oe99st8x.js +1 -0
  270. package/static/dist/assets/classDiagram-v2-VYDZK3BY-oe99st8x.js +1 -0
  271. package/static/dist/assets/{copied-ima3pysb.js → copied-hcplv46p.js} +1 -1
  272. package/static/dist/assets/{copy-fw5b1pc6.js → copy-magtofyp.js} +1 -1
  273. package/static/dist/assets/{cynefin-OW5HDTMX-czlhbyhs.js → cynefin-OW5HDTMX-siqlulkl.js} +1 -1
  274. package/static/dist/assets/{cynefinDiagram-5FMLGOSQ-gq7mvswb.js → cynefinDiagram-5FMLGOSQ-i648tah9.js} +1 -1
  275. package/static/dist/assets/{dagre-GXQ25YYZ-cqdbf7dr.js → dagre-GXQ25YYZ-mwn6uc17.js} +1 -1
  276. package/static/dist/assets/{diagram-S7CK7UJ4-o6arxa58.js → diagram-S7CK7UJ4-l8abxaes.js} +1 -1
  277. package/static/dist/assets/{diagram-UQ7AKVKN-nhnd68tz.js → diagram-UQ7AKVKN-mekq7zgq.js} +1 -1
  278. package/static/dist/assets/{diagram-VSXAHHWV-dk2sclzn.js → diagram-VSXAHHWV-fnky6lvc.js} +1 -1
  279. package/static/dist/assets/{diagram-VX7I27RA-n3k5nyx3.js → diagram-VX7I27RA-xe6r5qfw.js} +1 -1
  280. package/static/dist/assets/{diagram-Z3DM3KII-m6q9cwdh.js → diagram-Z3DM3KII-nq07dg7k.js} +1 -1
  281. package/static/dist/assets/{ebnfDiagram-PWID7BFC-lsa5641p.js → ebnfDiagram-PWID7BFC-c62ipm3g.js} +1 -1
  282. package/static/dist/assets/endpoints-klbxod4t.js +64 -0
  283. package/static/dist/assets/{erDiagram-RLTQ6QDP-fo2ckbe6.js → erDiagram-RLTQ6QDP-h39kmnzy.js} +1 -1
  284. package/static/dist/assets/eventmodeling-NTZA5JFV-obfede4u.js +1 -0
  285. package/static/dist/assets/flowDiagram-HODETNUW-kdpsp1je.js +1 -0
  286. package/static/dist/assets/{ganttDiagram-EL5Y4UJY-nzqz6x9g.js → ganttDiagram-EL5Y4UJY-ngbsyp37.js} +1 -1
  287. package/static/dist/assets/{gitGraph-4MIJSDKK-gukvcxe6.js → gitGraph-4MIJSDKK-fr2i7caa.js} +1 -1
  288. package/static/dist/assets/{gitGraphDiagram-WWUBYQGX-lqhdp8f0.js → gitGraphDiagram-WWUBYQGX-eravdti4.js} +1 -1
  289. package/static/dist/assets/{highlighted-body-KPVGNVTW-igw6cp39.js → highlighted-body-KPVGNVTW-jwpop9p8.js} +1 -1
  290. package/static/dist/assets/host-i828xuo7.js +1 -0
  291. package/static/dist/assets/index-eh8zilnv.css +2 -0
  292. package/static/dist/assets/{index-cxq58xb1.js → index-r648f4o1.js} +5 -5
  293. package/static/dist/assets/{info-A6RAGUB7-gvu7a93l.js → info-A6RAGUB7-h11x0dxo.js} +1 -1
  294. package/static/dist/assets/{infoDiagram-27XIBGKW-m8t8g6w1.js → infoDiagram-27XIBGKW-dfh47dw9.js} +1 -1
  295. package/static/dist/assets/{ishikawaDiagram-5VMMS53U-l07vkbgj.js → ishikawaDiagram-5VMMS53U-i6ypq351.js} +1 -1
  296. package/static/dist/assets/{journeyDiagram-3NMN7TZE-hybkgj8l.js → journeyDiagram-3NMN7TZE-lduf1z95.js} +1 -1
  297. package/static/dist/assets/{kanban-definition-UXKFOSKX-by13uvtn.js → kanban-definition-UXKFOSKX-e18bu4pg.js} +1 -1
  298. package/static/dist/assets/{lazyRouteComponent-af0lvgjx.js → lazyRouteComponent-e1y4t2i9.js} +1 -1
  299. package/static/dist/assets/{line-osxq6fq7.js → line-meizqsvn.js} +1 -1
  300. package/static/dist/assets/{link-jyxicdhg.js → link-oot2yn73.js} +1 -1
  301. package/static/dist/assets/login-gu28l9ou.js +1 -0
  302. package/static/dist/assets/mermaid-HWGCJPDP-mtwrj8fn.js +1 -0
  303. package/static/dist/assets/{mermaid-parser.core-i91oxmou.js → mermaid-parser.core-ntne45i9.js} +3 -3
  304. package/static/dist/assets/{mindmap-definition-YA3MSWOX-m82mx8ww.js → mindmap-definition-YA3MSWOX-27b26eok.js} +1 -1
  305. package/static/dist/assets/onboarding-lkphzu1s.js +1 -0
  306. package/static/dist/assets/{onboarding_model_label-dp7xffoh.js → onboarding_model_label-ftpjdwqk.js} +1 -1
  307. package/static/dist/assets/{packet-AYTQ26CC-nbtgge2o.js → packet-AYTQ26CC-l6jdka8p.js} +1 -1
  308. package/static/dist/assets/{pegDiagram-XKGWAZYB-f1zxzga1.js → pegDiagram-XKGWAZYB-g1er3bxj.js} +1 -1
  309. package/static/dist/assets/{pie-WAS4IAKB-of8vuhxs.js → pie-WAS4IAKB-i0ylcrt9.js} +1 -1
  310. package/static/dist/assets/{pieDiagram-E7YTZNPT-o7y8ftio.js → pieDiagram-E7YTZNPT-fbz1e55z.js} +1 -1
  311. package/static/dist/assets/{quadrantDiagram-AXDQQJYC-iqiwia1t.js → quadrantDiagram-AXDQQJYC-hhue7d8o.js} +1 -1
  312. package/static/dist/assets/{radar-RG4KPBEZ-delnsy2v.js → radar-RG4KPBEZ-f9b70aa4.js} +1 -1
  313. package/static/dist/assets/{railroad-74A4TZTK-nspnyq9u.js → railroad-74A4TZTK-lgsuoeda.js} +1 -1
  314. package/static/dist/assets/railroad-abnf-HS5TGJTU-nf9d6pdx.js +1 -0
  315. package/static/dist/assets/railroad-ebnf-LZEXJU2U-f7ummkt5.js +1 -0
  316. package/static/dist/assets/railroad-peg-WCYAUIDC-oczq5tqs.js +1 -0
  317. package/static/dist/assets/{railroadDiagram-O6MQD6OU-z41tqx5z.js → railroadDiagram-O6MQD6OU-eqpy9fnz.js} +1 -1
  318. package/static/dist/assets/{refresh-b4uams1i.js → refresh-abtu93ke.js} +1 -1
  319. package/static/dist/assets/{refresh-cw-nt1dtsx4.js → refresh-cw-hlwb02qv.js} +1 -1
  320. package/static/dist/assets/{requirementDiagram-BXWQKSXE-bdvif194.js → requirementDiagram-BXWQKSXE-ogf6puhi.js} +1 -1
  321. package/static/dist/assets/{sankeyDiagram-P5KCCOFB-h73e0rol.js → sankeyDiagram-P5KCCOFB-fqb8xcjf.js} +1 -1
  322. package/static/dist/assets/{saved-kg52csy7.js → saved-girnabkf.js} +1 -1
  323. package/static/dist/assets/{sequenceDiagram-WJ2MYXX4-iv95mb1z.js → sequenceDiagram-WJ2MYXX4-dlcz6qjz.js} +1 -1
  324. package/static/dist/assets/{settings_section_extensions_title-ej0iapxe.js → settings_section_extensions_title-h14cwk6f.js} +1 -1
  325. package/static/dist/assets/share._token-kl0r7ido.js +2 -0
  326. package/static/dist/assets/{sliders-horizontal-fj18it47.js → sliders-horizontal-n1zm34qq.js} +1 -1
  327. package/static/dist/assets/sse-iwku0sjo.js +1 -0
  328. package/static/dist/assets/{stateDiagram-D77RDMKH-k417ixmf.js → stateDiagram-D77RDMKH-fyoznpcs.js} +1 -1
  329. package/static/dist/assets/stateDiagram-v2-MP3YSRHH-ixhx8r46.js +1 -0
  330. package/static/dist/assets/{swimlanes-42K2YHIH-esola70w.js → swimlanes-42K2YHIH-oefldhfy.js} +1 -1
  331. package/static/dist/assets/swimlanesDiagram-VR7AAH4N-h9ersk2e.js +8 -0
  332. package/static/dist/assets/{timeline-definition-24CTP7MA-getrz2y8.js → timeline-definition-24CTP7MA-b1vl2zil.js} +1 -1
  333. package/static/dist/assets/todoStore-jjr5yr78.js +1 -0
  334. package/static/dist/assets/{treeView-Q6P3EWNA-hc7ap1q7.js → treeView-Q6P3EWNA-f7hcci5o.js} +1 -1
  335. package/static/dist/assets/{treemap-WGGIJYW6-b7k1syy5.js → treemap-WGGIJYW6-nl85071a.js} +1 -1
  336. package/static/dist/assets/{tts-lxdxnmjd.js → units-kgxzxfhi.js} +1 -1
  337. package/static/dist/assets/{untitled-ovpfthg4.js → untitled-cikfjntn.js} +1 -1
  338. package/static/dist/assets/{useForm-bcblv1rx.js → useForm-kqoqg0k9.js} +1 -1
  339. package/static/dist/assets/useLocale-o59tbiea.js +1 -0
  340. package/static/dist/assets/{useParams-lhg566ew.js → useParams-b4dq6n4q.js} +1 -1
  341. package/static/dist/assets/{useSearch-lbrh6ejn.js → useSearch-ipfmv3he.js} +1 -1
  342. package/static/dist/assets/{vennDiagram-4TSXK5OY-n6pcy5qb.js → vennDiagram-4TSXK5OY-h5hzbk0n.js} +1 -1
  343. package/static/dist/assets/{wardley-WFR3VGLG-lpa18vz1.js → wardley-WFR3VGLG-jftvpm3e.js} +1 -1
  344. package/static/dist/assets/{wardleyDiagram-VM6X3IG4-kpclwwg7.js → wardleyDiagram-VM6X3IG4-hedh85ge.js} +1 -1
  345. package/static/dist/assets/{xychartDiagram-S5SC5T6Z-paa2n8y0.js → xychartDiagram-S5SC5T6Z-e49523ab.js} +1 -1
  346. package/static/dist/index.html +1 -1
  347. package/static/dist/sw.js +1 -1
  348. package/static/dist/assets/AppShell-fb2td9zi.js +0 -1
  349. package/static/dist/assets/ChatPage-cj96kiy9.js +0 -25
  350. package/static/dist/assets/Dialog-kxcg7ard.js +0 -1
  351. package/static/dist/assets/ExtensionRoute-jf7h0754.js +0 -1
  352. package/static/dist/assets/HubRoute-gmanpd5y.js +0 -2
  353. package/static/dist/assets/Select-bilaypej.js +0 -1
  354. package/static/dist/assets/SessionListPanel-og8n36qs.js +0 -1
  355. package/static/dist/assets/Toaster-nnl8zkt9.js +0 -1
  356. package/static/dist/assets/_app.index-hbarzbjx.js +0 -1
  357. package/static/dist/assets/_app.insights-luywlarz.js +0 -1
  358. package/static/dist/assets/_app.kanban-kincnbr8.js +0 -1
  359. package/static/dist/assets/_app.logs-oi2gr3gs.js +0 -1
  360. package/static/dist/assets/_app.memory-b6jfivt6.js +0 -1
  361. package/static/dist/assets/_app.profiles-lpvixmqp.js +0 -1
  362. package/static/dist/assets/_app.settings-vowx3iq0.js +0 -1
  363. package/static/dist/assets/_app.settings._section-cnntg1tu.js +0 -3
  364. package/static/dist/assets/_app.skills-fb57lpau.js +0 -1
  365. package/static/dist/assets/_app.tasks-eszpx1q7.js +0 -2
  366. package/static/dist/assets/_app.todos-nr05ac6w.js +0 -1
  367. package/static/dist/assets/_app.workspaces-d2luomu6.js +0 -1
  368. package/static/dist/assets/architecture-7GRP2DOG-hd0o7bde.js +0 -1
  369. package/static/dist/assets/channel-cpdgf867.js +0 -1
  370. package/static/dist/assets/classDiagram-ZZMXUADV-ko09sguk.js +0 -1
  371. package/static/dist/assets/classDiagram-v2-VYDZK3BY-ko09sguk.js +0 -1
  372. package/static/dist/assets/endpoints-d33siokx.js +0 -64
  373. package/static/dist/assets/eventmodeling-NTZA5JFV-emctlo64.js +0 -1
  374. package/static/dist/assets/flowDiagram-HODETNUW-bfi3moqa.js +0 -1
  375. package/static/dist/assets/index-hgtx08n5.css +0 -2
  376. package/static/dist/assets/login-ec21t39x.js +0 -1
  377. package/static/dist/assets/mermaid-HWGCJPDP-gfl8z3ep.js +0 -1
  378. package/static/dist/assets/onboarding-btnltvyz.js +0 -1
  379. package/static/dist/assets/railroad-abnf-HS5TGJTU-nst1qxyn.js +0 -1
  380. package/static/dist/assets/railroad-ebnf-LZEXJU2U-ci37x8qy.js +0 -1
  381. package/static/dist/assets/railroad-peg-WCYAUIDC-aimkk07z.js +0 -1
  382. package/static/dist/assets/share._token-f97e94r0.js +0 -2
  383. package/static/dist/assets/sse-fwpqtzbg.js +0 -1
  384. package/static/dist/assets/stateDiagram-v2-MP3YSRHH-hwn4apct.js +0 -1
  385. package/static/dist/assets/swimlanesDiagram-VR7AAH4N-d1h97oyg.js +0 -8
  386. package/static/dist/assets/todoStore-eginf9h4.js +0 -1
  387. package/static/dist/assets/useLocale-fi5jb8ma.js +0 -1
@@ -2,7 +2,9 @@
2
2
  * Talaria Relay: publisher pairing, profile enrollment, browser presence
3
3
  * leases, and the best-effort snapshot publisher (Python
4
4
  * `api/talaria_relay.py`). Snapshots are Ed25519-signed complete states per
5
- * enrolled profile; failures back off and never block a turn.
5
+ * enrolled profile; failures back off and never block a turn. Each session that
6
+ * first appears in an enrolled profile is announced once with a signed
7
+ * session-started event (contracts/fixtures/publisher-session-started.json).
6
8
  */
7
9
  import { readCapped } from '../http/capped.js';
8
10
  import { createHash, createPrivateKey, generateKeyPairSync, randomUUID, sign as cryptoSign } from 'node:crypto';
@@ -11,11 +13,15 @@ import { dirname, join } from 'node:path';
11
13
  import { atomicWriteText } from '../fs/atomic.js';
12
14
  import { str } from '../util.js';
13
15
  export const PRESENCE_LEASE_SECONDS = 90;
14
- const PRESENCE_MAX_LEASES = 256;
16
+ export const PRESENCE_MAX_LEASES = 256;
17
+ /** How long a tab's sequence fence outlives its lease, so a reloaded tab whose clock moved back recovers. */
18
+ export const PRESENCE_FENCE_SECONDS = 15 * 60;
15
19
  const PRESENCE_TAB_RE = /^[A-Za-z0-9_-]{8,64}$/;
16
20
  const DEFAULT_RELAY_URL = 'https://relay.talaria.kil.dev';
17
21
  const TERMINAL_RETENTION_S = 15 * 60;
18
22
  const REQUEST_TIMEOUT_MS = 10_000;
23
+ // Sessions started longer ago than this are never announced, which bounds the started ledger.
24
+ const STARTED_WINDOW_MS = 24 * 60 * 60 * 1000;
19
25
  const b64u = (data) => data.toString('base64url');
20
26
  export class RelayPairingError extends Error {
21
27
  status;
@@ -108,21 +114,23 @@ function signedHeaders(key, keyId, method, path, body, now) {
108
114
  return { 'Content-Type': 'application/json', 'X-Talaria-Key-Id': keyId, 'X-Talaria-Timestamp': timestamp, 'X-Talaria-Nonce': nonce, 'X-Talaria-Signature': b64u(cryptoSign(null, Buffer.from(signed, 'utf8'), key)) };
109
115
  }
110
116
  // ── presence leases ───────────────────────────────────────────────────────
111
- /** Profile-scoped browser activity leases; a fresh active lease mutes alerts for that profile. */
117
+ /**
118
+ * Profile-scoped browser activity leases; a fresh active lease mutes alerts for that profile.
119
+ * Each tab's entry also fences its sequence number for PRESENCE_FENCE_SECONDS past lease expiry,
120
+ * so a delayed lower sequence stays rejected. At most PRESENCE_MAX_LEASES tabs are kept; the least
121
+ * recently updated tab is evicted first, which drops its fence too.
122
+ */
112
123
  export class PresenceLeases {
113
124
  now;
114
125
  leases = new Map();
115
126
  constructor(now) {
116
127
  this.now = now;
117
128
  }
118
- prune(now) {
119
- for (const [key, entry] of this.leases)
120
- if (entry.expires <= now)
121
- this.leases.delete(key);
122
- }
123
129
  apply(profile, tabId, seq, active) {
124
130
  const now = this.now();
125
- this.prune(now);
131
+ for (const [key, entry] of this.leases)
132
+ if (entry.expires + PRESENCE_FENCE_SECONDS <= now)
133
+ this.leases.delete(key);
126
134
  const key = `${profile}\n${tabId}`;
127
135
  const current = this.leases.get(key);
128
136
  if (current && seq <= current.seq)
@@ -135,9 +143,9 @@ export class PresenceLeases {
135
143
  renew(profile, tabId, seq = 1) { this.apply(profile, tabId, seq, true); }
136
144
  revoke(profile, tabId, seq = 1) { this.apply(profile, tabId, seq, false); }
137
145
  has(profile) {
138
- this.prune(this.now());
146
+ const now = this.now();
139
147
  for (const [key, entry] of this.leases)
140
- if (entry.active && key.startsWith(`${profile}\n`))
148
+ if (entry.active && entry.expires > now && key.startsWith(`${profile}\n`))
141
149
  return true;
142
150
  return false;
143
151
  }
@@ -165,6 +173,8 @@ export class RelayPublisher {
165
173
  deps;
166
174
  key;
167
175
  revisionPath;
176
+ startedPath;
177
+ startedUnsupportedLogged = false;
168
178
  lastRevision = 0;
169
179
  terminal = new Map();
170
180
  disabledProfiles = new Set();
@@ -182,6 +192,14 @@ export class RelayPublisher {
182
192
  this.deps = deps;
183
193
  this.key = loadKey(config.private_key_path);
184
194
  this.revisionPath = join(dirname(config.private_key_path), 'talaria-relay-revision');
195
+ this.startedPath = join(dirname(config.private_key_path), 'talaria-relay-started.json');
196
+ // Tracking starts now, before any session event can wake the first pass, so the chat that wakes it is announced.
197
+ try {
198
+ const ledger = this.loadStarted();
199
+ if (this.trackProfiles(ledger))
200
+ this.saveStarted(ledger);
201
+ }
202
+ catch { /* the first pass starts tracking instead */ }
185
203
  try {
186
204
  this.lastRevision = Number.parseInt(readFileSync(this.revisionPath, 'utf8'), 10) || 0;
187
205
  }
@@ -277,6 +295,7 @@ export class RelayPublisher {
277
295
  const ready = new Map(this.views);
278
296
  await this.publishSnapshot(true);
279
297
  await this.flushViews(ready);
298
+ await this.publishStarted();
280
299
  if (this.failures)
281
300
  this.deps.log('[relay] Talaria relay snapshot recovered');
282
301
  this.failures = 0;
@@ -392,6 +411,132 @@ export class RelayPublisher {
392
411
  }
393
412
  throw new RelayPairingError('Talaria Relay profile enrollment is unavailable', 502);
394
413
  }
414
+ // The ledger is reread for every change, so a restarted or replacement publisher resends an unsent event under its ID.
415
+ loadStarted() {
416
+ const ledger = new Map();
417
+ let raw;
418
+ try {
419
+ raw = JSON.parse(readFileSync(this.startedPath, 'utf8'));
420
+ }
421
+ catch {
422
+ return ledger;
423
+ }
424
+ const profiles = raw?.profiles;
425
+ if (!Array.isArray(profiles))
426
+ return ledger;
427
+ for (const p of profiles) {
428
+ if (typeof p?.profileId !== 'string' || typeof p.floor !== 'number' || !Array.isArray(p.sessions))
429
+ continue;
430
+ const sessions = new Map();
431
+ for (const e of p.sessions) {
432
+ if (typeof e?.sessionId === 'string' && typeof e.startedAt === 'number')
433
+ sessions.set(e.sessionId, { startedAt: e.startedAt, sent: e.sent === true });
434
+ }
435
+ ledger.set(p.profileId, { floor: p.floor, sessions });
436
+ }
437
+ return ledger;
438
+ }
439
+ saveStarted(ledger) {
440
+ const profiles = [...ledger].map(([profileId, p]) => ({ profileId, floor: p.floor, sessions: [...p.sessions].map(([sessionId, e]) => ({ sessionId, startedAt: e.startedAt, sent: e.sent })) }));
441
+ atomicWriteText(this.startedPath, JSON.stringify({ version: 1, profiles }) + '\n');
442
+ }
443
+ /** Give each enrolled profile without a ledger entry a floor of now; true when the ledger changed. */
444
+ trackProfiles(ledger) {
445
+ const nowMs = Math.floor(this.deps.now() * 1000);
446
+ let changed = false;
447
+ for (const cfg of Object.values(this.config.profiles)) {
448
+ if (ledger.has(cfg.profile_id))
449
+ continue;
450
+ ledger.set(cfg.profile_id, { floor: nowMs, sessions: new Map() });
451
+ changed = true;
452
+ }
453
+ return changed;
454
+ }
455
+ /** Record every messageful Web or Agent session that started in an enrolled profile since tracking began. */
456
+ async observeStarted() {
457
+ // Agent rows come from the listing worker first, so the ledger's load-to-save stays synchronous.
458
+ const agentRows = new Map();
459
+ for (const [profile, cfg] of Object.entries(this.config.profiles)) {
460
+ if (!this.publishes(profile, cfg))
461
+ continue;
462
+ try {
463
+ agentRows.set(profile, await this.deps.agentSessions(profile));
464
+ }
465
+ catch {
466
+ agentRows.set(profile, []);
467
+ }
468
+ }
469
+ const ledger = this.loadStarted();
470
+ const nowMs = Math.floor(this.deps.now() * 1000);
471
+ let changed = this.trackProfiles(ledger);
472
+ let index = [];
473
+ try {
474
+ index = this.deps.store.readIndexEntries();
475
+ }
476
+ catch {
477
+ index = [];
478
+ }
479
+ for (const [profile, cfg] of Object.entries(this.config.profiles)) {
480
+ if (!this.publishes(profile, cfg))
481
+ continue;
482
+ const entry = ledger.get(cfg.profile_id);
483
+ const floor = Math.max(entry.floor, nowMs - STARTED_WINDOW_MS);
484
+ for (const [sid, e] of entry.sessions)
485
+ if (e.startedAt < floor) {
486
+ entry.sessions.delete(sid);
487
+ changed = true;
488
+ }
489
+ // A compressed Agent chat keeps its lineage root's id and start, so later segments are not new sessions.
490
+ const agent = agentRows.get(profile) ?? [];
491
+ const seen = [
492
+ ...index.filter((row) => Number(row.message_count) > 0 && this.deps.profilesMatch(row.profile, profile)).map((row) => [row.session_id, row.created_at]),
493
+ ...agent.map((row) => [row._lineage_root_id || row.id, row.started_at]),
494
+ ];
495
+ for (const [rawSid, created] of seen) {
496
+ const sid = str(rawSid).trim();
497
+ const startedAt = Math.floor(Number(created) * 1000);
498
+ if (!sid || sid.length > 191 || !Number.isSafeInteger(startedAt) || startedAt < floor || entry.sessions.has(sid))
499
+ continue;
500
+ entry.sessions.set(sid, { startedAt, sent: false });
501
+ changed = true;
502
+ }
503
+ }
504
+ if (changed)
505
+ this.saveStarted(ledger);
506
+ return ledger;
507
+ }
508
+ /** Announce each newly observed session once, oldest first, to the relay scope of the profile that owns it. */
509
+ async publishStarted() {
510
+ const ledger = await this.observeStarted();
511
+ for (const [profile, cfg] of Object.entries(this.config.profiles)) {
512
+ if (!this.publishes(profile, cfg))
513
+ continue;
514
+ const unsent = [...(ledger.get(cfg.profile_id)?.sessions ?? [])].filter(([, e]) => !e.sent).sort((a, b) => a[1].startedAt - b[1].startedAt);
515
+ for (const [sid, e] of unsent) {
516
+ const path = `/v1/publishers/${encodeURIComponent(this.config.publisher_id)}/profiles/${encodeURIComponent(cfg.profile_id)}/sessions/${encodeURIComponent(sid)}/started`;
517
+ const body = JSON.stringify({ version: 1, eventId: `started:${sid}`, publisherId: this.config.publisher_id, profileId: cfg.profile_id, sessionId: sid, startedAt: e.startedAt });
518
+ try {
519
+ await this.put(path, body);
520
+ }
521
+ catch (error) {
522
+ if (!(error instanceof RelayHttpError) || error.retryable)
523
+ throw error;
524
+ if (error.status !== 404)
525
+ this.deps.log(`[relay] Talaria relay rejected a session-started event (HTTP ${String(error.status)})`);
526
+ else if (!this.startedUnsupportedLogged) {
527
+ this.startedUnsupportedLogged = true;
528
+ this.deps.log('[relay] Talaria relay does not support session-started events (HTTP 404); devices refresh on their own schedule');
529
+ }
530
+ }
531
+ const latest = this.loadStarted();
532
+ const sent = latest.get(cfg.profile_id)?.sessions.get(sid);
533
+ if (sent && !sent.sent) {
534
+ sent.sent = true;
535
+ this.saveStarted(latest);
536
+ }
537
+ }
538
+ }
539
+ }
395
540
  async publishProfileSnapshot(profile, profileId) {
396
541
  const states = this.buildStates(profile);
397
542
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"relay.js","sourceRoot":"","sources":["../../src/sessions/relay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relay.js","sourceRoot":"","sources":["../../src/sessions/relay.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,UAAU,EAAE,IAAI,IAAI,UAAU,EAAkB,MAAM,aAAa,CAAA;AAC/H,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAC7D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAIjD,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAEhC,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAA;AACxC,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAA;AACtC,6GAA6G;AAC7G,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,GAAG,EAAE,CAAA;AAC7C,MAAM,eAAe,GAAG,uBAAuB,CAAA;AAC/C,MAAM,iBAAiB,GAAG,+BAA+B,CAAA;AACzD,MAAM,oBAAoB,GAAG,EAAE,GAAG,EAAE,CAAA;AACpC,MAAM,kBAAkB,GAAG,MAAM,CAAA;AACjC,8FAA8F;AAC9F,MAAM,iBAAiB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;AAC7C,MAAM,IAAI,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;AAEjE,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IACJ;IAAtC,YAAY,OAAe,EAAW,MAAc;QAAI,KAAK,CAAC,OAAO,CAAC,CAAA;QAAhC,WAAM,GAAN,MAAM,CAAQ;IAAmB,CAAC;CACzE;AAED,MAAM,cAAe,SAAQ,KAAK;IAEX;IADZ,SAAS,CAAS;IAC3B,YAAqB,MAAc;QACjC,KAAK,CAAC,+BAA+B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QADnC,WAAM,GAAN,MAAM,CAAQ;QAEjC,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,GAAG,CAAA;IACpE,CAAC;CACF;AAKD,2GAA2G;AAC3G,MAAM,UAAU,eAAe,CAAC,GAAW,EAAE,SAAS,GAAG,KAAK;IAC5D,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IAC5C,IAAI,CAAM,CAAA;IACV,IAAI,CAAC;QAAC,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAA;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,MAAM,IAAI,KAAK,CAAC,oBAAoB,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,SAAS,CAAC,CAAA;IAAC,CAAC;IAClH,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IAC5D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,QAAQ,KAAK,GAAG,IAAI,CAAC,CAAC,QAAQ,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1L,MAAM,IAAI,KAAK,CAAC,oBAAoB,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,SAAS,CAAC,CAAA;IAC/E,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,QAAgB,IAAY,OAAO,IAAI,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAA,CAAC,CAAC;AAExG,6HAA6H;AAC7H,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,MAAM,IAAI,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAA;IACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAA;IAClC,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAA;IAC9D,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;IACjI,MAAM,CAAC,GAAG,MAAiC,CAAA;IAC3C,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAChC,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAA;IAC3B,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;IAC9J,MAAM,UAAU,GAAiC,EAAE,CAAA;IACnD,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAmC,CAAC,EAAE,CAAC;QAClF,MAAM,CAAC,GAAG,OAAyC,CAAA;QACnD,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;QACnM,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAA;IACvE,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,gBAAgB,EAAE,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAA;AACzL,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAgB,EAAE,MAAmB;IACnE,MAAM,OAAO,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,EAAE,QAAQ,EAAE,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAA;IAC/L,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACxC,eAAe,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;AACpF,CAAC;AAED,SAAS,cAAc,CAAC,QAAsC;IAC5D,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAE,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAA;AACnJ,CAAC;AAED,4GAA4G;AAC5G,MAAM,UAAU,eAAe,CAAC,WAAmB;IACjD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,2BAA2B,CAAC,CAAA;IAC3D,IAAI,QAAgB,CAAA;IACpB,IAAI,UAAU,CAAC,IAAI,CAAC;QAAE,QAAQ,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;SAC7D,CAAC;QACJ,QAAQ,GAAG,OAAO,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAA;QAClD,eAAe,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IACzD,CAAC;IACD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;IACnG,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,OAAO,CAAC,IAAY;IAC3B,MAAM,GAAG,GAAG,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAA;IAChD,IAAI,GAAG,CAAC,iBAAiB,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;IAChH,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,aAAa,CAAC,GAAc,EAAE,KAAa,EAAE,MAAc,EAAE,IAAY,EAAE,IAAY,EAAE,GAAiB;IACjH,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;IAC3C,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IAC5C,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACpH,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,iBAAiB,EAAE,KAAK,EAAE,qBAAqB,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAA;AACvN,CAAC;AAED,6EAA6E;AAE7E;;;;;GAKG;AACH,MAAM,OAAO,cAAc;IAEI;IADZ,MAAM,GAAG,IAAI,GAAG,EAA6D,CAAA;IAC9F,YAA6B,GAAiB;QAAjB,QAAG,GAAH,GAAG,CAAc;IAAG,CAAC;IAE1C,KAAK,CAAC,OAAe,EAAE,KAAa,EAAE,GAAW,EAAE,MAAe;QACxE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACtB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM;YAAE,IAAI,KAAK,CAAC,OAAO,GAAG,sBAAsB,IAAI,GAAG;gBAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAClH,MAAM,GAAG,GAAG,GAAG,OAAO,KAAK,KAAK,EAAE,CAAA;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACpC,IAAI,OAAO,IAAI,GAAG,IAAI,OAAO,CAAC,GAAG;YAAE,OAAM;QACzC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACvB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,mBAAmB;YAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAM,CAAC,CAAA;QACjG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,GAAG,sBAAsB,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAA;IAC9E,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,KAAa,EAAE,GAAG,GAAG,CAAC,IAAU,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA,CAAC,CAAC;IAC9F,MAAM,CAAC,OAAe,EAAE,KAAa,EAAE,GAAG,GAAG,CAAC,IAAU,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA,CAAC,CAAC;IAEhG,GAAG,CAAC,OAAe;QACjB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACtB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM;YAAE,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,GAAG,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,OAAO,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAA;QAC9H,OAAO,KAAK,CAAA;IACd,CAAC;IAED,gCAAgC;IAChC,MAAM,CAAC,IAAa,EAAE,OAAe;QACnC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,iBAAiB,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAA;QAC1H,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,IAA+B,CAAA;QACtE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,OAAO,MAAM,KAAK,SAAS,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;YAC9K,MAAM,IAAI,iBAAiB,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAA;QAC9D,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;QAC3B,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,iBAAiB,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAA;QAC5E,IAAI,MAAM;YAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;;YACnC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;QAClC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACzE,CAAC;CACF;AAuBD,4GAA4G;AAC5G,MAAM,OAAO,cAAc;IAkBJ;IAAsC;IAjB1C,GAAG,CAAW;IACd,YAAY,CAAQ;IACpB,WAAW,CAAQ;IAC5B,wBAAwB,GAAG,KAAK,CAAA;IAChC,YAAY,GAAG,CAAC,CAAA;IAChB,QAAQ,GAAG,IAAI,GAAG,EAAoE,CAAA;IAC7E,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAA;IACpC,KAAK,GAAG,IAAI,GAAG,EAAuD,CAAA;IAC/E,uBAAuB,GAAG,KAAK,CAAA;IAC/B,yBAAyB,GAAG,IAAI,CAAA;IAChC,OAAO,GAAG,KAAK,CAAA;IACf,IAAI,GAAyB,IAAI,CAAA;IACjC,KAAK,GAAG,KAAK,CAAA;IACb,IAAI,GAAwB,IAAI,CAAA;IAChC,KAAK,GAA0B,IAAI,CAAA;IACnC,QAAQ,GAAG,CAAC,CAAA;IAEpB,YAAqB,MAAmB,EAAmB,IAAwB;QAA9D,WAAM,GAAN,MAAM,CAAa;QAAmB,SAAI,GAAJ,IAAI,CAAoB;QACjF,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;QAC3C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,wBAAwB,CAAC,CAAA;QACpF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,4BAA4B,CAAC,CAAA;QACvF,iHAAiH;QACjH,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;YACjC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;gBAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;QAC1D,CAAC;QAAC,MAAM,CAAC,CAAC,4CAA4C,CAAC,CAAC;QACxD,IAAI,CAAC;YAAC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAA;QAAC,CAAC;IAC/H,CAAC;IAED,gHAAgH;IAChH,OAAO,CAAC,QAAwB;QAC9B,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ;YAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QACvE,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACnE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAA;IACxE,CAAC;IAED,KAAK,CAAC,cAAc,GAAG,IAAI;QACzB,IAAI,IAAI,CAAC,IAAI;YAAE,OAAM;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACtB,IAAI,cAAc;YAAE,IAAI,CAAC,OAAO,EAAE,CAAA;IACpC,CAAC;IAED,IAAI;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACnB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;QAAC,CAAC;QAC/D,IAAI,CAAC,IAAI,EAAE,EAAE,CAAA;IACf,CAAC;IAED,OAAO;QACL,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;QACjB,IAAI,CAAC,IAAI,EAAE,EAAE,CAAA;IACf,CAAC;IAED,YAAY,CAAC,QAAgB,EAAE,KAAa;QAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACvD,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,IAAI,EAAE,CAAA;QACvC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG;YAAE,OAAM;QACxB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACpF,IAAI,CAAC,OAAO,EAAE,CAAA;IAChB,CAAC;IAED,kHAAkH;IAClH,UAAU,CAAC,GAAW,EAAE,OAAsB;QAC5C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,CAAA;QAC7E,IAAI,CAAC,OAAO,EAAE,CAAA;IAChB,CAAC;IAED,mHAAmH;IAC3G,KAAK,CAAC,UAAU,CAAC,KAA+D;QACtF,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC;YAChC,KAAK,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC;oBAAE,SAAQ;gBAC9F,MAAM,IAAI,GAAG,kBAAkB,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,aAAa,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,aAAa,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAA;gBACvK,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;gBACjE,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,CAAC,KAAK,YAAY,cAAc,CAAC,IAAI,KAAK,CAAC,SAAS;wBAAE,MAAM,KAAK,CAAA;oBACtE,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC;wBAC1D,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAA;wBACnC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,oHAAoH,CAAC,CAAA;oBACrI,CAAC;yBAAM,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG;wBAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iEAAiE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;gBAC1I,CAAC;YACH,CAAC;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI;gBAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAC1D,CAAC;IACH,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAA;QACvF,OAAO,IAAI,CAAC,YAAY,CAAA;IAC1B,CAAC;IAEO,KAAK,CAAC,OAAe;QAC3B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,IAAI,GAAG,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,KAAK;gBAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,EAAE,CAAA,CAAC,CAAC,CAAA;YAC9G,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,EAAE,CAAA,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC,CAAA;YACjG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;QACpB,CAAC,CAAC,CAAA;IACJ,CAAC;IAEO,KAAK,CAAC,GAAG;QACf,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YACrC,IAAI,IAAI,CAAC,OAAO;gBAAE,OAAM;YACxB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;YAClB,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBACjC,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;gBAChC,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;gBAC5B,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;gBAC3B,IAAI,IAAI,CAAC,QAAQ;oBAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAA;gBAC5E,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAA;YACnB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,cAAc,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;oBACxD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,gEAAgE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;oBACrG,OAAM;gBACR,CAAC;gBACD,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAA;gBAClB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,CAAA;gBAClG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,kCAAkC,IAAI,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,KAAM,KAAe,CAAC,OAAO,kBAAkB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;gBACnK,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;gBACvB,IAAI,CAAC,IAAI,CAAC,OAAO;oBAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;YACtC,CAAC;QACH,CAAC;IACH,CAAC;IAED,uGAAuG;IACvG,WAAW,CAAC,OAAe;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,oBAAoB,CAAA;QACrD,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ;YAAE,IAAI,GAAG,CAAC,WAAW,GAAG,MAAM;gBAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAC/F,MAAM,SAAS,GAAG,IAAI,GAAG,EAAsE,CAAA;QAC/F,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;YACzD,IAAK,GAAiC,CAAC,WAAW;gBAAE,SAAQ;YAC5D,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAA;YACjC,IAAI,CAAC,GAAG;gBAAE,SAAQ;YAClB,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAClC,IAAI,CAAC,OAAO,IAAI,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU;gBAAE,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QAC9E,CAAC;QACD,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QACxF,MAAM,aAAa,GAAG,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAC9F,MAAM,MAAM,GAAiB,EAAE,CAAA;QAC/B,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,SAAS,EAAE,CAAC;YACnC,IAAI,OAAO,CAAA;YACX,IAAI,CAAC;gBAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAA;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,SAAQ;YAAC,CAAC;YACrF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC;gBAAE,SAAQ;YAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAA;YACpC,IAAI,KAAK,GAAG,GAAG,CAAC,WAAW,IAAI,SAAS,CAAA;YACxC,IAAI,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,OAAO;gBAAE,KAAK,GAAG,sBAAsB,CAAA;YAC3I,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,OAAO;gBAAE,KAAK,GAAG,mBAAmB,CAAA;YACrG,IAAI,KAAK,KAAK,SAAS,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAAE,KAAK,GAAG,UAAU,CAAA;YAC7E,qHAAqH;YACrH,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAA;YACzE,MAAM,KAAK,GAAe,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,SAAS,IAAI,IAAI,EAAE,OAAO,EAAE,YAAY,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,kBAAkB,CAAC,GAAG,CAAC,EAAE,EAAE,CAAA;YAC/P,IAAI,CAAC,aAAa;gBAAE,KAAK,CAAC,aAAa,GAAG,KAAK,CAAA;YAC/C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACpB,CAAC;QACD,IAAI,MAAM,CAAC,MAAM;YAAE,eAAe,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QACvF,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,gBAAgB,GAAG,KAAK;QAC5C,IAAI,SAAS,GAA0B,IAAI,CAAA;QAC3C,KAAK,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC;gBAAE,SAAQ;YAC3C,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC,CAAA;YAC5D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,CAAC,KAAK,YAAY,cAAc,CAAC,IAAI,CAAC,gBAAgB;oBAAE,MAAM,KAAK,CAAA;gBACxE,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;oBAAC,SAAS,KAAK,KAAK,CAAC;oBAAC,SAAQ;gBAAC,CAAC;gBACtD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;gBACzC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,+DAA+D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YACtG,CAAC;QACH,CAAC;QACD,IAAI,SAAS;YAAE,MAAM,SAAS,CAAA;IAChC,CAAC;IAEO,SAAS,CAAC,OAAe,EAAE,GAAiB;QAClD,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACjB,IAAI,CAAC;gBAAC,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,QAAQ;oBAAE,OAAO,KAAK,CAAA;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,OAAO,KAAK,CAAA;YAAC,CAAC;QACnH,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACnD,CAAC;IAED,oFAAoF;IACpF,KAAK,CAAC,cAAc,CAAC,SAAiB,EAAE,gBAAwB;QAC9D,KAAK,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClE,IAAI,GAAG,CAAC,UAAU,KAAK,SAAS;gBAAE,SAAQ;YAC1C,IAAI,GAAG,CAAC,QAAQ,KAAK,gBAAgB,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,gBAAgB;gBAAE,MAAM,IAAI,iBAAiB,CAAC,gDAAgD,EAAE,GAAG,CAAC,CAAA;YACjM,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;YACrD,OAAM;QACR,CAAC;QACD,MAAM,IAAI,iBAAiB,CAAC,iDAAiD,EAAE,GAAG,CAAC,CAAA;IACrF,CAAC;IAED,uHAAuH;IAC/G,WAAW;QACjB,MAAM,MAAM,GAAkB,IAAI,GAAG,EAAE,CAAA;QACvC,IAAI,GAAY,CAAA;QAChB,IAAI,CAAC;YAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAA;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,MAAM,CAAA;QAAC,CAAC;QACxF,MAAM,QAAQ,GAAI,GAAqC,EAAE,QAAQ,CAAA;QACjE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YAAE,OAAO,MAAM,CAAA;QAC3C,KAAK,MAAM,CAAC,IAAI,QAA0E,EAAE,CAAC;YAC3F,IAAI,OAAO,CAAC,EAAE,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAAE,SAAQ;YAC3G,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAgD,CAAA;YACxE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAA0E,EAAE,CAAC;gBAC7F,IAAI,OAAO,CAAC,EAAE,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ;oBAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC,CAAA;YACvJ,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;QACvD,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAEO,WAAW,CAAC,MAAqB;QACvC,MAAM,QAAQ,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAC/L,eAAe,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,CAAA;IACpF,CAAC;IAED,sGAAsG;IAC9F,aAAa,CAAC,MAAqB;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;QAChD,IAAI,OAAO,GAAG,KAAK,CAAA;QACnB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtD,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC;gBAAE,SAAQ;YACxC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC,CAAA;YACjE,OAAO,GAAG,IAAI,CAAA;QAChB,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,6GAA6G;IACrG,KAAK,CAAC,cAAc;QAC1B,iGAAiG;QACjG,MAAM,SAAS,GAAG,IAAI,GAAG,EAAqC,CAAA;QAC9D,KAAK,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC;gBAAE,SAAQ;YAC3C,IAAI,CAAC;gBAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAA;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;YAAC,CAAC;QAC7G,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;QAChD,IAAI,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QACxC,IAAI,KAAK,GAA8B,EAAE,CAAA;QACzC,IAAI,CAAC;YAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAA;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,KAAK,GAAG,EAAE,CAAA;QAAC,CAAC;QACvE,KAAK,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC;gBAAE,SAAQ;YAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAE,CAAA;YACzC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,iBAAiB,CAAC,CAAA;YAC9D,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,QAAQ;gBAAE,IAAI,CAAC,CAAC,SAAS,GAAG,KAAK,EAAE,CAAC;oBAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAAC,OAAO,GAAG,IAAI,CAAA;gBAAC,CAAC;YAC9G,yGAAyG;YACzG,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;YAC1C,MAAM,IAAI,GAAG;gBACX,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAoC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;gBACpL,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,gBAAgB,IAAI,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;aACxE,CAAA;YACD,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;gBACrC,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;gBAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;gBACpD,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;oBAAE,SAAQ;gBAC1H,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;gBACnD,OAAO,GAAG,IAAI,CAAA;YAChB,CAAC;QACH,CAAC;QACD,IAAI,OAAO;YAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;QACrC,OAAO,MAAM,CAAA;IACf,CAAC;IAED,+GAA+G;IAC/G,KAAK,CAAC,cAAc;QAClB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;QAC1C,KAAK,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC;gBAAE,SAAQ;YAC3C,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;YAC3I,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC;gBAC9B,MAAM,IAAI,GAAG,kBAAkB,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,aAAa,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,aAAa,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAA;gBACxK,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,GAAG,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,EAAE,GAAG,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAA;gBAChL,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;gBAC5B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,CAAC,KAAK,YAAY,cAAc,CAAC,IAAI,KAAK,CAAC,SAAS;wBAAE,MAAM,KAAK,CAAA;oBACtE,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG;wBAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,gEAAgE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;yBAC3H,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;wBACxC,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAA;wBACpC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iHAAiH,CAAC,CAAA;oBAClI,CAAC;gBACH,CAAC;gBACD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;gBACjC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAC1D,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;oBAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;oBAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;gBAAC,CAAC;YACxE,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,OAAe,EAAE,SAAiB;QACrE,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;QACxC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,CAAC,KAAK,YAAY,cAAc,CAAC,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,IAAI,CAAC,CAAC;gBAAE,MAAM,KAAK,CAAA;YACnH,iGAAiG;YACjG,KAAK,MAAM,KAAK,IAAI,MAAM;gBAAE,OAAO,KAAK,CAAC,aAAa,CAAA;YACtD,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;YACzC,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAA;YACtC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,sDAAsD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,6CAA6C,CAAC,CAAA;QACxI,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,SAAiB,EAAE,MAAoB;QAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,SAAS,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;QAC9F,MAAM,IAAI,CAAC,GAAG,CAAC,kBAAkB,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,aAAa,kBAAkB,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;IAC3I,CAAC;IAEO,KAAK,CAAC,GAAG,CAAC,IAAY,EAAE,IAAY;QAC1C,IAAI,GAAa,CAAA;QACjB,IAAI,CAAC;YACH,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAA;QACzN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,kCAAmC,KAAe,CAAC,OAAO,EAAE,CAAC,CAAA;QAC/E,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,MAAM,IAAI,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACnD,CAAC;CACF;AAWD,+GAA+G;AAC/G,MAAM,OAAO,YAAY;IAQM;IAPpB,QAAQ,CAAgB;IACzB,SAAS,GAA0B,IAAI,CAAA;IACvC,SAAS,GAA0B,IAAI,CAAA;IACvC,WAAW,GAAwB,IAAI,CAAA;IACvC,OAAO,GAAqB,OAAO,CAAC,OAAO,EAAE,CAAA;IACpC,cAAc,GAAG,IAAI,GAAG,EAAU,CAAA;IAEnD,YAA6B,IAAsB;QAAtB,SAAI,GAAJ,IAAI,CAAkB;QAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;IAAC,CAAC;IAEtF,OAAO,KAA4B,OAAO,IAAI,CAAC,SAAS,CAAA,CAAC,CAAC;IAE1D,6GAA6G;IAC7G,KAAK;QACH,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAA;QAC/B,IAAI,SAAS,GAA0B,IAAI,CAAA;QAC3C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAClD,IAAI,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAA;YACzB,SAAS,GAAG,IAAI,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;YACjD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;YAC1B,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;YAC3B,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YACtB,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,SAAS,EAAE,IAAI,EAAE,CAAA;YACjB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;YACrB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;YACrB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,oEAAqE,KAAe,CAAC,OAAO,GAAG,CAAC,CAAA;YAC9G,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAED,IAAI;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAA;QAC/B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;QACrB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;QACrB,IAAI,CAAC,WAAW,EAAE,EAAE,CAAA;QACpB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;QACvB,QAAQ,EAAE,IAAI,EAAE,CAAA;IAClB,CAAC;IAEO,KAAK,CAAC,SAAyB,EAAE,QAA+B;QACtE,IAAI,CAAC,WAAW,EAAE,EAAE,CAAA;QACpB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,CAAA,CAAC,CAAC,CAAC,CAAA;QACvE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;QACrB,IAAI,QAAQ,EAAE,CAAC;YAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;QAAC,CAAC;IAChE,CAAC;IAED,6GAA6G;IAC7G,UAAU,CAAC,GAAW;QACpB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAA;QAClD,SAAS,EAAE,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAA;IACtF,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,GAAW,EAAE,OAAsB;QAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAA;QAClD,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAM;QACtD,2HAA2H;QAC3H,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC5B,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACpC,CAAC;IAED,2FAA2F;IAC3F,YAAY,CAAC,QAAgB,EAAE,KAAa;QAC1C,IAAI,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAM;QACjE,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAA;QAClD,SAAS,EAAE,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAA;QAChD,IAAI,OAAO,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IAC7E,CAAC;IAED,4GAA4G;IACpG,KAAK,CAAC,SAAS,CAAC,MAAmB,EAAE,QAAwD;QACnG,MAAM,SAAS,GAAG,IAAI,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAA;QAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,QAAQ;YAAE,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QACzC,IAAI,CAAC;YACH,IAAI,QAAQ;gBAAE,MAAM,SAAS,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;;gBAC9E,MAAM,SAAS,CAAC,eAAe,EAAE,CAAA;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;gBAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;YACvD,MAAM,IAAI,iBAAiB,CAAC,KAAK,YAAY,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,sDAAsD,EAAE,KAAK,YAAY,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QACnM,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QAC/B,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACtB,SAAS,CAAC,OAAO,EAAE,CAAA;IACrB,CAAC;IAED,gGAAgG;IAChG,IAAI,CAAC,IAAa,EAAE,OAAe,EAAE,QAAiB;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAA;QAC/E,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;QACzC,OAAO,GAAG,CAAA;IACZ,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,GAAW,EAAE,IAAY,EAAE,OAA+B,EAAE,MAAc;QAChG,IAAI,GAAa,CAAA;QACjB,IAAI,CAAC;YACH,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAA;QACxH,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,iBAAiB,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAA;QACnE,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,MAAM,IAAI,iBAAiB,CAAC,GAAG,MAAM,UAAU,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QACrI,IAAI,OAAgB,CAAA;QACpB,IAAI,CAAC;YAAC,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC;YAAC,IAAI,CAAC,GAAG;gBAAE,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;YAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,MAAM,IAAI,iBAAiB,CAAC,4CAA4C,EAAE,GAAG,CAAC,CAAA;QAAC,CAAC;QAClO,OAAO,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAE,OAAmC,CAAC,CAAC,CAAC,EAAE,CAAA;IACtH,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,IAAa,EAAE,UAAkB,EAAE,QAAiB;QAC7E,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,iBAAiB,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAA;QACzH,MAAM,CAAC,GAAG,IAA+B,CAAA;QACzC,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,aAAa,CAAA;QACtC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;YAAE,MAAM,IAAI,iBAAiB,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAA;QACrK,MAAM,UAAU,GAAG,CAAC,CAAC,oBAA8B,CAAA;QACnD,IAAI,QAAgB,CAAA;QACpB,IAAI,WAAmB,CAAA;QACvB,IAAI,CAAC;YACH,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC,SAAmB,EAAE,IAAI,CAAC,CAAA;YACvD,WAAW,GAAG,eAAe,CAAC,CAAC,CAAC,YAAsB,CAAC,CAAA;QACzD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,iBAAiB,CAAE,KAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QAC5D,CAAC;QACD,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,8BAA8B,IAAI,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAC9G,IAAI,QAAQ,KAAK,OAAO;YAAE,MAAM,IAAI,iBAAiB,CAAC,gCAAgC,EAAE,GAAG,CAAC,CAAA;QAC5F,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,GAAG,IAAK,KAAgB,CAAC,MAAM,GAAG,CAAC,IAAK,KAAgB,CAAC,MAAM,GAAG,EAAE;YAAE,MAAM,IAAI,iBAAiB,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAA;QACvL,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,CAAA;QACjC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,iBAAiB,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAA;QAC/E,IAAI,SAAiB,CAAA;QACrB,IAAI,QAAgB,CAAA;QACpB,IAAI,CAAC;YACH,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;YAC/C,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAA;QAC9D,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,iBAAiB,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAA;QACnE,CAAC;QACD,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACpD,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,QAAQ,CAAC,GAAG,KAAK,QAAQ,IAAI,QAAQ,CAAC,YAAY,KAAK,WAAW;gBAAE,MAAM,IAAI,iBAAiB,CAAC,uDAAuD,EAAE,GAAG,CAAC,CAAA;YACjK,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;YAC1C,MAAM,SAAS,GAAG,KAAK,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAA;YAC3G,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAA;YAC1E,MAAM,IAAI,GAAG,6BAA6B,CAAA;YAC1C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,GAAG,IAAI,EAAE,WAAW,EAAE,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,+CAA+C,CAAC,CAAA;YACrO,IAAI,OAAO,CAAC,eAAe,KAAK,CAAC,IAAI,OAAO,CAAC,WAAW,KAAK,WAAW,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS;gBAAE,MAAM,IAAI,iBAAiB,CAAC,4CAA4C,EAAE,GAAG,CAAC,CAAA;YAC3L,MAAM,MAAM,GAAgB,EAAE,GAAG,QAAQ,EAAE,QAAQ,EAAE,EAAE,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE,CAAA;YACjI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;YAC3C,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAA;YACrD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,CAAA;QAChD,CAAC;QACD,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,iBAAiB,CAAC,wFAAwF,EAAE,GAAG,CAAC,CAAA;QACzI,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAA;QAChE,MAAM,SAAS,GAAG,OAAO,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAA;QACzD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAE,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAmB,CAAC,CAAC,EAAE,WAAW,CAAC,CAAA;QACpG,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,+BAA+B,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,4CAA4C,CAAC,CAAA;QACjQ,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QAC3B,MAAM,eAAe,GAAG,OAAO,CAAC,WAAW,CAAA;QAC3C,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAA;QACvC,MAAM,SAAS,GAAG,OAAO,CAAC,kBAAkB,CAAA;QAC5C,IAAI,OAAO,CAAC,eAAe,KAAK,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,OAAO,eAAe,KAAK,QAAQ,IAAI,OAAO,aAAa,KAAK,QAAQ,IAAI,CAAC,aAAa,IAAI,OAAO,SAAS,KAAK,SAAS,IAAI,CAAC,aAAa,KAAK,SAAS,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACxP,MAAM,IAAI,iBAAiB,CAAC,4CAA4C,EAAE,GAAG,CAAC,CAAA;QAChF,CAAC;QACD,IAAI,cAAsB,CAAA;QAC1B,IAAI,CAAC;YAAC,cAAc,GAAG,eAAe,CAAC,eAAe,CAAC,CAAA;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,MAAM,IAAI,iBAAiB,CAAC,4CAA4C,EAAE,GAAG,CAAC,CAAA;QAAC,CAAC;QAClJ,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,2BAA2B,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAA;QAChJ,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAClD,eAAe,CAAC,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QACzG,MAAM,MAAM,GAAgB,EAAE,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,EAAE,EAAE,CAAA;QACzL,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QAC3C,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,CAAA;QACpE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,cAAc,EAAE,CAAA;IACnD,CAAC;CACF"}
@@ -3,7 +3,7 @@
3
3
  * detail payload, list and search, and every mutation with its guards.
4
4
  * Runtime concerns owned by other domains arrive through `SessionServiceDeps`.
5
5
  */
6
- import type { PendingSteer } from '@maudecode/talaria-web-contracts';
6
+ import type { PendingSteer, RecoveryAudit, RecoveryRepair } from '@maudecode/talaria-web-contracts';
7
7
  import type { RunJournal } from './journal.js';
8
8
  import type { DraftStore } from './drafts.js';
9
9
  import type { SessionEventBus } from './events.js';
@@ -32,6 +32,8 @@ export declare class HttpFailure extends Error {
32
32
  */
33
33
  export declare function ensureAgentRuntimeCurrent(sidecar: SidecarLike | null): Promise<void>;
34
34
  export interface SessionServiceDeps {
35
+ /** TAL-259: epoch seconds of the state directory's `recovery_stamping_since` marker. */
36
+ recoveryStampingSince: () => number;
35
37
  /** TAL-255: the Agent sidecar for manual compression (`chat.compress`); null while it is down. */
36
38
  sidecar?: () => SidecarLike | null;
37
39
  /** Detached sidecar work for a profile: deletion waits for the returned release, so the home outlives the work. */
@@ -75,8 +77,10 @@ export interface SessionServiceDeps {
75
77
  journal?: RunJournal;
76
78
  hermesHome: string;
77
79
  home: string;
78
- /** Sync title-only metadata to state.db when `sync_to_insights` is on. */
79
- syncTitle: (session: Session) => Promise<void>;
80
+ /** Sync title-only metadata to state.db when `sync_to_insights` is on; `manual` marks a user-requested title (rename or regenerate). */
81
+ syncTitle: (session: Session, manual?: boolean) => Promise<void>;
82
+ /** TAL-591: the background title job for a CLI session a mutation just claimed (Python `import_cli` queued one). */
83
+ titleClaimed?: (session: Session) => void;
80
84
  /** Context length lookup for a model (checkpoint 7 wires the catalog). */
81
85
  contextLengthFor: (model: string | null, provider: string | null) => number | null;
82
86
  /** TAL-301: the catalog entry id a stored `(model, provider)` pair selects (null when none or not yet known). */
@@ -99,6 +103,13 @@ export interface SessionServiceDeps {
99
103
  /** `truncated`: source kinds whose rows stopped at the per-kind window on this read (TAL-482). */
100
104
  cliSessions: (profile: string, opts: {
101
105
  sourceFilter: string | null;
106
+ }) => Promise<{
107
+ rows: Row[];
108
+ truncated: ReadonlySet<string>;
109
+ }>;
110
+ /** `cliSessions` read on this thread, for the synchronous single-session lookups. */
111
+ cliSessionsSync: (profile: string, opts: {
112
+ sourceFilter: string | null;
102
113
  }) => {
103
114
  rows: Row[];
104
115
  truncated: ReadonlySet<string>;
@@ -120,6 +131,13 @@ export declare class SessionService {
120
131
  private readonly compressionJobs;
121
132
  constructor(deps: SessionServiceDeps);
122
133
  private get store();
134
+ /**
135
+ * TAL-577: user-turn admission shared by `chat.start` and server-side wakeups, after `ensureAgentRuntimeCurrent`.
136
+ * A requested workspace must be trusted; the session's own one, when its directory is gone, falls back to the last one.
137
+ */
138
+ turnWorkspace(s: Session, requested?: unknown): string;
139
+ /** A `@provider:` id is split; any other model an explicit pick did not just choose is checked against the catalog (TAL-542). */
140
+ turnModel(s: Session, body?: Record<string, unknown>): [string | null, string | null, boolean];
123
141
  /**
124
142
  * TAL-186: rewrites a session's media references to their URLs. A local path is rewritten only when `/api/media`
125
143
  * serves it for this session, under the same resolution, so every rewritten reference loads.
@@ -139,6 +157,20 @@ export declare class SessionService {
139
157
  isSubagentViewOnly(sid: string): boolean;
140
158
  /** TAL-358: batched `sessions.source` owners from the active profile's state.db. */
141
159
  readonly stateDbSources: (ids: string[]) => Map<string, string> | null;
160
+ /**
161
+ * TAL-590 (Python #3238): the read-only CLI or API-server imports among `rows` whose active-profile state.db row is
162
+ * gone, so their source was deleted outside Web and no Web action could remove them. An unreadable state.db proves
163
+ * nothing (`agentSessionRowsExisting`); another profile's session or one with a run the runtime still holds is never
164
+ * an orphan, while a stream id a crash left behind does not count as one.
165
+ */
166
+ private orphanedImports;
167
+ private orphanCandidates;
168
+ private isOrphanedImport;
169
+ /**
170
+ * The list's owner locks and orphan prune (an orphan's sidecar goes, as nothing else ever removes it), with their
171
+ * state.db reads made on the listing worker up front so the synchronous build never opens state.db (TAL-920).
172
+ */
173
+ private listStateDbLookups;
142
174
  /** The persisted flag folded with the state.db owner lock (TAL-358): the one read-only rule for mutation gates and the wire. */
143
175
  isReadOnly(s: Session): boolean;
144
176
  /** Full session for mutation, refusing read-only imports (Python `_get_or_materialize_session`). */
@@ -176,7 +208,22 @@ export declare class SessionService {
176
208
  previousContext: Message[];
177
209
  agentRows?: Message[] | null;
178
210
  startId?: number | null;
211
+ read?: StateDbRead;
179
212
  }): void;
213
+ /**
214
+ * TAL-921: the model context a turn leaves when it ends without its settled result (an error, a Stop, a dead run), as a
215
+ * Stop's: the Agent's rows when they hold the turn's prompt, else its own rows among `stateRows` (the state.db rows
216
+ * committed after it started), then the prose that streamed past them. Null when it captured nothing the model can use.
217
+ */
218
+ unsettledTurnContext(turn: {
219
+ previousContext: Message[];
220
+ prompt: string | Record<string, unknown>[];
221
+ msgText: string;
222
+ streamedText: string;
223
+ historyLength: number;
224
+ agentRows?: Message[] | null;
225
+ stateRows: Message[];
226
+ }): Message[] | null;
180
227
  /**
181
228
  * Python `reconciled_state_db_messages_for_session(prefer_context=True)`: the model history is the owner context
182
229
  * extended append-only with the Agent's state.db rows (a CLI continuation of this session reaches the model), except
@@ -188,6 +235,8 @@ export declare class SessionService {
188
235
  * deferred save keeps out of `messages` and `context_messages` until settlement.
189
236
  */
190
237
  sideQuestionContext(s: Session): Message[];
238
+ /** Python `_is_messaging_session_id`: from the WebUI metadata or the Agent's row. */
239
+ private isMessagingSession;
191
240
  /** Python `_lookup_cli_session_metadata`: the sidebar row for a state.db session in the active profile. */
192
241
  private lookupCliMeta;
193
242
  private claudeCodeRows;
@@ -235,6 +284,11 @@ export declare class SessionService {
235
284
  msg_before?: string | null | undefined;
236
285
  resolve_model?: string | null | undefined;
237
286
  }): Record<string, unknown>;
287
+ /**
288
+ * TAL-454: the chat `/branch` copied, while it still loads (archived included). A compression continuation is also a
289
+ * fork of its parent but not a branch, so it links nowhere.
290
+ */
291
+ private branchedFrom;
238
292
  /**
239
293
  * TAL-316: the active run whose journal can replay its output from the start. The detail then leaves that output to the
240
294
  * replay; with no active run, no identifiable prompt, or no complete journal, it returns the persisted transcript unchanged.
@@ -248,10 +302,10 @@ export declare class SessionService {
248
302
  private foreignSessionDetail;
249
303
  /** Clear persisted streaming flags when no live stream backs them (Python `_clear_stale_stream_state`). */
250
304
  clearStaleStreamState(session: Session): boolean;
251
- list(params: Omit<ListParams, 'activeProfile' | 'isolatedProfileMode' | 'profilesMatch' | 'cliRows' | 'gatewayIdentity' | 'stateDbSources' | 'truncatedSources'>): {
305
+ list(params: Omit<ListParams, 'activeProfile' | 'isolatedProfileMode' | 'profilesMatch' | 'cliRows' | 'gatewayIdentity' | 'stateDbSources' | 'truncatedSources' | 'pruneOrphanedImports' | 'webuiRows'>): Promise<{
252
306
  body: ListResponse;
253
307
  etag: string;
254
- };
308
+ }>;
255
309
  search(q: string, opts: {
256
310
  content: boolean;
257
311
  depth: number;
@@ -266,7 +320,7 @@ export declare class SessionService {
266
320
  content: boolean;
267
321
  depth: number;
268
322
  projectId: string | null;
269
- }): Record<string, unknown>;
323
+ }): Promise<Record<string, unknown>>;
270
324
  /** The first of a stored session's first `depth` messages (0: all) containing every term, with its redacted excerpt. */
271
325
  private contentMatch;
272
326
  status(sid: string): Record<string, unknown>;
@@ -303,6 +357,40 @@ export declare class SessionService {
303
357
  /** The session a compression may run on now, and the model history it compresses: the context a turn would send, so a
304
358
  * repeat compression builds on the previous summary instead of re-reading the whole display transcript. */
305
359
  private compressionTarget;
360
+ /** The loaded session's own compression guards: no running turn and enough model history. */
361
+ private compressionHistory;
362
+ /** TAL-614: whether a manual compression would start now: `compressionTarget`'s gates, with `readOnly` the wire flag. */
363
+ private canCompress;
364
+ /** TAL-258: the session's WebUI record (absent for a CLI or gateway session) and the profile whose state.db holds its rows. */
365
+ private handoffTarget;
366
+ /** Python `_handle_conversation_rounds` (TAL-258): the session's rounds and whether the handoff dock is due. */
367
+ conversationRounds(sid: string, since: number | null): {
368
+ ok: true;
369
+ rounds: number;
370
+ threshold: number;
371
+ should_show: boolean;
372
+ };
373
+ /**
374
+ * Python `_handle_handoff_summary` (TAL-258): the session's main model summarizes its last 50 state.db messages after
375
+ * `since`, and the summary is appended as a display-only `handoff_summary` tool row. A failed or cut-off answer falls
376
+ * back to a deterministic local summary rather than an error.
377
+ */
378
+ handoffSummary(sid: string, since: number | null): Promise<{
379
+ ok: true;
380
+ summary: string;
381
+ message_count: number;
382
+ rounds: number;
383
+ fallback: boolean;
384
+ warning?: string;
385
+ }>;
386
+ /** The main model's summary at 700 tokens, once more at 1400 when it was cut off, else the local fallback. */
387
+ private generateHandoffSummary;
388
+ /**
389
+ * Python `_persist_handoff_summary`: a messaging session gets the marker in state.db and its WebUI record; any other
390
+ * session in its WebUI record, or in state.db when it has none. Each store skips a marker its tail already holds, and
391
+ * the session lock keeps two summaries from both passing that check. A card neither store saved answers 503.
392
+ */
393
+ private persistHandoffMarker;
306
394
  /** The session's compression job; a deleted session's finished result is dropped rather than served. */
307
395
  compressionJob(sid: string): CompressionJob | undefined;
308
396
  /**
@@ -317,6 +405,20 @@ export declare class SessionService {
317
405
  undo(sid: string): Promise<Record<string, unknown>>;
318
406
  duplicate(sid: string): Record<string, unknown>;
319
407
  branch(sid: string, body: Record<string, unknown>): Record<string, unknown>;
408
+ /** Python `read_session_lineage_report` on the active profile's state.db. */
409
+ lineageReport(sid: string): Record<string, unknown>;
410
+ /** TAL-259: recovery reads the active profile's state.db, and a recovered sidecar joins that profile. */
411
+ private recoveryDeps;
412
+ recoveryAudit(): RecoveryAudit;
413
+ recoveryRepairSafe(): Promise<RecoveryRepair>;
414
+ /**
415
+ * Python `_handle_session_compression_recovery_start`: open a compression-exhausted session's focused continuation, an
416
+ * empty fork keeping its workspace, model, profile, toolsets and worktree. A retry opens the oldest continuation
417
+ * already started from it in the same profile; the source's lock makes concurrent starts converge on one child.
418
+ */
419
+ compressionRecoveryStart(sid: string): Promise<Record<string, unknown>>;
420
+ /** Python `find_compression_recovery_session`: the oldest same-profile continuation started from `sid`, cached or persisted. */
421
+ private compressionRecoveryChild;
320
422
  /** The run that keeps `delete` answering 409, if any; stream status reports it so a draining client can wait on it (TAL-622). */
321
423
  activeRunBlocking(sid: string): string | null;
322
424
  delete(sid: string): Promise<Record<string, unknown>>;