@scalebun/web 1.3.0 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,6 +2,7 @@ import { uuid, now } from '../../../core/index.js';
2
2
  import { PersistentBuffer } from '../../../storage/idb.js';
3
3
  import { capBytes, PERSIST_MAX_BYTES } from '../../../core/prune.js';
4
4
  import { approxBytes } from './segmentBuffer.js';
5
+ import { DeltaBatcher } from './deltaBatcher.js';
5
6
  import { AdaptiveController, adapt } from './adaptive.js';
6
7
  import { redactFrame } from './pii.js';
7
8
  import { shouldDeferHeavyEgress } from './deviceSignals.js';
@@ -27,6 +28,30 @@ const KEYFRAME_INTERVAL_MS = 30000; // periodic checkpoint cadence (also drains
27
28
  // B1: even on a genuinely idle page, force a keyframe at least this often so a long session keeps a
28
29
  // recent checkpoint (durable crash-mirror freshness + backend retention windows stay seekable).
29
30
  const MAX_IDLE_KEYFRAME_MS = 5 * 60000;
31
+ // Packaging window for the DOM lane (mutations + CSSOM + iframe ops, via DeltaBatcher): producers keep
32
+ // their capture cadence, frames ship at most every this-many ms. Caps the worst case (a 60fps DOM
33
+ // animation) at ~10 frames/sec instead of 60 — no ops are lost, only the envelopes.
34
+ const DELTA_BATCH_MS = 100;
35
+ // Move-only interaction batches pool this long before shipping (clicks flush them instantly — see
36
+ // InteractionRecorder.queue). ~3 cursor frames/sec instead of 10 during continuous movement.
37
+ const MOVE_FLUSH_MS = 300;
38
+ /** Attribute a frame to the producer lane it came from (for the stats counters). */
39
+ function classifyFrame(frame) {
40
+ if (frame.frameType === 'keyframe')
41
+ return 'keyframe';
42
+ const muts = frame.mutations;
43
+ if (muts?.length)
44
+ return muts.every((m) => m.op === 'canvas') ? 'canvas' : 'mutation';
45
+ const events = frame.events;
46
+ if (events?.length) {
47
+ if (events.some((e) => e.k === 'click' || e.k === 'deadclick' || e.k === 'input'))
48
+ return 'interaction';
49
+ if (events.some((e) => e.k === 'scroll' || e.k === 'viewport'))
50
+ return 'scroll';
51
+ return 'move';
52
+ }
53
+ return 'other';
54
+ }
30
55
  export async function createRecorder(ctx, decision) {
31
56
  const c = new RecorderController(ctx, decision);
32
57
  await c.init();
@@ -69,6 +94,7 @@ export class RecorderController {
69
94
  this.streamChainFrames = 0;
70
95
  this.pendingEncodes = new Set();
71
96
  this.shed = 0; // delta frames dropped by adaptive quality (for stats in M7)
97
+ this.producerCounts = {};
72
98
  this.redactPII = false; // strict privacy on UNMASKED replay (M8)
73
99
  this.paused = false; // runtime pause() — capture disarmed, session/buffer retained
74
100
  this.streaming = decision.streamFromStart; // 'sampled'/'always' → emit live from frame 0
@@ -100,6 +126,7 @@ export class RecorderController {
100
126
  bufferBytes: b?.totalBytes ?? 0,
101
127
  droppedSegments: b?.dropped ?? 0,
102
128
  shedFrames: this.shed,
129
+ producers: Object.fromEntries(Object.entries(this.producerCounts).map(([k, v]) => [k, { ...v }])),
103
130
  };
104
131
  }
105
132
  /** Force a re-keyframe (e.g. ScaleBun.replay.checkpoint() before a risky flow). */
@@ -183,20 +210,31 @@ export class RecorderController {
183
210
  this.persistPreRoll(); // make the very first pre-roll durable too (before the 1st checkpoint)
184
211
  this.dirtySinceKeyframe = false; // B1: fresh keyframe = clean baseline
185
212
  this.lastKeyframeAt = now();
213
+ // The DOM lane's single packaging point: mutation/CSSOM/iframe producers keep their capture
214
+ // cadence but append ops HERE; one delta frame ships per DELTA_BATCH_MS window (ops in arrival
215
+ // order, so DOM and CSSOM changes from the same tick share one envelope).
216
+ const batcher = new DeltaBatcher(DELTA_BATCH_MS, (mutations) => this.push(this.delta({ mutations })));
217
+ this.deltaBatcher = batcher;
186
218
  const interactions = new InteractionRecorder(reg, (events) => {
187
219
  this.push(this.delta({ events }));
188
- }, { maskText: !!snapOpts.maskAllText });
220
+ }, {
221
+ maskText: !!snapOpts.maskAllText, // click labels omit page text when replay text is masked
222
+ moveFlushMs: MOVE_FLUSH_MS,
223
+ // A click frame flushes synchronously; drain the DOM lane first so a click on a just-added
224
+ // node never ships before the mutation that adds it.
225
+ beforeImmediateFlush: () => batcher.flush(),
226
+ });
189
227
  const recorder = new MutationRecorder(reg, (mutations) => {
190
- interactions.notifyDomActivity(); // a real DOM change → not a dead click
191
- this.push(this.delta({ mutations }));
228
+ interactions.notifyDomActivity(); // a real DOM change → not a dead click (never delayed by batching)
229
+ batcher.append(mutations);
192
230
  }, snapOpts);
193
231
  const cssom = new CssomRecorder(reg, (mutations) => {
194
232
  interactions.notifyDomActivity(); // a style change is a real visual effect, not a dead click
195
- this.push(this.delta({ mutations }));
233
+ batcher.append(mutations);
196
234
  });
197
235
  const iframes = new IframeManager(reg, (mutations) => {
198
236
  interactions.notifyDomActivity();
199
- this.push(this.delta({ mutations }));
237
+ batcher.append(mutations);
200
238
  }, snapOpts, {
201
239
  onFrame: (doc, getOffset) => interactions.observeFrame(doc, getOffset),
202
240
  onUnframe: (doc) => interactions.unobserveFrame(doc),
@@ -240,6 +278,17 @@ export class RecorderController {
240
278
  * state, WITHOUT touching the segment buffer / crash-mirror / encoder / session (those survive a
241
279
  * pause). The inverse of `arm()`; shared by pause() and teardown(). Idempotent. */
242
280
  disarm() {
281
+ // Drain captured-but-unpackaged work BEFORE disconnecting (disconnect drops producer queues):
282
+ // pending ops become a final delta frame, so a pause/teardown never loses observed changes.
283
+ try {
284
+ this.mutationRec?.flush();
285
+ this.cssomRec?.flush();
286
+ this.deltaBatcher?.dispose();
287
+ }
288
+ catch {
289
+ /* best-effort tail drain */
290
+ }
291
+ this.deltaBatcher = undefined;
243
292
  this.disconnectRecorder?.();
244
293
  this.disconnectInteractions?.();
245
294
  this.disconnectCssom?.();
@@ -311,6 +360,7 @@ export class RecorderController {
311
360
  };
312
361
  }
313
362
  push(frame) {
363
+ var _a;
314
364
  // B1: any delta (even one later shed by adaptive quality) means the page changed since the last
315
365
  // keyframe → the next 'time' checkpoint must actually re-snapshot.
316
366
  if (frame.frameType === 'delta')
@@ -328,6 +378,12 @@ export class RecorderController {
328
378
  }
329
379
  frame = adapted;
330
380
  }
381
+ // Per-producer attribution of everything that actually ships/buffers (post-shed) — the
382
+ // measurement the flush-policy tuning is judged against.
383
+ const producer = classifyFrame(frame);
384
+ const pc = ((_a = this.producerCounts)[producer] ?? (_a[producer] = { frames: 0, bytes: 0 }));
385
+ pc.frames++;
386
+ pc.bytes += approxBytes(frame);
331
387
  if (this.streaming) {
332
388
  this.ctx.emit(frame);
333
389
  // R0.6: bound the LIVE delta chain the same way the buffered path bounds an open segment — force a
@@ -362,15 +418,24 @@ export class RecorderController {
362
418
  checkpoint(reason) {
363
419
  if (this.checkpointing || !this.reg || !this.takeSnapshotFn || typeof document === 'undefined')
364
420
  return;
365
- // B1: the periodic 'time' checkpoint is a no-op on a genuinely idle page — skip the redundant full
366
- // re-snapshot when nothing changed since the last keyframe (bounded by MAX_IDLE_KEYFRAME_MS). Every
367
- // other reason (visible / url / segment-* / manual) always re-keyframes.
368
- if (reason === 'time' && !this.dirtySinceKeyframe && now() - this.lastKeyframeAt < MAX_IDLE_KEYFRAME_MS)
369
- return;
370
421
  this.checkpointing = true;
371
422
  try {
423
+ // Drain producers + the DOM batcher FIRST, for two reasons: pending ops must ship as deltas
424
+ // against the OLD keyframe (they describe changes the new snapshot will already contain), and
425
+ // the idle check below is only honest after the drain — a hidden-tab pile that hasn't been
426
+ // packaged yet still counts as "the page changed".
372
427
  this.mutationRec?.flush();
373
428
  this.cssomRec?.flush();
429
+ this.deltaBatcher?.flush();
430
+ // B1: the periodic 'time' checkpoint — and a tab-return 'visible' — are no-ops on a genuinely
431
+ // idle page: skip the redundant full re-snapshot when nothing changed since the last keyframe
432
+ // (bounded by MAX_IDLE_KEYFRAME_MS). Alt-tabbing used to cost a full DOM snapshot per return.
433
+ // url / segment-* / manual always re-keyframe.
434
+ if ((reason === 'time' || reason === 'visible') &&
435
+ !this.dirtySinceKeyframe &&
436
+ now() - this.lastKeyframeAt < MAX_IDLE_KEYFRAME_MS) {
437
+ return;
438
+ }
374
439
  const snapshot = this.takeSnapshotFn(document, this.reg, this.snapOpts);
375
440
  const id = `f_${uuid()}`;
376
441
  this.keyframeId = id;
@@ -476,6 +541,7 @@ export class RecorderController {
476
541
  flush() {
477
542
  this.mutationRec?.flush();
478
543
  this.cssomRec?.flush();
544
+ this.deltaBatcher?.flush(); // package the drained ops before the pre-roll ships
479
545
  if (this.segBuf)
480
546
  for (const f of this.segBuf.drainFrames())
481
547
  this.ctx.emit(f);
@@ -1 +1 @@
1
- {"version":3,"file":"recorder.js","sourceRoot":"","sources":["../../../../src/features/replay/lifecycle/recorder.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAM9D,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE1E,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAC/B,MAAM,iBAAiB,GAAG,MAAO,CAAC,CAAC,+DAA+D;AAClG,MAAM,YAAY,GAAG,CAAC,CAAC,CAAC,8DAA8D;AACtF;;;;;;;;;;;GAWG;AACH,MAAM,gBAAgB,GAAG,iBAAiB,CAAC;AAC3C,MAAM,oBAAoB,GAAG,KAAM,CAAC,CAAC,gEAAgE;AACrG,oGAAoG;AACpG,gGAAgG;AAChG,MAAM,oBAAoB,GAAG,CAAC,GAAG,KAAM,CAAC;AAkCxC,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAmB,EAAE,QAAwB;IAChF,MAAM,CAAC,GAAG,IAAI,kBAAkB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAChD,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IACf,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,OAAO,kBAAkB;IAC7B,6FAA6F;IACrF,OAAO;QACb,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACjB,OAAO,CAAC,CAAC;IACX,CAAC;IAuDD,YACmB,GAAmB,EACnB,QAAwB;QADxB,QAAG,GAAH,GAAG,CAAgB;QACnB,aAAQ,GAAR,QAAQ,CAAgB;QAvDnC,WAAM,GAAG,KAAK,CAAC;QAEvB;;;;;;;;WAQG;QACK,QAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QACpB,eAAU,GAAG,EAAE,CAAC;QAChB,kBAAa,GAAG,KAAK,CAAC;QAC9B,gGAAgG;QAChG,qGAAqG;QACrG,sEAAsE;QAC9D,uBAAkB,GAAG,KAAK,CAAC;QAC3B,mBAAc,GAAG,CAAC,CAAC;QAC3B,uGAAuG;QACvG,uGAAuG;QACvG,uGAAuG;QACvG,wGAAwG;QACxG,+DAA+D;QACvD,qBAAgB,GAAG,CAAC,CAAC;QACrB,sBAAiB,GAAG,CAAC,CAAC;QAQb,mBAAc,GAAG,IAAI,GAAG,EAAiB,CAAC;QAEnD,SAAI,GAAG,CAAC,CAAC,CAAC,6DAA6D;QAKvE,cAAS,GAAG,KAAK,CAAC,CAAC,yCAAyC;QAC5D,WAAM,GAAG,KAAK,CAAC,CAAC,8DAA8D;QAgBpF,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC,8CAA8C;QACzF,kGAAkG;QAClG,iGAAiG;QACjG,IAAI,IAAI,CAAC,SAAS,IAAI,sBAAsB,EAAE,EAAE,CAAC;YAC/C,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,GAAG,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,aAAa,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,0BAA0B;QACvG,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,cAAc,IAAI,KAAK,CAAC,CAAC,0EAA0E;IACzH,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,wBAAwB;IACxB,KAAK;QACH,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QACtB,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM;YACtC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;YAClC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;YAClC,YAAY,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC;YACvC,QAAQ,EAAE,CAAC,EAAE,YAAY,IAAI,CAAC;YAC9B,MAAM,EAAE,CAAC,EAAE,UAAU,IAAI,CAAC;YAC1B,QAAQ,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI;YACjC,WAAW,EAAE,CAAC,EAAE,UAAU,IAAI,CAAC;YAC/B,eAAe,EAAE,CAAC,EAAE,OAAO,IAAI,CAAC;YAChC,UAAU,EAAE,IAAI,CAAC,IAAI;SACtB,CAAC;IACJ,CAAC;IAED,mFAAmF;IACnF,eAAe,CAAC,MAAc;QAC5B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED;uGACmG;IACnG,KAAK,CAAC,IAAI;QACR,MAAM,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC/D,MAAM,CAAC,wBAAwB,CAAC;YAChC,MAAM,CAAC,iBAAiB,CAAC;SAC1B,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;QAEhE,8FAA8F;QAC9F,iGAAiG;QACjG,2FAA2F;QAC3F,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,WAAW,GAAG,IAAI,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;YAC1D,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACjC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9B,CAAC;QAED,8FAA8F;QAC9F,IAAI,CAAC,OAAO,GAAG,IAAI,aAAa,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;QAEpD,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QAEjB,mGAAmG;QACnG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,GAAG;QACf,IAAI,OAAO,QAAQ,KAAK,WAAW;YAAE,OAAO;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACrB,MAAM,CACJ,EAAE,YAAY,EAAE,EAChB,EAAE,YAAY,EAAE,EAChB,EAAE,gBAAgB,EAAE,EACpB,EAAE,mBAAmB,EAAE,EACvB,EAAE,aAAa,EAAE,EACjB,EAAE,aAAa,EAAE,EAClB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACpB,MAAM,CAAC,wBAAwB,CAAC;YAChC,MAAM,CAAC,oBAAoB,CAAC;YAC5B,MAAM,CAAC,qBAAqB,CAAC;YAC7B,MAAM,CAAC,wBAAwB,CAAC;YAChC,MAAM,CAAC,iBAAiB,CAAC;YACzB,uFAAuF;YACvF,yFAAyF;YACzF,MAAM,CAAC,kBAAkB,CAAC;SAC3B,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,IAAI,YAAY,EAAE,CAAC;QAC/B,wHAAwH;QACxH,oFAAoF;QACpF,MAAM,QAAQ,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,CAAC,UAAU,IAAI,IAAI,EAAE,aAAa,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC;QACzH,qGAAqG;QACrG,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,cAAc,EAAE,YAAY,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;QACxF,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,cAAc,GAAG,YAAY,CAAC;QACnC,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QACvD,IAAI,CAAC,UAAU,GAAG,KAAK,IAAI,EAAE,EAAE,CAAC;QAEhC,oGAAoG;QACpG,kGAAkG;QAClG,MAAM,QAAQ,GAAG;YACf,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,UAAU;YACrB,OAAO,EAAE,IAAI,CAAC,UAAU;YACxB,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE;YACnB,QAAQ;YACR,QAAQ,EAAE,QAAQ,EAAE;YACpB,IAAI,EAAE,IAAI,EAAE;YACZ,KAAK,EAAE,QAAQ,EAAE;YACjB,MAAM,EAAE,SAAS,EAAE;YACnB,KAAK,EAAE,QAAQ,EAAE;YACjB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,GAAG,EAAE;SACJ,CAAC;QACf,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpB,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACzC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,uEAAuE;QAC9F,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,CAAC,sCAAsC;QACvE,IAAI,CAAC,cAAc,GAAG,GAAG,EAAE,CAAC;QAE5B,MAAM,YAAY,GAAG,IAAI,mBAAmB,CAC1C,GAAG,EACH,CAAC,MAAM,EAAE,EAAE;YACT,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QACpC,CAAC,EACD,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CACrC,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CACnC,GAAG,EACH,CAAC,SAAS,EAAE,EAAE;YACZ,YAAY,CAAC,iBAAiB,EAAE,CAAC,CAAC,uCAAuC;YACzE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QACvC,CAAC,EACD,QAAQ,CACT,CAAC;QACF,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,EAAE;YACjD,YAAY,CAAC,iBAAiB,EAAE,CAAC,CAAC,2DAA2D;YAC7F,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,IAAI,aAAa,CAC/B,GAAG,EACH,CAAC,SAAS,EAAE,EAAE;YACZ,YAAY,CAAC,iBAAiB,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QACvC,CAAC,EACD,QAAQ,EACR;YACE,OAAO,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC;YACtE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,GAAG,CAAC;YACpD,YAAY,EAAE,GAAG,CAAC,kBAAkB,IAAI,EAAE;SAC3C,CACF,CAAC;QAEF,IAAI,CAAC,GAAG,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;YAC1C,KAAK,MAAM,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,qBAAqB,EAAE,EAAE,EAAE;gBACtE,IAAI,CAAC,kBAAkB,GAAG,qBAAqB,CAAC,GAAG,CAAC,kBAAkB,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC;YAC1F,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QAC3C,YAAY,CAAC,OAAO,EAAE,CAAC;QACvB,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,IAAI,CAAC,kBAAkB,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QACtD,IAAI,CAAC,sBAAsB,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;QAC9D,IAAI,CAAC,eAAe,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QAChD,IAAI,CAAC,iBAAiB,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QAEpD,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;YACrB,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;YAC5D,MAAM,MAAM,GAAG,IAAI,cAAc,CAC/B,GAAG,EACH,CAAC,SAAS,EAAE,EAAE;gBACZ,YAAY,CAAC,iBAAiB,EAAE,CAAC;gBACjC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;YACvC,CAAC,EACD,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CACxB,CAAC;YACF,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,gBAAgB,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QACpD,CAAC;QAED,6FAA6F;QAC7F,gEAAgE;QAChE,IAAI,CAAC,QAAQ,GAAG,IAAI,kBAAkB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAE1D,+EAA+E;QAC/E,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;QACrD,IAAI,CAAC,iBAAiB,GAAG,cAAc,CAAC;YACtC,kBAAkB,EAAE,oBAAoB;YACxC,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;SAClD,CAAC,CAAC;IACL,CAAC;IAED;;wFAEoF;IAC5E,MAAM;QACZ,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;QAC5B,IAAI,CAAC,sBAAsB,EAAE,EAAE,CAAC;QAChC,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;QACzB,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;QAC1B,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;QAC3B,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;QAC5B,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;QAC3B,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;QACzB,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;QACpC,IAAI,CAAC,sBAAsB,GAAG,SAAS,CAAC;QACxC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACjC,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QAClC,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;QACnC,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;QACpC,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC1B,8FAA8F;QAC9F,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;IAC5B,CAAC;IAED,+EAA+E;IAC/E;2CACuC;IACvC,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxC,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAClC,CAAC;IAED;4FACwF;IACxF,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED;6GACyG;IACzG,UAAU,CAAC,MAAiC;QAC1C,IAAI,OAAO,MAAM,EAAE,WAAW,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC7F,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC;QACnC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,oCAAoC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrE,CAAC;IAED,wDAAwD;IAChD,KAAK,CAAC,OAAsD;QAClE,OAAO;YACL,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,OAAO;YAClB,OAAO,EAAE,KAAK,IAAI,EAAE,EAAE;YACtB,WAAW,EAAE,IAAI,CAAC,UAAU;YAC5B,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE;YACnB,GAAG,OAAO;YACV,KAAK,EAAE,QAAQ,EAAE;YACjB,MAAM,EAAE,SAAS,EAAE;YACnB,KAAK,EAAE,QAAQ,EAAE;YACjB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,GAAG,EAAE;SACJ,CAAC;IACjB,CAAC;IAEO,IAAI,CAAC,KAAgB;QAC3B,gGAAgG;QAChG,mEAAmE;QACnE,IAAI,KAAK,CAAC,SAAS,KAAK,OAAO;YAAE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAChE,kGAAkG;QAClG,IAAI,IAAI,CAAC,SAAS;YAAE,WAAW,CAAC,KAAK,CAAC,CAAC;QACvC,iGAAiG;QACjG,4EAA4E;QAC5E,IAAI,KAAK,CAAC,SAAS,KAAK,OAAO,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;YAC5E,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAClD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,IAAI,CAAC,IAAI,EAAE,CAAC;gBACZ,OAAO;YACT,CAAC;YACD,KAAK,GAAG,OAAO,CAAC;QAClB,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,mGAAmG;YACnG,sGAAsG;YACtG,IAAI,KAAK,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;gBAChC,IAAI,CAAC,gBAAgB,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC;gBAC5C,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,IACE,CAAC,IAAI,CAAC,aAAa;oBACnB,CAAC,IAAI,CAAC,iBAAiB,IAAI,kBAAkB,IAAI,IAAI,CAAC,gBAAgB,IAAI,iBAAiB,CAAC,EAC5F,CAAC;oBACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,IAAI,iBAAiB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;gBACnG,CAAC;YACH,CAAC;YACD,OAAO;QACT,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;QACxB,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,IAAI,KAAK,CAAC,SAAS,KAAK,UAAU;YAAE,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;;YACtD,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvB,iGAAiG;QACjG,gGAAgG;QAChG,IACE,CAAC,IAAI,CAAC,aAAa;YACnB,KAAK,CAAC,SAAS,KAAK,OAAO;YAC3B,CAAC,GAAG,CAAC,iBAAiB,IAAI,kBAAkB,IAAI,GAAG,CAAC,YAAY,IAAI,iBAAiB,CAAC,EACtF,CAAC;YACD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,IAAI,iBAAiB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC;IAED;2GACuG;IAC/F,UAAU,CAAC,MAAc;QAC/B,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,OAAO,QAAQ,KAAK,WAAW;YAAE,OAAO;QACvG,mGAAmG;QACnG,oGAAoG;QACpG,yEAAyE;QACzE,IAAI,MAAM,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,IAAI,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,GAAG,oBAAoB;YAAE,OAAO;QAChH,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC;YACH,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC;YAC1B,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxE,MAAM,EAAE,GAAG,KAAK,IAAI,EAAE,EAAE,CAAC;YACzB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,8CAA8C;YACzE,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;YAC3B,MAAM,QAAQ,GAAG;gBACf,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,KAAK;gBACf,SAAS,EAAE,UAAU;gBACrB,OAAO,EAAE,EAAE;gBACX,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE;gBACnB,QAAQ;gBACR,QAAQ,EAAE,QAAQ,EAAE;gBACpB,IAAI,EAAE,IAAI,EAAE;gBACZ,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,MAAM;gBACf,SAAS,EAAE,GAAG,EAAE;aACJ,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACpB,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACzC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,sDAAsD;YAC7E,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,CAAC,8CAA8C;YAC/E,IAAI,CAAC,cAAc,GAAG,GAAG,EAAE,CAAC;QAC9B,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,8EAA8E;IACtE,KAAK,CAAC,mBAAmB;QAC/B,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO;QAC9B,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAgB,CAAC;YAC5D,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACvC,IAAI,MAAM,GAAG,CAAC,CAAC;gBACf,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;oBACrB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,sDAAsD;oBACxE,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;gBACxC,CAAC;gBACD,4FAA4F;gBAC5F,6FAA6F;gBAC7F,6CAA6C;gBAC7C,IAAI,CAAC,GAAG,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACxC,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;YACjC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,sCAAsC;QACxC,CAAC;IACH,CAAC;IAED;;;4DAGwD;IAChD,cAAc;QACpB,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAChE,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,CACxB,QAAQ,CACN,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EACzB,GAAG,EAAE,CAAC,IAAI,EACV,CAAC,CAAC,EAAE,EAAE,CAAE,CAA4B,CAAC,SAAS,KAAK,UAAU,CAC9D,CACF,CAAC;IACJ,CAAC;IAEO,oBAAoB;QAC1B,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAO;QAC1C,gGAAgG;QAChG,qEAAqE;QACrE,IAAI,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC;QACvD,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACrD,kGAAkG;QAClG,iGAAiG;QACjG,iGAAiG;QACjG,mDAAmD;QACnD,IAAI,CAAC,WAAW,GAAG,GAAG,EAAE;YACtB,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,QAAQ,CAAC,eAAe,KAAK,QAAQ;gBAAE,IAAI,CAAC,cAAc,EAAE,CAAC;QACtG,CAAC,CAAC;QACF,IAAI,OAAO,QAAQ,KAAK,WAAW;YAAE,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACvG,CAAC;IAED;;;;;OAKG;IACK,eAAe,CAAC,KAAgB,EAAE,QAAiB;QACzD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;QACzB,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,MAAM,CAAC,GAAG,GAAG;aACV,cAAc,CAAC,QAAQ,CAAC;aACxB,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YACX,KAAgC,CAAC,QAAQ,GAAG,GAAG,CAAC;QACnD,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE;YACV,sCAAsC;QACxC,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QACL,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,+FAA+F;IAC/F,KAAK;QACH,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,MAAM;YAAE,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;gBAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7E,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,KAAK,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,mEAAmE;IACrG,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,0EAA0E;QACzF,wDAAwD;QACxD,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,UAAU,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9G,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,IAAI,CAAC,WAAW,IAAI,OAAO,QAAQ,KAAK,WAAW;YAAE,QAAQ,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5H,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QAC7B,KAAK,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,+CAA+C;QAC/E,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QAC7B,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,wDAAwD;QACrF,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;CACF;AAED,SAAS,QAAQ;IACf,IAAI,CAAC;QACH,OAAO,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9G,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,IAAI;IACX,IAAI,CAAC;QACH,OAAO,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACrE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"recorder.js","sourceRoot":"","sources":["../../../../src/features/replay/lifecycle/recorder.ts"],"names":[],"mappings":"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"}