@ketvietlab/ketjs 0.1.2 → 0.1.5
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/LICENSE +1 -1
- package/README.md +8 -2
- package/dist/agent/capabilities.d.ts +1 -3
- package/dist/agent/capabilities.d.ts.map +1 -1
- package/dist/agent/capabilities.js +10 -1
- package/dist/agent/capabilities.js.map +1 -1
- package/dist/agent/permissions.d.ts +43 -1
- package/dist/agent/permissions.d.ts.map +1 -1
- package/dist/agent/permissions.js +50 -2
- package/dist/agent/permissions.js.map +1 -1
- package/dist/cli.js +246 -97
- package/dist/cli.js.map +1 -1
- package/dist/codegen/dts.d.ts.map +1 -1
- package/dist/codegen/dts.js +1 -0
- package/dist/codegen/dts.js.map +1 -1
- package/dist/data/changeset.d.ts +12 -0
- package/dist/data/changeset.d.ts.map +1 -1
- package/dist/data/changeset.js +73 -17
- package/dist/data/changeset.js.map +1 -1
- package/dist/data/expr.d.ts +25 -1
- package/dist/data/expr.d.ts.map +1 -1
- package/dist/data/expr.js +47 -6
- package/dist/data/expr.js.map +1 -1
- package/dist/data/fleet.d.ts +41 -1
- package/dist/data/fleet.d.ts.map +1 -1
- package/dist/data/fleet.js +100 -11
- package/dist/data/fleet.js.map +1 -1
- package/dist/data/migrate.d.ts +20 -0
- package/dist/data/migrate.d.ts.map +1 -1
- package/dist/data/migrate.js +86 -3
- package/dist/data/migrate.js.map +1 -1
- package/dist/data/physical.d.ts +5 -0
- package/dist/data/physical.d.ts.map +1 -0
- package/dist/data/physical.js +196 -0
- package/dist/data/physical.js.map +1 -0
- package/dist/data/pool.d.ts +2 -1
- package/dist/data/pool.d.ts.map +1 -1
- package/dist/data/pool.js +159 -31
- package/dist/data/pool.js.map +1 -1
- package/dist/data/query.d.ts +10 -1
- package/dist/data/query.d.ts.map +1 -1
- package/dist/data/query.js +136 -27
- package/dist/data/query.js.map +1 -1
- package/dist/data/sqlite.d.ts.map +1 -1
- package/dist/data/sqlite.js +350 -52
- package/dist/data/sqlite.js.map +1 -1
- package/dist/data/time.d.ts +13 -0
- package/dist/data/time.d.ts.map +1 -1
- package/dist/data/time.js +61 -17
- package/dist/data/time.js.map +1 -1
- package/dist/index.d.ts +45 -24
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +34 -18
- package/dist/index.js.map +1 -1
- package/dist/kernel/audit.d.ts +27 -0
- package/dist/kernel/audit.d.ts.map +1 -0
- package/dist/kernel/audit.js +67 -0
- package/dist/kernel/audit.js.map +1 -0
- package/dist/kernel/classification.d.ts +26 -0
- package/dist/kernel/classification.d.ts.map +1 -0
- package/dist/kernel/classification.js +73 -0
- package/dist/kernel/classification.js.map +1 -0
- package/dist/kernel/compose.d.ts +6 -2
- package/dist/kernel/compose.d.ts.map +1 -1
- package/dist/kernel/compose.js +269 -15
- package/dist/kernel/compose.js.map +1 -1
- package/dist/kernel/define.d.ts +2 -3
- package/dist/kernel/define.d.ts.map +1 -1
- package/dist/kernel/define.js +22 -12
- package/dist/kernel/define.js.map +1 -1
- package/dist/kernel/diff.d.ts.map +1 -1
- package/dist/kernel/diff.js +28 -4
- package/dist/kernel/diff.js.map +1 -1
- package/dist/kernel/graph.js +1 -1
- package/dist/kernel/graph.js.map +1 -1
- package/dist/kernel/i18n.d.ts +10 -1
- package/dist/kernel/i18n.d.ts.map +1 -1
- package/dist/kernel/i18n.js +34 -1
- package/dist/kernel/i18n.js.map +1 -1
- package/dist/kernel/layout.d.ts +97 -0
- package/dist/kernel/layout.d.ts.map +1 -1
- package/dist/kernel/layout.js +294 -12
- package/dist/kernel/layout.js.map +1 -1
- package/dist/kernel/menu.d.ts +33 -2
- package/dist/kernel/menu.d.ts.map +1 -1
- package/dist/kernel/menu.js +99 -7
- package/dist/kernel/menu.js.map +1 -1
- package/dist/kernel/modules.d.ts +3 -3
- package/dist/kernel/modules.d.ts.map +1 -1
- package/dist/kernel/modules.js +21 -21
- package/dist/kernel/modules.js.map +1 -1
- package/dist/kernel/permissions.d.ts +10 -0
- package/dist/kernel/permissions.d.ts.map +1 -0
- package/dist/kernel/permissions.js +365 -0
- package/dist/kernel/permissions.js.map +1 -0
- package/dist/kernel/schedule.d.ts +23 -0
- package/dist/kernel/schedule.d.ts.map +1 -0
- package/dist/kernel/schedule.js +83 -0
- package/dist/kernel/schedule.js.map +1 -0
- package/dist/kernel/types.d.ts.map +1 -1
- package/dist/kernel/types.js +5 -4
- package/dist/kernel/types.js.map +1 -1
- package/dist/kernel/workspace.d.ts +92 -14
- package/dist/kernel/workspace.d.ts.map +1 -1
- package/dist/kernel/workspace.js +128 -49
- package/dist/kernel/workspace.js.map +1 -1
- package/dist/pdf/assets/Inter-Bold.ttf +0 -0
- package/dist/pdf/assets/Inter-Regular.ttf +0 -0
- package/dist/pdf/assets/Inter-SemiBold.ttf +0 -0
- package/dist/pdf/assets/LICENSE.txt +92 -0
- package/dist/pdf/font.d.ts +10 -0
- package/dist/pdf/font.d.ts.map +1 -0
- package/dist/pdf/font.js +83 -0
- package/dist/pdf/font.js.map +1 -0
- package/dist/pdf/image.d.ts +8 -0
- package/dist/pdf/image.d.ts.map +1 -0
- package/dist/pdf/image.js +94 -0
- package/dist/pdf/image.js.map +1 -0
- package/dist/pdf/index.d.ts +15 -0
- package/dist/pdf/index.d.ts.map +1 -0
- package/dist/pdf/index.js +17 -0
- package/dist/pdf/index.js.map +1 -0
- package/dist/pdf/markup.d.ts +19 -0
- package/dist/pdf/markup.d.ts.map +1 -0
- package/dist/pdf/markup.js +146 -0
- package/dist/pdf/markup.js.map +1 -0
- package/dist/pdf/render.d.ts +14 -0
- package/dist/pdf/render.d.ts.map +1 -0
- package/dist/pdf/render.js +387 -0
- package/dist/pdf/render.js.map +1 -0
- package/dist/scaffold/index.js +6 -6
- package/dist/scaffold/index.js.map +1 -1
- package/dist/scaffold/templates/{app.test.ts.tmpl → deployment.test.ts.tmpl} +3 -3
- package/dist/scaffold/templates/ket.workspace.ts.tmpl +4 -6
- package/dist/scaffold/templates/module.ts.tmpl +1 -4
- package/dist/server/assets.d.ts +23 -0
- package/dist/server/assets.d.ts.map +1 -0
- package/dist/server/assets.js +97 -0
- package/dist/server/assets.js.map +1 -0
- package/dist/server/boot.d.ts +174 -38
- package/dist/server/boot.d.ts.map +1 -1
- package/dist/server/boot.js +399 -140
- package/dist/server/boot.js.map +1 -1
- package/dist/server/config.d.ts +30 -10
- package/dist/server/config.d.ts.map +1 -1
- package/dist/server/config.js +73 -17
- package/dist/server/config.js.map +1 -1
- package/dist/server/ctx.d.ts +10 -0
- package/dist/server/ctx.d.ts.map +1 -1
- package/dist/server/ctx.js +284 -48
- package/dist/server/ctx.js.map +1 -1
- package/dist/server/development.d.ts +10 -0
- package/dist/server/development.d.ts.map +1 -0
- package/dist/server/development.js +15 -0
- package/dist/server/development.js.map +1 -0
- package/dist/server/fn.d.ts +22 -3
- package/dist/server/fn.d.ts.map +1 -1
- package/dist/server/fn.js +116 -32
- package/dist/server/fn.js.map +1 -1
- package/dist/server/form.d.ts +33 -0
- package/dist/server/form.d.ts.map +1 -0
- package/dist/server/form.js +47 -0
- package/dist/server/form.js.map +1 -0
- package/dist/server/http.d.ts +82 -3
- package/dist/server/http.d.ts.map +1 -1
- package/dist/server/http.js +373 -37
- package/dist/server/http.js.map +1 -1
- package/dist/server/idem.d.ts +3 -2
- package/dist/server/idem.d.ts.map +1 -1
- package/dist/server/idem.js +12 -4
- package/dist/server/idem.js.map +1 -1
- package/dist/server/jobs.js +1 -1
- package/dist/server/jobs.js.map +1 -1
- package/dist/server/log/combinators.d.ts +42 -0
- package/dist/server/log/combinators.d.ts.map +1 -0
- package/dist/server/log/combinators.js +270 -0
- package/dist/server/log/combinators.js.map +1 -0
- package/dist/server/log/console.d.ts +12 -0
- package/dist/server/log/console.d.ts.map +1 -0
- package/dist/server/log/console.js +96 -0
- package/dist/server/log/console.js.map +1 -0
- package/dist/server/log/file.d.ts +11 -0
- package/dist/server/log/file.d.ts.map +1 -0
- package/dist/server/log/file.js +61 -0
- package/dist/server/log/file.js.map +1 -0
- package/dist/server/log/index.d.ts +23 -0
- package/dist/server/log/index.d.ts.map +1 -0
- package/dist/server/log/index.js +45 -0
- package/dist/server/log/index.js.map +1 -0
- package/dist/server/log/logger.d.ts +53 -0
- package/dist/server/log/logger.d.ts.map +1 -0
- package/dist/server/log/logger.js +94 -0
- package/dist/server/log/logger.js.map +1 -0
- package/dist/server/log/memory.d.ts +11 -0
- package/dist/server/log/memory.d.ts.map +1 -0
- package/dist/server/log/memory.js +25 -0
- package/dist/server/log/memory.js.map +1 -0
- package/dist/server/log/types.d.ts +112 -0
- package/dist/server/log/types.d.ts.map +1 -0
- package/dist/server/log/types.js +58 -0
- package/dist/server/log/types.js.map +1 -0
- package/dist/server/policy.d.ts +29 -0
- package/dist/server/policy.d.ts.map +1 -0
- package/dist/server/policy.js +29 -0
- package/dist/server/policy.js.map +1 -0
- package/dist/server/queue.d.ts +1 -1
- package/dist/server/queue.d.ts.map +1 -1
- package/dist/server/queue.js.map +1 -1
- package/dist/server/ratelimit.d.ts +48 -0
- package/dist/server/ratelimit.d.ts.map +1 -0
- package/dist/server/ratelimit.js +102 -0
- package/dist/server/ratelimit.js.map +1 -0
- package/dist/server/respond.d.ts.map +1 -1
- package/dist/server/respond.js +16 -1
- package/dist/server/respond.js.map +1 -1
- package/dist/server/runtime.d.ts +18 -3
- package/dist/server/runtime.d.ts.map +1 -1
- package/dist/server/runtime.js +32 -2
- package/dist/server/runtime.js.map +1 -1
- package/dist/server/schedule.d.ts +18 -0
- package/dist/server/schedule.d.ts.map +1 -0
- package/dist/server/schedule.js +70 -0
- package/dist/server/schedule.js.map +1 -0
- package/dist/server/sequence.d.ts +42 -0
- package/dist/server/sequence.d.ts.map +1 -0
- package/dist/server/sequence.js +97 -0
- package/dist/server/sequence.js.map +1 -0
- package/dist/server/session.d.ts +21 -0
- package/dist/server/session.d.ts.map +1 -1
- package/dist/server/session.js +84 -10
- package/dist/server/session.js.map +1 -1
- package/dist/server/sessionstore.d.ts +3 -1
- package/dist/server/sessionstore.d.ts.map +1 -1
- package/dist/server/sessionstore.js +7 -3
- package/dist/server/sessionstore.js.map +1 -1
- package/dist/server/storage/index.d.ts +1 -1
- package/dist/server/storage/index.d.ts.map +1 -1
- package/dist/server/storage/index.js +61 -1
- package/dist/server/storage/index.js.map +1 -1
- package/dist/server/storage/types.d.ts +8 -0
- package/dist/server/storage/types.d.ts.map +1 -1
- package/dist/server/storage/types.js +58 -0
- package/dist/server/storage/types.js.map +1 -1
- package/dist/server/stream.d.ts +8 -2
- package/dist/server/stream.d.ts.map +1 -1
- package/dist/server/stream.js +44 -4
- package/dist/server/stream.js.map +1 -1
- package/dist/server/streamstore.d.ts +10 -0
- package/dist/server/streamstore.d.ts.map +1 -1
- package/dist/server/streamstore.js +72 -6
- package/dist/server/streamstore.js.map +1 -1
- package/dist/server/tenants.d.ts +20 -18
- package/dist/server/tenants.d.ts.map +1 -1
- package/dist/server/tenants.js +133 -84
- package/dist/server/tenants.js.map +1 -1
- package/dist/server/transport/types.js +2 -2
- package/dist/server/transport/types.js.map +1 -1
- package/dist/server/worker.d.ts +19 -3
- package/dist/server/worker.d.ts.map +1 -1
- package/dist/server/worker.js +168 -21
- package/dist/server/worker.js.map +1 -1
- package/dist/testing.d.ts +26 -10
- package/dist/testing.d.ts.map +1 -1
- package/dist/testing.js +41 -14
- package/dist/testing.js.map +1 -1
- package/dist/theme/contracts.d.ts +14 -1
- package/dist/theme/contracts.d.ts.map +1 -1
- package/dist/theme/contracts.js +35 -6
- package/dist/theme/contracts.js.map +1 -1
- package/dist/theme/index.d.ts +1 -1
- package/dist/theme/index.d.ts.map +1 -1
- package/dist/theme/index.js +1 -1
- package/dist/theme/index.js.map +1 -1
- package/dist/theme/joint-runtime.d.ts +33 -0
- package/dist/theme/joint-runtime.d.ts.map +1 -0
- package/dist/theme/joint-runtime.js +121 -0
- package/dist/theme/joint-runtime.js.map +1 -0
- package/dist/theme/joints.d.ts.map +1 -1
- package/dist/theme/joints.js +15 -97
- package/dist/theme/joints.js.map +1 -1
- package/dist/theme/ktl/compile.d.ts +4 -0
- package/dist/theme/ktl/compile.d.ts.map +1 -1
- package/dist/theme/ktl/compile.js +54 -1
- package/dist/theme/ktl/compile.js.map +1 -1
- package/dist/theme/ktl/parser.d.ts +4 -0
- package/dist/theme/ktl/parser.d.ts.map +1 -1
- package/dist/theme/ktl/parser.js +8 -0
- package/dist/theme/ktl/parser.js.map +1 -1
- package/dist/theme/render.d.ts +8 -0
- package/dist/theme/render.d.ts.map +1 -1
- package/dist/theme/render.js +88 -118
- package/dist/theme/render.js.map +1 -1
- package/dist/theme/tokens.d.ts +18 -0
- package/dist/theme/tokens.d.ts.map +1 -1
- package/dist/theme/tokens.js +33 -0
- package/dist/theme/tokens.js.map +1 -1
- package/dist/theme/viewmodel.d.ts +24 -0
- package/dist/theme/viewmodel.d.ts.map +1 -1
- package/dist/theme/viewmodel.js +75 -6
- package/dist/theme/viewmodel.js.map +1 -1
- package/dist/types.d.ts +320 -56
- package/dist/types.d.ts.map +1 -1
- package/package.json +6 -2
- package/dist/kernel/apps.d.ts +0 -43
- package/dist/kernel/apps.d.ts.map +0 -1
- package/dist/kernel/apps.js +0 -234
- package/dist/kernel/apps.js.map +0 -1
package/dist/kernel/compose.js
CHANGED
|
@@ -7,7 +7,48 @@
|
|
|
7
7
|
import { topoSort } from './graph.js';
|
|
8
8
|
import { Diagnostics } from './errors.js';
|
|
9
9
|
import { parseType } from './types.js';
|
|
10
|
+
import { validateSchedule } from './schedule.js';
|
|
10
11
|
import { ambiguousRoutes, parseRoutePattern } from './routes.js';
|
|
12
|
+
import { tableNameFor } from '../data/migrate.js';
|
|
13
|
+
import { compilePermissionBundles } from './permissions.js';
|
|
14
|
+
const FIELD_KEYS = new Set(['type', 'personal', 'sensitive']);
|
|
15
|
+
/**
|
|
16
|
+
* Accept both field forms.
|
|
17
|
+
*
|
|
18
|
+
* The vocabulary is closed: a key nobody knows is a build error rather than a flag
|
|
19
|
+
* that silently does nothing, which is how a field ends up believed to be protected
|
|
20
|
+
* when it is not.
|
|
21
|
+
*/
|
|
22
|
+
function normalizeField(declared) {
|
|
23
|
+
if (typeof declared === 'string') {
|
|
24
|
+
return { ok: true, type: declared, personal: false, sensitive: false };
|
|
25
|
+
}
|
|
26
|
+
if (declared === null || typeof declared !== 'object') {
|
|
27
|
+
return { ok: false, code: 'E_BAD_FIELD', reason: 'a field is a type string or an object with a type' };
|
|
28
|
+
}
|
|
29
|
+
const unknown = Object.keys(declared).filter((k) => !FIELD_KEYS.has(k));
|
|
30
|
+
if (unknown.length) {
|
|
31
|
+
return {
|
|
32
|
+
ok: false,
|
|
33
|
+
code: 'E_BAD_FIELD',
|
|
34
|
+
reason: `unknown field key(s) ${unknown.join(', ')} (accepted: ${[...FIELD_KEYS].join(', ')})`,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
if (typeof declared.type !== 'string') {
|
|
38
|
+
return { ok: false, code: 'E_BAD_FIELD', reason: 'a field object needs a type string' };
|
|
39
|
+
}
|
|
40
|
+
for (const flag of ['personal', 'sensitive']) {
|
|
41
|
+
if (declared[flag] !== undefined && typeof declared[flag] !== 'boolean') {
|
|
42
|
+
return { ok: false, code: 'E_BAD_FIELD', reason: `"${flag}" must be a boolean` };
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return {
|
|
46
|
+
ok: true,
|
|
47
|
+
type: declared.type,
|
|
48
|
+
personal: declared.personal === true,
|
|
49
|
+
sensitive: declared.sensitive === true,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
11
52
|
const qualify = (mod, name) => `${mod}.${name}`;
|
|
12
53
|
const jointKey = (mod, name) => `${mod}:${name}`;
|
|
13
54
|
export function compose(modules, opts = {}) {
|
|
@@ -23,9 +64,20 @@ export function compose(modules, opts = {}) {
|
|
|
23
64
|
joints: {},
|
|
24
65
|
fills: [],
|
|
25
66
|
functions: {},
|
|
67
|
+
permissions: {
|
|
68
|
+
version: 1,
|
|
69
|
+
digest: '',
|
|
70
|
+
coverageRequired: false,
|
|
71
|
+
modules: {},
|
|
72
|
+
bundles: {},
|
|
73
|
+
functions: {},
|
|
74
|
+
exemptions: {},
|
|
75
|
+
roleTemplates: {},
|
|
76
|
+
},
|
|
26
77
|
jobs: {},
|
|
27
78
|
views: {},
|
|
28
|
-
|
|
79
|
+
reports: {},
|
|
80
|
+
regions: { required: [...(opts.requiredRegions ?? [])], provided: {} },
|
|
29
81
|
islands: {},
|
|
30
82
|
sections: {},
|
|
31
83
|
contentTypes: {},
|
|
@@ -35,27 +87,81 @@ export function compose(modules, opts = {}) {
|
|
|
35
87
|
assets: {},
|
|
36
88
|
styles: [],
|
|
37
89
|
routes: {},
|
|
90
|
+
routePrefixes: {},
|
|
38
91
|
patches: [],
|
|
39
92
|
messages: {},
|
|
40
93
|
};
|
|
94
|
+
for (const m of order) {
|
|
95
|
+
for (const raw of m.reserves ?? []) {
|
|
96
|
+
const prefix = raw.trim();
|
|
97
|
+
if (!prefix.startsWith('/') || !prefix.endsWith('/') || prefix.includes('{')) {
|
|
98
|
+
diag.add({
|
|
99
|
+
code: 'E_ROUTE_PREFIX',
|
|
100
|
+
module: m.name,
|
|
101
|
+
message: `"${m.name}" reserves invalid route prefix "${raw}"`,
|
|
102
|
+
hint: 'a reserved prefix is an absolute static path ending in /',
|
|
103
|
+
});
|
|
104
|
+
continue;
|
|
105
|
+
}
|
|
106
|
+
const conflict = Object.entries(manifest.routePrefixes).find(([other]) => prefix.startsWith(other) || other.startsWith(prefix));
|
|
107
|
+
if (conflict) {
|
|
108
|
+
diag.add({
|
|
109
|
+
code: 'E_ROUTE_PREFIX_CLASH',
|
|
110
|
+
module: m.name,
|
|
111
|
+
message: `"${m.name}" and "${conflict[1]}" reserve overlapping prefixes "${prefix}" and "${conflict[0]}"`,
|
|
112
|
+
hint: 'one module must own the whole public namespace',
|
|
113
|
+
});
|
|
114
|
+
continue;
|
|
115
|
+
}
|
|
116
|
+
manifest.routePrefixes[prefix] = m.name;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
const major = (version) => {
|
|
120
|
+
const match = /^(?:\^)?(\d+)(?:\.|$)/.exec(version.trim());
|
|
121
|
+
return match ? Number(match[1]) : null;
|
|
122
|
+
};
|
|
123
|
+
for (const m of order) {
|
|
124
|
+
for (const [dependency, range] of Object.entries(m.compatible ?? {})) {
|
|
125
|
+
if (!m.depends.includes(dependency)) {
|
|
126
|
+
diag.add({
|
|
127
|
+
code: 'E_MODULE_COMPATIBILITY_DEPENDENCY',
|
|
128
|
+
module: m.name,
|
|
129
|
+
message: `"${m.name}" declares compatibility with "${dependency}" without depending on it`,
|
|
130
|
+
hint: `add "${dependency}" to depends`,
|
|
131
|
+
});
|
|
132
|
+
continue;
|
|
133
|
+
}
|
|
134
|
+
const actual = order.find((candidate) => candidate.name === dependency)?.version;
|
|
135
|
+
const wantedMajor = major(range);
|
|
136
|
+
const actualMajor = actual ? major(actual) : null;
|
|
137
|
+
const matches = range.startsWith('^')
|
|
138
|
+
? wantedMajor != null && actualMajor === wantedMajor
|
|
139
|
+
: actual === range;
|
|
140
|
+
if (!matches) {
|
|
141
|
+
diag.add({
|
|
142
|
+
code: 'E_MODULE_VERSION_SKEW',
|
|
143
|
+
module: m.name,
|
|
144
|
+
message: `"${m.name}" requires "${dependency}" ${range}, but the deployment has ${actual ?? 'nothing'}`,
|
|
145
|
+
hint: 'upgrade the extension and its contract owner together',
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
41
150
|
for (const m of order) {
|
|
42
151
|
manifest.modules[m.name] = {
|
|
43
152
|
version: m.version,
|
|
44
153
|
kind: m.kind,
|
|
45
154
|
depends: [...m.depends],
|
|
46
|
-
app: m.app,
|
|
47
155
|
title: m.title,
|
|
48
156
|
summary: m.summary,
|
|
49
157
|
category: m.category,
|
|
50
|
-
install: m.install ?? 'manual',
|
|
51
|
-
removable: m.removable !== false,
|
|
52
158
|
};
|
|
53
159
|
}
|
|
54
160
|
// --- the served surface -------------------------------------------------
|
|
55
161
|
//
|
|
56
162
|
// Assets, stylesheets and routes are composed for the same reason models are:
|
|
57
|
-
// otherwise the
|
|
58
|
-
// file layout and going on serving it after that module
|
|
163
|
+
// otherwise the deployment hand-assembles them, which means knowing another module's
|
|
164
|
+
// file layout and going on serving it after that module leaves the composition.
|
|
59
165
|
//
|
|
60
166
|
// `order` is dependency order, so a module that extends another contributes its
|
|
61
167
|
// stylesheet after it and can override it. That ordering is the point.
|
|
@@ -93,6 +199,21 @@ export function compose(modules, opts = {}) {
|
|
|
93
199
|
});
|
|
94
200
|
continue;
|
|
95
201
|
}
|
|
202
|
+
const reservation = Object.entries(manifest.routePrefixes).find(([prefix]) => path.startsWith(prefix));
|
|
203
|
+
if (reservation) {
|
|
204
|
+
const [prefix, owner] = reservation;
|
|
205
|
+
const contribution = typeof make === 'function' ? null : make.through;
|
|
206
|
+
const allowed = m.name === owner || (contribution === owner && m.depends.includes(owner));
|
|
207
|
+
if (!allowed) {
|
|
208
|
+
diag.add({
|
|
209
|
+
code: 'E_ROUTE_RESERVED',
|
|
210
|
+
module: m.name,
|
|
211
|
+
message: `"${m.name}" claims "${path}", inside the prefix reserved by "${owner}"`,
|
|
212
|
+
hint: `depend on "${owner}" and use its published route factory for "${prefix}"`,
|
|
213
|
+
});
|
|
214
|
+
continue;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
96
217
|
const taken = manifest.routes[path];
|
|
97
218
|
if (taken) {
|
|
98
219
|
diag.add({
|
|
@@ -117,13 +238,33 @@ export function compose(modules, opts = {}) {
|
|
|
117
238
|
manifest.routes[path] =
|
|
118
239
|
typeof make === 'function'
|
|
119
240
|
? { by: m.name, anonymous: false, make }
|
|
120
|
-
: {
|
|
241
|
+
: {
|
|
242
|
+
by: m.name,
|
|
243
|
+
anonymous: make.anonymous === true,
|
|
244
|
+
...(make.through ? { through: make.through } : {}),
|
|
245
|
+
...(make.contract ? { contract: make.contract } : {}),
|
|
246
|
+
make: make.handler,
|
|
247
|
+
};
|
|
121
248
|
}
|
|
122
249
|
}
|
|
123
250
|
// --- models -------------------------------------------------------------
|
|
251
|
+
const physicalTables = new Map();
|
|
124
252
|
for (const m of order) {
|
|
125
253
|
for (const [modelName, def] of Object.entries(m.models)) {
|
|
126
254
|
const key = qualify(m.name, modelName);
|
|
255
|
+
const physicalTable = tableNameFor(key);
|
|
256
|
+
const existingPhysicalModel = physicalTables.get(physicalTable);
|
|
257
|
+
if (existingPhysicalModel && existingPhysicalModel !== key) {
|
|
258
|
+
diag.add({
|
|
259
|
+
code: 'E_TABLE_NAME_COLLISION',
|
|
260
|
+
module: m.name,
|
|
261
|
+
message: `models "${existingPhysicalModel}" and "${key}" both map to table "${physicalTable}"`,
|
|
262
|
+
hint: 'rename one model or module so every composed model has a unique physical table',
|
|
263
|
+
});
|
|
264
|
+
}
|
|
265
|
+
else {
|
|
266
|
+
physicalTables.set(physicalTable, key);
|
|
267
|
+
}
|
|
127
268
|
if (manifest.models[key]) {
|
|
128
269
|
diag.add({
|
|
129
270
|
code: 'E_MODEL_DUPLICATE',
|
|
@@ -162,7 +303,7 @@ export function compose(modules, opts = {}) {
|
|
|
162
303
|
fields['createdAt'] = { base: 'datetime', optional: true, by: '(timestamps)' };
|
|
163
304
|
fields['updatedAt'] = { base: 'datetime', optional: true, by: '(timestamps)' };
|
|
164
305
|
}
|
|
165
|
-
for (const [fname,
|
|
306
|
+
for (const [fname, declared] of Object.entries(def.fields ?? {})) {
|
|
166
307
|
if (def.timestamps && (fname === 'createdAt' || fname === 'updatedAt')) {
|
|
167
308
|
diag.add({
|
|
168
309
|
code: 'E_TIMESTAMP_FIELD_RESERVED',
|
|
@@ -172,6 +313,14 @@ export function compose(modules, opts = {}) {
|
|
|
172
313
|
});
|
|
173
314
|
continue;
|
|
174
315
|
}
|
|
316
|
+
// A field is a type string, or an object when it has more to say. The two
|
|
317
|
+
// forms compose to the same thing, so nothing downstream learns the difference.
|
|
318
|
+
const spec = normalizeField(declared);
|
|
319
|
+
if (!spec.ok) {
|
|
320
|
+
diag.add({ code: spec.code, module: m.name, message: `${key}.${fname}: ${spec.reason}` });
|
|
321
|
+
continue;
|
|
322
|
+
}
|
|
323
|
+
const tspec = spec.type;
|
|
175
324
|
const t = parseType(tspec);
|
|
176
325
|
if (!t.ok) {
|
|
177
326
|
diag.add({ code: 'E_BAD_TYPE', module: m.name, message: `${key}.${fname}: ${t.reason}` });
|
|
@@ -186,7 +335,14 @@ export function compose(modules, opts = {}) {
|
|
|
186
335
|
});
|
|
187
336
|
continue;
|
|
188
337
|
}
|
|
189
|
-
fields[fname] = {
|
|
338
|
+
fields[fname] = {
|
|
339
|
+
base: t.base,
|
|
340
|
+
optional: t.optional,
|
|
341
|
+
target: t.target,
|
|
342
|
+
by: m.name,
|
|
343
|
+
...(spec.personal ? { personal: true } : {}),
|
|
344
|
+
...(spec.sensitive ? { sensitive: true } : {}),
|
|
345
|
+
};
|
|
190
346
|
}
|
|
191
347
|
const indexes = {};
|
|
192
348
|
for (const [indexName, index] of Object.entries(def.indexes ?? {})) {
|
|
@@ -225,6 +381,7 @@ export function compose(modules, opts = {}) {
|
|
|
225
381
|
owner: m.name,
|
|
226
382
|
scope: def.scope,
|
|
227
383
|
timestamps: def.timestamps === true,
|
|
384
|
+
append: def.append === true,
|
|
228
385
|
fields,
|
|
229
386
|
indexes,
|
|
230
387
|
};
|
|
@@ -252,7 +409,7 @@ export function compose(modules, opts = {}) {
|
|
|
252
409
|
});
|
|
253
410
|
continue;
|
|
254
411
|
}
|
|
255
|
-
for (const [fname,
|
|
412
|
+
for (const [fname, declared] of Object.entries(addl)) {
|
|
256
413
|
// Checked ahead of the collision below so the message names the real cause:
|
|
257
414
|
// these columns are the isolation boundary, not a name somebody took first.
|
|
258
415
|
if (fname === 'companyId' || fname === 'branchId') {
|
|
@@ -274,6 +431,15 @@ export function compose(modules, opts = {}) {
|
|
|
274
431
|
});
|
|
275
432
|
continue;
|
|
276
433
|
}
|
|
434
|
+
// Extension takes both field forms too. A bridge is exactly the module that
|
|
435
|
+
// adds a phone number to somebody else's partner, so it is exactly the module
|
|
436
|
+
// that has to be able to say the column is personal data.
|
|
437
|
+
const spec = normalizeField(declared);
|
|
438
|
+
if (!spec.ok) {
|
|
439
|
+
diag.add({ code: spec.code, module: m.name, message: `${target}.${fname}: ${spec.reason}` });
|
|
440
|
+
continue;
|
|
441
|
+
}
|
|
442
|
+
const tspec = spec.type;
|
|
277
443
|
const t = parseType(tspec);
|
|
278
444
|
if (!t.ok) {
|
|
279
445
|
diag.add({ code: 'E_BAD_TYPE', module: m.name, message: `${target}.${fname}: ${t.reason}` });
|
|
@@ -290,7 +456,14 @@ export function compose(modules, opts = {}) {
|
|
|
290
456
|
});
|
|
291
457
|
continue;
|
|
292
458
|
}
|
|
293
|
-
model.fields[fname] = {
|
|
459
|
+
model.fields[fname] = {
|
|
460
|
+
base: t.base,
|
|
461
|
+
optional: t.optional,
|
|
462
|
+
target: t.target,
|
|
463
|
+
by: m.name,
|
|
464
|
+
...(spec.personal ? { personal: true } : {}),
|
|
465
|
+
...(spec.sensitive ? { sensitive: true } : {}),
|
|
466
|
+
};
|
|
294
467
|
}
|
|
295
468
|
}
|
|
296
469
|
}
|
|
@@ -436,7 +609,7 @@ export function compose(modules, opts = {}) {
|
|
|
436
609
|
diag.add({
|
|
437
610
|
code: 'E_FILL_UNKNOWN_JOINT',
|
|
438
611
|
module: m.name,
|
|
439
|
-
message: `fills joint "${key}", which no
|
|
612
|
+
message: `fills joint "${key}", which no composed module publishes`,
|
|
440
613
|
hint: near.length
|
|
441
614
|
? `did you mean "${near[0]}"?`
|
|
442
615
|
: `published joints: ${Object.keys(manifest.joints).join(', ') || '(none)'}`,
|
|
@@ -477,7 +650,7 @@ export function compose(modules, opts = {}) {
|
|
|
477
650
|
diag.add({
|
|
478
651
|
code: 'E_OMIT_UNKNOWN_JOINT',
|
|
479
652
|
module: m.name,
|
|
480
|
-
message: `omits joint "${key}", which no
|
|
653
|
+
message: `omits joint "${key}", which no composed module publishes`,
|
|
481
654
|
hint: `published joints: ${Object.keys(manifest.joints).join(', ') || '(none)'}`,
|
|
482
655
|
});
|
|
483
656
|
continue;
|
|
@@ -544,6 +717,55 @@ export function compose(modules, opts = {}) {
|
|
|
544
717
|
};
|
|
545
718
|
}
|
|
546
719
|
}
|
|
720
|
+
manifest.permissions = compilePermissionBundles(order, manifest, {
|
|
721
|
+
requireCoverage: opts.requirePermissionCoverage,
|
|
722
|
+
roleTemplates: opts.roleTemplates,
|
|
723
|
+
moduleDeclarations: opts.modulePermissionDeclarations,
|
|
724
|
+
});
|
|
725
|
+
// --- printable reports ---------------------------------------------------
|
|
726
|
+
for (const m of order) {
|
|
727
|
+
for (const [name, def] of Object.entries(m.reports ?? {})) {
|
|
728
|
+
const id = qualify(m.name, name);
|
|
729
|
+
if (!/^[a-z][a-zA-Z0-9_]*$/.test(name)) {
|
|
730
|
+
diag.add({ code: 'E_REPORT_NAME', module: m.name, message: `invalid report name "${name}"` });
|
|
731
|
+
continue;
|
|
732
|
+
}
|
|
733
|
+
if (!manifest.models[def.target]) {
|
|
734
|
+
diag.add({
|
|
735
|
+
code: 'E_REPORT_UNKNOWN_MODEL',
|
|
736
|
+
module: m.name,
|
|
737
|
+
message: `report "${id}" targets unknown model "${def.target}"`,
|
|
738
|
+
});
|
|
739
|
+
continue;
|
|
740
|
+
}
|
|
741
|
+
const source = manifest.functions[def.source];
|
|
742
|
+
if (!source) {
|
|
743
|
+
diag.add({
|
|
744
|
+
code: 'E_REPORT_UNKNOWN_SOURCE',
|
|
745
|
+
module: m.name,
|
|
746
|
+
message: `report "${id}" uses unknown function "${def.source}"`,
|
|
747
|
+
});
|
|
748
|
+
continue;
|
|
749
|
+
}
|
|
750
|
+
if (source.effects.some((effect) => effect.startsWith('write:') || effect.startsWith('enqueue:'))) {
|
|
751
|
+
diag.add({
|
|
752
|
+
code: 'E_REPORT_SOURCE_WRITES',
|
|
753
|
+
module: m.name,
|
|
754
|
+
message: `report "${id}" source "${def.source}" is not read-only`,
|
|
755
|
+
});
|
|
756
|
+
continue;
|
|
757
|
+
}
|
|
758
|
+
if (!def.template.trim()) {
|
|
759
|
+
diag.add({
|
|
760
|
+
code: 'E_REPORT_TEMPLATE_EMPTY',
|
|
761
|
+
module: m.name,
|
|
762
|
+
message: `report "${id}" has no template`,
|
|
763
|
+
});
|
|
764
|
+
continue;
|
|
765
|
+
}
|
|
766
|
+
manifest.reports[id] = { ...def, by: m.name, id };
|
|
767
|
+
}
|
|
768
|
+
}
|
|
547
769
|
// --- background jobs -----------------------------------------------------
|
|
548
770
|
//
|
|
549
771
|
// Jobs run later and often on another process, but they touch the same data.
|
|
@@ -590,6 +812,37 @@ export function compose(modules, opts = {}) {
|
|
|
590
812
|
if (!parsed.ok)
|
|
591
813
|
diag.add({ code: 'E_BAD_TYPE', module: m.name, message: `${key} input ${input}: ${parsed.reason}` });
|
|
592
814
|
}
|
|
815
|
+
if (def.schedule) {
|
|
816
|
+
try {
|
|
817
|
+
validateSchedule(def.schedule);
|
|
818
|
+
}
|
|
819
|
+
catch (error) {
|
|
820
|
+
diag.add({
|
|
821
|
+
code: 'E_BAD_SCHEDULE',
|
|
822
|
+
module: m.name,
|
|
823
|
+
message: `job "${key}": ${error.message}`,
|
|
824
|
+
hint: error.hint ?? null,
|
|
825
|
+
});
|
|
826
|
+
continue;
|
|
827
|
+
}
|
|
828
|
+
// Nobody is there to supply arguments to a schedule, so a required input is
|
|
829
|
+
// a job that can only ever fail validation at three in the morning.
|
|
830
|
+
const required = Object.entries(def.input ?? {})
|
|
831
|
+
.filter(([, spec]) => {
|
|
832
|
+
const parsed = parseType(spec);
|
|
833
|
+
return parsed.ok && !parsed.optional;
|
|
834
|
+
})
|
|
835
|
+
.map(([name]) => name);
|
|
836
|
+
if (required.length) {
|
|
837
|
+
diag.add({
|
|
838
|
+
code: 'E_SCHEDULED_JOB_INPUT',
|
|
839
|
+
module: m.name,
|
|
840
|
+
message: `scheduled job "${key}" requires input ${required.join(', ')}`,
|
|
841
|
+
hint: 'a schedule enqueues no arguments — make them optional, or drop the schedule',
|
|
842
|
+
});
|
|
843
|
+
continue;
|
|
844
|
+
}
|
|
845
|
+
}
|
|
593
846
|
for (const effect of def.effects ?? []) {
|
|
594
847
|
// Enqueue targets are validated after every job has been collected, so a
|
|
595
848
|
// producer may refer to a job contributed later in dependency order.
|
|
@@ -627,6 +880,7 @@ export function compose(modules, opts = {}) {
|
|
|
627
880
|
idempotent: true,
|
|
628
881
|
maxAttempts,
|
|
629
882
|
timeoutMs,
|
|
883
|
+
...(def.schedule ? { schedule: def.schedule } : {}),
|
|
630
884
|
};
|
|
631
885
|
}
|
|
632
886
|
}
|
|
@@ -934,7 +1188,7 @@ export function compose(modules, opts = {}) {
|
|
|
934
1188
|
});
|
|
935
1189
|
}
|
|
936
1190
|
}
|
|
937
|
-
// --- theme <->
|
|
1191
|
+
// --- theme <-> deployment region contract --------------------------------
|
|
938
1192
|
for (const m of order) {
|
|
939
1193
|
for (const r of m.provides)
|
|
940
1194
|
(manifest.regions.provided[r] ??= []).push(m.name);
|
|
@@ -947,7 +1201,7 @@ export function compose(modules, opts = {}) {
|
|
|
947
1201
|
if (!manifest.regions.required.includes(r))
|
|
948
1202
|
manifest.regions.required.push(r);
|
|
949
1203
|
}
|
|
950
|
-
// A headless
|
|
1204
|
+
// A headless deployment renders nothing, so the region contract does not apply to it.
|
|
951
1205
|
// Requirements are still recorded, so adding a theme later checks them.
|
|
952
1206
|
for (const r of opts.headless ? [] : manifest.regions.required) {
|
|
953
1207
|
if (!manifest.regions.provided[r]) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compose.js","sourceRoot":"","sources":["../../../../../../packages/ketjs/src/kernel/compose.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,EAAE;AACF,kFAAkF;AAClF,6EAA6E;AAC7E,6EAA6E;AAC7E,kFAAkF;AAElF,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAGhE,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,IAAY,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;AAC/D,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,IAAY,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;AAEhE,MAAM,UAAU,OAAO,CACrB,OAAoB,EACpB,IAAI,GAAmD,EAAE;IAEzD,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAA;IAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC/B,MAAM,MAAM,GAAG,CAAC,CAAY,EAAE,KAAa,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAE7F,MAAM,QAAQ,GAAa;QACzB,GAAG,EAAE,OAAO;QACZ,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/B,OAAO,EAAE,EAAE;QACX,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,EAAE;QACT,SAAS,EAAE,EAAE;QACb,IAAI,EAAE,EAAE;QACR,KAAK,EAAE,EAAE;QACT,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;QAClE,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,EAAE;QACZ,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,EAAE;QACb,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,EAAE;KACb,CAAA;IAED,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG;YACzB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;YACvB,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,QAAQ;YAC9B,SAAS,EAAE,CAAC,CAAC,SAAS,KAAK,KAAK;SACjC,CAAA;IACH,CAAC;IAED,2EAA2E;IAC3E,EAAE;IACF,8EAA8E;IAC9E,8EAA8E;IAC9E,yEAAyE;IACzE,EAAE;IACF,gFAAgF;IAChF,uEAAuE;IACvE,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,CAAC,MAAM;YAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAA;QACnG,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;YAC5B,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;gBACd,IAAI,CAAC,GAAG,CAAC;oBACP,IAAI,EAAE,wBAAwB;oBAC9B,MAAM,EAAE,CAAC,CAAC,IAAI;oBACd,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,qBAAqB,IAAI,2BAA2B;oBACvE,IAAI,EAAE,4FAA4F;iBACnG,CAAC,CAAA;gBACF,SAAQ;YACV,CAAC;YACD,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC,CAAA;QAC7E,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YACpD,IAAI,OAAqB,CAAA;YACzB,IAAI,CAAC;gBACH,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAA;YACnC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,GAAG,KAAiE,CAAA;gBAC3E,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,iBAAiB,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;gBACjG,SAAQ;YACV,CAAC;YACD,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,GAAG,CAAC;oBACP,IAAI,EAAE,kBAAkB;oBACxB,MAAM,EAAE,CAAC,CAAC,IAAI;oBACd,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,aAAa,IAAI,sBAAsB;oBAC1D,IAAI,EAAE,mFAAmF;iBAC1F,CAAC,CAAA;gBACF,SAAQ;YACV,CAAC;YACD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YACnC,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,CAAC,GAAG,CAAC;oBACP,IAAI,EAAE,eAAe;oBACrB,MAAM,EAAE,CAAC,CAAC,IAAI;oBACd,OAAO,EAAE,SAAS,KAAK,CAAC,EAAE,UAAU,CAAC,CAAC,IAAI,YAAY,IAAI,GAAG;oBAC7D,IAAI,EAAE,qFAAqF;iBAC5F,CAAC,CAAA;gBACF,SAAQ;YACV,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAC5D,eAAe,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CACnD,CAAA;YACD,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAE,CAAC,EAAE,CAAA;gBAC5C,IAAI,CAAC,GAAG,CAAC;oBACP,IAAI,EAAE,mBAAmB;oBACzB,MAAM,EAAE,CAAC,CAAC,IAAI;oBACd,OAAO,EAAE,WAAW,SAAS,eAAe,KAAK,UAAU,IAAI,eAAe,CAAC,CAAC,IAAI,+CAA+C;oBACnI,IAAI,EAAE,gEAAgE;iBACvE,CAAC,CAAA;gBACF,SAAQ;YACV,CAAC;YACD,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;gBACnB,OAAO,IAAI,KAAK,UAAU;oBACxB,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE;oBACxC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,CAAA;QAC9E,CAAC;IACH,CAAC;IAED,2EAA2E;IAC3E,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,KAAK,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YACxD,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;YACtC,IAAI,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzB,IAAI,CAAC,GAAG,CAAC;oBACP,IAAI,EAAE,mBAAmB;oBACzB,MAAM,EAAE,CAAC,CAAC,IAAI;oBACd,OAAO,EAAE,UAAU,GAAG,sBAAsB;oBAC5C,IAAI,EAAE,oDAAoD;iBAC3D,CAAC,CAAA;gBACF,SAAQ;YACV,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,GAAG,CAAC;oBACP,IAAI,EAAE,kBAAkB;oBACxB,MAAM,EAAE,CAAC,CAAC,IAAI;oBACd,OAAO,EAAE,UAAU,GAAG,4BAA4B;oBAClD,IAAI,EAAE,wIAAwI;iBAC/I,CAAC,CAAA;gBACF,SAAQ;YACV,CAAC;YACD,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjE,IAAI,CAAC,GAAG,CAAC;oBACP,IAAI,EAAE,mBAAmB;oBACzB,MAAM,EAAE,CAAC,CAAC,IAAI;oBACd,OAAO,EAAE,UAAU,GAAG,wBAAwB,GAAG,CAAC,KAAK,GAAG;iBAC3D,CAAC,CAAA;gBACF,SAAQ;YACV,CAAC;YAED,MAAM,MAAM,GAA4B,EAAE,CAAA;YAC1C,6EAA6E;YAC7E,8EAA8E;YAC9E,0BAA0B;YAC1B,IAAI,GAAG,CAAC,KAAK,KAAK,QAAQ;gBAAE,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,CAAA;YAClG,IAAI,GAAG,CAAC,KAAK,KAAK,gBAAgB;gBAChC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,CAAA;YACvE,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;gBACnB,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,cAAc,EAAE,CAAA;gBAC9E,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,cAAc,EAAE,CAAA;YAChF,CAAC;YACD,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC9D,IAAI,GAAG,CAAC,UAAU,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,WAAW,CAAC,EAAE,CAAC;oBACvE,IAAI,CAAC,GAAG,CAAC;wBACP,IAAI,EAAE,4BAA4B;wBAClC,MAAM,EAAE,CAAC,CAAC,IAAI;wBACd,OAAO,EAAE,GAAG,GAAG,IAAI,KAAK,kCAAkC;wBAC1D,IAAI,EAAE,iDAAiD;qBACxD,CAAC,CAAA;oBACF,SAAQ;gBACV,CAAC;gBACD,MAAM,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;gBAC1B,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;oBACV,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,GAAG,IAAI,KAAK,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;oBACzF,SAAQ;gBACV,CAAC;gBACD,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;oBACxD,IAAI,CAAC,GAAG,CAAC;wBACP,IAAI,EAAE,qBAAqB;wBAC3B,MAAM,EAAE,CAAC,CAAC,IAAI;wBACd,OAAO,EAAE,UAAU,GAAG,IAAI,KAAK,4CAA4C;wBAC3E,IAAI,EAAE,iDAAiD,KAAK,IAAI;qBACjE,CAAC,CAAA;oBACF,SAAQ;gBACV,CAAC;gBACD,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;YACtF,CAAC;YACD,MAAM,OAAO,GAA6B,EAAE,CAAA;YAC5C,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;gBACnE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;oBACzC,IAAI,CAAC,GAAG,CAAC;wBACP,IAAI,EAAE,cAAc;wBACpB,MAAM,EAAE,CAAC,CAAC,IAAI;wBACd,OAAO,EAAE,GAAG,GAAG,eAAe,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,+BAA+B;qBACvF,CAAC,CAAA;oBACF,SAAQ;gBACV,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;oBACzB,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,GAAG,IAAI,SAAS,gBAAgB,EAAE,CAAC,CAAA;oBACjG,SAAQ;gBACV,CAAC;gBACD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;gBAC9D,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;oBACnB,IAAI,CAAC,GAAG,CAAC;wBACP,IAAI,EAAE,uBAAuB;wBAC7B,MAAM,EAAE,CAAC,CAAC,IAAI;wBACd,OAAO,EAAE,GAAG,GAAG,IAAI,SAAS,iCAAiC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;qBAClF,CAAC,CAAA;oBACF,SAAQ;gBACV,CAAC;gBACD,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;oBACvD,IAAI,CAAC,GAAG,CAAC;wBACP,IAAI,EAAE,yBAAyB;wBAC/B,MAAM,EAAE,CAAC,CAAC,IAAI;wBACd,OAAO,EAAE,GAAG,GAAG,IAAI,SAAS,kBAAkB;qBAC/C,CAAC,CAAA;oBACF,SAAQ;gBACV,CAAC;gBACD,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,KAAK,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;YAC/F,CAAC;YACD,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG;gBACrB,KAAK,EAAE,CAAC,CAAC,IAAI;gBACb,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,UAAU,EAAE,GAAG,CAAC,UAAU,KAAK,IAAI;gBACnC,MAAM;gBACN,OAAO;aACR,CAAA;QACH,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YACtD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YACrC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,IAAI,CAAC,GAAG,CAAC;oBACP,IAAI,EAAE,wBAAwB;oBAC9B,MAAM,EAAE,CAAC,CAAC,IAAI;oBACd,OAAO,EAAE,kBAAkB,MAAM,mBAAmB;oBACpD,IAAI,EAAE,iBAAiB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE;iBAC7E,CAAC,CAAA;gBACF,SAAQ;YACV,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,GAAG,CAAC;oBACP,IAAI,EAAE,uBAAuB;oBAC7B,MAAM,EAAE,CAAC,CAAC,IAAI;oBACd,OAAO,EAAE,YAAY,MAAM,6BAA6B,KAAK,CAAC,KAAK,GAAG;oBACtE,IAAI,EAAE,QAAQ,KAAK,CAAC,KAAK,QAAQ,CAAC,CAAC,IAAI,UAAU;iBAClD,CAAC,CAAA;gBACF,SAAQ;YACV,CAAC;YACD,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClD,4EAA4E;gBAC5E,4EAA4E;gBAC5E,IAAI,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;oBAClD,IAAI,CAAC,GAAG,CAAC;wBACP,IAAI,EAAE,wBAAwB;wBAC9B,MAAM,EAAE,CAAC,CAAC,IAAI;wBACd,OAAO,EAAE,IAAI,MAAM,IAAI,KAAK,0DAA0D;wBACtF,IAAI,EAAE,kHAAkH;qBACzH,CAAC,CAAA;oBACF,SAAQ;gBACV,CAAC;gBACD,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBACpC,IAAI,QAAQ,EAAE,CAAC;oBACb,IAAI,CAAC,GAAG,CAAC;wBACP,IAAI,EAAE,mBAAmB;wBACzB,MAAM,EAAE,CAAC,CAAC,IAAI;wBACd,OAAO,EAAE,UAAU,MAAM,IAAI,KAAK,6BAA6B,QAAQ,CAAC,EAAE,GAAG;wBAC7E,IAAI,EAAE,+BAA+B,CAAC,CAAC,IAAI,IAAI,KAAK,GAAG;qBACxD,CAAC,CAAA;oBACF,SAAQ;gBACV,CAAC;gBACD,MAAM,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;gBAC1B,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;oBACV,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,KAAK,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;oBAC5F,SAAQ;gBACV,CAAC;gBACD,wEAAwE;gBACxE,oEAAoE;gBACpE,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBACrC,IAAI,CAAC,GAAG,CAAC;wBACP,IAAI,EAAE,4BAA4B;wBAClC,MAAM,EAAE,CAAC,CAAC,IAAI;wBACd,OAAO,EAAE,UAAU,MAAM,IAAI,KAAK,oDAAoD;wBACtF,IAAI,EAAE,UAAU,KAAK,yCAAyC;qBAC/D,CAAC,CAAA;oBACF,SAAQ;gBACV,CAAC;gBACD,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;YAC5F,CAAC;QACH,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,EAAE;IACF,kFAAkF;IAClF,mFAAmF;IACnF,iFAAiF;IACjF,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,KAAK,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3D,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YACvC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,IAAI,CAAC,GAAG,CAAC;oBACP,IAAI,EAAE,0BAA0B;oBAChC,MAAM,EAAE,CAAC,CAAC,IAAI;oBACd,OAAO,EAAE,yBAAyB,QAAQ,yBAAyB;iBACpE,CAAC,CAAA;gBACF,SAAQ;YACV,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,GAAG,CAAC;oBACP,IAAI,EAAE,yBAAyB;oBAC/B,MAAM,EAAE,CAAC,CAAC,IAAI;oBACd,OAAO,EAAE,2BAA2B,QAAQ,6BAA6B,KAAK,CAAC,KAAK,GAAG;oBACvF,IAAI,EAAE,QAAQ,KAAK,CAAC,KAAK,QAAQ,CAAC,CAAC,IAAI,UAAU;iBAClD,CAAC,CAAA;gBACF,SAAQ;YACV,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/C,MAAM,IAAI,GAAG,WAAW,IAAI,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAA;gBACzD,MAAM,MAAM,GAAG,WAAW,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAA;gBAC/D,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;gBAC3C,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,IAAI,CAAC,GAAG,CAAC;wBACP,IAAI,EAAE,2BAA2B;wBACjC,MAAM,EAAE,CAAC,CAAC,IAAI;wBACd,OAAO,EAAE,aAAa,QAAQ,IAAI,IAAI,gBAAgB,MAAM,yBAAyB;wBACrF,IAAI,EAAE,iBAAiB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;qBACjE,CAAC,CAAA;oBACF,SAAQ;gBACV,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;oBAClC,IAAI,CAAC,GAAG,CAAC;wBACP,IAAI,EAAE,yBAAyB;wBAC/B,MAAM,EAAE,CAAC,CAAC,IAAI;wBACd,OAAO,EAAE,aAAa,QAAQ,IAAI,IAAI,cAAc,MAAM,UAAU,CAAC,CAAC,IAAI,yBAAyB,WAAW,CAAC,KAAK,GAAG;qBACxH,CAAC,CAAA;oBACF,SAAQ;gBACV,CAAC;gBACD,2EAA2E;gBAC3E,2CAA2C;gBAC3C,MAAM,SAAS,GAAG,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAA;gBAC1D,MAAM,MAAM,GAAG,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAA;gBACzD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC3B,IAAI,CAAC,GAAG,CAAC;wBACP,IAAI,EAAE,mBAAmB;wBACzB,MAAM,EAAE,CAAC,CAAC,IAAI;wBACd,OAAO,EAAE,aAAa,QAAQ,IAAI,IAAI,iBAAiB,SAAS,IAAI,GAAG,CAAC,EAAE,yBAAyB;wBACnG,IAAI,EAAE,aAAa,SAAS,KAAK,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;qBACzE,CAAC,CAAA;oBACF,SAAQ;gBACV,CAAC;gBACD,uEAAuE;gBACvE,4EAA4E;gBAC5E,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,WAAW,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC/D,qBAAqB;gBACvB,CAAC;qBAAM,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,WAAW,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACtE,IAAI,CAAC,GAAG,CAAC;wBACP,IAAI,EAAE,yBAAyB;wBAC/B,MAAM,EAAE,CAAC,CAAC,IAAI;wBACd,OAAO,EAAE,aAAa,QAAQ,IAAI,IAAI,6BAA6B,MAAM,kBAAkB,QAAQ,GAAG;wBACtG,IAAI,EAAE,kGAAkG;qBACzG,CAAC,CAAA;oBACF,SAAQ;gBACV,CAAC;gBACD,CAAC;gBAAA,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;YACjG,CAAC;QACH,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,EAAE;IACF,4EAA4E;IAC5E,4EAA4E;IAC5E,gFAAgF;IAChF,wCAAwC;IACxC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YAChD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YAChC,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,CAAC,GAAG,CAAC;oBACP,IAAI,EAAE,kBAAkB;oBACxB,MAAM,EAAE,CAAC,CAAC,IAAI;oBACd,OAAO,EAAE,SAAS,KAAK,CAAC,EAAE,UAAU,CAAC,CAAC,IAAI,mBAAmB,EAAE,GAAG;oBAClE,IAAI,EAAE,yDAAyD;iBAChE,CAAC,CAAA;gBACF,SAAQ;YACV,CAAC;YACD,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QAC7C,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACvD,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YACzC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,IAAI,CAAC,GAAG,CAAC;oBACP,IAAI,EAAE,uBAAuB;oBAC7B,MAAM,EAAE,GAAG,CAAC,EAAE;oBACd,OAAO,EAAE,SAAS,EAAE,kBAAkB,GAAG,CAAC,MAAM,2BAA2B;oBAC3E,IAAI,EAAE,mBAAmB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE;iBAC9E,CAAC,CAAA;gBACF,SAAQ;YACV,CAAC;YACD,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACtC,IACE,MAAM,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE;gBACpB,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,IAAI,EAAE,EAAW,EAAE,MAAM,CAAC,EAAE,CAAC,EAC5E,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC;oBACP,IAAI,EAAE,qBAAqB;oBAC3B,MAAM,EAAE,GAAG,CAAC,EAAE;oBACd,OAAO,EAAE,SAAS,EAAE,kBAAkB,GAAG,CAAC,MAAM,gBAAgB,MAAM,CAAC,EAAE,aAAa,GAAG,CAAC,EAAE,sBAAsB;oBAClH,IAAI,EAAE,QAAQ,MAAM,CAAC,EAAE,QAAQ,GAAG,CAAC,EAAE,UAAU;iBAChD,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YACnD,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG;gBACxC,KAAK,EAAE,CAAC,CAAC,IAAI;gBACb,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE;gBACtB,QAAQ,EAAE,GAAG,CAAC,QAAQ,KAAK,KAAK;gBAChC,SAAS,EAAE,EAAE;aACd,CAAA;QACH,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YACnD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAClC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC9F,IAAI,CAAC,GAAG,CAAC;oBACP,IAAI,EAAE,sBAAsB;oBAC5B,MAAM,EAAE,CAAC,CAAC,IAAI;oBACd,OAAO,EAAE,gBAAgB,GAAG,wCAAwC;oBACpE,IAAI,EAAE,IAAI,CAAC,MAAM;wBACf,CAAC,CAAC,iBAAiB,IAAI,CAAC,CAAC,CAAC,IAAI;wBAC9B,CAAC,CAAC,qBAAqB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE;iBAC/E,CAAC,CAAA;gBACF,SAAQ;YACV,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,GAAG,CAAC;oBACP,IAAI,EAAE,qBAAqB;oBAC3B,MAAM,EAAE,CAAC,CAAC,IAAI;oBACd,OAAO,EAAE,UAAU,GAAG,6BAA6B,KAAK,CAAC,KAAK,GAAG;oBACjE,IAAI,EAAE,QAAQ,KAAK,CAAC,KAAK,QAAQ,CAAC,CAAC,IAAI,UAAU;iBAClD,CAAC,CAAA;gBACF,SAAQ;YACV,CAAC;YACD,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAA;QAClE,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3D,IAAI,KAAK,CAAC,QAAQ;YAAE,SAAQ;QAC5B,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC1F,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC;gBACP,IAAI,EAAE,qBAAqB;gBAC3B,MAAM,EAAE,KAAK,CAAC,KAAK;gBACnB,OAAO,EAAE,UAAU,GAAG,0BAA0B,OAAO,CAAC,MAAM,kBAAkB;gBAChF,IAAI,EAAE,YAAY,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,6CAA6C;aAClF,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IACD,4EAA4E;IAC5E,sCAAsC;IACtC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAClC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,IAAI,CAAC,GAAG,CAAC;oBACP,IAAI,EAAE,sBAAsB;oBAC5B,MAAM,EAAE,CAAC,CAAC,IAAI;oBACd,OAAO,EAAE,gBAAgB,GAAG,wCAAwC;oBACpE,IAAI,EAAE,qBAAqB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE;iBACjF,CAAC,CAAA;gBACF,SAAQ;YACV,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,GAAG,CAAC;oBACP,IAAI,EAAE,qBAAqB;oBAC3B,MAAM,EAAE,CAAC,CAAC,IAAI;oBACd,OAAO,EAAE,UAAU,GAAG,6BAA6B,KAAK,CAAC,KAAK,GAAG;oBACjE,IAAI,EAAE,QAAQ,KAAK,CAAC,KAAK,QAAQ,CAAC,CAAC,IAAI,UAAU;iBAClD,CAAC,CAAA;gBACF,SAAQ;YACV,CAAC;YACD,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QAC9B,CAAC;IACH,CAAC;IACD,+EAA+E;IAC/E,8EAA8E;IAC9E,+EAA+E;IAC/E,iDAAiD;IACjD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3D,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM;YAAE,SAAQ;QACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QAC9E,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;gBACpB,EAAE,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC9B,MAAM,EAAE,GAAG;gBACX,MAAM,EAAE,0BAA0B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB;aACvE,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;YACvD,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,GAAG,CAAC,QAAQ,KAAK,MAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;gBACzF,IAAI,CAAC,GAAG,CAAC;oBACP,IAAI,EAAE,qBAAqB;oBAC3B,MAAM,EAAE,CAAC,CAAC,IAAI;oBACd,OAAO,EAAE,aAAa,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,2BAA2B,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG;oBAC9F,IAAI,EAAE,0BAA0B;iBACjC,CAAC,CAAA;YACJ,CAAC;YACD,IAAI,GAAG,CAAC,SAAS,KAAK,IAAI,IAAI,GAAG,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;gBAC1D,IAAI,CAAC,GAAG,CAAC;oBACP,IAAI,EAAE,qBAAqB;oBAC3B,MAAM,EAAE,CAAC,CAAC,IAAI;oBACd,OAAO,EAAE,uBAAuB,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,oBAAoB;oBAC1E,IAAI,EAAE,iFAAiF;iBACxF,CAAC,CAAA;YACJ,CAAC;YACD,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,GAAG;gBAC3C,EAAE,EAAE,CAAC,CAAC,IAAI;gBACV,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE;gBACtB,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE;gBACxB,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;gBACjC,YAAY,EAAE,GAAG,CAAC,YAAY,KAAK,IAAI;gBACvC,SAAS,EAAE,GAAG,CAAC,SAAS,KAAK,IAAI;gBACjC,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,MAAM;gBAChC,SAAS,EAAE,GAAG,CAAC,SAAS,KAAK,IAAI;gBACjC,UAAU,EAAE,GAAG,CAAC,UAAU,KAAK,IAAI;gBACnC,MAAM,EAAE,GAAG,CAAC,MAAM,KAAK,KAAK;gBAC5B,KAAK,EAAE,GAAG,CAAC,KAAK,KAAK,IAAI;aAC1B,CAAA;QACH,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,EAAE;IACF,6EAA6E;IAC7E,+EAA+E;IAC/E,6EAA6E;IAC7E,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YACjD,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;YACjC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,qBAAqB,IAAI,GAAG,EAAE,CAAC,CAAA;gBACvF,SAAQ;YACV,CAAC;YACD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,SAAS,CAAA;YACpC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtC,IAAI,CAAC,GAAG,CAAC;oBACP,IAAI,EAAE,aAAa;oBACnB,MAAM,EAAE,CAAC,CAAC,IAAI;oBACd,OAAO,EAAE,QAAQ,GAAG,wBAAwB,KAAK,GAAG;oBACpD,IAAI,EAAE,mDAAmD;iBAC1D,CAAC,CAAA;gBACF,SAAQ;YACV,CAAC;YACD,IAAI,GAAG,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;gBAC5B,IAAI,CAAC,GAAG,CAAC;oBACP,IAAI,EAAE,sBAAsB;oBAC5B,MAAM,EAAE,CAAC,CAAC,IAAI;oBACd,OAAO,EAAE,QAAQ,GAAG,iCAAiC;oBACrD,IAAI,EAAE,wEAAwE;iBAC/E,CAAC,CAAA;gBACF,SAAQ;YACV,CAAC;YACD,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,IAAI,EAAE,CAAA;YACzC,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,IAAI,OAAO,CAAA;YAC1C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;gBACtD,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,GAAG,0BAA0B,EAAE,CAAC,CAAA;gBACpG,SAAQ;YACV,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;gBAClD,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,GAAG,wBAAwB,EAAE,CAAC,CAAA;gBACjG,SAAQ;YACV,CAAC;YACD,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC5D,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;gBAC9B,IAAI,CAAC,MAAM,CAAC,EAAE;oBACZ,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,GAAG,UAAU,KAAK,KAAK,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;YACxG,CAAC;YACD,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;gBACvC,yEAAyE;gBACzE,qEAAqE;gBACrE,IAAI,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC;oBAAE,SAAQ;gBAC1C,IACE,MAAM,KAAK,cAAc;oBACzB,MAAM,KAAK,eAAe;oBAC1B,MAAM,KAAK,gBAAgB;oBAC3B,MAAM,KAAK,gBAAgB;oBAE3B,SAAQ;gBACV,MAAM,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBAChD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;gBAChE,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;oBACrB,IAAI,CAAC,GAAG,CAAC;wBACP,IAAI,EAAE,cAAc;wBACpB,MAAM,EAAE,CAAC,CAAC,IAAI;wBACd,OAAO,EAAE,QAAQ,GAAG,8BAA8B,MAAM,GAAG;qBAC5D,CAAC,CAAA;oBACF,SAAQ;gBACV,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC5B,IAAI,CAAC,GAAG,CAAC;wBACP,IAAI,EAAE,2BAA2B;wBACjC,MAAM,EAAE,CAAC,CAAC,IAAI;wBACd,OAAO,EAAE,QAAQ,GAAG,aAAa,KAAK,CAAC,CAAC,CAAC,4BAA4B,KAAK,CAAC,KAAK,GAAG;qBACpF,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;gBACnB,EAAE,EAAE,CAAC,CAAC,IAAI;gBACV,KAAK;gBACL,KAAK,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE;gBAC/B,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;gBACjC,YAAY,EAAE,GAAG,CAAC,YAAY,KAAK,IAAI;gBACvC,UAAU,EAAE,IAAI;gBAChB,WAAW;gBACX,SAAS;aACV,CAAA;QACH,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,+EAA+E;IAC/E,oEAAoE;IACpE,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,SAAS,GAAwE;YACrF,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;gBACnD,IAAI,EAAE,UAAmB;gBACzB,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;gBAC1B,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE;aAC3B,CAAC,CAAC;YACH,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC9C,IAAI,EAAE,KAAc;gBACpB,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;gBAC1B,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE;aAC3B,CAAC,CAAC;SACJ,CAAA;QACD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACtC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC;oBAAE,SAAQ;gBAC3C,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBAC3C,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;gBAC/D,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;oBACtB,IAAI,CAAC,GAAG,CAAC;wBACP,IAAI,EAAE,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa;wBAC9D,MAAM,EAAE,CAAC,CAAC,IAAI;wBACd,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,GAAG,8BAA8B,MAAM,GAAG;qBAClF,CAAC,CAAA;oBACF,SAAQ;gBACV,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC1B,IAAI,CAAC,GAAG,CAAC;wBACP,IAAI,EAAE,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,0BAA0B;wBACxF,MAAM,EAAE,CAAC,CAAC,IAAI;wBACd,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,GAAG,cAAc,KAAK,CAAC,CAAC,CAAC,4BAA4B,MAAM,CAAC,EAAE,GAAG;qBACzG,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,+EAA+E;IAC/E,EAAE;IACF,gFAAgF;IAChF,8EAA8E;IAC9E,kFAAkF;IAClF,iFAAiF;IACjF,yEAAyE;IACzE,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACvD,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,SAAQ;QACtE,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAA;QACtC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,SAAQ;QACtC,IAAI,CAAC,GAAG,CAAC;YACP,IAAI,EAAE,yBAAyB;YAC/B,MAAM,EAAE,GAAG,CAAC,EAAE;YACd,OAAO,EAAE,SAAS,EAAE,YAAY,GAAG,CAAC,KAAK,aAAa,KAAK,oBAAoB;YAC/E,IAAI,EAAE,+EAA+E;SACtF,CAAC,CAAA;IACJ,CAAC;IAED,4EAA4E;IAC5E,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YACnD,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;YAClC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACrC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,IAAI,CAAC,GAAG,CAAC;oBACP,IAAI,EAAE,sBAAsB;oBAC5B,MAAM,EAAE,CAAC,CAAC,IAAI;oBACd,OAAO,EAAE,SAAS,GAAG,6BAA6B,GAAG,CAAC,EAAE,GAAG;iBAC5D,CAAC,CAAA;gBACF,SAAQ;YACV,CAAC;YACD,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;YAClE,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,IAAI,CAAC,GAAG,CAAC;oBACP,IAAI,EAAE,sBAAsB;oBAC5B,MAAM,EAAE,CAAC,CAAC,IAAI;oBACd,OAAO,EAAE,SAAS,GAAG,6BAA6B,GAAG,CAAC,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACjF,IAAI,EAAE,cAAc,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;iBAC3D,CAAC,CAAA;gBACF,SAAQ;YACV,CAAC;YACD,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QACnF,CAAC;IACH,CAAC;IAED,iFAAiF;IACjF,kFAAkF;IAClF,MAAM,iBAAiB,GAAG,CAAC,IAAa,EAAkB,EAAE;QAC1D,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAA;QAC1C,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE;YAAE,OAAO,IAAI,CAAA;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAC1D,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,SAAS,CAAA;IAC3C,CAAC,CAAA;IACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3D,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACvD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,GAAG,CAAC;oBACP,IAAI,EAAE,mBAAmB;oBACzB,MAAM,EAAE,KAAK,CAAC,KAAK;oBACnB,OAAO,EAAE,UAAU,GAAG,WAAW,IAAI,uBAAuB,IAAI,GAAG;oBACnE,IAAI,EAAE,gDAAgD;iBACvD,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;YACpD,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YACvC,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,CAAC,GAAG,CAAC;oBACP,IAAI,EAAE,oBAAoB;oBAC1B,MAAM,EAAE,CAAC,CAAC,IAAI;oBACd,OAAO,EAAE,WAAW,IAAI,6BAA6B,QAAQ,CAAC,EAAE,GAAG;iBACpE,CAAC,CAAA;gBACF,SAAQ;YACV,CAAC;YACD,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBACtE,IAAI,CAAC,GAAG,CAAC;oBACP,IAAI,EAAE,gBAAgB;oBACtB,MAAM,EAAE,CAAC,CAAC,IAAI;oBACd,OAAO,EAAE,WAAW,IAAI,wBAAwB;oBAChD,IAAI,EAAE,4DAA4D;iBACnE,CAAC,CAAA;gBACF,SAAQ;YACV,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC3D,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC7B,IAAI,CAAC,GAAG,CAAC;wBACP,IAAI,EAAE,oBAAoB;wBAC1B,MAAM,EAAE,CAAC,CAAC,IAAI;wBACd,OAAO,EAAE,WAAW,IAAI,WAAW,IAAI,uBAAuB,IAAI,GAAG;wBACrE,IAAI,EAAE,gDAAgD;qBACvD,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;YACD,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrD,IAAI,CAAC,GAAG,CAAC;oBACP,IAAI,EAAE,cAAc;oBACpB,MAAM,EAAE,CAAC,CAAC,IAAI;oBACd,OAAO,EAAE,WAAW,IAAI,sDAAsD;iBAC/E,CAAC,CAAA;YACJ,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClC,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;oBAC7C,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,IAAI,sBAAsB,EAAE,CAAC,CAAA;gBACpG,CAAC;gBACD,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;oBAC5B,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAA;oBAC/B,MAAM,MAAM,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;oBAC1D,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;wBAC7D,IAAI,CAAC,GAAG,CAAC;4BACP,IAAI,EAAE,cAAc;4BACpB,MAAM,EAAE,CAAC,CAAC,IAAI;4BACd,OAAO,EAAE,WAAW,IAAI,eAAe,KAAK,uCAAuC;yBACpF,CAAC,CAAA;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YACD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAA;YACzB,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;gBAChF,IAAI,CAAC,GAAG,CAAC;oBACP,IAAI,EAAE,iBAAiB;oBACvB,MAAM,EAAE,CAAC,CAAC,IAAI;oBACd,OAAO,EAAE,WAAW,IAAI,4CAA4C;iBACrE,CAAC,CAAA;YACJ,CAAC;YACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;gBACtD,IAAI,CAAC,GAAG,CAAC;oBACP,IAAI,EAAE,gCAAgC;oBACtC,MAAM,EAAE,CAAC,CAAC,IAAI;oBACd,OAAO,EAAE,WAAW,IAAI,6BAA6B,MAAM,UAAU,CAAC,CAAC,IAAI,2BAA2B;oBACtG,IAAI,EAAE,uEAAuE;iBAC9E,CAAC,CAAA;YACJ,CAAC;YACD,IACE,OAAO,MAAM,KAAK,QAAQ;gBAC1B,MAAM;gBACN,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC;oBACrB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACrB,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;oBACpB,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;oBACpB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EACnC,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC;oBACP,IAAI,EAAE,sBAAsB;oBAC5B,MAAM,EAAE,CAAC,CAAC,IAAI;oBACd,OAAO,EAAE,WAAW,IAAI,4DAA4D;iBACrF,CAAC,CAAA;YACJ,CAAC;YACD,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG;gBACvB,EAAE,EAAE,CAAC,CAAC,IAAI;gBACV,KAAK,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE;gBAC/B,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvD,GAAG,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM;oBACtC,CAAC,CAAC;wBACE,MAAM,EAAE;4BACN,GAAG,EAAE,eAAe,CAAC,CAAC,IAAI,IAAI,MAAM,EAAE;4BACtC,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,SAAS;yBAChC;qBACF;oBACH,CAAC,CAAC,EAAE,CAAC;aACR,CAAA;QACH,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrD,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;YACxC,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,CAAC,GAAG,CAAC;oBACP,IAAI,EAAE,qBAAqB;oBAC3B,MAAM,EAAE,CAAC,CAAC,IAAI;oBACd,OAAO,EAAE,YAAY,IAAI,6BAA6B,QAAQ,CAAC,EAAE,GAAG;iBACrE,CAAC,CAAA;gBACF,SAAQ;YACV,CAAC;YACD,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QAClD,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,8EAA8E;IAC9E,4EAA4E;IAC5E,MAAM,WAAW,GAAG,CAAC,CAAY,EAAE,IAAY,EAAU,EAAE,CACzD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IACnD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE,CAAC;YAC/D,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;YACjC,MAAM,MAAM,GAA2B,EAAE,CAAA;YACzC,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC7D,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;gBAC9B,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;oBACf,IAAI,CAAC,GAAG,CAAC;wBACP,IAAI,EAAE,sBAAsB;wBAC5B,MAAM,EAAE,CAAC,CAAC,IAAI;wBACd,OAAO,EAAE,GAAG,GAAG,IAAI,KAAK,KAAK,MAAM,CAAC,MAAM,EAAE;qBAC7C,CAAC,CAAA;oBACF,SAAQ;gBACV,CAAC;gBACD,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;YACtB,CAAC;YACD,IAAI,GAAG,CAAC,UAAU,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzD,IAAI,CAAC,GAAG,CAAC;oBACP,IAAI,EAAE,uBAAuB;oBAC7B,MAAM,EAAE,CAAC,CAAC,IAAI;oBACd,OAAO,EAAE,iBAAiB,GAAG,kCAAkC;iBAChE,CAAC,CAAA;YACJ,CAAC;YACD,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG;gBAC3B,GAAG,GAAG;gBACN,EAAE,EAAE,CAAC,CAAC,IAAI;gBACV,MAAM;gBACN,UAAU,EAAE,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;aACrE,CAAA;QACH,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC;YAC7D,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;YACjC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG;gBACzB,GAAG,GAAG;gBACN,EAAE,EAAE,CAAC,CAAC,IAAI;gBACV,YAAY,EAAE,GAAG,CAAC,YAAY,KAAK,IAAI;gBACvC,YAAY,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;aACjE,CAAA;QACH,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QAChE,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACvC,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;YAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,IAAI,CAAC,GAAG,CAAC;oBACP,IAAI,EAAE,4BAA4B;oBAClC,MAAM,EAAE,IAAI,CAAC,EAAE;oBACf,OAAO,EAAE,iBAAiB,GAAG,kCAAkC,QAAQ,GAAG;iBAC3E,CAAC,CAAA;gBACF,SAAQ;YACV,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAE,EAAE,MAAM,CAAC,EAAE,CAAC;gBAC5D,IAAI,CAAC,GAAG,CAAC;oBACP,IAAI,EAAE,+BAA+B;oBACrC,MAAM,EAAE,IAAI,CAAC,EAAE;oBACf,OAAO,EAAE,iBAAiB,GAAG,uBAAuB,QAAQ,2BAA2B,MAAM,CAAC,EAAE,GAAG;iBACpG,CAAC,CAAA;QACN,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAClE,KAAK,MAAM,WAAW,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;YAChD,MAAM,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC,WAAW,CAAC,CAAA;YACjD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,IAAI,CAAC,GAAG,CAAC;oBACP,IAAI,EAAE,4BAA4B;oBAClC,MAAM,EAAE,QAAQ,CAAC,EAAE;oBACnB,OAAO,EAAE,aAAa,GAAG,sCAAsC,WAAW,GAAG;iBAC9E,CAAC,CAAA;gBACF,SAAQ;YACV,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAE,EAAE,MAAM,CAAC,EAAE,CAAC;gBAChE,IAAI,CAAC,GAAG,CAAC;oBACP,IAAI,EAAE,+BAA+B;oBACrC,MAAM,EAAE,QAAQ,CAAC,EAAE;oBACnB,OAAO,EAAE,aAAa,GAAG,2BAA2B,WAAW,2BAA2B,MAAM,CAAC,EAAE,GAAG;iBACvG,CAAC,CAAA;QACN,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ;YAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QAC9E,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;YACrD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;gBAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QAC/C,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ;YAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC3G,CAAC;IACD,+EAA+E;IAC/E,wEAAwE;IACxE,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC/D,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,GAAG,CAAC;gBACP,IAAI,EAAE,kBAAkB;gBACxB,OAAO,EAAE,WAAW,CAAC,kDAAkD;gBACvE,IAAI,EAAE,yBAAyB,CAAC,0CAA0C;aAC3E,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3D,MAAM,MAAM,GAAG,CAAC,QAAQ,CAAC,QAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;YAClD,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;gBAAE,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC,GAAG,OAAO,CAAA;QAC5F,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;IAE/D,IAAI,CAAC,UAAU,EAAE,CAAA;IACjB,QAAQ,CAAC,WAAW,GAAG,EAAE,CAAA;IACzB,OAAO,QAAQ,CAAA;AACjB,CAAC"}
|
|
1
|
+
{"version":3,"file":"compose.js","sourceRoot":"","sources":["../../../../../../packages/ketjs/src/kernel/compose.ts"],"names":[],"mappings":"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"}
|
package/dist/kernel/define.d.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import type { KetModule, ModuleSpec } from '../types.ts';
|
|
2
2
|
export declare function defineModule(spec: ModuleSpec): KetModule;
|
|
3
3
|
/**
|
|
4
|
-
* A theme
|
|
5
|
-
*
|
|
6
|
-
* own category: a theme nobody can switch on is a theme nobody can use.
|
|
4
|
+
* A theme follows the same module contract, with additional restrictions because
|
|
5
|
+
* its templates render untrusted content inside the deployment.
|
|
7
6
|
*/
|
|
8
7
|
export declare function defineTheme(spec: ModuleSpec): KetModule;
|
|
9
8
|
//# sourceMappingURL=define.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define.d.ts","sourceRoot":"","sources":["../../../../../packages/ketjs/src/kernel/define.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAsCxD,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"define.d.ts","sourceRoot":"","sources":["../../../../../packages/ketjs/src/kernel/define.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAsCxD,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,CAuDxD;AAkBD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,CAmCvD"}
|