@kradle/challenges-sdk 0.23.0 → 0.25.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 (54) hide show
  1. package/CHANGELOG.md +40 -1
  2. package/LLM_README.md +49 -13
  3. package/README.md +57 -0
  4. package/dist/engine.d.ts +2 -1
  5. package/dist/engine.d.ts.map +1 -1
  6. package/dist/engine.js +4 -1
  7. package/dist/engine.js.map +1 -1
  8. package/dist/index.d.ts +3 -2
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +4 -1
  11. package/dist/index.js.map +1 -1
  12. package/dist/runtime/builder.d.ts.map +1 -1
  13. package/dist/runtime/builder.js +25 -6
  14. package/dist/runtime/builder.js.map +1 -1
  15. package/dist/runtime/chat.js.map +1 -1
  16. package/dist/runtime/dialog.js.map +1 -1
  17. package/dist/runtime/dimensions.d.ts +24 -0
  18. package/dist/runtime/dimensions.d.ts.map +1 -0
  19. package/dist/runtime/dimensions.js +47 -0
  20. package/dist/runtime/dimensions.js.map +1 -0
  21. package/dist/runtime/errors.d.ts.map +1 -1
  22. package/dist/runtime/errors.js.map +1 -1
  23. package/dist/runtime/reducer.d.ts.map +1 -1
  24. package/dist/runtime/reducer.js +133 -28
  25. package/dist/runtime/reducer.js.map +1 -1
  26. package/dist/runtime/rules.d.ts.map +1 -1
  27. package/dist/runtime/rules.js.map +1 -1
  28. package/dist/runtime/sandbox-registry.js.map +1 -1
  29. package/dist/runtime/sandbox.d.ts.map +1 -1
  30. package/dist/runtime/sandbox.js.map +1 -1
  31. package/dist/runtime/time.d.ts.map +1 -1
  32. package/dist/runtime/time.js.map +1 -1
  33. package/dist/runtime/types.d.ts +41 -5
  34. package/dist/runtime/types.d.ts.map +1 -1
  35. package/dist/runtime/types.js.map +1 -1
  36. package/dist/runtime/wire.d.ts +43 -1
  37. package/dist/runtime/wire.d.ts.map +1 -1
  38. package/dist/runtime/wire.js +1 -0
  39. package/dist/runtime/wire.js.map +1 -1
  40. package/dist/runtime/world.d.ts +13 -4
  41. package/dist/runtime/world.d.ts.map +1 -1
  42. package/dist/runtime/world.js +40 -25
  43. package/dist/runtime/world.js.map +1 -1
  44. package/dist/structures.d.ts.map +1 -1
  45. package/dist/structures.js +3 -1
  46. package/dist/structures.js.map +1 -1
  47. package/dist/test/harness.d.ts +7 -2
  48. package/dist/test/harness.d.ts.map +1 -1
  49. package/dist/test/harness.js +51 -14
  50. package/dist/test/harness.js.map +1 -1
  51. package/dist/test/helpers.d.ts.map +1 -1
  52. package/dist/test/helpers.js +2 -1
  53. package/dist/test/helpers.js.map +1 -1
  54. package/package.json +5 -4
@@ -7,6 +7,7 @@ exports.sandboxed = sandboxed;
7
7
  // and that the state survives a JSON round trip. No test framework dependency: it
8
8
  // throws plain errors, so it runs under node:test, vitest, bun test or jest.
9
9
  const node_fs_1 = require("node:fs");
10
+ const dimensions_js_1 = require("../runtime/dimensions.js");
10
11
  const sandbox_registry_js_1 = require("../runtime/sandbox-registry.js");
11
12
  const time_js_1 = require("../runtime/time.js");
12
13
  const wire_js_1 = require("../runtime/wire.js");
@@ -24,6 +25,18 @@ function attachDerived(state) {
24
25
  }
25
26
  return state;
26
27
  }
28
+ function freezeWorld(value) {
29
+ if (value === null || typeof value !== "object")
30
+ return;
31
+ for (const child of Object.values(value))
32
+ freezeWorld(child);
33
+ Object.freeze(value);
34
+ }
35
+ function copyWorld(world) {
36
+ const copy = JSON.parse(JSON.stringify(world));
37
+ freezeWorld(copy);
38
+ return copy;
39
+ }
27
40
  /** JSON with sorted keys, so key order never counts as a difference. */
28
41
  const canonical = (v) => JSON.stringify(v, (_k, x) => x && typeof x === "object" && !Array.isArray(x) ? Object.fromEntries(Object.entries(x).sort()) : x);
29
42
  exports.canonical = canonical;
@@ -96,7 +109,8 @@ class Game {
96
109
  constructor(challenge, state) {
97
110
  this.challenge = challenge;
98
111
  requireBundleUnderTheCommand(challenge);
99
- this.current = attachDerived(state ?? challenge.init());
112
+ const initial = state ?? challenge.init();
113
+ this.current = attachDerived({ ...initial, world: copyWorld(initial.world) });
100
114
  this.origin = JSON.stringify(this.current);
101
115
  }
102
116
  /** The shared challenge data (`g.state` in a rule). */
@@ -128,13 +142,22 @@ class Game {
128
142
  }
129
143
  /** One reduction. Asserts that `reduce` did not mutate its input. */
130
144
  dispatch(event) {
131
- const before = JSON.stringify(this.current);
145
+ const { world, ...rest } = this.current;
146
+ const before = JSON.stringify(rest);
132
147
  const a = this.challenge.reduce(this.current, event);
133
- assertEqual(JSON.stringify(this.current), before, "reduce() mutated its input state");
148
+ const { world: afterWorld, ...after } = this.current;
149
+ if (afterWorld !== world)
150
+ throw new Error("reduce() mutated its input world");
151
+ assertEqual(JSON.stringify(after), before, "reduce() mutated its input state");
134
152
  // The arena posts the actions to its main thread: a value the structured clone refuses (a Proxy
135
153
  // view, a function) would kill the run there, so the harness refuses it here.
136
154
  structuredClone(a.actions);
137
- this.current = attachDerived(JSON.parse(JSON.stringify(a.state))); // a checkpoint is a JSON string
155
+ // The world copy is deeply frozen. Unchanged ticks can reuse it without a full JSON round trip.
156
+ const { world: nextWorld, ...next } = a.state;
157
+ this.current = attachDerived({
158
+ ...JSON.parse(JSON.stringify(next)),
159
+ world: nextWorld === world ? world : copyWorld(nextWorld),
160
+ });
138
161
  this.log.push(event);
139
162
  this.last = a.actions;
140
163
  this.actions.push(...a.actions);
@@ -278,18 +301,25 @@ class Game {
278
301
  }
279
302
  sections.push({ y: base, palette: ["minecraft:air", block], data });
280
303
  }
281
- out.push(...this.dispatch({ type: "chunk", x: cx, z: cz, minY, sections }));
304
+ out.push(...this.dispatch({
305
+ type: "chunk",
306
+ ...(lo.dimension ? { dimension: lo.dimension } : {}),
307
+ x: cx,
308
+ z: cz,
309
+ minY,
310
+ sections,
311
+ }));
282
312
  }
283
313
  }
284
314
  return out;
285
315
  }
286
316
  /** Loads an all-air chunk column at chunk coordinates (`cx`, `cz`). */
287
- loadChunk(cx, cz, minY = -64) {
288
- return this.dispatch({ type: "chunk", x: cx, z: cz, minY, sections: [] });
317
+ loadChunk(cx, cz, minY = -64, dimension) {
318
+ return this.dispatch({ type: "chunk", ...(dimension ? { dimension } : {}), x: cx, z: cz, minY, sections: [] });
289
319
  }
290
320
  /** The engine unloaded a chunk: its blocks and containers leave the mirror. */
291
- unloadChunk(cx, cz) {
292
- return this.dispatch({ type: "chunk_unloaded", x: cx, z: cz });
321
+ unloadChunk(cx, cz, dimension) {
322
+ return this.dispatch({ type: "chunk_unloaded", ...(dimension ? { dimension } : {}), x: cx, z: cz });
293
323
  }
294
324
  /** Blocks changed on the server, by anyone or anything. */
295
325
  setBlocks(changes) {
@@ -345,7 +375,7 @@ class Game {
345
375
  * chunk must be loaded. The harness sends the delta from the NBT the mirror holds, as the server does.
346
376
  */
347
377
  blockNbt(at, nbt) {
348
- const prev = this.current.world.blockNbt[`${Math.floor(at.x)},${Math.floor(at.y)},${Math.floor(at.z)}`];
378
+ const prev = this.current.world.blockNbt[(0, dimensions_js_1.positionKey)(at)];
349
379
  const d = nbt === null || !prev ? nbt : (0, world_js_1.nbtDelta)(prev, nbt);
350
380
  if (d === undefined)
351
381
  return [];
@@ -365,7 +395,7 @@ class Game {
365
395
  * `initial` marks the first snapshot (no handler fires); `removed` reports the block gone.
366
396
  */
367
397
  container(at, items, opts = {}) {
368
- const key = `${Math.floor(at.x)},${Math.floor(at.y)},${Math.floor(at.z)}`;
398
+ const key = (0, dimensions_js_1.positionKey)(at);
369
399
  const known = Object.keys(this.current.containers[key]?.slots ?? {});
370
400
  const slots = [];
371
401
  let slot = 0;
@@ -487,6 +517,13 @@ class Game {
487
517
  }
488
518
  return out;
489
519
  }
520
+ /** Where each human goes when the run ends (`g.sendToChallenge`): the last call per player, by name. */
521
+ sends() {
522
+ const out = {};
523
+ for (const send of this.all("send_to_challenge"))
524
+ out[send.player] = send;
525
+ return out;
526
+ }
490
527
  /**
491
528
  * The same log through the same challenge instance, from the state this game
492
529
  * started with (`init()`, or the checkpoint of `resume`), gives the same final
@@ -553,7 +590,7 @@ class Fake {
553
590
  /** One position sample, as one server tick would carry it. */
554
591
  moveTo(to) {
555
592
  const prev = this.g.participants[this.name]?.pos;
556
- const pos = { x: prev?.x ?? 0, z: prev?.z ?? 0, ...to };
593
+ const pos = { ...prev, x: prev?.x ?? 0, z: prev?.z ?? 0, ...to };
557
594
  return this.g.dispatch({ type: "player_moved", name: this.name, to: pos });
558
595
  }
559
596
  /** A vote request, as a run forwards it. `round` stamps the round the request saw; default: the current one. */
@@ -610,12 +647,12 @@ class Fake {
610
647
  /** Walks into the declared zone (its first corner); the SDK derives the edge. */
611
648
  enters(zone) {
612
649
  const box = this.zone(zone);
613
- return this.moveTo({ x: box.from.x + 0.5, y: box.from.y, z: box.from.z + 0.5 });
650
+ return this.moveTo({ ...box.from, x: box.from.x + 0.5, y: box.from.y, z: box.from.z + 0.5 });
614
651
  }
615
652
  /** Walks 100 blocks under the declared zone's first corner. */
616
653
  exits(zone) {
617
654
  const box = this.zone(zone);
618
- return this.moveTo({ x: box.from.x + 0.5, y: box.from.y - 100, z: box.from.z + 0.5 });
655
+ return this.moveTo({ ...box.from, x: box.from.x + 0.5, y: box.from.y - 100, z: box.from.z + 0.5 });
619
656
  }
620
657
  /** A right-click on a block; `item` is what the hand held. */
621
658
  uses(block, at, item) {
@@ -1 +1 @@
1
- {"version":3,"file":"harness.js","sourceRoot":"","sources":["../../src/test/harness.ts"],"names":[],"mappings":";;;AAqFA,8BAYC;AAjGD,kFAAkF;AAClF,mFAAmF;AACnF,kFAAkF;AAClF,6EAA6E;AAC7E,qCAAyC;AAKzC,wEAA+D;AAC/D,gDAA4D;AAE5D,gDAgB4B;AAC5B,kDAA0E;AAE1E,oHAAoH;AACpH,SAAS,aAAa,CAAC,KAAY;IAClC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,UAAU,EAAE;YACpC,GAAG;gBACF,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;YACzB,CAAC;YACD,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,IAAI;SAClB,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,wEAAwE;AACjE,MAAM,SAAS,GAAG,CAAC,CAAU,EAAU,EAAE,CAC/C,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAC3B,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAW,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAC5G,CAAC;AAHU,QAAA,SAAS,aAGnB;AAEH,SAAS,WAAW,CAAC,MAAc,EAAE,QAAgB,EAAE,IAAY;IAClE,IAAI,MAAM,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,iBAAiB,QAAQ,iBAAiB,MAAM,EAAE,CAAC,CAAC;AACrG,CAAC;AAED;;;;;GAKG;AACH,SAAS,4BAA4B,CAAC,SAAuB;IAC5D,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;IACnD,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,IAAI,GAAG,IAAA,mCAAa,EAAC,SAAS,CAAC,CAAC;IACtC,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACd,4LAA4L,CAC5L,CAAC;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;IACvD,IAAI,QAAQ,EAAE,CAAC;QACd,IAAA,wBAAc,EAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC;IAC/G,CAAC;AACF,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,SAAS,CAA0B,SAAa;IACrE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;IACnD,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,yEAAyE;IACzE,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,uBAAuB,CAA2C,CAAC;IACtG,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC;IACtC,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC;IAClC,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,gDAAgD,GAAG,wBAAwB,IAAI,GAAG,CAAC,CAAC;IACrG,CAAC;IACD,OAAO,MAAuB,CAAC;AAChC,CAAC;AAcD,yFAAyF;AAClF,MAAM,eAAe,GAAG,CAAC,KAAa,EAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAA5E,QAAA,eAAe,mBAA6D;AAEzF,8FAA8F;AAC9F,MAAa,IAAI;IAiBN;IAhBF,OAAO,CAAQ;IACvB,qCAAqC;IACrC,GAAG,GAAY,EAAE,CAAC;IAClB,oCAAoC;IACpC,OAAO,GAAa,EAAE,CAAC;IACvB,wCAAwC;IACxC,IAAI,GAAa,EAAE,CAAC;IACpB,mGAAmG;IACnG,IAAI,GAAG,CAAC,CAAC;IACD,QAAQ,GAAG,CAAC,CAAC;IACrB,uGAAuG;IACtF,MAAM,CAAS;IAChC,sFAAsF;IACrE,KAAK,GAAG,IAAI,GAAG,EAA+B,CAAC;IAEhE,YACU,SAAa,EACtB,KAAa;QADJ,cAAS,GAAT,SAAS,CAAI;QAGtB,4BAA4B,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,KAAK,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,uDAAuD;IACvD,IAAI,KAAK;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC1B,CAAC;IACD,2EAA2E;IAC3E,IAAI,KAAK;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;IAC3B,CAAC;IACD,uBAAuB;IACvB,IAAI,MAAM;QACT,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC5B,CAAC;IACD,+EAA+E;IAC/E,IAAI,YAAY;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;IAC7B,CAAC;IACD,2DAA2D;IAC3D,IAAI,KAAK;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;IAC3B,CAAC;IACD,oEAAoE;IACpE,WAAW,CAAC,IAAY;QACvB,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,CAAC;YACL,MAAM,IAAI,KAAK,CAAC,IAAI,IAAI,mCAAmC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7G,OAAO,CAAC,CAAC;IACV,CAAC;IAED,qEAAqE;IACrE,QAAQ,CAAC,KAAY;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACrD,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,kCAAkC,CAAC,CAAC;QACtF,gGAAgG;QAChG,8EAA8E;QAC9E,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAU,CAAC,CAAC,CAAC,gCAAgC;QAC5G,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC;QACtB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;QAChC,OAAO,CAAC,CAAC,OAAO,CAAC;IAClB,CAAC;IAED,0GAA0G;IAC1G,MAAM,CAAC,UAAkB;QACxB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI;YAC1E,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;QAChD,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,UAAU;YAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,sDAAsD;IACtD,IAAI,CAAC,CAAC,GAAG,CAAC;QACT,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IACD,oDAAoD;IACpD,KAAK,CAAC,CAAoB;QACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAA,iBAAO,EAAC,CAAa,CAAC,CAAC,CAAC;IACzD,CAAC;IACD,0CAA0C;IAC1C,EAAE,CAAC,CAAoB;QACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAA,iBAAO,EAAC,CAAa,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CACJ,IAAY,EACZ,YAAyC,EACzC,OAWI,EAAE;QAEN,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,CAC/C,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAU,CACvF,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC;YACb,IAAI,EAAE,aAAa;YACnB,IAAI;YACJ,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC,CAAC;YAC3F,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;YACzB,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,0BAAgB;YACnD,SAAS,EAAE,IAAI,CAAC,SAAS;SACzB,CAAC,CAAC;QACH,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,OAAO;YAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7E,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK;YAAE,OAAO,IAAI,CAAC;QAC1C,MAAM,OAAO,GAAmB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACxG,IAAI;YACJ,WAAW,EAAE,IAAa;YAC1B,GAAG,EAAE,EAAE,IAAI,IAAA,uBAAe,EAAC,CAAC,CAAC;YAC7B,GAAG,IAAI;SACP,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QAC7F,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,4GAA4G;IAC5G,YAAY,CAAC,EAAE,GAAG,IAAI;QACrB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YACjC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,OAAO,IAAI,CAAC,KAAK;gBAAE,OAAO;YACtD,IAAI,CAAC,QAAQ,CAAC;gBACb,IAAI,EAAE,eAAe;gBACrB,EAAE,EAAE,SAAS,KAAK,CAAC,SAAS,EAAE;gBAC9B,EAAE;gBACF,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,+BAA+B;gBACxD,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;aAChE,CAAC,CAAC;YACH,IAAI,CAAC,EAAE;gBAAE,OAAO;QACjB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACnF,CAAC;IAED,uGAAuG;IACvG,WAAW,CACV,IAAY,EACZ,EAAW,EACX,SAKK,EAAE;QAEP,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACjF,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,GAAG,CAAC,CAAC;QAC7D,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,8GAA8G;IAC9G,aAAa,CACZ,IAAY,EACZ,MAOC;QAED,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACvF,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,GAAG,CAAC,CAAC;QAC/D,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,8BAA8B;IAC9B,MAAM,CAAC,IAAY;QAClB,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,mEAAmE;IACnE,cAAc,CAAC,MAAc,EAAE,QAAgB,EAAE,SAAuB,EAAE;QACzE,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,MAAM,EAAE,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC,QAAQ,CAAC;YACpB,IAAI,EAAE,iBAAiB;YACvB,MAAM;YACN,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE;YACrB,QAAQ;YACR,MAAM;SACN,CAAC,CAAC;IACJ,CAAC;IAED,iDAAiD;IACjD,MAAM,CAAC,IAAY,EAAE,IAAU,EAAE,MAAe;QAC/C,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,gGAAgG;IAChG,OAAO,CAAC,GAAQ,EAAE,KAAc,EAAE,IAAI,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,GAAG;QACzD,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAA,iBAAM,EAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,KAAK,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;YAChD,KAAK,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;gBAChD,MAAM,QAAQ,GAA6B,EAAE,CAAC;gBAC9C,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,MAAM,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC;oBACxD,IAAI,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC;wBAAE,SAAS;oBAC9C,MAAM,KAAK,GACV,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;wBACf,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE;wBACtB,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;wBACf,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE;wBACtB,EAAE,CAAC,CAAC,IAAI,IAAI;wBACZ,EAAE,CAAC,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;oBACnB,IAAI,KAAK,EAAE,CAAC;wBACX,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;wBAClC,SAAS;oBACV,CAAC;oBACD,MAAM,IAAI,GAAG,IAAI,KAAK,CAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;wBAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;4BAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gCAC7B,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gCACzB,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC;gCACpB,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gCACzB,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;oCACtF,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;gCACnC,CAAC;4BACF,CAAC;oBACH,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;gBACrE,CAAC;gBACD,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;YAC7E,CAAC;QACF,CAAC;QACD,OAAO,GAAG,CAAC;IACZ,CAAC;IACD,uEAAuE;IACvE,SAAS,CAAC,EAAU,EAAE,EAAU,EAAE,IAAI,GAAG,CAAC,EAAE;QAC3C,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD,+EAA+E;IAC/E,WAAW,CAAC,EAAU,EAAE,EAAU;QACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,2DAA2D;IAC3D,SAAS,CACR,OASC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC,CAAC;IAC3D,CAAC;IACD,uDAAuD;IACvD,UAAU,CAAC,IAAU,EAAE,EAAQ,EAAE,KAAc;QAC9C,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAClE,CAAC;IACD,0FAA0F;IAC1F,WAAW,CAAC,IAAU,EAAE,EAAQ,EAAE,IAAU,EAAE,OAAkB,SAAS;QACxE,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,uFAAuF;IACvF,WAAW,CACV,EAAU,EACV,IAAkB,EAClB,EAAQ,EACR,QAAoG,EAAE;QAEtG,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IAClF,CAAC;IACD,2CAA2C;IAC3C,YAAY,CAAC,EAAU,EAAE,MAAuE;QAC/F,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,wFAAwF;IACxF,YAAY,CACX,KAKE;QAEF,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IACpG,CAAC;IACD;;;;OAIG;IACH,MAAM,CACL,OAKC,EACD,QAKE;QAEF,OAAO,IAAI,CAAC,QAAQ,CAAC;YACpB,IAAI,EAAE,MAAM;YACZ,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI;YACzC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,IAAa,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YACnE,QAAQ;SACR,CAAC,CAAC;IACJ,CAAC;IACD;;;OAGG;IACH,SAAS,CAAC,EAAU,EAAE,GAAyB;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;QAClD,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAA,mBAAQ,EAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAC3C,IAAI,CAAC,CAAC;YAAE,OAAO,EAAE,CAAC;QAClB,gFAAgF;QAChF,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACnH,CAAC;IACD;;;OAGG;IACH,QAAQ,CAAC,EAAQ,EAAE,GAAgC;QAClD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACxG,MAAM,CAAC,GAAG,GAAG,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAA,mBAAQ,EAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC5D,IAAI,CAAC,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,QAAQ,CAAC;YACpB,IAAI,EAAE,KAAK;YACX,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;YAC7B,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;SACrD,CAAC,CAAC;IACJ,CAAC;IACD,gCAAgC;IAChC,YAAY,CAAC,EAAU,EAAE,QAA4B,SAAS,EAAE,MAAe;QAC9E,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACrE,CAAC;IACD;;;;OAIG;IACH,SAAS,CACR,EAAQ,EACR,KAA6B,EAC7B,OASI,EAAE;QAEN,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QACrE,MAAM,KAAK,GAAiB,EAAE,CAAC;QAC/B,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACnD,IAAI,KAAK,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAc,EAAE,KAAK,EAAE,CAAC,CAAC;;gBAC5D,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1B,IAAI,EAAE,CAAC;QACR,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,KAAK;YAAE,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI;gBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9E,OAAO,IAAI,CAAC,QAAQ,CAAC;YACpB,IAAI,EAAE,WAAW;YACjB,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE;YACb,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,iBAAiB;YACtC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;YAChC,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;SACrB,CAAC,CAAC;IACJ,CAAC;IACD,wEAAwE;IACxE,WAAW,CAAC,IAAY,EAAE,QAAkB;QAC3C,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,wFAAwF;IACxF,KAAK,CAAC,IAAY,EAAE,MAAkD;QACrE,OAAO,IAAI,CAAC,QAAQ,CAAC;YACpB,IAAI,EAAE,MAAM;YACZ,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI;YACzC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,MAAM,EAAE,CAAC;SAClD,CAAC,CAAC;IACJ,CAAC;IACD,qCAAqC;IACrC,YAAY,CACX,IAAY,EACZ,MAAc,EACd,MAAe,EACf,KAKC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED;;;;OAIG;IACH,UAAU,CACT,EAAW,EACX,MAAe,EACf,QAKI,EAAE;QAEN,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;QACnC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,GAAG;YAAE,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe;gBAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7E,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;aAC5B,OAAO,EAAE;aACT,IAAI,CACJ,CAAC,CAAC,EAA0C,EAAE,CAC7C,CAAC,CAAC,IAAI,KAAK,MAAM;YACjB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACnB,CAAC,KAAK,CAAC,EAAE,KAAK,SAAS,IAAI,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC;YAC7C,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,CAC1D,CAAC;QACH,IAAI,CAAC,IAAI;YACR,MAAM,IAAI,KAAK,CACd,kBAAkB,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACvG,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,8CAA8C;IAC9C,EAAE,CAA2B,IAAO;QACnC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAqC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACpF,CAAC;IACD,yCAAyC;IACzC,GAAG,CAA2B,IAAO;QACpC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAqC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACvF,CAAC;IACD,wEAAwE;IACxE,OAAO,CAA2B,IAAO;QACxC,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IACD,yCAAyC;IACzC,UAAU,CAA2B,IAAO;QAC3C,OAAO,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IACD,2EAA2E;IAC3E,aAAa,CAAC,EAAW;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;aAC7B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;aAC1B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IACD,+EAA+E;IAC/E,IAAI;QACH,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;QACnC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC9B,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBACxF,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;oBAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;qBACtC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;oBAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;qBAChD,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;oBAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;qBAChD,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU;oBAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3D,CAAC;QACF,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC;IACvD,CAAC;IACD,yDAAyD;IACzD,IAAI;QACH,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC;IACD,mDAAmD;IACnD,MAAM;QACL,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IACD,iCAAiC;IACjC,IAAI;QACH,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IACD,+EAA+E;IAC/E,OAAO;QACN,MAAM,GAAG,GAA2C,EAAE,CAAC;QACvD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC;YAC3B,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACzB,GAAG,CAAC,GAAG,CAA4B,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;QACxD,CAAC;QACD,OAAO,GAAG,CAAC;IACZ,CAAC;IAED;;;;;;OAMG;IACH,MAAM;QACL,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAU,CAAC;QACzC,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YAC1B,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACtC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC;QACD,WAAW,CAAC,IAAA,iBAAS,EAAC,CAAC,CAAC,EAAE,IAAA,iBAAS,EAAC,IAAI,CAAC,OAAO,CAAC,EAAE,6BAA6B,CAAC,CAAC;QAClF,WAAW,CAAC,IAAA,iBAAS,EAAC,OAAO,CAAC,EAAE,IAAA,iBAAS,EAAC,IAAI,CAAC,OAAO,CAAC,EAAE,wBAAwB,CAAC,CAAC;IACpF,CAAC;IACD,mEAAmE;IACnE,UAAU;QACT,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IACD,8EAA8E;IAC9E,MAAM,CAAC,MAAM,CAA0B,SAAa,EAAE,IAAY;QACjE,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAU,CAAC,CAAC;IACvD,CAAC;IACD,qDAAqD;IACrD,WAAW;QACV,OAAO,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;IACrC,CAAC;IACD,mHAAmH;IACnH,OAAO,CAAC,IAAY,EAAE,IAAY;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;QACtD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,CAAC;QACnE,IAAI,IAAI;YAAE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,EAAkB,CAAC;QAC/D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QACtC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC5E,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACb,CAAC;CACD;AAhjBD,oBAgjBC;AAUD,SAAS,SAAS,CAA2B,OAAiB,EAAE,IAAO;IACtE,OAAO,OAAO;SACZ,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SACxF,MAAM,CAAC,CAAC,CAAC,EAAqC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACrE,CAAC;AAED,8GAA8G;AAC9G,MAAa,IAAI;IAEE;IACR;IAFV,YACkB,CAAW,EACnB,IAAY;QADJ,MAAC,GAAD,CAAC,CAAU;QACnB,SAAI,GAAJ,IAAI,CAAQ;IACnB,CAAC;IACJ,8DAA8D;IAC9D,MAAM,CACL,EAGC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC;QACjD,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;QACxD,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,gHAAgH;IAChH,IAAI,CACH,MAAc,EACd,MAAc,EACd,KAAc;QAOd,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;QACrD,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QACtG,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;QAC5E,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,SAAS,EAAE,CAAC,CAAC;QAC7D,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;IACvD,CAAC;IACD,0BAA0B;IAC1B,IAAI,CAAC,IAAY;QAChB,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,gDAAgD;IAChD,MAAM,CAAC,YAAmC,OAAO;QAChD,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD,0DAA0D;IAC1D,IAAI,CAAC,MAAc,EAAE,KAAa,EAAE,QAAiB;QACpD,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC9F,CAAC;IACD,mDAAmD;IACnD,IAAI,CAAC,KAAK,GAAG,MAAM,EAAE,MAAe;QACnC,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,+BAA+B;IAC/B,QAAQ;QACP,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,4BAA4B;IAC5B,KAAK;QACJ,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,+BAA+B;IAC/B,MAAM;QACL,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAClE,CAAC;IACD,yCAAyC;IACzC,OAAO,CAAC,IAAY,EAAE,KAAK,GAAG,CAAC,EAAE,KAAW,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QAC/D,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,gGAAgG;IAChG,YAAY,CAAC,IAAY,EAAE,KAAa,EAAE,OAAoD,EAAE;QAC/F,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;YACtB,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;SAC9D,CAAC,CAAC;IACJ,CAAC;IACD,iFAAiF;IACjF,MAAM,CAAC,IAAY;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,+DAA+D;IAC/D,KAAK,CAAC,IAAY;QACjB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;IACvF,CAAC;IACD,8DAA8D;IAC9D,IAAI,CAAC,KAAc,EAAE,EAAQ,EAAE,IAAa;QAC3C,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAClF,CAAC;IACD,4GAA4G;IAC5G,MAAM,CAAC,KAAc,EAAE,EAAQ,EAAE,QAAiB,eAAe;QAChE,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACrF,CAAC;IACD,sGAAsG;IACtG,MAAM,CAAC,KAAc,EAAE,EAAQ,EAAE,WAAoB,eAAe;QACnE,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACxF,CAAC;IACO,IAAI,CAAC,IAAY;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC;QACrC,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,GAAG,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,IAAI,IAAI,yCAAyC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC;QAC9G,CAAC;QACD,OAAO,GAAG,CAAC;IACZ,CAAC;CACD;AAzGD,oBAyGC"}
1
+ {"version":3,"file":"harness.js","sourceRoot":"","sources":["../../src/test/harness.ts"],"names":[],"mappings":";;;;AAAA,kFAAkF;AAClF,mFAAmF;AACnF,kFAAkF;AAClF,6EAA6E;AAC7E,qCAAyC;AAIzC,4DAAuE;AAEvE,wEAA+D;AAC/D,gDAA4D;AAE5D,gDAgB4B;AAC5B,kDAA0E;AAE1E,oHAAoH;AACpH,SAAS,aAAa,CAAC,KAAY;IAClC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,UAAU,EAAE;YACpC,GAAG;gBACF,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;YACzB,CAAC;YACD,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,IAAI;SAClB,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IAClC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO;IACxD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;QAAE,WAAW,CAAC,KAAK,CAAC,CAAC;IAC7D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,SAAS,CAAC,KAAqB;IACvC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAmB,CAAC;IACjE,WAAW,CAAC,IAAI,CAAC,CAAC;IAClB,OAAO,IAAI,CAAC;AACb,CAAC;AAED,wEAAwE;AACjE,MAAM,SAAS,GAAG,CAAC,CAAU,EAAU,EAAE,CAC/C,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAC3B,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAW,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAC5G,CAAC;AAHU,QAAA,SAAS,GAAT,SAAS,CAGnB;AAEH,SAAS,WAAW,CAAC,MAAc,EAAE,QAAgB,EAAE,IAAY;IAClE,IAAI,MAAM,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,iBAAiB,QAAQ,iBAAiB,MAAM,EAAE,CAAC,CAAC;AACrG,CAAC;AAED;;;;;GAKG;AACH,SAAS,4BAA4B,CAAC,SAAuB;IAC5D,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;IACnD,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,IAAI,GAAG,IAAA,mCAAa,EAAC,SAAS,CAAC,CAAC;IACtC,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACd,4LAA4L,CAC5L,CAAC;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;IACvD,IAAI,QAAQ,EAAE,CAAC;QACd,IAAA,wBAAc,EAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC;IAC/G,CAAC;AACF,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,oBAA6C,SAAa;IACrE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;IACnD,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,yEAAyE;IACzE,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,uBAAuB,CAA2C,CAAC;IACtG,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC;IACtC,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC;IAClC,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,gDAAgD,GAAG,wBAAwB,IAAI,GAAG,CAAC,CAAC;IACrG,CAAC;IACD,OAAO,MAAuB,CAAC;AAChC,CAAC;AAcD,yFAAyF;AAClF,MAAM,eAAe,GAAG,CAAC,KAAa,EAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAA5E,QAAA,eAAe,GAAf,eAAe,CAA6D;AAEzF,8FAA8F;AAC9F;IAiBW,SAAS;IAhBX,OAAO,CAAQ;IACvB,qCAAqC;IACrC,GAAG,GAAY,EAAE,CAAC;IAClB,oCAAoC;IACpC,OAAO,GAAa,EAAE,CAAC;IACvB,wCAAwC;IACxC,IAAI,GAAa,EAAE,CAAC;IACpB,mGAAmG;IACnG,IAAI,GAAG,CAAC,CAAC;IACD,QAAQ,GAAG,CAAC,CAAC;IACrB,uGAAuG;IACtF,MAAM,CAAS;IAChC,sFAAsF;IACrE,KAAK,GAAG,IAAI,GAAG,EAA+B,CAAC;IAEhE,YACU,SAAa,EACtB,KAAa;yBADJ,SAAS;QAGlB,4BAA4B,CAAC,SAAS,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,KAAK,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;QAC1C,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC9E,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,uDAAuD;IACvD,IAAI,KAAK;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC1B,CAAC;IACD,2EAA2E;IAC3E,IAAI,KAAK;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;IAC3B,CAAC;IACD,uBAAuB;IACvB,IAAI,MAAM;QACT,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC5B,CAAC;IACD,+EAA+E;IAC/E,IAAI,YAAY;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;IAC7B,CAAC;IACD,2DAA2D;IAC3D,IAAI,KAAK;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;IAC3B,CAAC;IACD,oEAAoE;IACpE,WAAW,CAAC,IAAY;QACvB,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,IAAI,IAAI,mCAAmC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpH,OAAO,CAAC,CAAC;IACV,CAAC;IAED,qEAAqE;IACrE,QAAQ,CAAC,KAAY;QACpB,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACrD,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QACrD,IAAI,UAAU,KAAK,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAC9E,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,kCAAkC,CAAC,CAAC;QAC/E,gGAAgG;QAChG,8EAA8E;QAC9E,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC3B,gGAAgG;QAChG,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC;QAC9C,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC;YAC5B,GAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAA0B;YAC7D,KAAK,EAAE,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC;SACzD,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC;QACtB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;QAChC,OAAO,CAAC,CAAC,OAAO,CAAC;IAClB,CAAC;IAED,0GAA0G;IAC1G,MAAM,CAAC,UAAkB;QACxB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI;YAC1E,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;QAChD,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,UAAU;YAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,sDAAsD;IACtD,IAAI,CAAC,CAAC,GAAG,CAAC;QACT,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IACD,oDAAoD;IACpD,KAAK,CAAC,CAAoB;QACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAA,iBAAO,EAAC,CAAa,CAAC,CAAC,CAAC;IACzD,CAAC;IACD,0CAA0C;IAC1C,EAAE,CAAC,CAAoB;QACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAA,iBAAO,EAAC,CAAa,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CACJ,IAAY,EACZ,YAAyC,EACzC,IAAI,GAWA,EAAE;QAEN,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,CAC/C,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAU,CACvF,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC;YACb,IAAI,EAAE,aAAa;YACnB,IAAI;YACJ,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC,CAAC;YAC3F,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;YACzB,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,0BAAgB;YACnD,SAAS,EAAE,IAAI,CAAC,SAAS;SACzB,CAAC,CAAC;QACH,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,OAAO;YAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7E,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK;YAAE,OAAO,IAAI,CAAC;QAC1C,MAAM,OAAO,GAAmB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACxG,IAAI;YACJ,WAAW,EAAE,IAAa;YAC1B,GAAG,EAAE,EAAE,IAAI,IAAA,QAAA,eAAe,EAAC,CAAC,CAAC;YAC7B,GAAG,IAAI;SACP,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QAC7F,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,4GAA4G;IAC5G,YAAY,CAAC,EAAE,GAAG,IAAI;QACrB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YACjC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,OAAO,IAAI,CAAC,KAAK;gBAAE,OAAO;YACtD,IAAI,CAAC,QAAQ,CAAC;gBACb,IAAI,EAAE,eAAe;gBACrB,EAAE,EAAE,SAAS,KAAK,CAAC,SAAS,EAAE;gBAC9B,EAAE;gBACF,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,+BAA+B;gBACxD,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;aAChE,CAAC,CAAC;YACH,IAAI,CAAC,EAAE;gBAAE,OAAO;QACjB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACnF,CAAC;IAED,uGAAuG;IACvG,WAAW,CACV,IAAY,EACZ,EAAW,EACX,MAAM,GAKD,EAAE;QAEP,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACjF,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,GAAG,CAAC,CAAC;QAC7D,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,8GAA8G;IAC9G,aAAa,CACZ,IAAY,EACZ,MAOC;QAED,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACvF,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,GAAG,CAAC,CAAC;QAC/D,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,8BAA8B;IAC9B,MAAM,CAAC,IAAY;QAClB,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,mEAAmE;IACnE,cAAc,CAAC,MAAc,EAAE,QAAgB,EAAE,MAAM,GAAiB,EAAE;QACzE,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,MAAM,EAAE,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC,QAAQ,CAAC;YACpB,IAAI,EAAE,iBAAiB;YACvB,MAAM;YACN,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE;YACrB,QAAQ;YACR,MAAM;SACN,CAAC,CAAC;IACJ,CAAC;IAED,iDAAiD;IACjD,MAAM,CAAC,IAAY,EAAE,IAAU,EAAE,MAAe;QAC/C,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,gGAAgG;IAChG,OAAO,CAAC,GAAQ,EAAE,KAAc,EAAE,IAAI,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,GAAG;QACzD,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAA,iBAAM,EAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,KAAK,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;YAChD,KAAK,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;gBAChD,MAAM,QAAQ,GAA6B,EAAE,CAAC;gBAC9C,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,MAAM,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC;oBACxD,IAAI,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC;wBAAE,SAAS;oBAC9C,MAAM,KAAK,GACV,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;wBACf,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE;wBACtB,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;wBACf,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE;wBACtB,EAAE,CAAC,CAAC,IAAI,IAAI;wBACZ,EAAE,CAAC,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;oBACnB,IAAI,KAAK,EAAE,CAAC;wBACX,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;wBAClC,SAAS;oBACV,CAAC;oBACD,MAAM,IAAI,GAAG,IAAI,KAAK,CAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;wBAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;4BAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gCAC7B,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gCACzB,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC;gCACpB,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gCACzB,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;oCACtF,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;gCACnC,CAAC;4BACF,CAAC;oBACH,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;gBACrE,CAAC;gBACD,GAAG,CAAC,IAAI,CACP,GAAG,IAAI,CAAC,QAAQ,CAAC;oBAChB,IAAI,EAAE,OAAO;oBACb,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpD,CAAC,EAAE,EAAE;oBACL,CAAC,EAAE,EAAE;oBACL,IAAI;oBACJ,QAAQ;iBACR,CAAC,CACF,CAAC;YACH,CAAC;QACF,CAAC;QACD,OAAO,GAAG,CAAC;IACZ,CAAC;IACD,uEAAuE;IACvE,SAAS,CAAC,EAAU,EAAE,EAAU,EAAE,IAAI,GAAG,CAAC,EAAE,EAAE,SAAqB;QAClE,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IAChH,CAAC;IACD,+EAA+E;IAC/E,WAAW,CAAC,EAAU,EAAE,EAAU,EAAE,SAAqB;QACxD,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACrG,CAAC;IACD,2DAA2D;IAC3D,SAAS,CACR,OASC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC,CAAC;IAC3D,CAAC;IACD,uDAAuD;IACvD,UAAU,CAAC,IAAU,EAAE,EAAQ,EAAE,KAAc;QAC9C,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAClE,CAAC;IACD,0FAA0F;IAC1F,WAAW,CAAC,IAAU,EAAE,EAAQ,EAAE,IAAU,EAAE,IAAI,GAAc,SAAS;QACxE,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,uFAAuF;IACvF,WAAW,CACV,EAAU,EACV,IAAkB,EAClB,EAAQ,EACR,KAAK,GAA+F,EAAE;QAEtG,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IAClF,CAAC;IACD,2CAA2C;IAC3C,YAAY,CAAC,EAAU,EAAE,MAAuE;QAC/F,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,wFAAwF;IACxF,YAAY,CACX,KAKE;QAEF,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IACpG,CAAC;IACD;;;;OAIG;IACH,MAAM,CACL,OAKC,EACD,QAKE;QAEF,OAAO,IAAI,CAAC,QAAQ,CAAC;YACpB,IAAI,EAAE,MAAM;YACZ,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI;YACzC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,IAAa,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YACnE,QAAQ;SACR,CAAC,CAAC;IACJ,CAAC;IACD;;;OAGG;IACH,SAAS,CAAC,EAAU,EAAE,GAAyB;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;QAClD,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAA,mBAAQ,EAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAC3C,IAAI,CAAC,CAAC;YAAE,OAAO,EAAE,CAAC;QAClB,gFAAgF;QAChF,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACnH,CAAC;IACD;;;OAGG;IACH,QAAQ,CAAC,EAAQ,EAAE,GAAgC;QAClD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAA,2BAAW,EAAC,EAAE,CAAC,CAAC,CAAC;QAC1D,MAAM,CAAC,GAAG,GAAG,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAA,mBAAQ,EAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC5D,IAAI,CAAC,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,QAAQ,CAAC;YACpB,IAAI,EAAE,KAAK;YACX,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;YAC7B,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;SACrD,CAAC,CAAC;IACJ,CAAC;IACD,gCAAgC;IAChC,YAAY,CAAC,EAAU,EAAE,KAAK,GAAuB,SAAS,EAAE,MAAe;QAC9E,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACrE,CAAC;IACD;;;;OAIG;IACH,SAAS,CACR,EAAQ,EACR,KAA6B,EAC7B,IAAI,GASA,EAAE;QAEN,MAAM,GAAG,GAAG,IAAA,2BAAW,EAAC,EAAE,CAAC,CAAC;QAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QACrE,MAAM,KAAK,GAAiB,EAAE,CAAC;QAC/B,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACnD,IAAI,KAAK,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAc,EAAE,KAAK,EAAE,CAAC,CAAC;;gBAC5D,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1B,IAAI,EAAE,CAAC;QACR,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,KAAK;YAAE,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI;gBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9E,OAAO,IAAI,CAAC,QAAQ,CAAC;YACpB,IAAI,EAAE,WAAW;YACjB,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE;YACb,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,iBAAiB;YACtC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;YAChC,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;SACrB,CAAC,CAAC;IACJ,CAAC;IACD,wEAAwE;IACxE,WAAW,CAAC,IAAY,EAAE,QAAkB;QAC3C,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,wFAAwF;IACxF,KAAK,CAAC,IAAY,EAAE,MAAkD;QACrE,OAAO,IAAI,CAAC,QAAQ,CAAC;YACpB,IAAI,EAAE,MAAM;YACZ,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI;YACzC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,MAAM,EAAE,CAAC;SAClD,CAAC,CAAC;IACJ,CAAC;IACD,qCAAqC;IACrC,YAAY,CACX,IAAY,EACZ,MAAc,EACd,MAAe,EACf,KAKC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED;;;;OAIG;IACH,UAAU,CACT,EAAW,EACX,MAAe,EACf,KAAK,GAKD,EAAE;QAEN,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;QACnC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,GAAG;YAAE,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe;gBAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7E,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;aAC5B,OAAO,EAAE;aACT,IAAI,CACJ,CAAC,CAAC,EAA0C,EAAE,CAC7C,CAAC,CAAC,IAAI,KAAK,MAAM;YACjB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACnB,CAAC,KAAK,CAAC,EAAE,KAAK,SAAS,IAAI,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC;YAC7C,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,CAC1D,CAAC;QACH,IAAI,CAAC,IAAI;YACR,MAAM,IAAI,KAAK,CACd,kBAAkB,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACvG,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,8CAA8C;IAC9C,EAAE,CAA2B,IAAO;QACnC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAqC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACpF,CAAC;IACD,yCAAyC;IACzC,GAAG,CAA2B,IAAO;QACpC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAqC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACvF,CAAC;IACD,wEAAwE;IACxE,OAAO,CAA2B,IAAO;QACxC,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IACD,yCAAyC;IACzC,UAAU,CAA2B,IAAO;QAC3C,OAAO,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IACD,2EAA2E;IAC3E,aAAa,CAAC,EAAW;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;aAC7B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;aAC1B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IACD,+EAA+E;IAC/E,IAAI;QACH,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;QACnC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC9B,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBACxF,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;oBAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;qBACtC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;oBAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;qBAChD,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;oBAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;qBAChD,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU;oBAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3D,CAAC;QACF,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC;IACvD,CAAC;IACD,yDAAyD;IACzD,IAAI;QACH,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC;IACD,mDAAmD;IACnD,MAAM;QACL,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IACD,iCAAiC;IACjC,IAAI;QACH,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IACD,+EAA+E;IAC/E,OAAO;QACN,MAAM,GAAG,GAA2C,EAAE,CAAC;QACvD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC;YAC3B,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACzB,GAAG,CAAC,GAAG,CAA4B,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;QACxD,CAAC;QACD,OAAO,GAAG,CAAC;IACZ,CAAC;IACD,wGAAwG;IACxG,KAAK;QACJ,MAAM,GAAG,GAAmE,EAAE,CAAC;QAC/E,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;QAC1E,OAAO,GAAG,CAAC;IACZ,CAAC;IAED;;;;;;OAMG;IACH,MAAM;QACL,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAU,CAAC;QACzC,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YAC1B,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACtC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC;QACD,WAAW,CAAC,IAAA,QAAA,SAAS,EAAC,CAAC,CAAC,EAAE,IAAA,QAAA,SAAS,EAAC,IAAI,CAAC,OAAO,CAAC,EAAE,6BAA6B,CAAC,CAAC;QAClF,WAAW,CAAC,IAAA,QAAA,SAAS,EAAC,OAAO,CAAC,EAAE,IAAA,QAAA,SAAS,EAAC,IAAI,CAAC,OAAO,CAAC,EAAE,wBAAwB,CAAC,CAAC;IACpF,CAAC;IACD,mEAAmE;IACnE,UAAU;QACT,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IACD,8EAA8E;IAC9E,MAAM,CAAC,MAAM,CAA0B,SAAa,EAAE,IAAY;QACjE,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAU,CAAC,CAAC;IACvD,CAAC;IACD,qDAAqD;IACrD,WAAW;QACV,OAAO,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;IACrC,CAAC;IACD,mHAAmH;IACnH,OAAO,CAAC,IAAY,EAAE,IAAY;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;QACtD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,CAAC;QACnE,IAAI,IAAI;YAAE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,EAAkB,CAAC;QAC/D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QACtC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC5E,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACb,CAAC;CACD;;AAUD,SAAS,SAAS,CAA2B,OAAiB,EAAE,IAAO;IACtE,OAAO,OAAO;SACZ,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SACxF,MAAM,CAAC,CAAC,CAAC,EAAqC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACrE,CAAC;AAED,8GAA8G;AAC9G;IAEmB,CAAC;IACT,IAAI;IAFd,YACkB,CAAW,EACnB,IAAY;iBADJ,CAAC;oBACT,IAAI;IACX,CAAC;IACJ,8DAA8D;IAC9D,MAAM,CACL,EAGC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC;QACjD,MAAM,GAAG,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;QACjE,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,gHAAgH;IAChH,IAAI,CACH,MAAc,EACd,MAAc,EACd,KAAc;QAOd,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;QACrD,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QACtG,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;QAC5E,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,SAAS,EAAE,CAAC,CAAC;QAC7D,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;IACvD,CAAC;IACD,0BAA0B;IAC1B,IAAI,CAAC,IAAY;QAChB,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,gDAAgD;IAChD,MAAM,CAAC,SAAS,GAA0B,OAAO;QAChD,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD,0DAA0D;IAC1D,IAAI,CAAC,MAAc,EAAE,KAAa,EAAE,QAAiB;QACpD,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC9F,CAAC;IACD,mDAAmD;IACnD,IAAI,CAAC,KAAK,GAAG,MAAM,EAAE,MAAe;QACnC,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,+BAA+B;IAC/B,QAAQ;QACP,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,4BAA4B;IAC5B,KAAK;QACJ,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,+BAA+B;IAC/B,MAAM;QACL,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAClE,CAAC;IACD,yCAAyC;IACzC,OAAO,CAAC,IAAY,EAAE,KAAK,GAAG,CAAC,EAAE,EAAE,GAAS,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QAC/D,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,gGAAgG;IAChG,YAAY,CAAC,IAAY,EAAE,KAAa,EAAE,IAAI,GAAgD,EAAE;QAC/F,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;YACtB,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;SAC9D,CAAC,CAAC;IACJ,CAAC;IACD,iFAAiF;IACjF,MAAM,CAAC,IAAY;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;IAC9F,CAAC;IACD,+DAA+D;IAC/D,KAAK,CAAC,IAAY;QACjB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;IACpG,CAAC;IACD,8DAA8D;IAC9D,IAAI,CAAC,KAAc,EAAE,EAAQ,EAAE,IAAa;QAC3C,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAClF,CAAC;IACD,4GAA4G;IAC5G,MAAM,CAAC,KAAc,EAAE,EAAQ,EAAE,KAAK,GAAY,eAAe;QAChE,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACrF,CAAC;IACD,sGAAsG;IACtG,MAAM,CAAC,KAAc,EAAE,EAAQ,EAAE,QAAQ,GAAY,eAAe;QACnE,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACxF,CAAC;IACO,IAAI,CAAC,IAAY;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC;QACrC,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,GAAG,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,IAAI,IAAI,yCAAyC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC;QAC9G,CAAC;QACD,OAAO,GAAG,CAAC;IACZ,CAAC;CACD"}
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/test/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEzC,qCAAqC;AACrC,wBAAgB,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAEpE;AAED,mHAAmH;AACnH,eAAO,MAAM,IAAI,GAAI,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,QAAQ,MAAM,KAAG,OACO,CAAC"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/test/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEzC,qCAAqC;AACrC,wBAAgB,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAEpE;AAED,mHAAmH;AACnH,eAAO,MAAM,IAAI,MAAO,IAAI,KAAK,IAAI,UAAU,MAAM,KAAG,OAC4C,CAAC"}
@@ -2,11 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.near = void 0;
4
4
  exports.scores = scores;
5
+ const dimensions_js_1 = require("../runtime/dimensions.js");
5
6
  /** The reported score per player. */
6
7
  function scores(g) {
7
8
  return Object.fromEntries(Object.entries(g.participants).map(([name, p]) => [name, p.score]));
8
9
  }
9
10
  /** Whether `a` is within `blocks` of `b` on each axis, x and z (a square, not a radius; the height is ignored). */
10
- const near = (a, b, blocks) => Math.abs(a.x - b.x) <= blocks && Math.abs(a.z - b.z) <= blocks;
11
+ const near = (a, b, blocks) => (0, dimensions_js_1.dimensionOf)(a) === (0, dimensions_js_1.dimensionOf)(b) && Math.abs(a.x - b.x) <= blocks && Math.abs(a.z - b.z) <= blocks;
11
12
  exports.near = near;
12
13
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/test/helpers.ts"],"names":[],"mappings":";;;AAKA,wBAEC;AAHD,qCAAqC;AACrC,SAAgB,MAAM,CAAC,CAAqB;IAC3C,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC/F,CAAC;AAED,mHAAmH;AAC5G,MAAM,IAAI,GAAG,CAAC,CAAO,EAAE,CAAO,EAAE,MAAc,EAAW,EAAE,CACjE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;AADnD,QAAA,IAAI,QAC+C"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/test/helpers.ts"],"names":[],"mappings":";;;;AACA,4DAAuD;AAIvD,qCAAqC;AACrC,gBAAuB,CAAqB;IAC3C,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC/F,CAAC;AAED,mHAAmH;AAC5G,MAAM,IAAI,GAAG,CAAC,CAAO,EAAE,CAAO,EAAE,MAAc,EAAW,EAAE,CACjE,IAAA,2BAAW,EAAC,CAAC,CAAC,KAAK,IAAA,2BAAW,EAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;AADxF,QAAA,IAAI,GAAJ,IAAI,CACoF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kradle/challenges-sdk",
3
- "version": "0.23.0",
3
+ "version": "0.25.0",
4
4
  "publishConfig": {
5
5
  "tag": "next"
6
6
  },
@@ -24,21 +24,22 @@
24
24
  "MIGRATION-0.16.md"
25
25
  ],
26
26
  "scripts": {
27
- "build": "rm -rf dist && tsc",
28
- "watch": "tsc --watch",
27
+ "build": "rm -rf dist && node node_modules/@typescript/native/bin/tsc",
28
+ "watch": "node node_modules/@typescript/native/bin/tsc --watch",
29
29
  "test": "npm run build && npm run check-types && node --test \"test/runtime/*.test.mjs\"",
30
30
  "lint": "biome lint --fix --unsafe",
31
31
  "check-docs": "node scripts/check-docs.mjs && node scripts/check-jsdoc.mjs && node scripts/check-examples.mjs",
32
32
  "prepack": "npm run build && node scripts/stage-user-changelog.mjs",
33
33
  "prepare": "npm run build",
34
34
  "test:runtime": "node --test \"test/runtime/*.test.mjs\"",
35
- "check-types": "node node_modules/typescript/bin/tsc -p test/types/tsconfig.json && node node_modules/typescript5/bin/tsc -p test/types/tsconfig.json",
35
+ "check-types": "node node_modules/@typescript/native/bin/tsc -p test/types/tsconfig.json && node node_modules/typescript/bin/tsc -p test/types/tsconfig.json && node node_modules/typescript5/bin/tsc -p test/types/tsconfig.json",
36
36
  "check-jsdoc": "node scripts/check-jsdoc.mjs",
37
37
  "check-examples": "node scripts/check-examples.mjs"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@biomejs/biome": "^2.3.4",
41
41
  "@types/node": "^18.14.0",
42
+ "@typescript/native": "npm:typescript@^7.0.2",
42
43
  "esbuild": "^0.27.2",
43
44
  "typescript": "^6.0.3",
44
45
  "typescript5": "npm:typescript@^5.9.3"