mikuru 1.0.19 → 1.0.21

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 (62) hide show
  1. package/CHANGELOG.md +92 -0
  2. package/README.md +23 -13
  3. package/dist/compiler/analyzeTemplate.js +116 -12
  4. package/dist/compiler/analyzeTemplate.js.map +1 -1
  5. package/dist/compiler/compile.js +2 -2
  6. package/dist/compiler/compile.js.map +1 -1
  7. package/dist/compiler/compileHydration.d.ts +2 -0
  8. package/dist/compiler/compileHydration.js +27 -0
  9. package/dist/compiler/compileHydration.js.map +1 -0
  10. package/dist/compiler/compileSsr.d.ts +2 -0
  11. package/dist/compiler/compileSsr.js +21 -0
  12. package/dist/compiler/compileSsr.js.map +1 -0
  13. package/dist/compiler/generate.d.ts +6 -1
  14. package/dist/compiler/generate.js +1399 -93
  15. package/dist/compiler/generate.js.map +1 -1
  16. package/dist/compiler/generateHydration.d.ts +6 -0
  17. package/dist/compiler/generateHydration.js +1553 -0
  18. package/dist/compiler/generateHydration.js.map +1 -0
  19. package/dist/compiler/generateSsr.d.ts +2 -0
  20. package/dist/compiler/generateSsr.js +915 -0
  21. package/dist/compiler/generateSsr.js.map +1 -0
  22. package/dist/compiler/index.d.ts +3 -1
  23. package/dist/compiler/index.js +2 -0
  24. package/dist/compiler/index.js.map +1 -1
  25. package/dist/compiler/parseTemplate.js +16 -1
  26. package/dist/compiler/parseTemplate.js.map +1 -1
  27. package/dist/compiler/sourceMap.d.ts +2 -2
  28. package/dist/compiler/sourceMap.js +110 -6
  29. package/dist/compiler/sourceMap.js.map +1 -1
  30. package/dist/compiler/types.d.ts +8 -0
  31. package/dist/index.d.ts +6 -3
  32. package/dist/index.js +3 -1
  33. package/dist/index.js.map +1 -1
  34. package/dist/router/index.d.ts +8 -0
  35. package/dist/router/index.js +133 -3
  36. package/dist/router/index.js.map +1 -1
  37. package/dist/runtime/asyncComponent.d.ts +22 -2
  38. package/dist/runtime/asyncComponent.js +84 -2
  39. package/dist/runtime/asyncComponent.js.map +1 -1
  40. package/dist/runtime/devtools.d.ts +51 -0
  41. package/dist/runtime/devtools.js +113 -0
  42. package/dist/runtime/devtools.js.map +1 -0
  43. package/dist/runtime/dom.d.ts +5 -1
  44. package/dist/runtime/dom.js +100 -3
  45. package/dist/runtime/dom.js.map +1 -1
  46. package/dist/runtime/index.d.ts +7 -5
  47. package/dist/runtime/index.js +3 -2
  48. package/dist/runtime/index.js.map +1 -1
  49. package/dist/runtime/lifecycle.d.ts +6 -0
  50. package/dist/runtime/lifecycle.js +66 -10
  51. package/dist/runtime/lifecycle.js.map +1 -1
  52. package/dist/runtime/reactivity.d.ts +33 -1
  53. package/dist/runtime/reactivity.js +254 -13
  54. package/dist/runtime/reactivity.js.map +1 -1
  55. package/dist/server.d.ts +33 -0
  56. package/dist/server.js +285 -0
  57. package/dist/server.js.map +1 -0
  58. package/dist/vite.d.ts +1 -0
  59. package/dist/vite.js +39 -18
  60. package/dist/vite.js.map +1 -1
  61. package/package.json +110 -100
  62. package/types/env.d.ts +58 -29
@@ -1,4 +1,5 @@
1
1
  import { effect, inject, provide, ref, unwrap } from "../runtime/index.js";
2
+ import { emitDebugEvent } from "../runtime/devtools.js";
2
3
  export const NavigationFailureType = {
3
4
  aborted: "aborted",
4
5
  cancelled: "cancelled",
@@ -74,18 +75,25 @@ export function createRouter(options) {
74
75
  try {
75
76
  target = resolveRouteTarget(to, from.path);
76
77
  const id = ++navigationId;
78
+ emitDebugEvent("route:navigate", { status: "start", to: target, from, replace });
77
79
  if (target.fullPath === from.fullPath) {
78
- return createNavigationFailure(NavigationFailureType.duplicated, target, from);
80
+ const failure = createNavigationFailure(NavigationFailureType.duplicated, target, from);
81
+ emitDebugEvent("route:navigate", { status: "duplicated", to: target, from, replace, failure });
82
+ return failure;
79
83
  }
80
84
  const guards = [...beforeGuards, ...readBeforeEnterGuards(target.matchedRecords)];
81
85
  for (const guard of guards) {
82
86
  const result = await guard(target, from);
83
- if (id !== navigationId)
84
- return createNavigationFailure(NavigationFailureType.cancelled, target, from);
87
+ if (id !== navigationId) {
88
+ const failure = createNavigationFailure(NavigationFailureType.cancelled, target, from);
89
+ emitDebugEvent("route:navigate", { status: "cancelled", to: target, from, replace, failure });
90
+ return failure;
91
+ }
85
92
  if (result === false) {
86
93
  const failure = createNavigationFailure(NavigationFailureType.aborted, target, from);
87
94
  for (const hook of afterHooks)
88
95
  hook(target, from, failure);
96
+ emitDebugEvent("route:navigate", { status: "aborted", to: target, from, replace, failure });
89
97
  return failure;
90
98
  }
91
99
  if (typeof result === "string" || (result && typeof result === "object")) {
@@ -104,9 +112,11 @@ export function createRouter(options) {
104
112
  hook(target, from);
105
113
  }
106
114
  await trackReady(handleScroll(target, from));
115
+ emitDebugEvent("route:navigate", { status: "success", to: target, from, replace });
107
116
  return target;
108
117
  }
109
118
  catch (error) {
119
+ emitDebugEvent("route:error", { error, to: target, from, replace });
110
120
  notifyRouterError(error, target, from);
111
121
  throw error;
112
122
  }
@@ -116,10 +126,13 @@ export function createRouter(options) {
116
126
  let target = from;
117
127
  try {
118
128
  target = resolveRouteTarget(to, from.path);
129
+ emitDebugEvent("route:preload", { status: "start", to: target, from });
119
130
  await trackReady(Promise.all(target.matchedRecords.map((record) => record.component ? resolveRouteComponent(record) : Promise.resolve())));
131
+ emitDebugEvent("route:preload", { status: "success", to: target, from });
120
132
  return target;
121
133
  }
122
134
  catch (error) {
135
+ emitDebugEvent("route:error", { error, to: target, from, preload: true });
123
136
  notifyRouterError(error, target, from);
124
137
  throw error;
125
138
  }
@@ -397,6 +410,33 @@ export function createMemoryHistory(initial = "/") {
397
410
  };
398
411
  }
399
412
  export const RouterView = {
413
+ async renderToString(props = {}) {
414
+ const child = typeof props.children === "function"
415
+ ? await props.children({ __mikuru_context: props.__mikuru_context })
416
+ : "";
417
+ return String(child ?? "");
418
+ },
419
+ hydrate(target, props = {}) {
420
+ const cleanup = [];
421
+ const childTarget = target.matches("[data-mikuru-router-view]")
422
+ ? target.firstElementChild
423
+ : target;
424
+ if (childTarget && typeof props.children === "function") {
425
+ void Promise.resolve(props.children(childTarget, { __mikuru_context: props.__mikuru_context }))
426
+ .then((result) => {
427
+ if (result && typeof result === "object" && typeof result.unmount === "function") {
428
+ cleanup.push(() => result.unmount());
429
+ }
430
+ });
431
+ }
432
+ return {
433
+ element: target,
434
+ unmount() {
435
+ for (const fn of cleanup.splice(0).reverse())
436
+ fn();
437
+ }
438
+ };
439
+ },
400
440
  mount(target, props = {}) {
401
441
  const anchor = document.createComment("mikuru-router-view");
402
442
  const cleanup = [];
@@ -462,6 +502,77 @@ export const RouterView = {
462
502
  }
463
503
  };
464
504
  export const RouterLink = {
505
+ async renderToString(props = {}) {
506
+ const router = getRouterProp(props);
507
+ const to = readToProp(props);
508
+ const targetRoute = router.resolve(to);
509
+ const activeClass = String(unwrap(props.activeClass) ?? "router-link-active");
510
+ const exactActiveClass = String(unwrap(props.exactActiveClass) ?? "router-link-exact-active");
511
+ const isExactActive = router.currentRoute.value.fullPath === targetRoute.fullPath;
512
+ const isActive = isExactActive || isPathActive(router.currentRoute.value.path, targetRoute.path);
513
+ const classes = [isActive ? activeClass : "", isExactActive ? exactActiveClass : ""].filter(Boolean).join(" ");
514
+ const ariaCurrent = isExactActive ? " aria-current=\"page\"" : "";
515
+ const classAttr = classes ? ` class="${escapeRouterHtml(classes)}"` : "";
516
+ const label = typeof props.children === "function"
517
+ ? String(await props.children({ __mikuru_context: props.__mikuru_context }) ?? "")
518
+ : escapeRouterHtml(readRouterLinkText(props));
519
+ return `<a href="${escapeRouterHtml(router.createHref(to))}"${classAttr}${ariaCurrent}>${label}</a>`;
520
+ },
521
+ hydrate(target, props = {}) {
522
+ const anchor = target;
523
+ const cleanup = [];
524
+ const hasChildren = typeof props.children === "function";
525
+ const navigate = (event) => {
526
+ const router = getRouterProp(props);
527
+ event.preventDefault();
528
+ void (unwrap(props.replace) ? router.replace(readToProp(props)) : router.push(readToProp(props)));
529
+ };
530
+ const preload = () => {
531
+ if (!unwrap(props.preload))
532
+ return;
533
+ const router = getRouterProp(props);
534
+ void router.preload(readToProp(props)).catch(() => undefined);
535
+ };
536
+ anchor.addEventListener("click", navigate);
537
+ anchor.addEventListener("mouseenter", preload);
538
+ anchor.addEventListener("focus", preload);
539
+ cleanup.push(() => anchor.removeEventListener("click", navigate));
540
+ cleanup.push(() => anchor.removeEventListener("mouseenter", preload));
541
+ cleanup.push(() => anchor.removeEventListener("focus", preload));
542
+ if (hasChildren) {
543
+ const cleanupResult = props.children(anchor, {});
544
+ if (cleanupResult)
545
+ cleanup.push(cleanupResult);
546
+ }
547
+ const stop = effect(() => {
548
+ const router = getRouterProp(props);
549
+ const to = readToProp(props);
550
+ const targetRoute = router.resolve(to);
551
+ const activeClass = String(unwrap(props.activeClass) ?? "router-link-active");
552
+ const exactActiveClass = String(unwrap(props.exactActiveClass) ?? "router-link-exact-active");
553
+ const isExactActive = router.currentRoute.value.fullPath === targetRoute.fullPath;
554
+ const isActive = isExactActive || isPathActive(router.currentRoute.value.path, targetRoute.path);
555
+ anchor.href = router.createHref(to);
556
+ if (!hasChildren)
557
+ anchor.textContent = readRouterLinkText(props);
558
+ anchor.classList.toggle(activeClass, isActive);
559
+ anchor.classList.toggle(exactActiveClass, isExactActive);
560
+ if (isExactActive) {
561
+ anchor.setAttribute("aria-current", "page");
562
+ }
563
+ else {
564
+ anchor.removeAttribute("aria-current");
565
+ }
566
+ });
567
+ cleanup.push(stop);
568
+ return {
569
+ element: anchor,
570
+ unmount() {
571
+ for (const fn of cleanup.splice(0).reverse())
572
+ fn();
573
+ }
574
+ };
575
+ },
465
576
  mount(target, props = {}) {
466
577
  const anchor = document.createElement("a");
467
578
  const cleanup = [];
@@ -530,6 +641,25 @@ export const RouterLink = {
530
641
  };
531
642
  }
532
643
  };
644
+ function readRouterLinkText(props) {
645
+ const label = unwrap(props.label) ?? unwrap(props.childrenText);
646
+ if (label !== undefined)
647
+ return String(label);
648
+ const to = readToProp(props);
649
+ if (typeof to === "string")
650
+ return to;
651
+ if ("name" in to)
652
+ return to.name;
653
+ return to.path;
654
+ }
655
+ function escapeRouterHtml(value) {
656
+ return String(value ?? "")
657
+ .replaceAll("&", "&amp;")
658
+ .replaceAll("<", "&lt;")
659
+ .replaceAll(">", "&gt;")
660
+ .replaceAll("\"", "&quot;")
661
+ .replaceAll("'", "&#39;");
662
+ }
533
663
  function getRouterProp(props) {
534
664
  const router = unwrap(props.router);
535
665
  if (!router || typeof router !== "object" || !("currentRoute" in router)) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/router/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/router/index.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,17 @@
1
1
  export type MikuruComponentInstance = {
2
2
  element: Element | Comment;
3
+ activate?: () => void;
4
+ deactivate?: () => void;
3
5
  unmount(): void;
4
6
  };
5
7
  export type MikuruComponent = {
6
8
  mount(target: Element | DocumentFragment, props?: Record<string, unknown>): MikuruComponentInstance;
9
+ renderToString?: (props?: Record<string, unknown>) => string | Promise<string>;
7
10
  inheritAttrs?: boolean;
8
11
  };
12
+ export type MikuruAsyncComponent = MikuruComponent & {
13
+ renderToString: (props?: Record<string, unknown>) => string | Promise<string>;
14
+ };
9
15
  export type AsyncComponentLoader = () => Promise<MikuruComponent | {
10
16
  default: MikuruComponent;
11
17
  }>;
@@ -16,7 +22,7 @@ export type AsyncComponentOptions = {
16
22
  delay?: number;
17
23
  timeout?: number;
18
24
  };
19
- export type MikuruErrorPhase = "runtime" | "mount" | "event" | "emit" | "mounted" | "cleanup" | "unmounted" | "async-loader" | "async-timeout";
25
+ export type MikuruErrorPhase = "runtime" | "mount" | "event" | "emit" | "mounted" | "activated" | "deactivated" | "cleanup" | "unmounted" | "async-loader" | "async-timeout";
20
26
  export type MikuruErrorInfo = {
21
27
  component?: string;
22
28
  filename?: string;
@@ -26,4 +32,18 @@ export type MikuruErrorInfo = {
26
32
  filename?: string;
27
33
  };
28
34
  };
29
- export declare function defineAsyncComponent(loaderOrOptions: AsyncComponentLoader | AsyncComponentOptions): MikuruComponent;
35
+ export type MikuruErrorBoundaryFallbackProps = {
36
+ error: unknown;
37
+ errorInfo?: MikuruErrorInfo;
38
+ retry: () => void;
39
+ reset: () => void;
40
+ };
41
+ export type MikuruAsyncBoundaryFallbackProps = {
42
+ error?: unknown;
43
+ errors?: unknown[];
44
+ errorInfo?: MikuruErrorInfo;
45
+ pending: number;
46
+ retry: () => void;
47
+ reset: () => void;
48
+ };
49
+ export declare function defineAsyncComponent(loaderOrOptions: AsyncComponentLoader | AsyncComponentOptions): MikuruAsyncComponent;
@@ -1,3 +1,4 @@
1
+ import { emitDebugEvent } from "./devtools.js";
1
2
  export function defineAsyncComponent(loaderOrOptions) {
2
3
  const options = typeof loaderOrOptions === "function" ? { loader: loaderOrOptions } : loaderOrOptions;
3
4
  let pending;
@@ -16,6 +17,36 @@ export function defineAsyncComponent(loaderOrOptions) {
16
17
  return pending;
17
18
  };
18
19
  return {
20
+ async renderToString(props = {}) {
21
+ const context = props.__mikuru_context;
22
+ const timeout = options.timeout && options.timeout > 0
23
+ ? new Promise((_, reject) => {
24
+ setTimeout(() => reject(new Error("Async component timed out")), options.timeout);
25
+ })
26
+ : undefined;
27
+ try {
28
+ const component = await (timeout ? Promise.race([load(), timeout]) : load());
29
+ if (typeof component.renderToString !== "function") {
30
+ throw new TypeError("Async component resolved component does not expose renderToString()");
31
+ }
32
+ return component.renderToString(props);
33
+ }
34
+ catch (error) {
35
+ if (options.errorComponent?.renderToString) {
36
+ return options.errorComponent.renderToString({
37
+ ...props,
38
+ error,
39
+ errorInfo: {
40
+ component: context?.component,
41
+ filename: context?.filename,
42
+ phase: error instanceof Error && error.message === "Async component timed out" ? "async-timeout" : "async-loader"
43
+ },
44
+ retry: () => { }
45
+ });
46
+ }
47
+ throw error;
48
+ }
49
+ },
19
50
  mount(target, props = {}) {
20
51
  const context = props.__mikuru_context;
21
52
  const ownerDocument = target.ownerDocument ?? globalThis.document;
@@ -23,6 +54,7 @@ export function defineAsyncComponent(loaderOrOptions) {
23
54
  const end = ownerDocument.createComment("/async-component");
24
55
  let child;
25
56
  let cancelled = false;
57
+ let active = false;
26
58
  let token = 0;
27
59
  let delayTimer;
28
60
  let timeoutTimer;
@@ -37,6 +69,9 @@ export function defineAsyncComponent(loaderOrOptions) {
37
69
  const fragment = ownerDocument.createDocumentFragment();
38
70
  child = component.mount(fragment, nextProps);
39
71
  end.parentNode?.insertBefore(fragment, end);
72
+ if (active) {
73
+ child.activate?.();
74
+ }
40
75
  };
41
76
  const renderFallback = (component, nextProps) => {
42
77
  clear();
@@ -63,7 +98,14 @@ export function defineAsyncComponent(loaderOrOptions) {
63
98
  };
64
99
  const startLoad = () => {
65
100
  const currentToken = ++token;
101
+ const boundaryEntry = resolved ? undefined : context?.asyncBoundary?.start({ retry: () => startLoad() });
66
102
  clearTimers();
103
+ emitDebugEvent("async:pending", {
104
+ component: context ? { component: context.component, filename: context.filename } : undefined,
105
+ componentId: context?.debugId,
106
+ hasBoundary: Boolean(boundaryEntry),
107
+ cached: Boolean(resolved)
108
+ });
67
109
  if (options.loadingComponent && (options.delay ?? 0) <= 0) {
68
110
  renderFallback(options.loadingComponent, props);
69
111
  }
@@ -82,8 +124,21 @@ export function defineAsyncComponent(loaderOrOptions) {
82
124
  pending = undefined;
83
125
  const error = new Error("Async component timed out");
84
126
  renderFallback(options.errorComponent, { ...props, error, retry: () => startLoad() });
127
+ emitDebugEvent("async:rejected", {
128
+ component: context ? { component: context.component, filename: context.filename } : undefined,
129
+ componentId: context?.debugId,
130
+ hasBoundary: Boolean(boundaryEntry),
131
+ error,
132
+ errorInfo: { component: context?.component, filename: context?.filename, phase: "async-timeout" }
133
+ });
85
134
  if (!options.errorComponent) {
86
- reportError(error, "async-timeout");
135
+ boundaryEntry?.reject(error, { component: context?.component, filename: context?.filename, phase: "async-timeout" });
136
+ if (!boundaryEntry) {
137
+ reportError(error, "async-timeout");
138
+ }
139
+ }
140
+ else {
141
+ boundaryEntry?.resolve();
87
142
  }
88
143
  }
89
144
  }, options.timeout);
@@ -94,6 +149,12 @@ export function defineAsyncComponent(loaderOrOptions) {
94
149
  return;
95
150
  }
96
151
  clearTimers();
152
+ boundaryEntry?.resolve();
153
+ emitDebugEvent("async:resolved", {
154
+ component: context ? { component: context.component, filename: context.filename } : undefined,
155
+ componentId: context?.debugId,
156
+ hasBoundary: Boolean(boundaryEntry)
157
+ });
97
158
  clear();
98
159
  render(component, props);
99
160
  }, (error) => {
@@ -102,8 +163,21 @@ export function defineAsyncComponent(loaderOrOptions) {
102
163
  }
103
164
  clearTimers();
104
165
  renderFallback(options.errorComponent, { ...props, error, retry: () => startLoad() });
166
+ emitDebugEvent("async:rejected", {
167
+ component: context ? { component: context.component, filename: context.filename } : undefined,
168
+ componentId: context?.debugId,
169
+ hasBoundary: Boolean(boundaryEntry),
170
+ error,
171
+ errorInfo: { component: context?.component, filename: context?.filename, phase: "async-loader" }
172
+ });
105
173
  if (!options.errorComponent) {
106
- reportError(error, "async-loader");
174
+ boundaryEntry?.reject(error, { component: context?.component, filename: context?.filename, phase: "async-loader" });
175
+ if (!boundaryEntry) {
176
+ reportError(error, "async-loader");
177
+ }
178
+ }
179
+ else {
180
+ boundaryEntry?.resolve();
107
181
  }
108
182
  });
109
183
  return promise;
@@ -111,6 +185,14 @@ export function defineAsyncComponent(loaderOrOptions) {
111
185
  void startLoad();
112
186
  return {
113
187
  element: start,
188
+ activate() {
189
+ active = true;
190
+ child?.activate?.();
191
+ },
192
+ deactivate() {
193
+ active = false;
194
+ child?.deactivate?.();
195
+ },
114
196
  unmount() {
115
197
  cancelled = true;
116
198
  clearTimers();
@@ -1 +1 @@
1
- {"version":3,"file":"asyncComponent.js","sourceRoot":"","sources":["../../src/runtime/asyncComponent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"asyncComponent.js","sourceRoot":"","sources":["../../src/runtime/asyncComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAqF/C,MAAM,UAAU,oBAAoB,CAAC,eAA6D;IAChG,MAAM,OAAO,GAAG,OAAO,eAAe,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC;IACtG,IAAI,OAA6C,CAAC;IAClD,IAAI,QAAqC,CAAC;IAE1C,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC;QAED,OAAO,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAC/B,CAAC,MAAM,EAAE,EAAE;YACT,QAAQ,GAAG,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;YACzD,OAAO,QAAQ,CAAC;QAClB,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,OAAO,GAAG,SAAS,CAAC;YACpB,MAAM,KAAK,CAAC;QACd,CAAC,CACF,CAAC;QAEF,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,OAAO;QACL,KAAK,CAAC,cAAc,CAAC,KAAK,GAAG,EAAE;YAC7B,MAAM,OAAO,GAAG,KAAK,CAAC,gBAAsD,CAAC;YAC7E,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,GAAG,CAAC;gBACpD,CAAC,CAAC,IAAI,OAAO,CAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;oBAC3C,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;gBACpF,CAAC,CAAC;gBACF,CAAC,CAAC,SAAS,CAAC;YAEd,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC7E,IAAI,OAAO,SAAS,CAAC,cAAc,KAAK,UAAU,EAAE,CAAC;oBACnD,MAAM,IAAI,SAAS,CAAC,qEAAqE,CAAC,CAAC;gBAC7F,CAAC;gBACD,OAAO,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACzC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,OAAO,CAAC,cAAc,EAAE,cAAc,EAAE,CAAC;oBAC3C,OAAO,OAAO,CAAC,cAAc,CAAC,cAAc,CAAC;wBAC3C,GAAG,KAAK;wBACR,KAAK;wBACL,SAAS,EAAE;4BACT,SAAS,EAAE,OAAO,EAAE,SAAS;4BAC7B,QAAQ,EAAE,OAAO,EAAE,QAAQ;4BAC3B,KAAK,EAAE,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,2BAA2B,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc;yBAClH;wBACD,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;qBAChB,CAAC,CAAC;gBACL,CAAC;gBAED,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QAED,KAAK,CAAC,MAAM,EAAE,KAAK,GAAG,EAAE;YACtB,MAAM,OAAO,GAAG,KAAK,CAAC,gBAAsD,CAAC;YAC7E,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,UAAU,CAAC,QAAQ,CAAC;YAClE,MAAM,KAAK,GAAG,aAAa,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;YAC7D,MAAM,GAAG,GAAG,aAAa,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;YAC5D,IAAI,KAA0C,CAAC;YAC/C,IAAI,SAAS,GAAG,KAAK,CAAC;YACtB,IAAI,MAAM,GAAG,KAAK,CAAC;YACnB,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,UAAqD,CAAC;YAC1D,IAAI,YAAuD,CAAC;YAE5D,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAC1B,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAExB,MAAM,KAAK,GAAG,GAAG,EAAE;gBACjB,KAAK,EAAE,OAAO,EAAE,CAAC;gBACjB,KAAK,GAAG,SAAS,CAAC;gBAClB,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC5B,CAAC,CAAC;YAEF,MAAM,MAAM,GAAG,CAAC,SAA0B,EAAE,SAAkC,EAAE,EAAE;gBAChF,MAAM,QAAQ,GAAG,aAAa,CAAC,sBAAsB,EAAE,CAAC;gBACxD,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;gBAC7C,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;gBAC5C,IAAI,MAAM,EAAE,CAAC;oBACX,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACrB,CAAC;YACH,CAAC,CAAC;YAEF,MAAM,cAAc,GAAG,CAAC,SAAsC,EAAE,SAAkC,EAAE,EAAE;gBACpG,KAAK,EAAE,CAAC;gBACR,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC,CAAC;YAEF,MAAM,WAAW,GAAG,CAAC,KAAc,EAAE,KAAuB,EAAE,EAAE;gBAC9D,IAAI,OAAO,OAAO,EAAE,YAAY,KAAK,UAAU,EAAE,CAAC;oBAChD,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;oBACjG,OAAO;gBACT,CAAC;gBAED,UAAU,CAAC,GAAG,EAAE,GAAG,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,CAAC,CAAC;YAEF,MAAM,WAAW,GAAG,GAAG,EAAE;gBACvB,IAAI,UAAU,EAAE,CAAC;oBACf,YAAY,CAAC,UAAU,CAAC,CAAC;oBACzB,UAAU,GAAG,SAAS,CAAC;gBACzB,CAAC;gBAED,IAAI,YAAY,EAAE,CAAC;oBACjB,YAAY,CAAC,YAAY,CAAC,CAAC;oBAC3B,YAAY,GAAG,SAAS,CAAC;gBAC3B,CAAC;YACH,CAAC,CAAC;YAEF,MAAM,SAAS,GAAG,GAAG,EAAE;gBACrB,MAAM,YAAY,GAAG,EAAE,KAAK,CAAC;gBAC7B,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;gBACzG,WAAW,EAAE,CAAC;gBACd,cAAc,CAAC,eAAe,EAAE;oBAC9B,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS;oBAC7F,WAAW,EAAE,OAAO,EAAE,OAAO;oBAC7B,WAAW,EAAE,OAAO,CAAC,aAAa,CAAC;oBACnC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC;iBAC1B,CAAC,CAAC;gBAEH,IAAI,OAAO,CAAC,gBAAgB,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1D,cAAc,CAAC,OAAO,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;gBAClD,CAAC;qBAAM,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;oBACpC,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE;wBAC3B,IAAI,CAAC,SAAS,IAAI,YAAY,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;4BACnD,cAAc,CAAC,OAAO,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;wBAClD,CAAC;oBACH,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;gBACpB,CAAC;gBAED,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;oBAC3C,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE;wBAC7B,IAAI,CAAC,SAAS,IAAI,YAAY,KAAK,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;4BACtD,KAAK,IAAI,CAAC,CAAC;4BACX,WAAW,EAAE,CAAC;4BACd,OAAO,GAAG,SAAS,CAAC;4BACpB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;4BACrD,cAAc,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;4BACtF,cAAc,CAAC,gBAAgB,EAAE;gCAC/B,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS;gCAC7F,WAAW,EAAE,OAAO,EAAE,OAAO;gCAC7B,WAAW,EAAE,OAAO,CAAC,aAAa,CAAC;gCACnC,KAAK;gCACL,SAAS,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE;6BAClG,CAAC,CAAC;4BACH,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;gCAC5B,aAAa,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC;gCACrH,IAAI,CAAC,aAAa,EAAE,CAAC;oCACnB,WAAW,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;gCACtC,CAAC;4BACH,CAAC;iCAAM,CAAC;gCACN,aAAa,EAAE,OAAO,EAAE,CAAC;4BAC3B,CAAC;wBACH,CAAC;oBACH,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;gBACtB,CAAC;gBAED,MAAM,OAAO,GAAG,IAAI,EAAE,CAAC;gBACvB,OAAO,CAAC,IAAI,CACV,CAAC,SAAS,EAAE,EAAE;oBACZ,IAAI,SAAS,IAAI,YAAY,KAAK,KAAK,EAAE,CAAC;wBACxC,OAAO;oBACT,CAAC;oBAED,WAAW,EAAE,CAAC;oBACd,aAAa,EAAE,OAAO,EAAE,CAAC;oBACzB,cAAc,CAAC,gBAAgB,EAAE;wBAC/B,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS;wBAC7F,WAAW,EAAE,OAAO,EAAE,OAAO;wBAC7B,WAAW,EAAE,OAAO,CAAC,aAAa,CAAC;qBACpC,CAAC,CAAC;oBACH,KAAK,EAAE,CAAC;oBACR,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBAC3B,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;oBACR,IAAI,SAAS,IAAI,YAAY,KAAK,KAAK,EAAE,CAAC;wBACxC,OAAO;oBACT,CAAC;oBAED,WAAW,EAAE,CAAC;oBACd,cAAc,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;oBACtF,cAAc,CAAC,gBAAgB,EAAE;wBAC/B,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS;wBAC7F,WAAW,EAAE,OAAO,EAAE,OAAO;wBAC7B,WAAW,EAAE,OAAO,CAAC,aAAa,CAAC;wBACnC,KAAK;wBACL,SAAS,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE;qBACjG,CAAC,CAAC;oBAEH,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;wBAC5B,aAAa,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;wBACpH,IAAI,CAAC,aAAa,EAAE,CAAC;4BACnB,WAAW,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;wBACrC,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,aAAa,EAAE,OAAO,EAAE,CAAC;oBAC3B,CAAC;gBACH,CAAC,CACF,CAAC;gBAEF,OAAO,OAAO,CAAC;YACjB,CAAC,CAAC;YAEF,KAAK,SAAS,EAAE,CAAC;YAEjB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,QAAQ;oBACN,MAAM,GAAG,IAAI,CAAC;oBACd,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC;gBACtB,CAAC;gBACD,UAAU;oBACR,MAAM,GAAG,KAAK,CAAC;oBACf,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC;gBACxB,CAAC;gBACD,OAAO;oBACL,SAAS,GAAG,IAAI,CAAC;oBACjB,WAAW,EAAE,CAAC;oBACd,KAAK,EAAE,CAAC;oBACR,KAAK,CAAC,MAAM,EAAE,CAAC;oBACf,GAAG,CAAC,MAAM,EAAE,CAAC;gBACf,CAAC;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAAc,EAAE,GAAY;IACjD,IAAI,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC;IAEhC,OAAO,OAAO,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC;QACjC,OAAO,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;AACH,CAAC"}