spidersan 0.10.0 → 0.20.2

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 (430) hide show
  1. package/CHANGELOG.md +171 -0
  2. package/README.md +39 -280
  3. package/dist/bin/command-registry.d.ts +25 -0
  4. package/dist/bin/command-registry.d.ts.map +1 -0
  5. package/dist/bin/command-registry.js +29 -0
  6. package/dist/bin/command-registry.js.map +1 -0
  7. package/dist/bin/spidersan.d.ts +7 -0
  8. package/dist/bin/spidersan.d.ts.map +1 -1
  9. package/dist/bin/spidersan.js +38 -57
  10. package/dist/bin/spidersan.js.map +1 -1
  11. package/dist/commands/cleanup.d.ts.map +1 -1
  12. package/dist/commands/cleanup.js +17 -3
  13. package/dist/commands/cleanup.js.map +1 -1
  14. package/dist/commands/config.d.ts.map +1 -1
  15. package/dist/commands/config.js +11 -39
  16. package/dist/commands/config.js.map +1 -1
  17. package/dist/commands/conflicts.d.ts +22 -0
  18. package/dist/commands/conflicts.d.ts.map +1 -1
  19. package/dist/commands/conflicts.js +459 -256
  20. package/dist/commands/conflicts.js.map +1 -1
  21. package/dist/commands/cross-conflicts.d.ts.map +1 -1
  22. package/dist/commands/cross-conflicts.js +7 -8
  23. package/dist/commands/cross-conflicts.js.map +1 -1
  24. package/dist/commands/depends.d.ts +4 -1
  25. package/dist/commands/depends.d.ts.map +1 -1
  26. package/dist/commands/depends.js +35 -8
  27. package/dist/commands/depends.js.map +1 -1
  28. package/dist/commands/doctor.d.ts.map +1 -1
  29. package/dist/commands/doctor.js +25 -7
  30. package/dist/commands/doctor.js.map +1 -1
  31. package/dist/commands/git-watch.d.ts +1 -1
  32. package/dist/commands/git-watch.js +1 -1
  33. package/dist/commands/github-sync.d.ts +33 -0
  34. package/dist/commands/github-sync.d.ts.map +1 -1
  35. package/dist/commands/github-sync.js +68 -57
  36. package/dist/commands/github-sync.js.map +1 -1
  37. package/dist/commands/index.d.ts +2 -13
  38. package/dist/commands/index.d.ts.map +1 -1
  39. package/dist/commands/index.js +5 -20
  40. package/dist/commands/index.js.map +1 -1
  41. package/dist/commands/merge-order.d.ts.map +1 -1
  42. package/dist/commands/merge-order.js +8 -4
  43. package/dist/commands/merge-order.js.map +1 -1
  44. package/dist/commands/merged.d.ts.map +1 -1
  45. package/dist/commands/merged.js +5 -1
  46. package/dist/commands/merged.js.map +1 -1
  47. package/dist/commands/pr-check.d.ts +24 -0
  48. package/dist/commands/pr-check.d.ts.map +1 -0
  49. package/dist/commands/pr-check.js +85 -0
  50. package/dist/commands/pr-check.js.map +1 -0
  51. package/dist/commands/ready-check.d.ts.map +1 -1
  52. package/dist/commands/ready-check.js +6 -3
  53. package/dist/commands/ready-check.js.map +1 -1
  54. package/dist/commands/register.d.ts +5 -0
  55. package/dist/commands/register.d.ts.map +1 -1
  56. package/dist/commands/register.js +14 -1
  57. package/dist/commands/register.js.map +1 -1
  58. package/dist/commands/registry-sync.d.ts.map +1 -1
  59. package/dist/commands/registry-sync.js +12 -46
  60. package/dist/commands/registry-sync.js.map +1 -1
  61. package/dist/commands/stale.d.ts.map +1 -1
  62. package/dist/commands/stale.js +8 -3
  63. package/dist/commands/stale.js.map +1 -1
  64. package/dist/commands/sync.d.ts +14 -1
  65. package/dist/commands/sync.d.ts.map +1 -1
  66. package/dist/commands/sync.js +49 -31
  67. package/dist/commands/sync.js.map +1 -1
  68. package/dist/commands/verify-trunk.d.ts +18 -0
  69. package/dist/commands/verify-trunk.d.ts.map +1 -0
  70. package/dist/commands/verify-trunk.js +77 -0
  71. package/dist/commands/verify-trunk.js.map +1 -0
  72. package/dist/commands/watch.d.ts +0 -1
  73. package/dist/commands/watch.d.ts.map +1 -1
  74. package/dist/commands/watch.js +50 -77
  75. package/dist/commands/watch.js.map +1 -1
  76. package/dist/index.d.ts +0 -3
  77. package/dist/index.d.ts.map +1 -1
  78. package/dist/index.js +0 -3
  79. package/dist/index.js.map +1 -1
  80. package/dist/lib/activity.d.ts.map +1 -1
  81. package/dist/lib/activity.js +6 -2
  82. package/dist/lib/activity.js.map +1 -1
  83. package/dist/lib/ai/context-builder.d.ts.map +1 -1
  84. package/dist/lib/ai/context-builder.js +19 -6
  85. package/dist/lib/ai/context-builder.js.map +1 -1
  86. package/dist/lib/ai/event-handler.d.ts.map +1 -1
  87. package/dist/lib/ai/event-handler.js +15 -2
  88. package/dist/lib/ai/event-handler.js.map +1 -1
  89. package/dist/lib/ai/reasoner.d.ts.map +1 -1
  90. package/dist/lib/ai/reasoner.js +63 -82
  91. package/dist/lib/ai/reasoner.js.map +1 -1
  92. package/dist/lib/ai/setup.d.ts +1 -1
  93. package/dist/lib/ai/setup.d.ts.map +1 -1
  94. package/dist/lib/ai/types.d.ts.map +1 -1
  95. package/dist/lib/ai/types.js +5 -2
  96. package/dist/lib/ai/types.js.map +1 -1
  97. package/dist/lib/ast.d.ts +10 -2
  98. package/dist/lib/ast.d.ts.map +1 -1
  99. package/dist/lib/ast.js +52 -27
  100. package/dist/lib/ast.js.map +1 -1
  101. package/dist/lib/carries.d.ts +22 -0
  102. package/dist/lib/carries.d.ts.map +1 -0
  103. package/dist/lib/carries.js +56 -0
  104. package/dist/lib/carries.js.map +1 -0
  105. package/dist/lib/colony-subscriber.d.ts +1 -1
  106. package/dist/lib/colony-subscriber.js +1 -1
  107. package/dist/lib/config.d.ts +2 -2
  108. package/dist/lib/config.d.ts.map +1 -1
  109. package/dist/lib/config.js +13 -8
  110. package/dist/lib/config.js.map +1 -1
  111. package/dist/lib/conflict-renderer.d.ts.map +1 -1
  112. package/dist/lib/conflict-renderer.js +17 -34
  113. package/dist/lib/conflict-renderer.js.map +1 -1
  114. package/dist/lib/ecosystem-env.d.ts +33 -0
  115. package/dist/lib/ecosystem-env.d.ts.map +1 -0
  116. package/dist/lib/ecosystem-env.js +62 -0
  117. package/dist/lib/ecosystem-env.js.map +1 -0
  118. package/dist/lib/git-events-subscriber.d.ts +27 -0
  119. package/dist/lib/git-events-subscriber.d.ts.map +1 -1
  120. package/dist/lib/git-events-subscriber.js +149 -58
  121. package/dist/lib/git-events-subscriber.js.map +1 -1
  122. package/dist/lib/git-merge-analyzer.d.ts +38 -0
  123. package/dist/lib/git-merge-analyzer.d.ts.map +1 -0
  124. package/dist/lib/git-merge-analyzer.js +23 -0
  125. package/dist/lib/git-merge-analyzer.js.map +1 -0
  126. package/dist/lib/git.d.ts +88 -0
  127. package/dist/lib/git.d.ts.map +1 -1
  128. package/dist/lib/git.js +499 -9
  129. package/dist/lib/git.js.map +1 -1
  130. package/dist/lib/github.d.ts +69 -1
  131. package/dist/lib/github.d.ts.map +1 -1
  132. package/dist/lib/github.js +230 -16
  133. package/dist/lib/github.js.map +1 -1
  134. package/dist/lib/graph.d.ts +15 -0
  135. package/dist/lib/graph.d.ts.map +1 -1
  136. package/dist/lib/graph.js +31 -0
  137. package/dist/lib/graph.js.map +1 -1
  138. package/dist/lib/machine.d.ts +14 -0
  139. package/dist/lib/machine.d.ts.map +1 -0
  140. package/dist/lib/machine.js +38 -0
  141. package/dist/lib/machine.js.map +1 -0
  142. package/dist/lib/notify.d.ts +68 -0
  143. package/dist/lib/notify.d.ts.map +1 -0
  144. package/dist/lib/notify.js +111 -0
  145. package/dist/lib/notify.js.map +1 -0
  146. package/dist/lib/outline.d.ts +6 -0
  147. package/dist/lib/outline.d.ts.map +1 -0
  148. package/dist/lib/outline.js +60 -0
  149. package/dist/lib/outline.js.map +1 -0
  150. package/dist/lib/push-registry.d.ts +22 -0
  151. package/dist/lib/push-registry.d.ts.map +1 -0
  152. package/dist/lib/push-registry.js +21 -0
  153. package/dist/lib/push-registry.js.map +1 -0
  154. package/dist/lib/reconcile.d.ts +100 -0
  155. package/dist/lib/reconcile.d.ts.map +1 -0
  156. package/dist/lib/reconcile.js +121 -0
  157. package/dist/lib/reconcile.js.map +1 -0
  158. package/dist/lib/security.d.ts +1 -6
  159. package/dist/lib/security.d.ts.map +1 -1
  160. package/dist/lib/security.js +1 -11
  161. package/dist/lib/security.js.map +1 -1
  162. package/dist/lib/semantic-analysis.d.ts +31 -0
  163. package/dist/lib/semantic-analysis.d.ts.map +1 -0
  164. package/dist/lib/semantic-analysis.js +120 -0
  165. package/dist/lib/semantic-analysis.js.map +1 -0
  166. package/dist/lib/supabase-credentials.d.ts +36 -0
  167. package/dist/lib/supabase-credentials.d.ts.map +1 -0
  168. package/dist/lib/supabase-credentials.js +43 -0
  169. package/dist/lib/supabase-credentials.js.map +1 -0
  170. package/dist/lib/trunk.d.ts +39 -0
  171. package/dist/lib/trunk.d.ts.map +1 -0
  172. package/dist/lib/trunk.js +116 -0
  173. package/dist/lib/trunk.js.map +1 -0
  174. package/dist/storage/adapter.d.ts +20 -1
  175. package/dist/storage/adapter.d.ts.map +1 -1
  176. package/dist/storage/branch-registry-store.d.ts +1 -1
  177. package/dist/storage/branch-registry-store.d.ts.map +1 -1
  178. package/dist/storage/factory.d.ts +0 -4
  179. package/dist/storage/factory.d.ts.map +1 -1
  180. package/dist/storage/factory.js +2 -26
  181. package/dist/storage/factory.js.map +1 -1
  182. package/dist/storage/json-branch-registry-store.d.ts +1 -1
  183. package/dist/storage/json-branch-registry-store.d.ts.map +1 -1
  184. package/dist/storage/json-branch-registry-store.js +33 -7
  185. package/dist/storage/json-branch-registry-store.js.map +1 -1
  186. package/dist/storage/local.d.ts +1 -1
  187. package/dist/storage/local.d.ts.map +1 -1
  188. package/dist/storage/local.js +2 -2
  189. package/dist/storage/local.js.map +1 -1
  190. package/dist/storage/memory-branch-registry-store.d.ts +1 -1
  191. package/dist/storage/memory-branch-registry-store.d.ts.map +1 -1
  192. package/dist/storage/memory-branch-registry-store.js +4 -1
  193. package/dist/storage/memory-branch-registry-store.js.map +1 -1
  194. package/dist/storage/supabase-registry-sync-client-impl.d.ts +1 -7
  195. package/dist/storage/supabase-registry-sync-client-impl.d.ts.map +1 -1
  196. package/dist/storage/supabase-registry-sync-client-impl.js +17 -61
  197. package/dist/storage/supabase-registry-sync-client-impl.js.map +1 -1
  198. package/dist/storage/supabase-registry-sync-client.d.ts +1 -1
  199. package/dist/storage/supabase-registry-sync-client.d.ts.map +1 -1
  200. package/dist/storage/supabase.d.ts +3 -9
  201. package/dist/storage/supabase.d.ts.map +1 -1
  202. package/dist/storage/supabase.js +4 -22
  203. package/dist/storage/supabase.js.map +1 -1
  204. package/dist/types/cloud.d.ts +1 -0
  205. package/dist/types/cloud.d.ts.map +1 -1
  206. package/package.json +88 -90
  207. package/dist/commands/activate.d.ts +0 -9
  208. package/dist/commands/activate.d.ts.map +0 -1
  209. package/dist/commands/activate.js +0 -45
  210. package/dist/commands/activate.js.map +0 -1
  211. package/dist/commands/active-windows.d.ts +0 -16
  212. package/dist/commands/active-windows.d.ts.map +0 -1
  213. package/dist/commands/active-windows.js +0 -373
  214. package/dist/commands/active-windows.js.map +0 -1
  215. package/dist/commands/ai.d.ts +0 -15
  216. package/dist/commands/ai.d.ts.map +0 -1
  217. package/dist/commands/ai.js +0 -498
  218. package/dist/commands/ai.js.map +0 -1
  219. package/dist/commands/audit-mark.d.ts +0 -12
  220. package/dist/commands/audit-mark.d.ts.map +0 -1
  221. package/dist/commands/audit-mark.js +0 -204
  222. package/dist/commands/audit-mark.js.map +0 -1
  223. package/dist/commands/auto.d.ts +0 -8
  224. package/dist/commands/auto.d.ts.map +0 -1
  225. package/dist/commands/auto.js +0 -207
  226. package/dist/commands/auto.js.map +0 -1
  227. package/dist/commands/bot.d.ts +0 -16
  228. package/dist/commands/bot.d.ts.map +0 -1
  229. package/dist/commands/bot.js +0 -416
  230. package/dist/commands/bot.js.map +0 -1
  231. package/dist/commands/close.d.ts +0 -9
  232. package/dist/commands/close.d.ts.map +0 -1
  233. package/dist/commands/close.js +0 -129
  234. package/dist/commands/close.js.map +0 -1
  235. package/dist/commands/collab-sync.d.ts +0 -14
  236. package/dist/commands/collab-sync.d.ts.map +0 -1
  237. package/dist/commands/collab-sync.js +0 -264
  238. package/dist/commands/collab-sync.js.map +0 -1
  239. package/dist/commands/collab.d.ts +0 -6
  240. package/dist/commands/collab.d.ts.map +0 -1
  241. package/dist/commands/collab.js +0 -103
  242. package/dist/commands/collab.js.map +0 -1
  243. package/dist/commands/completions.d.ts +0 -8
  244. package/dist/commands/completions.d.ts.map +0 -1
  245. package/dist/commands/completions.js +0 -83
  246. package/dist/commands/completions.js.map +0 -1
  247. package/dist/commands/daily.d.ts +0 -7
  248. package/dist/commands/daily.d.ts.map +0 -1
  249. package/dist/commands/daily.js +0 -171
  250. package/dist/commands/daily.js.map +0 -1
  251. package/dist/commands/dashboard.d.ts +0 -22
  252. package/dist/commands/dashboard.d.ts.map +0 -1
  253. package/dist/commands/dashboard.js +0 -401
  254. package/dist/commands/dashboard.js.map +0 -1
  255. package/dist/commands/demo.d.ts +0 -3
  256. package/dist/commands/demo.d.ts.map +0 -1
  257. package/dist/commands/demo.js +0 -118
  258. package/dist/commands/demo.js.map +0 -1
  259. package/dist/commands/ecosystem-loader.d.ts +0 -14
  260. package/dist/commands/ecosystem-loader.d.ts.map +0 -1
  261. package/dist/commands/ecosystem-loader.js +0 -90
  262. package/dist/commands/ecosystem-loader.js.map +0 -1
  263. package/dist/commands/fleet-status.d.ts +0 -14
  264. package/dist/commands/fleet-status.d.ts.map +0 -1
  265. package/dist/commands/fleet-status.js +0 -127
  266. package/dist/commands/fleet-status.js.map +0 -1
  267. package/dist/commands/inbox.d.ts +0 -3
  268. package/dist/commands/inbox.d.ts.map +0 -1
  269. package/dist/commands/inbox.js +0 -120
  270. package/dist/commands/inbox.js.map +0 -1
  271. package/dist/commands/intent-scan.d.ts +0 -17
  272. package/dist/commands/intent-scan.d.ts.map +0 -1
  273. package/dist/commands/intent-scan.js +0 -336
  274. package/dist/commands/intent-scan.js.map +0 -1
  275. package/dist/commands/key-import.d.ts +0 -3
  276. package/dist/commands/key-import.d.ts.map +0 -1
  277. package/dist/commands/key-import.js +0 -54
  278. package/dist/commands/key-import.js.map +0 -1
  279. package/dist/commands/keygen.d.ts +0 -3
  280. package/dist/commands/keygen.d.ts.map +0 -1
  281. package/dist/commands/keygen.js +0 -53
  282. package/dist/commands/keygen.js.map +0 -1
  283. package/dist/commands/keys.d.ts +0 -3
  284. package/dist/commands/keys.d.ts.map +0 -1
  285. package/dist/commands/keys.js +0 -56
  286. package/dist/commands/keys.js.map +0 -1
  287. package/dist/commands/lock.d.ts +0 -11
  288. package/dist/commands/lock.d.ts.map +0 -1
  289. package/dist/commands/lock.js +0 -257
  290. package/dist/commands/lock.js.map +0 -1
  291. package/dist/commands/mcp-health.d.ts +0 -3
  292. package/dist/commands/mcp-health.d.ts.map +0 -1
  293. package/dist/commands/mcp-health.js +0 -305
  294. package/dist/commands/mcp-health.js.map +0 -1
  295. package/dist/commands/mcp-restart.d.ts +0 -3
  296. package/dist/commands/mcp-restart.d.ts.map +0 -1
  297. package/dist/commands/mcp-restart.js +0 -176
  298. package/dist/commands/mcp-restart.js.map +0 -1
  299. package/dist/commands/monitor.d.ts +0 -3
  300. package/dist/commands/monitor.d.ts.map +0 -1
  301. package/dist/commands/monitor.js +0 -153
  302. package/dist/commands/monitor.js.map +0 -1
  303. package/dist/commands/msg-read.d.ts +0 -3
  304. package/dist/commands/msg-read.d.ts.map +0 -1
  305. package/dist/commands/msg-read.js +0 -95
  306. package/dist/commands/msg-read.js.map +0 -1
  307. package/dist/commands/pulse.d.ts +0 -13
  308. package/dist/commands/pulse.d.ts.map +0 -1
  309. package/dist/commands/pulse.js +0 -174
  310. package/dist/commands/pulse.js.map +0 -1
  311. package/dist/commands/queen.d.ts +0 -25
  312. package/dist/commands/queen.d.ts.map +0 -1
  313. package/dist/commands/queen.js +0 -326
  314. package/dist/commands/queen.js.map +0 -1
  315. package/dist/commands/radar.d.ts +0 -3
  316. package/dist/commands/radar.d.ts.map +0 -1
  317. package/dist/commands/radar.js +0 -147
  318. package/dist/commands/radar.js.map +0 -1
  319. package/dist/commands/rescue.d.ts +0 -11
  320. package/dist/commands/rescue.d.ts.map +0 -1
  321. package/dist/commands/rescue.js +0 -147
  322. package/dist/commands/rescue.js.map +0 -1
  323. package/dist/commands/semantic.d.ts +0 -3
  324. package/dist/commands/semantic.d.ts.map +0 -1
  325. package/dist/commands/semantic.js +0 -62
  326. package/dist/commands/semantic.js.map +0 -1
  327. package/dist/commands/send.d.ts +0 -3
  328. package/dist/commands/send.d.ts.map +0 -1
  329. package/dist/commands/send.js +0 -121
  330. package/dist/commands/send.js.map +0 -1
  331. package/dist/commands/status.d.ts +0 -9
  332. package/dist/commands/status.d.ts.map +0 -1
  333. package/dist/commands/status.js +0 -41
  334. package/dist/commands/status.js.map +0 -1
  335. package/dist/commands/sync-advisor.d.ts +0 -14
  336. package/dist/commands/sync-advisor.d.ts.map +0 -1
  337. package/dist/commands/sync-advisor.js +0 -110
  338. package/dist/commands/sync-advisor.js.map +0 -1
  339. package/dist/commands/tension.d.ts +0 -12
  340. package/dist/commands/tension.d.ts.map +0 -1
  341. package/dist/commands/tension.js +0 -262
  342. package/dist/commands/tension.js.map +0 -1
  343. package/dist/commands/torrent.d.ts +0 -9
  344. package/dist/commands/torrent.d.ts.map +0 -1
  345. package/dist/commands/torrent.js +0 -470
  346. package/dist/commands/torrent.js.map +0 -1
  347. package/dist/commands/tui.d.ts +0 -8
  348. package/dist/commands/tui.d.ts.map +0 -1
  349. package/dist/commands/tui.js +0 -15
  350. package/dist/commands/tui.js.map +0 -1
  351. package/dist/commands/wake.d.ts +0 -9
  352. package/dist/commands/wake.d.ts.map +0 -1
  353. package/dist/commands/wake.js +0 -188
  354. package/dist/commands/wake.js.map +0 -1
  355. package/dist/commands/welcome.d.ts +0 -8
  356. package/dist/commands/welcome.d.ts.map +0 -1
  357. package/dist/commands/welcome.js +0 -85
  358. package/dist/commands/welcome.js.map +0 -1
  359. package/dist/commands/who-owns.d.ts +0 -3
  360. package/dist/commands/who-owns.d.ts.map +0 -1
  361. package/dist/commands/who-owns.js +0 -68
  362. package/dist/commands/who-owns.js.map +0 -1
  363. package/dist/commands/who-touched.d.ts +0 -9
  364. package/dist/commands/who-touched.d.ts.map +0 -1
  365. package/dist/commands/who-touched.js +0 -198
  366. package/dist/commands/who-touched.js.map +0 -1
  367. package/dist/lib/crdt.d.ts +0 -83
  368. package/dist/lib/crdt.d.ts.map +0 -1
  369. package/dist/lib/crdt.js +0 -160
  370. package/dist/lib/crdt.js.map +0 -1
  371. package/dist/lib/daily-bridge.d.ts +0 -41
  372. package/dist/lib/daily-bridge.d.ts.map +0 -1
  373. package/dist/lib/daily-bridge.js +0 -186
  374. package/dist/lib/daily-bridge.js.map +0 -1
  375. package/dist/lib/hub.d.ts +0 -31
  376. package/dist/lib/hub.d.ts.map +0 -1
  377. package/dist/lib/hub.js +0 -92
  378. package/dist/lib/hub.js.map +0 -1
  379. package/dist/lib/license.d.ts +0 -61
  380. package/dist/lib/license.d.ts.map +0 -1
  381. package/dist/lib/license.js +0 -171
  382. package/dist/lib/license.js.map +0 -1
  383. package/dist/lib/pulse-renderer.d.ts +0 -19
  384. package/dist/lib/pulse-renderer.d.ts.map +0 -1
  385. package/dist/lib/pulse-renderer.js +0 -108
  386. package/dist/lib/pulse-renderer.js.map +0 -1
  387. package/dist/lib/repo-scanner.d.ts +0 -32
  388. package/dist/lib/repo-scanner.d.ts.map +0 -1
  389. package/dist/lib/repo-scanner.js +0 -160
  390. package/dist/lib/repo-scanner.js.map +0 -1
  391. package/dist/lib/salvage-analyzer.d.ts +0 -29
  392. package/dist/lib/salvage-analyzer.d.ts.map +0 -1
  393. package/dist/lib/salvage-analyzer.js +0 -121
  394. package/dist/lib/salvage-analyzer.js.map +0 -1
  395. package/dist/lib/session-logger.d.ts +0 -54
  396. package/dist/lib/session-logger.d.ts.map +0 -1
  397. package/dist/lib/session-logger.js +0 -136
  398. package/dist/lib/session-logger.js.map +0 -1
  399. package/dist/lib/symbol-extractor.d.ts +0 -41
  400. package/dist/lib/symbol-extractor.d.ts.map +0 -1
  401. package/dist/lib/symbol-extractor.js +0 -78
  402. package/dist/lib/symbol-extractor.js.map +0 -1
  403. package/dist/storage/git-messages.d.ts +0 -53
  404. package/dist/storage/git-messages.d.ts.map +0 -1
  405. package/dist/storage/git-messages.js +0 -376
  406. package/dist/storage/git-messages.js.map +0 -1
  407. package/dist/storage/local-messages.d.ts +0 -37
  408. package/dist/storage/local-messages.d.ts.map +0 -1
  409. package/dist/storage/local-messages.js +0 -151
  410. package/dist/storage/local-messages.js.map +0 -1
  411. package/dist/storage/message-adapter.d.ts +0 -86
  412. package/dist/storage/message-adapter.d.ts.map +0 -1
  413. package/dist/storage/message-adapter.js +0 -28
  414. package/dist/storage/message-adapter.js.map +0 -1
  415. package/dist/storage/message-factory.d.ts +0 -36
  416. package/dist/storage/message-factory.d.ts.map +0 -1
  417. package/dist/storage/message-factory.js +0 -99
  418. package/dist/storage/message-factory.js.map +0 -1
  419. package/dist/storage/mycmail-adapter.d.ts +0 -38
  420. package/dist/storage/mycmail-adapter.d.ts.map +0 -1
  421. package/dist/storage/mycmail-adapter.js +0 -300
  422. package/dist/storage/mycmail-adapter.js.map +0 -1
  423. package/dist/tui/dashboard.d.ts +0 -35
  424. package/dist/tui/dashboard.d.ts.map +0 -1
  425. package/dist/tui/dashboard.js +0 -199
  426. package/dist/tui/dashboard.js.map +0 -1
  427. package/dist/tui/screen.d.ts +0 -14
  428. package/dist/tui/screen.d.ts.map +0 -1
  429. package/dist/tui/screen.js +0 -138
  430. package/dist/tui/screen.js.map +0 -1
@@ -24,9 +24,32 @@ import { existsSync, readFileSync, writeFileSync, appendFileSync, readdirSync, s
24
24
  import { join, resolve } from 'path';
25
25
  import { homedir } from 'os';
26
26
  import { getStorage } from '../storage/index.js';
27
+ import { resolveSupabaseEnv } from './supabase-credentials.js';
27
28
  import { handleEvent } from './ai/event-handler.js';
29
+ import { createNotifier, deliver } from './notify.js';
28
30
  import { logActivity } from './activity.js';
29
31
  const execFileAsync = promisify(execFile);
32
+ // Resolved on first use, not at import — the daemon gets its room token from
33
+ // `envoak vault inject`, so the env is only populated once the process runs.
34
+ let _notifier = null;
35
+ function notifier() {
36
+ return (_notifier ??= createNotifier());
37
+ }
38
+ /**
39
+ * The compare-API credential, preferring the vault-injected name.
40
+ *
41
+ * It cannot be stored as `GITHUB_TOKEN`: envoak's protected-namespace filter
42
+ * (`SENSITIVE_PREFIXES` in Envoak vault.ts) refuses to inject any name starting
43
+ * `GITHUB_`, so a vault secret called GITHUB_TOKEN would be granted, decrypted,
44
+ * and then dropped — leaving the daemon silently unauthenticated at 60 req/h.
45
+ * Hence the app-prefixed `spidersan/SPIDERSAN_GITHUB_TOKEN`.
46
+ *
47
+ * `GITHUB_TOKEN` stays as a fallback so a plain shell (or CI) that already
48
+ * exports it keeps working.
49
+ */
50
+ export function resolveGithubToken(env = process.env) {
51
+ return env.SPIDERSAN_GITHUB_TOKEN || env.GITHUB_TOKEN || undefined;
52
+ }
30
53
  // ─── Paths ────────────────────────────────────────────────────────────────────
31
54
  const SPIDERSAN_DIR = join(homedir(), '.spidersan');
32
55
  const CURSOR_FILE = join(SPIDERSAN_DIR, 'git-watch-cursor.json');
@@ -70,14 +93,23 @@ function appendLog(file, entry) {
70
93
  * Scans provided repoPaths first; if empty, scans all registered repos
71
94
  * by reading their .spidersan/registry.json locations from ~/.spidersan.
72
95
  */
73
- function normalizeRemoteUrl(url) {
74
- // Normalize ssh and https to "owner/repo"
75
- // git@github.com:treebird7/Envoak.git → treebird7/Envoak
76
- // https://github.com/treebird7/Envoak.git → treebird7/Envoak
96
+ export function normalizeRemoteUrl(url) {
97
+ // Normalize ssh and https to a lowercase "owner/repo" key
98
+ // git@github.com:treebird7/Envoak.git → treebird7/envoak
99
+ // https://github.com/Treebird-Ecosystem/treebird.git → treebird-ecosystem/treebird
100
+ // Lowercase because GitHub names are case-insensitive and event.repo is GitHub's
101
+ // canonical casing, which a hand-set remote URL need not match.
77
102
  return url
78
103
  .replace(/^git@github\.com:/, '')
79
104
  .replace(/^https?:\/\/github\.com\//, '')
80
- .replace(/\.git$/, '');
105
+ .replace(/\.git$/, '')
106
+ .toLowerCase();
107
+ }
108
+ // treebird moved to the Treebird-Ecosystem org on 2026-10-11; the old name still
109
+ // redirects, and a webhook or a not-yet-updated clone can report either.
110
+ const TREEBIRD_REPOS = new Set(['treebird-ecosystem/treebird', 'treebird7/treebird']);
111
+ export function isTreebirdRepo(repo) {
112
+ return TREEBIRD_REPOS.has(repo.toLowerCase());
81
113
  }
82
114
  function getRemoteForPath(repoPath) {
83
115
  try {
@@ -108,6 +140,57 @@ function buildRepoMap(explicitPaths) {
108
140
  }
109
141
  return map;
110
142
  }
143
+ /**
144
+ * Number of tracked-but-missing files in a working tree before we alarm. A few
145
+ * is normal (an intentional `rm`); whole directories missing is the signature of
146
+ * a stale-revert / branch-juggle that stranded the working tree behind HEAD
147
+ * (see coord-tree/patterns/shared-checkout-collision.md — the 2026-06-13 incident
148
+ * where a mixed `git reset` advanced HEAD past a stale tree, wiping node-tree/
149
+ * ci-tree/TREES.md from the working copy while .git stayed current).
150
+ */
151
+ const WT_INTEGRITY_THRESHOLD = 5;
152
+ /**
153
+ * Detect the stale-revert signature in one repo: many tracked files DELETED in
154
+ * the working tree (HEAD/index intact). This is recoverable and non-destructive
155
+ * — `git restore` brings the files back — so we only warn, loudly, with the fix.
156
+ * Returns true if an alarm fired.
157
+ */
158
+ export function checkWorkingTreeIntegrity(repoPath, log) {
159
+ let deleted;
160
+ try {
161
+ const out = execFileSync('git', ['ls-files', '--deleted'], {
162
+ cwd: repoPath,
163
+ encoding: 'utf-8',
164
+ stdio: ['ignore', 'pipe', 'ignore'],
165
+ }).trim();
166
+ if (!out)
167
+ return false;
168
+ deleted = out.split('\n').filter(Boolean);
169
+ }
170
+ catch {
171
+ return false; // not a git repo / git unavailable — skip silently
172
+ }
173
+ if (deleted.length < WT_INTEGRITY_THRESHOLD)
174
+ return false;
175
+ const sample = deleted.slice(0, 5).join(', ');
176
+ log(`🚨 working-tree integrity: ${deleted.length} tracked file(s) MISSING from the working tree in ` +
177
+ `${repoPath} (e.g. ${sample}${deleted.length > 5 ? ', …' : ''}). This is the stale-revert / ` +
178
+ `branch-juggle signature — HEAD likely advanced past a stranded working tree. Nothing is lost ` +
179
+ `(.git is intact). Recover with: cd ${repoPath} && git ls-files -z --deleted | xargs -0 git restore --`);
180
+ return true;
181
+ }
182
+ /** Run the working-tree integrity check across every watched local path. */
183
+ function sweepWorkingTreeIntegrity(repoMap, log) {
184
+ const seen = new Set();
185
+ for (const paths of repoMap.values()) {
186
+ for (const p of paths) {
187
+ if (seen.has(p))
188
+ continue;
189
+ seen.add(p);
190
+ checkWorkingTreeIntegrity(p, log);
191
+ }
192
+ }
193
+ }
111
194
  /**
112
195
  * Discover repo paths from all .spidersan registries visible from ~/.spidersan.
113
196
  * Falls back to scanning ~/Dev/* for .spidersan directories.
@@ -148,7 +231,7 @@ const TREE_ACTION_HINTS = {
148
231
  'ts-tree': 'ts-review validate',
149
232
  };
150
233
  /**
151
- * When a push lands on treebird7/treebird, compare before..after via GitHub API
234
+ * When a push lands on treebird (either org name), compare before..after via GitHub API
152
235
  * and detect newly added gold-pair JSON files. Emits a targeted pending entry
153
236
  * per tree so the validation cue is specific and actionable.
154
237
  */
@@ -156,7 +239,7 @@ async function detectTreePairs(event, log) {
156
239
  if (!event.before_sha || !event.after_sha)
157
240
  return;
158
241
  const url = `https://api.github.com/repos/${event.repo}/compare/${event.before_sha}...${event.after_sha}`;
159
- const githubToken = process.env.GITHUB_TOKEN;
242
+ const githubToken = resolveGithubToken();
160
243
  const headers = {
161
244
  'Accept': 'application/vnd.github.v3+json',
162
245
  'User-Agent': 'spidersan-git-watch',
@@ -281,24 +364,24 @@ async function consumePendingTreePairs(log) {
281
364
  const task = typeof entry.action_hint === 'string' ? entry.action_hint : `review ${entry.tree}/pairs/`;
282
365
  const files = Array.isArray(entry.files) ? entry.files : [];
283
366
  const summary = `spidersan auto-dispatch: ${entry.tree} pair(s) ready — ${entry.repo}@${entry.after_sha} — ${task}`;
284
- const args = [
285
- 'hive', 'signal',
286
- '--status', 'awaiting-review',
287
- '--task', task,
288
- '--handoff', 'review',
289
- '--summary', summary,
290
- ];
291
- if (files.length > 0)
292
- args.push('--files', files.join(','));
293
- log(`📡 hive handoff → ${task} (${files.length} file(s))`);
294
- try {
295
- await execFileAsync('envoak', args, { timeout: 15000 });
367
+ // Retry-and-retain, now driven by the delivery result rather than
368
+ // by whether a subprocess exited 0. Tier 1: this is a review
369
+ // prompt, not a conflict — it obliges someone to look, not to stop.
370
+ const delivery = await deliver(notifier(), {
371
+ repo: String(entry.repo ?? 'unknown'),
372
+ branch: String(entry.branch ?? 'unknown'),
373
+ tier: 1,
374
+ message: summary,
375
+ dedupe: `tree_pairs:${id}`,
376
+ files,
377
+ details: { trigger: 'tree_pairs_ready', tree: entry.tree, task, after_sha: entry.after_sha },
378
+ }, log);
379
+ if (delivery.ok) {
296
380
  succeeded.push({ entry, id });
297
381
  log(`✅ dispatched ${id}`);
298
382
  }
299
- catch (err) {
300
- const msg = err instanceof Error ? err.message : String(err);
301
- log(`⚠ hive signal failed for ${id}: ${msg} — retaining in pending`);
383
+ else {
384
+ log(`⚠ dispatch failed for ${id}: ${delivery.reason} — retaining in pending`);
302
385
  failed.push(raw);
303
386
  }
304
387
  }
@@ -346,20 +429,10 @@ async function handlePush(event, localPaths, log) {
346
429
  const shortSha = event.after_sha?.slice(0, 7) ?? 'unknown';
347
430
  const who = event.sender_login ?? 'unknown';
348
431
  const branch = event.branch ?? event.ref ?? 'unknown';
349
- log(`⚠ git push: ${event.repo} ${branch} by ${who} (${shortSha}) — run \`spidersan pulse\` to check conflicts`);
350
- // Notify fleet when main is updated — all machines see this in hive status / pulse
351
- const isDefaultBranch = branch === 'main' || branch === 'master';
352
- if (isDefaultBranch) {
353
- const commitCount = event.commits?.length ?? 1;
354
- const summary = `${commitCount} commit${commitCount !== 1 ? 's' : ''} pushed to ${event.repo}/${branch} by ${who} (${shortSha})`;
355
- execFile('envoak', [
356
- 'hive', 'signal',
357
- '--status', 'idle',
358
- '--task', `main updated: ${event.repo}`,
359
- '--summary', summary,
360
- ], { timeout: 10000 }, () => { });
361
- log(`📡 hive signal emitted: ${summary}`);
362
- }
432
+ log(`⚠ git push: ${event.repo} ${branch} by ${who} (${shortSha}) — run \`spidersan conflicts\` to check conflicts`);
433
+ // sp-8iqm: the main-updated fleet announce was removed, not re-pointed. It
434
+ // fired into a dead `envoak hive signal` for a month and nobody missed it;
435
+ // the push is already logged to the activity log below. Alerts are for conflicts, not for every push to main.
363
436
  const entry = {
364
437
  type: 'git_push',
365
438
  repo: event.repo,
@@ -368,12 +441,12 @@ async function handlePush(event, localPaths, log) {
368
441
  after_sha: shortSha,
369
442
  received_at: event.received_at,
370
443
  ts: new Date().toISOString(),
371
- action_hint: 'spidersan pulse',
444
+ action_hint: 'spidersan conflicts',
372
445
  };
373
446
  appendLog(ACTIVITY_LOG, { ...entry, source: 'git-watch' });
374
447
  appendLog(PENDING_LOG, entry);
375
448
  // Detect newly committed gold pairs in sql-tree / ts-tree
376
- if (event.repo === 'treebird7/treebird') {
449
+ if (isTreebirdRepo(event.repo)) {
377
450
  await detectTreePairs(event, log);
378
451
  }
379
452
  // Phase C: AI advice — computed once per event (not per local path)
@@ -407,12 +480,16 @@ async function handlePush(event, localPaths, log) {
407
480
  },
408
481
  });
409
482
  log(`🕷 AI [T${advice.tier}/${advice.action}] ${event.repo}/${branch}: ${advice.message.slice(0, 120)}`);
410
- // Best-effort hive signal — async, non-blocking
411
- execFile('envoak', [
412
- 'hive', 'signal',
413
- '--status', 'needs-context',
414
- '--task', `TIER ${advice.tier} conflict: ${event.repo}/${branch} — ${advice.message.slice(0, 120)}`,
415
- ], { timeout: 10000 }, () => { });
483
+ await deliver(notifier(), {
484
+ repo: event.repo,
485
+ branch,
486
+ tier: advice.tier,
487
+ message: advice.message,
488
+ dedupe: `push:${event.after_sha ?? 'unknown'}`,
489
+ agent: who !== 'unknown' ? who : undefined,
490
+ files,
491
+ details: { action: advice.action, commands: advice.commands, trigger: 'push', after_sha: event.after_sha },
492
+ }, log);
416
493
  }
417
494
  }
418
495
  catch {
@@ -455,11 +532,15 @@ async function handlePR(event, _localPaths, log) {
455
532
  },
456
533
  });
457
534
  log(`🕷 AI [T${advice.tier}/${advice.action}] PR ${event.repo}/${branch}: ${advice.message.slice(0, 120)}`);
458
- execFile('envoak', [
459
- 'hive', 'signal',
460
- '--status', 'needs-context',
461
- '--task', `TIER ${advice.tier} PR conflict: ${event.repo}/${branch} — ${advice.message.slice(0, 120)}`,
462
- ], { timeout: 10000 }, () => { });
535
+ await deliver(notifier(), {
536
+ repo: event.repo,
537
+ branch,
538
+ tier: advice.tier,
539
+ message: advice.message,
540
+ dedupe: `pr:${action}`,
541
+ agent: who !== 'unknown' ? who : undefined,
542
+ details: { action: advice.action, commands: advice.commands, trigger: 'pull_request', pr_action: action },
543
+ }, log);
463
544
  }
464
545
  }
465
546
  catch {
@@ -532,12 +613,19 @@ async function handleDelete(event, localPaths, log) {
532
613
  deleted_by: who,
533
614
  },
534
615
  });
535
- execFile('envoak', [
536
- 'hive', 'signal',
537
- '--status', 'awaiting-review',
538
- '--task', `deleted branch ${branch} had active conflict registrations (${entry.files.length} files) in ${event.repo}`,
539
- '--files', entry.files.slice(0, 5).join(','),
540
- ], { timeout: 10000 }, () => { });
616
+ // Tier 2: the files were tracked for conflict detection, so
617
+ // another branch may still be registered against them —
618
+ // actionable, but not a BLOCK the way a live overlap is.
619
+ await deliver(notifier(), {
620
+ repo: event.repo,
621
+ branch,
622
+ tier: 2,
623
+ message: `deleted branch had ${entry.files.length} active conflict registration(s) — other branches may share these files`,
624
+ dedupe: 'branch_deleted',
625
+ agent: who !== 'unknown' ? who : undefined,
626
+ files: entry.files,
627
+ details: { trigger: 'branch_deleted_with_active_registrations', deleted_by: who },
628
+ }, log);
541
629
  }
542
630
  // Archive first, then remove from active registry
543
631
  appendLog(ARCHIVE_LOG, {
@@ -559,7 +647,7 @@ async function handleDelete(event, localPaths, log) {
559
647
  }
560
648
  async function dispatchEvent(event, repoMap, opts) {
561
649
  const log = opts.logger ?? (opts.quiet ? () => { } : (m) => console.log(`[git-watch] ${m}`));
562
- const localPaths = repoMap.get(event.repo) ?? [];
650
+ const localPaths = repoMap.get(event.repo.toLowerCase()) ?? [];
563
651
  opts.onEvent?.(event);
564
652
  switch (event.event_type) {
565
653
  case 'push': return handlePush(event, localPaths, log);
@@ -569,11 +657,10 @@ async function dispatchEvent(event, repoMap, opts) {
569
657
  }
570
658
  }
571
659
  function getConfig() {
572
- const url = process.env.SUPABASE_URL;
660
+ const { url, key } = resolveSupabaseEnv();
573
661
  if (!url)
574
662
  return null;
575
663
  const jwt = process.env.COLONY_SESSION_JWT;
576
- const key = process.env.SUPABASE_KEY;
577
664
  if (!jwt && !key)
578
665
  return null;
579
666
  return { url, key: key ?? '', jwt };
@@ -737,6 +824,8 @@ export async function startGitWatch(opts = {}) {
737
824
  }
738
825
  const repoMap = buildRepoMap(opts.repoPaths ?? []);
739
826
  log(`Watching ${repoMap.size} repo(s): ${[...repoMap.keys()].join(', ')}`);
827
+ // Working-tree integrity sweep on startup (catches a stranded/stale-reverted tree)
828
+ sweepWorkingTreeIntegrity(repoMap, log);
740
829
  // Shared high-water mark (monotonic seq dedup between realtime + poll paths)
741
830
  const highWaterMark = { seq: readCursor() };
742
831
  // Catch-up on startup
@@ -753,6 +842,7 @@ export async function startGitWatch(opts = {}) {
753
842
  // Safety-sweep poll (5 min when realtime active, else use configured interval)
754
843
  const sweepMs = realtimeHandle ? Math.max(pollMs, 5 * 60_000) : pollMs;
755
844
  const pollTimer = setInterval(async () => {
845
+ sweepWorkingTreeIntegrity(repoMap, log);
756
846
  await catchUp(cfg, repoMap, opts);
757
847
  await consumePendingTreePairs(log);
758
848
  }, sweepMs);
@@ -773,6 +863,7 @@ export async function catchUpOnce(opts = {}) {
773
863
  throw new Error('git-watch: SUPABASE_URL and (SUPABASE_KEY or COLONY_SESSION_JWT) are required');
774
864
  const repoMap = buildRepoMap(opts.repoPaths ?? []);
775
865
  const log = opts.logger ?? (opts.quiet ? () => { } : (m) => console.log(`[git-watch] ${m}`));
866
+ sweepWorkingTreeIntegrity(repoMap, log);
776
867
  await catchUp(cfg, repoMap, opts);
777
868
  await consumePendingTreePairs(log);
778
869
  }
@@ -1 +1 @@
1
- {"version":3,"file":"git-events-subscriber.js","sourceRoot":"","sources":["../../src/lib/git-events-subscriber.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAiC1C,iFAAiF;AAEjF,MAAM,aAAa,GAAO,IAAI,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC;AACxD,MAAM,WAAW,GAAS,IAAI,CAAC,aAAa,EAAE,uBAAuB,CAAC,CAAC;AACvE,MAAM,YAAY,GAAQ,IAAI,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;AAChE,MAAM,WAAW,GAAS,IAAI,CAAC,aAAa,EAAE,0BAA0B,CAAC,CAAC;AAC1E,MAAM,oBAAoB,GAAG,IAAI,CAAC,aAAa,EAAE,2BAA2B,CAAC,CAAC;AAC9E,MAAM,YAAY,GAAQ,IAAI,CAAC,aAAa,EAAE,8BAA8B,CAAC,CAAC;AAC9E,MAAM,WAAW,GAAS,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;AAE/D,iFAAiF;AAEjF,SAAS,UAAU;IACf,IAAI,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;YAAE,OAAO,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;QAC3D,OAAO,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,CAAC,CAAC;IACb,CAAC;AACL,CAAC;AAED,SAAS,WAAW,CAAC,GAAW;IAC5B,IAAI,CAAC;QACD,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;IAC9F,CAAC;IAAC,MAAM,CAAC;QACL,YAAY;IAChB,CAAC;AACL,CAAC;AAED,iFAAiF;AAEjF,SAAS,SAAS,CAAC,IAAY,EAAE,KAA8B;IAC3D,IAAI,CAAC;QACD,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACL,YAAY;IAChB,CAAC;AACL,CAAC;AAED,gFAAgF;AAEhF;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,GAAW;IACnC,0CAA0C;IAC1C,2DAA2D;IAC3D,+DAA+D;IAC/D,OAAO,GAAG;SACL,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC;SAChC,OAAO,CAAC,2BAA2B,EAAE,EAAE,CAAC;SACxC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAgB;IACtC,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE;YAC7D,GAAG,EAAE,QAAQ;YACb,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,IAAI;SAChB,CAAC,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,aAAuB;IACzC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAoB,CAAC,CAAC,gCAAgC;IAEzE,MAAM,WAAW,GAAa,aAAa,CAAC,MAAM,GAAG,CAAC;QAClD,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,2BAA2B,EAAE,CAAC;IAEpC,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACvC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,GAAG,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,SAAS,2BAA2B;IAChC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;IACtC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QACpC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACjC,IAAI,CAAC;gBACD,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC;oBACxF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrB,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACL,OAAO;YACX,CAAC;QACL,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACL,wCAAwC;IAC5C,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,iFAAiF;AAEjF,MAAM,MAAM,GAAG,IAAI,GAAG,EAAyB,CAAC,CAAC,uBAAuB;AAExE,SAAS,OAAO,CAAC,QAAgB,EAAE,IAAyB;IACxD,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IACvD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACpD,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,iFAAiF;AAEjF,MAAM,YAAY,GAAG,0CAA0C,CAAC;AAEhE,MAAM,iBAAiB,GAA2B;IAC9C,UAAU,EAAE,6BAA6B;IACzC,SAAS,EAAG,oBAAoB;CACnC,CAAC;AAEF;;;;GAIG;AACH,KAAK,UAAU,eAAe,CAAC,KAAe,EAAE,GAAwB;IACpE,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,SAAS;QAAE,OAAO;IAClD,MAAM,GAAG,GAAG,gCAAgC,KAAK,CAAC,IAAI,YAAY,KAAK,CAAC,UAAU,MAAM,KAAK,CAAC,SAAS,EAAE,CAAC;IAC1G,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IAC7C,MAAM,OAAO,GAA2B;QACpC,QAAQ,EAAM,gCAAgC;QAC9C,YAAY,EAAE,qBAAqB;KACtC,CAAC;IACF,IAAI,WAAW;QAAE,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,WAAW,EAAE,CAAC;IACpE,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO;QAEpB,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAA6D,CAAC;QACzF,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvG,IAAI,CAAC,QAAQ,CAAC,MAAM;YAAE,OAAO;QAE7B,qCAAqC;QACrC,MAAM,OAAO,GAA6B,EAAE,CAAC;QAC7C,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACtC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,UAAU,IAAI,SAAS,CAAC;YAChE,GAAG,CAAC,OAAO,KAAK,CAAC,MAAM,mBAAmB,IAAI,kBAAkB,IAAI,IAAI,CAAC,CAAC;YAC1E,SAAS,CAAC,WAAW,EAAE;gBACnB,IAAI,EAAU,kBAAkB;gBAChC,IAAI;gBACJ,KAAK;gBACL,KAAK,EAAS,KAAK,CAAC,MAAM;gBAC1B,IAAI,EAAU,KAAK,CAAC,IAAI;gBACxB,MAAM,EAAQ,KAAK,CAAC,MAAM;gBAC1B,SAAS,EAAK,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC1C,WAAW,EAAG,KAAK,CAAC,WAAW;gBAC/B,EAAE,EAAY,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACtC,WAAW,EAAG,IAAI;aACrB,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACL,8DAA8D;IAClE,CAAC;AACL,CAAC;AAED,iFAAiF;AAEjF,uFAAuF;AACvF,SAAS,WAAW,CAAC,KAA8B;IAC/C,MAAM,IAAI,GAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAK,CAAC,CAAC,SAAS,CAAC;IAC9E,MAAM,GAAG,GAAK,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAChF,MAAM,IAAI,GAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAK,CAAC,CAAC,SAAS,CAAC;IAC9E,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAU,CAAC,CAAE,KAAK,CAAC,KAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7F,OAAO,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;AAC7C,CAAC;AAED,6DAA6D;AAC7D,SAAS,eAAe;IACpB,IAAI,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC;YAAE,OAAO,IAAI,GAAG,EAAE,CAAC;QACxD,MAAM,KAAK,GAAG,YAAY,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACrF,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;QAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,CAAC;gBACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA4B,CAAC;gBAC1D,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ;oBAAE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC1D,CAAC;YAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,IAAI,GAAG,EAAE,CAAC;IACrB,CAAC;AACL,CAAC;AAED,IAAI,WAAW,GAAG,KAAK,CAAC,CAAC,sBAAsB;AAE/C;;;;;;;GAOG;AACH,KAAK,UAAU,uBAAuB,CAAC,GAAwB;IAC3D,IAAI,WAAW;QAAE,OAAO;IACxB,WAAW,GAAG,IAAI,CAAC;IACnB,IAAI,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;YAAE,OAAO;QAErC,IAAI,QAAkB,CAAC;QACvB,IAAI,CAAC;YACD,QAAQ,GAAG,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7E,CAAC;QAAC,MAAM,CAAC;YACL,OAAO;QACX,CAAC;QAED,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;QACtC,MAAM,SAAS,GAAe,EAAE,CAAC,CAAC,oCAAoC;QACtE,MAAM,SAAS,GAAuE,EAAE,CAAC;QAEzF,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA4B,CAAC;gBAC1D,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;oBACpC,MAAM,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;oBAC9B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;wBACvB,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC7C,CAAC;oBACD,6DAA6D;gBACjE,CAAC;qBAAM,CAAC;oBACJ,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzB,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACL,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,oCAAoC;YAC9D,CAAC;QACL,CAAC;QAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEnC,GAAG,CAAC,gBAAgB,SAAS,CAAC,MAAM,oCAAoC,CAAC,CAAC;QAE1E,MAAM,SAAS,GAA0D,EAAE,CAAC;QAC5E,MAAM,MAAM,GAAgB,EAAE,CAAC,CAAC,+BAA+B;QAE/D,KAAK,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,SAAS,EAAE,CAAC;YACzC,MAAM,IAAI,GAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,IAAI,SAAS,CAAC;YACxG,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,KAAK,CAAC,KAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1E,MAAM,OAAO,GAAG,4BAA4B,KAAK,CAAC,IAAI,oBAAoB,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,SAAS,MAAM,IAAI,EAAE,CAAC;YAEpH,MAAM,IAAI,GAAG;gBACT,MAAM,EAAE,QAAQ;gBAChB,UAAU,EAAG,iBAAiB;gBAC9B,QAAQ,EAAK,IAAI;gBACjB,WAAW,EAAE,QAAQ;gBACrB,WAAW,EAAE,OAAO;aACvB,CAAC;YACF,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAE5D,GAAG,CAAC,qBAAqB,IAAI,KAAK,KAAK,CAAC,MAAM,WAAW,CAAC,CAAC;YAC3D,IAAI,CAAC;gBACD,MAAM,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;gBACxD,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC9B,GAAG,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;YAC9B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC7D,GAAG,CAAC,6BAA6B,EAAE,KAAK,GAAG,yBAAyB,CAAC,CAAC;gBACtE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC;QACL,CAAC;QAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEnC,+CAA+C;QAC/C,KAAK,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,SAAS,EAAE,CAAC;YACpC,SAAS,CAAC,oBAAoB,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAClG,CAAC;QAED,6EAA6E;QAC7E,MAAM,UAAU,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC;YACD,aAAa,CAAC,YAAY,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACvF,UAAU,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,GAAG,CAAC,qCAAqC,GAAG,EAAE,CAAC,CAAC;QACpD,CAAC;IACL,CAAC;YAAS,CAAC;QACP,WAAW,GAAG,KAAK,CAAC;IACxB,CAAC;AACL,CAAC;AAED,MAAM,QAAQ,GAAG,0CAA0C,CAAC;AAE5D,MAAM,MAAM,GAAG,mBAAmB,CAAC;AAEnC,KAAK,UAAU,kBAAkB,CAAC,QAAgB,EAAE,SAAwB,EAAE,QAAuB;IACjG,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ,IAAI,SAAS,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACjE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,CAAC;IACjE,IAAI,CAAC;QACD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,SAAS,MAAM,QAAQ,EAAE,CAAC,EAAE;YACjG,GAAG,EAAE,QAAQ;YACb,OAAO,EAAE,KAAK;SACjB,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,EAAE,CAAC;IACd,CAAC;AACL,CAAC;AAED,iFAAiF;AAEjF,KAAK,UAAU,UAAU,CAAC,KAAe,EAAE,UAAoB,EAAE,GAAwB;IACrF,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,SAAS,CAAC;IAC3D,MAAM,GAAG,GAAG,KAAK,CAAC,YAAY,IAAI,SAAS,CAAC;IAC5C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,SAAS,CAAC;IAEtD,GAAG,CAAC,gBAAgB,KAAK,CAAC,IAAI,IAAI,MAAM,OAAO,GAAG,KAAK,QAAQ,gDAAgD,CAAC,CAAC;IAEjH,mFAAmF;IACnF,MAAM,eAAe,GAAG,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,QAAQ,CAAC;IACjE,IAAI,eAAe,EAAE,CAAC;QAClB,MAAM,WAAW,GAAI,KAAa,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,GAAG,WAAW,UAAU,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,cAAc,KAAK,CAAC,IAAI,IAAI,MAAM,OAAO,GAAG,KAAK,QAAQ,GAAG,CAAC;QACjI,QAAQ,CAAC,QAAQ,EAAE;YACf,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE,MAAM;YAClB,QAAQ,EAAE,iBAAiB,KAAK,CAAC,IAAI,EAAE;YACvC,WAAW,EAAE,OAAO;SACvB,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,GAAmC,CAAC,CAAC,CAAC;QAClE,GAAG,CAAC,2BAA2B,OAAO,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,KAAK,GAAG;QACV,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,MAAM;QACN,MAAM,EAAE,GAAG;QACX,SAAS,EAAE,QAAQ;QACnB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QAC5B,WAAW,EAAE,iBAAiB;KACjC,CAAC;IACF,SAAS,CAAC,YAAY,EAAE,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;IAC3D,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAE9B,0DAA0D;IAC1D,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;QACtC,MAAM,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACtC,CAAC;IAED,oEAAoE;IACpE,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,UAAU;QACpB,CAAC,CAAC,MAAM,kBAAkB,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC;QACzE,CAAC,CAAC,EAAE,CAAC;IAET,MAAM,OAAO,GAAiB;QAC1B,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,MAAM;QACN,KAAK;QACL,QAAQ,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE;KACxD,CAAC;IAEF,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACrF,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;YACnB,WAAW,CAAC;gBACR,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,MAAM;gBACN,KAAK,EAAE,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;gBAC1C,KAAK,EAAE,mBAAmB;gBAC1B,OAAO,EAAE;oBACL,MAAM,EAAE,cAAc;oBACtB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,aAAa,EAAE,KAAK,CAAC,MAAM;iBAC9B;aACJ,CAAC,CAAC;YACH,GAAG,CAAC,YAAY,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,IAAI,IAAI,MAAM,KAAK,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YAC1G,gDAAgD;YAChD,QAAQ,CAAC,QAAQ,EAAE;gBACf,MAAM,EAAE,QAAQ;gBAChB,UAAU,EAAE,eAAe;gBAC3B,QAAQ,EAAE,QAAQ,MAAM,CAAC,IAAI,cAAc,KAAK,CAAC,IAAI,IAAI,MAAM,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;aACtG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,GAAuB,CAAC,CAAC,CAAC;QAC1D,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACL,mDAAmD;IACvD,CAAC;IAED,4DAA4D;IAC5D,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QACzB,OAAO,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,KAAe,EAAE,WAAqB,EAAE,GAAwB;IACpF,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC;IACvC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,SAAS,CAAC;IACzC,MAAM,GAAG,GAAG,KAAK,CAAC,YAAY,IAAI,SAAS,CAAC;IAC5C,GAAG,CAAC,SAAS,MAAM,KAAK,KAAK,CAAC,IAAI,IAAI,MAAM,OAAO,GAAG,EAAE,CAAC,CAAC;IAC1D,SAAS,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;IAEpL,sCAAsC;IACtC,MAAM,OAAO,GAAiB;QAC1B,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,MAAM;QACN,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE;KACpC,CAAC;IACF,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;YACnB,WAAW,CAAC;gBACR,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,MAAM;gBACN,KAAK,EAAE,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;gBAC1C,KAAK,EAAE,mBAAmB;gBAC1B,OAAO,EAAE;oBACL,MAAM,EAAE,cAAc;oBACtB,OAAO,EAAE,cAAc;oBACvB,SAAS,EAAE,MAAM;oBACjB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;iBAC5B;aACJ,CAAC,CAAC;YACH,GAAG,CAAC,YAAY,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,QAAQ,KAAK,CAAC,IAAI,IAAI,MAAM,KAAK,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7G,QAAQ,CAAC,QAAQ,EAAE;gBACf,MAAM,EAAE,QAAQ;gBAChB,UAAU,EAAE,eAAe;gBAC3B,QAAQ,EAAE,QAAQ,MAAM,CAAC,IAAI,iBAAiB,KAAK,CAAC,IAAI,IAAI,MAAM,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;aACzG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,GAAuB,CAAC,CAAC,CAAC;QAC1D,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACL,gCAAgC;IACpC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,KAAe,EAAE,WAAqB,EAAE,GAAwB;IACxF,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ;QAAE,OAAO;IACxC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,SAAS,CAAC;IACzC,MAAM,GAAG,GAAG,KAAK,CAAC,YAAY,IAAI,SAAS,CAAC;IAC5C,GAAG,CAAC,sBAAsB,KAAK,CAAC,IAAI,IAAI,MAAM,OAAO,GAAG,EAAE,CAAC,CAAC;IAC5D,SAAS,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;IAE9K,0EAA0E;IAC1E,0EAA0E;IAC1E,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,UAAU,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,MAAM,OAAO,CAAC,QAAQ,CAAC;gBACnB,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,EAAE;gBACT,MAAM,EAAE,QAAQ;gBAChB,KAAK,EAAE,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;gBAC1C,WAAW,EAAE,kDAAkD,KAAK,CAAC,IAAI,GAAG;aAC/E,CAAC,CAAC;YACH,GAAG,CAAC,8BAA8B,MAAM,EAAE,CAAC,CAAC;YAC5C,WAAW,CAAC;gBACR,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,MAAM;gBACN,KAAK,EAAE,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;gBAC1C,KAAK,EAAE,UAAU;gBACjB,OAAO,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,sBAAsB,EAAE;aACzE,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACL,0DAA0D;IAC9D,CAAC;AACL,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,KAAe,EAAE,UAAoB,EAAE,GAAwB;IACvF,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ;QAAE,OAAO;IACxC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,SAAS,CAAC;IACzC,MAAM,GAAG,GAAG,KAAK,CAAC,YAAY,IAAI,SAAS,CAAC;IAC5C,GAAG,CAAC,gCAAgC,KAAK,CAAC,IAAI,IAAI,MAAM,OAAO,GAAG,kCAAkC,CAAC,CAAC;IAEtG,8EAA8E;IAC9E,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QACzB,OAAO,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE;YAClB,IAAI,CAAC;gBACD,MAAM,OAAO,GAAG,MAAM,UAAU,EAAE,CAAC;gBACnC,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;gBACzC,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;gBACvD,IAAI,CAAC,KAAK;oBAAE,OAAO;gBAEnB,qEAAqE;gBACrE,yEAAyE;gBACzE,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAClF,QAAQ,GAAG,IAAI,CAAC;oBAChB,GAAG,CAAC,qBAAqB,MAAM,QAAQ,KAAK,CAAC,KAAK,CAAC,MAAM,iDAAiD,CAAC,CAAC;oBAC5G,WAAW,CAAC;wBACR,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,MAAM;wBACN,KAAK,EAAE,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;wBAC1C,KAAK,EAAE,mBAAmB;wBAC1B,OAAO,EAAE;4BACL,OAAO,EAAE,0CAA0C;4BACnD,KAAK,EAAE,KAAK,CAAC,KAAK;4BAClB,UAAU,EAAE,GAAG;yBAClB;qBACJ,CAAC,CAAC;oBACH,QAAQ,CAAC,QAAQ,EAAE;wBACf,MAAM,EAAE,QAAQ;wBAChB,UAAU,EAAE,iBAAiB;wBAC7B,QAAQ,EAAE,kBAAkB,MAAM,uCAAuC,KAAK,CAAC,KAAK,CAAC,MAAM,cAAc,KAAK,CAAC,IAAI,EAAE;wBACrH,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;qBAC/C,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,GAAqB,CAAC,CAAC,CAAC;gBACxD,CAAC;gBAED,kDAAkD;gBAClD,SAAS,CAAC,WAAW,EAAE;oBACnB,GAAG,KAAK;oBACR,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACrC,eAAe,EAAE,eAAe;oBAChC,WAAW,EAAE,GAAG;oBAChB,SAAS,EAAE,CAAC;iBACf,CAAC,CAAC;gBAEH,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;gBACtD,GAAG,CAAC,eAAe,MAAM,SAAS,CAAC,EAAE,CAAC,CAAC;YAC3C,CAAC;YAAC,MAAM,CAAC;gBACL,YAAY;YAChB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,SAAS,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;AAClL,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,KAAe,EAAE,OAA8B,EAAE,IAAqB;IAC/F,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC;IACpG,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAEjD,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;IAEtB,QAAQ,KAAK,CAAC,UAAU,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,CAAU,OAAO,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;QAChE,KAAK,cAAc,CAAC,CAAE,OAAO,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;QAC9D,KAAK,QAAQ,CAAC,CAAQ,OAAO,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;QAClE,KAAK,QAAQ,CAAC,CAAQ,OAAO,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;IACtE,CAAC;AACL,CAAC;AAUD,SAAS,SAAS;IACd,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IACrC,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IAEtB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAC3C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IACrC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IAE9B,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC;AACxC,CAAC;AAED,KAAK,UAAU,aAAa,CACxB,GAAmB,EACnB,IAAY,EACZ,SAAiC,EAAE;IAEnC,MAAM,EAAE,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;IAClD,MAAM,QAAQ,GAAG,GAAG,GAAG,CAAC,GAAG,YAAY,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACnE,MAAM,OAAO,GAA2B;QACpC,QAAQ,EAAE,GAAG,CAAC,GAAG;QACjB,cAAc,EAAE,kBAAkB;KACrC,CAAC;IACF,OAAO,CAAC,eAAe,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,GAAG,EAAE,CAAC;IAE/E,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QACzB,OAAO,GAAG,CAAC,IAAI,EAAyB,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC;AAED,iFAAiF;AAEjF,KAAK,UAAU,OAAO,CAClB,GAAmB,EACnB,OAA8B,EAC9B,IAAqB;IAErB,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,sBAAsB,EAAE;QAC1D,KAAK,EAAE,MAAM,MAAM,EAAE;QACrB,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,GAAG;KAChB,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,EAAE,MAAM;QAAE,OAAO;IAE1B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC3C,CAAC;AAQD;;;;GAIG;AACH,SAAS,yBAAyB,CAC9B,GAAmB,EACnB,OAA8B,EAC9B,IAAqB,EACrB,aAA8B,EAC9B,GAAwB;IAExB,+CAA+C;IAC/C,MAAM,EAAE,GAAI,UAAsC,CAAC,SACH,CAAC;IACjD,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC;IAErB,oEAAoE;IACpE,MAAM,OAAO,GAAG,EAAE,CAAC;IAEnB,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAG,SAAS,OAAO,6CAA6C,GAAG,CAAC,GAAG,YAAY,CAAC;IAE/F,IAAI,EAAE,GAAqB,IAAI,CAAC;IAChC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,cAAc,GAA0C,IAAI,CAAC;IACjE,IAAI,cAAc,GAAyC,IAAI,CAAC;IAChE,IAAI,SAAS,GAAG,IAAI,CAAC;IACrB,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,SAAS,OAAO;QACZ,IAAI,OAAO;YAAE,OAAO;QACpB,EAAE,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;QAExB,EAAE,CAAC,MAAM,GAAG,GAAG,EAAE;YACb,SAAS,GAAG,IAAI,CAAC;YACjB,GAAG,CAAC,4BAA4B,CAAC,CAAC;YAElC,oCAAoC;YACpC,EAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;gBACpB,KAAK,EAAE,sCAAsC;gBAC7C,KAAK,EAAE,UAAU;gBACjB,OAAO,EAAE;oBACL,MAAM,EAAE;wBACJ,SAAS,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE;wBACzB,QAAQ,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;wBACrB,gBAAgB,EAAE;4BACd,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,sBAAsB,EAAE;yBACvE;qBACJ;oBACD,YAAY,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG;iBACnC;gBACD,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;aAC5B,CAAC,CAAC,CAAC;YAEJ,sBAAsB;YACtB,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;gBAC9B,IAAI,EAAE,EAAE,UAAU,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC;oBAClC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;wBACnB,KAAK,EAAE,SAAS;wBAChB,KAAK,EAAE,WAAW;wBAClB,OAAO,EAAE,EAAE;wBACX,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;qBAC5B,CAAC,CAAC,CAAC;gBACR,CAAC;YACL,CAAC,EAAE,MAAM,CAAC,CAAC;QACf,CAAC,CAAC;QAEF,EAAE,CAAC,SAAS,GAAG,CAAC,EAAE,EAAE,EAAE;YAClB,IAAI,GAA4B,CAAC;YACjC,IAAI,CAAC;gBAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAc,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,OAAO;YAAC,CAAC;YAE9D,yCAAyC;YACzC,IAAI,GAAG,CAAC,KAAK,KAAK,kBAAkB;gBAAE,OAAO;YAC7C,MAAM,IAAI,GAAI,GAAG,CAAC,OAAmC,EAAE,IAA2C,CAAC;YACnG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO;YAE5C,MAAM,MAAM,GAAG,IAAI,CAAC,MAA8B,CAAC;YACnD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ;gBAAE,OAAO;YAEtD,oCAAoC;YACpC,IAAI,MAAM,CAAC,GAAG,IAAI,aAAa,CAAC,GAAG;gBAAE,OAAO;YAC5C,aAAa,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;YAC/B,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAExB,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAmB,CAAC,CAAC,CAAC;QAC1E,CAAC,CAAC;QAEF,EAAE,CAAC,OAAO,GAAG,GAAG,EAAE,GAAuC,CAAC,CAAC;QAE3D,EAAE,CAAC,OAAO,GAAG,GAAG,EAAE;YACd,IAAI,cAAc,EAAE,CAAC;gBAAC,aAAa,CAAC,cAAc,CAAC,CAAC;gBAAC,cAAc,GAAG,IAAI,CAAC;YAAC,CAAC;YAC7E,IAAI,OAAO;gBAAE,OAAO;YACpB,GAAG,CAAC,4CAA4C,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC;YACrE,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC7B,8DAA8D;gBAC9D,IAAI,SAAS,EAAE;oBAAE,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAClF,CAAC,EAAE,SAAS,CAAC,CAAC;YACd,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;QAChD,CAAC,CAAC;IACN,CAAC;IAED,OAAO,EAAE,CAAC;IAEV,OAAO;QACH,IAAI,EAAE,GAAG,EAAE;YACP,OAAO,GAAG,IAAI,CAAC;YACf,IAAI,cAAc;gBAAE,aAAa,CAAC,cAAc,CAAC,CAAC;YAClD,IAAI,cAAc;gBAAE,YAAY,CAAC,cAAc,CAAC,CAAC;YACjD,EAAE,EAAE,KAAK,EAAE,CAAC;QAChB,CAAC;KACJ,CAAC;AACN,CAAC;AAED,iFAAiF;AAEjF;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAwB,EAAE;IAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC;IACpG,0FAA0F;IAC1F,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,IAAI,MAAM,CAAC;IAE7C,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;IACxB,IAAI,CAAC,GAAG,EAAE,CAAC;QACP,MAAM,IAAI,KAAK,CACX,+EAA+E,CAClF,CAAC;IACN,CAAC;IAED,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IACnD,GAAG,CAAC,YAAY,OAAO,CAAC,IAAI,aAAa,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAE3E,6EAA6E;IAC7E,MAAM,aAAa,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,CAAC;IAE5C,sBAAsB;IACtB,MAAM,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAClC,MAAM,uBAAuB,CAAC,GAAG,CAAC,CAAC;IAEnC,wDAAwD;IACxD,IAAI,cAAc,GAA0B,IAAI,CAAC;IACjD,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;QACxB,cAAc,GAAG,yBAAyB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;QACnF,IAAI,CAAC,cAAc,EAAE,CAAC;YAClB,GAAG,CAAC,gDAAgD,CAAC,CAAC;QAC1D,CAAC;IACL,CAAC;IAED,+EAA+E;IAC/E,MAAM,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACvE,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACrC,MAAM,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAClC,MAAM,uBAAuB,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC,EAAE,OAAO,CAAC,CAAC;IAEZ,OAAO;QACH,IAAI,EAAE,GAAG,EAAE;YACP,aAAa,CAAC,SAAS,CAAC,CAAC;YACzB,cAAc,EAAE,IAAI,EAAE,CAAC;QAC3B,CAAC;KACJ,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAwB,EAAE;IACxD,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;IACxB,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,+EAA+E,CAAC,CAAC;IAE3G,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IACnD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC;IACpG,MAAM,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAClC,MAAM,uBAAuB,CAAC,GAAG,CAAC,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"git-events-subscriber.js","sourceRoot":"","sources":["../../src/lib/git-events-subscriber.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,OAAO,EAAiB,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C,6EAA6E;AAC7E,6EAA6E;AAC7E,IAAI,SAAS,GAAoB,IAAI,CAAC;AACtC,SAAS,QAAQ;IACb,OAAO,CAAC,SAAS,KAAK,cAAc,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,kBAAkB,CAC9B,MAAyB,OAAO,CAAC,GAAG;IAEpC,OAAO,GAAG,CAAC,sBAAsB,IAAI,GAAG,CAAC,YAAY,IAAI,SAAS,CAAC;AACvE,CAAC;AAiCD,iFAAiF;AAEjF,MAAM,aAAa,GAAO,IAAI,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC;AACxD,MAAM,WAAW,GAAS,IAAI,CAAC,aAAa,EAAE,uBAAuB,CAAC,CAAC;AACvE,MAAM,YAAY,GAAQ,IAAI,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;AAChE,MAAM,WAAW,GAAS,IAAI,CAAC,aAAa,EAAE,0BAA0B,CAAC,CAAC;AAC1E,MAAM,oBAAoB,GAAG,IAAI,CAAC,aAAa,EAAE,2BAA2B,CAAC,CAAC;AAC9E,MAAM,YAAY,GAAQ,IAAI,CAAC,aAAa,EAAE,8BAA8B,CAAC,CAAC;AAC9E,MAAM,WAAW,GAAS,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;AAE/D,iFAAiF;AAEjF,SAAS,UAAU;IACf,IAAI,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;YAAE,OAAO,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;QAC3D,OAAO,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,CAAC,CAAC;IACb,CAAC;AACL,CAAC;AAED,SAAS,WAAW,CAAC,GAAW;IAC5B,IAAI,CAAC;QACD,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;IAC9F,CAAC;IAAC,MAAM,CAAC;QACL,YAAY;IAChB,CAAC;AACL,CAAC;AAED,iFAAiF;AAEjF,SAAS,SAAS,CAAC,IAAY,EAAE,KAA8B;IAC3D,IAAI,CAAC;QACD,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACL,YAAY;IAChB,CAAC;AACL,CAAC;AAED,gFAAgF;AAEhF;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC1C,0DAA0D;IAC1D,2DAA2D;IAC3D,qFAAqF;IACrF,iFAAiF;IACjF,gEAAgE;IAChE,OAAO,GAAG;SACL,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC;SAChC,OAAO,CAAC,2BAA2B,EAAE,EAAE,CAAC;SACxC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,WAAW,EAAE,CAAC;AACvB,CAAC;AAED,iFAAiF;AACjF,yEAAyE;AACzE,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,6BAA6B,EAAE,oBAAoB,CAAC,CAAC,CAAC;AAEtF,MAAM,UAAU,cAAc,CAAC,IAAY;IACvC,OAAO,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAgB;IACtC,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE;YAC7D,GAAG,EAAE,QAAQ;YACb,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,IAAI;SAChB,CAAC,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,aAAuB;IACzC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAoB,CAAC,CAAC,gCAAgC;IAEzE,MAAM,WAAW,GAAa,aAAa,CAAC,MAAM,GAAG,CAAC;QAClD,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,2BAA2B,EAAE,CAAC;IAEpC,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACvC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,GAAG,CAAC;AACf,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAEjC;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,QAAgB,EAAE,GAAwB;IAChF,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE;YACvD,GAAG,EAAE,QAAQ;YACb,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;SACtC,CAAC,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,CAAC,GAAG;YAAE,OAAO,KAAK,CAAC;QACvB,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,KAAK,CAAC,CAAC,mDAAmD;IACrE,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,sBAAsB;QAAE,OAAO,KAAK,CAAC;IAE1D,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,GAAG,CACC,8BAA8B,OAAO,CAAC,MAAM,oDAAoD;QAChG,GAAG,QAAQ,UAAU,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,gCAAgC;QAC7F,+FAA+F;QAC/F,uCAAuC,QAAQ,yDAAyD,CAC3G,CAAC;IACF,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,4EAA4E;AAC5E,SAAS,yBAAyB,CAAC,OAA8B,EAAE,GAAwB;IACvF,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QACnC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,SAAS;YAC1B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACZ,yBAAyB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACtC,CAAC;IACL,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAS,2BAA2B;IAChC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;IACtC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QACpC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACjC,IAAI,CAAC;gBACD,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC;oBACxF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrB,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACL,OAAO;YACX,CAAC;QACL,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACL,wCAAwC;IAC5C,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,iFAAiF;AAEjF,MAAM,MAAM,GAAG,IAAI,GAAG,EAAyB,CAAC,CAAC,uBAAuB;AAExE,SAAS,OAAO,CAAC,QAAgB,EAAE,IAAyB;IACxD,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IACvD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACpD,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,iFAAiF;AAEjF,MAAM,YAAY,GAAG,0CAA0C,CAAC;AAEhE,MAAM,iBAAiB,GAA2B;IAC9C,UAAU,EAAE,6BAA6B;IACzC,SAAS,EAAG,oBAAoB;CACnC,CAAC;AAEF;;;;GAIG;AACH,KAAK,UAAU,eAAe,CAAC,KAAe,EAAE,GAAwB;IACpE,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,SAAS;QAAE,OAAO;IAClD,MAAM,GAAG,GAAG,gCAAgC,KAAK,CAAC,IAAI,YAAY,KAAK,CAAC,UAAU,MAAM,KAAK,CAAC,SAAS,EAAE,CAAC;IAC1G,MAAM,WAAW,GAAG,kBAAkB,EAAE,CAAC;IACzC,MAAM,OAAO,GAA2B;QACpC,QAAQ,EAAM,gCAAgC;QAC9C,YAAY,EAAE,qBAAqB;KACtC,CAAC;IACF,IAAI,WAAW;QAAE,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,WAAW,EAAE,CAAC;IACpE,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO;QAEpB,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAA6D,CAAC;QACzF,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvG,IAAI,CAAC,QAAQ,CAAC,MAAM;YAAE,OAAO;QAE7B,qCAAqC;QACrC,MAAM,OAAO,GAA6B,EAAE,CAAC;QAC7C,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACtC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,UAAU,IAAI,SAAS,CAAC;YAChE,GAAG,CAAC,OAAO,KAAK,CAAC,MAAM,mBAAmB,IAAI,kBAAkB,IAAI,IAAI,CAAC,CAAC;YAC1E,SAAS,CAAC,WAAW,EAAE;gBACnB,IAAI,EAAU,kBAAkB;gBAChC,IAAI;gBACJ,KAAK;gBACL,KAAK,EAAS,KAAK,CAAC,MAAM;gBAC1B,IAAI,EAAU,KAAK,CAAC,IAAI;gBACxB,MAAM,EAAQ,KAAK,CAAC,MAAM;gBAC1B,SAAS,EAAK,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC1C,WAAW,EAAG,KAAK,CAAC,WAAW;gBAC/B,EAAE,EAAY,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACtC,WAAW,EAAG,IAAI;aACrB,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACL,8DAA8D;IAClE,CAAC;AACL,CAAC;AAED,iFAAiF;AAEjF,uFAAuF;AACvF,SAAS,WAAW,CAAC,KAA8B;IAC/C,MAAM,IAAI,GAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAK,CAAC,CAAC,SAAS,CAAC;IAC9E,MAAM,GAAG,GAAK,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAChF,MAAM,IAAI,GAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAK,CAAC,CAAC,SAAS,CAAC;IAC9E,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAU,CAAC,CAAE,KAAK,CAAC,KAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7F,OAAO,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;AAC7C,CAAC;AAED,6DAA6D;AAC7D,SAAS,eAAe;IACpB,IAAI,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC;YAAE,OAAO,IAAI,GAAG,EAAE,CAAC;QACxD,MAAM,KAAK,GAAG,YAAY,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACrF,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;QAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,CAAC;gBACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA4B,CAAC;gBAC1D,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ;oBAAE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC1D,CAAC;YAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,IAAI,GAAG,EAAE,CAAC;IACrB,CAAC;AACL,CAAC;AAED,IAAI,WAAW,GAAG,KAAK,CAAC,CAAC,sBAAsB;AAE/C;;;;;;;GAOG;AACH,KAAK,UAAU,uBAAuB,CAAC,GAAwB;IAC3D,IAAI,WAAW;QAAE,OAAO;IACxB,WAAW,GAAG,IAAI,CAAC;IACnB,IAAI,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;YAAE,OAAO;QAErC,IAAI,QAAkB,CAAC;QACvB,IAAI,CAAC;YACD,QAAQ,GAAG,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7E,CAAC;QAAC,MAAM,CAAC;YACL,OAAO;QACX,CAAC;QAED,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;QACtC,MAAM,SAAS,GAAe,EAAE,CAAC,CAAC,oCAAoC;QACtE,MAAM,SAAS,GAAuE,EAAE,CAAC;QAEzF,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA4B,CAAC;gBAC1D,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;oBACpC,MAAM,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;oBAC9B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;wBACvB,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC7C,CAAC;oBACD,6DAA6D;gBACjE,CAAC;qBAAM,CAAC;oBACJ,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzB,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACL,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,oCAAoC;YAC9D,CAAC;QACL,CAAC;QAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEnC,GAAG,CAAC,gBAAgB,SAAS,CAAC,MAAM,oCAAoC,CAAC,CAAC;QAE1E,MAAM,SAAS,GAA0D,EAAE,CAAC;QAC5E,MAAM,MAAM,GAAgB,EAAE,CAAC,CAAC,+BAA+B;QAE/D,KAAK,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,SAAS,EAAE,CAAC;YACzC,MAAM,IAAI,GAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,IAAI,SAAS,CAAC;YACxG,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,KAAK,CAAC,KAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1E,MAAM,OAAO,GAAG,4BAA4B,KAAK,CAAC,IAAI,oBAAoB,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,SAAS,MAAM,IAAI,EAAE,CAAC;YAEpH,kEAAkE;YAClE,6DAA6D;YAC7D,oEAAoE;YACpE,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,EAAE;gBACvC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,SAAS,CAAC;gBACrC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,SAAS,CAAC;gBACzC,IAAI,EAAE,CAAC;gBACP,OAAO,EAAE,OAAO;gBAChB,MAAM,EAAE,cAAc,EAAE,EAAE;gBAC1B,KAAK;gBACL,OAAO,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE;aAC/F,EAAE,GAAG,CAAC,CAAC;YAER,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACd,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC9B,GAAG,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACJ,GAAG,CAAC,0BAA0B,EAAE,KAAK,QAAQ,CAAC,MAAM,yBAAyB,CAAC,CAAC;gBAC/E,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC;QACL,CAAC;QAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEnC,+CAA+C;QAC/C,KAAK,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,SAAS,EAAE,CAAC;YACpC,SAAS,CAAC,oBAAoB,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAClG,CAAC;QAED,6EAA6E;QAC7E,MAAM,UAAU,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC;YACD,aAAa,CAAC,YAAY,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACvF,UAAU,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,GAAG,CAAC,qCAAqC,GAAG,EAAE,CAAC,CAAC;QACpD,CAAC;IACL,CAAC;YAAS,CAAC;QACP,WAAW,GAAG,KAAK,CAAC;IACxB,CAAC;AACL,CAAC;AAED,MAAM,QAAQ,GAAG,0CAA0C,CAAC;AAE5D,MAAM,MAAM,GAAG,mBAAmB,CAAC;AAEnC,KAAK,UAAU,kBAAkB,CAAC,QAAgB,EAAE,SAAwB,EAAE,QAAuB;IACjG,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ,IAAI,SAAS,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACjE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,CAAC;IACjE,IAAI,CAAC;QACD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,SAAS,MAAM,QAAQ,EAAE,CAAC,EAAE;YACjG,GAAG,EAAE,QAAQ;YACb,OAAO,EAAE,KAAK;SACjB,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,EAAE,CAAC;IACd,CAAC;AACL,CAAC;AAED,iFAAiF;AAEjF,KAAK,UAAU,UAAU,CAAC,KAAe,EAAE,UAAoB,EAAE,GAAwB;IACrF,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,SAAS,CAAC;IAC3D,MAAM,GAAG,GAAG,KAAK,CAAC,YAAY,IAAI,SAAS,CAAC;IAC5C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,SAAS,CAAC;IAEtD,GAAG,CAAC,gBAAgB,KAAK,CAAC,IAAI,IAAI,MAAM,OAAO,GAAG,KAAK,QAAQ,oDAAoD,CAAC,CAAC;IAErH,2EAA2E;IAC3E,2EAA2E;IAC3E,8GAA8G;IAE9G,MAAM,KAAK,GAAG;QACV,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,MAAM;QACN,MAAM,EAAE,GAAG;QACX,SAAS,EAAE,QAAQ;QACnB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QAC5B,WAAW,EAAE,qBAAqB;KACrC,CAAC;IACF,SAAS,CAAC,YAAY,EAAE,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;IAC3D,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAE9B,0DAA0D;IAC1D,IAAI,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,MAAM,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACtC,CAAC;IAED,oEAAoE;IACpE,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,UAAU;QACpB,CAAC,CAAC,MAAM,kBAAkB,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC;QACzE,CAAC,CAAC,EAAE,CAAC;IAET,MAAM,OAAO,GAAiB;QAC1B,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,MAAM;QACN,KAAK;QACL,QAAQ,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE;KACxD,CAAC;IAEF,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACrF,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;YACnB,WAAW,CAAC;gBACR,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,MAAM;gBACN,KAAK,EAAE,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;gBAC1C,KAAK,EAAE,mBAAmB;gBAC1B,OAAO,EAAE;oBACL,MAAM,EAAE,cAAc;oBACtB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,aAAa,EAAE,KAAK,CAAC,MAAM;iBAC9B;aACJ,CAAC,CAAC;YACH,GAAG,CAAC,YAAY,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,IAAI,IAAI,MAAM,KAAK,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YAC1G,MAAM,OAAO,CAAC,QAAQ,EAAE,EAAE;gBACtB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,MAAM;gBACN,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,MAAM,EAAE,QAAQ,KAAK,CAAC,SAAS,IAAI,SAAS,EAAE;gBAC9C,KAAK,EAAE,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;gBAC1C,KAAK;gBACL,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE;aAC7G,EAAE,GAAG,CAAC,CAAC;QACZ,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACL,mDAAmD;IACvD,CAAC;IAED,4DAA4D;IAC5D,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QACzB,OAAO,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,KAAe,EAAE,WAAqB,EAAE,GAAwB;IACpF,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC;IACvC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,SAAS,CAAC;IACzC,MAAM,GAAG,GAAG,KAAK,CAAC,YAAY,IAAI,SAAS,CAAC;IAC5C,GAAG,CAAC,SAAS,MAAM,KAAK,KAAK,CAAC,IAAI,IAAI,MAAM,OAAO,GAAG,EAAE,CAAC,CAAC;IAC1D,SAAS,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;IAEpL,sCAAsC;IACtC,MAAM,OAAO,GAAiB;QAC1B,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,MAAM;QACN,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE;KACpC,CAAC;IACF,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;YACnB,WAAW,CAAC;gBACR,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,MAAM;gBACN,KAAK,EAAE,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;gBAC1C,KAAK,EAAE,mBAAmB;gBAC1B,OAAO,EAAE;oBACL,MAAM,EAAE,cAAc;oBACtB,OAAO,EAAE,cAAc;oBACvB,SAAS,EAAE,MAAM;oBACjB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;iBAC5B;aACJ,CAAC,CAAC;YACH,GAAG,CAAC,YAAY,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,QAAQ,KAAK,CAAC,IAAI,IAAI,MAAM,KAAK,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7G,MAAM,OAAO,CAAC,QAAQ,EAAE,EAAE;gBACtB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,MAAM;gBACN,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,MAAM,EAAE,MAAM,MAAM,EAAE;gBACtB,KAAK,EAAE,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;gBAC1C,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE;aAC5G,EAAE,GAAG,CAAC,CAAC;QACZ,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACL,gCAAgC;IACpC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,KAAe,EAAE,WAAqB,EAAE,GAAwB;IACxF,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ;QAAE,OAAO;IACxC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,SAAS,CAAC;IACzC,MAAM,GAAG,GAAG,KAAK,CAAC,YAAY,IAAI,SAAS,CAAC;IAC5C,GAAG,CAAC,sBAAsB,KAAK,CAAC,IAAI,IAAI,MAAM,OAAO,GAAG,EAAE,CAAC,CAAC;IAC5D,SAAS,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;IAE9K,0EAA0E;IAC1E,0EAA0E;IAC1E,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,UAAU,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,MAAM,OAAO,CAAC,QAAQ,CAAC;gBACnB,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,EAAE;gBACT,MAAM,EAAE,QAAQ;gBAChB,KAAK,EAAE,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;gBAC1C,WAAW,EAAE,kDAAkD,KAAK,CAAC,IAAI,GAAG;aAC/E,CAAC,CAAC;YACH,GAAG,CAAC,8BAA8B,MAAM,EAAE,CAAC,CAAC;YAC5C,WAAW,CAAC;gBACR,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,MAAM;gBACN,KAAK,EAAE,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;gBAC1C,KAAK,EAAE,UAAU;gBACjB,OAAO,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,sBAAsB,EAAE;aACzE,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACL,0DAA0D;IAC9D,CAAC;AACL,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,KAAe,EAAE,UAAoB,EAAE,GAAwB;IACvF,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ;QAAE,OAAO;IACxC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,SAAS,CAAC;IACzC,MAAM,GAAG,GAAG,KAAK,CAAC,YAAY,IAAI,SAAS,CAAC;IAC5C,GAAG,CAAC,gCAAgC,KAAK,CAAC,IAAI,IAAI,MAAM,OAAO,GAAG,kCAAkC,CAAC,CAAC;IAEtG,8EAA8E;IAC9E,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QACzB,OAAO,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE;YAClB,IAAI,CAAC;gBACD,MAAM,OAAO,GAAG,MAAM,UAAU,EAAE,CAAC;gBACnC,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;gBACzC,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;gBACvD,IAAI,CAAC,KAAK;oBAAE,OAAO;gBAEnB,qEAAqE;gBACrE,yEAAyE;gBACzE,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAClF,QAAQ,GAAG,IAAI,CAAC;oBAChB,GAAG,CAAC,qBAAqB,MAAM,QAAQ,KAAK,CAAC,KAAK,CAAC,MAAM,iDAAiD,CAAC,CAAC;oBAC5G,WAAW,CAAC;wBACR,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,MAAM;wBACN,KAAK,EAAE,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;wBAC1C,KAAK,EAAE,mBAAmB;wBAC1B,OAAO,EAAE;4BACL,OAAO,EAAE,0CAA0C;4BACnD,KAAK,EAAE,KAAK,CAAC,KAAK;4BAClB,UAAU,EAAE,GAAG;yBAClB;qBACJ,CAAC,CAAC;oBACH,4DAA4D;oBAC5D,wDAAwD;oBACxD,yDAAyD;oBACzD,MAAM,OAAO,CAAC,QAAQ,EAAE,EAAE;wBACtB,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,MAAM;wBACN,IAAI,EAAE,CAAC;wBACP,OAAO,EAAE,sBAAsB,KAAK,CAAC,KAAK,CAAC,MAAM,yEAAyE;wBAC1H,MAAM,EAAE,gBAAgB;wBACxB,KAAK,EAAE,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;wBAC1C,KAAK,EAAE,KAAK,CAAC,KAAK;wBAClB,OAAO,EAAE,EAAE,OAAO,EAAE,0CAA0C,EAAE,UAAU,EAAE,GAAG,EAAE;qBACpF,EAAE,GAAG,CAAC,CAAC;gBACZ,CAAC;gBAED,kDAAkD;gBAClD,SAAS,CAAC,WAAW,EAAE;oBACnB,GAAG,KAAK;oBACR,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACrC,eAAe,EAAE,eAAe;oBAChC,WAAW,EAAE,GAAG;oBAChB,SAAS,EAAE,CAAC;iBACf,CAAC,CAAC;gBAEH,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;gBACtD,GAAG,CAAC,eAAe,MAAM,SAAS,CAAC,EAAE,CAAC,CAAC;YAC3C,CAAC;YAAC,MAAM,CAAC;gBACL,YAAY;YAChB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,SAAS,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;AAClL,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,KAAe,EAAE,OAA8B,EAAE,IAAqB;IAC/F,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC;IACpG,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IAE/D,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;IAEtB,QAAQ,KAAK,CAAC,UAAU,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,CAAU,OAAO,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;QAChE,KAAK,cAAc,CAAC,CAAE,OAAO,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;QAC9D,KAAK,QAAQ,CAAC,CAAQ,OAAO,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;QAClE,KAAK,QAAQ,CAAC,CAAQ,OAAO,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;IACtE,CAAC;AACL,CAAC;AAUD,SAAS,SAAS;IACd,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAC1C,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IAEtB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAC3C,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IAE9B,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC;AACxC,CAAC;AAED,KAAK,UAAU,aAAa,CACxB,GAAmB,EACnB,IAAY,EACZ,SAAiC,EAAE;IAEnC,MAAM,EAAE,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;IAClD,MAAM,QAAQ,GAAG,GAAG,GAAG,CAAC,GAAG,YAAY,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACnE,MAAM,OAAO,GAA2B;QACpC,QAAQ,EAAE,GAAG,CAAC,GAAG;QACjB,cAAc,EAAE,kBAAkB;KACrC,CAAC;IACF,OAAO,CAAC,eAAe,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,GAAG,EAAE,CAAC;IAE/E,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QACzB,OAAO,GAAG,CAAC,IAAI,EAAyB,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC;AAED,iFAAiF;AAEjF,KAAK,UAAU,OAAO,CAClB,GAAmB,EACnB,OAA8B,EAC9B,IAAqB;IAErB,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,sBAAsB,EAAE;QAC1D,KAAK,EAAE,MAAM,MAAM,EAAE;QACrB,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,GAAG;KAChB,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,EAAE,MAAM;QAAE,OAAO;IAE1B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC3C,CAAC;AAQD;;;;GAIG;AACH,SAAS,yBAAyB,CAC9B,GAAmB,EACnB,OAA8B,EAC9B,IAAqB,EACrB,aAA8B,EAC9B,GAAwB;IAExB,+CAA+C;IAC/C,MAAM,EAAE,GAAI,UAAsC,CAAC,SACH,CAAC;IACjD,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC;IAErB,oEAAoE;IACpE,MAAM,OAAO,GAAG,EAAE,CAAC;IAEnB,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAG,SAAS,OAAO,6CAA6C,GAAG,CAAC,GAAG,YAAY,CAAC;IAE/F,IAAI,EAAE,GAAqB,IAAI,CAAC;IAChC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,cAAc,GAA0C,IAAI,CAAC;IACjE,IAAI,cAAc,GAAyC,IAAI,CAAC;IAChE,IAAI,SAAS,GAAG,IAAI,CAAC;IACrB,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,SAAS,OAAO;QACZ,IAAI,OAAO;YAAE,OAAO;QACpB,EAAE,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;QAExB,EAAE,CAAC,MAAM,GAAG,GAAG,EAAE;YACb,SAAS,GAAG,IAAI,CAAC;YACjB,GAAG,CAAC,4BAA4B,CAAC,CAAC;YAElC,oCAAoC;YACpC,EAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;gBACpB,KAAK,EAAE,sCAAsC;gBAC7C,KAAK,EAAE,UAAU;gBACjB,OAAO,EAAE;oBACL,MAAM,EAAE;wBACJ,SAAS,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE;wBACzB,QAAQ,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;wBACrB,gBAAgB,EAAE;4BACd,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,sBAAsB,EAAE;yBACvE;qBACJ;oBACD,YAAY,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG;iBACnC;gBACD,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;aAC5B,CAAC,CAAC,CAAC;YAEJ,sBAAsB;YACtB,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;gBAC9B,IAAI,EAAE,EAAE,UAAU,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC;oBAClC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;wBACnB,KAAK,EAAE,SAAS;wBAChB,KAAK,EAAE,WAAW;wBAClB,OAAO,EAAE,EAAE;wBACX,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;qBAC5B,CAAC,CAAC,CAAC;gBACR,CAAC;YACL,CAAC,EAAE,MAAM,CAAC,CAAC;QACf,CAAC,CAAC;QAEF,EAAE,CAAC,SAAS,GAAG,CAAC,EAAE,EAAE,EAAE;YAClB,IAAI,GAA4B,CAAC;YACjC,IAAI,CAAC;gBAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAc,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,OAAO;YAAC,CAAC;YAE9D,yCAAyC;YACzC,IAAI,GAAG,CAAC,KAAK,KAAK,kBAAkB;gBAAE,OAAO;YAC7C,MAAM,IAAI,GAAI,GAAG,CAAC,OAAmC,EAAE,IAA2C,CAAC;YACnG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO;YAE5C,MAAM,MAAM,GAAG,IAAI,CAAC,MAA8B,CAAC;YACnD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ;gBAAE,OAAO;YAEtD,oCAAoC;YACpC,IAAI,MAAM,CAAC,GAAG,IAAI,aAAa,CAAC,GAAG;gBAAE,OAAO;YAC5C,aAAa,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;YAC/B,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAExB,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAmB,CAAC,CAAC,CAAC;QAC1E,CAAC,CAAC;QAEF,EAAE,CAAC,OAAO,GAAG,GAAG,EAAE,GAAuC,CAAC,CAAC;QAE3D,EAAE,CAAC,OAAO,GAAG,GAAG,EAAE;YACd,IAAI,cAAc,EAAE,CAAC;gBAAC,aAAa,CAAC,cAAc,CAAC,CAAC;gBAAC,cAAc,GAAG,IAAI,CAAC;YAAC,CAAC;YAC7E,IAAI,OAAO;gBAAE,OAAO;YACpB,GAAG,CAAC,4CAA4C,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC;YACrE,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC7B,8DAA8D;gBAC9D,IAAI,SAAS,EAAE;oBAAE,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAClF,CAAC,EAAE,SAAS,CAAC,CAAC;YACd,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;QAChD,CAAC,CAAC;IACN,CAAC;IAED,OAAO,EAAE,CAAC;IAEV,OAAO;QACH,IAAI,EAAE,GAAG,EAAE;YACP,OAAO,GAAG,IAAI,CAAC;YACf,IAAI,cAAc;gBAAE,aAAa,CAAC,cAAc,CAAC,CAAC;YAClD,IAAI,cAAc;gBAAE,YAAY,CAAC,cAAc,CAAC,CAAC;YACjD,EAAE,EAAE,KAAK,EAAE,CAAC;QAChB,CAAC;KACJ,CAAC;AACN,CAAC;AAED,iFAAiF;AAEjF;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAwB,EAAE;IAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC;IACpG,0FAA0F;IAC1F,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,IAAI,MAAM,CAAC;IAE7C,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;IACxB,IAAI,CAAC,GAAG,EAAE,CAAC;QACP,MAAM,IAAI,KAAK,CACX,+EAA+E,CAClF,CAAC;IACN,CAAC;IAED,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IACnD,GAAG,CAAC,YAAY,OAAO,CAAC,IAAI,aAAa,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAE3E,mFAAmF;IACnF,yBAAyB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAExC,6EAA6E;IAC7E,MAAM,aAAa,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,CAAC;IAE5C,sBAAsB;IACtB,MAAM,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAClC,MAAM,uBAAuB,CAAC,GAAG,CAAC,CAAC;IAEnC,wDAAwD;IACxD,IAAI,cAAc,GAA0B,IAAI,CAAC;IACjD,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;QACxB,cAAc,GAAG,yBAAyB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;QACnF,IAAI,CAAC,cAAc,EAAE,CAAC;YAClB,GAAG,CAAC,gDAAgD,CAAC,CAAC;QAC1D,CAAC;IACL,CAAC;IAED,+EAA+E;IAC/E,MAAM,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACvE,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACrC,yBAAyB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACxC,MAAM,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAClC,MAAM,uBAAuB,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC,EAAE,OAAO,CAAC,CAAC;IAEZ,OAAO;QACH,IAAI,EAAE,GAAG,EAAE;YACP,aAAa,CAAC,SAAS,CAAC,CAAC;YACzB,cAAc,EAAE,IAAI,EAAE,CAAC;QAC3B,CAAC;KACJ,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAwB,EAAE;IACxD,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;IACxB,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,+EAA+E,CAAC,CAAC;IAE3G,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IACnD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC;IACpG,yBAAyB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACxC,MAAM,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAClC,MAAM,uBAAuB,CAAC,GAAG,CAAC,CAAC;AACvC,CAAC"}
@@ -0,0 +1,38 @@
1
+ import type { MergeConflictKind } from './git.js';
2
+ /**
3
+ * Real merge-conflict analysis (git merge-tree backed).
4
+ *
5
+ * Thin orchestration over {@link getMergeConflicts}. Pure function of git state —
6
+ * no registry, no network. NEVER throws for "branch conflicts": a true conflict is
7
+ * a successful RESULT (`clean: false`); only environmental failures (missing ref,
8
+ * not a repository, unsupported tooling) populate `error`.
9
+ *
10
+ * Consumed by the `conflicts --real` command (B1) and `merge-plan`.
11
+ *
12
+ * @module git-merge-analyzer
13
+ */
14
+ export type { MergeConflictKind } from './git.js';
15
+ export interface RealConflict {
16
+ file: string;
17
+ kind: MergeConflictKind;
18
+ }
19
+ export interface RealConflictReport {
20
+ base: string;
21
+ branch: string;
22
+ mergeBase: string | null;
23
+ conflicts: RealConflict[];
24
+ clean: boolean;
25
+ method: 'write-tree' | 'legacy';
26
+ error?: string;
27
+ }
28
+ /**
29
+ * Compute true merge conflicts merging `branch` into `base`.
30
+ *
31
+ * @param base Trunk / target ref to merge into (local branch, `origin/<ref>`, or SHA).
32
+ * @param branch Feature ref being merged (local branch, `origin/<ref>`, or SHA).
33
+ * @returns A {@link RealConflictReport}. Never rejects for "they conflict"; resolves
34
+ * with `clean: false` and the conflict list. Environmental failures resolve
35
+ * with `error` set and `clean: false`.
36
+ */
37
+ export declare function analyzeRealConflicts(base: string, branch: string): Promise<RealConflictReport>;
38
+ //# sourceMappingURL=git-merge-analyzer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-merge-analyzer.d.ts","sourceRoot":"","sources":["../../src/lib/git-merge-analyzer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAElD;;;;;;;;;;;GAWG;AAEH,YAAY,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAElD,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,iBAAiB,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,YAAY,GAAG,QAAQ,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;GAQG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAYpG"}
@@ -0,0 +1,23 @@
1
+ import { getMergeConflicts } from './git.js';
2
+ /**
3
+ * Compute true merge conflicts merging `branch` into `base`.
4
+ *
5
+ * @param base Trunk / target ref to merge into (local branch, `origin/<ref>`, or SHA).
6
+ * @param branch Feature ref being merged (local branch, `origin/<ref>`, or SHA).
7
+ * @returns A {@link RealConflictReport}. Never rejects for "they conflict"; resolves
8
+ * with `clean: false` and the conflict list. Environmental failures resolve
9
+ * with `error` set and `clean: false`.
10
+ */
11
+ export async function analyzeRealConflicts(base, branch) {
12
+ const result = getMergeConflicts(base, branch);
13
+ return {
14
+ base: result.base,
15
+ branch: result.branch,
16
+ mergeBase: result.mergeBase,
17
+ conflicts: result.conflicts.map(({ file, kind }) => ({ file, kind })),
18
+ clean: result.error ? false : result.conflicts.length === 0,
19
+ method: result.method,
20
+ error: result.error,
21
+ };
22
+ }
23
+ //# sourceMappingURL=git-merge-analyzer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-merge-analyzer.js","sourceRoot":"","sources":["../../src/lib/git-merge-analyzer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAiC7C;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAAY,EAAE,MAAc;IACnE,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAE/C,OAAO;QACH,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;QAC3D,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,KAAK,EAAE,MAAM,CAAC,KAAK;KACtB,CAAC;AACN,CAAC"}
package/dist/lib/git.d.ts CHANGED
@@ -1,15 +1,103 @@
1
+ import type { ExecFileSyncOptionsWithStringEncoding } from 'child_process';
1
2
  export declare class GitError extends Error {
2
3
  readonly code: 'NOT_A_REPO' | 'INVALID_REF' | 'EXEC_FAILED';
3
4
  constructor(message: string, code: 'NOT_A_REPO' | 'INVALID_REF' | 'EXEC_FAILED');
4
5
  }
6
+ type GitExecOptions = Pick<ExecFileSyncOptionsWithStringEncoding, 'stdio' | 'env' | 'timeout'>;
7
+ export declare function execGit(args: string[], options?: GitExecOptions): string;
5
8
  export declare function getCurrentBranch(): string;
9
+ /**
10
+ * Repo name as used for the `repo_name` column in spider_registries.
11
+ *
12
+ * Must stay identical across push and read paths: `registry-sync --push` stamps
13
+ * rows with this value and `conflicts`/`cross-conflicts` filter on it, so any
14
+ * divergence makes a pull silently return zero rows (tb-ly0b).
15
+ */
16
+ export declare function getRepoName(): string;
17
+ /**
18
+ * Every repo_name a read should match: the clone's directory name (what registry-sync
19
+ * writes) plus the lowercased GitHub repo name from `origin` (what the spidersan-webhook
20
+ * edge function writes for pushed branches — it never sees the local directory). They
21
+ * differ for spidersan-oss cloned as `spidersan`, or `toak` cloned as `Toak`.
22
+ */
23
+ export declare function registryRepoNames(): string[];
6
24
  export declare function getChangedFiles(options?: {
7
25
  base?: string;
8
26
  }): string[];
9
27
  export declare function getFileAtRef(ref: string, filePath: string): string | null;
10
28
  export declare function getRemoteHead(remote: string, branch: string): string | null;
29
+ export type MergeConflictKind = 'content' | 'add/add' | 'delete/modify' | 'rename';
30
+ export interface MergeConflictResult {
31
+ base: string;
32
+ branch: string;
33
+ mergeBase: string | null;
34
+ conflicts: {
35
+ file: string;
36
+ kind: MergeConflictKind;
37
+ }[];
38
+ clean: boolean;
39
+ method: 'write-tree' | 'legacy';
40
+ rawOutput?: string;
41
+ error?: string;
42
+ }
43
+ /**
44
+ * Real conflicts merging `branch` into `base`. Prefers `--write-tree` (git ≥2.38),
45
+ * falls back to the legacy 3-arg form. NEVER throws for "they conflict" — only sets
46
+ * `error` for environmental failures (bad ref / not a repo / unsupported tooling).
47
+ */
48
+ export declare function getMergeConflicts(base: string, branch: string): MergeConflictResult;
11
49
  export declare function getAheadBehind(remote?: string, branch?: string): {
12
50
  ahead: number;
13
51
  behind: number;
14
52
  };
53
+ /**
54
+ * Resolve a usable git ref for a branch name, preferring the remote-tracking
55
+ * ref (`refs/remotes/<remote>/<name>`) over the local ref (`refs/heads/<name>`).
56
+ *
57
+ * Returns the resolved ref string, or `null` if neither a remote nor a local
58
+ * ref exists — i.e. the branch is gone from this checkout AND the remote
59
+ * (an orphan). Preferring the remote ref means a stale local branch doesn't
60
+ * mask a delete, and vice-versa.
61
+ *
62
+ * Invalid branch names resolve to `null` rather than throwing, so a poisoned
63
+ * registry entry degrades to "orphan" instead of crashing reconcile-on-read.
64
+ */
65
+ export declare function resolveBranchRef(name: string, remote?: string): string | null;
66
+ /**
67
+ * Branch names that exist on `remote` right now (`git ls-remote --heads`), or
68
+ * `null` when the remote can't be asked (offline, no remote, timeout). A missing
69
+ * local/tracking ref only proves "not fetched here"; this is the call that
70
+ * proves "deleted". One network round-trip for the whole registry.
71
+ */
72
+ export declare function listRemoteHeads(remote?: string): Set<string> | null;
73
+ /** Resolve only the LOCAL ref (`refs/heads/<name>`), or `null` if none. */
74
+ export declare function resolveLocalBranchRef(name: string): string | null;
75
+ /**
76
+ * True if `ref` is an ancestor of `ancestorOf` — i.e. `ref` is fully merged
77
+ * into it. Backed by `git merge-base --is-ancestor` (exit 0 = ancestor,
78
+ * exit 1 = not). Any failure (not-an-ancestor, bad ref, not a repo) returns
79
+ * `false`, so the caller treats "can't prove merged" as "still live" — the
80
+ * safe default for conflict detection.
81
+ *
82
+ * NOTE: detects merge-commit / fast-forward merges, where the branch tip is
83
+ * an ancestor of trunk. Squash merges rewrite history, so the tip is NOT an
84
+ * ancestor — use {@link isSquashMergedInto} for those.
85
+ */
86
+ export declare function isMergedInto(ref: string, ancestorOf: string): boolean;
87
+ /**
88
+ * True if `ref`'s content landed in `ancestorOf` via a SQUASH merge (tb-tr1z).
89
+ *
90
+ * Squash merges rewrite history, so `merge-base --is-ancestor` can never see
91
+ * them. Instead we ask whether trunk contains a patch-id-equivalent change:
92
+ * commit the branch's tree onto its merge-base as one synthetic commit (the
93
+ * exact diff a squash merge lands), then `git cherry` it against trunk — a
94
+ * leading `-` means an equivalent patch is already there.
95
+ *
96
+ * The synthetic commit is a dangling object git eventually gc's; author and
97
+ * dates are pinned so repeat probes reuse the identical object instead of
98
+ * accreting new ones. Any failure returns `false` — "can't prove merged"
99
+ * stays "live", same as {@link isMergedInto}.
100
+ */
101
+ export declare function isSquashMergedInto(ref: string, ancestorOf: string): boolean;
102
+ export {};
15
103
  //# sourceMappingURL=git.d.ts.map