@elaraai/e3-ui 1.0.83 → 1.0.84

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 (69) hide show
  1. package/dist/src/bind/record.d.ts +229 -4
  2. package/dist/src/bind/record.d.ts.map +1 -1
  3. package/dist/src/bind/record.js +245 -5
  4. package/dist/src/bind/record.js.map +1 -1
  5. package/dist/src/index.d.ts +2 -1
  6. package/dist/src/index.d.ts.map +1 -1
  7. package/dist/src/index.js +4 -1
  8. package/dist/src/index.js.map +1 -1
  9. package/dist/src/internal.d.ts +2 -1
  10. package/dist/src/internal.d.ts.map +1 -1
  11. package/dist/src/internal.js +5 -1
  12. package/dist/src/internal.js.map +1 -1
  13. package/dist/src/studio/builder.d.ts +3123 -0
  14. package/dist/src/studio/builder.d.ts.map +1 -0
  15. package/dist/src/studio/builder.js +115 -0
  16. package/dist/src/studio/builder.js.map +1 -0
  17. package/dist/src/studio/canvas.d.ts +83 -0
  18. package/dist/src/studio/canvas.d.ts.map +1 -0
  19. package/dist/src/studio/canvas.js +71 -0
  20. package/dist/src/studio/canvas.js.map +1 -0
  21. package/dist/src/studio/component.d.ts +178 -0
  22. package/dist/src/studio/component.d.ts.map +1 -0
  23. package/dist/src/studio/component.js +189 -0
  24. package/dist/src/studio/component.js.map +1 -0
  25. package/dist/src/studio/index.d.ts +104 -0
  26. package/dist/src/studio/index.d.ts.map +1 -0
  27. package/dist/src/studio/index.js +75 -0
  28. package/dist/src/studio/index.js.map +1 -0
  29. package/dist/src/studio/inspector.d.ts +208 -0
  30. package/dist/src/studio/inspector.d.ts.map +1 -0
  31. package/dist/src/studio/inspector.js +155 -0
  32. package/dist/src/studio/inspector.js.map +1 -0
  33. package/dist/src/studio/library.d.ts +3506 -0
  34. package/dist/src/studio/library.d.ts.map +1 -0
  35. package/dist/src/studio/library.js +245 -0
  36. package/dist/src/studio/library.js.map +1 -0
  37. package/dist/src/studio/page.d.ts +305 -0
  38. package/dist/src/studio/page.d.ts.map +1 -0
  39. package/dist/src/studio/page.js +105 -0
  40. package/dist/src/studio/page.js.map +1 -0
  41. package/dist/src/studio/pages.d.ts +10929 -0
  42. package/dist/src/studio/pages.d.ts.map +1 -0
  43. package/dist/src/studio/pages.js +502 -0
  44. package/dist/src/studio/pages.js.map +1 -0
  45. package/dist/src/studio/palette.d.ts +179 -0
  46. package/dist/src/studio/palette.d.ts.map +1 -0
  47. package/dist/src/studio/palette.js +120 -0
  48. package/dist/src/studio/palette.js.map +1 -0
  49. package/dist/src/studio/publish.d.ts +397 -0
  50. package/dist/src/studio/publish.d.ts.map +1 -0
  51. package/dist/src/studio/publish.js +198 -0
  52. package/dist/src/studio/publish.js.map +1 -0
  53. package/dist/test/bind/record/record.examples.d.ts +65 -1
  54. package/dist/test/bind/record/record.examples.d.ts.map +1 -1
  55. package/dist/test/bind/record/record.examples.js +21 -3
  56. package/dist/test/bind/record/record.examples.js.map +1 -1
  57. package/dist/test/studio/component.examples.d.ts +7 -0
  58. package/dist/test/studio/component.examples.d.ts.map +1 -0
  59. package/dist/test/studio/component.examples.js +46 -0
  60. package/dist/test/studio/component.examples.js.map +1 -0
  61. package/dist/test/studio/page.examples.d.ts +7 -0
  62. package/dist/test/studio/page.examples.d.ts.map +1 -0
  63. package/dist/test/studio/page.examples.js +64 -0
  64. package/dist/test/studio/page.examples.js.map +1 -0
  65. package/dist/test/studio/studio.examples.d.ts +1766 -0
  66. package/dist/test/studio/studio.examples.d.ts.map +1 -0
  67. package/dist/test/studio/studio.examples.js +354 -0
  68. package/dist/test/studio/studio.examples.js.map +1 -0
  69. package/package.json +9 -8
@@ -3,11 +3,75 @@
3
3
  * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
4
  */
5
5
  /** @jsxImportSource @elaraai/e3-ui */
6
- import { IntegerType } from "@elaraai/east";
6
+ import { DictType, IntegerType, NullType, StringType, StructType } from "@elaraai/east";
7
7
  export declare const counter: import("@elaraai/e3").RecordDef<IntegerType, [import("@elaraai/east").variant<"field", "records">, import("@elaraai/east").variant<"field", "counter">]>;
8
8
  export declare const increment: import("@elaraai/e3").MutationDef<"increment", IntegerType, [IntegerType]>;
9
9
  export declare const reset: import("@elaraai/e3").MutationDef<"reset", IntegerType, []>;
10
10
  export declare const recordBindMutate: import("@elaraai/east").ExampleDef<[], any>;
11
11
  export declare const recordBindStatus: import("@elaraai/east").ExampleDef<[], any>;
12
+ export declare const JobType: StructType<{
13
+ readonly task: StringType;
14
+ readonly qty: IntegerType;
15
+ }>;
16
+ export declare const jobs: import("@elaraai/e3").RecordDef<DictType<StringType, StructType<{
17
+ readonly task: StringType;
18
+ readonly qty: IntegerType;
19
+ }>>, [import("@elaraai/east").variant<"field", "records">, import("@elaraai/east").variant<"field", "jobs">]>;
20
+ export declare const jobsPatch: import("@elaraai/e3").MutationDef<"patch", DictType<StringType, StructType<{
21
+ readonly task: StringType;
22
+ readonly qty: IntegerType;
23
+ }>>, [import("@elaraai/east").VariantType<{
24
+ unchanged: NullType;
25
+ replace: StructType<{
26
+ before: DictType<StringType, StructType<{
27
+ readonly task: StringType;
28
+ readonly qty: IntegerType;
29
+ }>>;
30
+ after: DictType<StringType, StructType<{
31
+ readonly task: StringType;
32
+ readonly qty: IntegerType;
33
+ }>>;
34
+ }>;
35
+ patch: DictType<StringType, import("@elaraai/east").VariantType<{
36
+ delete: StructType<{
37
+ readonly task: StringType;
38
+ readonly qty: IntegerType;
39
+ }>;
40
+ insert: StructType<{
41
+ readonly task: StringType;
42
+ readonly qty: IntegerType;
43
+ }>;
44
+ update: import("@elaraai/east").VariantType<{
45
+ unchanged: NullType;
46
+ replace: StructType<{
47
+ before: StructType<{
48
+ readonly task: StringType;
49
+ readonly qty: IntegerType;
50
+ }>;
51
+ after: StructType<{
52
+ readonly task: StringType;
53
+ readonly qty: IntegerType;
54
+ }>;
55
+ }>;
56
+ patch: StructType<{
57
+ readonly task: import("@elaraai/east").VariantType<{
58
+ unchanged: NullType;
59
+ replace: StructType<{
60
+ before: StringType;
61
+ after: StringType;
62
+ }>;
63
+ }>;
64
+ readonly qty: import("@elaraai/east").VariantType<{
65
+ unchanged: NullType;
66
+ replace: StructType<{
67
+ before: IntegerType;
68
+ after: IntegerType;
69
+ }>;
70
+ }>;
71
+ }>;
72
+ }>;
73
+ }>>;
74
+ }>]>;
75
+ export declare const recordSheetApply: import("@elaraai/east").ExampleDef<[], any>;
12
76
  export declare const recordBindHistory: import("@elaraai/east").ExampleDef<[], any>;
13
77
  //# sourceMappingURL=record.examples.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"record.examples.d.ts","sourceRoot":"","sources":["../../../../test/bind/record/record.examples.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AACH,sCAAsC;AACtC,OAAO,EAAQ,WAAW,EAAqB,MAAM,eAAe,CAAC;AAQrE,eAAO,MAAM,OAAO,0JAAwC,CAAC;AAC7D,eAAO,MAAM,SAAS,4EACsE,CAAC;AAC7F,eAAO,MAAM,KAAK,6DACgD,CAAC;AAEnE,eAAO,MAAM,gBAAgB,6CAwC3B,CAAC;AAEH,eAAO,MAAM,gBAAgB,6CAsB3B,CAAC;AAEH,eAAO,MAAM,iBAAiB,6CAmB5B,CAAC"}
1
+ {"version":3,"file":"record.examples.d.ts","sourceRoot":"","sources":["../../../../test/bind/record/record.examples.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AACH,sCAAsC;AACtC,OAAO,EAAE,QAAQ,EAAQ,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAW,MAAM,eAAe,CAAC;AAQvG,eAAO,MAAM,OAAO,0JAAwC,CAAC;AAC7D,eAAO,MAAM,SAAS,4EACsE,CAAC;AAC7F,eAAO,MAAM,KAAK,6DACgD,CAAC;AAEnE,eAAO,MAAM,gBAAgB,6CAwC3B,CAAC;AAEH,eAAO,MAAM,gBAAgB,6CAsB3B,CAAC;AAIH,eAAO,MAAM,OAAO;;;EAAqD,CAAC;AAC1E,eAAO,MAAM,IAAI;;;6GAA8D,CAAC;AAChF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAA0B,CAAC;AAEjD,eAAO,MAAM,gBAAgB,6CAqB3B,CAAC;AAEH,eAAO,MAAM,iBAAiB,6CAmB5B,CAAC"}
@@ -4,9 +4,9 @@ import { jsx as _jsx, jsxs as _jsxs } from "@elaraai/e3-ui/jsx-runtime";
4
4
  * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
5
5
  */
6
6
  /** @jsxImportSource @elaraai/e3-ui */
7
- import { East, IntegerType, NullType, example } from "@elaraai/east";
8
- import { Button, HStack, Reactive, Stat, Text, UIComponentType, VStack } from "@elaraai/east-ui";
9
- import { Record } from "@elaraai/e3-ui";
7
+ import { DictType, East, IntegerType, NullType, StringType, StructType, example } from "@elaraai/east";
8
+ import { Button, HStack, Reactive, Sheet, Stat, Text, UIComponentType, VStack } from "@elaraai/east-ui";
9
+ import { Data, Record } from "@elaraai/e3-ui";
10
10
  import e3 from "@elaraai/e3";
11
11
  // The package-side record + mutation definitions. `Record.bind` takes the
12
12
  // record def + its mutations — the state type, mutation names and arg types
@@ -57,6 +57,24 @@ export const recordBindStatus = example({
57
57
  } }))),
58
58
  inputs: [],
59
59
  });
60
+ // A keyed record a Sheet edits — each job's key is its id — and its patch
61
+ // door, which every Apply commits through.
62
+ export const JobType = StructType({ task: StringType, qty: IntegerType });
63
+ export const jobs = e3.record("jobs", DictType(StringType, JobType), new Map());
64
+ export const jobsPatch = e3.mutation.patch(jobs);
65
+ export const recordSheetApply = example({
66
+ keywords: ["Record", "onApply", "Sheet", "Apply", "patch", "commit", "conflict", "discard", "bindPaged", "editing", "system of record"],
67
+ description: "A Sheet over a record: its rows paged from the record, each Apply one commit through the record's patch door — a stale Apply is a conflict naming the entry, and nothing is overwritten",
68
+ fn: East.function([], UIComponentType, (_$) => (_jsx(Reactive, { children: $ => {
69
+ const rows = $.let(Data.bindPaged(jobs));
70
+ const record = $.let(Record.bind(jobs, [jobsPatch]));
71
+ return (_jsx(Sheet, { data: rows, columns: {
72
+ task: Sheet.column.text(JobType, { header: "Task", width: "220px" }),
73
+ qty: Sheet.column.integer(JobType, { header: "Qty", width: "96px" }),
74
+ }, onApply: Record.onApply(record), style: { height: "360px" } }));
75
+ } }))),
76
+ inputs: [],
77
+ });
60
78
  export const recordBindHistory = example({
61
79
  keywords: ["Record", "bind", "history", "audit", "commit", "chain"],
62
80
  description: "Read the record's commit history (the audit trail) alongside its current value",
@@ -1 +1 @@
1
- {"version":3,"file":"record.examples.js","sourceRoot":"","sources":["../../../../test/bind/record/record.examples.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"record.examples.js","sourceRoot":"","sources":["../../../../test/bind/record/record.examples.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
+ */
5
+ /** @jsxImportSource @elaraai/e3-ui */
6
+ export declare const studioComponent: import("@elaraai/east").ExampleDef<[], any>;
7
+ //# sourceMappingURL=component.examples.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.examples.d.ts","sourceRoot":"","sources":["../../../test/studio/component.examples.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AACH,sCAAsC;AAYtC,eAAO,MAAM,eAAe,6CAuC1B,CAAC"}
@@ -0,0 +1,46 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "@elaraai/e3-ui/jsx-runtime";
2
+ /**
3
+ * Copyright (c) 2025 Elara AI Pty Ltd
4
+ * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
5
+ */
6
+ /** @jsxImportSource @elaraai/e3-ui */
7
+ /**
8
+ * Studio components (#991) — a component is an East UI function written like a
9
+ * `ui()` body, declared once with what the palette shows; a page places it by
10
+ * its key.
11
+ */
12
+ import { East, IntegerType, NullType, example, none, variant } from "@elaraai/east";
13
+ import { Box, Button, HStack, Reactive, State, Text, UIComponentType } from "@elaraai/east-ui";
14
+ import { Studio } from "@elaraai/e3-ui";
15
+ export const studioComponent = example({
16
+ keywords: [
17
+ "Studio", "component", "Studio.component", "Studio.Page", "palette", "placement", "self-contained",
18
+ "ui() body", "state", "shared state", "meta", "span", "category", "icon",
19
+ ],
20
+ description: "A self-contained component — an East UI function written like a ui() body, declared once with what the palette shows — placed twice on a page, where the two placements share its own state",
21
+ fn: East.function([], UIComponentType, ($) => {
22
+ const counter = $.let(Studio.component("counter", {
23
+ name: "Counter", category: "Display", icon: "gauge-high", span: 6n, description: "Clicks so far",
24
+ }, East.function([], UIComponentType, _$ => (_jsx(Reactive, { children: $2 => {
25
+ const clicks = $2.let(State.bind([IntegerType], "studio-component.clicks", 0n));
26
+ const add = $2.const(East.function([], NullType, $3 => { $3(clicks.write(clicks.read().add(1n))); }));
27
+ return (_jsx(Box, { padding: "4", children: _jsxs(HStack, { gap: "3", align: "center", children: [_jsx(Text, { children: East.str `${East.print(clicks.read())} clicks` }), _jsx(Button, { size: "xs", onClick: add, children: "Add" })] }) }));
28
+ } })))));
29
+ const components = $.let([counter]);
30
+ const pages = $.let(new Map([
31
+ [{ project: "demo", page: "counters" }, variant("page", {
32
+ draft: {
33
+ title: "Counters",
34
+ cells: [
35
+ { key: "c-one", row: "r1", span: 6n, height: none, align: variant("top", null), title: none, component: "counter", fingerprint: "" },
36
+ { key: "c-two", row: "r1", span: 6n, height: none, align: variant("top", null), title: none, component: "counter", fingerprint: "" },
37
+ ],
38
+ },
39
+ live: none,
40
+ })],
41
+ ]), Studio.Types.Pages);
42
+ return _jsx(Studio.Page, { pages: pages, components: components, page: { project: "demo", page: "counters" }, version: "draft" });
43
+ }),
44
+ inputs: [],
45
+ });
46
+ //# sourceMappingURL=component.examples.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.examples.js","sourceRoot":"","sources":["../../../test/studio/component.examples.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
+ */
5
+ /** @jsxImportSource @elaraai/e3-ui */
6
+ export declare const studioPage: import("@elaraai/east").ExampleDef<[], any>;
7
+ //# sourceMappingURL=page.examples.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page.examples.d.ts","sourceRoot":"","sources":["../../../test/studio/page.examples.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AACH,sCAAsC;AAgBtC,eAAO,MAAM,UAAU,6CA2DrB,CAAC"}
@@ -0,0 +1,64 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "@elaraai/e3-ui/jsx-runtime";
2
+ /**
3
+ * Copyright (c) 2025 Elara AI Pty Ltd
4
+ * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
5
+ */
6
+ /** @jsxImportSource @elaraai/e3-ui */
7
+ /**
8
+ * `<Studio.Page>` (#993) — a page as operators see it, read from the pages
9
+ * record's value.
10
+ */
11
+ import { ArrayType, East, FloatType, StringType, StructType, example, none, some, variant, } from "@elaraai/east";
12
+ import { Chart, Format, HStack, Stat, UIComponentType } from "@elaraai/east-ui";
13
+ import { Studio } from "@elaraai/e3-ui";
14
+ export const studioPage = example({
15
+ keywords: [
16
+ "Studio", "Studio.Page", "page", "live", "draft", "published", "SnapGrid", "tiles", "component", "frame",
17
+ "Chart", "fill", "natural height",
18
+ ],
19
+ description: "One page's published layout with no chrome: each placement its component's own UI on the snap grid — a frameless KPI rail, and charts that take a tile's natural height",
20
+ fn: East.function([], UIComponentType, ($) => {
21
+ const components = $.let([
22
+ Studio.component("kpi_rail", { name: "KPI rail", category: "Display", icon: "gauge-high", frame: "none" }, East.function([], UIComponentType, (_$) => (_jsxs(HStack, { gap: "3", align: "stretch", children: [_jsx(Stat, { label: "Revenue", value: 1280000.0, format: Format.Currency({ currency: "USD", compact: "short" }) }), _jsx(Stat, { label: "Orders", value: 8412.0, format: Format.Number() }), _jsx(Stat, { label: "Avg ticket", value: 152.0, format: Format.Currency({ currency: "USD", maximumFractionDigits: 0n }) }), _jsx(Stat, { label: "Fill rate", value: 0.94, format: Format.Percent() })] })))),
23
+ Studio.component("revenue_trend", { name: "Revenue trend", category: "Charts", icon: "chart-area", span: 8n }, East.function([], UIComponentType, ($2) => {
24
+ const days = $2.const([
25
+ { day: "Mar 1", revenue: 2.61 }, { day: "Mar 8", revenue: 2.84 }, { day: "Mar 15", revenue: 3.02 },
26
+ { day: "Mar 22", revenue: 2.95 }, { day: "Mar 29", revenue: 3.31 }, { day: "Apr 5", revenue: 3.48 },
27
+ ], ArrayType(StructType({ day: StringType, revenue: FloatType })));
28
+ return _jsx(Chart, { height: "fill", grid: true, layers: Chart.Area(days, { x: r => r.day, y: r => r.revenue }) });
29
+ })),
30
+ Studio.component("breakdown_bars", { name: "Breakdown bars", category: "Display", icon: "chart-bar", span: 4n }, East.function([], UIComponentType, ($2) => {
31
+ const regions = $2.const([
32
+ { region: "North", share: 42.0 }, { region: "South", share: 31.0 }, { region: "West", share: 27.0 },
33
+ ], ArrayType(StructType({ region: StringType, share: FloatType })));
34
+ return _jsx(Chart, { height: "fill", grid: false, layers: Chart.Bar(regions, { x: r => r.share, y: r => r.region }) });
35
+ })),
36
+ ]);
37
+ const pages = $.let(new Map([
38
+ [{ project: "ops", page: "overview" }, variant("page", {
39
+ draft: {
40
+ title: "Overview",
41
+ cells: [
42
+ { key: "c-kpi", row: "r1", span: 12n, height: none, align: variant("top", null), title: none, component: "kpi_rail", fingerprint: "" },
43
+ { key: "c-trend", row: "r2", span: 8n, height: none, align: variant("top", null), title: none, component: "revenue_trend", fingerprint: "" },
44
+ { key: "c-bars", row: "r2", span: 4n, height: none, align: variant("top", null), title: none, component: "breakdown_bars", fingerprint: "" },
45
+ ],
46
+ },
47
+ live: some({
48
+ version: 1n,
49
+ page: {
50
+ title: "Overview",
51
+ cells: [
52
+ { key: "c-kpi", row: "r1", span: 12n, height: none, align: variant("top", null), title: none, component: "kpi_rail", fingerprint: "" },
53
+ { key: "c-trend", row: "r2", span: 8n, height: none, align: variant("top", null), title: none, component: "revenue_trend", fingerprint: "" },
54
+ { key: "c-bars", row: "r2", span: 4n, height: none, align: variant("top", null), title: some("Revenue by region"), component: "breakdown_bars", fingerprint: "" },
55
+ ],
56
+ },
57
+ }),
58
+ })],
59
+ ]), Studio.Types.Pages);
60
+ return _jsx(Studio.Page, { pages: pages, components: components, page: { project: "ops", page: "overview" } });
61
+ }),
62
+ inputs: [],
63
+ });
64
+ //# sourceMappingURL=page.examples.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page.examples.js","sourceRoot":"","sources":["../../../test/studio/page.examples.tsx"],"names":[],"mappings":";AAAA;;;GAGG;AACH,sCAAsC;AAEtC;;;GAGG;AAEH,OAAO,EACH,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,GACnF,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAKxC,MAAM,CAAC,MAAM,UAAU,GAAG,OAAO,CAAC;IAC9B,QAAQ,EAAE;QACN,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO;QACxG,OAAO,EAAE,MAAM,EAAE,gBAAgB;KACpC;IACD,WAAW,EAAE,yKAAyK;IACtL,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE;QACzC,MAAM,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC;YACrB,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,EACrG,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,eAAe,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CACvC,MAAC,MAAM,IAAC,GAAG,EAAC,GAAG,EAAC,KAAK,EAAC,SAAS,aAC3B,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,EAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,GAAI,EAC1G,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,EAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAI,EAC/D,KAAC,IAAI,IAAC,KAAK,EAAC,YAAY,EAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,qBAAqB,EAAE,EAAE,EAAE,CAAC,GAAI,EAClH,KAAC,IAAI,IAAC,KAAK,EAAC,WAAW,EAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,GAAI,IAC5D,CACZ,CAAC,CAAC;YACP,MAAM,CAAC,SAAS,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,EACzG,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,eAAe,EAAE,CAAC,EAAE,EAAE,EAAE;gBACtC,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC;oBAClB,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE;oBAClG,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;iBACtG,EAAE,SAAS,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;gBACnE,OAAO,KAAC,KAAK,IAAC,MAAM,EAAC,MAAM,EAAC,IAAI,QAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,GAAI,CAAC;YACxG,CAAC,CAAC,CAAC;YACP,MAAM,CAAC,SAAS,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,EAC3G,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,eAAe,EAAE,CAAC,EAAE,EAAE,EAAE;gBACtC,MAAM,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC;oBACrB,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE;iBACtG,EAAE,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;gBACpE,OAAO,KAAC,KAAK,IAAC,MAAM,EAAC,MAAM,EAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAI,CAAC;YACnH,CAAC,CAAC,CAAC;SACV,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,CAAa;YACpC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,OAAO,CAAC,MAAM,EAAE;oBACnD,KAAK,EAAE;wBACH,KAAK,EAAE,UAAU;wBACjB,KAAK,EAAE;4BACH,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,EAAE;4BACtI,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,EAAE,EAAE;4BAC5I,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,EAAE,WAAW,EAAE,EAAE,EAAE;yBAC/I;qBACJ;oBACD,IAAI,EAAE,IAAI,CAAC;wBACP,OAAO,EAAE,EAAE;wBACX,IAAI,EAAE;4BACF,KAAK,EAAE,UAAU;4BACjB,KAAK,EAAE;gCACH,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,EAAE;gCACtI,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,EAAE,EAAE;gCAC5I,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,mBAAmB,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,WAAW,EAAE,EAAE,EAAE;6BACpK;yBACJ;qBACJ,CAAC;iBACL,CAAC,CAAC;SACN,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACxB,OAAO,KAAC,MAAM,CAAC,IAAI,IAAC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,GAAI,CAAC;IAC7G,CAAC,CAAC;IACF,MAAM,EAAE,EAAE;CACb,CAAC,CAAC"}