@typed/template 0.3.3 → 0.3.4

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.
@@ -1,9 +1,11 @@
1
1
  import * as Fx from "@typed/fx/Fx";
2
+ import * as Sink from "@typed/fx/Sink";
2
3
  import { TypeId } from "@typed/fx/TypeId";
3
4
  import { persistent } from "@typed/wire";
4
- import { Effect } from "effect";
5
+ import { Effect, ExecutionStrategy, Exit } from "effect";
5
6
  import * as Context from "effect/Context";
6
- import { Scope } from "effect/Scope";
7
+ import * as Scope from "effect/Scope";
8
+ import { uncapitalize } from "effect/String";
7
9
  import { isDirective } from "../Directive.js";
8
10
  import * as ElementRef from "../ElementRef.js";
9
11
  import * as ElementSource from "../ElementSource.js";
@@ -41,11 +43,12 @@ const RenderPartMap = {
41
43
  "boolean-part": (templatePart, node, ctx) => {
42
44
  const { refCounter, renderContext, values } = ctx;
43
45
  const element = node;
46
+ const name = templatePart.name;
44
47
  const renderable = values[templatePart.index];
45
48
  const setValue = (value) => {
46
- element.toggleAttribute(templatePart.name, isNullOrUndefined(value) ? false : Boolean(value));
49
+ element.toggleAttribute(name, isNullOrUndefined(value) ? false : Boolean(value));
47
50
  };
48
- return matchSettablePart(renderable, setValue, () => BooleanPartImpl.browser(templatePart.index, element, templatePart.name, renderContext), (f) => Effect.zipRight(renderContext.queue.add(element, f), refCounter.release(templatePart.index)), () => ctx.expected++);
51
+ return matchSettablePart(renderable, setValue, () => BooleanPartImpl.browser(templatePart.index, element, name, renderContext), (f) => Effect.zipRight(renderContext.queue.add(element, f), refCounter.release(templatePart.index)), () => ctx.expected++);
49
52
  },
50
53
  "className-part": (templatePart, node, ctx) => {
51
54
  const { refCounter, renderContext, values } = ctx;
@@ -58,13 +61,10 @@ const RenderPartMap = {
58
61
  classNames.clear();
59
62
  }
60
63
  else {
61
- const newClassNames = new Set(Array.isArray(value) ? value : [String(value)]);
64
+ const newClassNames = new Set(Array.isArray(value) ? value.flatMap((x) => splitClassNames(String(x))) : splitClassNames(String(value)));
62
65
  const { added, removed } = diffClassNames(classNames, newClassNames);
63
- if (removed.length > 0) {
64
- element.classList.remove(...removed);
65
- }
66
- if (added.length > 0)
67
- element.classList.add(...added);
66
+ element.classList.remove(...removed);
67
+ element.classList.add(...added);
68
68
  classNames = newClassNames;
69
69
  }
70
70
  };
@@ -120,7 +120,7 @@ const RenderPartMap = {
120
120
  const makeHydrateContext = ctx.makeHydrateContext;
121
121
  const part = makeRenderNodePart(templatePart.index, node, ctx.renderContext, ctx.document, !!makeHydrateContext);
122
122
  ctx.expected++;
123
- const handle = handlePart(ctx.values[templatePart.index], (value) => Effect.zipRight(part.update(value), ctx.refCounter.release(templatePart.index)));
123
+ const handle = handlePart(ctx.values[templatePart.index], Sink.make(ctx.onCause, (value) => Effect.zipRight(part.update(value), ctx.refCounter.release(templatePart.index))));
124
124
  if (makeHydrateContext) {
125
125
  return Effect.provideService(handle, HydrateContext, makeHydrateContext(templatePart.index));
126
126
  }
@@ -171,13 +171,17 @@ const RenderPartMap = {
171
171
  element[key] = value;
172
172
  }
173
173
  };
174
+ const setClassNames = (previous, updated) => {
175
+ const { added, removed } = diffClassNames(previous, updated);
176
+ element.classList.remove(...removed);
177
+ element.classList.add(...added);
178
+ removed.forEach((r) => previous.delete(r));
179
+ added.forEach((a) => previous.add(a));
180
+ };
174
181
  const effects = [];
175
- // We need indexes to track async values that won't conflict
176
- // with any other Parts, we can start end of the current values.length
177
- // As there should only ever be exactly 1 properties part.
178
- let i = ctx.values.length;
179
- loop: for (const [key, value] of Object.entries(renderable)) {
180
- const index = ++i;
182
+ const entries = Object.entries(renderable);
183
+ loop: for (const [key, value] of entries) {
184
+ const index = ++ctx.spreadIndex;
181
185
  switch (key[0]) {
182
186
  case "?": {
183
187
  const name = key.slice(1);
@@ -196,7 +200,7 @@ const RenderPartMap = {
196
200
  continue loop;
197
201
  }
198
202
  case "@": {
199
- const name = key.slice(1);
203
+ const name = uncapitalize(key.slice(1));
200
204
  const handler = getEventHandler(value, ctx.context, ctx.onCause);
201
205
  if (handler) {
202
206
  ctx.eventSource.addEventListener(element, name, handler);
@@ -205,7 +209,7 @@ const RenderPartMap = {
205
209
  }
206
210
  case "o": {
207
211
  if (key[1] === "n") {
208
- const name = key.slice(2);
212
+ const name = uncapitalize(key.slice(2));
209
213
  const handler = getEventHandler(value, ctx.context, ctx.onCause);
210
214
  if (handler) {
211
215
  ctx.eventSource.addEventListener(element, name, handler);
@@ -214,9 +218,28 @@ const RenderPartMap = {
214
218
  continue loop;
215
219
  }
216
220
  }
217
- const eff = matchSettablePart(value, (value) => setAttribute(key, value), () => AttributePartImpl.browser(index, element, key, ctx.renderContext), (f) => Effect.zipRight(ctx.renderContext.queue.add(element, f), ctx.refCounter.release(index)), () => ctx.expected++);
218
- if (eff !== null) {
219
- effects.push(eff);
221
+ const lowerCaseName = key.toLowerCase();
222
+ const isClass = lowerCaseName === "class" || lowerCaseName === "classname";
223
+ if (isClass) {
224
+ const classNames = new Set();
225
+ const eff = matchSettablePart(value, (value) => {
226
+ if (isNullOrUndefined(value)) {
227
+ element.classList.remove(...classNames);
228
+ classNames.clear();
229
+ }
230
+ else {
231
+ setClassNames(classNames, new Set(splitClassNames(String(value))));
232
+ }
233
+ }, () => ClassNamePartImpl.browser(index, element, ctx.renderContext), (f) => Effect.zipRight(ctx.renderContext.queue.add(element, f), ctx.refCounter.release(index)), () => ctx.expected++);
234
+ if (eff !== null) {
235
+ effects.push(eff);
236
+ }
237
+ }
238
+ else {
239
+ const eff = matchSettablePart(value, (value) => setAttribute(key, value), () => AttributePartImpl.browser(index, element, key, ctx.renderContext), (f) => Effect.zipRight(ctx.renderContext.queue.add(element, f), ctx.refCounter.release(index)), () => ctx.expected++);
240
+ if (eff !== null) {
241
+ effects.push(eff);
242
+ }
220
243
  }
221
244
  }
222
245
  return effects;
@@ -306,7 +329,7 @@ const RenderPartMap = {
306
329
  "text-part": (templatePart, node, ctx) => {
307
330
  const part = TextPartImpl.browser(ctx.document, templatePart.index, node, ctx.renderContext);
308
331
  ctx.expected++;
309
- return handlePart(ctx.values[templatePart.index], (value) => Effect.zipRight(part.update(value), ctx.refCounter.release(templatePart.index)));
332
+ return handlePart(ctx.values[templatePart.index], Sink.make(ctx.onCause, (value) => Effect.zipRight(part.update(value), ctx.refCounter.release(templatePart.index))));
310
333
  }
311
334
  };
312
335
  const SPACE_REGEXP = /\s+/g;
@@ -351,9 +374,11 @@ export const renderTemplate = (document, renderContext) => (templateStrings, val
351
374
  }
352
375
  return Fx.make((sink) => {
353
376
  return Effect.gen(function* (_) {
354
- const content = document.importNode(entry.content, true);
355
377
  const context = yield* _(Effect.context());
378
+ const parentScope = Context.get(context, Scope.Scope);
379
+ const scope = yield* _(Scope.fork(parentScope, ExecutionStrategy.sequential));
356
380
  const refCounter = yield* _(indexRefCounter2());
381
+ const content = document.importNode(entry.content, true);
357
382
  const ctx = {
358
383
  context,
359
384
  document,
@@ -362,6 +387,7 @@ export const renderTemplate = (document, renderContext) => (templateStrings, val
362
387
  refCounter,
363
388
  renderContext,
364
389
  onCause: sink.onFailure,
390
+ spreadIndex: values.length,
365
391
  values
366
392
  };
367
393
  // Connect our interpolated values to our template parts
@@ -374,7 +400,9 @@ export const renderTemplate = (document, renderContext) => (templateStrings, val
374
400
  }
375
401
  // Fork any effects necessary
376
402
  if (effects.length > 0) {
377
- yield* _(Effect.forkAll(effects));
403
+ for (const eff of effects) {
404
+ yield* _(Effect.forkIn(Effect.catchAllCause(eff, ctx.onCause), scope));
405
+ }
378
406
  }
379
407
  // If there's anything to wait on and it's not already done, wait for an initial value
380
408
  // for all asynchronous sources.
@@ -384,12 +412,14 @@ export const renderTemplate = (document, renderContext) => (templateStrings, val
384
412
  // Create a persistent wire from our content
385
413
  const wire = persistent(content);
386
414
  // Set the element when it is ready
387
- yield* _(ctx.eventSource.setup(wire, Context.get(context, Scope)));
415
+ yield* _(ctx.eventSource.setup(wire, scope));
388
416
  // Emit our DomRenderEvent
389
- yield* _(sink.onSuccess(DomRenderEvent(wire)));
417
+ yield* _(sink.onSuccess(DomRenderEvent(wire)),
390
418
  // Ensure our templates last forever in the DOM environment
391
419
  // so event listeners are kept attached to the current Scope.
392
- yield* _(Effect.never);
420
+ Effect.zipRight(Effect.never),
421
+ // Close our scope whenever the current Fiber is interrupted
422
+ Effect.ensuring(Scope.close(scope, Exit.unit)));
393
423
  });
394
424
  });
395
425
  };
@@ -404,28 +434,28 @@ function getEventHandler(renderable, ctx, onCause) {
404
434
  }
405
435
  return null;
406
436
  }
407
- function handlePart(renderable, update) {
437
+ function handlePart(renderable, sink) {
408
438
  switch (typeof renderable) {
409
439
  case "undefined":
410
440
  case "object": {
411
441
  if (renderable === null || renderable === undefined)
412
- return update(null);
442
+ return sink.onSuccess(null);
413
443
  else if (Array.isArray(renderable)) {
414
444
  return renderable.length === 0
415
- ? update(null)
416
- : Effect.forkScoped(Fx.observe(Fx.tuple(renderable.map(unwrapRenderable)), update));
445
+ ? sink.onSuccess(null)
446
+ : Fx.tuple(renderable.map(unwrapRenderable)).run(sink);
417
447
  }
418
448
  else if (TypeId in renderable) {
419
- return Effect.forkScoped(Fx.observe(renderable, update));
449
+ return renderable.run(sink);
420
450
  }
421
451
  else if (Effect.EffectTypeId in renderable) {
422
- return Effect.flatMap(renderable, update);
452
+ return Effect.matchCauseEffect(renderable, sink);
423
453
  }
424
454
  else
425
- return update(renderable);
455
+ return sink.onSuccess(renderable);
426
456
  }
427
457
  default:
428
- return update(renderable);
458
+ return sink.onSuccess(renderable);
429
459
  }
430
460
  }
431
461
  function unwrapRenderable(renderable) {
@@ -435,7 +465,9 @@ function unwrapRenderable(renderable) {
435
465
  if (renderable === null || renderable === undefined)
436
466
  return Fx.succeed(null);
437
467
  else if (Array.isArray(renderable)) {
438
- return renderable.length === 0 ? Fx.succeed(null) : Fx.tuple(renderable.map(unwrapRenderable));
468
+ return renderable.length === 0
469
+ ? Fx.succeed(null)
470
+ : Fx.map(Fx.tuple(renderable.map(unwrapRenderable)), (xs) => xs.flat());
439
471
  }
440
472
  else if (TypeId in renderable) {
441
473
  return renderable;
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/internal/render.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,cAAc,CAAA;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAEzC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAG/B,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAEpC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAA;AAC9C,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAA;AAEpD,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAA;AAOlD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAGlD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAoB,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,YAAY,EACb,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AA+BtD,MAAM,aAAa,GAAkB;IACnC,MAAM,EAAE,CAAC,YAAY,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QAClC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,GAAG,CAAA;QAC3D,MAAM,OAAO,GAAG,IAAgC,CAAA;QAChD,MAAM,IAAI,GAAG,eAAe,CAAC,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,CAAA;QAClE,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;QAC7C,IAAI,KAAK,GAAG,IAAI,CAAA;QAChB,MAAM,QAAQ,GAAG,CAAC,KAAgC,EAAE,EAAE;YACpD,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7B,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;gBAC1C,KAAK,GAAG,KAAK,CAAA;YACf,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;gBAC1B,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;oBACpB,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;oBAC9B,KAAK,GAAG,IAAI,CAAA;gBACd,CAAC;YACH,CAAC;QACH,CAAC,CAAA;QAED,OAAO,iBAAiB,CACtB,UAAU,EACV,QAAQ,EACR,GAAG,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,IAAI,EAAE,aAAa,CAAC,EAC9F,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EACnG,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,CACrB,CAAA;IACH,CAAC;IACD,cAAc,EAAE,CAAC,YAAY,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QAC1C,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,GAAG,CAAA;QACjD,MAAM,OAAO,GAAG,IAAgC,CAAA;QAChD,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;QAC7C,MAAM,QAAQ,GAAG,CAAC,KAAiC,EAAE,EAAE;YACrD,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;QAC/F,CAAC,CAAA;QAED,OAAO,iBAAiB,CACtB,UAAU,EACV,QAAQ,EACR,GAAG,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,IAAI,EAAE,aAAa,CAAC,EAC5F,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EACnG,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,CACrB,CAAA;IACH,CAAC;IACD,gBAAgB,EAAE,CAAC,YAAY,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QAC5C,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,GAAG,CAAA;QACjD,MAAM,OAAO,GAAG,IAAgC,CAAA;QAChD,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;QAC7C,IAAI,UAAU,GAAgB,IAAI,GAAG,EAAE,CAAA;QACvC,MAAM,QAAQ,GAAG,CAAC,KAAgD,EAAE,EAAE;YACpE,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7B,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,CAAA;gBACvC,UAAU,CAAC,KAAK,EAAE,CAAA;YACpB,CAAC;iBAAM,CAAC;gBACN,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;gBAC7E,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,UAAU,EAAE,aAAa,CAAC,CAAA;gBAEpE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAA;gBACtC,CAAC;gBACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;oBAAE,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAA;gBAErD,UAAU,GAAG,aAAa,CAAA;YAC5B,CAAC;QACH,CAAC,CAAA;QAED,OAAO,iBAAiB,CACtB,UAAU,EACV,QAAQ,EACR,GAAG,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,aAAa,CAAC,EAC3E,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EACnG,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,CACrB,CAAA;IACH,CAAC;IACD,cAAc,EAAE,CAAC,YAAY,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QAC1C,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,GAAG,CAAA;QACjD,MAAM,OAAO,GAAG,eAAe,CAAC,IAAe,EAAE,YAAY,CAAC,KAAK,CAAC,CAAA;QACpE,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;QAC7C,MAAM,QAAQ,GAAG,CAAC,KAAgC,EAAE,EAAE;YACpD,OAAO,CAAC,WAAW,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACrE,CAAC,CAAA;QAED,OAAO,iBAAiB,CACtB,UAAU,EACV,QAAQ,EACR,GAAG,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,aAAa,CAAC,EACzE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EACnG,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,CACrB,CAAA;IACH,CAAC;IACD,MAAM,EAAE,CAAC,YAAY,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QAClC,MAAM,OAAO,GAAG,IAAgC,CAAA;QAChD,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;QACjD,MAAM,YAAY,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;QAClE,MAAM,QAAQ,GAAG,CAAC,KAA4D,EAAE,EAAE;YAChF,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7B,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;oBAC/B,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;gBAC7B,CAAC;gBACD,YAAY,CAAC,KAAK,EAAE,CAAA;YACtB,CAAC;iBAAM,CAAC;gBACN,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;oBAC/B,IAAI,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC;wBACpB,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;wBAC3B,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;oBAC1B,CAAC;gBACH,CAAC;gBAED,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBACrC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC3B,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;oBACvB,CAAC;oBACD,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;gBACzC,CAAC;YACH,CAAC;QACH,CAAC,CAAA;QAED,OAAO,iBAAiB,CACtB,UAAU,EACV,QAAQ,EACR,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,aAAa,CAAC,EAC1E,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAC3G,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,CACrB,CAAA;IACH,CAAC;IACD,OAAO,EAAE,CAAC,YAAY,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QACnC,MAAM,OAAO,GAAG,IAAgC,CAAA;QAChD,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;QACjD,MAAM,OAAO,GAAG,eAAe,CAAC,UAAU,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;QACrE,IAAI,OAAO,EAAE,CAAC;YACZ,GAAG,CAAC,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACvE,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,EAAE,CAAC,YAAY,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QAClC,MAAM,kBAAkB,GAAG,GAAG,CAAC,kBAAkB,CAAA;QACjD,MAAM,IAAI,GAAG,kBAAkB,CAC7B,YAAY,CAAC,KAAK,EAClB,IAAgC,EAChC,GAAG,CAAC,aAAa,EACjB,GAAG,CAAC,QAAQ,EACZ,CAAC,CAAC,kBAAkB,CACrB,CAAA;QAED,GAAG,CAAC,QAAQ,EAAE,CAAA;QAEd,MAAM,MAAM,GAAG,UAAU,CACvB,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,EAC9B,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAY,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAClG,CAAA;QAED,IAAI,kBAAkB,EAAE,CAAC;YACvB,OAAO,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE,kBAAkB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAA;QAC9F,CAAC;aAAM,CAAC;YACN,OAAO,MAAM,CAAA;QACf,CAAC;IACH,CAAC;IACD,UAAU,EAAE,CAAC,YAAY,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QACtC,MAAM,OAAO,GAAG,IAAgC,CAAA;QAChD,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;QACjD,MAAM,QAAQ,GAAG,CAAC,KAAgC,EAAE,EAAE;YACpD,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7B,OAAQ,OAAe,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;YAC5C,CAAC;iBAAM,CAAC;gBACN,CAAC;gBAAC,OAAe,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA;YAC9C,CAAC;QACH,CAAC,CAAA;QAED,OAAO,iBAAiB,CACtB,UAAU,EACV,QAAQ,EACR,GAAG,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,aAAa,CAAC,EACjG,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAC3G,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,CACrB,CAAA;IACH,CAAC;IACD,YAAY,EAAE,CAAC,YAAY,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QACxC,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAA+B,CAAA;QAE/E,IAAI,iBAAiB,CAAC,UAAU,CAAC;YAAE,OAAO,IAAI,CAAA;aACzC,IAAI,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAA;QACjF,CAAC;aAAM,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACxE,MAAM,OAAO,GAAG,IAAgC,CAAA;YAEhD,MAAM,aAAa,GAAG,CAAC,GAAW,EAAE,KAAc,EAAE,EAAE;gBACpD,OAAO,CAAC,eAAe,CAAC,GAAG,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;YACjF,CAAC,CAAA;YACD,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,KAAc,EAAE,EAAE;gBACnD,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC7B,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;gBAC9B,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;gBAC1C,CAAC;YACH,CAAC,CAAA;YACD,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,KAAc,EAAE,EAAE;gBAClD,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC7B,OAAQ,OAAe,CAAC,GAAG,CAAC,CAAA;gBAC9B,CAAC;qBAAM,CAAC;oBACN,CAAC;oBAAC,OAAe,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;gBAChC,CAAC;YACH,CAAC,CAAA;YAED,MAAM,OAAO,GAAyC,EAAE,CAAA;YAExD,4DAA4D;YAC5D,sEAAsE;YACtE,0DAA0D;YAC1D,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAA;YAEzB,IAAI,EACJ,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBACtD,MAAM,KAAK,GAAG,EAAE,CAAC,CAAA;gBAEjB,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBACf,KAAK,GAAG,CAAC,CAAC,CAAC;wBACT,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;wBACzB,MAAM,GAAG,GAAG,iBAAiB,CAC3B,KAAK,EACL,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,EACrC,GAAG,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,aAAa,CAAC,EACtE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAC9F,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,CACrB,CAAA;wBACD,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;4BACjB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;wBACnB,CAAC;wBACD,SAAS,IAAI,CAAA;oBACf,CAAC;oBACD,KAAK,GAAG,CAAC,CAAC,CAAC;wBACT,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;wBACzB,MAAM,GAAG,GAAG,iBAAiB,CAC3B,KAAK,EACL,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,EACnC,GAAG,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,aAAa,CAAC,EACvE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAC9F,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,CACrB,CAAA;wBACD,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;4BACjB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;wBACnB,CAAC;wBACD,SAAS,IAAI,CAAA;oBACf,CAAC;oBACD,KAAK,GAAG,CAAC,CAAC,CAAC;wBACT,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;wBACzB,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;wBAChE,IAAI,OAAO,EAAE,CAAC;4BACZ,GAAG,CAAC,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;wBAC1D,CAAC;wBACD,SAAS,IAAI,CAAA;oBACf,CAAC;oBACD,KAAK,GAAG,CAAC,CAAC,CAAC;wBACT,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;4BACnB,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;4BACzB,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;4BAChE,IAAI,OAAO,EAAE,CAAC;gCACZ,GAAG,CAAC,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;4BAC1D,CAAC;wBACH,CAAC;wBACD,SAAS,IAAI,CAAA;oBACf,CAAC;gBACH,CAAC;gBAED,MAAM,GAAG,GAAG,iBAAiB,CAC3B,KAAK,EACL,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,EACnC,GAAG,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,aAAa,CAAC,EACvE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAC9F,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,CACrB,CAAA;gBACD,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;oBACjB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gBACnB,CAAC;YACH,CAAC;YAED,OAAO,OAAO,CAAA;QAChB,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IACD,KAAK,EAAE,CAAC,YAAY,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QACjC,MAAM,OAAO,GAAG,IAAgC,CAAA;QAChD,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;QAEjD,IAAI,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,OAAO,UAAU,CAAC,IAAI,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAA;QAC5F,CAAC;aAAM,IAAI,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/C,OAAO,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QAC5C,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IACD,aAAa,EAAE,CAAC,YAAY,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QACzC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,GAAW,EAAE,CAAC,EAAE,CAAC,CAAA;QAClF,MAAM,OAAO,GAAG,IAAgC,CAAA;QAChD,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,CAAA;QAEtE,MAAM,QAAQ,GAAG,CAAC,KAAgC,EAAE,KAAa,EAAE,EAAE,CACnE,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE;YAClB,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,EAAE,CAAA;YAC3B,OAAO,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;QACjF,CAAC,CAAC,CAAA;QAEJ,MAAM,OAAO,GAAyC,EAAE,CAAA;QAExD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YACnD,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAClC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACzB,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAA;YACxB,CAAC;iBAAM,CAAC;gBACN,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBACzC,MAAM,KAAK,GAAG,CAAC,CAAA;gBACf,MAAM,MAAM,GAAG,iBAAiB,CAC9B,UAAU,EACV,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,EACjC,GAAG,EAAE,CACH,IAAI,iBAAiB,CACnB,YAAY,CAAC,IAAI,EACjB,IAAI,CAAC,KAAK,EACV,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,EACrC,IAAI,CACL,EACH,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EACnG,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,CACrB,CAAA;gBAED,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;oBACpB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBACtB,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IACD,mBAAmB,EAAE,CAAC,YAAY,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QAC/C,MAAM,OAAO,GAAG,IAAgC,CAAA;QAEhD,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAClD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACzB,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBACzC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;oBAAE,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAA;gBACrD,OAAO,EAAE,CAAA;YACX,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;gBACxD,IAAI,GAAG,KAAK,IAAI;oBAAE,OAAO,EAAE,CAAA;gBAC3B,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;YACzC,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,OAAO,OAAO,CAAA;IAChB,CAAC;IACD,gBAAgB,EAAE,CAAC,YAAY,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QAC5C,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,GAAW,EAAE,CAAC,EAAE,CAAC,CAAA;QAClF,MAAM,OAAO,GAAG,IAAe,CAAA;QAE/B,MAAM,QAAQ,GAAG,CAAC,KAAgC,EAAE,KAAa,EAAE,EAAE,CACnE,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE;YAClB,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,EAAE,CAAA;YAC3B,OAAO,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;QAC1F,CAAC,CAAC,CAAA;QAEJ,MAAM,OAAO,GAAyC,EAAE,CAAA;QAExD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YACnD,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAClC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACzB,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAA;YACxB,CAAC;iBAAM,CAAC;gBACN,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBACzC,MAAM,KAAK,GAAG,CAAC,CAAA;gBACf,MAAM,MAAM,GAAG,iBAAiB,CAC9B,UAAU,EACV,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,EACjC,GAAG,EAAE,CACH,IAAI,eAAe,CACjB,IAAI,CAAC,KAAK,EACV,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,EACrC,IAAI,CACL,EACH,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EACnG,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,CACrB,CAAA;gBAED,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;oBACpB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBACtB,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IACD,WAAW,EAAE,CAAC,YAAY,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QACvC,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAC/B,GAAG,CAAC,QAAQ,EACZ,YAAY,CAAC,KAAK,EAClB,IAAgC,EAChC,GAAG,CAAC,aAAa,CAClB,CAAA;QAED,GAAG,CAAC,QAAQ,EAAE,CAAA;QAEd,OAAO,UAAU,CACf,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,EAC9B,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAY,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAClG,CAAA;IACH,CAAC;CACF,CAAA;AAED,MAAM,YAAY,GAAG,MAAM,CAAA;AAE3B,SAAS,eAAe,CAAC,KAAa;IACpC,OAAO,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QAC7C,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;QACxB,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC5C,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAI,KAA2B;IACvD,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAA;AAC9C,CAAC;AAED,SAAS,cAAc,CAAC,aAA0B,EAAE,aAA0B;IAC5E,MAAM,KAAK,GAAkB,EAAE,CAAA;IAC/B,MAAM,OAAO,GAAkB,EAAE,CAAA;IAEjC,KAAK,MAAM,SAAS,IAAI,aAAa,EAAE,CAAC;QACtC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACzB,CAAC;IACH,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,aAAa,EAAE,CAAC;QACtC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;YACtD,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACvB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAA;AAC3B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CACzB,IAAiD,EACjD,OAAyB,EACzB,IAAmB,EACnB,GAAsB;IAEtB,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAW,EAAE,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA;AAC5E,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GACzB,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,CAC5B,CACE,eAAqC,EACrC,MAAc,EACd,EAAE;IACF,MAAM,KAAK,GAAG,eAAe,CAAC,QAAQ,EAAE,aAAa,EAAE,eAAe,CAAC,CAAA;IACvE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IAC5F,CAAC;IAED,OAAO,EAAE,CAAC,IAAI,CAA8F,CAC1G,IAAI,EACJ,EAAE;QACF,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAC,CAAC;YAC3B,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;YACxD,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAS,CAAC,CAAA;YACjD,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAA;YAC/C,MAAM,GAAG,GAAsB;gBAC7B,OAAO;gBACP,QAAQ;gBACR,WAAW,EAAE,eAAe,EAAE;gBAC9B,QAAQ,EAAE,CAAC;gBACX,UAAU;gBACV,aAAa;gBACb,OAAO,EAAE,IAAI,CAAC,SAAgB;gBAC9B,MAAM;aACP,CAAA;YAED,wDAAwD;YACxD,MAAM,OAAO,GAAmF,EAAE,CAAA;YAClG,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAChD,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;gBACjD,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;oBACjB,OAAO,CAAC,IAAI,CACV,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAEnC,CACF,CAAA;gBACH,CAAC;YACH,CAAC;YAED,6BAA6B;YAC7B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;YACnC,CAAC;YAED,sFAAsF;YACtF,gCAAgC;YAChC,IAAI,GAAG,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpE,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;YAC3B,CAAC;YAED,4CAA4C;YAC5C,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAM,CAAA;YAErC,mCAAmC;YACnC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;YAElE,0BAA0B;YAC1B,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAE9C,2DAA2D;YAC3D,6DAA6D;YAC7D,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACxB,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAEH,SAAS,eAAe,CACtB,UAAe,EACf,GAAkD,EAClD,OAAkE;IAElE,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACjD,IAAI,YAAY,CAAC,kBAAkB,IAAI,UAAU,EAAE,CAAC;YAClD,OAAO,YAAY,CAAC,IAAI,CACtB,CAAC,EAAE,EAAE,EAAE,CACL,MAAM,CAAC,OAAO,CACZ,MAAM,CAAC,aAAa,CAAE,UAA8C,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,EAC1F,GAAU,CACX,EACF,UAA8C,CAAC,OAAO,CACxD,CAAA;QACH,CAAC;aAAM,IAAI,MAAM,CAAC,YAAY,IAAI,UAAU,EAAE,CAAC;YAC7C,OAAO,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;QAChG,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,UAAU,CACjB,UAAmB,EACnB,MAA4D;IAE5D,QAAQ,OAAO,UAAU,EAAE,CAAC;QAC1B,KAAK,WAAW,CAAC;QACjB,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,SAAS;gBAAE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAA;iBACnE,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBACnC,OAAO,UAAU,CAAC,MAAM,KAAK,CAAC;oBAC5B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;oBACd,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAQ,EAAE,MAAM,CAAC,CAAC,CAAA;YAC9F,CAAC;iBAAM,IAAI,MAAM,IAAI,UAAU,EAAE,CAAC;gBAChC,OAAO,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,CAAC,UAAiB,EAAE,MAAM,CAAC,CAAC,CAAA;YACjE,CAAC;iBAAM,IAAI,MAAM,CAAC,YAAY,IAAI,UAAU,EAAE,CAAC;gBAC7C,OAAO,MAAM,CAAC,OAAO,CAAC,UAAsC,EAAE,MAAM,CAAC,CAAA;YACvE,CAAC;;gBAAM,OAAO,MAAM,CAAC,UAAU,CAAC,CAAA;QAClC,CAAC;QACD;YACE,OAAO,MAAM,CAAC,UAAU,CAAC,CAAA;IAC7B,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAO,UAAmB;IACjD,QAAQ,OAAO,UAAU,EAAE,CAAC;QAC1B,KAAK,WAAW,CAAC;QACjB,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,SAAS;gBAAE,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;iBACvE,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBACnC,OAAO,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAQ,CAAA;YACvG,CAAC;iBAAM,IAAI,MAAM,IAAI,UAAU,EAAE,CAAC;gBAChC,OAAO,UAAiB,CAAA;YAC1B,CAAC;iBAAM,IAAI,MAAM,CAAC,YAAY,IAAI,UAAU,EAAE,CAAC;gBAC7C,OAAO,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,UAAiB,EAAE,CAAA,gBAAsB,CAAA,CAAC,CAAC,CAAA;YAC/E,CAAC;;gBAAM,OAAO,EAAE,CAAC,OAAO,CAAC,UAAiB,CAAC,CAAA;QAC7C,CAAC;QACD;YACE,OAAO,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IACjC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,KAAmC,EACnC,KAAkB,EAClB,IAAwB,CAAC,sDAAsD;;IAE/E,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;QACtB,MAAM,IAAI,GAAG,IAAI,EAAE,OAAO,EAAmB,CAAA;QAC7C,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAEjC,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,IAAI,QAAQ,IAAI,CAAC,IAAI;gBAAE,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;YAEtD,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,IAAI,IAAI,CAAC,CAAA;YAE9B,IAAI,IAAI;gBAAE,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;YAEtC,OAAO,IAAqB,CAAA;QAC9B,CAAC;QAED,OAAO,QAAyB,CAAA;IAClC,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAAkB,EAAE,QAAkB;IAC5D,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,KAAkB,EAAE,IAAc;IACzD,KAAK,CAAC,eAAe,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;AAC1C,CAAC;AAED,SAAS,QAAQ,CAAC,QAAkB;IAClC,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,EAA8C,CAAA;IAC5E,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;AAC/C,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,QAAkB,EAClB,GAAkB,EAClB,eAAqC;IAErC,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;IAErD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACrD,MAAM,QAAQ,GAAG,KAAK,CAAC,eAAe,CAAC,CAAA;QACvC,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;QACjD,MAAM,KAAK,GAAiB;YAC1B,IAAI,EAAE,SAAS;YACf,QAAQ;YACR,OAAO;SACR,CAAA;QAED,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,CAAA;QAE7C,OAAO,KAAK,CAAA;IACd,CAAC;SAAM,CAAC;QACN,OAAO,MAAM,CAAA;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,QAAkB,EAAE,EAAE,KAAK,EAAqB;IAC5E,MAAM,QAAQ,GAAG,QAAQ,CAAC,sBAAsB,EAAE,CAAA;IAElD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QACtC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAA;IACvD,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,SAAS,CAAC,QAAkB,EAAE,IAAmB,EAAE,YAAqB;IAC/E,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,SAAS,CAAC;QACf,KAAK,sBAAsB,CAAC;QAC5B,KAAK,mBAAmB;YACtB,OAAO,YAAY,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,CAAC,CAAA;QACnD,KAAK,MAAM;YACT,OAAO,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC5C,KAAK,SAAS;YACZ,OAAO,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC3C,KAAK,gBAAgB;YACnB,OAAO,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;QACnC,yCAAyC;QACzC,KAAK,cAAc,CAAC;QACpB,KAAK,MAAM;YACT,OAAO,QAAQ,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;QACpD,KAAK,SAAS;YACZ,OAAO,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAC/C,IAAI,CAAC,IAAI,EACT,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EAChC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CACjC,CAAA;IACL,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAY;IACzC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,MAAM;YACT,OAAO,2BAA2B,CAAA;QACpC,KAAK,KAAK;YACR,OAAO,yBAAyB,CAAA;QAClC,KAAK,MAAM;YACT,OAAO,4BAA4B,CAAA;QACrC;YACE,OAAO,EAAE,CAAA;IACb,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAY;IACzC,QAAQ,IAAI,EAAE,CAAC;QACb,QAAQ;QACR,KAAK,MAAM;YACT,OAAO,uCAAuC,CAAA;QAChD,KAAK,KAAK;YACR,OAAO,kDAAkD,CAAA;QAC3D,KAAK,MAAM;YACT,OAAO,gDAAgD,CAAA;QACzD;YACE,OAAO,EAAE,CAAA;IACb,CAAC;AACH,CAAC;AAED,MAAM,aAAa,GAAG,4BAA4B,CAAA;AAElD,SAAS,YAAY,CACnB,QAAkB,EAClB,IAAuF,EACvF,YAAqB;IAErB,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;IAC1C,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,OAAO,KAAK,eAAe,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,CAAA;IAC5E,MAAM,OAAO,GAAG,KAAK;QACnB,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,aAAa,EAAE,OAAO,CAAC;QAClD,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;IAEnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;QAE1B,qEAAqE;QACrE,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC9B,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;QAC7C,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACnC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QAC1C,CAAC;IACH,CAAC;IAED,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;IACpF,CAAC;SAAM,IAAI,IAAI,KAAK,mBAAmB,EAAE,CAAC;QACxC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;IAClF,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAS,cAAc,CAAC,QAAkB,EAAE,IAAmB;IAC7D,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACzB,OAAO,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC5C,CAAC;IAED,OAAO,QAAQ,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;AACpD,CAAC;AAED,SAAS,eAAe,CACtB,QAAkB,EAClB,OAAiC,EACjC,IAAY;IAEZ,OAAO,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;AACzE,CAAC;AAED,SAAS,iBAAiB,CACxB,UAAgC,EAChC,QAA8B,EAC9B,QAAoB,EACpB,QAA8D,EAC9D,MAAkB;IAElB,OAAO,eAAe,CAAC,UAAU,EAAE;QACjC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;YACT,MAAM,EAAE,CAAA;YACR,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC3D,CAAC;QACD,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;YACjB,MAAM,EAAE,CAAA;YACR,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACnE,CAAC;QACD,SAAS,EAAE,CAAC,SAAS,EAAE,EAAE;YACvB,MAAM,EAAE,CAAA;YACR,OAAO,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC9B,CAAC;QACD,SAAS,EAAE,CAAC,SAAS,EAAE,EAAE;YACvB,QAAQ,CAAC,SAAS,CAAC,CAAA;YACnB,OAAO,IAAI,CAAA;QACb,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,UAAgC,EAAE,OAK1D;IACC,IAAI,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACxB,OAAO,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,CAAA;IAC/B,CAAC;SAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACvC,OAAO,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IACnC,CAAC;SAAM,IAAI,WAAW,CAAW,UAAU,CAAC,EAAE,CAAC;QAC7C,OAAO,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;IACtC,CAAC;SAAM,CAAC;QACN,OAAO,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;IACtC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/internal/render.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typed/template",
3
- "version": "0.3.3",
3
+ "version": "0.3.4",
4
4
  "description": "",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -10,19 +10,19 @@
10
10
  "sideEffects": [],
11
11
  "author": "Typed contributors",
12
12
  "dependencies": {
13
- "@effect/platform": "^0.41.0",
14
- "@effect/schema": "0.59.1",
15
- "effect": "^2.0.3",
13
+ "@effect/platform": "0.42.2",
14
+ "@effect/schema": "0.60.2",
15
+ "effect": "^2.1.0",
16
16
  "typed-query-selector": "^2.11.0",
17
17
  "udomdiff": "^1.1.0",
18
- "@typed/context": "0.21.0",
19
- "@typed/dom": "9.0.0",
20
- "@typed/environment": "0.3.0",
21
- "@typed/fx": "1.20.1",
18
+ "@typed/context": "0.21.1",
19
+ "@typed/dom": "9.0.1",
20
+ "@typed/environment": "0.3.1",
21
+ "@typed/fx": "1.20.2",
22
22
  "@typed/wire": "0.3.0"
23
23
  },
24
24
  "peerDependencies": {
25
- "effect": "^2.0.3"
25
+ "effect": "^2.1.0"
26
26
  },
27
27
  "main": "./dist/cjs/index.js",
28
28
  "module": "./dist/esm/index.js",
package/src/Test.ts CHANGED
@@ -15,7 +15,6 @@ import * as Effect from "effect/Effect"
15
15
  import * as Either from "effect/Either"
16
16
  import * as Fiber from "effect/Fiber"
17
17
  import type * as Scope from "effect/Scope"
18
- import type IHappyDOMOptions from "happy-dom/lib/window/IHappyDOMOptions.js"
19
18
  import * as ElementRef from "./ElementRef.js"
20
19
  import { ROOT_CSS_SELECTOR } from "./ElementSource.js"
21
20
  import { adjustTime } from "./internal/utils.js"
@@ -30,6 +29,9 @@ import type { RenderTemplate } from "./RenderTemplate.js"
30
29
  // TODO: keyboard events
31
30
  // TODO: drag and drop events
32
31
 
32
+ // eslint-disable-next-line @typescript-eslint/consistent-type-imports
33
+ export type HappyDOMOptions = ConstructorParameters<typeof import("happy-dom").Window>[0]
34
+
33
35
  /**
34
36
  * @since 1.0.0
35
37
  */
@@ -52,7 +54,7 @@ export interface TestRender<E> {
52
54
  export function testRender<R, E>(
53
55
  fx: Fx.Fx<R, E, RenderEvent>,
54
56
  options?:
55
- & IHappyDOMOptions
57
+ & HappyDOMOptions
56
58
  & { readonly [K in keyof DomServicesElementParams]?: (document: Document) => DomServicesElementParams[K] }
57
59
  ): Effect.Effect<
58
60
  Scope.Scope | Exclude<Exclude<R, RenderTemplate>, RenderContext.RenderContext | CurrentEnvironment | DomServices>,
@@ -148,7 +150,9 @@ export function click<E>(
148
150
 
149
151
  // internals
150
152
 
151
- function getOrMakeWindow(options?: IHappyDOMOptions) {
153
+ function getOrMakeWindow(
154
+ options?: HappyDOMOptions
155
+ ): Effect.Effect<Scope.Scope, never, Window & GlobalThis> {
152
156
  if (typeof window !== "undefined" && typeof document !== "undefined") {
153
157
  return Effect.gen(function*(_) {
154
158
  window.document.head.innerHTML = ""
@@ -10,8 +10,8 @@ import { indexRefCounter2 } from "./indexRefCounter.js"
10
10
 
11
11
  import { unsafeGet } from "@typed/context"
12
12
 
13
- import { Either } from "effect"
14
- import { Scope } from "effect/Scope"
13
+ import { Either, ExecutionStrategy, Exit } from "effect"
14
+ import * as Scope from "effect/Scope"
15
15
  import type { Template } from "../Template.js"
16
16
  import { CouldNotFindCommentError, CouldNotFindRootElement } from "./errors.js"
17
17
  import { makeEventSource } from "./EventSource.js"
@@ -41,15 +41,16 @@ export const hydrateTemplate: (document: Document, ctx: RenderContext) => Render
41
41
  templateStrings: TemplateStringsArray,
42
42
  values: Values
43
43
  ): Fx.Fx<
44
- Scope | Placeholder.Context<Values[number]>,
44
+ Scope.Scope | Placeholder.Context<Values[number]>,
45
45
  Placeholder.Error<Values[number]>,
46
46
  RenderEvent
47
47
  > => {
48
48
  return Fx.make((sink) =>
49
49
  Effect.gen(function*(_) {
50
- const context = yield* _(Effect.context<Scope>())
50
+ const context = yield* _(Effect.context<Scope.Scope>())
51
51
  const hydrateCtx = unsafeGet(context, HydrateContext)
52
- const scope = unsafeGet(context, Scope)
52
+ const parentScope = unsafeGet(context, Scope.Scope)
53
+ const scope = yield* _(Scope.fork(parentScope, ExecutionStrategy.sequential))
53
54
 
54
55
  // If we're not longer hydrating, just render normally
55
56
  if (hydrateCtx.hydrate === false) {
@@ -89,17 +90,18 @@ export const hydrateTemplate: (document: Document, ctx: RenderContext) => Render
89
90
  renderContext,
90
91
  onCause: sink.onFailure,
91
92
  values,
92
- makeHydrateContext
93
+ makeHydrateContext,
94
+ spreadIndex: values.length
93
95
  }
94
96
 
95
97
  // Connect our interpolated values to our template parts
96
- const effects: Array<Effect.Effect<Scope | Placeholder.Context<Values[number]>, never, void>> = []
98
+ const effects: Array<Effect.Effect<Scope.Scope | Placeholder.Context<Values[number]>, never, void>> = []
97
99
  for (const [part, path] of template.parts) {
98
100
  const eff = renderPart2(part, where, path, ctx)
99
101
  if (eff !== null) {
100
102
  effects.push(
101
103
  ...(Array.isArray(eff) ? eff : [eff]) as Array<
102
- Effect.Effect<Scope | Placeholder.Context<Values[number]>, never, void>
104
+ Effect.Effect<Scope.Scope | Placeholder.Context<Values[number]>, never, void>
103
105
  >
104
106
  )
105
107
  }
@@ -119,9 +121,13 @@ export const hydrateTemplate: (document: Document, ctx: RenderContext) => Render
119
121
  // Stop hydrating
120
122
  hydrateCtx.hydrate = false
121
123
 
122
- // Ensure our templates last forever in the DOM environment
123
- // so event listeners are kept attached to the current Scope.
124
- yield* _(Effect.never)
124
+ yield* _(
125
+ // Ensure our templates last forever in the DOM environment
126
+ // so event listeners are kept attached to the current Scope.
127
+ Effect.never,
128
+ // Close our scope whenever the current Fiber is interrupted
129
+ Effect.ensuring(Scope.close(scope, Exit.unit))
130
+ )
125
131
  })
126
132
  )
127
133
  }
@@ -50,6 +50,13 @@ export const SELF_CLOSING_TAGS = new Set([
50
50
  "wbr"
51
51
  ])
52
52
 
53
+ const VALID_PROPS_NAMES = new Set([
54
+ "props",
55
+ "properties",
56
+ // First "." will already be matched
57
+ ".."
58
+ ])
59
+
53
60
  export interface Parser {
54
61
  parse(templateStrings: ReadonlyArray<string>): Template.Template
55
62
  }
@@ -71,7 +78,8 @@ const chars = {
71
78
  slash: "/",
72
79
  greaterThan: ">",
73
80
  lessThan: "<",
74
- hypen: "-"
81
+ hypen: "-",
82
+ dot: "."
75
83
  } as const
76
84
 
77
85
  const isPartToken: TextPredicate = (input, pos) =>
@@ -126,7 +134,7 @@ const attributeMatches = {
126
134
  closingTag: isElementCloseToken,
127
135
  openTagEnd: isOpenTagEndToken,
128
136
  selfClosingTagEnd: isSelfClosingTagEndToken
129
- }
137
+ } satisfies Predicates
130
138
 
131
139
  const attributeValueMatches = {
132
140
  base: isWhitespaceToken,
@@ -386,7 +394,7 @@ class ParserImpl implements Parser {
386
394
  return Skip
387
395
  case "whitespace":
388
396
  this.skipWhitespace()
389
- return Continue([new Template.BooleanNode(name)])
397
+ return Continue([this.parseBooleanNode(name)])
390
398
  case "equals": {
391
399
  this.consumeAmount(1)
392
400
  return Continue([this.parseAttributeValue(name)])
@@ -394,7 +402,7 @@ class ParserImpl implements Parser {
394
402
  case "openTagEnd": {
395
403
  this.consumeAmount(1)
396
404
  this.context = "unknown"
397
- return Break<Array<Template.Attribute>>(name ? [new Template.BooleanNode(name)] : undefined)
405
+ return Break<Array<Template.Attribute>>(name ? [this.parseBooleanNode(name)] : undefined)
398
406
  }
399
407
  case "selfClosingTagEnd": {
400
408
  this.consumeAmount(2)
@@ -439,7 +447,7 @@ class ParserImpl implements Parser {
439
447
  this.skipWhitespace()
440
448
 
441
449
  if (text === "") {
442
- return new Template.BooleanNode(name)
450
+ return this.parseBooleanNode(name)
443
451
  }
444
452
 
445
453
  switch (name[0]) {
@@ -450,7 +458,7 @@ class ParserImpl implements Parser {
450
458
 
451
459
  if (property === "data") {
452
460
  return this.addPart(new Template.DataPartNode(unsafeParsePartIndex(text)))
453
- } else if (property === "props" || property === "properties") {
461
+ } else if (VALID_PROPS_NAMES.has(property)) {
454
462
  return this.addPart(new Template.PropertiesPartNode(unsafeParsePartIndex(text)))
455
463
  } else {
456
464
  return this.addPart(new Template.PropertyPartNode(property, unsafeParsePartIndex(text)))
@@ -499,6 +507,14 @@ class ParserImpl implements Parser {
499
507
  )
500
508
  }
501
509
 
510
+ private parseBooleanNode(name: string) {
511
+ if (isSpread(name)) {
512
+ return this.addPart(new Template.PropertiesPartNode(unsafeParsePartIndex(name.slice(3))))
513
+ } else {
514
+ return new Template.BooleanNode(name)
515
+ }
516
+ }
517
+
502
518
  private parseTextChildren(): Array<Template.Text> | null {
503
519
  return this.parseArray(() => this.parseTextChild())
504
520
  }
@@ -724,3 +740,7 @@ export function templateHash(strings: ReadonlyArray<string>) {
724
740
 
725
741
  return btoa(String.fromCharCode(...new Uint8Array(hashes.buffer)))
726
742
  }
743
+
744
+ function isSpread(str: string) {
745
+ return str[0] === chars.dot && str[1] === chars.dot && str[2] === chars.dot
746
+ }