@fun-land/fun-web 1.0.0 → 2.0.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @fun-land/fun-web
2
2
 
3
+ ## 2.0.0
4
+
5
+ ### Major Changes
6
+
7
+ - f9fd104: Prohibit event handlers on h
8
+
9
+ ## 1.1.0
10
+
11
+ ### Minor Changes
12
+
13
+ - 65d34fd: added bindView for reactive regions
14
+
3
15
  ## 1.0.0
4
16
 
5
17
  ### Minor Changes
package/README.md CHANGED
@@ -24,20 +24,14 @@ Perfect for embedding interactive components in static sites, building lightweig
24
24
  ## Installation
25
25
 
26
26
  ```bash
27
- pnpm add @fun-land/fun-web @fun-land/accessor
27
+ pnpm add @fun-land/fun-web @fun-land/fun-state @fun-land/accessor
28
28
  ```
29
29
 
30
30
  ## Quick Start
31
31
 
32
32
  ```typescript
33
- import {
34
- hx,
35
- funState,
36
- mount,
37
- type Component,
38
- type FunState,
39
- type FunRead,
40
- } from "@fun-land/fun-web";
33
+ import { hx, mount, type Component } from "@fun-land/fun-web";
34
+ import { funState, type FunState, type FunRead } from "@fun-land/fun-state";
41
35
 
42
36
 
43
37
  const Counter: Component<{state: FunState<number>}> = (signal, {state}) => {
@@ -353,7 +347,7 @@ const button = hx("button", {
353
347
  const button = h("button", {
354
348
  onclick: (e) => {
355
349
  (e.currentTarget as HTMLButtonElement).disabled = true; // needs cast
356
- }, // ❌ event handler not cleaned up!
350
+ }, // ❌ Throws error: Setting event handlers on dom elements without abort signal leads to memory leaks. Use `hx` or `on` instead.
357
351
  });
358
352
  ```
359
353
 
@@ -502,6 +496,39 @@ const list = enhance(
502
496
  );
503
497
  ```
504
498
 
499
+ #### bindView
500
+ ```ts
501
+ <Tag extends keyof HTMLElementTagNameMap = "div", T = unknown>(
502
+ signal: AbortSignal,
503
+ state: FunRead<T>,
504
+ render: (regionSignal: AbortSignal, data: T) => Element,
505
+ options?: { tagName?: Tag }
506
+ ): HTMLElementTagNameMap[Tag]
507
+ ```
508
+
509
+ Render a single "slot" from state. Each re-render aborts the previous render's signal so subscriptions and event handlers clean up automatically. You'll want to use this instead of element.replaceChildren to prevent leaks.
510
+
511
+ **Example:**
512
+
513
+ ```typescript
514
+ const status = funState<"idle" | "loading" | "done">("idle");
515
+
516
+ const view = bindView(
517
+ signal,
518
+ status,
519
+ (regionSignal, value) => {
520
+ if (value === "loading") {
521
+ return h("span", { textContent: "Loading..." });
522
+ }
523
+ return hx("button", {
524
+ signal: regionSignal,
525
+ props: { textContent: "Retry" },
526
+ on: { click: () => status.set("loading") },
527
+ });
528
+ }
529
+ );
530
+ ```
531
+
505
532
  #### renderWhen
506
533
  ```ts
507
534
  function renderWhen<State, Props>(options: {
@@ -8,7 +8,6 @@ export type Enhancer<El extends Element> = (element: El) => El;
8
8
  *
9
9
  * Convention:
10
10
  * - Properties with dashes (data-*, aria-*) become attributes
11
- * - Properties starting with 'on' become event listeners
12
11
  * - Everything else becomes element properties
13
12
  *
14
13
  * @example
@@ -25,15 +24,17 @@ type WritableKeys<T> = {
25
24
  }[keyof T];
26
25
  type HxProps<El extends Element> = Partial<{
27
26
  [K in WritableKeys<El> & string]: El[K] | null | undefined;
28
- }>;
27
+ }> & Record<string, unknown>;
29
28
  type HxHandlers<El extends Element> = Partial<{
30
29
  [K in keyof GlobalEventHandlersEventMap]: (ev: GlobalEventHandlersEventMap[K] & {
31
30
  currentTarget: El;
32
31
  }) => void;
33
32
  }>;
34
- type HxBindings<El extends Element> = Partial<{
35
- [K in WritableKeys<El> & string]: FunRead<El[K]>;
36
- }>;
33
+ type BindableRead = {
34
+ get: () => unknown;
35
+ watch: (signal: AbortSignal, callback: (value: unknown) => void) => void;
36
+ };
37
+ type HxBindings = Record<string, BindableRead>;
37
38
  type HxOptionsBase<El extends Element> = {
38
39
  props?: HxProps<El>;
39
40
  attrs?: Record<string, string | number | boolean | null | undefined>;
@@ -41,7 +42,7 @@ type HxOptionsBase<El extends Element> = {
41
42
  type HxOptions<El extends Element> = HxOptionsBase<El> & {
42
43
  signal: AbortSignal;
43
44
  on?: HxHandlers<El>;
44
- bind?: HxBindings<El>;
45
+ bind?: HxBindings;
45
46
  };
46
47
  /**
47
48
  * Create an element with structured props, attrs, event handlers, and bindings.
@@ -75,6 +76,14 @@ export declare const attrs: (obj: Record<string, string>) => <El extends Element
75
76
  * @returns {Enhancer}
76
77
  */
77
78
  export declare const bindProperty: <E extends Element, K extends keyof E & string>(key: K, state: FunRead<E[K]>, signal: AbortSignal) => (el: E) => E;
79
+ /**
80
+ * Render a single slot from state and abort previous render on updates.
81
+ * Useful when render creates subscriptions, timers, or event handlers.
82
+ * Defaults to a "div" container when no tagName is provided.
83
+ */
84
+ export declare const bindView: <Tag extends keyof HTMLElementTagNameMap = "div", T = unknown>(signal: AbortSignal, state: FunRead<T>, render: (regionSignal: AbortSignal, data: T) => Element, options?: {
85
+ tagName?: Tag;
86
+ }) => HTMLElementTagNameMap[Tag];
78
87
  /**
79
88
  * Add CSS classes to an element (returns element for chaining)
80
89
  * @returns {Enhancer}
@@ -1,14 +1,8 @@
1
- /**
2
- * Type-preserving Object.entries helper for objects with known keys
3
- * @internal
4
- */
5
- const entries = (obj) => Object.entries(obj);
6
1
  /**
7
2
  * Create an HTML element with attributes and children
8
3
  *
9
4
  * Convention:
10
5
  * - Properties with dashes (data-*, aria-*) become attributes
11
- * - Properties starting with 'on' become event listeners
12
6
  * - Everything else becomes element properties
13
7
  *
14
8
  * @example
@@ -27,10 +21,7 @@ attrs, children
27
21
  if (value == null)
28
22
  continue;
29
23
  if (key.startsWith("on") && typeof value === "function") {
30
- // Event listener: onclick, onchange, etc.
31
- const eventName = key.slice(2).toLowerCase();
32
- // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
33
- element.addEventListener(eventName, value);
24
+ throw new Error("Setting event handlers on dom elements without abort signal leads to memory leaks. Use `hx` or `on` instead.");
34
25
  }
35
26
  else if (key.includes("-") || key === "role") {
36
27
  // Attribute: data-*, aria-*, role, etc.
@@ -57,7 +48,7 @@ export function hx(tag, options, children) {
57
48
  const { signal, props, attrs: attrMap, on: onMap, bind } = options;
58
49
  const element = document.createElement(tag);
59
50
  if (props) {
60
- for (const [key, value] of entries(props)) {
51
+ for (const [key, value] of Object.entries(props)) {
61
52
  if (value == null)
62
53
  continue;
63
54
  element[key] = value;
@@ -74,14 +65,13 @@ export function hx(tag, options, children) {
74
65
  appendChildren(children)(element);
75
66
  }
76
67
  if (bind) {
77
- const bindElementProperty = (key, state) => {
78
- bindProperty(key, state, signal)(element);
79
- };
80
- for (const key of Object.keys(bind)) {
81
- const state = bind[key];
68
+ for (const [key, state] of Object.entries(bind)) {
82
69
  if (!state)
83
70
  continue;
84
- bindElementProperty(key, state);
71
+ element[key] = state.get();
72
+ state.watch(signal, (value) => {
73
+ element[key] = value;
74
+ });
85
75
  }
86
76
  }
87
77
  if (onMap) {
@@ -151,6 +141,26 @@ export const bindProperty = (key, state, signal) => (el) => {
151
141
  });
152
142
  return el;
153
143
  };
144
+ /**
145
+ * Render a single slot from state and abort previous render on updates.
146
+ * Useful when render creates subscriptions, timers, or event handlers.
147
+ * Defaults to a "div" container when no tagName is provided.
148
+ */
149
+ export const bindView = (signal, state, render, options) => {
150
+ var _a;
151
+ const tagName = ((_a = options === null || options === void 0 ? void 0 : options.tagName) !== null && _a !== void 0 ? _a : "div");
152
+ const element = document.createElement(tagName);
153
+ let childCtrl = null;
154
+ state.watch(signal, (data) => {
155
+ childCtrl === null || childCtrl === void 0 ? void 0 : childCtrl.abort();
156
+ childCtrl = new AbortController();
157
+ element.replaceChildren(render(childCtrl.signal, data));
158
+ });
159
+ signal.addEventListener("abort", () => {
160
+ childCtrl === null || childCtrl === void 0 ? void 0 : childCtrl.abort();
161
+ }, { once: true });
162
+ return element;
163
+ };
154
164
  /**
155
165
  * Add CSS classes to an element (returns element for chaining)
156
166
  * @returns {Enhancer}
@@ -1 +1 @@
1
- {"version":3,"file":"dom.js","sourceRoot":"","sources":["../../../src/dom.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,MAAM,OAAO,GAAG,CACd,GAAM,EACwB,EAAE,CAChC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAiC,CAAC;AAEtD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,CAAC,GAAG,CACf,GAAQ;AACR,8DAA8D;AAC9D,KAAkC,EAClC,QAAwC;AACxC,sCAAsC;EACV,EAAE;IAC9B,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAE5C,qCAAqC;IACrC,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,IAAI,KAAK,IAAI,IAAI;gBAAE,SAAS;YAE5B,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;gBACxD,0CAA0C;gBAC1C,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;gBAC7C,iEAAiE;gBACjE,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAC7C,CAAC;iBAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBAC/C,wCAAwC;gBACxC,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC3C,CAAC;iBAAM,CAAC;gBACN,6CAA6C;gBAC7C,mJAAmJ;gBAClJ,OAAe,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAChC,CAAC;QACH,CAAC;IACH,CAAC;IAED,kBAAkB;IAClB,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACrB,cAAc,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAqDF,sCAAsC;AACtC,MAAM,UAAU,EAAE,CAChB,GAAQ,EACR,OAA8C,EAC9C,QAAwC;IAExC,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAA,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IACnE,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAE5C,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1C,IAAI,KAAK,IAAI,IAAI;gBAAE,SAAS;YAC5B,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACvB,CAAC;IACH,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACnD,IAAI,KAAK,IAAI,IAAI;gBAAE,SAAS;YAC5B,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACrB,cAAc,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,mBAAmB,GAAG,CAG1B,GAAM,EACN,KAA6C,EACvC,EAAE;YACR,YAAY,CAAgC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC;QAC3E,CAAC,CAAC;QAEF,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAEjC,EAAE,CAAC;YACF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvB,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAwB,EAAE;gBACxD,MAAM;aACP,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,MAAM,cAAc,GAClB,CAAC,QAAuC,EAAE,EAAE,CAC5C,CAAwB,MAAS,EAAK,EAAE;IACtC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7D,CAAC;SAAM,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QAC5B,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjE,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAChE,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEJ;;;GAGG;AACH,MAAM,CAAC,MAAM,IAAI,GACf,CAAC,OAAwB,EAAE,EAAE,CAC7B,CAAqB,EAAM,EAAM,EAAE;IACjC,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IACjC,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEJ;;;GAGG;AACH,MAAM,CAAC,MAAM,IAAI,GACf,CAAC,IAAY,EAAE,KAAa,EAAE,EAAE,CAChC,CAAqB,EAAM,EAAM,EAAE;IACjC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC7B,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEJ;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAChB,CAAC,GAA2B,EAAE,EAAE,CAChC,CAAqB,EAAM,EAAM,EAAE;IACjC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;QAC5C,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEJ;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GACvB,CACE,GAAM,EACN,KAAoB,EACpB,MAAmB,EACnB,EAAE,CACJ,CAAC,EAAK,EAAK,EAAE;IACX,eAAe;IACf,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;IAEtB,gBAAgB;IAChB,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAO,EAAE,EAAE;QAC9B,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACd,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEJ;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GACnB,CAAC,GAAG,OAAiB,EAAE,EAAE,CACzB,CAAqB,EAAM,EAAM,EAAE;IACjC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;IAC7B,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEJ;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GACtB,CAAC,GAAG,OAAiB,EAAE,EAAE,CACzB,CAAqB,EAAM,EAAM,EAAE;IACjC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC;IAChC,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEJ;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GACtB,CAAC,SAAiB,EAAE,KAAe,EAAE,EAAE,CACvC,CAAC,EAAW,EAAW,EAAE;IACvB,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACtC,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEJ;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GACjB,CAAC,GAAG,QAAmB,EAAE,EAAE,CAC3B,CAAqB,EAAM,EAAM,EAAE;IACjC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IACnD,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEJ;;;;GAIG;AACH,MAAM,CAAC,MAAM,EAAE,GACb,CACE,IAAO,EACP,OAES,EACT,MAAmB,EACnB,EAAE,CACJ,CAAC,EAAK,EAAK,EAAE;IACX,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAwB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAChE,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEJ;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,CAAK,EACL,GAAG,GAAwB,EAC3B,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AASzC,MAAM,KAAK,GAAG,CAAI,MAA2B,EAAE,IAAO,EAAU,EAAE;IAChE,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,CAAC,IAAI,IAAI;QACX,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAEF,MAAM,KAAK,GAAG,CACZ,MAA2B,EAC3B,GAAW,EACO,EAAE,CAAC,CAAC;IACtB,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE;QACZ,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;QACrD,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1B,CAAC;IACD,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE;QACjB,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAClB,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,GAAG;gBAAE,OAAO,CAAC,CAAC;YACvC,IAAI,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,GAAG,GAAG,CAAC,CAAC;YACvE,KAAK,GAAG,IAAI,CAAC;YACb,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC;AAIH;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAC3B,CAAI,OASH,EAAE,EAAE,CACL,CAAqB,MAAU,EAAM,EAAE;IACrC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IACrE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAsB,CAAC;IAE3C,MAAM,OAAO,GAAG,GAAS,EAAE;QACzB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAChC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACjB,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC,CAAC;IAEF,sCAAsC;IACtC,MAAM,SAAS,GAAG,GAAS,EAAE;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEzB,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;YACvB,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC5B,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,GAAG,CAAC,CAAC;YAC5D,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACZ,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;QAED,iBAAiB;QACjB,KAAK,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjB,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACjB,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC;gBAChB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;QAED,iBAAiB;QACjB,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjB,MAAM,IAAI,GAAG,IAAI,eAAe,EAAE,CAAC;gBACnC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC/C,MAAM,EAAE,GAAG,SAAS,CAAC;oBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,KAAK,EAAE,SAAS;oBAChB,MAAM,EAAE,GAAG,EAAE,CACX,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;iBAC7D,CAAC,CAAC;gBACH,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,iCAAiC;QACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO;QACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC;YACzB,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,UAAU,KAAK,GAAG,CAAC,EAAE;gBACvB,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,IAAI,CAAC,CAAC;QACpD,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC9B,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,SAAS,EAAE,CAAC;IAEZ,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,UAAU,CAAe,OAMxC;IACC,MAAM,EACJ,KAAK,EACL,SAAS,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAuB,EAC1C,SAAS,EACT,KAAK,EACL,MAAM,GACP,GAAG,OAAO,CAAC;IAEZ,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACjD,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC;IACrC,IAAI,SAAS,GAA2B,IAAI,CAAC;IAC7C,IAAI,OAAO,GAAmB,IAAI,CAAC;IAEnC,sCAAsC;IACtC,MAAM,SAAS,GAAG,GAAG,EAAE;QACrB,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAE5C,IAAI,YAAY,IAAI,CAAC,OAAO,EAAE,CAAC;YAC7B,sBAAsB;YACtB,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC;YAClC,OAAO,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC7C,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;aAAM,IAAI,CAAC,YAAY,IAAI,OAAO,EAAE,CAAC;YACpC,wBAAwB;YACxB,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,EAAE,CAAC;YACnB,OAAO,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,GAAG,IAAI,CAAC;YACf,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;IACH,CAAC,CAAC;IAEF,yBAAyB;IACzB,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAE/B,8BAA8B;IAC9B,MAAM,CAAC,gBAAgB,CACrB,OAAO,EACP,GAAG,EAAE;QACH,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,EAAE,CAAC;IACrB,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAC;IAEF,iBAAiB;IACjB,SAAS,EAAE,CAAC;IAEZ,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,uEAAuE;AACvE,MAAM,CAAC,MAAM,SAAS,GACpB,CAAC,SAAiB,EAAE,KAAuB,EAAE,MAAmB,EAAE,EAAE,CACpE,CAAoB,EAAK,EAAK,EAAE;IAC9B,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IACxE,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAoB,QAAgB,EAAO,EAAE,CAC3E,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"dom.js","sourceRoot":"","sources":["../../../src/dom.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,CAAC,GAAG,CACf,GAAQ;AACR,8DAA8D;AAC9D,KAAkC,EAClC,QAAwC;AACxC,sCAAsC;EACV,EAAE;IAC9B,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAE5C,qCAAqC;IACrC,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,IAAI,KAAK,IAAI,IAAI;gBAAE,SAAS;YAE5B,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;gBACxD,MAAM,IAAI,KAAK,CACb,8GAA8G,CAC/G,CAAC;YACJ,CAAC;iBAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBAC/C,wCAAwC;gBACxC,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC3C,CAAC;iBAAM,CAAC;gBACN,6CAA6C;gBAC7C,mJAAmJ;gBAClJ,OAAe,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAChC,CAAC;QACH,CAAC;IACH,CAAC;IAED,kBAAkB;IAClB,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACrB,cAAc,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAyDF,sCAAsC;AACtC,MAAM,UAAU,EAAE,CAChB,GAAQ,EACR,OAA8C,EAC9C,QAAwC;IAExC,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAA,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IACnE,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAE5C,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,IAAI,KAAK,IAAI,IAAI;gBAAE,SAAS;YAC3B,OAAmC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACpD,CAAC;IACH,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACnD,IAAI,KAAK,IAAI,IAAI;gBAAE,SAAS;YAC5B,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACrB,cAAc,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,IAAI,EAAE,CAAC;QACT,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,KAAK;gBAAE,SAAS;YACpB,OAAmC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;YACxD,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC3B,OAAmC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACpD,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvB,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAwB,EAAE;gBACxD,MAAM;aACP,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,MAAM,cAAc,GAClB,CAAC,QAAuC,EAAE,EAAE,CAC5C,CAAwB,MAAS,EAAK,EAAE;IACtC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7D,CAAC;SAAM,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QAC5B,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjE,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAChE,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEJ;;;GAGG;AACH,MAAM,CAAC,MAAM,IAAI,GACf,CAAC,OAAwB,EAAE,EAAE,CAC7B,CAAqB,EAAM,EAAM,EAAE;IACjC,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IACjC,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEJ;;;GAGG;AACH,MAAM,CAAC,MAAM,IAAI,GACf,CAAC,IAAY,EAAE,KAAa,EAAE,EAAE,CAChC,CAAqB,EAAM,EAAM,EAAE;IACjC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC7B,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEJ;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAChB,CAAC,GAA2B,EAAE,EAAE,CAChC,CAAqB,EAAM,EAAM,EAAE;IACjC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;QAC5C,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEJ;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GACvB,CACE,GAAM,EACN,KAAoB,EACpB,MAAmB,EACnB,EAAE,CACJ,CAAC,EAAK,EAAK,EAAE;IACX,eAAe;IACf,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;IAEtB,gBAAgB;IAChB,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAO,EAAE,EAAE;QAC9B,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACd,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEJ;;;;GAIG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAItB,MAAmB,EACnB,KAAiB,EACjB,MAAuD,EACvD,OAA2B,EACC,EAAE;;IAC9B,MAAM,OAAO,GAAG,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,mCAAI,KAAK,CAAQ,CAAC;IACnD,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,SAAS,GAA2B,IAAI,CAAC;IAC7C,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QAC3B,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,EAAE,CAAC;QACnB,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC;QAClC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,gBAAgB,CACrB,OAAO,EACP,GAAG,EAAE;QACH,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,EAAE,CAAC;IACrB,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAC;IACF,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GACnB,CAAC,GAAG,OAAiB,EAAE,EAAE,CACzB,CAAqB,EAAM,EAAM,EAAE;IACjC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;IAC7B,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEJ;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GACtB,CAAC,GAAG,OAAiB,EAAE,EAAE,CACzB,CAAqB,EAAM,EAAM,EAAE;IACjC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC;IAChC,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEJ;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GACtB,CAAC,SAAiB,EAAE,KAAe,EAAE,EAAE,CACvC,CAAC,EAAW,EAAW,EAAE;IACvB,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACtC,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEJ;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GACjB,CAAC,GAAG,QAAmB,EAAE,EAAE,CAC3B,CAAqB,EAAM,EAAM,EAAE;IACjC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IACnD,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEJ;;;;GAIG;AACH,MAAM,CAAC,MAAM,EAAE,GACb,CACE,IAAO,EACP,OAES,EACT,MAAmB,EACnB,EAAE,CACJ,CAAC,EAAK,EAAK,EAAE;IACX,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAwB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAChE,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEJ;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,CAAK,EACL,GAAG,GAAwB,EAC3B,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AASzC,MAAM,KAAK,GAAG,CAAI,MAA2B,EAAE,IAAO,EAAU,EAAE;IAChE,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,CAAC,IAAI,IAAI;QACX,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAEF,MAAM,KAAK,GAAG,CACZ,MAA2B,EAC3B,GAAW,EACO,EAAE,CAAC,CAAC;IACtB,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE;QACZ,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;QACrD,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1B,CAAC;IACD,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE;QACjB,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAClB,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,GAAG;gBAAE,OAAO,CAAC,CAAC;YACvC,IAAI,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,GAAG,GAAG,CAAC,CAAC;YACvE,KAAK,GAAG,IAAI,CAAC;YACb,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC;AAIH;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAC3B,CAAI,OASH,EAAE,EAAE,CACL,CAAqB,MAAU,EAAM,EAAE;IACrC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IACrE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAsB,CAAC;IAE3C,MAAM,OAAO,GAAG,GAAS,EAAE;QACzB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAChC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACjB,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC,CAAC;IAEF,sCAAsC;IACtC,MAAM,SAAS,GAAG,GAAS,EAAE;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEzB,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;YACvB,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC5B,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,GAAG,CAAC,CAAC;YAC5D,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACZ,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;QAED,iBAAiB;QACjB,KAAK,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjB,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACjB,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC;gBAChB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;QAED,iBAAiB;QACjB,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjB,MAAM,IAAI,GAAG,IAAI,eAAe,EAAE,CAAC;gBACnC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC/C,MAAM,EAAE,GAAG,SAAS,CAAC;oBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,KAAK,EAAE,SAAS;oBAChB,MAAM,EAAE,GAAG,EAAE,CACX,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;iBAC7D,CAAC,CAAC;gBACH,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,iCAAiC;QACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO;QACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC;YACzB,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,UAAU,KAAK,GAAG,CAAC,EAAE;gBACvB,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,IAAI,CAAC,CAAC;QACpD,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC9B,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,SAAS,EAAE,CAAC;IAEZ,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,UAAU,CAAe,OAMxC;IACC,MAAM,EACJ,KAAK,EACL,SAAS,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAuB,EAC1C,SAAS,EACT,KAAK,EACL,MAAM,GACP,GAAG,OAAO,CAAC;IAEZ,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACjD,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC;IACrC,IAAI,SAAS,GAA2B,IAAI,CAAC;IAC7C,IAAI,OAAO,GAAmB,IAAI,CAAC;IAEnC,sCAAsC;IACtC,MAAM,SAAS,GAAG,GAAG,EAAE;QACrB,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAE5C,IAAI,YAAY,IAAI,CAAC,OAAO,EAAE,CAAC;YAC7B,sBAAsB;YACtB,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC;YAClC,OAAO,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC7C,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;aAAM,IAAI,CAAC,YAAY,IAAI,OAAO,EAAE,CAAC;YACpC,wBAAwB;YACxB,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,EAAE,CAAC;YACnB,OAAO,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,GAAG,IAAI,CAAC;YACf,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;IACH,CAAC,CAAC;IAEF,yBAAyB;IACzB,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAE/B,8BAA8B;IAC9B,MAAM,CAAC,gBAAgB,CACrB,OAAO,EACP,GAAG,EAAE;QACH,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,EAAE,CAAC;IACrB,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAC;IAEF,iBAAiB;IACjB,SAAS,EAAE,CAAC;IAEZ,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,uEAAuE;AACvE,MAAM,CAAC,MAAM,SAAS,GACpB,CAAC,SAAiB,EAAE,KAAuB,EAAE,MAAmB,EAAE,EAAE,CACpE,CAAoB,EAAK,EAAK,EAAE;IAC9B,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IACxE,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAoB,QAAgB,EAAO,EAAE,CAC3E,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC"}