@superbee/core 0.2.0-pre.15 → 0.2.0-pre.17
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/README.md +316 -0
- package/dist/backend.d.ts +3 -0
- package/dist/backend.d.ts.map +1 -1
- package/dist/backend.js +7 -0
- package/dist/backend.js.map +1 -1
- package/dist/blob-contract.d.ts +80 -0
- package/dist/blob-contract.d.ts.map +1 -0
- package/dist/blob-contract.js +131 -0
- package/dist/blob-contract.js.map +1 -0
- package/dist/blob-journal.d.ts +117 -0
- package/dist/blob-journal.d.ts.map +1 -0
- package/dist/blob-journal.js +168 -0
- package/dist/blob-journal.js.map +1 -0
- package/dist/bundle-health/index.d.ts +14 -0
- package/dist/bundle-health/index.d.ts.map +1 -0
- package/dist/bundle-health/index.js +12 -0
- package/dist/bundle-health/index.js.map +1 -0
- package/dist/bundle-health/kind-findings.d.ts +44 -0
- package/dist/bundle-health/kind-findings.d.ts.map +1 -0
- package/dist/bundle-health/kind-findings.js +68 -0
- package/dist/bundle-health/kind-findings.js.map +1 -0
- package/dist/bundle-health/legacy-page.d.ts +39 -0
- package/dist/bundle-health/legacy-page.d.ts.map +1 -0
- package/dist/bundle-health/legacy-page.js +50 -0
- package/dist/bundle-health/legacy-page.js.map +1 -0
- package/dist/bundle-health/report.d.ts +202 -0
- package/dist/bundle-health/report.d.ts.map +1 -0
- package/dist/bundle-health/report.js +438 -0
- package/dist/bundle-health/report.js.map +1 -0
- package/dist/engine.d.ts +1 -1
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js.map +1 -1
- package/dist/file-journaled-backend-internal.d.ts +2 -0
- package/dist/file-journaled-backend-internal.d.ts.map +1 -1
- package/dist/file-journaled-backend-internal.js +2 -0
- package/dist/file-journaled-backend-internal.js.map +1 -1
- package/dist/file-journaled-backend.d.ts +14 -2
- package/dist/file-journaled-backend.d.ts.map +1 -1
- package/dist/file-journaled-backend.js +245 -37
- package/dist/file-journaled-backend.js.map +1 -1
- package/dist/hosted-client/binding.d.ts +7 -0
- package/dist/hosted-client/binding.d.ts.map +1 -0
- package/dist/hosted-client/binding.js +10 -0
- package/dist/hosted-client/binding.js.map +1 -0
- package/dist/hosted-client/blob-delivery.d.ts +61 -0
- package/dist/hosted-client/blob-delivery.d.ts.map +1 -0
- package/dist/hosted-client/blob-delivery.js +147 -0
- package/dist/hosted-client/blob-delivery.js.map +1 -0
- package/dist/hosted-client/bundle-listing.d.ts +46 -0
- package/dist/hosted-client/bundle-listing.d.ts.map +1 -0
- package/dist/hosted-client/bundle-listing.js +36 -0
- package/dist/hosted-client/bundle-listing.js.map +1 -0
- package/dist/hosted-client/client.d.ts +155 -0
- package/dist/hosted-client/client.d.ts.map +1 -0
- package/dist/hosted-client/client.js +278 -0
- package/dist/hosted-client/client.js.map +1 -0
- package/dist/hosted-client/errors.d.ts +16 -0
- package/dist/hosted-client/errors.d.ts.map +1 -0
- package/dist/hosted-client/errors.js +22 -0
- package/dist/hosted-client/errors.js.map +1 -0
- package/dist/hosted-client/index.d.ts +23 -0
- package/dist/hosted-client/index.d.ts.map +1 -0
- package/dist/hosted-client/index.js +25 -0
- package/dist/hosted-client/index.js.map +1 -0
- package/dist/hosted-client/node.d.ts +70 -0
- package/dist/hosted-client/node.d.ts.map +1 -0
- package/dist/hosted-client/node.js +214 -0
- package/dist/hosted-client/node.js.map +1 -0
- package/dist/hosted-client/reference.d.ts +12 -0
- package/dist/hosted-client/reference.d.ts.map +1 -0
- package/dist/hosted-client/reference.js +29 -0
- package/dist/hosted-client/reference.js.map +1 -0
- package/dist/hosted-client/write.d.ts +200 -0
- package/dist/hosted-client/write.d.ts.map +1 -0
- package/dist/hosted-client/write.js +401 -0
- package/dist/hosted-client/write.js.map +1 -0
- package/dist/hosted-transport/answer-rows.d.ts +29 -2
- package/dist/hosted-transport/answer-rows.d.ts.map +1 -1
- package/dist/hosted-transport/answer-rows.js +60 -2
- package/dist/hosted-transport/answer-rows.js.map +1 -1
- package/dist/hosted-transport/blob-reads.d.ts +35 -0
- package/dist/hosted-transport/blob-reads.d.ts.map +1 -0
- package/dist/hosted-transport/blob-reads.js +179 -0
- package/dist/hosted-transport/blob-reads.js.map +1 -0
- package/dist/hosted-transport/blob-write.d.ts +34 -0
- package/dist/hosted-transport/blob-write.d.ts.map +1 -0
- package/dist/hosted-transport/blob-write.js +115 -0
- package/dist/hosted-transport/blob-write.js.map +1 -0
- package/dist/hosted-transport/carrier.d.ts +8 -9
- package/dist/hosted-transport/carrier.d.ts.map +1 -1
- package/dist/hosted-transport/carrier.js +40 -41
- package/dist/hosted-transport/carrier.js.map +1 -1
- package/dist/hosted-transport/index.d.ts +4 -4
- package/dist/hosted-transport/index.d.ts.map +1 -1
- package/dist/hosted-transport/index.js +4 -4
- package/dist/hosted-transport/index.js.map +1 -1
- package/dist/hosted-transport/read-adapter.d.ts +6 -0
- package/dist/hosted-transport/read-adapter.d.ts.map +1 -1
- package/dist/hosted-transport/read-adapter.js +11 -0
- package/dist/hosted-transport/read-adapter.js.map +1 -1
- package/dist/hosted-transport/whole-document-transport.d.ts +1 -1
- package/dist/hosted-transport/whole-document-transport.d.ts.map +1 -1
- package/dist/hosted-transport/whole-document-transport.js +20 -12
- package/dist/hosted-transport/whole-document-transport.js.map +1 -1
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/journaled-backend.d.ts +10 -2
- package/dist/journaled-backend.d.ts.map +1 -1
- package/dist/journaled-backend.js +3 -3
- package/dist/journaled-backend.js.map +1 -1
- package/dist/kinds-load.js +4 -4
- package/dist/kinds-load.js.map +1 -1
- package/dist/kinds.d.ts.map +1 -1
- package/dist/kinds.js +3 -2
- package/dist/kinds.js.map +1 -1
- package/dist/link-types.d.ts +26 -0
- package/dist/link-types.d.ts.map +1 -0
- package/dist/link-types.js +57 -0
- package/dist/link-types.js.map +1 -0
- package/dist/paths.d.ts +16 -0
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +25 -0
- package/dist/paths.js.map +1 -1
- package/dist/platform.d.ts +4 -0
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +16 -0
- package/dist/platform.js.map +1 -1
- package/dist/query-filter.d.ts +9 -0
- package/dist/query-filter.d.ts.map +1 -1
- package/dist/query-filter.js +19 -3
- package/dist/query-filter.js.map +1 -1
- package/dist/recipe-lifecycle/errors.d.ts +77 -0
- package/dist/recipe-lifecycle/errors.d.ts.map +1 -0
- package/dist/recipe-lifecycle/errors.js +96 -0
- package/dist/recipe-lifecycle/errors.js.map +1 -0
- package/dist/recipe-lifecycle/evolution.d.ts +71 -0
- package/dist/recipe-lifecycle/evolution.d.ts.map +1 -0
- package/dist/recipe-lifecycle/evolution.js +659 -0
- package/dist/recipe-lifecycle/evolution.js.map +1 -0
- package/dist/recipe-lifecycle/index.d.ts +23 -0
- package/dist/recipe-lifecycle/index.d.ts.map +1 -0
- package/dist/recipe-lifecycle/index.js +19 -0
- package/dist/recipe-lifecycle/index.js.map +1 -0
- package/dist/recipe-lifecycle/install.d.ts +111 -0
- package/dist/recipe-lifecycle/install.d.ts.map +1 -0
- package/dist/recipe-lifecycle/install.js +412 -0
- package/dist/recipe-lifecycle/install.js.map +1 -0
- package/dist/recipe-lifecycle/legacy-aliases.d.ts +16 -0
- package/dist/recipe-lifecycle/legacy-aliases.d.ts.map +1 -0
- package/dist/recipe-lifecycle/legacy-aliases.js +51 -0
- package/dist/recipe-lifecycle/legacy-aliases.js.map +1 -0
- package/dist/recipe-lifecycle/stamp.d.ts +98 -0
- package/dist/recipe-lifecycle/stamp.d.ts.map +1 -0
- package/dist/recipe-lifecycle/stamp.js +260 -0
- package/dist/recipe-lifecycle/stamp.js.map +1 -0
- package/dist/recipes.d.ts +5 -0
- package/dist/recipes.d.ts.map +1 -1
- package/dist/recipes.js +5 -0
- package/dist/recipes.js.map +1 -1
- package/dist/record-overlay/apply.d.ts +43 -0
- package/dist/record-overlay/apply.d.ts.map +1 -0
- package/dist/record-overlay/apply.js +490 -0
- package/dist/record-overlay/apply.js.map +1 -0
- package/dist/record-overlay/canonical.d.ts +14 -0
- package/dist/record-overlay/canonical.d.ts.map +1 -0
- package/dist/record-overlay/canonical.js +31 -0
- package/dist/record-overlay/canonical.js.map +1 -0
- package/dist/record-overlay/digest.d.ts +4 -0
- package/dist/record-overlay/digest.d.ts.map +1 -0
- package/dist/record-overlay/digest.js +11 -0
- package/dist/record-overlay/digest.js.map +1 -0
- package/dist/record-overlay/errors.d.ts +40 -0
- package/dist/record-overlay/errors.d.ts.map +1 -0
- package/dist/record-overlay/errors.js +51 -0
- package/dist/record-overlay/errors.js.map +1 -0
- package/dist/record-overlay/findings.d.ts +5 -0
- package/dist/record-overlay/findings.d.ts.map +1 -0
- package/dist/record-overlay/findings.js +83 -0
- package/dist/record-overlay/findings.js.map +1 -0
- package/dist/record-overlay/index.d.ts +23 -0
- package/dist/record-overlay/index.d.ts.map +1 -0
- package/dist/record-overlay/index.js +21 -0
- package/dist/record-overlay/index.js.map +1 -0
- package/dist/record-overlay/plan.d.ts +12 -0
- package/dist/record-overlay/plan.d.ts.map +1 -0
- package/dist/record-overlay/plan.js +284 -0
- package/dist/record-overlay/plan.js.map +1 -0
- package/dist/record-overlay/policy.d.ts +60 -0
- package/dist/record-overlay/policy.d.ts.map +1 -0
- package/dist/record-overlay/policy.js +209 -0
- package/dist/record-overlay/policy.js.map +1 -0
- package/dist/record-overlay/redact.d.ts +3 -0
- package/dist/record-overlay/redact.d.ts.map +1 -0
- package/dist/record-overlay/redact.js +27 -0
- package/dist/record-overlay/redact.js.map +1 -0
- package/dist/record-overlay/signal-kind.d.ts +30 -0
- package/dist/record-overlay/signal-kind.d.ts.map +1 -0
- package/dist/record-overlay/signal-kind.js +38 -0
- package/dist/record-overlay/signal-kind.js.map +1 -0
- package/dist/record-overlay/signal-text.d.ts +45 -0
- package/dist/record-overlay/signal-text.d.ts.map +1 -0
- package/dist/record-overlay/signal-text.js +116 -0
- package/dist/record-overlay/signal-text.js.map +1 -0
- package/dist/record-overlay/source-index.d.ts +19 -0
- package/dist/record-overlay/source-index.d.ts.map +1 -0
- package/dist/record-overlay/source-index.js +102 -0
- package/dist/record-overlay/source-index.js.map +1 -0
- package/dist/record-overlay/types.d.ts +286 -0
- package/dist/record-overlay/types.d.ts.map +1 -0
- package/dist/record-overlay/types.js +2 -0
- package/dist/record-overlay/types.js.map +1 -0
- package/dist/remote-operations.js +5 -2
- package/dist/remote-operations.js.map +1 -1
- package/dist/storage.d.ts +5 -1
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +4 -1
- package/dist/storage.js.map +1 -1
- package/dist/uncertain-write.d.ts +107 -6
- package/dist/uncertain-write.d.ts.map +1 -1
- package/dist/uncertain-write.js +67 -32
- package/dist/uncertain-write.js.map +1 -1
- package/dist/write-identity.d.ts +5 -0
- package/dist/write-identity.d.ts.map +1 -0
- package/dist/write-identity.js +9 -0
- package/dist/write-identity.js.map +1 -0
- package/package.json +21 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/recipe-lifecycle/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/** The common base: every recipe lifecycle failure is one of the subclasses below. */
|
|
2
|
+
export class RecipeLifecycleError extends Error {
|
|
3
|
+
constructor(message, options) {
|
|
4
|
+
super(message, options);
|
|
5
|
+
this.name = "RecipeLifecycleError";
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
/** The recipe itself cannot target this bundle: an unsupported edition or a contradictory field declaration. */
|
|
9
|
+
export class RecipeInputError extends RecipeLifecycleError {
|
|
10
|
+
constructor(message) {
|
|
11
|
+
super(message);
|
|
12
|
+
this.name = "RecipeInputError";
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
/** A recipe asset (View entry, View registry or Reference) differs from what the bundle already holds there. */
|
|
16
|
+
export class RecipeAssetConflict extends RecipeLifecycleError {
|
|
17
|
+
recipe;
|
|
18
|
+
key;
|
|
19
|
+
constructor(recipe, key) {
|
|
20
|
+
super(`recipe '${recipe}' cannot install '${key}' because a different target already exists; ` +
|
|
21
|
+
"the existing bundle content was left untouched");
|
|
22
|
+
this.name = "RecipeAssetConflict";
|
|
23
|
+
this.recipe = recipe;
|
|
24
|
+
this.key = key;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
/** The bundle's OKF edition changed between the lifecycle's read of it and a write. */
|
|
28
|
+
export class RecipeEditionChanged extends RecipeLifecycleError {
|
|
29
|
+
from;
|
|
30
|
+
to;
|
|
31
|
+
operation;
|
|
32
|
+
constructor(from, to, operation) {
|
|
33
|
+
super(`bundle OKF version changed from '${from}' to '${to}' during recipe ${operation}` +
|
|
34
|
+
(operation === "installation" ? "; retry" : ""));
|
|
35
|
+
this.name = "RecipeEditionChanged";
|
|
36
|
+
this.from = from;
|
|
37
|
+
this.to = to;
|
|
38
|
+
this.operation = operation;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/** The plan token the caller observed no longer matches the bundle's current plan. */
|
|
42
|
+
export class RecipeEvolutionPlanChanged extends RecipeLifecycleError {
|
|
43
|
+
expected;
|
|
44
|
+
current;
|
|
45
|
+
constructor(expected, current) {
|
|
46
|
+
super(`recipe evolution plan changed (expected ${expected}, current ${current}); inspect a fresh plan before applying`);
|
|
47
|
+
this.name = "RecipeEvolutionPlanChanged";
|
|
48
|
+
this.expected = expected;
|
|
49
|
+
this.current = current;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/** The observed plan is not ready: it carries blockers, so nothing was written. */
|
|
53
|
+
export class RecipeEvolutionBlocked extends RecipeLifecycleError {
|
|
54
|
+
recipe;
|
|
55
|
+
blockers;
|
|
56
|
+
constructor(recipe, blockers) {
|
|
57
|
+
super(`recipe '${recipe}' cannot evolve automatically (${blockers.length} blocker${blockers.length === 1 ? "" : "s"})`);
|
|
58
|
+
this.name = "RecipeEvolutionBlocked";
|
|
59
|
+
this.recipe = recipe;
|
|
60
|
+
this.blockers = blockers;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
/** The evolution apply stopped after writing `completed`; `pending` names the targets still unwritten. */
|
|
64
|
+
export class RecipeEvolutionInterrupted extends RecipeLifecycleError {
|
|
65
|
+
reason;
|
|
66
|
+
completed;
|
|
67
|
+
pending;
|
|
68
|
+
constructor(reason, message, completed, pending, cause) {
|
|
69
|
+
super(message, { cause });
|
|
70
|
+
this.name = "RecipeEvolutionInterrupted";
|
|
71
|
+
this.reason = reason;
|
|
72
|
+
this.completed = completed;
|
|
73
|
+
this.pending = pending;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Every write succeeded, but the re-plan after the loop could not run (`unverifiable`) or no longer
|
|
78
|
+
* reads ready and unchanged (`changed`), because the bundle has no cross-document transaction.
|
|
79
|
+
*/
|
|
80
|
+
export class RecipeEvolutionPostcondition extends RecipeLifecycleError {
|
|
81
|
+
reason;
|
|
82
|
+
completed;
|
|
83
|
+
blockers;
|
|
84
|
+
postcondition_plan;
|
|
85
|
+
constructor(reason, message, completed, details = {}) {
|
|
86
|
+
super(message, details.cause === undefined ? undefined : { cause: details.cause });
|
|
87
|
+
this.name = "RecipeEvolutionPostcondition";
|
|
88
|
+
this.reason = reason;
|
|
89
|
+
this.completed = completed;
|
|
90
|
+
if (details.blockers !== undefined)
|
|
91
|
+
this.blockers = details.blockers;
|
|
92
|
+
if (details.postcondition_plan !== undefined)
|
|
93
|
+
this.postcondition_plan = details.postcondition_plan;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/recipe-lifecycle/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import type { LoadedRecipe } from "../recipes.js";
|
|
2
|
+
import type { Bundle, ConceptId, Version } from "../types.js";
|
|
3
|
+
import { type RecipeEvolutionCompletedDefinition } from "./errors.js";
|
|
4
|
+
import { type RecipeStampState } from "./stamp.js";
|
|
5
|
+
export interface RecipeEvolutionDefinition {
|
|
6
|
+
id: ConceptId;
|
|
7
|
+
governs: string;
|
|
8
|
+
/** Content only: whether the convention's declarations change. */
|
|
9
|
+
action: "missing" | "unchanged" | "update";
|
|
10
|
+
/** The installed convention's recipe stamp relative to this recipe. */
|
|
11
|
+
stamp: RecipeStampState;
|
|
12
|
+
expected_version: Version | null;
|
|
13
|
+
desired_version: Version;
|
|
14
|
+
/** Exact additive semantic paths this automatic plan will introduce. */
|
|
15
|
+
added_paths: string[];
|
|
16
|
+
}
|
|
17
|
+
export interface RecipeEvolutionBlocker {
|
|
18
|
+
code: string;
|
|
19
|
+
id: string;
|
|
20
|
+
message: string;
|
|
21
|
+
field?: string;
|
|
22
|
+
}
|
|
23
|
+
/** Public representation of one read-only, state-bound preflight decision. */
|
|
24
|
+
export interface RecipeEvolutionPlan {
|
|
25
|
+
recipe: "evolution plan";
|
|
26
|
+
id: string;
|
|
27
|
+
version: string;
|
|
28
|
+
source: string;
|
|
29
|
+
okf_version: string;
|
|
30
|
+
ready: boolean;
|
|
31
|
+
/** Content only: whether any convention's declarations change. */
|
|
32
|
+
changed: boolean;
|
|
33
|
+
/** How many conventions the apply writes: every content update and every stale or missing stamp. */
|
|
34
|
+
writes: number;
|
|
35
|
+
plan_token: string;
|
|
36
|
+
definitions: RecipeEvolutionDefinition[];
|
|
37
|
+
counts: {
|
|
38
|
+
definitions: number;
|
|
39
|
+
updates: number;
|
|
40
|
+
/** Writes that only record the stamp: write-set members whose action is not `update`. */
|
|
41
|
+
stamp_writes: number;
|
|
42
|
+
unchanged: number;
|
|
43
|
+
missing: number;
|
|
44
|
+
instances_checked: number;
|
|
45
|
+
blockers: number;
|
|
46
|
+
};
|
|
47
|
+
blockers: RecipeEvolutionBlocker[];
|
|
48
|
+
}
|
|
49
|
+
export interface RecipeEvolutionApplyResult {
|
|
50
|
+
/** `evolved`: a content update was written; `stamped`: only stamps were; `already current`: nothing. */
|
|
51
|
+
recipe: "evolved" | "stamped" | "already current";
|
|
52
|
+
id: string;
|
|
53
|
+
version: string;
|
|
54
|
+
source: string;
|
|
55
|
+
/** True whenever anything was written. */
|
|
56
|
+
changed: boolean;
|
|
57
|
+
plan_token: string;
|
|
58
|
+
definitions: RecipeEvolutionCompletedDefinition[];
|
|
59
|
+
counts: {
|
|
60
|
+
updated: number;
|
|
61
|
+
stamped: number;
|
|
62
|
+
unchanged: number;
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
/** Build a read-only, state-bound preflight for installed recipe convention evolution. */
|
|
66
|
+
export declare function planRecipeEvolution(bundle: Bundle, recipe: LoadedRecipe): Promise<RecipeEvolutionPlan>;
|
|
67
|
+
/** Apply only the exact ready plan the caller previously observed. */
|
|
68
|
+
export declare function applyRecipeEvolution(bundle: Bundle, recipe: LoadedRecipe, expectedPlanToken: string, options?: {
|
|
69
|
+
actor?: string;
|
|
70
|
+
}): Promise<RecipeEvolutionApplyResult>;
|
|
71
|
+
//# sourceMappingURL=evolution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evolution.d.ts","sourceRoot":"","sources":["../../src/recipe-lifecycle/evolution.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAe,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3E,OAAO,EAML,KAAK,kCAAkC,EACxC,MAAM,aAAa,CAAC;AAMrB,OAAO,EAOL,KAAK,gBAAgB,EACtB,MAAM,YAAY,CAAC;AAUpB,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,SAAS,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC3C,uEAAuE;IACvE,KAAK,EAAE,gBAAgB,CAAC;IACxB,gBAAgB,EAAE,OAAO,GAAG,IAAI,CAAC;IACjC,eAAe,EAAE,OAAO,CAAC;IACzB,wEAAwE;IACxE,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,8EAA8E;AAC9E,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,gBAAgB,CAAC;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;IACf,kEAAkE;IAClE,OAAO,EAAE,OAAO,CAAC;IACjB,oGAAoG;IACpG,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,yBAAyB,EAAE,CAAC;IACzC,MAAM,EAAE;QACN,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,yFAAyF;QACzF,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,QAAQ,EAAE,sBAAsB,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,0BAA0B;IACzC,wGAAwG;IACxG,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,iBAAiB,CAAC;IAClD,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,kCAAkC,EAAE,CAAC;IAClD,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CACjE;AAgwBD,0FAA0F;AAC1F,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,mBAAmB,CAAC,CAE9B;AAED,sEAAsE;AACtE,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,EACpB,iBAAiB,EAAE,MAAM,EACzB,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/B,OAAO,CAAC,0BAA0B,CAAC,CAsHrC"}
|