visionclaw 0.1.193 → 0.1.194-dev.feat-backup-progress-reporting.1

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 (352) hide show
  1. package/dist/agent/backup-uploader.d.ts +44 -0
  2. package/dist/agent/backup-uploader.d.ts.map +1 -0
  3. package/dist/agent/backup-uploader.js +83 -0
  4. package/dist/agent/backup-uploader.js.map +1 -0
  5. package/dist/agent/backup.d.ts +7 -1
  6. package/dist/agent/backup.d.ts.map +1 -1
  7. package/dist/agent/backup.js +337 -52
  8. package/dist/agent/backup.js.map +1 -1
  9. package/dist/agent/command-handlers.d.ts +2 -0
  10. package/dist/agent/command-handlers.d.ts.map +1 -1
  11. package/dist/agent/command-handlers.js +29 -3
  12. package/dist/agent/command-handlers.js.map +1 -1
  13. package/dist/agent/context.d.ts +2 -0
  14. package/dist/agent/context.d.ts.map +1 -1
  15. package/dist/agent/context.js +11 -1
  16. package/dist/agent/context.js.map +1 -1
  17. package/dist/agent/data-collector.d.ts.map +1 -1
  18. package/dist/agent/data-collector.js +23 -38
  19. package/dist/agent/data-collector.js.map +1 -1
  20. package/dist/agent/loop.d.ts +3 -0
  21. package/dist/agent/loop.d.ts.map +1 -1
  22. package/dist/agent/loop.js +48 -0
  23. package/dist/agent/loop.js.map +1 -1
  24. package/dist/agent/message-format.d.ts.map +1 -1
  25. package/dist/agent/message-format.js +3 -0
  26. package/dist/agent/message-format.js.map +1 -1
  27. package/dist/agent/status.d.ts.map +1 -1
  28. package/dist/agent/status.js +2 -1
  29. package/dist/agent/status.js.map +1 -1
  30. package/dist/backup.d.ts +4 -1
  31. package/dist/backup.d.ts.map +1 -1
  32. package/dist/backup.js +86 -3
  33. package/dist/backup.js.map +1 -1
  34. package/dist/calendar/google-calendar.d.ts +2 -0
  35. package/dist/calendar/google-calendar.d.ts.map +1 -1
  36. package/dist/calendar/google-calendar.js +3 -0
  37. package/dist/calendar/google-calendar.js.map +1 -1
  38. package/dist/channels/interface.d.ts +9 -0
  39. package/dist/channels/interface.d.ts.map +1 -1
  40. package/dist/channels/manager.d.ts +7 -1
  41. package/dist/channels/manager.d.ts.map +1 -1
  42. package/dist/channels/manager.js +12 -0
  43. package/dist/channels/manager.js.map +1 -1
  44. package/dist/channels/telegram.d.ts.map +1 -1
  45. package/dist/channels/telegram.js +5 -0
  46. package/dist/channels/telegram.js.map +1 -1
  47. package/dist/cli/index.d.ts +1 -0
  48. package/dist/cli/index.d.ts.map +1 -1
  49. package/dist/cli/index.js +42 -2
  50. package/dist/cli/index.js.map +1 -1
  51. package/dist/config/types.d.ts +9 -0
  52. package/dist/config/types.d.ts.map +1 -1
  53. package/dist/config/types.js +6 -0
  54. package/dist/config/types.js.map +1 -1
  55. package/dist/drive/google-drive.d.ts +1 -0
  56. package/dist/drive/google-drive.d.ts.map +1 -1
  57. package/dist/drive/google-drive.js +5 -0
  58. package/dist/drive/google-drive.js.map +1 -1
  59. package/dist/i18n/messages.d.ts +4 -0
  60. package/dist/i18n/messages.d.ts.map +1 -1
  61. package/dist/i18n/messages.js +7 -2
  62. package/dist/i18n/messages.js.map +1 -1
  63. package/dist/index.js.map +1 -1
  64. package/dist/obs/server.d.ts +7 -0
  65. package/dist/obs/server.d.ts.map +1 -1
  66. package/dist/obs/server.js +22 -0
  67. package/dist/obs/server.js.map +1 -1
  68. package/dist/onboarding/bot-profile.d.ts.map +1 -1
  69. package/dist/onboarding/bot-profile.js +1 -0
  70. package/dist/onboarding/bot-profile.js.map +1 -1
  71. package/dist/onboarding/index.d.ts.map +1 -1
  72. package/dist/onboarding/index.js +5 -0
  73. package/dist/onboarding/index.js.map +1 -1
  74. package/dist/onboarding/prepare-mac.d.ts +1 -0
  75. package/dist/onboarding/prepare-mac.d.ts.map +1 -1
  76. package/dist/onboarding/prepare-mac.js +32 -15
  77. package/dist/onboarding/prepare-mac.js.map +1 -1
  78. package/dist/onboarding/setup-shared.d.ts.map +1 -1
  79. package/dist/onboarding/setup-shared.js +6 -0
  80. package/dist/onboarding/setup-shared.js.map +1 -1
  81. package/dist/onboarding/setup-steps.d.ts.map +1 -1
  82. package/dist/onboarding/setup-steps.js +8 -0
  83. package/dist/onboarding/setup-steps.js.map +1 -1
  84. package/dist/realtime/agent-bridge.d.ts +7 -0
  85. package/dist/realtime/agent-bridge.d.ts.map +1 -0
  86. package/dist/realtime/agent-bridge.js +31 -0
  87. package/dist/realtime/agent-bridge.js.map +1 -0
  88. package/dist/realtime/assets/index.html +1058 -0
  89. package/dist/realtime/assets/samples/alloy.mp3 +0 -0
  90. package/dist/realtime/assets/samples/ash.mp3 +0 -0
  91. package/dist/realtime/assets/samples/ballad.mp3 +0 -0
  92. package/dist/realtime/assets/samples/cedar.mp3 +0 -0
  93. package/dist/realtime/assets/samples/coral.mp3 +0 -0
  94. package/dist/realtime/assets/samples/echo.mp3 +0 -0
  95. package/dist/realtime/assets/samples/marin.mp3 +0 -0
  96. package/dist/realtime/assets/samples/sage.mp3 +0 -0
  97. package/dist/realtime/assets/samples/shimmer.mp3 +0 -0
  98. package/dist/realtime/assets/samples/verse.mp3 +0 -0
  99. package/dist/realtime/context.d.ts +14 -0
  100. package/dist/realtime/context.d.ts.map +1 -0
  101. package/dist/realtime/context.js +153 -0
  102. package/dist/realtime/context.js.map +1 -0
  103. package/dist/realtime/http-helpers.d.ts +5 -0
  104. package/dist/realtime/http-helpers.d.ts.map +1 -0
  105. package/dist/realtime/http-helpers.js +29 -0
  106. package/dist/realtime/http-helpers.js.map +1 -0
  107. package/dist/realtime/index.d.ts +62 -0
  108. package/dist/realtime/index.d.ts.map +1 -0
  109. package/dist/realtime/index.js +94 -0
  110. package/dist/realtime/index.js.map +1 -0
  111. package/dist/realtime/server.d.ts +6 -0
  112. package/dist/realtime/server.d.ts.map +1 -0
  113. package/dist/realtime/server.js +476 -0
  114. package/dist/realtime/server.js.map +1 -0
  115. package/dist/realtime/telegram-auth.d.ts +2 -0
  116. package/dist/realtime/telegram-auth.d.ts.map +1 -0
  117. package/dist/realtime/telegram-auth.js +24 -0
  118. package/dist/realtime/telegram-auth.js.map +1 -0
  119. package/dist/realtime/tools.d.ts +829 -0
  120. package/dist/realtime/tools.d.ts.map +1 -0
  121. package/dist/realtime/tools.js +630 -0
  122. package/dist/realtime/tools.js.map +1 -0
  123. package/dist/realtime/types.d.ts +62 -0
  124. package/dist/realtime/types.d.ts.map +1 -0
  125. package/dist/realtime/types.js +3 -0
  126. package/dist/realtime/types.js.map +1 -0
  127. package/dist/realtime/voice-summarizer.d.ts +4 -0
  128. package/dist/realtime/voice-summarizer.d.ts.map +1 -0
  129. package/dist/realtime/voice-summarizer.js +129 -0
  130. package/dist/realtime/voice-summarizer.js.map +1 -0
  131. package/dist/restore.d.ts +5 -0
  132. package/dist/restore.d.ts.map +1 -1
  133. package/dist/restore.js +132 -16
  134. package/dist/restore.js.map +1 -1
  135. package/dist/tools/email.d.ts +1 -1
  136. package/dist/tools/memory.d.ts +13 -0
  137. package/dist/tools/memory.d.ts.map +1 -1
  138. package/dist/tools/memory.js +43 -43
  139. package/dist/tools/memory.js.map +1 -1
  140. package/dist/tools/stock-data.d.ts +16 -0
  141. package/dist/tools/stock-data.d.ts.map +1 -1
  142. package/dist/tools/stock-data.js +36 -38
  143. package/dist/tools/stock-data.js.map +1 -1
  144. package/dist/tools/web-fetch.d.ts +4 -0
  145. package/dist/tools/web-fetch.d.ts.map +1 -1
  146. package/dist/tools/web-fetch.js +95 -23
  147. package/dist/tools/web-fetch.js.map +1 -1
  148. package/dist/tos-storage.d.ts +45 -0
  149. package/dist/tos-storage.d.ts.map +1 -0
  150. package/dist/tos-storage.js +134 -0
  151. package/dist/tos-storage.js.map +1 -0
  152. package/dist-agent/bundle.cjs +170934 -167547
  153. package/package.json +3 -2
  154. package/dist/agent/applied-credential-signature.d.ts +0 -53
  155. package/dist/agent/applied-credential-signature.d.ts.map +0 -1
  156. package/dist/agent/applied-credential-signature.js +0 -137
  157. package/dist/agent/applied-credential-signature.js.map +0 -1
  158. package/dist/agent/engines/claude/cli-resolver.d.ts +0 -16
  159. package/dist/agent/engines/claude/cli-resolver.d.ts.map +0 -1
  160. package/dist/agent/engines/claude/cli-resolver.js +0 -83
  161. package/dist/agent/engines/claude/cli-resolver.js.map +0 -1
  162. package/dist/agent/engines/claude/session-browser-policy.d.ts +0 -9
  163. package/dist/agent/engines/claude/session-browser-policy.d.ts.map +0 -1
  164. package/dist/agent/engines/claude/session-browser-policy.js +0 -49
  165. package/dist/agent/engines/claude/session-browser-policy.js.map +0 -1
  166. package/dist/agent/engines/claude/session.d.ts +0 -291
  167. package/dist/agent/engines/claude/session.d.ts.map +0 -1
  168. package/dist/agent/engines/claude/session.js +0 -1177
  169. package/dist/agent/engines/claude/session.js.map +0 -1
  170. package/dist/agent/engines/client-factory.d.ts +0 -63
  171. package/dist/agent/engines/client-factory.d.ts.map +0 -1
  172. package/dist/agent/engines/client-factory.js +0 -382
  173. package/dist/agent/engines/client-factory.js.map +0 -1
  174. package/dist/agent/engines/engine.d.ts +0 -8
  175. package/dist/agent/engines/engine.d.ts.map +0 -1
  176. package/dist/agent/engines/engine.js +0 -15
  177. package/dist/agent/engines/engine.js.map +0 -1
  178. package/dist/agent/engines/openai/file-session.d.ts +0 -49
  179. package/dist/agent/engines/openai/file-session.d.ts.map +0 -1
  180. package/dist/agent/engines/openai/file-session.js +0 -108
  181. package/dist/agent/engines/openai/file-session.js.map +0 -1
  182. package/dist/agent/engines/openai/file-tools.d.ts +0 -35
  183. package/dist/agent/engines/openai/file-tools.d.ts.map +0 -1
  184. package/dist/agent/engines/openai/file-tools.js +0 -194
  185. package/dist/agent/engines/openai/file-tools.js.map +0 -1
  186. package/dist/agent/engines/openai/session.d.ts +0 -190
  187. package/dist/agent/engines/openai/session.d.ts.map +0 -1
  188. package/dist/agent/engines/openai/session.js +0 -1066
  189. package/dist/agent/engines/openai/session.js.map +0 -1
  190. package/dist/agent/engines/openai/tools.d.ts +0 -13
  191. package/dist/agent/engines/openai/tools.d.ts.map +0 -1
  192. package/dist/agent/engines/openai/tools.js +0 -248
  193. package/dist/agent/engines/openai/tools.js.map +0 -1
  194. package/dist/agent/engines/session-types.d.ts +0 -146
  195. package/dist/agent/engines/session-types.d.ts.map +0 -1
  196. package/dist/agent/engines/session-types.js +0 -2
  197. package/dist/agent/engines/session-types.js.map +0 -1
  198. package/dist/agent/engines/system-prompt-log.d.ts +0 -9
  199. package/dist/agent/engines/system-prompt-log.d.ts.map +0 -1
  200. package/dist/agent/engines/system-prompt-log.js +0 -46
  201. package/dist/agent/engines/system-prompt-log.js.map +0 -1
  202. package/dist/agent/transcript/transcript-backfill.d.ts +0 -54
  203. package/dist/agent/transcript/transcript-backfill.d.ts.map +0 -1
  204. package/dist/agent/transcript/transcript-backfill.js +0 -604
  205. package/dist/agent/transcript/transcript-backfill.js.map +0 -1
  206. package/dist/agent/transcript/transcript-indexer.d.ts +0 -273
  207. package/dist/agent/transcript/transcript-indexer.d.ts.map +0 -1
  208. package/dist/agent/transcript/transcript-indexer.js +0 -1217
  209. package/dist/agent/transcript/transcript-indexer.js.map +0 -1
  210. package/dist/agent/transcript/transcript-memory-migrations.d.ts +0 -25
  211. package/dist/agent/transcript/transcript-memory-migrations.d.ts.map +0 -1
  212. package/dist/agent/transcript/transcript-memory-migrations.js +0 -87
  213. package/dist/agent/transcript/transcript-memory-migrations.js.map +0 -1
  214. package/dist/agent/transcript-memory-migrations.d.ts +0 -25
  215. package/dist/agent/transcript-memory-migrations.d.ts.map +0 -1
  216. package/dist/agent/transcript-memory-migrations.js +0 -87
  217. package/dist/agent/transcript-memory-migrations.js.map +0 -1
  218. package/dist/agent/tunnel-credential-handler.d.ts +0 -90
  219. package/dist/agent/tunnel-credential-handler.d.ts.map +0 -1
  220. package/dist/agent/tunnel-credential-handler.js +0 -162
  221. package/dist/agent/tunnel-credential-handler.js.map +0 -1
  222. package/dist/agent/usage/usage-backfill-handler.d.ts +0 -18
  223. package/dist/agent/usage/usage-backfill-handler.d.ts.map +0 -1
  224. package/dist/agent/usage/usage-backfill-handler.js +0 -69
  225. package/dist/agent/usage/usage-backfill-handler.js.map +0 -1
  226. package/dist/agent/usage/usage-gate.d.ts +0 -25
  227. package/dist/agent/usage/usage-gate.d.ts.map +0 -1
  228. package/dist/agent/usage/usage-gate.js +0 -83
  229. package/dist/agent/usage/usage-gate.js.map +0 -1
  230. package/dist/agent/usage/usage-handler.d.ts +0 -7
  231. package/dist/agent/usage/usage-handler.d.ts.map +0 -1
  232. package/dist/agent/usage/usage-handler.js +0 -28
  233. package/dist/agent/usage/usage-handler.js.map +0 -1
  234. package/dist/agent/usage/usage-report-builder.d.ts +0 -26
  235. package/dist/agent/usage/usage-report-builder.d.ts.map +0 -1
  236. package/dist/agent/usage/usage-report-builder.js +0 -80
  237. package/dist/agent/usage/usage-report-builder.js.map +0 -1
  238. package/dist/agent/usage/usage-report-queue.d.ts +0 -26
  239. package/dist/agent/usage/usage-report-queue.d.ts.map +0 -1
  240. package/dist/agent/usage/usage-report-queue.js +0 -199
  241. package/dist/agent/usage/usage-report-queue.js.map +0 -1
  242. package/dist/agent/usage/usage-report-types.d.ts +0 -41
  243. package/dist/agent/usage/usage-report-types.d.ts.map +0 -1
  244. package/dist/agent/usage/usage-report-types.js +0 -2
  245. package/dist/agent/usage/usage-report-types.js.map +0 -1
  246. package/dist/agent/usage/usage-reporter.d.ts +0 -31
  247. package/dist/agent/usage/usage-reporter.d.ts.map +0 -1
  248. package/dist/agent/usage/usage-reporter.js +0 -102
  249. package/dist/agent/usage/usage-reporter.js.map +0 -1
  250. package/dist/agent/usage-backfill-handler.d.ts +0 -18
  251. package/dist/agent/usage-backfill-handler.d.ts.map +0 -1
  252. package/dist/agent/usage-backfill-handler.js +0 -69
  253. package/dist/agent/usage-backfill-handler.js.map +0 -1
  254. package/dist/agent/usage-gate.d.ts +0 -25
  255. package/dist/agent/usage-gate.d.ts.map +0 -1
  256. package/dist/agent/usage-gate.js +0 -83
  257. package/dist/agent/usage-gate.js.map +0 -1
  258. package/dist/agent/usage-report-builder.d.ts +0 -26
  259. package/dist/agent/usage-report-builder.d.ts.map +0 -1
  260. package/dist/agent/usage-report-builder.js +0 -80
  261. package/dist/agent/usage-report-builder.js.map +0 -1
  262. package/dist/agent/usage-report-queue.d.ts +0 -26
  263. package/dist/agent/usage-report-queue.d.ts.map +0 -1
  264. package/dist/agent/usage-report-queue.js +0 -199
  265. package/dist/agent/usage-report-queue.js.map +0 -1
  266. package/dist/agent/usage-report-types.d.ts +0 -41
  267. package/dist/agent/usage-report-types.d.ts.map +0 -1
  268. package/dist/agent/usage-report-types.js +0 -2
  269. package/dist/agent/usage-report-types.js.map +0 -1
  270. package/dist/agent/usage-reporter.d.ts +0 -31
  271. package/dist/agent/usage-reporter.d.ts.map +0 -1
  272. package/dist/agent/usage-reporter.js +0 -102
  273. package/dist/agent/usage-reporter.js.map +0 -1
  274. package/dist/agent/wake-cycle-tool-tracker.d.ts +0 -39
  275. package/dist/agent/wake-cycle-tool-tracker.d.ts.map +0 -1
  276. package/dist/agent/wake-cycle-tool-tracker.js +0 -72
  277. package/dist/agent/wake-cycle-tool-tracker.js.map +0 -1
  278. package/dist/billing/payg-handler.d.ts +0 -29
  279. package/dist/billing/payg-handler.d.ts.map +0 -1
  280. package/dist/billing/payg-handler.js +0 -92
  281. package/dist/billing/payg-handler.js.map +0 -1
  282. package/dist/billing/payment-handler.d.ts +0 -24
  283. package/dist/billing/payment-handler.d.ts.map +0 -1
  284. package/dist/billing/payment-handler.js +0 -101
  285. package/dist/billing/payment-handler.js.map +0 -1
  286. package/dist/builtin-skills/catalog/phone-adb-automation/SKILL.md +0 -412
  287. package/dist/builtin-skills/catalog/phone-adb-automation/phone_input.sh +0 -132
  288. package/dist/builtin-skills/catalog/phone-adb-automation/phone_launch.sh +0 -166
  289. package/dist/builtin-skills/catalog/phone-adb-automation/phone_screenshot.sh +0 -87
  290. package/dist/builtin-skills/catalog/phone-adb-automation/phone_security_kbd.py +0 -174
  291. package/dist/builtin-skills/catalog/phone-adb-automation/phone_setup.sh +0 -274
  292. package/dist/builtin-skills/catalog/phone-adb-automation/phone_swipe.sh +0 -111
  293. package/dist/builtin-skills/catalog/phone-adb-automation/phone_tap.sh +0 -87
  294. package/dist/builtin-skills/catalog/phone-adb-automation/phone_ui_parse.py +0 -176
  295. package/dist/builtin-skills/catalog/phone-adb-automation/phone_wake_unlock.sh +0 -67
  296. package/dist/builtin-skills/transcribe-audio/SKILL.md +0 -122
  297. package/dist/data-processing/convert-demo-cli.d.ts +0 -7
  298. package/dist/data-processing/convert-demo-cli.d.ts.map +0 -1
  299. package/dist/data-processing/convert-demo-cli.js +0 -30
  300. package/dist/data-processing/convert-demo-cli.js.map +0 -1
  301. package/dist/data-processing/convert-demo.d.ts +0 -26
  302. package/dist/data-processing/convert-demo.d.ts.map +0 -1
  303. package/dist/data-processing/convert-demo.js +0 -233
  304. package/dist/data-processing/convert-demo.js.map +0 -1
  305. package/dist/obs/rdp/icons/icons/app_windows.svg +0 -4
  306. package/dist/obs/rdp/icons/icons/clip_get.svg +0 -4
  307. package/dist/obs/rdp/icons/icons/clip_send.svg +0 -4
  308. package/dist/obs/rdp/icons/icons/clip_shared.svg +0 -4
  309. package/dist/obs/rdp/icons/icons/clipboard.svg +0 -4
  310. package/dist/obs/rdp/icons/icons/clipboard_shared.svg +0 -4
  311. package/dist/obs/rdp/icons/icons/control.svg +0 -4
  312. package/dist/obs/rdp/icons/icons/desktop.svg +0 -4
  313. package/dist/obs/rdp/icons/icons/display.svg +0 -4
  314. package/dist/obs/rdp/icons/icons/launchpad.svg +0 -4
  315. package/dist/obs/rdp/icons/icons/mission_control.svg +0 -4
  316. package/dist/obs/rdp/icons/icons/screenshot.svg +0 -4
  317. package/dist/obs/rdp/icons/icons/zoom_actual.svg +0 -4
  318. package/dist/obs/rdp/icons/icons/zoom_fit.svg +0 -4
  319. package/dist/obs/rdp/icons/icons/zoom_in.svg +0 -4
  320. package/dist/obs/rdp/icons/icons/zoom_out.svg +0 -4
  321. package/dist/obs/tunnel-telemetry.d.ts +0 -46
  322. package/dist/obs/tunnel-telemetry.d.ts.map +0 -1
  323. package/dist/obs/tunnel-telemetry.js +0 -70
  324. package/dist/obs/tunnel-telemetry.js.map +0 -1
  325. package/dist/onboarding/cloudflared-cert.d.ts +0 -15
  326. package/dist/onboarding/cloudflared-cert.d.ts.map +0 -1
  327. package/dist/onboarding/cloudflared-cert.js +0 -57
  328. package/dist/onboarding/cloudflared-cert.js.map +0 -1
  329. package/dist/onboarding/playwriter-extension.d.ts +0 -19
  330. package/dist/onboarding/playwriter-extension.d.ts.map +0 -1
  331. package/dist/onboarding/playwriter-extension.js +0 -246
  332. package/dist/onboarding/playwriter-extension.js.map +0 -1
  333. package/dist/service/gbox-tun.d.ts +0 -14
  334. package/dist/service/gbox-tun.d.ts.map +0 -1
  335. package/dist/service/gbox-tun.js +0 -315
  336. package/dist/service/gbox-tun.js.map +0 -1
  337. package/dist/skills/installed.d.ts +0 -11
  338. package/dist/skills/installed.d.ts.map +0 -1
  339. package/dist/skills/installed.js +0 -35
  340. package/dist/skills/installed.js.map +0 -1
  341. package/dist/tools/coordinate-resolver.d.ts +0 -30
  342. package/dist/tools/coordinate-resolver.d.ts.map +0 -1
  343. package/dist/tools/coordinate-resolver.js +0 -104
  344. package/dist/tools/coordinate-resolver.js.map +0 -1
  345. package/dist/utils/playwriter-relay.d.ts +0 -9
  346. package/dist/utils/playwriter-relay.d.ts.map +0 -1
  347. package/dist/utils/playwriter-relay.js +0 -77
  348. package/dist/utils/playwriter-relay.js.map +0 -1
  349. package/dist/utils/wechat-monitor.d.ts +0 -21
  350. package/dist/utils/wechat-monitor.d.ts.map +0 -1
  351. package/dist/utils/wechat-monitor.js +0 -88
  352. package/dist/utils/wechat-monitor.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"transcript-indexer.js","sourceRoot":"","sources":["../../../src/agent/transcript/transcript-indexer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,YAAY,EAAsB,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,SAAS,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAM1D,SAAS,aAAa,CAAC,EAAgB;IACrC,MAAM,WAAW,GAAG,SAAoB,CAAC;IACzC,IACE,OAAO,WAAW,KAAK,QAAQ;QAC/B,WAAW,KAAK,IAAI;QACpB,OAAQ,WAAkC,CAAC,IAAI,KAAK,UAAU,EAC9D,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACjF,CAAC;IACA,WAA+B,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC5C,CAAC;AAsDD,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E,IAAI,EAAE,GAAwB,IAAI,CAAC;AACnC,IAAI,UAAU,GAAyB,IAAI,CAAC;AAC5C,IAAI,aAAa,GAAyB,IAAI,CAAC;AAC/C,IAAI,iBAAiB,GAAyB,IAAI,CAAC;AACnD,IAAI,kBAAkB,GAAyB,IAAI,CAAC;AACpD,IAAI,WAAW,GAAyB,IAAI,CAAC;AAC7C,IAAI,UAAU,GAAG,KAAK,CAAC;AAEvB,qDAAqD;AACrD,MAAM,aAAa,GAAG,GAAG,CAAC;AAC1B,MAAM,qBAAqB,GAAG,aAAa,GAAG,YAAY,CAAC,iBAAiB,CAAC;AAE7E,SAAS,gBAAgB,CACvB,IAAc,EACd,IAAY;IAEZ,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,gDAAgD,IAAI,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,KAAK;IACZ,IAAI,EAAE;QAAE,OAAO,EAAE,CAAC;IAElB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,sBAAsB,CAAC,CAAC;IACjE,EAAE,GAAG,IAAI,YAAY,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAErC,sEAAsE;IACtE,IAAI,CAAC;QACH,aAAa,CAAC,EAAE,CAAC,CAAC;QAClB,UAAU,GAAG,IAAI,CAAC;IACpB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CACT,mFAAmF,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACtI,CAAC;QACF,UAAU,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,aAAa;IACb,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;GAaP,CAAC,CAAC;IAEH,iEAAiE;IACjE,2EAA2E;IAC3E,uCAAuC;IACvC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC,GAAG,EAAmC,CAAC;QACjG,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC;QACjE,IAAI,SAAS,EAAE,CAAC;YACd,EAAE,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;YAChF,MAAM,CAAC,MAAM,CAAC,oEAAoE,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,+DAA+D;IACjE,CAAC;IAED,mEAAmE;IACnE,6BAA6B,CAAC,EAAE,CAAC,CAAC;IAElC,yCAAyC;IACzC,4DAA4D;IAC5D,EAAE,CAAC,IAAI,CAAC;;;;;;;GAOP,CAAC,CAAC;IAEH,oDAAoD;IACpD,EAAE,CAAC,IAAI,CAAC;;;;;GAKP,CAAC,CAAC;IACH,EAAE,CAAC,IAAI,CAAC;;;;;GAKP,CAAC,CAAC;IACH,EAAE,CAAC,IAAI,CAAC;;;;;;;GAOP,CAAC,CAAC;IAEH,wEAAwE;IACxE,IAAI,UAAU,EAAE,CAAC;QACf,EAAE,CAAC,IAAI,CAAC;;;0BAGc,aAAa;;KAElC,CAAC,CAAC;QAEH,aAAa,GAAG,EAAE,CAAC,OAAO,CAAC;;;KAG1B,CAAC,CAAC;QAEH,kBAAkB,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;;;KAQ/B,CAAC,CAAC;QAEH,yEAAyE;QACzE,0EAA0E;QAC1E,6DAA6D;QAC7D,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;OAK7B,CAAC,CAAC,GAAG,EAA+D,CAAC;YAEtE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,IAAI,mBAAmB,GAAG,CAAC,CAAC;gBAC5B,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;oBAC7B,IAAI,GAAG,CAAC,SAAS,CAAC,UAAU,KAAK,qBAAqB,EAAE,CAAC;wBACvD,mBAAmB,IAAI,CAAC,CAAC;wBACzB,SAAS;oBACX,CAAC;oBACD,aAAa,CAAC,GAAG,CACf,GAAG,CAAC,aAAa,EACjB,IAAI,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CACzF,CAAC;gBACJ,CAAC;gBACD,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,GAAG,mBAAmB,CAAC;gBAC5D,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;oBACpB,MAAM,CAAC,MAAM,CACX,+BAA+B,WAAW,6BAA6B,CACxE,CAAC;gBACJ,CAAC;gBACD,IAAI,mBAAmB,GAAG,CAAC,EAAE,CAAC;oBAC5B,MAAM,CAAC,IAAI,CACT,gCAAgC,mBAAmB,qEAAqE,CACzH,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,OAAO,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CACT,sDAAsD,OAAO,YAAY,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CACrH,CAAC;QACJ,CAAC;IACH,CAAC;IAED,sBAAsB;IACtB,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;;;GAQvB,CAAC,CAAC;IAEH,iBAAiB,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;;;GAa9B,CAAC,CAAC;IAEH,WAAW,GAAG,EAAE,CAAC,OAAO,CACtB,mDAAmD,CACpD,CAAC;IAEF,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,8EAA8E;AAC9E,8DAA8D;AAC9D,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAAgB;IACnD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,CAAC,CAAC;IAEvC,MAAM,WAAW,GAAG,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IACzE,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;QAClC,KAAK,EAAE,WAAW;QAClB,SAAS,EAAE,QAAQ;KACpB,CAAC,CAAC;IAEH,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,EAAE,EAAE,CAAC;QAC7B,KAAK,EAAE,CAAC;IACV,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,QAAgB,EAChB,SAAiB,EACjB,OAAe,EACf,QAAiB;IAEjB,6CAA6C;IAC7C,IAAI,UAAU,GAAG,QAAQ,CAAC;IAC1B,IAAI,IAAI,GAAG,KAAK,CAAC;IAEjB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,GAAG,UAAU,KAAK,CAAC;QAClC,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,UAAU,GAAG,MAAM,CAAC;YACpB,IAAI,GAAG,IAAI,CAAC;QACd,CAAC;aAAM,CAAC;YACN,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/B,IAAI,GAAG,IAAI,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,IAAI,WAAkC,CAAC;IACvC,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;QAC9B,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;QACtC,KAAK,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YACxD,oDAAoD;QACtD,CAAC,CAAC,CAAC;QACH,WAAW,GAAG,WAAW,CAAC;IAC5B,CAAC;SAAM,CAAC;QACN,WAAW,GAAG,EAAE,CAAC,gBAAgB,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;QAClC,KAAK,EAAE,WAAW;QAClB,SAAS,EAAE,QAAQ;KACpB,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,CAAC;QAC5B,IAAI,OAAO,IAAI,SAAS,IAAI,OAAO,GAAG,OAAO,EAAE,CAAC;YAC9C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;QACD,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;YACvB,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,MAAM;QACR,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,2EAA2E;IAC3E,wEAAwE;IACxE,mDAAmD;IACnD,IAAI,QAAQ,IAAI,QAAQ,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;QACxD,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,UAAkB,EAClB,SAAiB,EACjB,OAAe,EACf,kBAA0B;IAE1B,yDAAyD;IACzD,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACxE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAEnC,wDAAwD;IACxD,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC/C,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QAAE,OAAO,EAAE,CAAC;IAEjD,MAAM,UAAU,GAAG,CAAC,CAAO,EAAU,EAAE;QACrC,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACxD,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACjD,OAAO,GAAG,IAAI,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;IACnC,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,iBAAiB,CAAC,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;IACzE,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAChF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,YAAY,CAAC;IAEjD,6DAA6D;IAC7D,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;IACrC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IACzC,MAAM,WAAW,GAAG,iBAAiB,CAAC,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxE,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAC7E,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAE3C,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;IACrC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IACzC,MAAM,WAAW,GAAG,iBAAiB,CAAC,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxE,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAC7E,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAE3C,wCAAwC;IACxC,OAAO,EAAE,CAAC;AACZ,CAAC;AAaD,8DAA8D;AAC9D,MAAM,wBAAwB,GAAG,GAAG,CAAC;AASrC,SAAS,sBAAsB,CAC7B,SAAiB,EACjB,OAAyD;IAEzD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/C,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9E,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,WAAW,IAAI,OAAO,IAAI,WAAW,IAAI,KAAK,CAAC;AACxD,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,yBAAyB,CACvC,KAAe,EACf,OAAyD;IAOzD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA4B,CAAC;IACrD,MAAM,SAAS,GAAmB,EAAE,CAAC;IAErC,yEAAyE;IACzE,yEAAyE;IACzE,2EAA2E;IAC3E,IAAI,gBAAgB,GAAG,OAAO,CAAC,cAAc,CAAC;IAE9C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,SAAS;QAC3B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA4B,CAAC;YAC3D,MAAM,IAAI,GAAG,MAAM,CAAC,IAA0B,CAAC;YAC/C,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI;gBAAE,SAAS;YAErC,6CAA6C;YAC7C,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;gBACzC,gBAAgB,GAAG,MAAM,CAAC,SAAS,CAAC;YACtC,CAAC;YAED,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;gBACzB,MAAM,OAAO,GAAG,MAAM,CAAC,OAEV,CAAC;gBACd,MAAM,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;gBACrD,MAAM,eAAe,GACnB,OAAO,kBAAkB,KAAK,QAAQ,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC;oBACrE,CAAC,CAAC,kBAAkB;oBACpB,CAAC,CAAC,SAAS,CAAC;gBAEhB,IAAI,OAAO,EAAE,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;oBACvD,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;wBACpC,MAAM,CAAC,GAAG,KAAgC,CAAC;wBAC3C,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;4BAC1B,MAAM,SAAS,GACZ,CAAC,CAAC,EAAyB;gCAC3B,CAAC,CAAC,WAAkC,CAAC;4BACxC,MAAM,QAAQ,GAAG,CAAC,CAAC,IAA0B,CAAC;4BAC9C,IACE,SAAS;gCACT,QAAQ;gCACR,sBAAsB,CAAC,gBAAgB,EAAE,OAAO,CAAC,EACjD,CAAC;gCACD,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE;oCACtB,SAAS;oCACT,QAAQ;oCACR,eAAe;oCACf,SAAS,EAAE,gBAAgB;iCAC5B,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC3B,MAAM,OAAO,GAAG,MAAM,CAAC,OAEV,CAAC;gBACd,IAAI,OAAO,EAAE,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;oBACvD,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;wBACpC,MAAM,CAAC,GAAG,KAAgC,CAAC;wBAC3C,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;4BAC7B,MAAM,SAAS,GAAG,CAAC,CAAC,WAAiC,CAAC;4BACtD,IAAI,CAAC,SAAS;gCAAE,SAAS;4BACzB,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;4BACxC,IAAI,CAAC,OAAO;gCAAE,SAAS,CAAC,0BAA0B;4BAElD,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;4BAC3B,MAAM,OAAO,GAAG,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC;4BACpC,SAAS,CAAC,IAAI,CAAC;gCACb,QAAQ,EAAE,OAAO,CAAC,QAAQ;gCAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;gCAC5B,eAAe,EAAE,OAAO,CAAC,eAAe;gCACxC,SAAS,EAAE,OAAO,CAAC,SAAS;gCAC5B,OAAO,EAAE,gBAAgB;gCACzB,OAAO,EAAE,CAAC,OAAO;gCACjB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;6BAChD,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,uBAAuB;QACzB,CAAC;IACH,CAAC;IAED,8DAA8D;IAC9D,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;QACxC,SAAS,CAAC,IAAI,CAAC;YACb,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,OAAO,EAAE,OAAO,CAAC,YAAY;YAC7B,OAAO,EAAE,KAAK;YACd,SAAS,EAAE,qBAAqB;SACjC,CAAC,CAAC;IACL,CAAC;IAED,4CAA4C;IAC5C,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IAEjE,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC;IACvC,MAAM,SAAS,GAAG,aAAa,GAAG,wBAAwB,CAAC;IAC3D,MAAM,SAAS,GAAG,SAAS;QACzB,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,wBAAwB,CAAC;QAC9C,CAAC,CAAC,SAAS,CAAC;IAEd,OAAO;QACL,SAAS;QACT,aAAa,EAAE,aAAa;QAC5B,SAAS;QACT,qBAAqB,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;KAC3D,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,+DAA+D;AAC/D,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,qBAAqB,GAAG;IAC5B,QAAQ;IACR,0BAA0B;IAC1B,0BAA0B;IAC1B,QAAQ;IACR,MAAM;IACN,gBAAgB;CACjB,CAAC;AAEF;;GAEG;AACH,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;IAClC,YAAY;CACb,CAAC,CAAC;AAEH;;;GAGG;AACH,SAAS,aAAa,CAAC,IAAY;IACjC,IAAI,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/C,KAAK,MAAM,MAAM,IAAI,qBAAqB,EAAE,CAAC;QAC3C,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,MAAM,EAAE,CAAC;YAAE,OAAO,IAAI,CAAC;IACnE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAUD,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACrD,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAc;IAC7C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5B,IAAI,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7B,OAAO,yBAAyB,CAAC;YACnC,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBAC1B,OAAO,sBAAsB,CAAC;YAChC,CAAC;QACH,CAAC;QACD,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC/B,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IAED,MAAM,SAAS,GAA4B,EAAE,CAAC;IAC9C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,IACE,GAAG,KAAK,MAAM;YACd,OAAO,KAAK,KAAK,QAAQ;YACzB,KAAK,CAAC,MAAM,GAAG,GAAG;YAClB,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,EAC/B,CAAC;YACD,SAAS,CAAC,GAAG,CAAC,GAAG,kBAAkB,CAAC;YACpC,SAAS;QACX,CAAC;QACD,SAAS,CAAC,GAAG,CAAC,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAe;IACvD,MAAM,OAAO,GAA4B,EAAE,CAAC;IAE5C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,SAAS;QAC3B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA4B,CAAC;YAC3D,MAAM,IAAI,GAAG,MAAM,CAAC,IAA0B,CAAC;YAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC;YACtC,MAAM,OAAO,GAAG,MAAM,CAAC,OAA6B,CAAC;YAErD,IAAI,MAAM,EAAE,CAAC;gBACX,SAAS;YACX,CAAC;YAED,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtB,IAAI,OAAO,KAAK,kBAAkB,EAAE,CAAC;oBACnC,SAAS;gBACX,CAAC;gBACD,SAAS;YACX,CAAC;YAED,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;gBACzB,MAAM,OAAO,GAAG,MAAM,CAAC,OAEV,CAAC;gBACd,IAAI,OAAO,EAAE,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;oBACvD,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;wBACpC,MAAM,CAAC,GAAG,KAAgC,CAAC;wBAC3C,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;4BACpD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;wBACzD,CAAC;6BAAM,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;4BACjC,MAAM,cAAc,GAAG,uBAAuB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;4BACxD,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;4BACtE,MAAM,SAAS,GACb,QAAQ,CAAC,MAAM,GAAG,GAAG;gCACnB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,gBAAgB;gCAC3C,CAAC,CAAC,QAAQ,CAAC;4BACf,OAAO,CAAC,IAAI,CAAC;gCACX,IAAI,EAAE,WAAW;gCACjB,QAAQ,EAAE,CAAC,CAAC,IAAc;gCAC1B,SAAS,EAAE,SAAS;6BACrB,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC3B,MAAM,OAAO,GAAG,MAAM,CAAC,OAEV,CAAC;gBACd,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;oBACrB,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;wBACxC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;oBAChE,CAAC;yBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;wBAC1C,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;4BACpC,MAAM,CAAC,GAAG,KAAgC,CAAC;4BAC3C,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gCACpD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;4BACvD,CAAC;iCAAM,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gCACxD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;4BAClE,CAAC;iCAAM,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gCACpC,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;gCAC1B,MAAM,GAAG,GACP,OAAO,OAAO,KAAK,QAAQ;oCACzB,CAAC,CAAC,OAAO;oCACT,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC;gCACvD,MAAM,SAAS,GACb,GAAG,CAAC,MAAM,GAAG,GAAG;oCACd,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,gBAAgB;oCACtC,CAAC,CAAC,GAAG,CAAC;gCACV,OAAO,CAAC,IAAI,CAAC;oCACX,IAAI,EAAE,aAAa;oCACnB,QAAQ,EACL,CAAC,CAAC,WAAkC,IAAI,SAAS;oCACpD,IAAI,EAAE,SAAS;oCACf,OAAO,EAAE,CAAC,CAAC,QAAQ,KAAK,IAAI;iCAC7B,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,uBAAuB;QACzB,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,cAAc;gBACjB,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;gBACzC,MAAM;YACR,KAAK,gBAAgB;gBACnB,KAAK,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC9C,MAAM;YACR,KAAK,WAAW;gBACd,KAAK,CAAC,IAAI,CACR,eAAe,KAAK,CAAC,QAAQ,IAAI,SAAS,IAAI,KAAK,CAAC,SAAS,IAAI,EAAE,GAAG,CACvE,CAAC;gBACF,MAAM;YACR,KAAK,aAAa;gBAChB,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBAClB,KAAK,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;gBACjD,CAAC;gBACD,0DAA0D;gBAC1D,MAAM;QACV,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAe;IACpD,IAAI,YAAY,GAAG,KAAK,CAAC;IAEzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,SAAS;QAC3B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA4B,CAAC;YAC3D,MAAM,IAAI,GAAG,MAAM,CAAC,IAA0B,CAAC;YAE/C,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;gBACzB,MAAM,OAAO,GAAG,MAAM,CAAC,OAEV,CAAC;gBACd,IAAI,OAAO,EAAE,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;oBACvD,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;wBACpC,MAAM,CAAC,GAAG,KAAgC,CAAC;wBAC3C,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;4BAC1B,YAAY,GAAG,IAAI,CAAC;4BACpB,MAAM,QAAQ,GAAG,CAAC,CAAC,IAA0B,CAAC;4BAC9C,IAAI,CAAC,QAAQ,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;gCAC1C,uDAAuD;gCACvD,OAAO,KAAK,CAAC;4BACf,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,uBAAuB;QACzB,CAAC;IACH,CAAC;IAED,6DAA6D;IAC7D,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,8EAA8E;AAC9E,gCAAgC;AAChC,8EAA8E;AAE9E,MAAM,cAAc,GAAG;;;;;;;;;;;;CAYtB,CAAC;AAOF,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,mBAA2B,EAC3B,MAAwB;IAExB,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,EAAE,GAAG,IAAI,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAEvC,MAAM,aAAa,GAAG,MAAM,CAAC;IAC7B,MAAM,cAAc,GAClB,mBAAmB,CAAC,MAAM,GAAG,aAAa;QACxC,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC;YAC3C,6BAA6B;QAC/B,CAAC,CAAC,mBAAmB,CAAC;IAE1B,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC;QAC/C,KAAK,EAAE,oBAAoB;QAC3B,QAAQ,EAAE,cAAc,GAAG,cAAc;KAC1C,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;IAEjC,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;IAC5D,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAGrC,CAAC;QACF,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;YAC9C,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;gBAC9C,CAAC,CAAC,MAAM,CAAC,YAAY;gBACrB,CAAC,CAAC,EAAE;SACP,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;IAC5D,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,kCAAkC;AAClC,8EAA8E;AAE9E,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,IAAY,EACZ,MAAwB;IAExB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,EAAE,GAAG,IAAI,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAEvC,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC;YAC1C,KAAK,EAAE,sBAAsB;YAC7B,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,EAAE,oBAAoB,EAAE,aAAa,EAAE;SAChD,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;QAC9C,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAChD,IAAI,MAAM,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CACb,uCAAuC,MAAM,CAAC,MAAM,cAAc,aAAa,EAAE,CAClF,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CACT,iEAAiE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACpH,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,iCAAiC;AACjC,8EAA8E;AAE9E;gEACgE;AAChE,MAAM,qBAAqB,GAAG,KAAK,CAAC;AAEpC;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAA8B;IAE9B,MAAM,EACJ,WAAW,EACX,UAAU,EACV,SAAS,EACT,OAAO,EACP,cAAc,EACd,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,MAAM,EACN,OAAO,GACR,GAAG,OAAO,CAAC;IAEZ,2EAA2E;IAC3E,wEAAwE;IACxE,mEAAmE;IAEnE,2BAA2B;IAC3B,MAAM,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IACtC,IAAI,OAAO,KAAK,WAAW,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,GAAG,EAAE,EAAE,CAAC;QACvE,MAAM,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAC3E,OAAO;IACT,CAAC;IAED,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QACnB,MAAM,CAAC,KAAK,CACV,+DAA+D,CAChE,CAAC;QACF,OAAO;IACT,CAAC;IAED,2EAA2E;IAC3E,mEAAmE;IACnE,MAAM,KAAK,GAAG,MAAM,mBAAmB,CACrC,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,qBAAqB,CACtD,CAAC;IACF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;QACzE,OAAO;IACT,CAAC;IAED,wDAAwD;IACxD,yEAAyE;IACzE,2DAA2D;IAC3D,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,KAAK,EAAE;QAC1D,cAAc,EAAE,cAAc;QAC9B,YAAY,EAAE,YAAY;KAC3B,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACnE,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEnE,2EAA2E;IAC3E,qEAAqE;IACrE,8CAA8C;IAE9C,0EAA0E;IAC1E,IAAI,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC;QAClC,MAAM,CAAC,KAAK,CACV,uEAAuE,CACxE,CAAC;QACF,OAAO;IACT,CAAC;IAED,6BAA6B;IAC7B,MAAM,SAAS,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IACnD,IAAI,SAAS,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QAC1B,MAAM,CAAC,KAAK,CACV,yDAAyD,CAC1D,CAAC;QACF,OAAO;IACT,CAAC;IAED,4CAA4C;IAC5C,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM,eAAe,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAE3E,iEAAiE;IACjE,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC9D,MAAM,aAAa,GAAG,YAAY;QAChC,CAAC,CAAC,MAAM,CAAC,IAAI,CACT,YAAY,CAAC,MAAM,EACnB,YAAY,CAAC,UAAU,EACvB,YAAY,CAAC,UAAU,CACxB;QACH,CAAC,CAAC,IAAI,CAAC;IAET,0BAA0B;IAC1B,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IACxC,MAAM,eAAe,GAAG,OAAO,KAAK,WAAW;QAC7C,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,CAAC,YAAY,EAAE,OAAO,IAAI,SAAS,CAAC,CAAC;IACzC,MAAM,kBAAkB,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAE1F,KAAK,EAAE,CAAC;IACR,MAAM,UAAU,GAAG,gBAAgB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAC9D,UAAU,CAAC,GAAG,CACZ,WAAW,EACX,WAAW,EACX,cAAc,EACd,YAAY,EACZ,OAAO,EACP,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAC7D,UAAU,EACV,SAAS,EACT,OAAO,EACP,aAAa,EACb,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,OAAO,IAAI,IAAI,EACf,kBAAkB,CAAC,aAAa,EAChC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACpC,kBAAkB,CAAC,qBAAqB,EACxC,CAAC,CACF,CAAC;IAEF,kDAAkD;IAClD,IAAI,UAAU,IAAI,aAAa,IAAI,aAAa,EAAE,CAAC;QACjD,IAAI,CAAC;YACH,aAAa,CAAC,GAAG,CACf,WAAW,EACX,IAAI,UAAU,CAAC,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,CAAC,CACzF,CAAC;QACJ,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CACT,wDAAwD,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CACpH,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,CAAC,MAAM,CACX,2CAA2C,WAAW,KAAK,KAAK,CAAC,MAAM,YAAY,OAAO,CAAC,MAAM,eAAe,CACjH,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAWrC;IACC,KAAK,EAAE,CAAC;IACR,MAAM,UAAU,GAAG,gBAAgB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAC9D,UAAU,CAAC,GAAG,CACZ,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,cAAc,EACrB,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;QACjD,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC;QACpC,CAAC,CAAC,IAAI,EACR,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,aAAa,EACpB,IAAI,EAAG,gEAAgE;IACvE,IAAI,EAAG,eAAe;IACtB,IAAI,EAAG,kBAAkB;IACzB,IAAI,EAAG,UAAU;IACjB,CAAC,EAAM,kBAAkB;IACzB,CAAC,EAAM,uBAAuB;IAC9B,IAAI,EAAG,2BAA2B;IAClC,CAAC,CACF,CAAC;IAEF,kDAAkD;IAClD,IAAI,UAAU,IAAI,aAAa,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACxD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,CAAC;YAClC,aAAa,CAAC,GAAG,CACf,MAAM,CAAC,WAAW,EAClB,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAC9D,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,gDAAgD;QAClD,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,MAAM,UAAU,GAAG,KAAK,EAAE,CAAC;IAC3B,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC,GAAG,EAElE,CAAC;IACd,OAAO,GAAG,EAAE,KAAK,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,KAAK,GAAG,KAAK;IAC1D,MAAM,UAAU,GAAG,KAAK,EAAE,CAAC;IAC3B,OAAO,UAAU,CAAC,OAAO,CAAC;;;;;;;;GAQzB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAiC,CAAC;AAC7D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAK,GAAG,GAAG;IAClD,MAAM,UAAU,GAAG,KAAK,EAAE,CAAC;IAC3B,OAAO,UAAU,CAAC,OAAO,CAAC;;;;;;;;;GASzB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAiC,CAAC;AAC7D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CAAC,WAAmB;IAC5D,MAAM,UAAU,GAAG,KAAK,EAAE,CAAC;IAC3B,UAAU,CAAC,OAAO,CAChB,mEAAmE,CACpE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,6BAA6B,CAC3C,WAAmB,EACnB,KAAa;IAEb,MAAM,UAAU,GAAG,KAAK,EAAE,CAAC;IAC3B,UAAU,CAAC,OAAO,CAChB,sGAAsG,CACvG,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,WAAW,CAAC,CAAC;AACtD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,4BAA4B,CAC1C,WAAmB,EACnB,aAAqB;IAErB,MAAM,UAAU,GAAG,KAAK,EAAE,CAAC;IAC3B,UAAU,CAAC,OAAO,CAChB,oEAAoE,CACrE,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,WAAmB;IACjD,KAAK,EAAE,CAAC;IACR,MAAM,WAAW,GAAG,gBAAgB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACjE,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,WAAW,CAE1B,CAAC;IACd,OAAO,GAAG,KAAK,SAAS,CAAC;AAC3B,CAAC;AAeD;;GAEG;AACH,MAAM,UAAU,yBAAyB;IACvC,KAAK,EAAE,CAAC;IACR,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAsB;IACrD,MAAM,EAAE,IAAI,GAAG,SAAS,EAAE,GAAG,OAAO,CAAC;IAErC,yDAAyD;IACzD,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QAC9D,MAAM,CAAC,KAAK,CACV,mGAAmG,CACpG,CAAC;QACF,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAED,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,UAAU;YACb,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;QACjC,KAAK,QAAQ;YACX,OAAO,YAAY,CAAC,OAAO,CAAC,CAAC;QAC/B;YACE,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,OAAsB;IAC3C,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC;IAE7D,KAAK,EAAE,CAAC;IAER,qEAAqE;IACrE,MAAM,SAAS,GAAG,KAAK;SACpB,KAAK,CAAC,KAAK,CAAC;SACZ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;SAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC;SACtC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhB,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,CAAC;IAE1B,kDAAkD;IAClD,MAAM,UAAU,GAAG,SAAS,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAEhE,MAAM,WAAW,GAAG,gBAAgB,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,CAAC;IAC7E,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAC1B,SAAS,EACT,UAAU,CACkB,CAAC;IAE/B,gEAAgE;IAChE,8DAA8D;IAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAClC,GAAG,CAAC;QACJ,eAAe,EAAE,kBAAkB,CAAC,CAAC,CAAC,eAAe,CAAC;KACvD,CAAC,CAAC,CAAC;IAEJ,OAAO,YAAY,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;AACjE,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CAAC,OAAsB;IAC5C,uDAAuD;IACvD,iDAAiD;IACjD,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAsB;IAEtB,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAErE,IAAI,CAAC,UAAU,IAAI,CAAC,kBAAkB,IAAI,CAAC,MAAM,EAAE,CAAC;QAClD,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,EAAE,CAAC;IAER,mCAAmC;IACnC,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC9D,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,CAAC,KAAK,CACV,iFAAiF,CAClF,CAAC;QACF,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAED,sBAAsB;IACtB,MAAM,SAAS,GAAG,IAAI,UAAU,CAC9B,cAAc,CAAC,MAAM,EACrB,cAAc,CAAC,UAAU,EACzB,cAAc,CAAC,UAAU,CAC1B,CAAC;IAEF,MAAM,UAAU,GAAG,SAAS,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAEhE,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,CACpC,SAAS,EACT,UAAU,CACiD,CAAC;IAE9D,iDAAiD;IACjD,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,MAAM,WAAW,GAAG,gBAAgB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACjE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAEnC,CAAC;QACd,IAAI,GAAG,EAAE,CAAC;YACR,OAAO,CAAC,IAAI,CAAC;gBACX,aAAa,EAAE,GAAG,CAAC,aAAa;gBAChC,YAAY,EAAE,GAAG,CAAC,YAAY;gBAC9B,eAAe,EAAE,GAAG,CAAC,eAAe;gBACpC,aAAa,EAAE,GAAG,CAAC,aAAa;gBAChC,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,mDAAmD;gBACnD,iDAAiD;gBACjD,eAAe,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;aAC3C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;AAC9D,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAAsB;IAEtB,MAAM,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC;IAE9B,gEAAgE;IAChE,MAAM,cAAc,GAAG,aAAa,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;IACvE,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC;QAChD,GAAG,OAAO;QACV,KAAK,EAAE,KAAK,GAAG,CAAC;KACjB,CAAC,CAAC;IAEH,OAAO,WAAW,CAAC,cAAc,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;AAC7D,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAClB,cAA8B,EAC9B,eAA+B,EAC/B,KAAa,EACb,CAAC,GAAG,EAAE;IAEN,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,MAAM,SAAS,GAAG,IAAI,GAAG,EAAwB,CAAC;IAElD,6BAA6B;IAC7B,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;QACxD,MAAM,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;QACpC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC;QAC/E,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IACpC,CAAC;IAED,8BAA8B;IAC9B,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;QACzD,MAAM,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;QACpC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC;QAC/E,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC;YACpC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,wDAAwD;IACxD,MAAM,KAAK,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;SAClC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SAC3B,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;SACf,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE;QACnB,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,uCAAuC,EAAE,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,EAAE,GAAG,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEL,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY,CAAC,OAAsB;IAC1C,iEAAiE;IACjE,kEAAkE;IAClE,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CACnB,OAAuB,EACvB,SAAqD,EACrD,WAA+B,EAC/B,KAAa;IAEb,IAAI,QAAQ,GAAG,OAAO,CAAC;IAEvB,IAAI,SAAS,EAAE,CAAC;QACd,QAAQ,GAAG,QAAQ,CAAC,MAAM,CACxB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,eAAe,IAAI,SAAS,CAAC,KAAK;YACpC,CAAC,CAAC,aAAa,IAAI,SAAS,CAAC,GAAG,CACnC,CAAC;IACJ,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QAChB,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,WAAW,CAAC,CAAC;IACpE,CAAC;IAED,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAClC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AAClC,CAAC;AAED,8EAA8E;AAC9E,0BAA0B;AAC1B,8EAA8E;AAE9E;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,WAAmB;IACtD,KAAK,EAAE,CAAC;IACR,MAAM,WAAW,GAAG,gBAAgB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACjE,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,WAAW,CAE1B,CAAC;IACd,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,OAAO,GAAG,CAAC,YAAY,CAAC;AAC1B,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,WAAmB;IAEnB,KAAK,EAAE,CAAC;IACR,MAAM,WAAW,GAAG,gBAAgB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACjE,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,WAAW,CAE1B,CAAC;IACd,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IAEtB,MAAM,KAAK,GAAG,MAAM,mBAAmB,CACrC,GAAG,CAAC,WAAW,EACf,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,QAAQ,CACb,CAAC;IAEF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,uGAAuG,CAAC;IACjH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E;;GAEG;AACH,MAAM,UAAU,uBAAuB;IACrC,IAAI,EAAE,EAAE,CAAC;QACP,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,EAAE,GAAG,IAAI,CAAC;QACV,UAAU,GAAG,IAAI,CAAC;QAClB,aAAa,GAAG,IAAI,CAAC;QACrB,iBAAiB,GAAG,IAAI,CAAC;QACzB,kBAAkB,GAAG,IAAI,CAAC;QAC1B,WAAW,GAAG,IAAI,CAAC;QACnB,UAAU,GAAG,KAAK,CAAC;IACrB,CAAC;AACH,CAAC"}
@@ -1,25 +0,0 @@
1
- /**
2
- * Explicit SQL migration runner for the local `transcript_memory.db` database.
3
- *
4
- * Instead of embedding ad-hoc ALTER TABLE statements inline in getDb(),
5
- * migrations are declared as ordered entries. Each entry has a unique ID
6
- * and one or more SQL statements. The runner:
7
- *
8
- * 1. Creates a `transcript_memory_migrations` metadata table (if needed).
9
- * 2. Applies any migration whose ID is not yet recorded.
10
- * 3. Records each successful migration.
11
- *
12
- * Call `runTranscriptMemoryMigrations(db)` once inside getDb(), after the
13
- * base `CREATE TABLE IF NOT EXISTS wake_cycles (…)` statement, but before
14
- * preparing any statements that depend on new columns.
15
- */
16
- import type { DatabaseSync } from "node:sqlite";
17
- /**
18
- * Run all pending transcript-memory migrations against the given database.
19
- *
20
- * Safe to call on every startup — already-applied migrations are skipped.
21
- * Each migration is wrapped in a transaction so partial failures are
22
- * rolled back cleanly (leaving the migration un-recorded).
23
- */
24
- export declare function runTranscriptMemoryMigrations(db: DatabaseSync): void;
25
- //# sourceMappingURL=transcript-memory-migrations.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transcript-memory-migrations.d.ts","sourceRoot":"","sources":["../../../src/agent/transcript/transcript-memory-migrations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AA6ChD;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CA2CpE"}
@@ -1,87 +0,0 @@
1
- /**
2
- * Explicit SQL migration runner for the local `transcript_memory.db` database.
3
- *
4
- * Instead of embedding ad-hoc ALTER TABLE statements inline in getDb(),
5
- * migrations are declared as ordered entries. Each entry has a unique ID
6
- * and one or more SQL statements. The runner:
7
- *
8
- * 1. Creates a `transcript_memory_migrations` metadata table (if needed).
9
- * 2. Applies any migration whose ID is not yet recorded.
10
- * 3. Records each successful migration.
11
- *
12
- * Call `runTranscriptMemoryMigrations(db)` once inside getDb(), after the
13
- * base `CREATE TABLE IF NOT EXISTS wake_cycles (…)` statement, but before
14
- * preparing any statements that depend on new columns.
15
- */
16
- import { logger } from "../../logger.js";
17
- /**
18
- * Ordered list of migrations. New migrations are appended at the end.
19
- * IDs must be unique and stable.
20
- */
21
- const MIGRATIONS = [
22
- {
23
- id: "20260504_add_usage_reporting",
24
- description: "Add usage-reporting columns to wake_cycles",
25
- sql: [
26
- "ALTER TABLE wake_cycles ADD COLUMN tool_calls_json TEXT",
27
- "ALTER TABLE wake_cycles ADD COLUMN usage_reported INTEGER NOT NULL DEFAULT 0",
28
- "ALTER TABLE wake_cycles ADD COLUMN trigger_type TEXT",
29
- "ALTER TABLE wake_cycles ADD COLUMN trigger_channel TEXT",
30
- "ALTER TABLE wake_cycles ADD COLUMN outcome TEXT",
31
- "ALTER TABLE wake_cycles ADD COLUMN tool_call_count INTEGER NOT NULL DEFAULT 0",
32
- "ALTER TABLE wake_cycles ADD COLUMN tool_calls_truncated INTEGER NOT NULL DEFAULT 0",
33
- "ALTER TABLE wake_cycles ADD COLUMN reported_tool_call_count INTEGER",
34
- "ALTER TABLE wake_cycles ADD COLUMN usage_report_error TEXT",
35
- "ALTER TABLE wake_cycles ADD COLUMN usage_report_attempted_at TEXT",
36
- `CREATE INDEX IF NOT EXISTS idx_wake_cycles_usage_reported
37
- ON wake_cycles(usage_reported, timestamp_start)`,
38
- ],
39
- },
40
- ];
41
- // ---------------------------------------------------------------------------
42
- // Runner
43
- // ---------------------------------------------------------------------------
44
- /**
45
- * Run all pending transcript-memory migrations against the given database.
46
- *
47
- * Safe to call on every startup — already-applied migrations are skipped.
48
- * Each migration is wrapped in a transaction so partial failures are
49
- * rolled back cleanly (leaving the migration un-recorded).
50
- */
51
- export function runTranscriptMemoryMigrations(db) {
52
- // Ensure the metadata table exists.
53
- db.exec(`
54
- CREATE TABLE IF NOT EXISTS transcript_memory_migrations (
55
- id TEXT PRIMARY KEY,
56
- applied_at TEXT NOT NULL
57
- )
58
- `);
59
- const stmtCheck = db.prepare("SELECT 1 FROM transcript_memory_migrations WHERE id = ?");
60
- const stmtRecord = db.prepare("INSERT INTO transcript_memory_migrations (id, applied_at) VALUES (?, ?)");
61
- for (const migration of MIGRATIONS) {
62
- const existing = stmtCheck.get(migration.id);
63
- if (existing)
64
- continue; // already applied
65
- try {
66
- db.exec("BEGIN");
67
- for (const sql of migration.sql) {
68
- db.exec(sql);
69
- }
70
- stmtRecord.run(migration.id, new Date().toISOString());
71
- db.exec("COMMIT");
72
- logger.system(`[transcript-memory-migrations] Applied: ${migration.id} — ${migration.description}`);
73
- }
74
- catch (err) {
75
- try {
76
- db.exec("ROLLBACK");
77
- }
78
- catch {
79
- // best-effort rollback
80
- }
81
- logger.warn(`[transcript-memory-migrations] Failed to apply ${migration.id}: ${err instanceof Error ? err.message : String(err)}`);
82
- // Stop processing further migrations — ordering matters.
83
- break;
84
- }
85
- }
86
- }
87
- //# sourceMappingURL=transcript-memory-migrations.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transcript-memory-migrations.js","sourceRoot":"","sources":["../../../src/agent/transcript/transcript-memory-migrations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAezC;;;GAGG;AACH,MAAM,UAAU,GAAgB;IAC9B;QACE,EAAE,EAAE,8BAA8B;QAClC,WAAW,EAAE,4CAA4C;QACzD,GAAG,EAAE;YACH,yDAAyD;YACzD,8EAA8E;YAC9E,sDAAsD;YACtD,yDAAyD;YACzD,iDAAiD;YACjD,+EAA+E;YAC/E,oFAAoF;YACpF,qEAAqE;YACrE,4DAA4D;YAC5D,mEAAmE;YACnE;wDACkD;SACnD;KACF;CACF,CAAC;AAEF,8EAA8E;AAC9E,SAAS;AACT,8EAA8E;AAE9E;;;;;;GAMG;AACH,MAAM,UAAU,6BAA6B,CAAC,EAAgB;IAC5D,oCAAoC;IACpC,EAAE,CAAC,IAAI,CAAC;;;;;GAKP,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO,CAC1B,yDAAyD,CAC1D,CAAC;IACF,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAC3B,yEAAyE,CAC1E,CAAC;IAEF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAY,CAAC;QACxD,IAAI,QAAQ;YAAE,SAAS,CAAC,kBAAkB;QAE1C,IAAI,CAAC;YACH,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACjB,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,CAAC;gBAChC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACf,CAAC;YACD,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;YACvD,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClB,MAAM,CAAC,MAAM,CACX,2CAA2C,SAAS,CAAC,EAAE,MAAM,SAAS,CAAC,WAAW,EAAE,CACrF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC;gBACH,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACtB,CAAC;YAAC,MAAM,CAAC;gBACP,uBAAuB;YACzB,CAAC;YACD,MAAM,CAAC,IAAI,CACT,kDAAkD,SAAS,CAAC,EAAE,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACtH,CAAC;YACF,yDAAyD;YACzD,MAAM;QACR,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1,25 +0,0 @@
1
- /**
2
- * Explicit SQL migration runner for the local `transcript_memory.db` database.
3
- *
4
- * Instead of embedding ad-hoc ALTER TABLE statements inline in getDb(),
5
- * migrations are declared as ordered entries. Each entry has a unique ID
6
- * and one or more SQL statements. The runner:
7
- *
8
- * 1. Creates a `transcript_memory_migrations` metadata table (if needed).
9
- * 2. Applies any migration whose ID is not yet recorded.
10
- * 3. Records each successful migration.
11
- *
12
- * Call `runTranscriptMemoryMigrations(db)` once inside getDb(), after the
13
- * base `CREATE TABLE IF NOT EXISTS wake_cycles (…)` statement, but before
14
- * preparing any statements that depend on new columns.
15
- */
16
- import type { DatabaseSync } from "node:sqlite";
17
- /**
18
- * Run all pending transcript-memory migrations against the given database.
19
- *
20
- * Safe to call on every startup — already-applied migrations are skipped.
21
- * Each migration is wrapped in a transaction so partial failures are
22
- * rolled back cleanly (leaving the migration un-recorded).
23
- */
24
- export declare function runTranscriptMemoryMigrations(db: DatabaseSync): void;
25
- //# sourceMappingURL=transcript-memory-migrations.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transcript-memory-migrations.d.ts","sourceRoot":"","sources":["../../src/agent/transcript-memory-migrations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AA6ChD;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CA2CpE"}
@@ -1,87 +0,0 @@
1
- /**
2
- * Explicit SQL migration runner for the local `transcript_memory.db` database.
3
- *
4
- * Instead of embedding ad-hoc ALTER TABLE statements inline in getDb(),
5
- * migrations are declared as ordered entries. Each entry has a unique ID
6
- * and one or more SQL statements. The runner:
7
- *
8
- * 1. Creates a `transcript_memory_migrations` metadata table (if needed).
9
- * 2. Applies any migration whose ID is not yet recorded.
10
- * 3. Records each successful migration.
11
- *
12
- * Call `runTranscriptMemoryMigrations(db)` once inside getDb(), after the
13
- * base `CREATE TABLE IF NOT EXISTS wake_cycles (…)` statement, but before
14
- * preparing any statements that depend on new columns.
15
- */
16
- import { logger } from "../logger.js";
17
- /**
18
- * Ordered list of migrations. New migrations are appended at the end.
19
- * IDs must be unique and stable.
20
- */
21
- const MIGRATIONS = [
22
- {
23
- id: "20260504_add_usage_reporting",
24
- description: "Add usage-reporting columns to wake_cycles",
25
- sql: [
26
- "ALTER TABLE wake_cycles ADD COLUMN tool_calls_json TEXT",
27
- "ALTER TABLE wake_cycles ADD COLUMN usage_reported INTEGER NOT NULL DEFAULT 0",
28
- "ALTER TABLE wake_cycles ADD COLUMN trigger_type TEXT",
29
- "ALTER TABLE wake_cycles ADD COLUMN trigger_channel TEXT",
30
- "ALTER TABLE wake_cycles ADD COLUMN outcome TEXT",
31
- "ALTER TABLE wake_cycles ADD COLUMN tool_call_count INTEGER NOT NULL DEFAULT 0",
32
- "ALTER TABLE wake_cycles ADD COLUMN tool_calls_truncated INTEGER NOT NULL DEFAULT 0",
33
- "ALTER TABLE wake_cycles ADD COLUMN reported_tool_call_count INTEGER",
34
- "ALTER TABLE wake_cycles ADD COLUMN usage_report_error TEXT",
35
- "ALTER TABLE wake_cycles ADD COLUMN usage_report_attempted_at TEXT",
36
- `CREATE INDEX IF NOT EXISTS idx_wake_cycles_usage_reported
37
- ON wake_cycles(usage_reported, timestamp_start)`,
38
- ],
39
- },
40
- ];
41
- // ---------------------------------------------------------------------------
42
- // Runner
43
- // ---------------------------------------------------------------------------
44
- /**
45
- * Run all pending transcript-memory migrations against the given database.
46
- *
47
- * Safe to call on every startup — already-applied migrations are skipped.
48
- * Each migration is wrapped in a transaction so partial failures are
49
- * rolled back cleanly (leaving the migration un-recorded).
50
- */
51
- export function runTranscriptMemoryMigrations(db) {
52
- // Ensure the metadata table exists.
53
- db.exec(`
54
- CREATE TABLE IF NOT EXISTS transcript_memory_migrations (
55
- id TEXT PRIMARY KEY,
56
- applied_at TEXT NOT NULL
57
- )
58
- `);
59
- const stmtCheck = db.prepare("SELECT 1 FROM transcript_memory_migrations WHERE id = ?");
60
- const stmtRecord = db.prepare("INSERT INTO transcript_memory_migrations (id, applied_at) VALUES (?, ?)");
61
- for (const migration of MIGRATIONS) {
62
- const existing = stmtCheck.get(migration.id);
63
- if (existing)
64
- continue; // already applied
65
- try {
66
- db.exec("BEGIN");
67
- for (const sql of migration.sql) {
68
- db.exec(sql);
69
- }
70
- stmtRecord.run(migration.id, new Date().toISOString());
71
- db.exec("COMMIT");
72
- logger.system(`[transcript-memory-migrations] Applied: ${migration.id} — ${migration.description}`);
73
- }
74
- catch (err) {
75
- try {
76
- db.exec("ROLLBACK");
77
- }
78
- catch {
79
- // best-effort rollback
80
- }
81
- logger.warn(`[transcript-memory-migrations] Failed to apply ${migration.id}: ${err instanceof Error ? err.message : String(err)}`);
82
- // Stop processing further migrations — ordering matters.
83
- break;
84
- }
85
- }
86
- }
87
- //# sourceMappingURL=transcript-memory-migrations.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transcript-memory-migrations.js","sourceRoot":"","sources":["../../src/agent/transcript-memory-migrations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAetC;;;GAGG;AACH,MAAM,UAAU,GAAgB;IAC9B;QACE,EAAE,EAAE,8BAA8B;QAClC,WAAW,EAAE,4CAA4C;QACzD,GAAG,EAAE;YACH,yDAAyD;YACzD,8EAA8E;YAC9E,sDAAsD;YACtD,yDAAyD;YACzD,iDAAiD;YACjD,+EAA+E;YAC/E,oFAAoF;YACpF,qEAAqE;YACrE,4DAA4D;YAC5D,mEAAmE;YACnE;wDACkD;SACnD;KACF;CACF,CAAC;AAEF,8EAA8E;AAC9E,SAAS;AACT,8EAA8E;AAE9E;;;;;;GAMG;AACH,MAAM,UAAU,6BAA6B,CAAC,EAAgB;IAC5D,oCAAoC;IACpC,EAAE,CAAC,IAAI,CAAC;;;;;GAKP,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO,CAC1B,yDAAyD,CAC1D,CAAC;IACF,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAC3B,yEAAyE,CAC1E,CAAC;IAEF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAY,CAAC;QACxD,IAAI,QAAQ;YAAE,SAAS,CAAC,kBAAkB;QAE1C,IAAI,CAAC;YACH,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACjB,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,CAAC;gBAChC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACf,CAAC;YACD,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;YACvD,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClB,MAAM,CAAC,MAAM,CACX,2CAA2C,SAAS,CAAC,EAAE,MAAM,SAAS,CAAC,WAAW,EAAE,CACrF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC;gBACH,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACtB,CAAC;YAAC,MAAM,CAAC;gBACP,uBAAuB;YACzB,CAAC;YACD,MAAM,CAAC,IAAI,CACT,kDAAkD,SAAS,CAAC,EAAE,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACtH,CAAC;YACF,yDAAyD;YACzD,MAAM;QACR,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1,90 +0,0 @@
1
- /**
2
- * Tunnel credential coordinator.
3
- *
4
- * Owns every tunnel-specific concern around a heartbeat-delivered
5
- * `runtimeCredentials` bundle:
6
- *
7
- * - materialising the bundle to disk (via `runtime-credentials.ts`)
8
- * - deciding whether a cloudflared bounce is needed
9
- * - coalescing concurrent restart triggers
10
- * - tracking whether the next heartbeat should still ask the server
11
- * to bootstrap a credential (i.e. nothing usable is on disk yet)
12
- *
13
- * Extracted out of `HeartbeatManager` so the heartbeat layer stays
14
- * concerned with heartbeats and command dispatch; the tunnel coupling
15
- * lives here instead.
16
- */
17
- import type { RuntimeCredentials } from "../onboarding/onboarding-service-client.js";
18
- export interface TunnelCredentialHandlerOptions {
19
- /** Canonical agent name used to validate tunnel-name drift. */
20
- agentName: string;
21
- /**
22
- * Callback that bounces cloudflared (typically the `restartTunnel`
23
- * returned from `startObsServer`). Invoked when a newly materialised
24
- * credential differs from what's on disk — otherwise cloudflared keeps
25
- * running against the UUID it was spawned with (it does not hot-reload
26
- * `config.yml`).
27
- *
28
- * Optional so test harnesses and non-obs builds can skip the restart
29
- * side-effect entirely.
30
- */
31
- restartTunnel?: () => Promise<string | null>;
32
- }
33
- export declare class TunnelCredentialHandler {
34
- private readonly agentName;
35
- private readonly restartTunnel?;
36
- private _restartInFlight;
37
- /**
38
- * Set whenever a `tunnelChanged` apply lands while a previous restart
39
- * is still in flight. The in-flight restart already snapshotted disk
40
- * state at its start (`resolveTunnelOpts()` in `obs/server.ts`), so
41
- * the second rotation needs its own bounce — we re-kick from the
42
- * restart's `finally` block when this flag is set.
43
- *
44
- * Stored as the latest `ApplyRuntimeCredentialsResult` so the rotation
45
- * label in the follow-up log line still reflects the *latest* tunnel
46
- * delivery, not the first one that was already restarted.
47
- */
48
- private _pendingRestart;
49
- /**
50
- * True whenever we still need the server to include a
51
- * `runtimeCredentials` bundle on the next heartbeat — i.e. nothing
52
- * usable is on disk yet. Flips to false the first time we materialise
53
- * a credential successfully, and flips back to true whenever a probe
54
- * finds the profile tunnel dir empty again.
55
- */
56
- private _needsBootstrap;
57
- /**
58
- * Latch so we only emit the "running on pre-existing local credential,
59
- * awaiting server-issued bundle" notice once per process. The state it
60
- * describes is benign but operators want to see it called out in logs
61
- * right after an upgrade from a legacy-adopted agent when the server
62
- * hasn't been provisioned yet.
63
- */
64
- private _loggedAwaitingServerBundle;
65
- constructor(options: TunnelCredentialHandlerOptions);
66
- /** Whether the next heartbeat should request a bootstrap bundle. */
67
- get needsBootstrap(): boolean;
68
- /**
69
- * Handle a `runtimeCredentials` bundle from a heartbeat response.
70
- *
71
- * Defensive by contract: never throws — a failed materialisation must
72
- * not block heartbeats. Missing/undefined bundles are a no-op.
73
- */
74
- handle(bundle: RuntimeCredentials | undefined): void;
75
- /**
76
- * Kick `restartTunnel` in the background, coalescing concurrent
77
- * invocations. Logged at `system` level because a restart is a
78
- * visible event for operators tailing pm2 logs.
79
- *
80
- * If a restart is already in flight when we're called, we don't drop
81
- * the trigger — the in-flight restart sampled disk before this newer
82
- * credential was materialised and would launch cloudflared against
83
- * the stale UUID. Instead we record the latest result in
84
- * `_pendingRestart` and re-kick from the in-flight restart's
85
- * `finally` block, which guarantees one extra restart that picks up
86
- * whatever's now on disk.
87
- */
88
- private triggerRestart;
89
- }
90
- //# sourceMappingURL=tunnel-credential-handler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tunnel-credential-handler.d.ts","sourceRoot":"","sources":["../../src/agent/tunnel-credential-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAQrF,MAAM,WAAW,8BAA8B;IAC7C,+DAA+D;IAC/D,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;;;;;OASG;IACH,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC9C;AAED,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAA+B;IAC9D,OAAO,CAAC,gBAAgB,CAA8B;IACtD;;;;;;;;;;OAUG;IACH,OAAO,CAAC,eAAe,CAA8C;IACrE;;;;;;OAMG;IACH,OAAO,CAAC,eAAe,CAAQ;IAC/B;;;;;;OAMG;IACH,OAAO,CAAC,2BAA2B,CAAS;gBAEhC,OAAO,EAAE,8BAA8B;IAKnD,oEAAoE;IACpE,IAAI,cAAc,IAAI,OAAO,CAE5B;IAED;;;;;OAKG;IACH,MAAM,CAAC,MAAM,EAAE,kBAAkB,GAAG,SAAS,GAAG,IAAI;IAiDpD;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,cAAc;CA6CvB"}
@@ -1,162 +0,0 @@
1
- /**
2
- * Tunnel credential coordinator.
3
- *
4
- * Owns every tunnel-specific concern around a heartbeat-delivered
5
- * `runtimeCredentials` bundle:
6
- *
7
- * - materialising the bundle to disk (via `runtime-credentials.ts`)
8
- * - deciding whether a cloudflared bounce is needed
9
- * - coalescing concurrent restart triggers
10
- * - tracking whether the next heartbeat should still ask the server
11
- * to bootstrap a credential (i.e. nothing usable is on disk yet)
12
- *
13
- * Extracted out of `HeartbeatManager` so the heartbeat layer stays
14
- * concerned with heartbeats and command dispatch; the tunnel coupling
15
- * lives here instead.
16
- */
17
- import { applyRuntimeCredentials, probeLocalTunnelCredential, } from "./runtime-credentials.js";
18
- import { logger } from "../logger.js";
19
- export class TunnelCredentialHandler {
20
- agentName;
21
- restartTunnel;
22
- _restartInFlight = null;
23
- /**
24
- * Set whenever a `tunnelChanged` apply lands while a previous restart
25
- * is still in flight. The in-flight restart already snapshotted disk
26
- * state at its start (`resolveTunnelOpts()` in `obs/server.ts`), so
27
- * the second rotation needs its own bounce — we re-kick from the
28
- * restart's `finally` block when this flag is set.
29
- *
30
- * Stored as the latest `ApplyRuntimeCredentialsResult` so the rotation
31
- * label in the follow-up log line still reflects the *latest* tunnel
32
- * delivery, not the first one that was already restarted.
33
- */
34
- _pendingRestart = null;
35
- /**
36
- * True whenever we still need the server to include a
37
- * `runtimeCredentials` bundle on the next heartbeat — i.e. nothing
38
- * usable is on disk yet. Flips to false the first time we materialise
39
- * a credential successfully, and flips back to true whenever a probe
40
- * finds the profile tunnel dir empty again.
41
- */
42
- _needsBootstrap = true;
43
- /**
44
- * Latch so we only emit the "running on pre-existing local credential,
45
- * awaiting server-issued bundle" notice once per process. The state it
46
- * describes is benign but operators want to see it called out in logs
47
- * right after an upgrade from a legacy-adopted agent when the server
48
- * hasn't been provisioned yet.
49
- */
50
- _loggedAwaitingServerBundle = false;
51
- constructor(options) {
52
- this.agentName = options.agentName;
53
- this.restartTunnel = options.restartTunnel;
54
- }
55
- /** Whether the next heartbeat should request a bootstrap bundle. */
56
- get needsBootstrap() {
57
- return this._needsBootstrap;
58
- }
59
- /**
60
- * Handle a `runtimeCredentials` bundle from a heartbeat response.
61
- *
62
- * Defensive by contract: never throws — a failed materialisation must
63
- * not block heartbeats. Missing/undefined bundles are a no-op.
64
- */
65
- handle(bundle) {
66
- let result = null;
67
- try {
68
- result = applyRuntimeCredentials(bundle, { agentName: this.agentName });
69
- if (result.tunnelApplied) {
70
- this._needsBootstrap = false;
71
- }
72
- }
73
- catch (err) {
74
- logger.warn(`Runtime credential apply failed: ${err instanceof Error ? err.message : String(err)}`);
75
- }
76
- // If the apply wrote new files to disk, bounce cloudflared so it
77
- // picks up the fresh UUID/secret. Without this the obs server
78
- // spawned cloudflared against whatever was on disk at startup, and
79
- // a subsequent credential rotation (e.g. operator clicked
80
- // "Provision tunnel" on the admin UI) would sit unused until the
81
- // next manual agent restart.
82
- if (result?.tunnelApplied && result.tunnelChanged && result.tunnel) {
83
- this.triggerRestart(result);
84
- }
85
- // If we still don't have a local tunnel credential after applying,
86
- // keep asking the server to bootstrap on the next heartbeat. Also
87
- // covers the case where the server hasn't provisioned a tunnel for
88
- // this agent yet — subsequent heartbeats stay cheap (only the flag
89
- // is sent), and we pick up the credential the moment it exists.
90
- const probed = probeLocalTunnelCredential();
91
- if (probed === null) {
92
- this._needsBootstrap = true;
93
- }
94
- else if (!result?.tunnelApplied &&
95
- !this._loggedAwaitingServerBundle) {
96
- // Covers the legacy-adoption scenario: the agent was upgraded and
97
- // obs is already running on an adopted `~/.cloudflared` credential
98
- // that's now in the profile dir, but the server returned no
99
- // runtimeCredentials bundle (operator hasn't clicked "Provision
100
- // tunnel" yet). Call this out exactly once so the state is
101
- // unambiguous in logs — every subsequent heartbeat will still
102
- // re-ask via `needsBootstrap`, silently, until the bundle lands.
103
- this._loggedAwaitingServerBundle = true;
104
- logger.system(`Runtime credential: operating on pre-existing local tunnel ${probed.tunnelId}; awaiting server-issued bundle`);
105
- }
106
- }
107
- /**
108
- * Kick `restartTunnel` in the background, coalescing concurrent
109
- * invocations. Logged at `system` level because a restart is a
110
- * visible event for operators tailing pm2 logs.
111
- *
112
- * If a restart is already in flight when we're called, we don't drop
113
- * the trigger — the in-flight restart sampled disk before this newer
114
- * credential was materialised and would launch cloudflared against
115
- * the stale UUID. Instead we record the latest result in
116
- * `_pendingRestart` and re-kick from the in-flight restart's
117
- * `finally` block, which guarantees one extra restart that picks up
118
- * whatever's now on disk.
119
- */
120
- triggerRestart(result) {
121
- if (!this.restartTunnel || !result.tunnel)
122
- return;
123
- if (this._restartInFlight) {
124
- // Always overwrite — only the most recent credential matters; any
125
- // intermediate bundles will be on disk by the time the follow-up
126
- // restart re-probes via `obs/server.ts:resolveTunnelOpts()`.
127
- this._pendingRestart = result;
128
- return;
129
- }
130
- const newTunnelId = result.tunnel.tunnelId;
131
- const previousTunnelId = result.previousTunnelId;
132
- const rotationLabel = previousTunnelId === null
133
- ? "initial"
134
- : previousTunnelId === newTunnelId
135
- ? "refreshed"
136
- : `rotated (${previousTunnelId} → ${newTunnelId})`;
137
- logger.system(`Runtime credential: tunnel ${rotationLabel}; restarting cloudflared`);
138
- const restart = this.restartTunnel;
139
- this._restartInFlight = (async () => {
140
- try {
141
- await restart();
142
- }
143
- catch (err) {
144
- logger.warn(`Failed to restart tunnel after credential update: ${err instanceof Error ? err.message : String(err)}`);
145
- }
146
- finally {
147
- this._restartInFlight = null;
148
- // Drain any rotation that landed mid-flight. We re-enter
149
- // triggerRestart synchronously (not via setImmediate) so the
150
- // follow-up restart starts as soon as the previous Promise
151
- // resolves, but `_restartInFlight` is already null above so the
152
- // recursive call goes down the spawn path, not the coalesce path.
153
- const pending = this._pendingRestart;
154
- if (pending) {
155
- this._pendingRestart = null;
156
- this.triggerRestart(pending);
157
- }
158
- }
159
- })();
160
- }
161
- }
162
- //# sourceMappingURL=tunnel-credential-handler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tunnel-credential-handler.js","sourceRoot":"","sources":["../../src/agent/tunnel-credential-handler.ts"],"names":[],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- /**
2
- * Usage backfill handler — builds usage reports from stored wake cycle
3
- * records and uploads them directly to the onboarding server.
4
- *
5
- * For legacy rows that lack `tool_calls_json`, the handler attempts to
6
- * reconstruct tool calls by reading transcript lines from live or archived
7
- * transcript files (via `readWakeCycleTranscriptLines`).
8
- *
9
- * Backfill does NOT enqueue into usage.db and does NOT mutate
10
- * `usage_reported`. Server-side deduplication by `wakeCycleId` handles
11
- * any overlap with heartbeat-uploaded reports.
12
- */
13
- import type { VisionClawConfig } from "../../config/types.js";
14
- export declare function createUsageBackfillHandler(config: VisionClawConfig): () => Promise<{
15
- status: "completed" | "failed";
16
- result?: string;
17
- }>;
18
- //# sourceMappingURL=usage-backfill-handler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"usage-backfill-handler.d.ts","sourceRoot":"","sources":["../../../src/agent/usage/usage-backfill-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAc9D,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,gBAAgB,SAChD,OAAO,CAAC;IAAE,MAAM,EAAE,WAAW,GAAG,QAAQ,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAqE9E"}