alasio 9.0.0 → 10.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/src/bound-harnesses.js +98 -0
- package/dist/cli/src/bound-harnesses.js.map +1 -0
- package/dist/cli/src/branches.js +30 -14
- package/dist/cli/src/branches.js.map +1 -1
- package/dist/cli/src/cluster/docker.js +21 -11
- package/dist/cli/src/cluster/docker.js.map +1 -1
- package/dist/cli/src/cluster/host.js +5 -1
- package/dist/cli/src/cluster/host.js.map +1 -1
- package/dist/cli/src/cluster/k3s.js +62 -3
- package/dist/cli/src/cluster/k3s.js.map +1 -1
- package/dist/cli/src/cluster/node.js +47 -13
- package/dist/cli/src/cluster/node.js.map +1 -1
- package/dist/cli/src/cluster/stargz.js +40 -3
- package/dist/cli/src/cluster/stargz.js.map +1 -1
- package/dist/cli/src/commands/common.js +2 -2
- package/dist/cli/src/commands/common.js.map +1 -1
- package/dist/cli/src/commands/lake.js +1 -1
- package/dist/cli/src/commands/lake.js.map +1 -1
- package/dist/cli/src/commands/login-relay.js +91 -0
- package/dist/cli/src/commands/login-relay.js.map +1 -0
- package/dist/cli/src/commands/login.js +11 -10
- package/dist/cli/src/commands/login.js.map +1 -1
- package/dist/cli/src/commands/logs.js +89 -6
- package/dist/cli/src/commands/logs.js.map +1 -1
- package/dist/cli/src/commands/restart.js +10 -4
- package/dist/cli/src/commands/restart.js.map +1 -1
- package/dist/cli/src/commands/restore-filer-store.js +27 -10
- package/dist/cli/src/commands/restore-filer-store.js.map +1 -1
- package/dist/cli/src/commands/status.js +59 -12
- package/dist/cli/src/commands/status.js.map +1 -1
- package/dist/cli/src/commands/up.js +9 -6
- package/dist/cli/src/commands/up.js.map +1 -1
- package/dist/cli/src/commands/upgrade.js +21 -5
- package/dist/cli/src/commands/upgrade.js.map +1 -1
- package/dist/cli/src/folders.js +9 -13
- package/dist/cli/src/folders.js.map +1 -1
- package/dist/cli/src/gateway-calls.js +14 -8
- package/dist/cli/src/gateway-calls.js.map +1 -1
- package/dist/cli/src/install.js +7 -41
- package/dist/cli/src/install.js.map +1 -1
- package/dist/cli/src/kube/api.js +59 -12
- package/dist/cli/src/kube/api.js.map +1 -1
- package/dist/cli/src/kube/apply.js +107 -9
- package/dist/cli/src/kube/apply.js.map +1 -1
- package/dist/cli/src/kube/rollout.js +16 -6
- package/dist/cli/src/kube/rollout.js.map +1 -1
- package/dist/cli/src/main.js +2 -1
- package/dist/cli/src/main.js.map +1 -1
- package/dist/cli/src/manifests/admission.js +228 -11
- package/dist/cli/src/manifests/admission.js.map +1 -1
- package/dist/cli/src/manifests/alasio.js +151 -63
- package/dist/cli/src/manifests/alasio.js.map +1 -1
- package/dist/cli/src/manifests/branch.js +6 -1
- package/dist/cli/src/manifests/branch.js.map +1 -1
- package/dist/cli/src/manifests/codex-login.js +101 -0
- package/dist/cli/src/manifests/codex-login.js.map +1 -0
- package/dist/cli/src/manifests/collector.js +26 -21
- package/dist/cli/src/manifests/collector.js.map +1 -1
- package/dist/cli/src/manifests/common.js +50 -23
- package/dist/cli/src/manifests/common.js.map +1 -1
- package/dist/cli/src/manifests/config.js +79 -30
- package/dist/cli/src/manifests/config.js.map +1 -1
- package/dist/cli/src/manifests/disruption.js +8 -3
- package/dist/cli/src/manifests/disruption.js.map +1 -1
- package/dist/cli/src/manifests/folders.js +8 -5
- package/dist/cli/src/manifests/folders.js.map +1 -1
- package/dist/cli/src/manifests/harness-pools.js +236 -0
- package/dist/cli/src/manifests/harness-pools.js.map +1 -0
- package/dist/cli/src/manifests/image-holder.js +61 -0
- package/dist/cli/src/manifests/image-holder.js.map +1 -0
- package/dist/cli/src/manifests/index.js +6 -2
- package/dist/cli/src/manifests/index.js.map +1 -1
- package/dist/cli/src/manifests/keda.js +4 -2
- package/dist/cli/src/manifests/keda.js.map +1 -1
- package/dist/cli/src/manifests/lake.js +1 -17
- package/dist/cli/src/manifests/lake.js.map +1 -1
- package/dist/cli/src/manifests/log.js +63 -16
- package/dist/cli/src/manifests/log.js.map +1 -1
- package/dist/cli/src/manifests/neon.js +57 -77
- package/dist/cli/src/manifests/neon.js.map +1 -1
- package/dist/cli/src/manifests/network-policies.js +111 -39
- package/dist/cli/src/manifests/network-policies.js.map +1 -1
- package/dist/cli/src/manifests/node-agent.js +39 -19
- package/dist/cli/src/manifests/node-agent.js.map +1 -1
- package/dist/cli/src/manifests/object-store.js +95 -23
- package/dist/cli/src/manifests/object-store.js.map +1 -1
- package/dist/cli/src/manifests/sandbox-gateway.js +143 -45
- package/dist/cli/src/manifests/sandbox-gateway.js.map +1 -1
- package/dist/cli/src/manifests/scalers.js +5 -4
- package/dist/cli/src/manifests/scalers.js.map +1 -1
- package/dist/cli/src/manifests/sizing.js +1 -1
- package/dist/cli/src/manifests/sizing.js.map +1 -1
- package/dist/cli/src/manifests/valkey.js +19 -5
- package/dist/cli/src/manifests/valkey.js.map +1 -1
- package/dist/cli/src/manifests/volume-lock.js +43 -0
- package/dist/cli/src/manifests/volume-lock.js.map +1 -0
- package/dist/cli/src/manifests/vpa.js +12 -1
- package/dist/cli/src/manifests/vpa.js.map +1 -1
- package/dist/cli/src/manifests/workspace-storage.js +19 -16
- package/dist/cli/src/manifests/workspace-storage.js.map +1 -1
- package/dist/cli/src/neon-storage.js +0 -2
- package/dist/cli/src/neon-storage.js.map +1 -1
- package/dist/cli/src/release.js +9 -9
- package/dist/cli/src/release.js.map +1 -1
- package/dist/cli/src/setup-pod.js +44 -0
- package/dist/cli/src/setup-pod.js.map +1 -0
- package/dist/cli/src/target.js +2 -2
- package/dist/cli/src/target.js.map +1 -1
- package/dist/cli/src/telegram.js +13 -4
- package/dist/cli/src/telegram.js.map +1 -1
- package/dist/cli/src/wakes.js +68 -0
- package/dist/cli/src/wakes.js.map +1 -0
- package/dist/cli/src/webhook.js +5 -2
- package/dist/cli/src/webhook.js.map +1 -1
- package/dist/cluster/node/pins.json +6 -5
- package/dist/neon/control/branches.js +11 -4
- package/dist/neon/control/branches.js.map +1 -1
- package/dist/neon/control/endpoints.js +81 -10
- package/dist/neon/control/endpoints.js.map +1 -1
- package/dist/neon/control/secrets.js +11 -6
- package/dist/neon/control/secrets.js.map +1 -1
- package/dist/src/binder/bindings.js +195 -0
- package/dist/src/binder/bindings.js.map +1 -0
- package/dist/src/binder/names.js +30 -0
- package/dist/src/binder/names.js.map +1 -1
- package/dist/src/binder/tokens.js +17 -4
- package/dist/src/binder/tokens.js.map +1 -1
- package/dist/src/branch/names.js +10 -6
- package/dist/src/branch/names.js.map +1 -1
- package/dist/src/events/names.js +24 -3
- package/dist/src/events/names.js.map +1 -1
- package/dist/src/gateway/names.js +44 -5
- package/dist/src/gateway/names.js.map +1 -1
- package/dist/src/harness/names.js +18 -0
- package/dist/src/harness/names.js.map +1 -1
- package/dist/src/kube/client.js +212 -0
- package/dist/src/kube/client.js.map +1 -0
- package/dist/src/kube/sandbox-shape.js +6 -0
- package/dist/src/kube/sandbox-shape.js.map +1 -1
- package/dist/src/kube/started-map.js +12 -0
- package/dist/src/kube/started-map.js.map +1 -0
- package/dist/src/node-agent/names.js +13 -6
- package/dist/src/node-agent/names.js.map +1 -1
- package/dist/src/telegram/bot-commands.js +17 -0
- package/dist/src/telegram/bot-commands.js.map +1 -0
- package/dist/src/telegram/stop.js +12 -0
- package/dist/src/telegram/stop.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The conversations' harnesses bound on a cluster (../../src/binder/bindings.ts): each a pod
|
|
3
|
+
* of a harness pool (./manifests/harness-pools.ts), in any environment's namespace, that a
|
|
4
|
+
* binding's Lease names its holder, whose conversation's turn runs in it, and what it holds of
|
|
5
|
+
* the conversation lives in it, until its release. A pod stopped while it is bound is lost
|
|
6
|
+
* with what it held, and its turn is run again on another (src/harness/host-events.ts), so an
|
|
7
|
+
* upgrade that would stop the cluster's pods, restarting k3s or making its nodes anew, waits
|
|
8
|
+
* for them to be released first, unless told to go on now.
|
|
9
|
+
*
|
|
10
|
+
* `alasio status` says each environment's bound harnesses as the sandbox gateway lists them to
|
|
11
|
+
* that environment's caller (src/gateway/harnesses.ts), each host asked as it lists them.
|
|
12
|
+
*/
|
|
13
|
+
import { Clock, Duration, Effect, Schema } from "effect";
|
|
14
|
+
import { BINDING_LABEL, KEY_ANNOTATION, POOL_LABEL } from "../../src/binder/names.js";
|
|
15
|
+
import { CLAUDE_HARNESS, CODEX_HARNESS, harnessDisplayName } from "../../src/harness/names.js";
|
|
16
|
+
import { ago } from "./folders.js";
|
|
17
|
+
import { callAs, GatewayUnreached } from "./gateway-calls.js";
|
|
18
|
+
import { kind, KubeApi } from "./kube/api.js";
|
|
19
|
+
import { FOLDER_HARNESS_POOLS, HARNESS_POOLS } from "./manifests/harness-pools.js";
|
|
20
|
+
/** A bound harness, as the gateway lists it (ListedHarness). */
|
|
21
|
+
const ListedHarness = Schema.Struct({
|
|
22
|
+
conversation: Schema.String,
|
|
23
|
+
harness: Schema.String,
|
|
24
|
+
pool: Schema.String,
|
|
25
|
+
pod: Schema.String,
|
|
26
|
+
boundAt: Schema.NullOr(Schema.String),
|
|
27
|
+
host: Schema.Union([
|
|
28
|
+
Schema.Struct({ running: Schema.Boolean, background: Schema.Boolean, idleSince: Schema.NullOr(Schema.String) }),
|
|
29
|
+
Schema.Struct({ unreached: Schema.String }),
|
|
30
|
+
]),
|
|
31
|
+
});
|
|
32
|
+
const Listed = Schema.fromJsonString(Schema.Struct({ harnesses: Schema.Array(ListedHarness) }));
|
|
33
|
+
/** The bound harnesses of `environment`, main or a branch, as the gateway lists them to its caller. */
|
|
34
|
+
export const harnessesOf = (environment) => callAs(environment, "harnesses", "GET", "/harnesses").pipe(Effect.flatMap(({ status, text }) => (status === 200 ? Effect.succeed(text) : Effect.fail(new GatewayUnreached({ reason: `it answered ${status}: ${text}` })))), Effect.flatMap((text) => Schema.decodeUnknownEffect(Listed)(text)), Effect.map(({ harnesses }) => ({ listed: harnesses })), Effect.catch((error) => Effect.succeed({ unread: error.message })));
|
|
35
|
+
/**
|
|
36
|
+
* What `alasio status` says of `environment`'s bound harnesses `listing`, at `now`, a line
|
|
37
|
+
* each: its conversation and harness, the pod and pool it is bound in, for how long, and, as
|
|
38
|
+
* its host said, a turn running, work in the background, or idle since when; or why its host
|
|
39
|
+
* was not reached. Pure, for tests.
|
|
40
|
+
*/
|
|
41
|
+
export function describeHarnesses(environment, listing, now) {
|
|
42
|
+
if ("unread" in listing)
|
|
43
|
+
return [`${environment}'s bound harnesses: not seen, as the sandbox gateway did not list them: ${listing.unread}`];
|
|
44
|
+
if (listing.listed.length === 0)
|
|
45
|
+
return [`${environment}'s bound harnesses: none`];
|
|
46
|
+
return [`${environment}'s bound harnesses:`, ...listing.listed.map(({ conversation, harness, pool, pod, boundAt, host }) => {
|
|
47
|
+
const of = ` ${conversation} under ${harnessDisplayName(harness === CLAUDE_HARNESS || harness === CODEX_HARNESS ? harness : null)}`;
|
|
48
|
+
const bound = `bound to ${pod} of ${pool}${boundAt === null ? "" : ` for ${ago(boundAt, now)}`}`;
|
|
49
|
+
const doing = "unreached" in host
|
|
50
|
+
? `its host not reached: ${host.unreached}`
|
|
51
|
+
: host.running
|
|
52
|
+
? "running a turn"
|
|
53
|
+
: host.background
|
|
54
|
+
? "working in the background"
|
|
55
|
+
: host.idleSince === null
|
|
56
|
+
? "idle"
|
|
57
|
+
: `idle for ${ago(host.idleSince, now)}`;
|
|
58
|
+
return `${of}: ${bound}, ${doing}`;
|
|
59
|
+
})];
|
|
60
|
+
}
|
|
61
|
+
/** Every harness pool's name, of session conversations and of folder ones. */
|
|
62
|
+
const HARNESS_POOL_NAMES = new Set([...Object.values(HARNESS_POOLS), ...Object.values(FOLDER_HARNESS_POOLS)]);
|
|
63
|
+
/** The harnesses bound on the cluster, each as its pod, `namespace/pod`, and the conversation it is bound to. */
|
|
64
|
+
export const boundHarnesses = Effect.flatMap(KubeApi, (kube) => kube.list(kind("Lease"), { labelSelector: BINDING_LABEL })).pipe(Effect.map((leases) => leases
|
|
65
|
+
.filter(({ metadata, spec }) => HARNESS_POOL_NAMES.has(metadata?.labels?.[POOL_LABEL] ?? "") && spec?.holderIdentity)
|
|
66
|
+
.map(({ metadata, spec }) => `${metadata?.namespace ?? ""}/${spec?.holderIdentity ?? ""} (${metadata?.annotations?.[KEY_ANNOTATION] ?? "a conversation"})`)
|
|
67
|
+
.sort()));
|
|
68
|
+
/** Harnesses stayed bound for as long as an upgrade waited for their release, before it would stop their pods. */
|
|
69
|
+
export class HarnessesBound extends Schema.TaggedError()("HarnessesBound", {
|
|
70
|
+
harnesses: Schema.Array(Schema.String),
|
|
71
|
+
waited: Schema.String,
|
|
72
|
+
}) {
|
|
73
|
+
get message() {
|
|
74
|
+
const count = this.harnesses.length;
|
|
75
|
+
return `${count} conversation harness${count === 1 ? " stayed" : "es stayed"} bound for ${this.waited}, which restarting the cluster would stop, ` +
|
|
76
|
+
`ending the turn in each: ${this.harnesses.join(", ")}. Upgrade again once they are released, as each is once its conversation ` +
|
|
77
|
+
"has been quiet for harness.pools.releaseAfter, or with --now to go on at once, each turn ended then run again on a harness of its own.";
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/** Waits for no harness to be bound on the cluster, looking every `poll`, and saying once what it waits for: for `timeout` at most. */
|
|
81
|
+
export const untilHarnessesReleased = ({ timeout, poll }) => Effect.gen(function* () {
|
|
82
|
+
const limit = Duration.fromInputUnsafe(timeout);
|
|
83
|
+
const startedAt = yield* Clock.currentTimeMillis;
|
|
84
|
+
let said = false;
|
|
85
|
+
for (;;) {
|
|
86
|
+
const bound = yield* boundHarnesses;
|
|
87
|
+
if (bound.length === 0)
|
|
88
|
+
return;
|
|
89
|
+
if ((yield* Clock.currentTimeMillis) - startedAt >= Duration.toMillis(limit))
|
|
90
|
+
return yield* new HarnessesBound({ harnesses: bound, waited: Duration.format(limit) });
|
|
91
|
+
if (!said) {
|
|
92
|
+
yield* Effect.logInfo(`waiting for ${bound.length} conversation harness${bound.length === 1 ? "" : "es"} to be released before the cluster restarts: ${bound.join(", ")}`);
|
|
93
|
+
said = true;
|
|
94
|
+
}
|
|
95
|
+
yield* Effect.sleep(poll);
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
//# sourceMappingURL=bound-harnesses.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bound-harnesses.js","sourceRoot":"","sources":["../../../src/bound-harnesses.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/src/branches.js
CHANGED
|
@@ -32,10 +32,11 @@ import { randomBytes } from "node:crypto";
|
|
|
32
32
|
import { Console, Effect, Predicate, Redacted, Result, Schedule, Schema } from "effect";
|
|
33
33
|
import { COMPUTE_PORT, computeId, MAIN, nameProblem, tokenSha256 } from "../../neon/control/branches.js";
|
|
34
34
|
import { scramVerifier } from "../../neon/control/scram.js";
|
|
35
|
-
import { HARNESS_ROLE, LAKE_ROLE, ROLE } from "../../neon/control/secrets.js";
|
|
35
|
+
import { CODEX_LOGIN_ROLE, HARNESS_ROLE, LAKE_ROLE, ROLE } from "../../neon/control/secrets.js";
|
|
36
36
|
import { BINDING_LABEL, environmentKey, KEY_ANNOTATION } from "../../src/binder/names.js";
|
|
37
37
|
import { sessionKey, volumeIdOfKey } from "../../src/sandbox/names.js";
|
|
38
38
|
import { branchNamespace, branchSessionsNamespace, forkToken } from "../../src/branch/names.js";
|
|
39
|
+
import { poolLoginKey } from "../../src/harness/names.js";
|
|
39
40
|
import { memoryBytes, memoryText } from "./capacity.js";
|
|
40
41
|
import { installConfigOf, OperatorConfigError, targetKind } from "./config.js";
|
|
41
42
|
import { recordedBaseline } from "./cpu-baseline.js";
|
|
@@ -45,10 +46,11 @@ import { kind, KubeApi, refOf } from "./kube/api.js";
|
|
|
45
46
|
import { applyObjects } from "./kube/apply.js";
|
|
46
47
|
import { awaitGone, awaitReady, readiness, selectorOf } from "./kube/rollout.js";
|
|
47
48
|
import { alasioPrincipal, environmentAccess, environmentLogSecret, LOG, loaderLogSecret, loaderPrincipal, logPrincipalSecret } from "./manifests/log.js";
|
|
49
|
+
import { harnessPoolPodPolicyName } from "./manifests/admission.js";
|
|
48
50
|
import { branchObjects } from "./manifests/branch.js";
|
|
49
51
|
import { REPLICA_NAME } from "./manifests/neon.js";
|
|
50
|
-
import { BRANCH_FORK_SECRET, BRANCH_LABEL, componentName, NAMESPACE, neonName, RELEASE, selectorLabels, SESSIONS_CALLER_SECRET } from "./manifests/common.js";
|
|
51
|
-
import { GATEWAY
|
|
52
|
+
import { BRANCH_FORK_SECRET, BRANCH_LABEL, CODEX_LOGIN_DATABASE_SECRET, CODEX_LOGIN_KEY_SECRET, componentName, NAMESPACE, neonName, RELEASE, selectorLabels, SESSIONS_CALLER_SECRET, } from "./manifests/common.js";
|
|
53
|
+
import { GATEWAY } from "./manifests/sandbox-gateway.js";
|
|
52
54
|
import { LOADER_COMPONENT } from "./manifests/lake.js";
|
|
53
55
|
import { CLAUDE_SECRET, readClaudeToken, readTelegramBot, TELEGRAM_SECRET } from "./secrets.js";
|
|
54
56
|
import { TelegramBotApi } from "./telegram.js";
|
|
@@ -187,8 +189,6 @@ export const createBranch = Effect.fnUntraced(function* (config, { name, bot, ov
|
|
|
187
189
|
if (problem)
|
|
188
190
|
return yield* new BranchRefused({ message: `${name} is no branch's name: ${problem}` });
|
|
189
191
|
const settings = yield* branchConfig(config, overrides);
|
|
190
|
-
if (!settings.neon.enabled)
|
|
191
|
-
return yield* new BranchRefused({ message: "a branch environment is a branch of alasio's Neon, which this installation does not run" });
|
|
192
192
|
if (!(yield* kube.get({ ...DEPLOYMENT, namespace: NAMESPACE, name: RELEASE }))) {
|
|
193
193
|
return yield* new BranchRefused({ message: "alasio is not installed in this cluster: alasio up installs it" });
|
|
194
194
|
}
|
|
@@ -206,9 +206,14 @@ export const createBranch = Effect.fnUntraced(function* (config, { name, bot, ov
|
|
|
206
206
|
}
|
|
207
207
|
// The branch's own, as the module says: none of main's passwords or tokens of its Neon.
|
|
208
208
|
const own = () => randomBytes(24).toString("base64url");
|
|
209
|
-
const credentials = { alasio: own(), lake: own(), harness: own(), compute: own(), log: own(), loader: own() };
|
|
209
|
+
const credentials = { alasio: own(), lake: own(), harness: own(), codexLogin: own(), compute: own(), log: own(), loader: own() };
|
|
210
210
|
// Their verifiers, each made once and given to whatever sets the role or answers for it.
|
|
211
|
-
const verifiers = {
|
|
211
|
+
const verifiers = {
|
|
212
|
+
[ROLE]: scramVerifier(credentials.alasio),
|
|
213
|
+
[LAKE_ROLE]: scramVerifier(credentials.lake),
|
|
214
|
+
[HARNESS_ROLE]: scramVerifier(credentials.harness),
|
|
215
|
+
[CODEX_LOGIN_ROLE]: scramVerifier(credentials.codexLogin),
|
|
216
|
+
};
|
|
212
217
|
// Each of its principals on the log a password of its own, its alasio's the one in its Secret.
|
|
213
218
|
const access = environmentAccess(name);
|
|
214
219
|
const passwords = { [alasioPrincipal(name)]: credentials.log, [loaderPrincipal(name)]: credentials.loader };
|
|
@@ -217,14 +222,25 @@ export const createBranch = Effect.fnUntraced(function* (config, { name, bot, ov
|
|
|
217
222
|
const url = new URL(yield* requiredSecret(componentName("database"), "url"));
|
|
218
223
|
url.password = credentials.alasio;
|
|
219
224
|
url.searchParams.set("options", `endpoint=${computeId(name)}`);
|
|
220
|
-
// The harness host's, the same as
|
|
225
|
+
// The harness host's, and its Codex login relay's, the same as their own roles.
|
|
221
226
|
const harnessUrl = new URL(url);
|
|
222
227
|
harnessUrl.username = HARNESS_ROLE;
|
|
223
228
|
harnessUrl.password = credentials.harness;
|
|
229
|
+
const codexLoginUrl = new URL(url);
|
|
230
|
+
codexLoginUrl.username = CODEX_LOGIN_ROLE;
|
|
231
|
+
codexLoginUrl.password = credentials.codexLogin;
|
|
232
|
+
// Its callers' key to the sandbox gateway, its own of the gateway's, which signs its own sessions' tokens alone.
|
|
233
|
+
const callerKey = environmentKey(Buffer.from(yield* requiredSecret(GATEWAY, "caller-key")), name).toString();
|
|
224
234
|
const lake = settings.lake.enabled ? yield* copiedSecret(name, componentName("lake"), ["LAKE_S3_KEY", "LAKE_S3_SECRET"]) : null;
|
|
225
235
|
const secrets = [
|
|
226
|
-
branchSecret(name, componentName("database"), {
|
|
236
|
+
branchSecret(name, componentName("database"), {
|
|
237
|
+
url: url.toString(),
|
|
238
|
+
"lake-verifier": verifiers[LAKE_ROLE],
|
|
239
|
+
"harness-verifier": verifiers[HARNESS_ROLE],
|
|
240
|
+
"codex-login-verifier": verifiers[CODEX_LOGIN_ROLE],
|
|
241
|
+
}),
|
|
227
242
|
branchSecret(name, componentName("harness-database"), { url: harnessUrl.toString() }),
|
|
243
|
+
branchSecret(name, CODEX_LOGIN_DATABASE_SECRET, { url: codexLoginUrl.toString() }),
|
|
228
244
|
branchSecret(name, neonName("compute"), { NEON_CONTROL_PLANE_TOKEN: credentials.compute }),
|
|
229
245
|
// The lake service's: main's object store identity, the one thing of main's a branch is given (see the module), and its role's password.
|
|
230
246
|
...(lake ? [{ ...lake, data: { ...lake.data, LAKE_DATABASE_PASSWORD: Buffer.from(credentials.lake, "utf8").toString("base64") } }] : []),
|
|
@@ -232,10 +248,9 @@ export const createBranch = Effect.fnUntraced(function* (config, { name, bot, ov
|
|
|
232
248
|
...(yield* Effect.forEach(settings.imagePullSecrets, (secret) => copiedSecret(name, secret))),
|
|
233
249
|
branchSecret(name, TELEGRAM_SECRET, { token: Redacted.value(bot.token), allowedUserIds: bot.allowedUserIds.join(",") }),
|
|
234
250
|
branchSecret(name, BRANCH_FORK_SECRET, { token: forkToken(yield* requiredSecret(componentName("branches"), "fork-key"), name) }),
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
: []),
|
|
251
|
+
branchSecret(name, SESSIONS_CALLER_SECRET, { "caller-key": callerKey }),
|
|
252
|
+
// Its Codex login relay's: the key of its turns' tokens alone, which signs none of its sessions'.
|
|
253
|
+
branchSecret(name, CODEX_LOGIN_KEY_SECRET, { key: poolLoginKey(Buffer.from(callerKey)).toString("hex") }),
|
|
239
254
|
branchSecret(name, environmentLogSecret({ namespace: branchNamespace(name), branch: name }), { username: alasioPrincipal(name), password: credentials.log }),
|
|
240
255
|
// Its lake loader's, which reads its wake topic alone; and KEDA's, which may describe
|
|
241
256
|
// how far behind that is and read nothing, which its loader's scaler reads as.
|
|
@@ -396,7 +411,8 @@ export const deleteBranch = Effect.fnUntraced(function* (name, { force }, option
|
|
|
396
411
|
: Effect.fail(new BranchRefused({ message: `neon-control did not delete the branch ${name}: ${refusalOf(answer)}` }))), Effect.retry({ while: (error) => error._tag === "BranchRefused" && error.message.includes("still deleting"), schedule: Schedule.max([Schedule.spaced(options.poll), Schedule.during(options.timeout)]) }));
|
|
397
412
|
}
|
|
398
413
|
yield* removed([namespace, sessions].map((each) => ({ ...NAMESPACE_KIND, name: each })), options);
|
|
399
|
-
// What of its is the cluster's: its route, its topic and its principal.
|
|
414
|
+
// What of its is the cluster's: its harness pools' pods' policy, its route, its topic and its principal.
|
|
415
|
+
yield* removed([kind("ValidatingAdmissionPolicyBinding"), kind("ValidatingAdmissionPolicy")].map((each) => ({ ...each, name: harnessPoolPodPolicyName(name) })), options);
|
|
400
416
|
yield* removeRoute(name);
|
|
401
417
|
yield* changeEnvironment("forget", environmentAccess(name));
|
|
402
418
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"branches.js","sourceRoot":"","sources":["../../../src/branches.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAExF,OAAO,EAAmB,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC1H,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC1F,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAChG,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,eAAe,EAAuB,mBAAmB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACpG,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAY,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAqC,KAAK,EAAE,MAAM,eAAe,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAoB,MAAM,mBAAmB,CAAC;AACnG,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAA6B,oBAAoB,EAAE,GAAG,EAAE,eAAe,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACpL,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC9J,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAE7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAoB,MAAM,cAAc,CAAC;AAClH,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAErE,iGAAiG;AACjG,MAAM,OAAO,aAAc,SAAQ,MAAM,CAAC,WAAW,EAAiB,CAAC,eAAe,EAAE;IACtF,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CAAC;CAAG;AAEL,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC9B,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;AACzC,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;AACtC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;AAExB,qEAAqE;AACrE,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,EAAE,8BAA8B,EAAE,QAAQ,EAAE,2BAA2B,EAAE,QAAQ,EAAE,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;AAQzJ,kEAAkE;AAClE,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,GAAW,EAAuD,EAAE,CACpG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAW,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CACnG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;IACnB,MAAM,OAAO,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;IACnC,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACxF,CAAC,CAAC,CACH,CAAC;AAEJ,4HAA4H;AAC5H,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,GAAW,EAAgE,EAAE,CACjH,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAC9C,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,mBAAmB,IAAI,WAAW,GAAG,sBAAsB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AAEvJ,4EAA4E;AAC5E,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,GAAQ,EAAwC,EAAE,CACrF,GAAG,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,iBAAiB,GAAG,CAAC,QAAQ,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AAEpL;;;;;GAKG;AACH,SAAS,WAAW,CAAO,MAAiC,EAAE,IAAY,EAAE,IAAa;IACvF,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACzB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,eAAe,CAAC,CAAC;QAChF,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG;YACd,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI;YAC5D,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,gCAAgC,EAAE,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9G,IAAI,EAAE,gBAAgB,EAAE,wBAAwB,IAAI,EAAE;SACvD,CAAC;QACF,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,yBAAyB,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;QAC7L,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAgB,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3D,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAgC,CAAC;IAChE,CAAC,CAAC,CAAC;AACL,CAAC;AAgBD,4HAA4H;AAC5H,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAiD,KAAK,EAAE,WAAW,CAAC,CAAC,IAAI,CAC9G,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,CAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAC9K,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,IAAI,GAAG,EAAwB,CAAC,CAC5D,CAAC;AASF,6GAA6G;AAC7G,MAAM,CAAC,MAAM,UAAU,GAAG,WAAW,CAAa,KAAK,EAAE,SAAS,CAAC,CAAC,IAAI,CACtE,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EACpE,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CACjC,CAAC;AAEF,qEAAqE;AACrE,MAAM,SAAS,GAAG,CAAC,MAA8B,EAAU,EAAE,CAC3D,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,MAAM,CAAC,MAAM,EAAE,CAAC;AAE3G,4DAA4D;AAC5D,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IACvC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,WAAW,CAA+C,KAAK,EAAE,WAAW,CAAC,CAAC;IACpG,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC,CAAC,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,8CAA8C,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3J,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC;AACtE,CAAC,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,SAAiB,EAAE,OAAoB,EAAE,EAAE,CACtE,WAAW,CAAC,MAAM,EAAE,aAAa,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAC3D,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,6BAA6B,IAAI,eAAe,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAClL,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAC/F,CAAC;AAEJ,iGAAiG;AACjG,MAAM,SAAS,GAAG,CAAC,SAAiB,EAAE,GAAW,EAAE,GAAW,EAAE,EAAE,CAChE,KAAK,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAC7J,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,yBAAyB,SAAS,EAAE,CAAC,CAAC,EAC/D,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CACxC,CAAC;AAQJ,kEAAkE;AAClE,MAAM,IAAI,GAAG,CAAC,EAAe,EAAU,EAAE,CACvC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,GAAG,GAAG,WAAW,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,IAAI,GAAG,CAAC,CAAC;AAExJ,6GAA6G;AAC7G,MAAM,mBAAmB,GAAG,CAAC,QAAQ,EAAE,cAAc,EAAE,iBAAiB,EAAE,gBAAgB,CAAU,CAAC;AAUrG,uFAAuF;AACvF,MAAM,QAAQ,GAAG,CAAI,OAAgD,EAAkD,EAAE,CACvH,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAEpH,4GAA4G;AAC5G,MAAM,CAAC,MAAM,aAAa,GAA+D,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC3G,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC;IAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,SAAS,EAAE,EAAE,CAC7E,IAAI,CAAC,IAAI,CAAc,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/H,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAc,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAC3E,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACjC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAS,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAE,IAAI,KAAK,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC9K,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;AACtG,CAAC,CAAC,CAAC;AAEH,kFAAkF;AAClF,SAAS,MAAM,CAAC,IAAuC,EAAE,SAA4C;IACnG,MAAM,MAAM,GAA4B,EAAE,GAAG,IAAI,EAAE,CAAC;IACpD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACrD,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YACxH,CAAC,CAAC,MAAM,CAAC,OAA4C,EAAE,KAA0C,CAAC;YAClG,CAAC,CAAC,KAAK,CAAC;IACZ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAC,MAAsB,EAAE,SAA4C;IAC1H,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC;IACjD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IACxF,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACxF,IAAI,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC,CAAC,IAAI,mBAAmB,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,gCAAgC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACvJ,OAAO,OAAO,CAAC,OAAO,CAAC;AACzB,CAAC,CAAC,CAAC;AASH,yDAAyD;AACzD,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,MAAc,EAAE,IAAsC,EAAY,EAAE,CAAC,CAAC;IACxG,UAAU,EAAE,IAAI;IAChB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAE;IAC9F,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;CAC3H,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAC,IAAY,EAAE,MAAc,EAAE,IAAwB;IACrG,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC;IAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAW,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3F,IAAI,CAAC,KAAK,EAAE,IAAI;QAAE,OAAO,KAAK,CAAC,CAAC,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,wBAAwB,MAAM,sBAAsB,EAAE,CAAC,CAAC;IACrH,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;IACtH,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,QAAQ,EAAE,IAAI,EAAE,CAAC;AAClL,CAAC,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAC,MAAsB,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAiB,EAAE,OAAoB;IAC3I,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC;IAC5B,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,OAAO;QAAE,OAAO,KAAK,CAAC,CAAC,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,yBAAyB,OAAO,EAAE,EAAE,CAAC,CAAC;IACrG,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACxD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC,CAAC,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,yFAAyF,EAAE,CAAC,CAAC;IACpK,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC;QAC/E,OAAO,KAAK,CAAC,CAAC,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,gEAAgE,EAAE,CAAC,CAAC;IACjH,CAAC;IACD,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,cAAc,EAAE,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,OAAO,KAAK,CAAC,CAAC,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,qBAAqB,IAAI,UAAU,EAAE,CAAC,CAAC;IAC3J,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,eAAe,CAAC;IACpC,IAAI,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACrE,OAAO,KAAK,CAAC,CAAC,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,uGAAuG,EAAE,CAAC,CAAC;IACxJ,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC;IACpC,IAAI,MAAM,KAAK,IAAI;QAAE,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,8HAA8H,CAAC,CAAC;SACnK,IAAI,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QACrC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,iCAAiC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,2EAA2E,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC3L,CAAC;IAED,wFAAwF;IACxF,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACxD,MAAM,WAAW,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;IAC9G,yFAAyF;IACzF,MAAM,SAAS,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;IAClK,+FAA+F;IAC/F,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,SAAS,GAAqC,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC;IAC9I,MAAM,GAAG,GAAG,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;IAC9I,sFAAsF;IACtF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7E,GAAG,CAAC,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC;IAClC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,YAAY,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/D,gDAAgD;IAChD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAChC,UAAU,CAAC,QAAQ,GAAG,YAAY,CAAC;IACnC,UAAU,CAAC,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC;IAC1C,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAChI,MAAM,OAAO,GAAG;QACd,YAAY,CAAC,IAAI,EAAE,aAAa,CAAC,UAAU,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,eAAe,EAAE,SAAS,CAAC,SAAS,CAAC,EAAE,kBAAkB,EAAE,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC;QAC1J,YAAY,CAAC,IAAI,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAAE,EAAE,GAAG,EAAE,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC;QACrF,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE,wBAAwB,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC;QAC1F,yIAAyI;QACzI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,sBAAsB,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5F,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAC7F,YAAY,CAAC,IAAI,EAAE,eAAe,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACvH,YAAY,CAAC,IAAI,EAAE,kBAAkB,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;QAChI,iHAAiH;QACjH,GAAG,CAAC,kBAAkB,CAAC,QAAQ,CAAC;YAC9B,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,sBAAsB,EAAE,EAAE,YAAY,EAAE,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC5J,CAAC,CAAC,EAAE,CAAC;QACP,YAAY,CAAC,IAAI,EAAE,oBAAoB,CAAC,EAAE,SAAS,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC;QAC5J,sFAAsF;QACtF,+EAA+E;QAC/E,GAAG,CAAC,IAAI;YACN,CAAC,CAAC;gBACA,YAAY,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,SAAS,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC;gBAC1J,KAAK,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC;aACxD;YACD,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IAEF,kFAAkF;IAClF,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACvC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,6BAA6B,CAAC,CAAC;IAC1G,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,qBAAqB,GAAG,EAAE,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,WAAW,CAAa,MAAM,EAAE,WAAW,EAAE;QAC/D,IAAI;QACJ,GAAG;QACH,OAAO,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE;KACtE,CAAC,CAAC;IACH,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC,CAAC,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,wCAAwC,IAAI,KAAK,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAEjK,0FAA0F;IAC1F,KAAK,CAAC,CAAC,iBAAiB,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IAE3D,iEAAiE;IACjE,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,CAAC,gBAAgB,CAAC;IAC7C,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACxD,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACxI,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAClF,KAAK,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACtC,KAAK,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC;AAEH,8HAA8H;AAC9H,MAAM,iBAAiB,GAAG,CAAC,MAAgC,EAAE,MAA4B,EAAE,EAAE,CAC3F,KAAK,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,MAAM,EAAE,+BAA+B,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CACnJ,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,0CAA0C,CAAC,CAAC,CAAC,8CAA8C,CAAC,CAAC,CAClJ,CAAC;AAmBJ,uDAAuD;AACvD,MAAM,WAAW,GAAG,CAAC,SAAiB,EAAgD,EAAE,CACtF,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAe,UAAU,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CACxF,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CACzB,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,GAAG,GAAG,WAAW,CAAC,SAAS,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAC5K,CACF,CAAC;AAEJ,2DAA2D;AAC3D,MAAM,oBAAoB,GAAwD,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAc,cAAc,CAAC,CAAC,CAAC,IAAI,CAC9J,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,YAAY,CAAC,IAAI,QAAQ,CAAC,IAAI,KAAK,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CACtK,CAAC;AAEF,qFAAqF;AACrF,MAAM,CAAC,MAAM,gBAAgB,GAAmD,MAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC,UAAU,EAAE,EAAE,CAC9H,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAE5E,oGAAoG;AACpG,MAAM,SAAS,GAAG,CAAC,QAAiC,EAAiB,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,2BAA2B,CAAC,IAAI,IAAI,CAAC;AAE1I;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,OAAe,EAA8D,EAAE,CAC3H,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC;IAC5B,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE,CAAC;IACnD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CACjD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,UAAU,EAAE,SAAS,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAChJ,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;IAC9F,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAChC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,kBAAkB,MAAM,CAAC,OAAO,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvG,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,wBAAwB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzF,OAAO,KAAK,CAAC,CAAC,IAAI,aAAa,CAAC;QAC9B,OAAO,EAAE,sHAAsH,KAAK,IAAI;YACtI,UAAU,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,WAAW,OAAO,eAAe,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,gCAAgC;KACpJ,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,oFAAoF;AACpF,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC9C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC;IAC5B,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,YAAY,CAAC;IACrC,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,oBAAoB,CAAC;IAC/C,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3J,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAC3C,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAE,IAAI,KAAK,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9F,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,UAAU,EAAE,SAAS,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACtH,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAc,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAClI,OAAO;YACL,IAAI;YACJ,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,IAAI;YAC9B,SAAS,EAAE,MAAM,EAAE,SAAS,IAAI,SAAS,EAAE,QAAQ,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,IAAI;YAC1F,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,IAAI;YAC3B,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI;YACzD,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC;YAC1B,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;SAC3C,CAAC;IAC3B,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC;AAEH,iEAAiE;AACjE,MAAM,OAAO,GAAG,CAAC,IAA0B,EAAE,OAAoB,EAAE,EAAE,CACnE,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAEvK,uGAAuG;AACvG,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAC,SAAiB,EAAE,KAAwB,EAAE,OAAoB;IAC3G,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC;IAC5B,MAAM,SAAS,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAe,EAAE,GAAG,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;IACzJ,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAQ,GAAG,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACxK,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;AAC9D,CAAC,CAAC,CAAC;AAEH,2HAA2H;AAC3H,MAAM,eAAe,GAAG,CAAC,QAAgB,EAAkD,EAAE,CAC3F,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAQ,GAAG,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,IAAI,CAClH,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CACzH,CAAC;AAEJ,uEAAuE;AACvE,MAAM,gBAAgB,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;AAE3G;;;;;;;;GAQG;AACH,MAAM,gBAAgB,GAAG,MAAM,CAAC,UAAU,CACxC,QAAQ,CAAC,EAAC,IAAY,EAAE,OAAoB;IAC1C,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACxD,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO;IAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC;IAC5B,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAQ,GAAG,EAAE,EAAE,SAAS,EAAE,uBAAuB,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;IAC/I,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,YAAY,CAAC;IACjC,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;IACvH,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC,CAAC,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,gEAAgE,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACzK,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAC1F,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,4DAA4D,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CACxI,CAAC;IACF,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,SAAS,EAAE,EAAE,CAC9C,IAAI,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,CAC3G,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,CAClC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,oDAAoD,SAAS,iBAAiB,MAAM,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC,CAC5K,EACD,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CACtK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAC1B,CAAC,EACD,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,oEAAoE,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CACjL,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAC,IAAY,EAAE,EAAE,KAAK,EAA+B,EAAE,OAAoB;IAChI,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC;IAC5B,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACxE,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IACrE,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC,CAAC,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,sBAAsB,IAAI,EAAE,EAAE,CAAC,CAAC;IAEjG,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,CACvD,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,EACvD,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,EAAE,yDAAyD,CAAC,CAAC,EAC7G,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,yDAAyD,KAAK,CAAC,OAAO,mCAAmC,EAAE,CAAC,CAAC,CAAC,CAChL,CAAC;QACF,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC,CAAC,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,kBAAkB,KAAK,QAAQ,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,2CAA2C,EAAE,CAAC,CAAC;QACxK,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,OAAO,KAAK,CAAC,CAAC,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,cAAc,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,yCAAyC,EAAE,CAAC,CAAC;QACtN,CAAC;IACH,CAAC;IAED,IAAI,IAAI,EAAE,CAAC;QACT,yFAAyF;QACzF,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAW,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC;QAC5G,IAAI,KAAK;YAAE,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACrJ,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAC/E,KAAK,CAAC,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACvC,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;IAC1E,CAAC;IACD,IAAI,MAAM,EAAE,CAAC;QACX,8EAA8E;QAC9E,KAAK,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,aAAa,IAAI,EAAE,CAAC,CAAC,IAAI,CACpD,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CACxB,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG;YAC5C,CAAC,CAAC,MAAM,CAAC,IAAI;YACb,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,0CAA0C,IAAI,KAAK,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CACxH,EACD,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,eAAe,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAC1M,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAClG,wEAAwE;IACxE,KAAK,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACzB,KAAK,CAAC,CAAC,iBAAiB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9D,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"branches.js","sourceRoot":"","sources":["../../../src/branches.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,9 +27,10 @@ import { createHash } from "node:crypto";
|
|
|
27
27
|
import { Context, Effect, FileSystem, Layer, Schedule, Schema } from "effect";
|
|
28
28
|
import { SNAPSHOT_CACHE_DIR } from "../../../src/node-agent/names.js";
|
|
29
29
|
import { imageReference } from "../images.js";
|
|
30
|
+
import { KubeApi } from "../kube/api.js";
|
|
30
31
|
import { NODE_IMAGE } from "../release.js";
|
|
31
32
|
import { DockerEngine } from "./docker-engine.js";
|
|
32
|
-
import { awaitReady as waitFor, clusterKubeconfig, containerdFiles, gvisorRuntimeClasses, KUBELET_ARGS, nodeHostsWith, NotYet, readySince, registriesYaml, staleRuntimeClasses, WAITS, writeKubeconfig, } from "./k3s.js";
|
|
33
|
+
import { awaitReady as waitFor, clusterKubeconfig, containerdFiles, gvisorRuntimeClasses, KUBELET_ARGS, KUBELET_CONFIG, KUBELET_CONFIG_PATH, nodeHostsWith, NotYet, readySince, registriesYaml, SANDBOX_IMAGE, staleRuntimeClasses, WAITS, writeKubeconfig, } from "./k3s.js";
|
|
33
34
|
import { gvisorReleases, NODE_PINS } from "./node.js";
|
|
34
35
|
import { STARGZ_MEMORY_LIMIT, STARGZ_ROOT, stargzConfig } from "./stargz.js";
|
|
35
36
|
import { tarArchive } from "./tar.js";
|
|
@@ -144,10 +145,11 @@ const ABORT_FUSE = [
|
|
|
144
145
|
"done",
|
|
145
146
|
].join("\n");
|
|
146
147
|
/**
|
|
147
|
-
* What every node's k3s is given: kubelet's settings,
|
|
148
|
-
* files in its container say stargz-snapshotter's daemon's (./stargz.ts)
|
|
148
|
+
* What every node's k3s is given: kubelet's settings, no snapshotter, as containerd's
|
|
149
|
+
* files in its container say stargz-snapshotter's daemon's (./stargz.ts), and its sandbox
|
|
150
|
+
* image pinned (./k3s.ts).
|
|
149
151
|
*/
|
|
150
|
-
const nodeArgs = [...KUBELET_ARGS.map((arg) => `--kubelet-arg=${arg}`), "--snapshotter="];
|
|
152
|
+
const nodeArgs = [...KUBELET_ARGS.map((arg) => `--kubelet-arg=${arg}`), "--snapshotter=", `--pause-image=${SANDBOX_IMAGE}`];
|
|
151
153
|
/** A digest of `spec` and the `files` put into its container that two share only when they are the same. */
|
|
152
154
|
const specHash = (spec, files) => createHash("sha256").update(JSON.stringify([spec, [...files]])).digest("hex");
|
|
153
155
|
/** The tar archive of `files`, by their paths, which Docker extracts at a container's root: each file with the directories it is in. */
|
|
@@ -171,8 +173,11 @@ const makeDockerCluster = Effect.fnUntraced(function* ({ name: cluster, apiPort,
|
|
|
171
173
|
const server = `${cluster}-server-0`;
|
|
172
174
|
const nodes = [server, ...Array.from({ length: agents }, (_, index) => `${cluster}-agent-${index}`)];
|
|
173
175
|
const unusable = (reason) => new ClusterUnusable({ cluster, reason });
|
|
174
|
-
/**
|
|
175
|
-
|
|
176
|
+
/**
|
|
177
|
+
* containerd's files, which pull through stargz-snapshotter's daemon and make each gVisor
|
|
178
|
+
* release the node image holds a runtime, and kubelet's config file, in every node.
|
|
179
|
+
*/
|
|
180
|
+
const files = new Map([...containerdFiles(gvisor, { systemd: false }), [KUBELET_CONFIG_PATH, KUBELET_CONFIG]]);
|
|
176
181
|
/**
|
|
177
182
|
* The container of `node`, with what every node has: privileged, as k3s in Docker needs,
|
|
178
183
|
* its volumes, the storage directory and the host mounts, the registries, and
|
|
@@ -231,15 +236,18 @@ const makeDockerCluster = Effect.fnUntraced(function* ({ name: cluster, apiPort,
|
|
|
231
236
|
/**
|
|
232
237
|
* `node`'s container made as `spec` says, with the files put into it before it first
|
|
233
238
|
* starts, anew when it was made otherwise, and running. The files are in its k3s volume,
|
|
234
|
-
* which keeps them, and those of a node made anew replace them.
|
|
239
|
+
* which keeps them, and those of a node made anew replace them. A node that runs is made
|
|
240
|
+
* anew once `restarting` is through.
|
|
235
241
|
*/
|
|
236
|
-
const ensureNode = Effect.fnUntraced(function* (node, spec) {
|
|
242
|
+
const ensureNode = Effect.fnUntraced(function* (node, spec, restarting) {
|
|
237
243
|
const hash = specHash(spec, files);
|
|
238
244
|
const existing = yield* docker.inspectContainer(node);
|
|
239
245
|
if (existing && existing.Config.Labels?.[CLUSTER_LABEL] !== cluster)
|
|
240
246
|
return yield* unusable(`a container named ${node} is not one of its nodes`);
|
|
241
247
|
const current = existing !== null && existing.Config.Labels?.[SPEC_LABEL] === hash;
|
|
242
248
|
if (existing && !current) {
|
|
249
|
+
if (existing.State.Running)
|
|
250
|
+
yield* restarting;
|
|
243
251
|
yield* Effect.logInfo(`making node ${node} anew, from its current image and settings`);
|
|
244
252
|
yield* docker.stopContainer(node);
|
|
245
253
|
yield* docker.removeContainer(node);
|
|
@@ -298,7 +306,9 @@ const makeDockerCluster = Effect.fnUntraced(function* ({ name: cluster, apiPort,
|
|
|
298
306
|
yield* Effect.provideService(writeKubeconfig(path, content), FileSystem.FileSystem, fs);
|
|
299
307
|
yield* Effect.logInfo(`wrote the kubeconfig of cluster ${cluster} to ${path}`);
|
|
300
308
|
});
|
|
301
|
-
const up = Effect.fnUntraced(function* (kubeconfig) {
|
|
309
|
+
const up = Effect.fnUntraced(function* (kubeconfig, { beforeRestart } = {}) {
|
|
310
|
+
// Run once, before the first node that runs is made anew, on the API its kubeconfig, from the up that made it, reaches.
|
|
311
|
+
const restarting = beforeRestart && (yield* fs.exists(kubeconfig)) ? yield* Effect.cached(Effect.provide(beforeRestart, KubeApi.layer({ path: kubeconfig }))) : Effect.void;
|
|
302
312
|
if (!(yield* docker.inspectImage(image))) {
|
|
303
313
|
yield* Effect.logInfo(`pulling ${image}`);
|
|
304
314
|
yield* docker.pullImage(image);
|
|
@@ -312,7 +322,7 @@ const makeDockerCluster = Effect.fnUntraced(function* ({ name: cluster, apiPort,
|
|
|
312
322
|
"--tls-san=127.0.0.1",
|
|
313
323
|
`--default-local-storage-path=${storagePath}`,
|
|
314
324
|
...nodeArgs,
|
|
315
|
-
], []));
|
|
325
|
+
], []), restarting);
|
|
316
326
|
yield* awaitReady("its API server", kubectl(["get", "--raw=/readyz"]));
|
|
317
327
|
if (agents > 0) {
|
|
318
328
|
const token = (yield* awaitReady("its token", docker.readFile(server, K3S_TOKEN))).toString("utf8").trim();
|
|
@@ -320,7 +330,7 @@ const makeDockerCluster = Effect.fnUntraced(function* ({ name: cluster, apiPort,
|
|
|
320
330
|
yield* ensureNode(agent, nodeContainer(agent, "agent", yield* nodeAddress(networkSubnet, 1 + index), ["agent", ...nodeArgs], [
|
|
321
331
|
`K3S_URL=https://${server}:${K3S_PORT}`,
|
|
322
332
|
`K3S_TOKEN=${token}`,
|
|
323
|
-
]));
|
|
333
|
+
]), restarting);
|
|
324
334
|
}
|
|
325
335
|
}
|
|
326
336
|
yield* awaitReady("its nodes", Effect.flatMap(startTimes, nodesReady));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker.js","sourceRoot":"","sources":["../../../../src/cluster/docker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"docker.js","sourceRoot":"","sources":["../../../../src/cluster/docker.ts"],"names":[],"mappings":"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"}
|
|
@@ -223,7 +223,7 @@ const makeHostCluster = Effect.fnUntraced(function* ({ storagePath, hostAliases
|
|
|
223
223
|
}
|
|
224
224
|
yield* Effect.forEach(desired, (runtimeClass) => kube.apply(runtimeClass), { discard: true });
|
|
225
225
|
});
|
|
226
|
-
const up = Effect.fnUntraced(function* (kubeconfig) {
|
|
226
|
+
const up = Effect.fnUntraced(function* (kubeconfig, { beforeRestart } = {}) {
|
|
227
227
|
const { unit, stamp } = yield* installed;
|
|
228
228
|
// Made by the operator, whose it stays, though k3s makes the volumes in it as root.
|
|
229
229
|
yield* fs.makeDirectory(storagePath, { recursive: true });
|
|
@@ -260,6 +260,10 @@ const makeHostCluster = Effect.fnUntraced(function* ({ storagePath, hostAliases
|
|
|
260
260
|
...(plan.k3s === "restart" || plan.k3s === "start" ? [StartK3s.make({ restart: plan.k3s === "restart" })] : []),
|
|
261
261
|
...(plan.kubeconfig ? [ReadKubeconfig.make({ renew: plan.renew })] : []),
|
|
262
262
|
];
|
|
263
|
+
// Its pods stopped with k3s, once all it needs is downloaded, so as little as can be starts on them meanwhile.
|
|
264
|
+
if (beforeRestart && unit.active === "active" && copy !== null && (plan.k3s === "install" || plan.k3s === "restart")) {
|
|
265
|
+
yield* Effect.provide(beforeRestart, KubeApi.layer({ path: kubeconfig }));
|
|
266
|
+
}
|
|
263
267
|
return yield* root.run(steps);
|
|
264
268
|
}));
|
|
265
269
|
if (outcome.kubeconfig) {
|