@ytspar/sweetlink 1.16.1 → 1.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/claude-skills/screenshot/SKILL.md +2 -0
  2. package/dist/cli/sweetlink-dev.js +0 -0
  3. package/dist/cli/sweetlink.js +338 -29
  4. package/dist/cli/sweetlink.js.map +1 -1
  5. package/dist/daemon/browser.d.ts +12 -0
  6. package/dist/daemon/browser.d.ts.map +1 -1
  7. package/dist/daemon/browser.js +62 -12
  8. package/dist/daemon/browser.js.map +1 -1
  9. package/dist/daemon/cursor.d.ts.map +1 -1
  10. package/dist/daemon/cursor.js +39 -8
  11. package/dist/daemon/cursor.js.map +1 -1
  12. package/dist/daemon/devices.d.ts +9 -4
  13. package/dist/daemon/devices.d.ts.map +1 -1
  14. package/dist/daemon/devices.js +25 -4
  15. package/dist/daemon/devices.js.map +1 -1
  16. package/dist/daemon/diff.d.ts +6 -0
  17. package/dist/daemon/diff.d.ts.map +1 -1
  18. package/dist/daemon/diff.js +46 -26
  19. package/dist/daemon/diff.js.map +1 -1
  20. package/dist/daemon/index.js +0 -0
  21. package/dist/daemon/listeners.d.ts +8 -2
  22. package/dist/daemon/listeners.d.ts.map +1 -1
  23. package/dist/daemon/listeners.js +39 -6
  24. package/dist/daemon/listeners.js.map +1 -1
  25. package/dist/daemon/recording.d.ts +28 -3
  26. package/dist/daemon/recording.d.ts.map +1 -1
  27. package/dist/daemon/recording.js +159 -17
  28. package/dist/daemon/recording.js.map +1 -1
  29. package/dist/daemon/refs.d.ts.map +1 -1
  30. package/dist/daemon/refs.js +7 -2
  31. package/dist/daemon/refs.js.map +1 -1
  32. package/dist/daemon/server.d.ts.map +1 -1
  33. package/dist/daemon/server.js +326 -19
  34. package/dist/daemon/server.js.map +1 -1
  35. package/dist/daemon/session.d.ts +2 -0
  36. package/dist/daemon/session.d.ts.map +1 -1
  37. package/dist/daemon/summary.d.ts.map +1 -1
  38. package/dist/daemon/summary.js +57 -11
  39. package/dist/daemon/summary.js.map +1 -1
  40. package/dist/daemon/types.d.ts +1 -1
  41. package/dist/daemon/types.d.ts.map +1 -1
  42. package/dist/daemon/types.js.map +1 -1
  43. package/dist/daemon/viewer.d.ts +7 -0
  44. package/dist/daemon/viewer.d.ts.map +1 -1
  45. package/dist/daemon/viewer.js +12 -4
  46. package/dist/daemon/viewer.js.map +1 -1
  47. package/dist/daemon/visualDiff.d.ts +2 -0
  48. package/dist/daemon/visualDiff.d.ts.map +1 -1
  49. package/dist/daemon/visualDiff.js +61 -2
  50. package/dist/daemon/visualDiff.js.map +1 -1
  51. package/dist/ruler.d.ts +1 -1
  52. package/dist/ruler.d.ts.map +1 -1
  53. package/dist/ruler.js +53 -32
  54. package/dist/ruler.js.map +1 -1
  55. package/package.json +10 -11
@@ -10,7 +10,7 @@ import { closeBrowser, getBrowserInstance, getPage, initBrowser, takeResponsiveS
10
10
  import { annotateScreenshot, diffSnapshots } from './diff.js';
11
11
  import { takeDeviceScreenshots } from './devices.js';
12
12
  import { consoleBuffer, dialogBuffer, formatConsoleEntries, formatNetworkEntries, getErrorCount, getWarningCount, networkBuffer, } from './listeners.js';
13
- import { getRecordingPage, getRecordingStatus, isRecording, logAction, startRecording, stopRecording } from './recording.js';
13
+ import { getRecordingPage, getRecordingStatus, isRecording, logAction, pauseRecording, resumeRecording, startRecording, stopRecording } from './recording.js';
14
14
  import { detectServerErrors } from './errorPatterns.js';
15
15
  import { generateSummary } from './summary.js';
16
16
  import { generateViewer } from './viewer.js';
@@ -27,9 +27,19 @@ let daemonPort = null;
27
27
  // ============================================================================
28
28
  // Idle Timer
29
29
  // ============================================================================
30
+ let idleWarnTimer = null;
30
31
  function resetIdleTimer() {
31
32
  if (idleTimer)
32
33
  clearTimeout(idleTimer);
34
+ if (idleWarnTimer)
35
+ clearTimeout(idleWarnTimer);
36
+ // Warn at 80% so users running long sessions get a heads-up before
37
+ // the daemon dies under them.
38
+ const warnAt = Math.floor(DAEMON_IDLE_TIMEOUT_MS * 0.8);
39
+ idleWarnTimer = setTimeout(() => {
40
+ const remainingSec = Math.round((DAEMON_IDLE_TIMEOUT_MS - warnAt) / 1000);
41
+ console.error(`[Daemon] ⚠ Idle for ${Math.round(warnAt / 1000)}s — will shut down in ${remainingSec}s if no further requests arrive.`);
42
+ }, warnAt);
33
43
  idleTimer = setTimeout(() => {
34
44
  console.error('[Daemon] Idle timeout reached. Shutting down...');
35
45
  shutdown();
@@ -48,26 +58,53 @@ async function handleShutdown() {
48
58
  }
49
59
  async function handleScreenshot(params, url) {
50
60
  await initBrowser(url);
51
- const { buffer, width, height } = await takeScreenshot({
61
+ // During a recording, screenshots must target the recording page so the
62
+ // captured image matches what the video shows, and the action is logged
63
+ // into the session manifest.
64
+ const recPage = getRecordingPage();
65
+ const targetPage = recPage ?? undefined;
66
+ const padding = params.padding;
67
+ const theme = params.theme;
68
+ const { buffer, width, height, matchCount, pageHeight, viewportHeight } = await takeScreenshot({
52
69
  selector: params.selector,
53
70
  fullPage: params.fullPage,
54
71
  viewport: params.viewport,
72
+ padding: typeof padding === 'number' ? padding : undefined,
73
+ theme,
74
+ page: targetPage,
55
75
  });
76
+ if (recPage && isRecording()) {
77
+ const args = [];
78
+ if (params.selector)
79
+ args.push(`--selector=${params.selector}`);
80
+ if (params.fullPage)
81
+ args.push('--full-page');
82
+ if (params.viewport)
83
+ args.push(`--viewport=${params.viewport}`);
84
+ await logAction('screenshot', args, recPage);
85
+ }
56
86
  return {
57
87
  ok: true,
58
88
  data: {
59
89
  screenshot: buffer.toString('base64'),
60
90
  width,
61
91
  height,
92
+ matchCount,
93
+ pageHeight,
94
+ viewportHeight,
62
95
  },
63
96
  };
64
97
  }
65
98
  async function handleResponsiveScreenshot(params, url) {
66
99
  await initBrowser(url);
67
100
  const viewports = params.viewports ?? DEFAULT_RESPONSIVE_VIEWPORTS;
101
+ // Default to fullPage so users see the page in its entirety at each
102
+ // breakpoint — that's the typical reason to invoke `--responsive`.
103
+ // Caller can pass `fullPage: false` explicitly to opt out.
104
+ const fullPage = params.fullPage !== false;
68
105
  const results = await takeResponsiveScreenshots({
69
106
  viewports,
70
- fullPage: params.fullPage,
107
+ fullPage,
71
108
  });
72
109
  return {
73
110
  ok: true,
@@ -121,11 +158,16 @@ async function handleSnapshot(params, url) {
121
158
  return { ok: false, error: 'No refs to annotate. Run `snapshot -i` first.' };
122
159
  }
123
160
  const buffer = await annotateScreenshot(page, currentRefs);
161
+ // Pull dims from the PNG IHDR so callers don't see undefined.
162
+ const width = buffer.readUInt32BE(16);
163
+ const height = buffer.readUInt32BE(20);
124
164
  setBaseline();
125
165
  return {
126
166
  ok: true,
127
167
  data: {
128
168
  screenshot: buffer.toString('base64'),
169
+ width,
170
+ height,
129
171
  tree: formatRefMap(resolved),
130
172
  refs: resolved.entries,
131
173
  count: resolved.entries.length,
@@ -144,6 +186,27 @@ async function handleSnapshot(params, url) {
144
186
  },
145
187
  };
146
188
  }
189
+ /**
190
+ * Capture a screenshot of `page` and stash it under `.sweetlink/failures/`
191
+ * so users can see what state the page was in when an action failed.
192
+ * Returns the relative path or `undefined` if capture itself failed.
193
+ */
194
+ async function captureFailure(page, reason) {
195
+ try {
196
+ const { promises: fsp } = await import('fs');
197
+ const dir = '.sweetlink/failures';
198
+ await fsp.mkdir(dir, { recursive: true });
199
+ const stamp = new Date().toISOString().replace(/[:.]/g, '-');
200
+ const slug = reason.replace(/[^a-z0-9]/gi, '-').slice(0, 40).toLowerCase();
201
+ const filePath = `${dir}/${stamp}-${slug}.png`;
202
+ const buf = await page.screenshot({ fullPage: false });
203
+ await fsp.writeFile(filePath, buf);
204
+ return filePath;
205
+ }
206
+ catch {
207
+ return undefined;
208
+ }
209
+ }
147
210
  async function handleClickRef(params, url) {
148
211
  await initBrowser(url);
149
212
  // Use recording page if recording, otherwise main page
@@ -154,19 +217,34 @@ async function handleClickRef(params, url) {
154
217
  return { ok: false, error: 'Missing ref parameter' };
155
218
  const stale = await checkRefStale(page, ref);
156
219
  if (stale) {
220
+ const failureScreenshot = await captureFailure(page, `stale-ref-${ref}`);
157
221
  return {
158
222
  ok: false,
159
223
  error: `Ref ${ref} is stale — element no longer exists. Run \`snapshot\` to get fresh refs.`,
224
+ data: failureScreenshot ? { failureScreenshot } : undefined,
160
225
  };
161
226
  }
162
227
  const locator = resolveRef(page, ref);
228
+ // Fail fast if the element is disabled — without this check, Playwright's
229
+ // click would wait for the default 30s before throwing.
230
+ const enabled = await locator.isEnabled().catch(() => true);
231
+ if (!enabled) {
232
+ const failureScreenshot = await captureFailure(page, `disabled-${ref}`);
233
+ return {
234
+ ok: false,
235
+ error: `Ref ${ref} is disabled — cannot click.`,
236
+ data: failureScreenshot ? { failureScreenshot } : undefined,
237
+ };
238
+ }
163
239
  const box = await locator.boundingBox();
240
+ const t0 = Date.now();
164
241
  await locator.click();
242
+ const durationMs = Date.now() - t0;
165
243
  // Log action if recording
166
244
  if (isRecording()) {
167
- await logAction('click', [ref], page, box ?? undefined);
245
+ await logAction('click', [ref], page, box ?? undefined, durationMs);
168
246
  }
169
- return { ok: true, data: { clicked: ref } };
247
+ return { ok: true, data: { clicked: ref, duration: durationMs } };
170
248
  }
171
249
  async function handleFillRef(params, url) {
172
250
  await initBrowser(url);
@@ -186,12 +264,108 @@ async function handleFillRef(params, url) {
186
264
  };
187
265
  }
188
266
  const locator = resolveRef(page, ref);
267
+ // Fail fast for non-fillable elements (e.g. <option>, <select>, <button>) —
268
+ // Playwright's fill() would otherwise wait 30s for the editable check.
269
+ const editable = await locator.isEditable().catch(() => false);
270
+ if (!editable) {
271
+ const failureScreenshot = await captureFailure(page, `non-editable-${ref}`);
272
+ return {
273
+ ok: false,
274
+ error: `Ref ${ref} is not editable (use click-ref/press-key for non-text inputs).`,
275
+ data: failureScreenshot ? { failureScreenshot } : undefined,
276
+ };
277
+ }
189
278
  const box = await locator.boundingBox();
279
+ const t0 = Date.now();
190
280
  await locator.fill(value);
281
+ const durationMs = Date.now() - t0;
282
+ if (isRecording()) {
283
+ await logAction('fill', [ref, value], page, box ?? undefined, durationMs);
284
+ }
285
+ return { ok: true, data: { filled: ref, value, duration: durationMs } };
286
+ }
287
+ async function handleClickCss(params, url) {
288
+ await initBrowser(url);
289
+ // Route to the recording page when a session is active so the click
290
+ // appears in the video and gets logged into the manifest.
291
+ const recPage = getRecordingPage();
292
+ const page = recPage ?? getPage();
293
+ const selector = params.selector;
294
+ const text = params.text;
295
+ const index = params.index ?? 0;
296
+ if (!selector && !text) {
297
+ return { ok: false, error: 'Missing selector or text parameter' };
298
+ }
299
+ let locator;
300
+ if (selector && text) {
301
+ locator = page.locator(selector, { hasText: text });
302
+ }
303
+ else if (selector) {
304
+ locator = page.locator(selector);
305
+ }
306
+ else {
307
+ locator = page.getByText(text, { exact: false });
308
+ }
309
+ const target = locator.nth(index);
310
+ try {
311
+ await target.waitFor({ state: 'visible', timeout: 5_000 });
312
+ }
313
+ catch {
314
+ const found = await locator.count();
315
+ const failureScreenshot = await captureFailure(page, `no-element-${selector ?? text ?? 'unknown'}`);
316
+ return {
317
+ ok: false,
318
+ error: `No element found matching: ${selector ?? text} (${found} matches)`,
319
+ data: failureScreenshot ? { failureScreenshot } : undefined,
320
+ };
321
+ }
322
+ const box = await target.boundingBox();
323
+ // Occlusion check: if the element's center is covered by a different
324
+ // element (e.g. a sticky modal/overlay), Playwright's click would wait
325
+ // for actionability and time out with a generic message. Probe up
326
+ // front so we can return a useful error.
327
+ if (box) {
328
+ const cx = box.x + box.width / 2;
329
+ const cy = box.y + box.height / 2;
330
+ const info = await page.evaluate(({ cx, cy, sel }) => {
331
+ const intended = sel ? document.querySelector(sel) : null;
332
+ const top = document.elementFromPoint(cx, cy);
333
+ if (!top || !intended)
334
+ return { ours: true };
335
+ if (top === intended || intended.contains(top))
336
+ return { ours: true };
337
+ const desc = top.tagName.toLowerCase() +
338
+ (top.id ? '#' + top.id : '') +
339
+ (top.className && typeof top.className === 'string'
340
+ ? '.' + top.className.split(/\s+/).filter(Boolean).slice(0, 2).join('.')
341
+ : '');
342
+ return { ours: false, coveredBy: desc };
343
+ }, { cx, cy, sel: selector ?? null });
344
+ if (!info.ours) {
345
+ const failureScreenshot = await captureFailure(page, `occluded-${selector ?? text}`);
346
+ return {
347
+ ok: false,
348
+ error: `Click target ${selector ?? text} is covered by <${info.coveredBy}>. Dismiss the overlay first.`,
349
+ data: failureScreenshot ? { failureScreenshot } : undefined,
350
+ };
351
+ }
352
+ }
353
+ const t0 = Date.now();
354
+ await target.click();
355
+ const durationMs = Date.now() - t0;
356
+ const tag = await target.evaluate((el) => el.tagName.toLowerCase()).catch(() => 'unknown');
357
+ const found = await locator.count();
191
358
  if (isRecording()) {
192
- await logAction('fill', [ref, value], page, box ?? undefined);
359
+ const args = [];
360
+ if (selector)
361
+ args.push(`--selector=${selector}`);
362
+ if (text)
363
+ args.push(`--text=${text}`);
364
+ if (index > 0)
365
+ args.push(`--index=${index}`);
366
+ await logAction('click', args, page, box ?? undefined, durationMs);
193
367
  }
194
- return { ok: true, data: { filled: ref, value } };
368
+ return { ok: true, data: { clicked: tag, found, index, duration: durationMs } };
195
369
  }
196
370
  async function handleHoverRef(params, url) {
197
371
  await initBrowser(url);
@@ -222,7 +396,11 @@ async function handlePressKey(params, url) {
222
396
  // ============================================================================
223
397
  // Ring Buffer Handlers
224
398
  // ============================================================================
225
- async function handleConsoleRead(params) {
399
+ async function handleConsoleRead(params, url) {
400
+ // Ensure the configured page is loaded so the listeners have something to
401
+ // observe. Without this, a fresh daemon returns an empty buffer with no
402
+ // explanation.
403
+ await initBrowser(url);
226
404
  const errorsOnly = params.errors;
227
405
  const last = params.last;
228
406
  let entries = errorsOnly
@@ -242,7 +420,14 @@ async function handleConsoleRead(params) {
242
420
  },
243
421
  };
244
422
  }
245
- async function handleNetworkRead(params) {
423
+ async function handleNetworkRead(params, url) {
424
+ // Toggle body capture BEFORE any navigation so body buffers populate
425
+ // for the current page-load.
426
+ if (params.withBody) {
427
+ const { setCaptureBodies } = await import('./listeners.js');
428
+ setCaptureBodies(true);
429
+ }
430
+ await initBrowser(url);
246
431
  const failedOnly = params.failed;
247
432
  const last = params.last;
248
433
  let entries = failedOnly
@@ -261,7 +446,8 @@ async function handleNetworkRead(params) {
261
446
  },
262
447
  };
263
448
  }
264
- async function handleDialogRead() {
449
+ async function handleDialogRead(url) {
450
+ await initBrowser(url);
265
451
  const entries = dialogBuffer.toArray();
266
452
  return {
267
453
  ok: true,
@@ -275,9 +461,18 @@ async function handleScreenshotDevices(params, url) {
275
461
  if (!devices || devices.length === 0) {
276
462
  return { ok: false, error: 'Missing devices parameter' };
277
463
  }
278
- const results = await takeDeviceScreenshots(page, devices, {
464
+ const { results, unknown } = await takeDeviceScreenshots(page, devices, {
279
465
  fullPage: params.fullPage,
280
466
  });
467
+ // Surface unknown device names to the caller instead of silently dropping
468
+ // them. If everything was unknown, treat as a hard error.
469
+ if (results.length === 0 && unknown.length > 0) {
470
+ const { listDeviceNames } = await import('./devices.js');
471
+ return {
472
+ ok: false,
473
+ error: `Unknown device(s): ${unknown.join(', ')}. Known: ${listDeviceNames().join(', ')}`,
474
+ };
475
+ }
281
476
  return {
282
477
  ok: true,
283
478
  data: {
@@ -287,14 +482,26 @@ async function handleScreenshotDevices(params, url) {
287
482
  height: r.device.viewport.height,
288
483
  screenshot: r.buffer.toString('base64'),
289
484
  })),
485
+ unknown,
290
486
  },
291
487
  };
292
488
  }
293
- async function handleRecordStart(url) {
489
+ async function handleRecordStart(params, url) {
294
490
  await initBrowser(url);
295
491
  const browser = getBrowserInstance();
296
- const result = await startRecording(browser, url, '.sweetlink');
297
- return { ok: true, data: { sessionId: result.sessionId } };
492
+ const viewportParam = params.viewport;
493
+ let viewport;
494
+ if (viewportParam) {
495
+ const { parseViewport, DEFAULT_VIEWPORT } = await import('../viewportUtils.js');
496
+ viewport = parseViewport(viewportParam, DEFAULT_VIEWPORT);
497
+ }
498
+ const label = params.label || undefined;
499
+ const storageState = params.storageState || undefined;
500
+ const trace = params.trace || undefined;
501
+ const result = await startRecording(browser, url, '.sweetlink', {
502
+ viewport, label, storageState, trace,
503
+ });
504
+ return { ok: true, data: { sessionId: result.sessionId, label, trace: !!trace } };
298
505
  }
299
506
  async function handleRecordStop() {
300
507
  const manifest = await stopRecording();
@@ -349,6 +556,95 @@ async function handleRecordStatus() {
349
556
  const status = getRecordingStatus();
350
557
  return { ok: true, data: status };
351
558
  }
559
+ async function handleRecordPause() {
560
+ const r = pauseRecording();
561
+ if (!r)
562
+ return { ok: false, error: 'No active recording to pause (or already paused).' };
563
+ return { ok: true, data: r };
564
+ }
565
+ async function handleRecordResume() {
566
+ const r = resumeRecording();
567
+ if (!r)
568
+ return { ok: false, error: 'Recording is not paused.' };
569
+ return { ok: true, data: r };
570
+ }
571
+ async function handleSessionsList() {
572
+ try {
573
+ const { promises: fsp } = await import('fs');
574
+ const path = await import('path');
575
+ const dir = '.sweetlink';
576
+ let entries = [];
577
+ try {
578
+ entries = await fsp.readdir(dir, { withFileTypes: true });
579
+ }
580
+ catch {
581
+ return { ok: true, data: { sessions: [] } };
582
+ }
583
+ const sessions = [];
584
+ for (const e of entries) {
585
+ if (!e.isDirectory() || !e.name.startsWith('session-'))
586
+ continue;
587
+ const manifestPath = path.join(dir, e.name, 'sweetlink-session.json');
588
+ try {
589
+ const raw = await fsp.readFile(manifestPath, 'utf-8');
590
+ const m = JSON.parse(raw);
591
+ const hasVideo = await fsp.access(path.join(dir, e.name, 'session.webm')).then(() => true).catch(() => false);
592
+ const hasViewer = await fsp.access(path.join(dir, e.name, 'viewer.html')).then(() => true).catch(() => false);
593
+ sessions.push({
594
+ sessionId: m.sessionId,
595
+ label: m.label,
596
+ url: m.url,
597
+ startedAt: m.startedAt,
598
+ duration: m.duration,
599
+ actionCount: m.commands.length,
600
+ errors: m.errors,
601
+ hasVideo,
602
+ hasViewer,
603
+ manifestPath,
604
+ });
605
+ }
606
+ catch {
607
+ // Skip directories without a valid manifest.
608
+ }
609
+ }
610
+ // Most recent first.
611
+ sessions.sort((a, b) => (b.startedAt ?? '').localeCompare(a.startedAt ?? ''));
612
+ // Also write an index.html that links to every viewer for quick browsing.
613
+ try {
614
+ const items = sessions.map((s) => {
615
+ const viewerLink = s.hasViewer ? `${s.sessionId}/viewer.html` : '#';
616
+ const errorsTotal = s.errors ? s.errors.console + s.errors.network + s.errors.server : 0;
617
+ const errBadge = errorsTotal > 0
618
+ ? `<span style="color:#c00;font-weight:600">${errorsTotal} err</span>`
619
+ : '<span style="color:#0a0">clean</span>';
620
+ const labelHtml = s.label ? `<span style="color:#06c">${escape(s.label)}</span> · ` : '';
621
+ const dur = s.duration ? `${s.duration.toFixed(1)}s` : '—';
622
+ return `<li><a href="${viewerLink}">${labelHtml}<code>${escape(s.sessionId)}</code></a> · ${escape(s.url ?? '')} · ${dur} · ${s.actionCount} actions · ${errBadge}</li>`;
623
+ }).join('\n');
624
+ const indexHtml = `<!DOCTYPE html>
625
+ <html><head><title>Sweetlink Sessions</title>
626
+ <style>
627
+ body{font-family:system-ui;margin:40px;max-width:900px}
628
+ li{margin:8px 0;padding:8px;border-radius:6px}
629
+ li:hover{background:#f5f5fa}
630
+ code{background:#eef;padding:1px 6px;border-radius:3px}
631
+ a{text-decoration:none;color:#222}
632
+ </style></head>
633
+ <body><h1>Sweetlink Sessions <small style="color:#888">(${sessions.length})</small></h1>
634
+ <ul>${items}</ul>
635
+ </body></html>`;
636
+ await fsp.writeFile(path.join(dir, 'index.html'), indexHtml);
637
+ }
638
+ catch { /* index is best-effort */ }
639
+ return { ok: true, data: { sessions, indexPath: path.join(dir, 'index.html') } };
640
+ }
641
+ catch (err) {
642
+ return { ok: false, error: err instanceof Error ? err.message : String(err) };
643
+ }
644
+ }
645
+ function escape(s) {
646
+ return String(s).replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;');
647
+ }
352
648
  async function handleGenerateViewer(params) {
353
649
  const sessionDir = params.sessionDir;
354
650
  const outputPath = params.outputPath;
@@ -377,9 +673,10 @@ async function handleVisualDiff(params) {
377
673
  if (!baseline || !current) {
378
674
  return { ok: false, error: 'Missing baseline or current parameter (base64 encoded PNG)' };
379
675
  }
676
+ const outputPath = params.outputPath;
380
677
  const baselineBuffer = Buffer.from(baseline, 'base64');
381
678
  const currentBuffer = Buffer.from(current, 'base64');
382
- const result = await visualDiff(baselineBuffer, currentBuffer, { threshold });
679
+ const result = await visualDiff(baselineBuffer, currentBuffer, { threshold, outputPath });
383
680
  return {
384
681
  ok: true,
385
682
  data: {
@@ -387,6 +684,8 @@ async function handleVisualDiff(params) {
387
684
  mismatchCount: result.mismatchCount,
388
685
  totalPixels: result.totalPixels,
389
686
  pass: result.pass,
687
+ diffImagePath: result.diffImagePath,
688
+ diffViewerPath: result.diffViewerPath,
390
689
  },
391
690
  };
392
691
  }
@@ -407,6 +706,8 @@ async function handleRequest(action, params, url) {
407
706
  return handleSnapshot(params, url);
408
707
  case 'click-ref':
409
708
  return handleClickRef(params, url);
709
+ case 'click-css':
710
+ return handleClickCss(params, url);
410
711
  case 'fill-ref':
411
712
  return handleFillRef(params, url);
412
713
  case 'hover-ref':
@@ -414,17 +715,23 @@ async function handleRequest(action, params, url) {
414
715
  case 'press-key':
415
716
  return handlePressKey(params, url);
416
717
  case 'console-read':
417
- return handleConsoleRead(params);
718
+ return handleConsoleRead(params, url);
418
719
  case 'network-read':
419
- return handleNetworkRead(params);
720
+ return handleNetworkRead(params, url);
420
721
  case 'dialog-read':
421
- return handleDialogRead();
722
+ return handleDialogRead(url);
422
723
  case 'screenshot-devices':
423
724
  return handleScreenshotDevices(params, url);
424
725
  case 'visual-diff':
425
726
  return handleVisualDiff(params);
426
727
  case 'record-start':
427
- return handleRecordStart(url);
728
+ return handleRecordStart(params, url);
729
+ case 'record-pause':
730
+ return handleRecordPause();
731
+ case 'record-resume':
732
+ return handleRecordResume();
733
+ case 'sessions-list':
734
+ return handleSessionsList();
428
735
  case 'record-stop':
429
736
  return handleRecordStop();
430
737
  case 'record-status':
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/daemon/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/daemon/server.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAA6C,MAAM,MAAM,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,OAAO,EAAE,WAAW,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACjI,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EACL,aAAa,EACb,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,eAAe,EACf,aAAa,GACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC9J,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EACL,WAAW,EACX,aAAa,EACb,YAAY,EACZ,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,WAAW,GACZ,MAAM,WAAW,CAAC;AAOnB,OAAO,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAElF,+EAA+E;AAC/E,QAAQ;AACR,+EAA+E;AAE/E,IAAI,UAAU,GAA2C,IAAI,CAAC;AAC9D,IAAI,SAAS,GAAyC,IAAI,CAAC;AAC3D,IAAI,gBAAgB,GAAwB,IAAI,CAAC;AACjD,IAAI,UAAU,GAAkB,IAAI,CAAC;AAErC,+EAA+E;AAC/E,aAAa;AACb,+EAA+E;AAE/E,IAAI,aAAa,GAAyC,IAAI,CAAC;AAE/D,SAAS,cAAc;IACrB,IAAI,SAAS;QAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IACvC,IAAI,aAAa;QAAE,YAAY,CAAC,aAAa,CAAC,CAAC;IAC/C,mEAAmE;IACnE,8BAA8B;IAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,sBAAsB,GAAG,GAAG,CAAC,CAAC;IACxD,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;QAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,sBAAsB,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;QAC1E,OAAO,CAAC,KAAK,CACX,uBAAuB,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,yBAAyB,YAAY,kCAAkC,CACxH,CAAC;IACJ,CAAC,EAAE,MAAM,CAAC,CAAC;IACX,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;QAC1B,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACjE,QAAQ,EAAE,CAAC;IACb,CAAC,EAAE,sBAAsB,CAAC,CAAC;AAC7B,CAAC;AAED,+EAA+E;AAC/E,kBAAkB;AAClB,+EAA+E;AAE/E,KAAK,UAAU,UAAU;IACvB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC;AACnE,CAAC;AAED,KAAK,UAAU,cAAc;IAC3B,2CAA2C;IAC3C,UAAU,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAC;IAClC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,sBAAsB,EAAE,EAAE,CAAC;AACjE,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,MAAwB,EACxB,GAAW;IAEX,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;IAEvB,wEAAwE;IACxE,wEAAwE;IACxE,6BAA6B;IAC7B,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;IACnC,MAAM,UAAU,GAAG,OAAO,IAAI,SAAS,CAAC;IAExC,MAAM,OAAO,GAAI,MAAkD,CAAC,OAAO,CAAC;IAC5E,MAAM,KAAK,GAAI,MAA4E,CAAC,KAAK,CAAC;IAClG,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,MAAM,cAAc,CAAC;QAC7F,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,OAAO,EAAE,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QAC1D,KAAK;QACL,IAAI,EAAE,UAAU;KACjB,CAAC,CAAC;IAEH,IAAI,OAAO,IAAI,WAAW,EAAE,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,IAAI,MAAM,CAAC,QAAQ;YAAE,IAAI,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChE,IAAI,MAAM,CAAC,QAAQ;YAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC9C,IAAI,MAAM,CAAC,QAAQ;YAAE,IAAI,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChE,MAAM,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO;QACL,EAAE,EAAE,IAAI;QACR,IAAI,EAAE;YACJ,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACrC,KAAK;YACL,MAAM;YACN,UAAU;YACV,UAAU;YACV,cAAc;SACf;KACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,0BAA0B,CACvC,MAAkC,EAClC,GAAW;IAEX,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;IACvB,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,4BAA4B,CAAC;IACnE,oEAAoE;IACpE,mEAAmE;IACnE,2DAA2D;IAC3D,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,KAAK,KAAK,CAAC;IAC3C,MAAM,OAAO,GAAG,MAAM,yBAAyB,CAAC;QAC9C,SAAS;QACT,QAAQ;KACT,CAAC,CAAC;IAEH,OAAO;QACL,EAAE,EAAE,IAAI;QACR,IAAI,EAAE;YACJ,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC/B,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBACvC,KAAK,EAAE,CAAC,CAAC,KAAK;aACf,CAAC,CAAC;SACJ;KACF,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E,KAAK,UAAU,cAAc,CAC3B,MAA+B,EAC/B,GAAW;IAEX,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;IACvB,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,OAAO,IAAI,OAAO,EAAE,CAAC;IAClC,MAAM,WAAW,GAAG,MAAM,CAAC,WAAkC,CAAC;IAC9D,MAAM,IAAI,GAAG,MAAM,CAAC,IAA2B,CAAC;IAChD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAA+B,CAAC;IAExD,8DAA8D;IAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAE7C,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,WAAW,KAAK,KAAK,EAAE,CAAC,CAAC;IAEjF,mBAAmB;IACnB,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,oGAAoG;aAC5G,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACnD,WAAW,EAAE,CAAC,CAAC,gCAAgC;QAC/C,OAAO;YACL,EAAE,EAAE,IAAI;YACR,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC;gBAC5B,IAAI,EAAE,QAAQ,CAAC,OAAO;gBACtB,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM;aAC/B;SACF,CAAC;IACJ,CAAC;IAED,mCAAmC;IACnC,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,WAAW,GAAG,gBAAgB,EAAE,CAAC;QACvC,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,+CAA+C,EAAE,CAAC;QAC/E,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC3D,8DAA8D;QAC9D,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACvC,WAAW,EAAE,CAAC;QACd,OAAO;YACL,EAAE,EAAE,IAAI;YACR,IAAI,EAAE;gBACJ,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBACrC,KAAK;gBACL,MAAM;gBACN,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC;gBAC5B,IAAI,EAAE,QAAQ,CAAC,OAAO;gBACtB,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM;aAC/B;SACF,CAAC;IACJ,CAAC;IAED,4CAA4C;IAC5C,WAAW,EAAE,CAAC;IAEd,OAAO;QACL,EAAE,EAAE,IAAI;QACR,IAAI,EAAE;YACJ,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC;YAC5B,IAAI,EAAE,QAAQ,CAAC,OAAO;YACtB,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM;YAC9B,WAAW,EAAE,QAAQ,CAAC,WAAW;SAClC;KACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,cAAc,CAC3B,IAA+B,EAC/B,MAAc;IAEd,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,GAAG,GAAG,qBAAqB,CAAC;QAClC,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC7D,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3E,MAAM,QAAQ,GAAG,GAAG,GAAG,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC;QAC/C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QACvD,MAAM,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACnC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,MAA+B,EAC/B,GAAW;IAEX,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;IAEvB,uDAAuD;IACvD,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,OAAO,IAAI,OAAO,EAAE,CAAC;IAClC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAa,CAAC;IAEjC,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC;IAE/D,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC7C,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,iBAAiB,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,aAAa,GAAG,EAAE,CAAC,CAAC;QACzE,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,OAAO,GAAG,2EAA2E;YAC5F,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,SAAS;SAC5D,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAEtC,0EAA0E;IAC1E,wDAAwD;IACxD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAC5D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,iBAAiB,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,YAAY,GAAG,EAAE,CAAC,CAAC;QACxE,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,OAAO,GAAG,8BAA8B;YAC/C,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,SAAS;SAC5D,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;IACxC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACtB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IACtB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;IAEnC,0BAA0B;IAC1B,IAAI,WAAW,EAAE,EAAE,CAAC;QAClB,MAAM,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,SAAS,EAAE,UAAU,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,CAAC;AACpE,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,MAA+B,EAC/B,GAAW;IAEX,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;IACvB,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,OAAO,IAAI,OAAO,EAAE,CAAC;IAClC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAa,CAAC;IACjC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAe,CAAC;IAErC,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC;IAC/D,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC;IAEhF,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC7C,IAAI,KAAK,EAAE,CAAC;QACV,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,OAAO,GAAG,2EAA2E;SAC7F,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAEtC,4EAA4E;IAC5E,uEAAuE;IACvE,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IAC/D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,iBAAiB,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,gBAAgB,GAAG,EAAE,CAAC,CAAC;QAC5E,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,OAAO,GAAG,iEAAiE;YAClF,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,SAAS;SAC5D,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;IACxC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACtB,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;IAEnC,IAAI,WAAW,EAAE,EAAE,CAAC;QAClB,MAAM,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,SAAS,EAAE,UAAU,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,CAAC;AAC1E,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,MAA+B,EAC/B,GAAW;IAEX,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;IAEvB,oEAAoE;IACpE,0DAA0D;IAC1D,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,OAAO,IAAI,OAAO,EAAE,CAAC;IAElC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAA8B,CAAC;IACvD,MAAM,IAAI,GAAG,MAAM,CAAC,IAA0B,CAAC;IAC/C,MAAM,KAAK,GAAI,MAAM,CAAC,KAA4B,IAAI,CAAC,CAAC;IAExD,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QACvB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oCAAoC,EAAE,CAAC;IACpE,CAAC;IAED,IAAI,OAAO,CAAC;IACZ,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACrB,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;SAAM,IAAI,QAAQ,EAAE,CAAC;QACpB,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAElC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACpC,MAAM,iBAAiB,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,cAAc,QAAQ,IAAI,IAAI,IAAI,SAAS,EAAE,CAAC,CAAC;QACpG,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,8BAA8B,QAAQ,IAAI,IAAI,KAAK,KAAK,WAAW;YAC1E,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,SAAS;SAC5D,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;IAEvC,qEAAqE;IACrE,uEAAuE;IACvE,kEAAkE;IAClE,yCAAyC;IACzC,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;QACjC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;QAElC,MAAM,IAAI,GAAkB,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;YAClE,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC1D,MAAM,GAAG,GAAG,QAAQ,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAC9C,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ;gBAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YAC7C,IAAI,GAAG,KAAK,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACtE,MAAM,IAAI,GACR,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE;gBACzB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5B,CAAC,GAAG,CAAC,SAAS,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ;oBACjD,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;oBACxE,CAAC,CAAC,EAAE,CAAC,CAAC;YACV,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAC1C,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,IAAI,IAAI,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,iBAAiB,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,YAAY,QAAQ,IAAI,IAAI,EAAE,CAAC,CAAC;YACrF,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,gBAAgB,QAAQ,IAAI,IAAI,mBAAmB,IAAI,CAAC,SAAS,+BAA+B;gBACvG,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,SAAS;aAC5D,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACtB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACrB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;IAEnC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC3F,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IAEpC,IAAI,WAAW,EAAE,EAAE,CAAC;QAClB,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,IAAI,QAAQ;YAAE,IAAI,CAAC,IAAI,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAC;QAClD,IAAI,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QACtC,IAAI,KAAK,GAAG,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,WAAW,KAAK,EAAE,CAAC,CAAC;QAC7C,MAAM,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,SAAS,EAAE,UAAU,CAAC,CAAC;IACrE,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,CAAC;AAClF,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,MAA+B,EAC/B,GAAW;IAEX,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;IACvB,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,GAAG,GAAG,MAAM,CAAC,GAAa,CAAC;IAEjC,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC;IAE/D,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC7C,IAAI,KAAK,EAAE,CAAC;QACV,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,OAAO,GAAG,2EAA2E;SAC7F,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACtC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IACtB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC;AAC9C,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,MAA+B,EAC/B,GAAW;IAEX,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;IACvB,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,GAAG,GAAG,MAAM,CAAC,GAAa,CAAC;IAEjC,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC;IAE/D,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/B,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC;AAC9C,CAAC;AAED,+EAA+E;AAC/E,uBAAuB;AACvB,+EAA+E;AAE/E,KAAK,UAAU,iBAAiB,CAC9B,MAA+B,EAC/B,GAAW;IAEX,0EAA0E;IAC1E,wEAAwE;IACxE,eAAe;IACf,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;IAEvB,MAAM,UAAU,GAAG,MAAM,CAAC,MAA6B,CAAC;IACxD,MAAM,IAAI,GAAG,MAAM,CAAC,IAA0B,CAAC;IAE/C,IAAI,OAAO,GAAG,UAAU;QACtB,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC;QAClD,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;IAE5B,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,OAAO;QACL,EAAE,EAAE,IAAI;QACR,IAAI,EAAE;YACJ,OAAO;YACP,SAAS,EAAE,oBAAoB,CAAC,OAAO,CAAC;YACxC,KAAK,EAAE,aAAa,CAAC,IAAI;YACzB,UAAU,EAAE,aAAa,EAAE;YAC3B,YAAY,EAAE,eAAe,EAAE;SAChC;KACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,MAA+B,EAC/B,GAAW;IAEX,qEAAqE;IACrE,6BAA6B;IAC7B,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC5D,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IACD,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;IACvB,MAAM,UAAU,GAAG,MAAM,CAAC,MAA6B,CAAC;IACxD,MAAM,IAAI,GAAG,MAAM,CAAC,IAA0B,CAAC;IAE/C,IAAI,OAAO,GAAG,UAAU;QACtB,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;QAChE,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;IAE5B,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,OAAO;QACL,EAAE,EAAE,IAAI;QACR,IAAI,EAAE;YACJ,OAAO;YACP,SAAS,EAAE,oBAAoB,CAAC,OAAO,CAAC;YACxC,KAAK,EAAE,aAAa,CAAC,IAAI;YACzB,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,MAAM;SACnF;KACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,GAAW;IACzC,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;IACvB,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC;IACvC,OAAO;QACL,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,IAAI,EAAE;KAC5C,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,MAA+B,EAC/B,GAAW;IAEX,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;IACvB,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,OAAO,GAAG,MAAM,CAAC,OAA+B,CAAC;IACvD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC;IAC3D,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE;QACtE,QAAQ,EAAE,MAAM,CAAC,QAA+B;KACjD,CAAC,CAAC;IAEH,0EAA0E;IAC1E,0DAA0D;IAC1D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/C,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;QACzD,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,sBAAsB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,eAAe,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SAC1F,CAAC;IACJ,CAAC;IAED,OAAO;QACL,EAAE,EAAE,IAAI;QACR,IAAI,EAAE;YACJ,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC/B,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI;gBACrB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK;gBAC9B,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM;gBAChC,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;aACxC,CAAC,CAAC;YACH,OAAO;SACR;KACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,MAA+B,EAC/B,GAAW;IAEX,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;IACvB,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;IACrC,MAAM,aAAa,GAAG,MAAM,CAAC,QAA8B,CAAC;IAC5D,IAAI,QAAuD,CAAC;IAC5D,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAChF,QAAQ,GAAG,aAAa,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,KAAK,GAAI,MAAM,CAAC,KAA4B,IAAI,SAAS,CAAC;IAChE,MAAM,YAAY,GAAI,MAAM,CAAC,YAAmC,IAAI,SAAS,CAAC;IAC9E,MAAM,KAAK,GAAI,MAAM,CAAC,KAA6B,IAAI,SAAS,CAAC;IACjE,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE;QAC9D,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK;KACrC,CAAC,CAAC;IACH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;AACpF,CAAC;AAED,KAAK,UAAU,gBAAgB;IAC7B,MAAM,QAAQ,GAAG,MAAM,aAAa,EAAE,CAAC;IACvC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,0BAA0B,EAAE,CAAC;IAC1D,CAAC;IAED,6CAA6C;IAC7C,MAAM,UAAU,GAAG,cAAc,QAAQ,CAAC,SAAS,EAAE,CAAC;IACtD,IAAI,UAA8B,CAAC;IACnC,IAAI,WAA+B,CAAC;IAEpC,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,aAAa,CAAC,OAAO,EAAE,CAAC;QAC5C,MAAM,WAAW,GAAG,aAAa,CAAC,OAAO,EAAE,CAAC;QAE5C,UAAU,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE;YAC1C,UAAU;YACV,cAAc,EAAE,WAAW;YAC3B,cAAc,EAAE,WAAW;SAC5B,CAAC,CAAC;QAEH,sBAAsB;QACtB,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7C,iDAAiD;QACjD,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/D,MAAM,YAAY,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;QACrD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;QAC/C,CAAC;QAED,MAAM,SAAS,GAAG,eAAe,CAAC;YAChC,QAAQ;YACR,cAAc,EAAE,WAAW;YAC3B,cAAc,EAAE,WAAW;YAC3B,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACnC,MAAM,EAAE,QAAiB;gBACzB,OAAO,EAAE,CAAC,CAAC,IAAI;gBACf,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,IAAI,EAAE,CAAC,CAAC,QAAQ;aACjB,CAAC,CAAC;YACH,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,SAAS,EAAE,QAAQ,CAAC,SAAS;SAC9B,CAAC,CAAC;QACH,WAAW,GAAG,GAAG,UAAU,aAAa,CAAC;QACzC,MAAM,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACrD,OAAO,CAAC,KAAK,CAAC,2BAA2B,WAAW,EAAE,CAAC,CAAC;IAC1D,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,kDAAkD;IAClD,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,IAAI,UAAU,CAAC,CAAC,CAAC,oBAAoB,UAAU,WAAW,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAE/H,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,CAAC;AAC9E,CAAC;AAED,KAAK,UAAU,kBAAkB;IAC/B,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;IACpC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AACpC,CAAC;AAED,KAAK,UAAU,iBAAiB;IAC9B,MAAM,CAAC,GAAG,cAAc,EAAE,CAAC;IAC3B,IAAI,CAAC,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,mDAAmD,EAAE,CAAC;IACzF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AAC/B,CAAC;AAED,KAAK,UAAU,kBAAkB;IAC/B,MAAM,CAAC,GAAG,eAAe,EAAE,CAAC;IAC5B,IAAI,CAAC,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,0BAA0B,EAAE,CAAC;IAChE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AAC/B,CAAC;AAED,KAAK,UAAU,kBAAkB;IAC/B,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,GAAG,GAAG,YAAY,CAAC;QACzB,IAAI,OAAO,GAA0B,EAAE,CAAC;QACxC,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC;QAC9C,CAAC;QACD,MAAM,QAAQ,GAWT,EAAE,CAAC;QACR,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;gBAAE,SAAS;YACjE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC;YACtE,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;gBACtD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA2C,CAAC;gBACpE,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;gBAC9G,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;gBAC9G,QAAQ,CAAC,IAAI,CAAC;oBACZ,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,GAAG,EAAE,CAAC,CAAC,GAAG;oBACV,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM;oBAC9B,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,QAAQ;oBACR,SAAS;oBACT,YAAY;iBACb,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,6CAA6C;YAC/C,CAAC;QACH,CAAC;QACD,qBAAqB;QACrB,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC;QAE9E,0EAA0E;QAC1E,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC/B,MAAM,UAAU,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC;gBACpE,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzF,MAAM,QAAQ,GAAG,WAAW,GAAG,CAAC;oBAC9B,CAAC,CAAC,4CAA4C,WAAW,aAAa;oBACtE,CAAC,CAAC,uCAAuC,CAAC;gBAC5C,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,4BAA4B,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzF,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC3D,OAAO,gBAAgB,UAAU,KAAK,SAAS,SAAS,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,iBAAiB,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,WAAW,cAAc,QAAQ,OAAO,CAAC;YAC3K,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,MAAM,SAAS,GAAG;;;;;;;;;0DASkC,QAAQ,CAAC,MAAM;MACnE,KAAK;eACI,CAAC;YACV,MAAM,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,SAAS,CAAC,CAAC;QAC/D,CAAC;QAAC,MAAM,CAAC,CAAC,0BAA0B,CAAC,CAAC;QAEtC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,EAAE,CAAC;IACnF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;IAChF,CAAC;AACH,CAAC;AAED,SAAS,MAAM,CAAC,CAAS;IACvB,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC9G,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,MAA+B;IAE/B,MAAM,UAAU,GAAG,MAAM,CAAC,UAAoB,CAAC;IAC/C,MAAM,UAAU,GAAG,MAAM,CAAC,UAAgC,CAAC;IAE3D,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAC;IAE7E,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,GAAG,UAAU,yBAAyB,EAAE,OAAO,CAAC,CAAC;QACxF,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACzC,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE;YAChD,UAAU;YACV,UAAU;YACV,cAAc,EAAE,aAAa,CAAC,OAAO,EAAE;YACvC,cAAc,EAAE,aAAa,CAAC,OAAO,EAAE;SACxC,CAAC,CAAC;QACH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC;IAC5C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,8BAA8B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;IAC9G,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,MAA+B;IAE/B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAA8B,CAAC;IACvD,MAAM,OAAO,GAAG,MAAM,CAAC,OAA6B,CAAC;IACrD,MAAM,SAAS,GAAG,MAAM,CAAC,SAA+B,CAAC;IAEzD,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;QAC1B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,4DAA4D,EAAE,CAAC;IAC5F,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,UAAgC,CAAC;IAC3D,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACvD,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,cAAc,EAAE,aAAa,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;IAE1F,OAAO;QACL,EAAE,EAAE,IAAI;QACR,IAAI,EAAE;YACJ,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;YAC7C,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,cAAc,EAAE,MAAM,CAAC,cAAc;SACtC;KACF,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E,KAAK,UAAU,aAAa,CAC1B,MAAoB,EACpB,MAA+B,EAC/B,GAAW;IAEX,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,MAAM;YACT,OAAO,UAAU,EAAE,CAAC;QACtB,KAAK,UAAU;YACb,OAAO,cAAc,EAAE,CAAC;QAC1B,KAAK,YAAY;YACf,OAAO,gBAAgB,CAAC,MAAqC,EAAE,GAAG,CAAC,CAAC;QACtE,KAAK,uBAAuB;YAC1B,OAAO,0BAA0B,CAAC,MAA+C,EAAE,GAAG,CAAC,CAAC;QAC1F,KAAK,UAAU;YACb,OAAO,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACrC,KAAK,WAAW;YACd,OAAO,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACrC,KAAK,WAAW;YACd,OAAO,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACrC,KAAK,UAAU;YACb,OAAO,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACpC,KAAK,WAAW;YACd,OAAO,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACrC,KAAK,WAAW;YACd,OAAO,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACrC,KAAK,cAAc;YACjB,OAAO,iBAAiB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACxC,KAAK,cAAc;YACjB,OAAO,iBAAiB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACxC,KAAK,aAAa;YAChB,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC/B,KAAK,oBAAoB;YACvB,OAAO,uBAAuB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC9C,KAAK,aAAa;YAChB,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAClC,KAAK,cAAc;YACjB,OAAO,iBAAiB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACxC,KAAK,cAAc;YACjB,OAAO,iBAAiB,EAAE,CAAC;QAC7B,KAAK,eAAe;YAClB,OAAO,kBAAkB,EAAE,CAAC;QAC9B,KAAK,eAAe;YAClB,OAAO,kBAAkB,EAAE,CAAC;QAC9B,KAAK,aAAa;YAChB,OAAO,gBAAgB,EAAE,CAAC;QAC5B,KAAK,eAAe;YAClB,OAAO,kBAAkB,EAAE,CAAC;QAC9B,KAAK,iBAAiB;YACpB,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACtC;YACE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,MAAM,EAAE,EAAE,CAAC;IAC7D,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,GAAoB;IACpC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,MAAM,QAAQ,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,+CAA+C;QAElF,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YAC/B,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC;YACrB,IAAI,IAAI,GAAG,QAAQ,EAAE,CAAC;gBACpB,GAAG,CAAC,OAAO,EAAE,CAAC;gBACd,MAAM,CAAC,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;gBAC5C,OAAO;YACT,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC/D,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,QAAQ,CAAC,GAAmB,EAAE,MAAc,EAAE,IAAoB;IACzE,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAC9D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AAChC,CAAC;AAaD;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,OAA2B;IACrD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;QACtC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;QAE1B,UAAU,GAAG,YAAY,CAAC,KAAK,EAAE,GAAoB,EAAE,GAAmB,EAAE,EAAE;YAC5E,iBAAiB;YACjB,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC7B,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;oBACjB,6BAA6B,EAAE,GAAG;oBAClC,8BAA8B,EAAE,MAAM;oBACtC,8BAA8B,EAAE,6BAA6B;iBAC9D,CAAC,CAAC;gBACH,GAAG,CAAC,GAAG,EAAE,CAAC;gBACV,OAAO;YACT,CAAC;YAED,gEAAgE;YAChE,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;gBACzB,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC;gBAC/B,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;gBAC9D,IAAI,WAAW,EAAE,CAAC;oBAChB,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;oBAC3B,IAAI,CAAC;wBACH,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;wBAC7C,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,cAAc,GAAG,cAAc,EAAE,OAAO,CAAC,CAAC;wBAChF,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,0BAA0B,EAAE,CAAC,CAAC;wBACnE,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBACtB,CAAC;oBAAC,MAAM,CAAC;wBACP,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAC;wBACrD,GAAG,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;oBAC9B,CAAC;oBACD,OAAO;gBACT,CAAC;gBACD,yCAAyC;gBACzC,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;oBAC3B,IAAI,CAAC;wBACH,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;wBAC7C,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;wBACzE,MAAM,QAAQ,GAAG,OAAO;6BACrB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;6BAC7D,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;6BAChB,IAAI,EAAE;6BACN,OAAO,EAAE,CAAC;wBACb,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;wBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;oBAClE,CAAC;oBAAC,MAAM,CAAC;wBACP,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;wBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;oBAC5C,CAAC;oBACD,OAAO;gBACT,CAAC;gBACD,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;gBACtD,OAAO;YACT,CAAC;YAED,2BAA2B;YAC3B,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC1B,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;gBAC/D,OAAO;YACT,CAAC;YAED,wBAAwB;YACxB,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC;YACvC,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,UAAU,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;gBAChD,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;gBACzD,OAAO;YACT,CAAC;YAED,4CAA4C;YAC5C,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC;YAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YAClD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;gBACtD,OAAO;YACT,CAAC;YACD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAiB,CAAC;YAExC,0CAA0C;YAC1C,cAAc,EAAE,CAAC;YAEjB,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACjC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;gBACnC,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;gBAClE,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACnD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvE,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAC;gBAClD,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YACpD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAA4B,EAAE,EAAE;YACtD,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,OAAO,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,yBAAyB;QACzB,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE;YAChD,OAAO,CAAC,KAAK,CAAC,sDAAsD,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YACpF,cAAc,EAAE,CAAC;YACjB,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ;IAC5B,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAE3C,IAAI,SAAS,EAAE,CAAC;QACd,YAAY,CAAC,SAAS,CAAC,CAAC;QACxB,SAAS,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,MAAM,YAAY,EAAE,CAAC;IAErB,IAAI,UAAU,EAAE,CAAC;QACf,UAAU,CAAC,KAAK,EAAE,CAAC;QACnB,UAAU,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,gBAAgB,EAAE,EAAE,CAAC;AACvB,CAAC"}
@@ -25,6 +25,8 @@ export interface ActionEntry {
25
25
  }
26
26
  export interface SessionManifest {
27
27
  sessionId: string;
28
+ /** Optional human-friendly label set via `record start --label "..."`. */
29
+ label?: string;
28
30
  /** Target app URL that was recorded */
29
31
  url?: string;
30
32
  /** Git branch at time of recording */
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/daemon/session.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,MAAM,WAAW,WAAW;IAC1B,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,WAAW,CAAC,EAAE;QACZ,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/daemon/session.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,MAAM,WAAW,WAAW;IAC1B,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,WAAW,CAAC,EAAE;QACZ,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"summary.d.ts","sourceRoot":"","sources":["../../src/daemon/summary.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAe,MAAM,cAAc,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAMjE,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,0DAA0D;IAC1D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,eAAe,CAAC;IAC1B,cAAc,CAAC,EAAE,YAAY,EAAE,CAAC;IAChC,cAAc,CAAC,EAAE,YAAY,EAAE,CAAC;IAChC,YAAY,CAAC,EAAE,aAAa,EAAE,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAkKD;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAW/D"}
1
+ {"version":3,"file":"summary.d.ts","sourceRoot":"","sources":["../../src/daemon/summary.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAe,MAAM,cAAc,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAMjE,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,0DAA0D;IAC1D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,eAAe,CAAC;IAC1B,cAAc,CAAC,EAAE,YAAY,EAAE,CAAC;IAChC,cAAc,CAAC,EAAE,YAAY,EAAE,CAAC;IAChC,YAAY,CAAC,EAAE,aAAa,EAAE,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAkND;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAW/D"}