@rubytech/create-maxy-code 0.1.92 → 0.1.93

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 (108) hide show
  1. package/dist/__tests__/claude-ptys-slice.test.js +25 -0
  2. package/dist/index.js +10 -1
  3. package/dist/port-resolution.js +29 -0
  4. package/package.json +1 -1
  5. package/payload/platform/plugins/docs/references/platform.md +4 -2
  6. package/payload/platform/services/claude-session-manager/dist/fs-watcher.d.ts +61 -2
  7. package/payload/platform/services/claude-session-manager/dist/fs-watcher.d.ts.map +1 -1
  8. package/payload/platform/services/claude-session-manager/dist/fs-watcher.js +337 -32
  9. package/payload/platform/services/claude-session-manager/dist/fs-watcher.js.map +1 -1
  10. package/payload/platform/services/claude-session-manager/dist/http-server.d.ts +1 -3
  11. package/payload/platform/services/claude-session-manager/dist/http-server.d.ts.map +1 -1
  12. package/payload/platform/services/claude-session-manager/dist/http-server.js +307 -209
  13. package/payload/platform/services/claude-session-manager/dist/http-server.js.map +1 -1
  14. package/payload/platform/services/claude-session-manager/dist/index.js +62 -13
  15. package/payload/platform/services/claude-session-manager/dist/index.js.map +1 -1
  16. package/payload/platform/services/claude-session-manager/dist/jsonl-path.d.ts +9 -0
  17. package/payload/platform/services/claude-session-manager/dist/jsonl-path.d.ts.map +1 -1
  18. package/payload/platform/services/claude-session-manager/dist/jsonl-path.js +14 -0
  19. package/payload/platform/services/claude-session-manager/dist/jsonl-path.js.map +1 -1
  20. package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts +165 -33
  21. package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts.map +1 -1
  22. package/payload/platform/services/claude-session-manager/dist/pty-spawner.js +283 -92
  23. package/payload/platform/services/claude-session-manager/dist/pty-spawner.js.map +1 -1
  24. package/payload/platform/services/claude-session-manager/dist/reaper.d.ts +4 -2
  25. package/payload/platform/services/claude-session-manager/dist/reaper.d.ts.map +1 -1
  26. package/payload/platform/services/claude-session-manager/dist/reaper.js +23 -22
  27. package/payload/platform/services/claude-session-manager/dist/reaper.js.map +1 -1
  28. package/payload/platform/services/claude-session-manager/dist/session-sidecar.d.ts +55 -0
  29. package/payload/platform/services/claude-session-manager/dist/session-sidecar.d.ts.map +1 -0
  30. package/payload/platform/services/claude-session-manager/dist/session-sidecar.js +170 -0
  31. package/payload/platform/services/claude-session-manager/dist/session-sidecar.js.map +1 -0
  32. package/payload/platform/services/claude-session-manager/dist/systemd-scope.d.ts +114 -0
  33. package/payload/platform/services/claude-session-manager/dist/systemd-scope.d.ts.map +1 -0
  34. package/payload/platform/services/claude-session-manager/dist/systemd-scope.js +209 -0
  35. package/payload/platform/services/claude-session-manager/dist/systemd-scope.js.map +1 -0
  36. package/payload/server/public/assets/{ChatInput-dLWJ0Q8I.css → ChatInput-CzQhPt90.css} +1 -1
  37. package/payload/server/public/assets/{Checkbox-Bx8mRHQ3.js → Checkbox-ynZtDWi3.js} +1 -1
  38. package/payload/server/public/assets/{admin-BhEvxMrC.js → admin-ux6TKHS1.js} +1 -1
  39. package/payload/server/public/assets/{architectureDiagram-Q4EWVU46-BEW_bD50.js → architectureDiagram-Q4EWVU46-Ko_izKmY.js} +1 -1
  40. package/payload/server/public/assets/{blockDiagram-DXYQGD6D-DFLT98C3.js → blockDiagram-DXYQGD6D-D58VDC0w.js} +1 -1
  41. package/payload/server/public/assets/{c4Diagram-AHTNJAMY-BemKtROA.js → c4Diagram-AHTNJAMY-C-eRXyKi.js} +1 -1
  42. package/payload/server/public/assets/channel-CejaITMF.js +1 -0
  43. package/payload/server/public/assets/{chunk-336JU56O-BL8fGJ7_.js → chunk-336JU56O-DZLEfLAb.js} +2 -2
  44. package/payload/server/public/assets/{chunk-426QAEUC-BD6by0MP.js → chunk-426QAEUC-BriTU3L8.js} +1 -1
  45. package/payload/server/public/assets/{chunk-4TB4RGXK-DX-cb6Nd.js → chunk-4TB4RGXK-BdxRL-AY.js} +1 -1
  46. package/payload/server/public/assets/{chunk-5FUZZQ4R-B2QqtIZS.js → chunk-5FUZZQ4R-BgEmy7Y3.js} +1 -1
  47. package/payload/server/public/assets/{chunk-5PVQY5BW-CzJWmsmd.js → chunk-5PVQY5BW-emnbDRLA.js} +1 -1
  48. package/payload/server/public/assets/{chunk-EDXVE4YY-DP9vcvEU.js → chunk-EDXVE4YY-BvCf2Xf2.js} +1 -1
  49. package/payload/server/public/assets/{chunk-ENJZ2VHE-D5xWEjF0.js → chunk-ENJZ2VHE-DTpEYJRb.js} +1 -1
  50. package/payload/server/public/assets/{chunk-ICPOFSXX-AKduf9o4.js → chunk-ICPOFSXX-Ced2j48Y.js} +1 -1
  51. package/payload/server/public/assets/{chunk-OYMX7WX6-D6jsVNyQ.js → chunk-OYMX7WX6-B21_a3Dv.js} +1 -1
  52. package/payload/server/public/assets/{chunk-U2HBQHQK-BNAnTYh8.js → chunk-U2HBQHQK-CPS3yyXK.js} +1 -1
  53. package/payload/server/public/assets/{chunk-X2U36JSP-UdQhYDnh.js → chunk-X2U36JSP-BJ_B5NW7.js} +1 -1
  54. package/payload/server/public/assets/{chunk-YZCP3GAM-DSSmSGmS.js → chunk-YZCP3GAM-CMLy-WXm.js} +1 -1
  55. package/payload/server/public/assets/{chunk-ZZ45TVLE-Czm7IDMC.js → chunk-ZZ45TVLE-BkLnzCHe.js} +1 -1
  56. package/payload/server/public/assets/classDiagram-6PBFFD2Q-BmoqALf4.js +1 -0
  57. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-vMajwCNi.js +1 -0
  58. package/payload/server/public/assets/clone-mvVfHkyg.js +1 -0
  59. package/payload/server/public/assets/{dagre-hSIMHJcO.js → dagre-Dd_gq4yj.js} +1 -1
  60. package/payload/server/public/assets/{dagre-KV5264BT-CBuRCJE7.js → dagre-KV5264BT-RY0E5UAn.js} +1 -1
  61. package/payload/server/public/assets/data-BK4r8Dqy.js +1 -0
  62. package/payload/server/public/assets/{diagram-5BDNPKRD-dbMrH0le.js → diagram-5BDNPKRD-DR7XiPLh.js} +1 -1
  63. package/payload/server/public/assets/{diagram-G4DWMVQ6-DBc6hs9a.js → diagram-G4DWMVQ6-2EbOfKFs.js} +1 -1
  64. package/payload/server/public/assets/{diagram-MMDJMWI5-ubSGybUk.js → diagram-MMDJMWI5-CGcY0Ze7.js} +1 -1
  65. package/payload/server/public/assets/{diagram-TYMM5635-WxL3cv-9.js → diagram-TYMM5635-Dk6MmAso.js} +1 -1
  66. package/payload/server/public/assets/{erDiagram-SMLLAGMA-CrBBOAN8.js → erDiagram-SMLLAGMA-CKvdlUqk.js} +1 -1
  67. package/payload/server/public/assets/{flowDiagram-DWJPFMVM-CXUq5Hzt.js → flowDiagram-DWJPFMVM-BqKhvCDz.js} +1 -1
  68. package/payload/server/public/assets/{ganttDiagram-T4ZO3ILL-vTCBnYVS.js → ganttDiagram-T4ZO3ILL-CeiE-IRb.js} +1 -1
  69. package/payload/server/public/assets/{gitGraphDiagram-UUTBAWPF-BHrj_bRa.js → gitGraphDiagram-UUTBAWPF-BbPKn7v2.js} +1 -1
  70. package/payload/server/public/assets/graph-Cb6A8Hhs.js +1 -0
  71. package/payload/server/public/assets/graph-labels-DCsUNtnE.js +1 -0
  72. package/payload/server/public/assets/{graphlib-CDO75l2X.js → graphlib-tG6kR59B.js} +1 -1
  73. package/payload/server/public/assets/{infoDiagram-42DDH7IO-CcQdaOhi.js → infoDiagram-42DDH7IO-6MiRGCI1.js} +1 -1
  74. package/payload/server/public/assets/{ishikawaDiagram-UXIWVN3A-3KvltFgV.js → ishikawaDiagram-UXIWVN3A-BwY4p5mg.js} +1 -1
  75. package/payload/server/public/assets/{journeyDiagram-VCZTEJTY-DZCXaGFE.js → journeyDiagram-VCZTEJTY-BXAQ_fUi.js} +1 -1
  76. package/payload/server/public/assets/{kanban-definition-6JOO6SKY-DAIAKy1-.js → kanban-definition-6JOO6SKY-ChiiO7Yt.js} +1 -1
  77. package/payload/server/public/assets/{lib-CCLURO3E.js → lib-DbPz9cfu.js} +1 -1
  78. package/payload/server/public/assets/{line-C8iCE2Wx.js → line-B5g5OrOD.js} +1 -1
  79. package/payload/server/public/assets/{mermaid-parser.core-ElvUhnV9.js → mermaid-parser.core-BMGzMKJx.js} +1 -1
  80. package/payload/server/public/assets/{mermaid.core-7dSH31Ao.js → mermaid.core-DLMgkjXn.js} +3 -3
  81. package/payload/server/public/assets/{mindmap-definition-QFDTVHPH-FZ0rcfac.js → mindmap-definition-QFDTVHPH-BvyzRLAi.js} +1 -1
  82. package/payload/server/public/assets/{page-C1hj89Gf.js → page-BeYR_GI2.js} +1 -1
  83. package/payload/server/public/assets/{page-Bu8kO4jO.js → page-DVNp-Dfy.js} +1 -1
  84. package/payload/server/public/assets/{pieDiagram-DEJITSTG-CDuvMZbO.js → pieDiagram-DEJITSTG--EV9pVfs.js} +1 -1
  85. package/payload/server/public/assets/{public-g_2skbnY.js → public-sYW0Dwku.js} +3 -3
  86. package/payload/server/public/assets/{quadrantDiagram-34T5L4WZ-xDjhkqNc.js → quadrantDiagram-34T5L4WZ-DJcL08ft.js} +1 -1
  87. package/payload/server/public/assets/{requirementDiagram-MS252O5E-BPKpyT0n.js → requirementDiagram-MS252O5E-D4VdmmSu.js} +1 -1
  88. package/payload/server/public/assets/{sankeyDiagram-XADWPNL6-BvFIrihC.js → sankeyDiagram-XADWPNL6-Dsw3nHRS.js} +1 -1
  89. package/payload/server/public/assets/{sequenceDiagram-FGHM5R23-C6G1oAE0.js → sequenceDiagram-FGHM5R23-CAgemUx5.js} +1 -1
  90. package/payload/server/public/assets/{stateDiagram-FHFEXIEX-DbOJT_Xh.js → stateDiagram-FHFEXIEX-B7dyL9_X.js} +1 -1
  91. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-CImN6Wk6.js +1 -0
  92. package/payload/server/public/assets/{timeline-definition-GMOUNBTQ-D1DSxHh6.js → timeline-definition-GMOUNBTQ-B7iKswhp.js} +1 -1
  93. package/payload/server/public/assets/{vennDiagram-DHZGUBPP-BYoSeMdo.js → vennDiagram-DHZGUBPP-uFS0i1qX.js} +1 -1
  94. package/payload/server/public/assets/{wardleyDiagram-NUSXRM2D-DH3kZdea.js → wardleyDiagram-NUSXRM2D-lDUh4LAD.js} +1 -1
  95. package/payload/server/public/assets/{xychartDiagram-5P7HB3ND-C6MROMLG.js → xychartDiagram-5P7HB3ND-0v7MEVwW.js} +1 -1
  96. package/payload/server/public/data.html +5 -5
  97. package/payload/server/public/graph.html +6 -6
  98. package/payload/server/public/index.html +8 -8
  99. package/payload/server/public/public.html +5 -5
  100. package/payload/server/public/assets/channel-CfpByn-m.js +0 -1
  101. package/payload/server/public/assets/classDiagram-6PBFFD2Q-DNc9R1IX.js +0 -1
  102. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-DM1DQh8N.js +0 -1
  103. package/payload/server/public/assets/clone-BSrNdvLW.js +0 -1
  104. package/payload/server/public/assets/data-Cbo0tTS3.js +0 -1
  105. package/payload/server/public/assets/graph-Beucu3_J.js +0 -1
  106. package/payload/server/public/assets/graph-labels-D15-eFQK.js +0 -1
  107. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-Ce4GFk-H.js +0 -1
  108. /package/payload/server/public/assets/{ChatInput-DoS80kaC.js → ChatInput-Cj9JQtYt.js} +0 -0
@@ -34,7 +34,9 @@
34
34
  // from fs.watch's perspective on macOS, more on Linux), and folds the
35
35
  // CREATE→MODIFY pair an editor-style writer can emit.
36
36
  import { existsSync, mkdirSync, openSync, closeSync, readSync, readFileSync, readdirSync, statSync, watch } from 'node:fs';
37
- import { join } from 'node:path';
37
+ import { dirname, join } from 'node:path';
38
+ import { readSidecar } from './session-sidecar.js';
39
+ import { defaultSystemctlRunner, getScopeMainPid, listSurvivingScopes, stopScopeUnit, } from './systemd-scope.js';
38
40
  const DEBOUNCE_MS = 200;
39
41
  // First `agent-setting` record sits near the JSONL head (Claude Code writes
40
42
  // it after env+meta, before the first user turn). 32 KiB is enough to cover
@@ -118,6 +120,7 @@ function parsePidFile(path) {
118
120
  }
119
121
  export function createFsWatcher(opts) {
120
122
  const { sessionsDir, projectsDir, logger } = opts;
123
+ const runSystemctl = opts.runSystemctl ?? defaultSystemctlRunner;
121
124
  // Transient row cache, keyed on sessionId. Built by bootSeed and kept
122
125
  // in sync by fs event reconciliation. Not the source of truth — disk is.
123
126
  const rowsBySessionId = new Map();
@@ -129,6 +132,7 @@ export function createFsWatcher(opts) {
129
132
  const debounceTimers = new Map();
130
133
  let pidWatcher = null;
131
134
  let jsonlWatcher = null;
135
+ let archiveWatcher = null;
132
136
  let armed = false;
133
137
  let seeded = false;
134
138
  function emit(event) {
@@ -166,9 +170,55 @@ export function createFsWatcher(opts) {
166
170
  if (row.bridgeSuffix)
167
171
  sessionIdByBridgeSuffix.delete(row.bridgeSuffix);
168
172
  }
173
+ const archiveDir = join(projectsDir, 'archive');
169
174
  function jsonlPathFor(sessionId) {
170
175
  return join(projectsDir, `${sessionId}.jsonl`);
171
176
  }
177
+ function archiveJsonlPathFor(sessionId) {
178
+ return join(archiveDir, `${sessionId}.jsonl`);
179
+ }
180
+ function sidecarPathForLocation(sessionId, location) {
181
+ return location === 'archive'
182
+ ? join(archiveDir, `${sessionId}.meta.json`)
183
+ : join(projectsDir, `${sessionId}.meta.json`);
184
+ }
185
+ /** Read the sidecar that should live next to `<sessionId>.jsonl` for
186
+ * the given location. Missing or malformed sidecars yield a record
187
+ * with seven null fields and `hidden: false` — the row is still
188
+ * indexed; the operator-facing /list filter hides it unless
189
+ * `includeHidden=1`. The watcher logs every read via `readSidecar`'s
190
+ * own log lines. */
191
+ function readSidecarForLocation(sessionId, location) {
192
+ const path = sidecarPathForLocation(sessionId, location);
193
+ const result = readSidecar(path, logger);
194
+ return { sidecar: result.sidecar, present: result.outcome === 'ok' };
195
+ }
196
+ function applySidecarToRow(row, sidecar) {
197
+ if (!sidecar) {
198
+ return {
199
+ ...row,
200
+ senderId: null,
201
+ role: null,
202
+ channel: null,
203
+ url: null,
204
+ startedAt: null,
205
+ permissionMode: null,
206
+ hidden: false,
207
+ sidecarSpecialist: null,
208
+ };
209
+ }
210
+ return {
211
+ ...row,
212
+ senderId: sidecar.senderId,
213
+ role: sidecar.role,
214
+ channel: sidecar.channel,
215
+ url: sidecar.url,
216
+ startedAt: sidecar.startedAt,
217
+ permissionMode: sidecar.permissionMode,
218
+ hidden: sidecar.hidden,
219
+ sidecarSpecialist: sidecar.specialist,
220
+ };
221
+ }
172
222
  /** Find the pid file (if any) whose content names `sessionId`. Used at
173
223
  * bootSeed to correlate jsonls with their live pid files, and on jsonl
174
224
  * events to detect a freshly-created jsonl whose sessionId matches a
@@ -189,7 +239,7 @@ export function createFsWatcher(opts) {
189
239
  return null;
190
240
  }
191
241
  function buildLiveRow(pidContent) {
192
- return {
242
+ const base = {
193
243
  sessionId: pidContent.sessionId,
194
244
  bridgeSessionId: pidContent.bridgeSessionId,
195
245
  bridgeSuffix: pidContent.bridgeSuffix,
@@ -201,10 +251,31 @@ export function createFsWatcher(opts) {
201
251
  state: 'live',
202
252
  status: pidContent.status,
203
253
  updatedAt: pidContent.updatedAt,
254
+ scopeUnitToken: null,
255
+ senderId: null,
256
+ role: null,
257
+ channel: null,
258
+ url: null,
259
+ startedAt: null,
260
+ permissionMode: null,
261
+ hidden: false,
262
+ sidecarSpecialist: null,
204
263
  };
264
+ // Live rows always read the sidecar from the top-level projects dir
265
+ // (the JSONL hasn't been archived yet). A pre-first-turn live spawn
266
+ // without a sidecar should never happen post-Task-260 because the
267
+ // pty-spawner writes the sidecar BEFORE the PID-file event resolves
268
+ // — but if it does, the row indexes with null spawn fields and the
269
+ // /list filter hides it unless includeHidden=1.
270
+ const { sidecar } = readSidecarForLocation(pidContent.sessionId, 'top');
271
+ return applySidecarToRow(base, sidecar);
205
272
  }
206
273
  function buildArchivedRow(sessionId, jsonlPath) {
207
- return {
274
+ // Locate the sidecar that belongs next to this JSONL. The path the
275
+ // caller passed names the JSONL's directory; the sidecar shares
276
+ // that directory by construction.
277
+ const location = dirname(jsonlPath) === archiveDir ? 'archive' : 'top';
278
+ const base = {
208
279
  sessionId,
209
280
  bridgeSessionId: null,
210
281
  bridgeSuffix: null,
@@ -213,7 +284,7 @@ export function createFsWatcher(opts) {
213
284
  cwd: null,
214
285
  pid: null,
215
286
  pidFilePath: null,
216
- state: 'archived',
287
+ state: location === 'archive' ? 'archived' : 'archived',
217
288
  status: 'gone',
218
289
  updatedAt: (() => {
219
290
  try {
@@ -223,7 +294,18 @@ export function createFsWatcher(opts) {
223
294
  return 0;
224
295
  }
225
296
  })(),
297
+ scopeUnitToken: null,
298
+ senderId: null,
299
+ role: null,
300
+ channel: null,
301
+ url: null,
302
+ startedAt: null,
303
+ permissionMode: null,
304
+ hidden: false,
305
+ sidecarSpecialist: null,
226
306
  };
307
+ const { sidecar } = readSidecarForLocation(sessionId, location);
308
+ return applySidecarToRow(base, sidecar);
227
309
  }
228
310
  /** Apply the current on-disk state for one PID-file path to the index.
229
311
  * Reads the file if present; on delete, finds the row via pid (from the
@@ -243,22 +325,32 @@ export function createFsWatcher(opts) {
243
325
  const prior = rowsBySessionId.get(priorSessionId);
244
326
  if (!prior)
245
327
  return;
246
- const jsonlPath = jsonlPathFor(prior.sessionId);
247
- if (existsSync(jsonlPath)) {
328
+ // Task 260 — the JSONL may have already moved to archive/ if the
329
+ // operator pressed Archive concurrently with the PTY exit. Check
330
+ // both locations; the demotion row stays a single entry, with the
331
+ // sidecar re-read from whichever directory currently holds it.
332
+ const topJsonl = jsonlPathFor(prior.sessionId);
333
+ const archivedJsonl = archiveJsonlPathFor(prior.sessionId);
334
+ const hasTop = existsSync(topJsonl);
335
+ const hasArchived = existsSync(archivedJsonl);
336
+ if (hasTop || hasArchived) {
248
337
  // Cache agent identity from JSONL head before the PID file is
249
338
  // forgotten. `agent` on a live row comes from the PID file; after
250
339
  // demote it's null, so without this cache the UI would lose the
251
340
  // specialist label.
341
+ const presentJsonl = hasTop ? topJsonl : archivedJsonl;
342
+ const sidecarLocation = hasTop ? 'top' : 'archive';
252
343
  const cachedAgentSetting = prior.cachedAgentSetting
253
- ?? readAgentSettingFromJsonl(jsonlPath);
254
- const updated = {
344
+ ?? readAgentSettingFromJsonl(presentJsonl);
345
+ const { sidecar } = readSidecarForLocation(prior.sessionId, sidecarLocation);
346
+ const updated = applySidecarToRow({
255
347
  ...prior,
256
348
  pid: null,
257
349
  pidFilePath: null,
258
350
  state: 'archived',
259
351
  status: 'gone',
260
352
  cachedAgentSetting,
261
- };
353
+ }, sidecar);
262
354
  unindexRow(prior);
263
355
  indexRow(updated);
264
356
  emit({ kind: 'delete', source: 'pid', row: updated, sessionId: updated.sessionId });
@@ -298,19 +390,56 @@ export function createFsWatcher(opts) {
298
390
  indexRow(merged);
299
391
  emit({ kind: 'create', source: 'pid', row: merged, sessionId: merged.sessionId });
300
392
  }
393
+ // Task 260 — reconciliation is now path-aware: the same sessionId can
394
+ // surface at `<projectsDir>/<sid>.jsonl` (live or ended-but-not-archived)
395
+ // or at `<projectsDir>/archive/<sid>.jsonl` (archived). Row identity is
396
+ // the sessionId; the row's `state` reflects which directory holds the
397
+ // JSONL right now.
398
+ //
399
+ // The load-bearing event in this path is the top↔archive RENAME, which
400
+ // fs.watch emits as a (delete on source, create on destination) pair in
401
+ // either order. Coalescing that pair into ONE `row-updated` event keyed
402
+ // on sessionId is the contract Task 260 promises the UI: an archive
403
+ // never produces a `row-removed` followed by a `row-created` — it
404
+ // produces a single `row-updated` with the new state flag.
405
+ //
406
+ // Implementation: on a delete event for one location, check whether the
407
+ // sibling location still holds the JSONL for the same sessionId. If
408
+ // yes, mutate the row's state (and re-read its sidecar from the new
409
+ // location) and emit a single `modify`. If no, the JSONL really left
410
+ // disk — unindex and emit delete. On a create event, if the row
411
+ // already exists with the matching state, no-op (we already emitted
412
+ // the modify above); otherwise treat as a fresh row.
301
413
  function reconcileJsonlFile(path) {
302
- const onDisk = existsSync(path);
303
414
  const fileName = path.slice(path.lastIndexOf('/') + 1);
304
415
  if (!fileName.endsWith('.jsonl'))
305
416
  return;
306
417
  const sessionId = fileName.slice(0, -'.jsonl'.length);
418
+ const location = dirname(path) === archiveDir ? 'archive' : 'top';
419
+ const onDisk = existsSync(path);
307
420
  const prior = rowsBySessionId.get(sessionId);
421
+ const siblingPath = location === 'top' ? archiveJsonlPathFor(sessionId) : jsonlPathFor(sessionId);
422
+ const siblingOnDisk = existsSync(siblingPath);
308
423
  if (!onDisk) {
424
+ // Event is a delete for THIS location.
309
425
  if (!prior)
310
426
  return;
311
- // JSONL gone. If PID file still present, row stays live (transient
312
- // statethe live PTY may write a new jsonl on the next turn);
313
- // else drop the row entirely.
427
+ if (siblingOnDisk) {
428
+ // top↔archive rename coalesce into ONE modify with the new
429
+ // state. The new location reflects where the JSONL lives now.
430
+ const newLocation = location === 'top' ? 'archive' : 'top';
431
+ const newState = newLocation === 'top' ? 'live' : 'archived';
432
+ const { sidecar } = readSidecarForLocation(sessionId, newLocation);
433
+ const updated = applySidecarToRow({ ...prior, state: newState }, sidecar);
434
+ unindexRow(prior);
435
+ indexRow(updated);
436
+ emit({ kind: 'modify', source: 'jsonl', row: updated, sessionId });
437
+ logger(`[fs-watcher] archive-rename sessionId=${sessionId.slice(0, 8)} direction=${location}->${newLocation}`);
438
+ return;
439
+ }
440
+ // True delete. If PID file still present at the prior location,
441
+ // row stays live (transient — live PTY may write a new jsonl on
442
+ // the next turn); else drop the row entirely.
314
443
  if (prior.pidFilePath && existsSync(prior.pidFilePath)) {
315
444
  emit({ kind: 'delete', source: 'jsonl', row: prior, sessionId });
316
445
  return;
@@ -319,21 +448,34 @@ export function createFsWatcher(opts) {
319
448
  emit({ kind: 'delete', source: 'jsonl', row: null, sessionId });
320
449
  return;
321
450
  }
451
+ // Event is a create or modify on THIS location.
452
+ const desiredState = location === 'top' ? 'live' : 'archived';
322
453
  if (prior) {
323
- // Row already exists at this sessionId. If the row was live
324
- // (pid-file-derived), the jsonl appearing is the first-turn flush;
325
- // emit a modify so subscribers re-render. If the row was archived,
326
- // the jsonl is the same file we already knew about; no-op except
327
- // for the modify emission (subscribers may want to re-poll the tail).
328
- emit({ kind: prior.state === 'archived' ? 'modify' : 'modify', source: 'jsonl', row: prior, sessionId });
454
+ // Row already exists. If the state matches (or the row is live
455
+ // because a PID file is present), this is a content modify or
456
+ // the second event of a rename whose first half already mutated
457
+ // the row to the new state both cases emit a single modify and
458
+ // refresh the sidecar.
459
+ const { sidecar } = readSidecarForLocation(sessionId, location);
460
+ const nextState = prior.pidFilePath && existsSync(prior.pidFilePath) && location === 'top'
461
+ ? 'live'
462
+ : desiredState;
463
+ const updated = applySidecarToRow({ ...prior, state: nextState }, sidecar);
464
+ // Only unindex+reindex when something changed; otherwise we just
465
+ // re-emit modify so subscribers re-render.
466
+ unindexRow(prior);
467
+ indexRow(updated);
468
+ emit({ kind: 'modify', source: 'jsonl', row: updated, sessionId });
329
469
  return;
330
470
  }
331
- // Fresh jsonl at this sessionId. If a pid file already exists with this
332
- // sessionId, the row is live (claude wrote its first turn before the
333
- // pid-file create event was observed rare but possible). Otherwise
334
- // the row is archived (jsonl with no live PTY behind it).
471
+ // Fresh jsonl at this sessionId. If a pid file already exists with
472
+ // this sessionId (rare but possible claude wrote its first turn
473
+ // before the pid-file create event was observed), build a live row.
474
+ // Otherwise the row reflects the location: top live (manager
475
+ // probably just spawned but the PID file hasn't been observed yet,
476
+ // or a manually-restored archive) / archive → archived.
335
477
  const matchingPid = findPidFileForSessionId(sessionId);
336
- if (matchingPid) {
478
+ if (matchingPid && location === 'top') {
337
479
  const row = buildLiveRow(matchingPid);
338
480
  indexRow(row);
339
481
  emit({ kind: 'create', source: 'jsonl', row, sessionId });
@@ -361,11 +503,14 @@ export function createFsWatcher(opts) {
361
503
  function bootSeed() {
362
504
  if (seeded)
363
505
  return;
364
- // Walk the projects dir first so jsonl rows exist as the canonical key
365
- // surface. Then walk the sessions dir; each pid file's sessionId either
366
- // matches an already-seeded jsonl row (promote to live) or has no jsonl
367
- // yet (a pre-first-turn live row, no transcript).
368
- let jsonlCount = 0;
506
+ // Task 260 — walk the projects dir AND its archive subdir so archived
507
+ // rows are first-class members of the row index. Then walk the
508
+ // sessions dir; each pid file's sessionId either matches an
509
+ // already-seeded jsonl row (promote to live) or has no jsonl yet (a
510
+ // pre-first-turn live row, no transcript).
511
+ let topJsonlCount = 0;
512
+ let archiveJsonlCount = 0;
513
+ let sidecarCount = 0;
369
514
  let pidCount = 0;
370
515
  try {
371
516
  for (const entry of readdirSync(projectsDir, { withFileTypes: true })) {
@@ -378,13 +523,30 @@ export function createFsWatcher(opts) {
378
523
  if (!rowsBySessionId.has(sessionId)) {
379
524
  indexRow(buildArchivedRow(sessionId, jsonlPath));
380
525
  }
381
- jsonlCount += 1;
526
+ topJsonlCount += 1;
382
527
  }
383
528
  }
384
529
  catch {
385
530
  // projectsDir absent on first boot — Claude Code creates it on first
386
531
  // transcript write. Watcher's mkdirSync at arm() avoids fs.watch ENOENT.
387
532
  }
533
+ try {
534
+ for (const entry of readdirSync(archiveDir, { withFileTypes: true })) {
535
+ if (!entry.isFile() || !entry.name.endsWith('.jsonl'))
536
+ continue;
537
+ const sessionId = entry.name.slice(0, -'.jsonl'.length);
538
+ if (!sessionId)
539
+ continue;
540
+ const jsonlPath = join(archiveDir, entry.name);
541
+ if (!rowsBySessionId.has(sessionId)) {
542
+ indexRow(buildArchivedRow(sessionId, jsonlPath));
543
+ }
544
+ archiveJsonlCount += 1;
545
+ }
546
+ }
547
+ catch {
548
+ // archive subdir absent — fine. Watcher mkdirs it at arm time.
549
+ }
388
550
  try {
389
551
  for (const entry of readdirSync(sessionsDir, { withFileTypes: true })) {
390
552
  if (!entry.isFile() || !entry.name.endsWith('.json'))
@@ -407,8 +569,99 @@ export function createFsWatcher(opts) {
407
569
  catch {
408
570
  // sessionsDir absent — fine. Watcher creates it via mkdir at arm time.
409
571
  }
572
+ // Count rows whose sidecar populated `senderId` — the load-bearing
573
+ // signal that a row is fully addressable in /list. `sidecarCount <
574
+ // topJsonlCount + archiveJsonlCount` flags pre-Task-260 JSONLs that
575
+ // landed before the sidecar writer existed: they index normally but
576
+ // /list filters them out unless includeHidden=1.
577
+ for (const row of rowsBySessionId.values()) {
578
+ if (row.senderId !== null)
579
+ sidecarCount += 1;
580
+ }
410
581
  seeded = true;
411
- logger(`[fs-watcher] boot-seed sessions-dir=${pidCount} projects-dir=${jsonlCount} rows=${rowsBySessionId.size}`);
582
+ const totalJsonl = topJsonlCount + archiveJsonlCount;
583
+ logger(`[fs-watcher] boot-seed sessions-dir=${pidCount} projects-dir-top=${topJsonlCount} projects-dir-archive=${archiveJsonlCount} sidecars=${sidecarCount} rows=${rowsBySessionId.size} jsonl-total=${totalJsonl}`);
584
+ // Task 250 — second pass: reconcile surviving `claude-session-*.scope`
585
+ // units with the rows just built. A surviving scope without a row is
586
+ // an orphan; a surviving scope with a row reattaches as `detached`.
587
+ reconcileSurvivingScopes();
588
+ }
589
+ /** Task 250 — boot-seed extension. Lists `claude-session-*.scope` units
590
+ * owned by the user manager; for each, queries MainPID and looks up the
591
+ * matching PID file in sessionsDir. The PID file's `sessionId` field is
592
+ * the row key. Outcomes per scope:
593
+ *
594
+ * - reattached: surviving scope whose MainPID points to a parsed PID
595
+ * file whose sessionId is in `rowsBySessionId`. The row's
596
+ * `scopeUnitToken` is set and `status` flipped to `detached`. The
597
+ * manager has lost the PTY master fd; the row is observation-only
598
+ * until the operator clicks End (handled separately via the row's
599
+ * unit token).
600
+ * - orphaned: surviving scope whose MainPID either (a) doesn't
601
+ * resolve, (b) has no PID file, or (c) the PID file's sessionId is
602
+ * unknown. The manager cannot reconstruct what claude is doing; per
603
+ * the eng-review decision, it issues `systemctl --user stop` on the
604
+ * orphan rather than leaving the cgroup alive.
605
+ *
606
+ * Emits `[boot-seed] survived-scopes=N reattached=N orphaned=N
607
+ * orphaned-stopped=N` even when every count is zero so the operator
608
+ * can confirm the reconciliation ran. */
609
+ function reconcileSurvivingScopes() {
610
+ const { scopes, result } = listSurvivingScopes(runSystemctl);
611
+ if (result.exitCode !== 0) {
612
+ logger(`[boot-seed] systemctl-list-units-failed exit-code=${result.exitCode} stderr=${JSON.stringify(result.stderr.slice(-200))} survived-scopes=0 reattached=0 orphaned=0 orphaned-stopped=0`);
613
+ return;
614
+ }
615
+ let reattached = 0;
616
+ let orphaned = 0;
617
+ let orphanedStopped = 0;
618
+ for (const scope of scopes) {
619
+ const decision = reattachOrOrphan(scope);
620
+ if (decision === 'reattached') {
621
+ reattached += 1;
622
+ }
623
+ else {
624
+ orphaned += 1;
625
+ try {
626
+ const stop = stopScopeUnit(runSystemctl, scope.unitToken);
627
+ if (stop.outcome === 'ok' || stop.outcome === 'already-gone') {
628
+ orphanedStopped += 1;
629
+ }
630
+ logger(`[boot-seed] orphan-stop unit=${scope.unitName} outcome=${stop.outcome} exit-code=${stop.exitCode}`);
631
+ }
632
+ catch (err) {
633
+ const msg = err instanceof Error ? err.message : String(err);
634
+ logger(`[boot-seed] orphan-stop-threw unit=${scope.unitName} err=${JSON.stringify(msg)}`);
635
+ }
636
+ }
637
+ }
638
+ logger(`[boot-seed] survived-scopes=${scopes.length} reattached=${reattached} orphaned=${orphaned} orphaned-stopped=${orphanedStopped}`);
639
+ }
640
+ function reattachOrOrphan(scope) {
641
+ const mainPid = getScopeMainPid(runSystemctl, scope.unitToken);
642
+ if (mainPid === null)
643
+ return 'orphan';
644
+ // Look up PID file at `<sessionsDir>/<mainPid>.json`. Claude Code's
645
+ // own session-init writes this file with `pid` + `sessionId` fields.
646
+ const pidPath = join(sessionsDir, `${mainPid}.json`);
647
+ const parsed = parsePidFile(pidPath);
648
+ if (!parsed)
649
+ return 'orphan';
650
+ if (parsed.pid !== mainPid)
651
+ return 'orphan';
652
+ const row = rowsBySessionId.get(parsed.sessionId);
653
+ if (!row)
654
+ return 'orphan';
655
+ // Found a matching row — mark it detached and stamp the scope token.
656
+ // Use unindexRow/indexRow to keep the reverse indexes consistent (we
657
+ // are not changing the sessionId or pid keys, only mutable fields, so
658
+ // re-indexing is defensive).
659
+ unindexRow(row);
660
+ row.status = 'detached';
661
+ row.scopeUnitToken = scope.unitToken;
662
+ indexRow(row);
663
+ logger(`[boot-seed] reattached sessionId=${parsed.sessionId} unit=${scope.unitName} pid=${mainPid}`);
664
+ return 'reattached';
412
665
  }
413
666
  function arm() {
414
667
  if (armed)
@@ -423,6 +676,13 @@ export function createFsWatcher(opts) {
423
676
  mkdirSync(projectsDir, { recursive: true });
424
677
  }
425
678
  catch { /* best effort */ }
679
+ // Task 260 — archive subdir must exist before fs.watch attaches;
680
+ // otherwise the watch handle fails ENOENT and we miss the first
681
+ // archive event of the session.
682
+ try {
683
+ mkdirSync(archiveDir, { recursive: true });
684
+ }
685
+ catch { /* best effort */ }
426
686
  try {
427
687
  pidWatcher = watch(sessionsDir, { persistent: false }, (_event, filename) => {
428
688
  if (!filename || !filename.endsWith('.json'))
@@ -451,8 +711,27 @@ export function createFsWatcher(opts) {
451
711
  catch (err) {
452
712
  logger(`[fs-watcher] watch-init-failed dir=${projectsDir} message=${err instanceof Error ? err.message : String(err)}`);
453
713
  }
714
+ // Task 260 — second fs.watch on archive/. Without this the archive
715
+ // route's rename emits a delete on top (handled by jsonlWatcher) but
716
+ // the create on archive is silent, breaking the rename-coalesce that
717
+ // turns the pair into one row-updated event. The watcher's
718
+ // reconcileJsonlFile handles archive paths symmetric to top paths.
719
+ try {
720
+ archiveWatcher = watch(archiveDir, { persistent: false }, (_event, filename) => {
721
+ if (!filename || !filename.endsWith('.jsonl'))
722
+ return;
723
+ const path = join(archiveDir, filename);
724
+ schedule(path, reconcileJsonlFile);
725
+ });
726
+ archiveWatcher.on('error', (err) => {
727
+ logger(`[fs-watcher] watch-error dir=${archiveDir} message=${err instanceof Error ? err.message : String(err)}`);
728
+ });
729
+ }
730
+ catch (err) {
731
+ logger(`[fs-watcher] watch-init-failed dir=${archiveDir} message=${err instanceof Error ? err.message : String(err)}`);
732
+ }
454
733
  armed = true;
455
- logger(`[fs-watcher] armed sessions-dir=${sessionsDir} projects-dir=${projectsDir}`);
734
+ logger(`[fs-watcher] armed sessions-dir=${sessionsDir} projects-dir=${projectsDir} archive-dir=${archiveDir}`);
456
735
  }
457
736
  function subscribe(sub) {
458
737
  subscribers.add(sub);
@@ -489,6 +768,27 @@ export function createFsWatcher(opts) {
489
768
  pidWaiters.set(pid, { resolve, reject, timer });
490
769
  });
491
770
  }
771
+ function refreshSidecar(sessionId) {
772
+ const prior = rowsBySessionId.get(sessionId);
773
+ if (!prior)
774
+ return false;
775
+ // Task 260 — find the sidecar wherever it actually lives on disk
776
+ // (top or archive). Row state alone doesn't say: an `archived`
777
+ // state means "no live PTY", but the JSONL/sidecar pair may still
778
+ // be at the top level (e.g. a pre-Task-260 JSONL that has never
779
+ // been archived through the route).
780
+ const topSidecar = sidecarPathForLocation(sessionId, 'top');
781
+ const archiveSidecar = sidecarPathForLocation(sessionId, 'archive');
782
+ const location = existsSync(topSidecar)
783
+ ? 'top'
784
+ : existsSync(archiveSidecar) ? 'archive' : (prior.state === 'archived' ? 'archive' : 'top');
785
+ const { sidecar } = readSidecarForLocation(sessionId, location);
786
+ const updated = applySidecarToRow(prior, sidecar);
787
+ unindexRow(prior);
788
+ indexRow(updated);
789
+ emit({ kind: 'modify', source: 'jsonl', row: updated, sessionId });
790
+ return true;
791
+ }
492
792
  function close() {
493
793
  if (pidWatcher) {
494
794
  pidWatcher.close();
@@ -498,6 +798,10 @@ export function createFsWatcher(opts) {
498
798
  jsonlWatcher.close();
499
799
  jsonlWatcher = null;
500
800
  }
801
+ if (archiveWatcher) {
802
+ archiveWatcher.close();
803
+ archiveWatcher = null;
804
+ }
501
805
  for (const t of debounceTimers.values())
502
806
  clearTimeout(t);
503
807
  debounceTimers.clear();
@@ -518,6 +822,7 @@ export function createFsWatcher(opts) {
518
822
  getByPid,
519
823
  all,
520
824
  waitForPid,
825
+ refreshSidecar,
521
826
  close,
522
827
  __internal: { reconcilePidFile, reconcileJsonlFile },
523
828
  };
@@ -1 +1 @@
1
- {"version":3,"file":"fs-watcher.js","sourceRoot":"","sources":["../src/fs-watcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fs-watcher.js","sourceRoot":"","sources":["../src/fs-watcher.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,EAAE;AACF,4CAA4C;AAC5C,EAAE;AACF,+EAA+E;AAC/E,sEAAsE;AACtE,6EAA6E;AAC7E,sDAAsD;AACtD,EAAE;AACF,4EAA4E;AAC5E,oEAAoE;AACpE,kBAAkB;AAClB,EAAE;AACF,qBAAqB;AACrB,2EAA2E;AAC3E,2CAA2C;AAC3C,wEAAwE;AACxE,qEAAqE;AACrE,yEAAyE;AACzE,+DAA+D;AAC/D,sEAAsE;AACtE,0EAA0E;AAC1E,EAAE;AACF,oEAAoE;AACpE,2EAA2E;AAC3E,yEAAyE;AACzE,wEAAwE;AACxE,yEAAyE;AACzE,0EAA0E;AAC1E,8DAA8D;AAC9D,EAAE;AACF,4EAA4E;AAC5E,wEAAwE;AACxE,sEAAsE;AACtE,sDAAsD;AAEtD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAkB,MAAM,SAAS,CAAA;AAC1I,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEzC,OAAO,EAAE,WAAW,EAAuB,MAAM,sBAAsB,CAAA;AACvE,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,mBAAmB,EAEnB,aAAa,GAGd,MAAM,oBAAoB,CAAA;AAE3B,MAAM,WAAW,GAAG,GAAG,CAAA;AACvB,4EAA4E;AAC5E,4EAA4E;AAC5E,4BAA4B;AAC5B,MAAM,qBAAqB,GAAG,EAAE,GAAG,IAAI,CAAA;AAEvC;;;iCAGiC;AACjC,SAAS,yBAAyB,CAAC,IAAY;IAC7C,IAAI,EAAU,CAAA;IACd,IAAI,CAAC;QAAC,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,IAAI,CAAA;IAAC,CAAC;IACtD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAA;QAC/C,MAAM,CAAC,GAAG,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAA;QACxD,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QACvC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;QACzC,MAAM,SAAS,GAAG,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;QACtE,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC;gBAAE,SAAQ;YAC/C,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA+C,CAAA;gBAC1E,IAAI,GAAG,CAAC,IAAI,KAAK,eAAe;oBAAE,SAAQ;gBAC1C,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC;oBAAE,SAAQ;gBACnF,OAAO,GAAG,CAAC,YAAY,CAAA;YACzB,CAAC;YAAC,MAAM,CAAC;gBACP,kCAAkC;YACpC,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC;AAoJD,SAAS,YAAY,CAAC,IAAY;IAChC,IAAI,GAAW,CAAA;IACf,IAAI,CAAC;QACH,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAA;IACrB,IAAI,MAAuB,CAAA;IAC3B,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAoB,CAAA;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAA;IAC9E,MAAM,GAAG,GAAG,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAA;IAC9D,IAAI,CAAC,SAAS,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAC3C,MAAM,eAAe,GAAG,OAAO,MAAM,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAA;IAClG,MAAM,YAAY,GAAG,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACtF,MAAM,KAAK,GAAG,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;IACpE,MAAM,GAAG,GAAG,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAA;IAC9D,MAAM,SAAS,GAAG,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;IACxE,MAAM,MAAM,GAAc,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAA;IAChE,MAAM,SAAS,GACb,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ;QAClC,CAAC,CAAC,MAAM,CAAC,SAAS;QAClB,CAAC,CAAC,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ;YACpC,CAAC,CAAC,MAAM,CAAC,SAAS;YAClB,CAAC,CAAC,CAAC,CAAA;IACT,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;AAC5G,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAU/B;IACC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IACjD,MAAM,YAAY,GAAoB,IAAI,CAAC,YAAY,IAAI,sBAAsB,CAAA;IAEjF,sEAAsE;IACtE,yEAAyE;IACzE,MAAM,eAAe,GAAG,IAAI,GAAG,EAAsB,CAAA;IACrD,4EAA4E;IAC5E,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAA;IAChD,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAkB,CAAA;IAEzD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAc,CAAA;IACzC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAuG,CAAA;IAEjI,MAAM,cAAc,GAAG,IAAI,GAAG,EAA0B,CAAA;IACxD,IAAI,UAAU,GAAqB,IAAI,CAAA;IACvC,IAAI,YAAY,GAAqB,IAAI,CAAA;IACzC,IAAI,cAAc,GAAqB,IAAI,CAAA;IAC3C,IAAI,KAAK,GAAG,KAAK,CAAA;IACjB,IAAI,MAAM,GAAG,KAAK,CAAA;IAElB,SAAS,IAAI,CAAC,KAAmB;QAC/B,MAAM,CACJ,sBAAsB,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,MAAM,cAAc,KAAK,CAAC,SAAS,UAAU,KAAK,CAAC,GAAG,EAAE,KAAK,IAAI,MAAM,GAAG;YACvH,UAAU,KAAK,CAAC,GAAG,EAAE,MAAM,IAAI,MAAM,SAAS,KAAK,CAAC,GAAG,EAAE,WAAW,IAAI,SAAS,EAAE,CACtF,CAAA;QACD,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC9B,IAAI,CAAC;gBAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YAAC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBAC9B,MAAM,CAAC,yCAAyC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACrG,CAAC;QACH,CAAC;QACD,kDAAkD;QAClD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;YACnE,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAC5C,IAAI,MAAM,EAAE,CAAC;gBACX,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBAC1B,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAChC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAED,SAAS,QAAQ,CAAC,GAAe;QAC/B,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;QACvC,IAAI,GAAG,CAAC,GAAG,KAAK,IAAI;YAAE,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,CAAA;QAChE,IAAI,GAAG,CAAC,YAAY;YAAE,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,SAAS,CAAC,CAAA;IACpF,CAAC;IAED,SAAS,UAAU,CAAC,GAAe;QACjC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QACrC,IAAI,GAAG,CAAC,GAAG,KAAK,IAAI;YAAE,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACpD,IAAI,GAAG,CAAC,YAAY;YAAE,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;IACxE,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;IAE/C,SAAS,YAAY,CAAC,SAAiB;QACrC,OAAO,IAAI,CAAC,WAAW,EAAE,GAAG,SAAS,QAAQ,CAAC,CAAA;IAChD,CAAC;IAED,SAAS,mBAAmB,CAAC,SAAiB;QAC5C,OAAO,IAAI,CAAC,UAAU,EAAE,GAAG,SAAS,QAAQ,CAAC,CAAA;IAC/C,CAAC;IAED,SAAS,sBAAsB,CAAC,SAAiB,EAAE,QAA2B;QAC5E,OAAO,QAAQ,KAAK,SAAS;YAC3B,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,SAAS,YAAY,CAAC;YAC5C,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,SAAS,YAAY,CAAC,CAAA;IACjD,CAAC;IAED;;;;;yBAKqB;IACrB,SAAS,sBAAsB,CAC7B,SAAiB,EACjB,QAA2B;QAE3B,MAAM,IAAI,GAAG,sBAAsB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QACxD,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QACxC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,KAAK,IAAI,EAAE,CAAA;IACtE,CAAC;IAED,SAAS,iBAAiB,CAAC,GAAe,EAAE,OAA8B;QACxE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;gBACL,GAAG,GAAG;gBACN,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE,IAAI;gBACb,GAAG,EAAE,IAAI;gBACT,SAAS,EAAE,IAAI;gBACf,cAAc,EAAE,IAAI;gBACpB,MAAM,EAAE,KAAK;gBACb,iBAAiB,EAAE,IAAI;aACxB,CAAA;QACH,CAAC;QACD,OAAO;YACL,GAAG,GAAG;YACN,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,iBAAiB,EAAE,OAAO,CAAC,UAAU;SACtC,CAAA;IACH,CAAC;IAED;;;mCAG+B;IAC/B,SAAS,uBAAuB,CAAC,SAAiB;QAChD,IAAI,CAAC;YACH,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;gBACtE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;oBAAE,SAAQ;gBAC9D,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;gBAC1D,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS;oBAAE,OAAO,MAAM,CAAA;YAC7D,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,6BAA6B;QAC/B,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,SAAS,YAAY,CAAC,UAAyB;QAC7C,MAAM,IAAI,GAAe;YACvB,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,eAAe,EAAE,UAAU,CAAC,eAAe;YAC3C,YAAY,EAAE,UAAU,CAAC,YAAY;YACrC,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,kBAAkB,EAAE,IAAI;YACxB,GAAG,EAAE,UAAU,CAAC,GAAG;YACnB,GAAG,EAAE,UAAU,CAAC,GAAG;YACnB,WAAW,EAAE,UAAU,CAAC,WAAW;YACnC,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,cAAc,EAAE,IAAI;YACpB,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,IAAI;YACb,GAAG,EAAE,IAAI;YACT,SAAS,EAAE,IAAI;YACf,cAAc,EAAE,IAAI;YACpB,MAAM,EAAE,KAAK;YACb,iBAAiB,EAAE,IAAI;SACxB,CAAA;QACD,oEAAoE;QACpE,oEAAoE;QACpE,kEAAkE;QAClE,oEAAoE;QACpE,mEAAmE;QACnE,gDAAgD;QAChD,MAAM,EAAE,OAAO,EAAE,GAAG,sBAAsB,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QACvE,OAAO,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACzC,CAAC;IAED,SAAS,gBAAgB,CAAC,SAAiB,EAAE,SAAiB;QAC5D,mEAAmE;QACnE,gEAAgE;QAChE,kCAAkC;QAClC,MAAM,QAAQ,GAAsB,OAAO,CAAC,SAAS,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAA;QACzF,MAAM,IAAI,GAAe;YACvB,SAAS;YACT,eAAe,EAAE,IAAI;YACrB,YAAY,EAAE,IAAI;YAClB,KAAK,EAAE,IAAI;YACX,kBAAkB,EAAE,yBAAyB,CAAC,SAAS,CAAC;YACxD,GAAG,EAAE,IAAI;YACT,GAAG,EAAE,IAAI;YACT,WAAW,EAAE,IAAI;YACjB,KAAK,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU;YACvD,MAAM,EAAE,MAAM;YACd,SAAS,EAAE,CAAC,GAAG,EAAE;gBACf,IAAI,CAAC;oBAAC,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,CAAA;gBAAC,CAAC;gBAAC,MAAM,CAAC;oBAAC,OAAO,CAAC,CAAA;gBAAC,CAAC;YAC/D,CAAC,CAAC,EAAE;YACJ,cAAc,EAAE,IAAI;YACpB,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,IAAI;YACb,GAAG,EAAE,IAAI;YACT,SAAS,EAAE,IAAI;YACf,cAAc,EAAE,IAAI;YACpB,MAAM,EAAE,KAAK;YACb,iBAAiB,EAAE,IAAI;SACxB,CAAA;QACD,MAAM,EAAE,OAAO,EAAE,GAAG,sBAAsB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QAC/D,OAAO,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACzC,CAAC;IAED;;iEAE6D;IAC7D,SAAS,gBAAgB,CAAC,IAAY;QACpC,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;QAC/B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,8DAA8D;YAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;YACtD,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;YAC9C,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;YACxD,IAAI,GAAG,KAAK,IAAI;gBAAE,OAAM;YACxB,MAAM,cAAc,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAC9C,IAAI,CAAC,cAAc;gBAAE,OAAM;YAC3B,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;YACjD,IAAI,CAAC,KAAK;gBAAE,OAAM;YAClB,iEAAiE;YACjE,iEAAiE;YACjE,kEAAkE;YAClE,+DAA+D;YAC/D,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;YAC9C,MAAM,aAAa,GAAG,mBAAmB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;YAC1D,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;YACnC,MAAM,WAAW,GAAG,UAAU,CAAC,aAAa,CAAC,CAAA;YAC7C,IAAI,MAAM,IAAI,WAAW,EAAE,CAAC;gBAC1B,8DAA8D;gBAC9D,kEAAkE;gBAClE,gEAAgE;gBAChE,oBAAoB;gBACpB,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAA;gBACtD,MAAM,eAAe,GAAsB,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;gBACrE,MAAM,kBAAkB,GAAG,KAAK,CAAC,kBAAkB;uBAC9C,yBAAyB,CAAC,YAAY,CAAC,CAAA;gBAC5C,MAAM,EAAE,OAAO,EAAE,GAAG,sBAAsB,CAAC,KAAK,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;gBAC5E,MAAM,OAAO,GAAe,iBAAiB,CAAC;oBAC5C,GAAG,KAAK;oBACR,GAAG,EAAE,IAAI;oBACT,WAAW,EAAE,IAAI;oBACjB,KAAK,EAAE,UAAU;oBACjB,MAAM,EAAE,MAAM;oBACd,kBAAkB;iBACnB,EAAE,OAAO,CAAC,CAAA;gBACX,UAAU,CAAC,KAAK,CAAC,CAAA;gBACjB,QAAQ,CAAC,OAAO,CAAC,CAAA;gBACjB,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAA;gBACnF,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAA;gBACrF,OAAM;YACR,CAAC;YACD,UAAU,CAAC,KAAK,CAAC,CAAA;YACjB,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAA;YAC9E,OAAM;QACR,CAAC;QACD,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;QACjC,IAAI,CAAC,MAAM;YAAE,OAAM;QACnB,kEAAkE;QAClE,8DAA8D;QAC9D,iEAAiE;QACjE,uBAAuB;QACvB,MAAM,eAAe,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACtD,IAAI,eAAe,IAAI,eAAe,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;YAC5D,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;YAClD,IAAI,KAAK,EAAE,CAAC;gBACV,UAAU,CAAC,KAAK,CAAC,CAAA;gBACjB,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAA;YAChF,CAAC;QACH,CAAC;QACD,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QACnD,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;QACnC,IAAI,KAAK,EAAE,CAAC;YACV,+DAA+D;YAC/D,sEAAsE;YACtE,MAAM,CAAC,kBAAkB,GAAG,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,kBAAkB,CAAA;YACjF,UAAU,CAAC,KAAK,CAAC,CAAA;YACjB,QAAQ,CAAC,MAAM,CAAC,CAAA;YAChB,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAA;YACjF,OAAM;QACR,CAAC;QACD,QAAQ,CAAC,MAAM,CAAC,CAAA;QAChB,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAA;IACnF,CAAC;IAED,sEAAsE;IACtE,0EAA0E;IAC1E,wEAAwE;IACxE,sEAAsE;IACtE,mBAAmB;IACnB,EAAE;IACF,uEAAuE;IACvE,wEAAwE;IACxE,wEAAwE;IACxE,oEAAoE;IACpE,kEAAkE;IAClE,2DAA2D;IAC3D,EAAE;IACF,wEAAwE;IACxE,oEAAoE;IACpE,oEAAoE;IACpE,qEAAqE;IACrE,gEAAgE;IAChE,oEAAoE;IACpE,qDAAqD;IACrD,SAAS,kBAAkB,CAAC,IAAY;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;QACtD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAM;QACxC,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QACrD,MAAM,QAAQ,GAAsB,OAAO,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAA;QACpF,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;QAC/B,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAC5C,MAAM,WAAW,GAAG,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;QACjG,MAAM,aAAa,GAAG,UAAU,CAAC,WAAW,CAAC,CAAA;QAE7C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,uCAAuC;YACvC,IAAI,CAAC,KAAK;gBAAE,OAAM;YAClB,IAAI,aAAa,EAAE,CAAC;gBAClB,6DAA6D;gBAC7D,8DAA8D;gBAC9D,MAAM,WAAW,GAAsB,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAA;gBAC7E,MAAM,QAAQ,GAAa,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAA;gBACtE,MAAM,EAAE,OAAO,EAAE,GAAG,sBAAsB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;gBAClE,MAAM,OAAO,GAAe,iBAAiB,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAA;gBACrF,UAAU,CAAC,KAAK,CAAC,CAAA;gBACjB,QAAQ,CAAC,OAAO,CAAC,CAAA;gBACjB,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAA;gBAClE,MAAM,CACJ,yCAAyC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,cAAc,QAAQ,KAAK,WAAW,EAAE,CACvG,CAAA;gBACD,OAAM;YACR,CAAC;YACD,gEAAgE;YAChE,gEAAgE;YAChE,8CAA8C;YAC9C,IAAI,KAAK,CAAC,WAAW,IAAI,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;gBACvD,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;gBAChE,OAAM;YACR,CAAC;YACD,UAAU,CAAC,KAAK,CAAC,CAAA;YACjB,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;YAC/D,OAAM;QACR,CAAC;QAED,gDAAgD;QAChD,MAAM,YAAY,GAAa,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAA;QACvE,IAAI,KAAK,EAAE,CAAC;YACV,+DAA+D;YAC/D,8DAA8D;YAC9D,gEAAgE;YAChE,iEAAiE;YACjE,uBAAuB;YACvB,MAAM,EAAE,OAAO,EAAE,GAAG,sBAAsB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;YAC/D,MAAM,SAAS,GACb,KAAK,CAAC,WAAW,IAAI,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,QAAQ,KAAK,KAAK;gBACtE,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,YAAY,CAAA;YAClB,MAAM,OAAO,GAAe,iBAAiB,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,OAAO,CAAC,CAAA;YACtF,iEAAiE;YACjE,2CAA2C;YAC3C,UAAU,CAAC,KAAK,CAAC,CAAA;YACjB,QAAQ,CAAC,OAAO,CAAC,CAAA;YACjB,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAA;YAClE,OAAM;QACR,CAAC;QACD,mEAAmE;QACnE,kEAAkE;QAClE,oEAAoE;QACpE,+DAA+D;QAC/D,mEAAmE;QACnE,wDAAwD;QACxD,MAAM,WAAW,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAA;QACtD,IAAI,WAAW,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;YACtC,MAAM,GAAG,GAAG,YAAY,CAAC,WAAW,CAAC,CAAA;YACrC,QAAQ,CAAC,GAAG,CAAC,CAAA;YACb,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAA;YACzD,OAAM;QACR,CAAC;QACD,MAAM,GAAG,GAAG,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;QAC7C,QAAQ,CAAC,GAAG,CAAC,CAAA;QACb,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAA;IAC3D,CAAC;IAED,SAAS,QAAQ,CAAC,IAAY,EAAE,SAA8B;QAC5D,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACrC,IAAI,IAAI;YAAE,YAAY,CAAC,IAAI,CAAC,CAAA;QAC5B,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE;YACxB,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAC3B,IAAI,CAAC;gBAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YAAC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACnC,MAAM,CAAC,qCAAqC,IAAI,YAAY,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACjH,CAAC;QACH,CAAC,EAAE,WAAW,CAAC,CAAA;QACf,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAC7B,CAAC;IAED,SAAS,QAAQ;QACf,IAAI,MAAM;YAAE,OAAM;QAClB,sEAAsE;QACtE,+DAA+D;QAC/D,4DAA4D;QAC5D,oEAAoE;QACpE,2CAA2C;QAC3C,IAAI,aAAa,GAAG,CAAC,CAAA;QACrB,IAAI,iBAAiB,GAAG,CAAC,CAAA;QACzB,IAAI,YAAY,GAAG,CAAC,CAAA;QACpB,IAAI,QAAQ,GAAG,CAAC,CAAA;QAChB,IAAI,CAAC;YACH,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;gBACtE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBAAE,SAAQ;gBAC/D,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;gBACvD,IAAI,CAAC,SAAS;oBAAE,SAAQ;gBACxB,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;gBAC/C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;oBACpC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAA;gBAClD,CAAC;gBACD,aAAa,IAAI,CAAC,CAAA;YACpB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,qEAAqE;YACrE,yEAAyE;QAC3E,CAAC;QACD,IAAI,CAAC;YACH,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;gBACrE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBAAE,SAAQ;gBAC/D,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;gBACvD,IAAI,CAAC,SAAS;oBAAE,SAAQ;gBACxB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;gBAC9C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;oBACpC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAA;gBAClD,CAAC;gBACD,iBAAiB,IAAI,CAAC,CAAA;YACxB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,+DAA+D;QACjE,CAAC;QACD,IAAI,CAAC;YACH,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;gBACtE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;oBAAE,SAAQ;gBAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;gBAC1C,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;gBACjC,IAAI,CAAC,MAAM;oBAAE,SAAQ;gBACrB,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;gBACnD,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;gBAChC,IAAI,KAAK,EAAE,CAAC;oBACV,qEAAqE;oBACrE,GAAG,CAAC,kBAAkB,GAAG,KAAK,CAAC,kBAAkB,IAAI,GAAG,CAAC,kBAAkB,CAAA;oBAC3E,UAAU,CAAC,KAAK,CAAC,CAAA;gBACnB,CAAC;gBACD,QAAQ,CAAC,GAAG,CAAC,CAAA;gBACb,QAAQ,IAAI,CAAC,CAAA;YACf,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,uEAAuE;QACzE,CAAC;QACD,mEAAmE;QACnE,mEAAmE;QACnE,oEAAoE;QACpE,oEAAoE;QACpE,iDAAiD;QACjD,KAAK,MAAM,GAAG,IAAI,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI;gBAAE,YAAY,IAAI,CAAC,CAAA;QAC9C,CAAC;QACD,MAAM,GAAG,IAAI,CAAA;QACb,MAAM,UAAU,GAAG,aAAa,GAAG,iBAAiB,CAAA;QACpD,MAAM,CACJ,uCAAuC,QAAQ,qBAAqB,aAAa,yBAAyB,iBAAiB,aAAa,YAAY,SAAS,eAAe,CAAC,IAAI,gBAAgB,UAAU,EAAE,CAC9M,CAAA;QACD,uEAAuE;QACvE,qEAAqE;QACrE,oEAAoE;QACpE,wBAAwB,EAAE,CAAA;IAC5B,CAAC;IAED;;;;;;;;;;;;;;;;;;;8CAmB0C;IAC1C,SAAS,wBAAwB;QAC/B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAA;QAC5D,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,CACJ,qDAAqD,MAAM,CAAC,QAAQ,WAAW,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,+DAA+D,CACxL,CAAA;YACD,OAAM;QACR,CAAC;QACD,IAAI,UAAU,GAAG,CAAC,CAAA;QAClB,IAAI,QAAQ,GAAG,CAAC,CAAA;QAChB,IAAI,eAAe,GAAG,CAAC,CAAA;QACvB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAA;YACxC,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;gBAC9B,UAAU,IAAI,CAAC,CAAA;YACjB,CAAC;iBAAM,CAAC;gBACN,QAAQ,IAAI,CAAC,CAAA;gBACb,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,aAAa,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;oBACzD,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,cAAc,EAAE,CAAC;wBAC7D,eAAe,IAAI,CAAC,CAAA;oBACtB,CAAC;oBACD,MAAM,CACJ,gCAAgC,KAAK,CAAC,QAAQ,YAAY,IAAI,CAAC,OAAO,cAAc,IAAI,CAAC,QAAQ,EAAE,CACpG,CAAA;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;oBAC5D,MAAM,CAAC,sCAAsC,KAAK,CAAC,QAAQ,QAAQ,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAC3F,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,CACJ,+BAA+B,MAAM,CAAC,MAAM,eAAe,UAAU,aAAa,QAAQ,qBAAqB,eAAe,EAAE,CACjI,CAAA;IACH,CAAC;IAED,SAAS,gBAAgB,CAAC,KAAqB;QAC7C,MAAM,OAAO,GAAG,eAAe,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;QAC9D,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,QAAQ,CAAA;QACrC,oEAAoE;QACpE,qEAAqE;QACrE,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,OAAO,OAAO,CAAC,CAAA;QACpD,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;QACpC,IAAI,CAAC,MAAM;YAAE,OAAO,QAAQ,CAAA;QAC5B,IAAI,MAAM,CAAC,GAAG,KAAK,OAAO;YAAE,OAAO,QAAQ,CAAA;QAC3C,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QACjD,IAAI,CAAC,GAAG;YAAE,OAAO,QAAQ,CAAA;QACzB,qEAAqE;QACrE,qEAAqE;QACrE,sEAAsE;QACtE,6BAA6B;QAC7B,UAAU,CAAC,GAAG,CAAC,CAAA;QACf,GAAG,CAAC,MAAM,GAAG,UAAU,CAAA;QACvB,GAAG,CAAC,cAAc,GAAG,KAAK,CAAC,SAAS,CAAA;QACpC,QAAQ,CAAC,GAAG,CAAC,CAAA;QACb,MAAM,CACJ,oCAAoC,MAAM,CAAC,SAAS,SAAS,KAAK,CAAC,QAAQ,QAAQ,OAAO,EAAE,CAC7F,CAAA;QACD,OAAO,YAAY,CAAA;IACrB,CAAC;IAED,SAAS,GAAG;QACV,IAAI,KAAK;YAAE,OAAM;QACjB,IAAI,CAAC,MAAM;YAAE,QAAQ,EAAE,CAAA;QACvB,IAAI,CAAC;YAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAC/E,IAAI,CAAC;YAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAC/E,iEAAiE;QACjE,gEAAgE;QAChE,gCAAgC;QAChC,IAAI,CAAC;YAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAC9E,IAAI,CAAC;YACH,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;gBAC1E,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;oBAAE,OAAM;gBACpD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;gBACxC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAA;YAClC,CAAC,CAAC,CAAA;YACF,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBAC7B,MAAM,CAAC,gCAAgC,WAAW,YAAY,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACnH,CAAC,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,sCAAsC,WAAW,YAAY,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACzH,CAAC;QACD,IAAI,CAAC;YACH,YAAY,GAAG,KAAK,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;gBAC5E,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBAAE,OAAM;gBACrD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;gBACxC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAA;YACpC,CAAC,CAAC,CAAA;YACF,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBAC/B,MAAM,CAAC,gCAAgC,WAAW,YAAY,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACnH,CAAC,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,sCAAsC,WAAW,YAAY,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACzH,CAAC;QACD,mEAAmE;QACnE,qEAAqE;QACrE,qEAAqE;QACrE,2DAA2D;QAC3D,mEAAmE;QACnE,IAAI,CAAC;YACH,cAAc,GAAG,KAAK,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;gBAC7E,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBAAE,OAAM;gBACrD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;gBACvC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAA;YACpC,CAAC,CAAC,CAAA;YACF,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACjC,MAAM,CAAC,gCAAgC,UAAU,YAAY,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAClH,CAAC,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,sCAAsC,UAAU,YAAY,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACxH,CAAC;QACD,KAAK,GAAG,IAAI,CAAA;QACZ,MAAM,CAAC,mCAAmC,WAAW,iBAAiB,WAAW,gBAAgB,UAAU,EAAE,CAAC,CAAA;IAChH,CAAC;IAED,SAAS,SAAS,CAAC,GAAe;QAChC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACpB,OAAO,GAAG,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA,CAAC,CAAC,CAAA;IAC1C,CAAC;IAED,SAAS,cAAc,CAAC,EAAU;QAChC,OAAO,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAChC,CAAC;IAED,SAAS,oBAAoB,CAAC,EAAU;QACtC,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;QAC1C,MAAM,SAAS,GAAG,uBAAuB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACrD,OAAO,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC/D,CAAC;IAED,SAAS,iBAAiB,CAAC,MAAc;QACvC,MAAM,SAAS,GAAG,uBAAuB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACrD,OAAO,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC/D,CAAC;IAED,SAAS,QAAQ,CAAC,GAAW;QAC3B,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACzC,OAAO,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC/D,CAAC;IAED,SAAS,GAAG;QACV,OAAO,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,CAAA;IACtC,CAAC;IAED,SAAS,UAAU,CAAC,GAAW,EAAE,SAAiB;QAChD,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAA;QAC9B,IAAI,QAAQ;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QAC9C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;gBACtB,MAAM,CAAC,IAAI,KAAK,CAAC,uCAAuC,GAAG,OAAO,SAAS,EAAE,CAAC,CAAC,CAAA;YACjF,CAAC,EAAE,SAAS,CAAC,CAAA;YACb,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;QACjD,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,SAAS,cAAc,CAAC,SAAiB;QACvC,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAC5C,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAA;QACxB,iEAAiE;QACjE,+DAA+D;QAC/D,kEAAkE;QAClE,gEAAgE;QAChE,oCAAoC;QACpC,MAAM,UAAU,GAAG,sBAAsB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QAC3D,MAAM,cAAc,GAAG,sBAAsB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;QACnE,MAAM,QAAQ,GAAsB,UAAU,CAAC,UAAU,CAAC;YACxD,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;QAC7F,MAAM,EAAE,OAAO,EAAE,GAAG,sBAAsB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QAC/D,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QACjD,UAAU,CAAC,KAAK,CAAC,CAAA;QACjB,QAAQ,CAAC,OAAO,CAAC,CAAA;QACjB,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAA;QAClE,OAAO,IAAI,CAAA;IACb,CAAC;IAED,SAAS,KAAK;QACZ,IAAI,UAAU,EAAE,CAAC;YAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YAAC,UAAU,GAAG,IAAI,CAAA;QAAC,CAAC;QACzD,IAAI,YAAY,EAAE,CAAC;YAAC,YAAY,CAAC,KAAK,EAAE,CAAC;YAAC,YAAY,GAAG,IAAI,CAAA;QAAC,CAAC;QAC/D,IAAI,cAAc,EAAE,CAAC;YAAC,cAAc,CAAC,KAAK,EAAE,CAAC;YAAC,cAAc,GAAG,IAAI,CAAA;QAAC,CAAC;QACrE,KAAK,MAAM,CAAC,IAAI,cAAc,CAAC,MAAM,EAAE;YAAE,YAAY,CAAC,CAAC,CAAC,CAAA;QACxD,cAAc,CAAC,KAAK,EAAE,CAAA;QACtB,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;YACpC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;YACrB,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAA;QAC1C,CAAC;QACD,UAAU,CAAC,KAAK,EAAE,CAAA;QAClB,WAAW,CAAC,KAAK,EAAE,CAAA;IACrB,CAAC;IAED,OAAO;QACL,QAAQ;QACR,GAAG;QACH,SAAS;QACT,cAAc;QACd,oBAAoB;QACpB,iBAAiB;QACjB,QAAQ;QACR,GAAG;QACH,UAAU;QACV,cAAc;QACd,KAAK;QACL,UAAU,EAAE,EAAE,gBAAgB,EAAE,kBAAkB,EAAE;KACrD,CAAA;AACH,CAAC"}