@intentius/sql-yodeler 0.4.0 → 0.5.1
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 +1 -1
- package/dist/chant/access.d.ts +9 -12
- package/dist/chant/access.js +9 -23
- package/dist/chant/access.js.map +1 -1
- package/dist/ci/login.d.ts +78 -0
- package/dist/ci/login.js +199 -0
- package/dist/ci/login.js.map +1 -0
- package/dist/ci/render.d.ts +17 -1
- package/dist/ci/render.js +163 -58
- package/dist/ci/render.js.map +1 -1
- package/dist/cleanup/index.d.ts +6 -0
- package/dist/cleanup/index.js +6 -0
- package/dist/cleanup/index.js.map +1 -1
- package/dist/commands/apply.js +31 -6
- package/dist/commands/apply.js.map +1 -1
- package/dist/commands/cleanup.js +31 -11
- package/dist/commands/cleanup.js.map +1 -1
- package/dist/commands/drift.js +9 -10
- package/dist/commands/drift.js.map +1 -1
- package/dist/commands/init.d.ts +11 -0
- package/dist/commands/init.js +98 -10
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/lint.js +38 -5
- package/dist/commands/lint.js.map +1 -1
- package/dist/commands/new.js +2 -20
- package/dist/commands/new.js.map +1 -1
- package/dist/commands/plan.js +3 -6
- package/dist/commands/plan.js.map +1 -1
- package/dist/config/define.d.ts +58 -0
- package/dist/config/define.js.map +1 -1
- package/dist/config/load.js +7 -3
- package/dist/config/load.js.map +1 -1
- package/dist/config/settings.d.ts +2 -0
- package/dist/config/settings.js +2 -0
- package/dist/config/settings.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/init/index.d.ts +2 -0
- package/dist/init/index.js +2 -0
- package/dist/init/index.js.map +1 -1
- package/dist/init/second.d.ts +70 -0
- package/dist/init/second.js +149 -0
- package/dist/init/second.js.map +1 -0
- package/dist/lint/annotations.d.ts +49 -0
- package/dist/lint/annotations.js +82 -0
- package/dist/lint/annotations.js.map +1 -0
- package/dist/lint/check.js +2 -1
- package/dist/lint/check.js.map +1 -1
- package/dist/lint/index.d.ts +2 -0
- package/dist/lint/index.js +2 -0
- package/dist/lint/index.js.map +1 -1
- package/dist/versioned/op.d.ts +4 -0
- package/dist/versioned/op.js +5 -2
- package/dist/versioned/op.js.map +1 -1
- package/package.json +8 -7
- package/schemas/init.schema.json +51 -22
package/dist/ci/render.js
CHANGED
|
@@ -72,15 +72,17 @@ import { existsSync } from "node:fs";
|
|
|
72
72
|
import { join, resolve } from "node:path";
|
|
73
73
|
import { pathToFileURL } from "node:url";
|
|
74
74
|
import { APPROVAL_MODES } from "../config/define.js";
|
|
75
|
+
import { audience, CLOUD_OF, jobLogins, loginSteps } from "./login.js";
|
|
75
76
|
import { RECORD_PLANS_ENV } from "../approval-mode/index.js";
|
|
76
77
|
import { cloudToken, credentialsOf, roleVariables } from "../credentials.js";
|
|
77
78
|
import { loadYodelConfig } from "../config/load.js";
|
|
78
79
|
import { testFiles } from "../testing/files.js";
|
|
80
|
+
import { CODE_QUALITY_FILE } from "../lint/annotations.js";
|
|
79
81
|
import { emitYAMLEntry, parseYAMLDocument } from "@intentius/chant/yaml";
|
|
80
82
|
import { Concurrency, Job as ActionsJob, Permissions, Service as ActionsService, Step, Workflow as ActionsWorkflow, } from "@intentius/chant-lexicon-github";
|
|
81
83
|
import { githubSerializer } from "@intentius/chant-lexicon-github/serializer";
|
|
82
84
|
import { forgejoSerializer } from "@intentius/chant-lexicon-forgejo/serializer";
|
|
83
|
-
import { Artifacts as GitLabArtifacts, Image, Job as GitLabJob, Rule, Service as GitLabService, Workflow as GitLabWorkflow, WorkflowRule, } from "@intentius/chant-lexicon-gitlab";
|
|
85
|
+
import { Artifacts as GitLabArtifacts, Image, Job as GitLabJob, Pipeline as GitLabPipeline, Rule, Service as GitLabService, Workflow as GitLabWorkflow, WorkflowRule, } from "@intentius/chant-lexicon-gitlab";
|
|
84
86
|
import { gitlabSerializer } from "@intentius/chant-lexicon-gitlab/serializer";
|
|
85
87
|
export const FORGES = ["github", "gitlab", "forgejo"];
|
|
86
88
|
/** The image every job runs in, where the forge runs jobs in a container. It needs git, so not -slim. */
|
|
@@ -127,8 +129,41 @@ export const ID_TOKENS = {
|
|
|
127
129
|
const cloudsOf = (envs, held) => [
|
|
128
130
|
...new Set(held.map(([env, role]) => envs.credentials?.[env]?.[role].cloud).filter((c) => c !== undefined)),
|
|
129
131
|
];
|
|
130
|
-
/** A GitLab job's `id_tokens` for `clouds
|
|
131
|
-
const idTokens = (clouds) => Object.fromEntries(clouds.map((c) =>
|
|
132
|
+
/** A GitLab job's `id_tokens` for `clouds`, each for its login's audience when the job logs in (#132): GCP's is the workload identity provider's own. */
|
|
133
|
+
const idTokens = (clouds, logins = []) => Object.fromEntries(clouds.map((c) => {
|
|
134
|
+
const login = logins.find((l) => l.cloud === CLOUD_OF[c]);
|
|
135
|
+
return [ID_TOKENS[c].variable, { aud: login ? audience(login) : ID_TOKENS[c].aud }];
|
|
136
|
+
}));
|
|
137
|
+
/** The cloud logins (#132) of a job holding the roles `held`, from yodel.config.ts `ci.login`. */
|
|
138
|
+
const loginsOf = (envs, held) => jobLogins(envs.login, held, (env, role) => envs.credentials?.[env]?.[role].cloud);
|
|
139
|
+
/** A job's login steps as the github lexicon's Steps. */
|
|
140
|
+
const actionsLogin = (forge, logins) => loginSteps(forge, logins).steps.map((st) => new Step({ name: st.name, run: st.lines.join("\n") }));
|
|
141
|
+
/** A job's login steps as plain step objects, for YAML chant rendered and yodel edits. */
|
|
142
|
+
const rawLogin = (forge, logins) => loginSteps(forge, logins).steps.map((st) => ({ name: st.name, run: st.lines.join("\n") }));
|
|
143
|
+
/** A GitLab job's login: its script lines and its variables. */
|
|
144
|
+
const gitlabLogin = (logins) => {
|
|
145
|
+
const out = loginSteps("gitlab", logins);
|
|
146
|
+
return { lines: out.steps.flatMap((st) => st.lines), variables: out.variables };
|
|
147
|
+
};
|
|
148
|
+
/** Puts `steps` before the first step `at` picks (refusing a job without one). */
|
|
149
|
+
function insertSteps(steps, add, at, what) {
|
|
150
|
+
if (add.length === 0)
|
|
151
|
+
return;
|
|
152
|
+
const i = steps.findIndex(at);
|
|
153
|
+
if (i < 0)
|
|
154
|
+
throw new Error(`${what}: no step to log in before`);
|
|
155
|
+
steps.splice(i, 0, ...add);
|
|
156
|
+
}
|
|
157
|
+
/** Puts `lines` before the first script line `at` picks (refusing a job without one). */
|
|
158
|
+
function insertLines(script, add, at, what) {
|
|
159
|
+
if (add.length === 0)
|
|
160
|
+
return;
|
|
161
|
+
const i = script?.findIndex(at) ?? -1;
|
|
162
|
+
if (!script || i < 0)
|
|
163
|
+
throw new Error(`${what}: no script line to log in before`);
|
|
164
|
+
script.splice(i, 0, ...add);
|
|
165
|
+
}
|
|
166
|
+
const runsChant = (st) => typeof st.run === "string" && st.run.startsWith("chant run ");
|
|
132
167
|
/** The roles a pull request's plan job for `env` holds: the environment's reader and the reader of the one it requires. */
|
|
133
168
|
const planRoles = (waves, env) => [env, ...requiredOf(waves, env)].map((e) => [e, "reader"]);
|
|
134
169
|
/** The roles a wave job for `env` holds: the writer, and the reader of the environment it requires. */
|
|
@@ -195,6 +230,14 @@ export const REPLAY_SERVICE = {
|
|
|
195
230
|
/** Waits up to 90 s for the replay server's port; a shell-free one-liner, so every forge runs it the same. */
|
|
196
231
|
export const waitFor = (host, port) => `node -e 'const net = require("net"); let n = 0; (function t() { const s = net.connect(${String(port)}, "${host}", () => { s.end(); process.exit(0); }); s.on("error", () => { if (++n > 90) { console.error("${host}:${String(port)} did not answer"); process.exit(1); } setTimeout(t, 1000); }); })()'`;
|
|
197
232
|
export const LINT = "yodel lint";
|
|
233
|
+
/**
|
|
234
|
+
* The lint job's `yodel lint`, with its findings where the forge shows them
|
|
235
|
+
* (#129): workflow commands on GitHub and Forgejo, which annotate the
|
|
236
|
+
* migration files in the pull request; on GitLab the code quality report,
|
|
237
|
+
* which the job keeps as its `artifacts:reports:codequality`
|
|
238
|
+
* ({@link CODE_QUALITY_FILE}) and the merge request shows.
|
|
239
|
+
*/
|
|
240
|
+
export const lintCommand = (forge) => (forge === "gitlab" ? `${LINT} --format gitlab --output ${CODE_QUALITY_FILE}` : `${LINT} --format github`);
|
|
198
241
|
export const REPLAY = `yodel lint --replay ${REPLAY_PROFILE} --reset`;
|
|
199
242
|
/** yodel test (#54), after the replay check on the same throwaway server, its outcome as JUnit XML. */
|
|
200
243
|
export const TEST = `yodel test --env ${REPLAY_PROFILE} --reset --junit yodel-test.xml`;
|
|
@@ -224,15 +267,26 @@ export const reportCommand = (env, tc = { image: IMAGE, yodelImage: false }) =>
|
|
|
224
267
|
export const reportArtifact = (job) => `yodel-report-${job}`;
|
|
225
268
|
const UPLOAD_ARTIFACT = "actions/upload-artifact@v4";
|
|
226
269
|
/**
|
|
227
|
-
*
|
|
228
|
-
*
|
|
229
|
-
*
|
|
270
|
+
* Forgejo's fork of upload-artifact v4. actions/upload-artifact@v4 (as the
|
|
271
|
+
* forgejo lexicon resolves it, from code.forgejo.org/actions) refuses any
|
|
272
|
+
* server but github.com's and fails the step, so the job, on Forgejo.
|
|
273
|
+
*/
|
|
274
|
+
export const FORGEJO_UPLOAD_ARTIFACT = "https://code.forgejo.org/forgejo/upload-artifact@v4";
|
|
275
|
+
const uploadArtifact = (forge) => (forge === "forgejo" ? FORGEJO_UPLOAD_ARTIFACT : UPLOAD_ARTIFACT);
|
|
276
|
+
/**
|
|
277
|
+
* The comment at the top of every file, as `#` lines. The files declared here
|
|
278
|
+
* (the review workflows and .gitlab-ci.yml) take theirs as the Workflow's or
|
|
279
|
+
* Pipeline's `comment`, which chant writes. The files chant's
|
|
280
|
+
* generateOpWavesPipeline and generateOpsPipeline write take no comment, so
|
|
281
|
+
* withHeader puts it above their YAML.
|
|
230
282
|
*/
|
|
231
283
|
const HEADER = [
|
|
232
284
|
"# Rendered by yodel ci from chant.config.ts, yodel.config.ts and ops/.",
|
|
233
285
|
"# Edit those and render again; yodel ci --check says when this file is stale.",
|
|
234
286
|
];
|
|
235
287
|
const withHeader = (header, yaml) => `${[...header, ""].join("\n")}${yaml}`;
|
|
288
|
+
/** `#` lines as a declaration's `comment`: the text without its `# `, which the serializer writes back. */
|
|
289
|
+
const asComment = (header) => header.map((l) => l.replace(/^# ?/, "")).join("\n");
|
|
236
290
|
/** A serializer's output for one file: its YAML, refusing anything else (a second file, a warning). */
|
|
237
291
|
function oneFile(forge, out) {
|
|
238
292
|
if (typeof out === "string")
|
|
@@ -247,18 +301,17 @@ function renderActions(forge, workflow) {
|
|
|
247
301
|
return oneFile(forge, serializer.serialize(new Map([["workflow", workflow]])));
|
|
248
302
|
}
|
|
249
303
|
/** The report steps of a job: `yodel report` into REPORT_DIR and the artifact, whatever the job's outcome. */
|
|
250
|
-
function reportSteps(env, job, tc) {
|
|
304
|
+
function reportSteps(forge, env, job, tc) {
|
|
251
305
|
return [
|
|
252
306
|
new Step({ name: `yodel report ${env}`, if: "always()", run: reportCommand(env, tc) }),
|
|
253
|
-
new Step({ name: "Keep the report", if: "always()", uses:
|
|
307
|
+
new Step({ name: "Keep the report", if: "always()", uses: uploadArtifact(forge), with: { name: reportArtifact(job), path: REPORT_DIR, "if-no-files-found": "ignore" } }),
|
|
254
308
|
];
|
|
255
309
|
}
|
|
256
310
|
/** `inContainer`: the job runs in the toolchain's image, which has node, so it needs no setup-node. */
|
|
257
311
|
function setupSteps(inContainer, tc) {
|
|
258
|
-
|
|
259
|
-
const steps = [new Step({ uses: CHECKOUT, with: { "fetch-depth": "0" } })];
|
|
312
|
+
const steps = [new Step({ uses: CHECKOUT, with: { "fetch-depth": 0 } })];
|
|
260
313
|
if (!inContainer)
|
|
261
|
-
steps.push(new Step({ uses: SETUP_NODE, with: { "node-version":
|
|
314
|
+
steps.push(new Step({ uses: SETUP_NODE, with: { "node-version": 22, cache: "npm" } }));
|
|
262
315
|
steps.push(...installLines(tc, "github").map((run) => new Step({ run })), new Step({ name: "Fetch the approvals (chant/lifecycle)", run: FETCH_APPROVALS }));
|
|
263
316
|
return steps;
|
|
264
317
|
}
|
|
@@ -279,7 +332,7 @@ function lintJob(forge, dialect, replay, tc, tests = false) {
|
|
|
279
332
|
const steps = [
|
|
280
333
|
...setupSteps(container, tc),
|
|
281
334
|
new Step({ name: "The pipelines are up to date", run: CI_CHECK }),
|
|
282
|
-
new Step({ name: "yodel lint", run:
|
|
335
|
+
new Step({ name: "yodel lint", run: lintCommand(forge) }),
|
|
283
336
|
];
|
|
284
337
|
if (!replay)
|
|
285
338
|
return new ActionsJob({ ...runner(container, tc), steps });
|
|
@@ -315,21 +368,16 @@ export function actionsReview(forge, envs_) {
|
|
|
315
368
|
steps: [
|
|
316
369
|
// The plan explains what moved since an approval from git's history of migrations/.
|
|
317
370
|
...setupSteps(inContainer(forge, tc), tc),
|
|
371
|
+
// The cloud login (#132), when a reader here is cloud-minted.
|
|
372
|
+
...actionsLogin(forge, loginsOf(envs_, planRoles(waves, env))),
|
|
318
373
|
new Step({ name: "This job cannot write", run: writeProbe(read) }),
|
|
319
374
|
new Step({ name: `yodel plan ${env} --comment`, run: `yodel plan ${env} --comment`, env: commentToken(forge) }),
|
|
320
|
-
...reportSteps(env, `plan-${env}`, tc),
|
|
375
|
+
...reportSteps(forge, env, `plan-${env}`, tc),
|
|
321
376
|
],
|
|
322
377
|
});
|
|
323
378
|
}
|
|
324
379
|
Object.assign(jobs, ownJobs(own?.actions, jobs, "actions"));
|
|
325
380
|
const clouds = cloudsOf(envs_, envs.flatMap((env) => planRoles(waves, env)));
|
|
326
|
-
const workflow = new ActionsWorkflow({
|
|
327
|
-
name: "yodel-pr",
|
|
328
|
-
on: { pull_request: { branches: [MAIN] } },
|
|
329
|
-
permissions: new Permissions({ contents: "read", "pull-requests": "write", ...(clouds.length > 0 ? { "id-token": "write" } : {}) }),
|
|
330
|
-
concurrency: new Concurrency({ group: "yodel-pr-${{ github.event.pull_request.number }}", "cancel-in-progress": true }),
|
|
331
|
-
jobs,
|
|
332
|
-
});
|
|
333
381
|
const header = [
|
|
334
382
|
...HEADER,
|
|
335
383
|
"#",
|
|
@@ -343,9 +391,17 @@ export function actionsReview(forge, envs_) {
|
|
|
343
391
|
: []),
|
|
344
392
|
...identityHeader(forge, clouds),
|
|
345
393
|
];
|
|
394
|
+
const workflow = new ActionsWorkflow({
|
|
395
|
+
comment: asComment(header),
|
|
396
|
+
name: "yodel-pr",
|
|
397
|
+
on: { pull_request: { branches: [MAIN] } },
|
|
398
|
+
permissions: new Permissions({ contents: "read", "pull-requests": "write", ...(clouds.length > 0 ? { "id-token": "write" } : {}) }),
|
|
399
|
+
concurrency: new Concurrency({ group: "yodel-pr-${{ github.event.pull_request.number }}", "cancel-in-progress": true }),
|
|
400
|
+
jobs,
|
|
401
|
+
});
|
|
346
402
|
return {
|
|
347
403
|
path: `${forge === "github" ? ".github" : ".forgejo"}/workflows/yodel-pr.yml`,
|
|
348
|
-
content:
|
|
404
|
+
content: renderActions(forge, workflow),
|
|
349
405
|
};
|
|
350
406
|
}
|
|
351
407
|
// ── GitLab CI ───────────────────────────────────────────────────────────────
|
|
@@ -380,48 +436,31 @@ export function gitlabPipeline(envs_) {
|
|
|
380
436
|
rules: mr(),
|
|
381
437
|
...(replay
|
|
382
438
|
? {
|
|
383
|
-
script: [CI_CHECK,
|
|
439
|
+
script: [CI_CHECK, lintCommand("gitlab"), waitFor(svc.name, svc.port), REPLAY, ...(envs_.tests === true ? [TEST] : [])],
|
|
384
440
|
services: [new GitLabService({ name: svc.image, alias: svc.name, variables: svc.env })],
|
|
385
441
|
variables: { [`${variablePrefix(REPLAY_PROFILE, dialect)}_URL`]: svc.url(svc.name), ...svc.jobEnv },
|
|
386
442
|
}
|
|
387
|
-
: { script: [CI_CHECK,
|
|
443
|
+
: { script: [CI_CHECK, lintCommand("gitlab")] }),
|
|
444
|
+
// The code quality report, kept when lint fails too: that is when it has something to show.
|
|
445
|
+
artifacts: new GitLabArtifacts({ when: "always", reports: { codequality: CODE_QUALITY_FILE } }),
|
|
388
446
|
}));
|
|
389
447
|
for (const env of envs) {
|
|
390
448
|
const clouds = cloudsOf(envs_, planRoles(waves, env));
|
|
449
|
+
const logins = loginsOf(envs_, planRoles(waves, env));
|
|
450
|
+
const login = gitlabLogin(logins);
|
|
391
451
|
jobs.set(`plan-${env}`, new GitLabJob({
|
|
392
452
|
extends: ".yodel",
|
|
393
453
|
stage: "review",
|
|
394
454
|
rules: mr(),
|
|
395
|
-
|
|
396
|
-
...
|
|
455
|
+
...(Object.keys(login.variables).length > 0 ? { variables: login.variables } : {}),
|
|
456
|
+
script: [...login.lines, writeProbe([env, ...requiredOf(waves, env)]), `yodel plan ${env} --comment`],
|
|
457
|
+
...(clouds.length > 0 ? { id_tokens: idTokens(clouds, logins) } : {}),
|
|
397
458
|
after_script: [reportCommand(env, tc)],
|
|
398
459
|
artifacts: new GitLabArtifacts({ name: reportArtifact(`plan-${env}`), when: "always", paths: [`${REPORT_DIR}/`] }),
|
|
399
460
|
}));
|
|
400
461
|
}
|
|
401
462
|
for (const [name, job] of Object.entries(ownJobs(own?.gitlab, Object.fromEntries(jobs), "gitlab")))
|
|
402
463
|
jobs.set(name, job);
|
|
403
|
-
const serialize = (entities) => oneFile("gitlab", gitlabSerializer.serialize(entities));
|
|
404
|
-
// Exception (INTENTIUS/chant#3669): the gitlab serializer writes no
|
|
405
|
-
// top-level include or variables, and its stages are only the ones the
|
|
406
|
-
// declared jobs name, so not the watch file's ops. It writes those stages
|
|
407
|
-
// first; they are replaced by GITLAB_STAGES, and include and variables are
|
|
408
|
-
// written beside them.
|
|
409
|
-
const jobsYaml = serialize(jobs);
|
|
410
|
-
const end = jobsYaml.indexOf("\n\n");
|
|
411
|
-
const derivedStages = parseYAMLDocument(jobsYaml.slice(0, end + 1)).stages;
|
|
412
|
-
if (!jobsYaml.startsWith("stages:\n") || !Array.isArray(derivedStages) || derivedStages[0] !== "review")
|
|
413
|
-
throw new Error("gitlab: expected the jobs' YAML to start with their stages, review first");
|
|
414
|
-
const derived = jobsYaml.slice(0, end + 2);
|
|
415
|
-
// The stages this file's jobs use (review, then any the project's own jobs add), then the apply file's waves and the watch file's ops.
|
|
416
|
-
// A pr-review wave (#48) adds the merge request job that records the plans, in chant's stage "plans".
|
|
417
|
-
const plans = waves.some((w) => w.approval === "pr-review") ? [PLANS_STAGE] : [];
|
|
418
|
-
const stages = [...new Set([...derivedStages.map(String), ...plans, ...waveStages(waves), ...(envs_.resume ? [RESUME_STAGE] : []), "ops"])];
|
|
419
|
-
const topLevel = [
|
|
420
|
-
emitYAMLEntry("include", [{ local: GITLAB_APPLY_FILE }, { local: GITLAB_WATCH_FILE }]),
|
|
421
|
-
emitYAMLEntry("stages", stages),
|
|
422
|
-
emitYAMLEntry("variables", { GIT_DEPTH: "0" }),
|
|
423
|
-
];
|
|
424
|
-
const yaml = `${serialize(new Map([["workflow", workflow]]))}\n${topLevel.join("\n\n")}\n\n${jobsYaml.slice(derived.length)}`;
|
|
425
464
|
const variables = envs.flatMap((env) => {
|
|
426
465
|
const creds = envs_.credentials?.[env];
|
|
427
466
|
const writer = writerVariables(env, dialect, creds).slice(1);
|
|
@@ -461,7 +500,18 @@ export function gitlabPipeline(envs_) {
|
|
|
461
500
|
"# that environment's wave job sets.",
|
|
462
501
|
...identityHeader("gitlab", cloudsOf(envs_, envs.flatMap((env) => [...planRoles(waves, env), ...waveRoles(waves, env), [env, "reader"]]))),
|
|
463
502
|
];
|
|
464
|
-
|
|
503
|
+
// The stages this file's jobs use (review, then any the project's own jobs add), then the apply file's waves and the watch file's ops.
|
|
504
|
+
// A pr-review wave (#48) adds the merge request job that records the plans, in chant's stage "plans".
|
|
505
|
+
const jobStages = [...jobs.values()].map((job) => job.props?.stage).filter((stage) => typeof stage === "string");
|
|
506
|
+
const plans = waves.some((w) => w.approval === "pr-review") ? [PLANS_STAGE] : [];
|
|
507
|
+
const pipeline = new GitLabPipeline({
|
|
508
|
+
comment: asComment(header),
|
|
509
|
+
include: [{ local: GITLAB_APPLY_FILE }, { local: GITLAB_WATCH_FILE }],
|
|
510
|
+
stages: [...new Set([...jobStages, ...plans, ...waveStages(waves), ...(envs_.resume ? [RESUME_STAGE] : []), "ops"])],
|
|
511
|
+
variables: { GIT_DEPTH: "0" },
|
|
512
|
+
});
|
|
513
|
+
const entities = new Map([["pipeline", pipeline], ["workflow", workflow], ...jobs]);
|
|
514
|
+
return { path: ".gitlab-ci.yml", content: oneFile("gitlab", gitlabSerializer.serialize(entities)) };
|
|
465
515
|
}
|
|
466
516
|
const WAVE_GATES = ["always", "on-destructive", "never"];
|
|
467
517
|
/** The environment `env`'s wave requires, as a list. */
|
|
@@ -601,16 +651,34 @@ function withWaveReports(forge, yaml, waves, tc, envs = {}) {
|
|
|
601
651
|
const record = doc[`${APPLY_PIPELINE}-record-plans`];
|
|
602
652
|
if (record) {
|
|
603
653
|
record.variables = { ...(record.variables ?? {}), [RECORD_PLANS_ENV]: "1" };
|
|
604
|
-
|
|
654
|
+
// It holds readers only, and shows it first, as every merge request job does (#50, #130).
|
|
655
|
+
const waveEnvs = [...new Set(waves.map((w) => w.env))];
|
|
656
|
+
const at = record.script?.findIndex((l) => l.includes("--record-plans")) ?? -1;
|
|
657
|
+
if (!record.script || at < 0)
|
|
658
|
+
throw new Error("gitlab: the record-plans job has no chant run wave --record-plans line");
|
|
659
|
+
record.script.splice(at, 0, writeProbe(waveEnvs));
|
|
660
|
+
const readerRoles = waveEnvs.map((e) => [e, "reader"]);
|
|
661
|
+
const readers = cloudsOf(envs, readerRoles);
|
|
662
|
+
const logins = loginsOf(envs, readerRoles);
|
|
605
663
|
if (readers.length > 0)
|
|
606
|
-
record.id_tokens = idTokens(readers);
|
|
664
|
+
record.id_tokens = idTokens(readers, logins);
|
|
665
|
+
const login = gitlabLogin(logins);
|
|
666
|
+
insertLines(record.script, login.lines, (l) => l === writeProbe(waveEnvs), "gitlab: the record-plans job");
|
|
667
|
+
if (Object.keys(login.variables).length > 0)
|
|
668
|
+
record.variables = { ...record.variables, ...login.variables };
|
|
607
669
|
}
|
|
608
670
|
for (const [name, job] of Object.entries(doc)) {
|
|
609
671
|
const env = envOf(name);
|
|
610
672
|
if (!env || typeof job !== "object" || job === null)
|
|
611
673
|
continue;
|
|
612
674
|
const clouds = cloudsOf(envs, waveRoles(waves, env));
|
|
613
|
-
|
|
675
|
+
const logins = loginsOf(envs, waveRoles(waves, env));
|
|
676
|
+
const login = gitlabLogin(logins);
|
|
677
|
+
const w = job;
|
|
678
|
+
insertLines(w.script, login.lines, (l) => l.startsWith("chant run "), `gitlab: ${name}`);
|
|
679
|
+
if (Object.keys(login.variables).length > 0)
|
|
680
|
+
w.variables = { ...w.variables, ...login.variables };
|
|
681
|
+
Object.assign(job, { after_script: [reportCommand(env, tc)], artifacts: { name: reportArtifact(name), when: "always", paths: [`${REPORT_DIR}/`] }, ...(clouds.length > 0 ? { id_tokens: idTokens(clouds, logins) } : {}) });
|
|
614
682
|
}
|
|
615
683
|
return emit(doc);
|
|
616
684
|
}
|
|
@@ -626,9 +694,9 @@ function withWaveReports(forge, yaml, waves, tc, envs = {}) {
|
|
|
626
694
|
const env = envOf(name);
|
|
627
695
|
if (!env)
|
|
628
696
|
continue;
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
{ name:
|
|
697
|
+
// The cloud login (#132) before the wave's chant run, when a role it holds is cloud-minted.
|
|
698
|
+
insertSteps(job.steps, rawLogin(forge, loginsOf(envs, waveRoles(waves, env))), runsChant, `${forge}: ${name}`);
|
|
699
|
+
job.steps.push({ name: `yodel report ${env}`, if: "always()", run: reportCommand(env, tc) }, { name: "Keep the report", if: "always()", uses: uploadArtifact(forge), with: { name: reportArtifact(name), path: REPORT_DIR, "if-no-files-found": "ignore" } });
|
|
632
700
|
}
|
|
633
701
|
return `${withIdToken(forge, top, cloudsOf(envs, waves.flatMap((w) => waveRoles(waves, w.env))))}${emitJobs()}`;
|
|
634
702
|
}
|
|
@@ -653,6 +721,11 @@ function withPlansReaders(forge, yaml, waves, dialect, creds = {}) {
|
|
|
653
721
|
throw new Error(`${forge}: the plans workflow has no record-plans job`);
|
|
654
722
|
const envs = [...new Set(waves.map((w) => w.env))];
|
|
655
723
|
const steps = job.steps;
|
|
724
|
+
// It holds readers only, and shows it before it plans, as every pull request job does (#50, #130).
|
|
725
|
+
const recordAt = steps.findIndex((st) => typeof st.run === "string" && st.run.includes("--record-plans"));
|
|
726
|
+
if (recordAt < 0)
|
|
727
|
+
throw new Error(`${forge}: the record-plans job has no chant run wave --record-plans step`);
|
|
728
|
+
steps.splice(recordAt, 0, ...(forge === "gitlab" ? [] : rawLogin(forge, loginsOf(creds, envs.map((e) => [e, "reader"])))), { name: "This job cannot write", run: writeProbe(envs) });
|
|
656
729
|
delete job.steps;
|
|
657
730
|
Object.assign(job, { env: { [RECORD_PLANS_ENV]: "1", ...secrets(envs.flatMap((e) => readerVariables(e, dialect, creds.credentials?.[e]))) }, steps });
|
|
658
731
|
// A reader whose password is a cloud token (#50) is minted from the job's identity.
|
|
@@ -725,7 +798,30 @@ function withIdToken(forge, top, clouds) {
|
|
|
725
798
|
throw new Error("github: the apply waves have no top-level permissions to add id-token: write to");
|
|
726
799
|
return added;
|
|
727
800
|
}
|
|
728
|
-
/**
|
|
801
|
+
/**
|
|
802
|
+
* A GitHub or Forgejo watch file with the cloud login (#132) before the
|
|
803
|
+
* job's chant run, when its reader is cloud-minted and logs in. Parsed and
|
|
804
|
+
* emitted again, checked against chant's text first.
|
|
805
|
+
*/
|
|
806
|
+
function withWatchLogin(forge, yaml, env, envs) {
|
|
807
|
+
const login = rawLogin(forge, loginsOf(envs, [[env, "reader"]]));
|
|
808
|
+
if (login.length === 0)
|
|
809
|
+
return yaml;
|
|
810
|
+
const at = yaml.indexOf("\njobs:\n");
|
|
811
|
+
if (at < 0)
|
|
812
|
+
throw new Error(`${forge}: the watch for ${env} has no jobs`);
|
|
813
|
+
const doc = parseYAMLDocument(yaml);
|
|
814
|
+
const top = yaml.slice(0, at + 1);
|
|
815
|
+
const emitJobs = () => `${emitYAMLEntry("jobs", doc.jobs)}\n`;
|
|
816
|
+
if (`${top}${emitJobs()}` !== yaml)
|
|
817
|
+
throw new Error(`${forge}: the watch for ${env} does not emit back to chant's text`);
|
|
818
|
+
const job = doc.jobs[`watch-${env}`];
|
|
819
|
+
if (!job)
|
|
820
|
+
throw new Error(`${forge}: the watch for ${env} has no watch-${env} job`);
|
|
821
|
+
insertSteps(job.steps, login, runsChant, `${forge}: watch-${env}`);
|
|
822
|
+
return `${top}${emitJobs()}`;
|
|
823
|
+
}
|
|
824
|
+
/** The GitLab watch file with `id_tokens` (and the cloud login, #132) on each watch job whose reader is cloud-minted. Parsed and emitted again, checked against chant's text first. */
|
|
729
825
|
function withWatchIdTokens(yaml, envs) {
|
|
730
826
|
const clouds = (env) => cloudsOf(envs, [[env, "reader"]]);
|
|
731
827
|
if (!envs.names.some((env) => clouds(env).length > 0))
|
|
@@ -738,8 +834,14 @@ function withWatchIdTokens(yaml, envs) {
|
|
|
738
834
|
throw new Error("gitlab: the watch file does not emit back to chant's text");
|
|
739
835
|
for (const env of envs.names) {
|
|
740
836
|
const job = doc[`watch-${env}`];
|
|
741
|
-
if (clouds(env).length
|
|
742
|
-
|
|
837
|
+
if (clouds(env).length === 0 || job === undefined)
|
|
838
|
+
continue;
|
|
839
|
+
const logins = loginsOf(envs, [[env, "reader"]]);
|
|
840
|
+
const login = gitlabLogin(logins);
|
|
841
|
+
insertLines(job.script, login.lines, (l) => l.startsWith("chant run "), `gitlab: watch-${env}`);
|
|
842
|
+
if (Object.keys(login.variables).length > 0)
|
|
843
|
+
job.variables = { ...job.variables, ...login.variables };
|
|
844
|
+
Object.assign(job, { id_tokens: idTokens(clouds(env), logins) });
|
|
743
845
|
}
|
|
744
846
|
return emit(doc);
|
|
745
847
|
}
|
|
@@ -760,7 +862,9 @@ export async function watchPipelines(dir, envs_) {
|
|
|
760
862
|
for (const file of result.files) {
|
|
761
863
|
const at = forge === "gitlab" ? GITLAB_WATCH_FILE : `${forge === "github" ? ".github" : ".forgejo"}/workflows/${file.name}`;
|
|
762
864
|
const yaml = file.yaml.endsWith("\n") ? file.yaml : `${file.yaml}\n`;
|
|
763
|
-
|
|
865
|
+
// A GitHub or Forgejo file is one environment's watch: its name is watch-<env>.yml.
|
|
866
|
+
const env = file.name.replace(/^watch-|\.yml$/g, "");
|
|
867
|
+
out.push({ path: at, content: `${HEADER.join("\n")}\n${forge === "gitlab" ? withWatchIdTokens(yaml, envs_) : withWatchLogin(forge, yaml, env, envs_)}` });
|
|
764
868
|
}
|
|
765
869
|
};
|
|
766
870
|
// `chant run` exits 0 when a watch finds drift; the last line, yodel drift, fails the job then.
|
|
@@ -807,6 +911,7 @@ export async function environments(dir) {
|
|
|
807
911
|
...(ci?.jobs ? { jobs: await loadProjectJobs(dir, ci.jobs) } : {}),
|
|
808
912
|
...(ci?.image ? { image: ci.image } : {}),
|
|
809
913
|
...(ci?.resume ? { resume: { schedule: ci.resume.schedule } } : {}),
|
|
914
|
+
...(ci?.login ? { login: ci.login } : {}),
|
|
810
915
|
};
|
|
811
916
|
}
|
|
812
917
|
/** The roles of each environment whose profile is made with credentials(). */
|
package/dist/ci/render.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/ci/render.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,cAAc,EAAuC,MAAM,qBAAqB,CAAC;AAC1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAA8B,MAAM,mBAAmB,CAAC;AACzG,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGhD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EACL,WAAW,EACX,GAAG,IAAI,UAAU,EACjB,WAAW,EACX,OAAO,IAAI,cAAc,EACzB,IAAI,EACJ,QAAQ,IAAI,eAAe,GAC5B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAChF,OAAO,EACL,SAAS,IAAI,eAAe,EAC5B,KAAK,EACL,GAAG,IAAI,SAAS,EAChB,IAAI,EACJ,OAAO,IAAI,aAAa,EACxB,QAAQ,IAAI,cAAc,EAC1B,YAAY,GACb,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAG9E,MAAM,CAAC,MAAM,MAAM,GAAqB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AAQxE,yGAAyG;AACzG,MAAM,CAAC,MAAM,KAAK,GAAG,kBAAkB,CAAC;AAExC,wFAAwF;AACxF,MAAM,CAAC,MAAM,WAAW,GAAG,+BAA+B,CAAC;AAe3D,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAiC,EAAa,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;AAE1K,2GAA2G;AAC3G,MAAM,YAAY,GAAG,CAAC,EAAa,EAAE,KAAY,EAAY,EAAE,CAC7D,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,4CAA4C,CAAC,CAAC,CAAC,iDAAiD,CAAC,CAAC;AACzJ,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC;AAE3B,kGAAkG;AAClG,MAAM,QAAQ,GAAG,qBAAqB,CAAC;AACvC,MAAM,UAAU,GAAG,uBAAuB,CAAC;AAE3C,6DAA6D;AAC7D,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;AAsC9F,wFAAwF;AACxF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAW,EAAE,OAAgB,EAAU,EAAE,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;AAErH,6IAA6I;AAC7I,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAW,EAAE,OAAgB,EAAE,KAAsB,EAAY,EAAE;IACjG,MAAM,CAAC,GAAG,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;AACpG,CAAC,CAAC;AAEF,2EAA2E;AAC3E,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAW,EAAE,OAAgB,EAAE,KAAsB,EAAY,EAAE;IACjG,MAAM,CAAC,GAAG,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;AACpG,CAAC,CAAC;AAEF,+EAA+E;AAC/E,EAAE;AACF,oEAAoE;AACpE,yEAAyE;AACzE,0EAA0E;AAC1E,2EAA2E;AAC3E,0EAA0E;AAC1E,0EAA0E;AAC1E,kBAAkB;AAElB,oEAAoE;AACpE,MAAM,CAAC,MAAM,SAAS,GAA0D;IAC9E,SAAS,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,EAAE,mBAAmB,EAAE;IACjE,eAAe,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,EAAE,6BAA6B,EAAE;IACjF,KAAK,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,EAAE,4BAA4B,EAAE;CACzE,CAAC;AAEF,+EAA+E;AAC/E,MAAM,QAAQ,GAAG,CAAC,IAAuC,EAAE,IAA4C,EAAgB,EAAE,CAAC;IACxH,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAmB,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;CAC7H,CAAC;AAEF,+CAA+C;AAC/C,MAAM,QAAQ,GAAG,CAAC,MAA6B,EAAmC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;AAE/K,2HAA2H;AAC3H,MAAM,SAAS,GAAG,CAAC,KAAsB,EAAE,GAAW,EAAyB,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;AAE7I,uGAAuG;AACvG,MAAM,SAAS,GAAG,CAAC,KAAsB,EAAE,GAAW,EAAyB,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;AAEzK,yGAAyG;AACzG,SAAS,cAAc,CAAC,KAAY,EAAE,MAA6B;IACjE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,KAAK,KAAK,QAAQ;QAAE,OAAO,CAAC,0CAA0C,KAAK,+BAA+B,EAAE,qEAAqE,CAAC,CAAC;IACvL,IAAI,KAAK,KAAK,QAAQ;QAAE,OAAO,CAAC,0CAA0C,KAAK,+BAA+B,EAAE,yDAAyD,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClO,OAAO,CAAC,0CAA0C,KAAK,gCAAgC,EAAE,4DAA4D,CAAC,CAAC;AACzJ,CAAC;AAED,8FAA8F;AAC9F,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAuB,EAAU,EAAE,CAAC,sBAAsB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC;AAEpH,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,gBAAgB,IAAI,KAAK,CAAC;AAC3D,MAAM,OAAO,GAAG,CAAC,KAAwB,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAEnG;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAC1B,sNAAsN,CAAC;AAEzN,+GAA+G;AAC/G,MAAM,CAAC,MAAM,UAAU,GAA2B,EAAE,eAAe,EAAE,KAAK,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC;AAEpG,oEAAoE;AACpE,MAAM,CAAC,MAAM,OAAO,GAAG,uEAAuE,CAAC;AAE/F,uHAAuH;AACvH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,eAAe,GAAG,UAAU,CAAC;AAEhF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,CAAC;AAoBvC,MAAM,CAAC,MAAM,cAAc,GAAmC;IAC5D,UAAU,EAAE;QACV,IAAI,EAAE,mBAAmB;QACzB,KAAK,EAAE,yCAAyC;QAChD,IAAI,EAAE,IAAI;QACV,kEAAkE;QAClE,GAAG,EAAE,EAAE,0BAA0B,EAAE,GAAG,EAAE;QACxC,MAAM,EAAE,sCAAsC;QAC9C,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,EAAE,CAAC,UAAU,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE;QAC5D,MAAM,EAAE,EAAE;KACX;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,iBAAiB;QACvB,KAAK,EAAE,eAAe;QACtB,IAAI,EAAE,IAAI;QACV,GAAG,EAAE,EAAE,iBAAiB,EAAE,QAAQ,EAAE;QACpC,8FAA8F;QAC9F,MAAM,EAAE,qCAAqC;QAC7C,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,EAAE,CAAC,cAAc,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW;QACzE,MAAM,EAAE,EAAE,oBAAoB,EAAE,UAAU,EAAE,wBAAwB,EAAE,QAAQ,EAAE;KACjF;CACF,CAAC;AAEF,8GAA8G;AAC9G,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,IAAY,EAAU,EAAE,CAC5D,yFAAyF,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,iGAAiG,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,sEAAsE,CAAC;AAE7S,MAAM,CAAC,MAAM,IAAI,GAAG,YAAY,CAAC;AACjC,MAAM,CAAC,MAAM,MAAM,GAAG,uBAAuB,cAAc,UAAU,CAAC;AAEtE,uGAAuG;AACvG,MAAM,CAAC,MAAM,IAAI,GAAG,oBAAoB,cAAc,iCAAiC,CAAC;AAExF,8EAA8E;AAC9E,MAAM,CAAC,MAAM,QAAQ,GAAG,kBAAkB,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC;AAE5E,sFAAsF;AACtF,MAAM,CAAC,MAAM,UAAU,GAAG,cAAc,CAAC;AAEzC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAW,EAAE,KAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,EAAU,EAAE;IACxG,MAAM,KAAK,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,2BAA2B,CAAC;IACpE,OAAO,YAAY,UAAU,KAAK,KAAK,WAAW,GAAG,aAAa,UAAU,IAAI,GAAG,kBAAkB,KAAK,WAAW,GAAG,WAAW,UAAU,IAAI,GAAG,eAAe,CAAC;AACtK,CAAC,CAAC;AAEF,8CAA8C;AAC9C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,gBAAgB,GAAG,EAAE,CAAC;AAE7E,MAAM,eAAe,GAAG,4BAA4B,CAAC;AAErD;;;;GAIG;AACH,MAAM,MAAM,GAAG;IACb,wEAAwE;IACxE,+EAA+E;CAChF,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,MAAyB,EAAE,IAAY,EAAU,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;AAE/G,uGAAuG;AACvG,SAAS,OAAO,CAAC,KAAY,EAAE,GAA8B;IAC3D,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IACxC,MAAM,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC;IACzE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,4CAA4C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9G,OAAO,GAAG,CAAC,OAAO,CAAC;AACrB,CAAC;AAcD,SAAS,aAAa,CAAC,KAAc,EAAE,QAAmB;IACxD,MAAM,UAAU,GAAG,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,iBAAiB,CAAC;IAC7E,OAAO,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjF,CAAC;AAED,8GAA8G;AAC9G,SAAS,WAAW,CAAC,GAAW,EAAE,GAAW,EAAE,EAAa;IAC1D,OAAO;QACL,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,GAAG,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC;QACtF,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,mBAAmB,EAAE,QAAQ,EAAE,EAAE,CAAC;KACnK,CAAC;AACJ,CAAC;AAED,uGAAuG;AACvG,SAAS,UAAU,CAAC,WAAoB,EAAE,EAAa;IACrD,uHAAuH;IACvH,MAAM,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,aAAa,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3E,IAAI,CAAC,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3G,KAAK,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,uCAAuC,EAAE,GAAG,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC;IAC7J,OAAO,KAAK,CAAC;AACf,CAAC;AAED,qIAAqI;AACrI,MAAM,WAAW,GAAG,CAAC,KAAc,EAAE,EAAa,EAAW,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,CAAC,UAAU,CAAC;AACrG,MAAM,MAAM,GAAG,CAAC,SAAkB,EAAE,EAAa,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAEtI,kEAAkE;AAClE,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,qBAAqB,EAAE,CAAC;AACjH,CAAC;AAED,SAAS,OAAO,CAAC,KAAc,EAAE,OAAgB,EAAE,MAAe,EAAE,EAAa,EAAE,KAAK,GAAG,KAAK;IAC9F,0EAA0E;IAC1E,uEAAuE;IACvE,0EAA0E;IAC1E,gEAAgE;IAChE,uBAAuB;IACvB,MAAM,SAAS,GAAG,MAAM,IAAI,WAAW,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG;QACZ,GAAG,UAAU,CAAC,SAAS,EAAE,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,8BAA8B,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;QACjE,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;KAC5C,CAAC;IACF,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,UAAU,CAAC,EAAE,GAAG,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACxE,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACpC,OAAO,IAAI,UAAU,CAAC;QACpB,GAAG,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC;QACxB,QAAQ,EAAE;YACR,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,cAAc,CAAC;gBAC7B,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,OAAO,EAAE,iBAAiB,GAAG,CAAC,MAAM,gEAAgE;aACrG,CAAC;SACH;QACD,GAAG,EAAE,EAAE,CAAC,GAAG,cAAc,CAAC,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE;QAC7F,KAAK,EAAE;YACL,GAAG,KAAK;YACR,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,+BAA+B,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAChG,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;YACtD,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAChE;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAc,EAAE,KAAmB;IAC/D,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;IACjE,MAAM,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAC9B,MAAM,IAAI,GAAyB,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC;IACvG,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,GAAG,IAAI,UAAU,CAAC;YACnC,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,sFAAsF;YACtF,GAAG,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,iBAAiB,CAAC,CAAC;YACjH,KAAK,EAAE;gBACL,oFAAoF;gBACpF,GAAG,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzC,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClE,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,GAAG,YAAY,EAAE,GAAG,EAAE,cAAc,GAAG,YAAY,EAAE,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/G,GAAG,WAAW,CAAC,GAAG,EAAE,QAAQ,GAAG,EAAE,EAAE,EAAE,CAAC;aACvC;SACF,CAAC,CAAC;IACL,CAAC;IACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAO,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAC7E,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC;QACnC,IAAI,EAAE,UAAU;QAChB,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE;QAC1C,WAAW,EAAE,IAAI,WAAW,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC5I,WAAW,EAAE,IAAI,WAAW,CAAC,EAAE,KAAK,EAAE,kDAAkD,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;QACvH,IAAI;KACL,CAAC,CAAC;IACH,MAAM,MAAM,GAAG;QACb,GAAG,MAAM;QACT,GAAG;QACH,+EAA+E;QAC/E,mEAAmE;QACnE,+EAA+E;QAC/E,0EAA0E;QAC1E,kDAAkD;QAClD,GAAG,CAAC,KAAK,KAAK,SAAS;YACrB,CAAC,CAAC,CAAC,mFAAmF,EAAE,uCAAuC,CAAC;YAChI,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC;KACjC,CAAC;IACF,OAAO;QACL,IAAI,EAAE,GAAG,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,yBAAyB;QAC7E,OAAO,EAAE,UAAU,CAAC,MAAM,EAAE,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;KAC5D,CAAC;AACJ,CAAC;AAED,+EAA+E;AAE/E,MAAM,CAAC,MAAM,iBAAiB,GAAG,mCAAmC,CAAC;AACrE,MAAM,CAAC,MAAM,iBAAiB,GAAG,mCAAmC,CAAC;AAErE,qFAAqF;AACrF,MAAM,YAAY,GAAG,QAAQ,CAAC;AAE9B,6HAA6H;AAC7H,MAAM,WAAW,GAAG,OAAO,CAAC;AAE5B,4EAA4E;AAC5E,MAAM,UAAU,GAAG,CAAC,KAAsB,EAAY,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;AAE/G,MAAM,UAAU,cAAc,CAAC,KAAmB;IAChD,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;IACjE,MAAM,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAC9B,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,EAAE,8CAA8C,EAAE,CAAC,CAAC,CAAC;IACpF,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC;QAClC,KAAK,EAAE;YACL,IAAI,YAAY,CAAC,EAAE,EAAE,EAAE,8CAA8C,EAAE,CAAC;YACxE,IAAI,YAAY,CAAC,EAAE,EAAE,EAAE,8CAA8C,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;YACvF,IAAI,YAAY,CAAC,EAAE,EAAE,EAAE,mBAAmB,EAAE,CAAC;SAC9C;KACF,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC3C,IAAI,CAAC,GAAG,CACN,QAAQ,EACR,IAAI,SAAS,CAAC;QACZ,KAAK,EAAE,IAAI,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC;QACpC,aAAa,EAAE,CAAC,GAAG,YAAY,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,eAAe,CAAC;KAChE,CAAC,CACH,CAAC;IACF,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACpC,IAAI,CAAC,GAAG,CACN,MAAM,EACN,IAAI,SAAS,CAAC;QACZ,OAAO,EAAE,QAAQ;QACjB,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,EAAE,EAAE;QACX,GAAG,CAAC,MAAM;YACR,CAAC,CAAC;gBACE,MAAM,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACtG,QAAQ,EAAE,CAAC,IAAI,aAAa,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;gBACvF,SAAS,EAAE,EAAE,CAAC,GAAG,cAAc,CAAC,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE;aACpG;YACH,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;KAClC,CAAC,CACH,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,GAAG,CACN,QAAQ,GAAG,EAAE,EACb,IAAI,SAAS,CAAC;YACZ,OAAO,EAAE,QAAQ;YACjB,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,EAAE,EAAE;YACX,MAAM,EAAE,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,cAAc,GAAG,YAAY,CAAC;YACrF,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,YAAY,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACtC,SAAS,EAAE,IAAI,eAAe,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,QAAQ,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC;SACnH,CAAC,CACH,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAa,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;QAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACpI,MAAM,SAAS,GAAG,CAAC,QAAiC,EAAU,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,gBAAgB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzH,oEAAoE;IACpE,uEAAuE;IACvE,0EAA0E;IAC1E,2EAA2E;IAC3E,uBAAuB;IACvB,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,aAAa,GAAI,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAA0B,CAAC,MAAM,CAAC;IACrG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;IACrM,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;IAC3C,uIAAuI;IACvI,sGAAsG;IACtG,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjF,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5I,MAAM,QAAQ,GAAG;QACf,aAAa,CAAC,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC;QACtF,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC/B,aAAa,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;KAC/C,CAAC;IACF,MAAM,IAAI,GAAG,GAAG,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;IAE9H,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7D,OAAO;YACL,OAAO,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,gCAAgC;YACtF,6EAA6E;YAC7E,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;gBACnB,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,4BAA4B,GAAG,WAAW,GAAG,wCAAwC,CAAC;gBACzI,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG;QACb,GAAG,MAAM;QACT,GAAG;QACH,2EAA2E;QAC3E,yDAAyD,iBAAiB,GAAG;QAC7E,8BAA8B,iBAAiB,eAAe;QAC9D,GAAG;QACH,6EAA6E;QAC7E,0EAA0E;QAC1E,wEAAwE;QACxE,GAAG,SAAS;QACZ,GAAG,CAAC,KAAK,CAAC,MAAM;YACd,CAAC,CAAC;gBACE,8EAA8E;gBAC9E,+EAA+E;gBAC/E,+EAA+E;gBAC/E,gDAAgD;aACjD;YACH,CAAC,CAAC;gBACE,6EAA6E;gBAC7E,2EAA2E;gBAC3E,mDAAmD;aACpD,CAAC;QACN,+EAA+E;QAC/E,8EAA8E;QAC9E,qCAAqC;QACrC,GAAG,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,GAAG,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAmB,CAAC,CAAC,CAAC,CAAC;KAC7J,CAAC;IACF,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;AACvE,CAAC;AAMD,MAAM,UAAU,GAAwB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;AAuB9E,wDAAwD;AACxD,MAAM,UAAU,GAAG,CAAC,KAAsB,EAAE,GAAW,EAAY,EAAE;IACnE,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,QAAQ,CAAC;IACrD,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACtB,CAAC,CAAC;AAEF,6GAA6G;AAC7G,MAAM,CAAC,MAAM,UAAU,GAAG,kBAAkB,CAAC;AAC7C,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAC;AAqB5C;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,KAAsB,EAAE,SAAmD,EAAE,MAA6B;IAClI,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACvB,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAClD,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,EAAE,EAAE,WAAW,KAAK,CAAC,GAAG,EAAE;QAC1B,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC;QACnF,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC;QACrF,QAAQ,EAAE,CAAC,IAAI,CAAC;QAChB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACvB,IAAI,EAAE,CAAC,CAAC,GAAG;YACX,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAClF,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,GAAG,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxF,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpF,CAAC,CAAC;QACH,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9B,CAAC;AACJ,CAAC;AAQD,gEAAgE;AAChE,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAW,EAAE,IAAkB;IAClE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IAChC,MAAM,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAC7B,MAAM,EAAE,uBAAuB,EAAE,GAAG,CAAC,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAEvE,CAAC;IACF,MAAM,GAAG,GAAmB,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9G,2FAA2F;IAC3F,MAAM,SAAS,GAAG,CAAC,KAAY,EAAE,EAAE,CAAC,CAAC,GAAW,EAAE,EAAE;QAClD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,CAAC;QAChC,OAAO;YACL,iBAAiB,EAAE,UAAU,GAAG,EAAE;YAClC,GAAG,UAAU;YACb,GAAG,CAAC,KAAK,KAAK,QAAQ;gBACpB,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC;oBACE,GAAG,OAAO,CAAC,CAAC,GAAG,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,iBAAiB,CAAC,CAAC;oBAC7F,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC9F,uFAAuF;oBACvF,GAAG,CAAC,IAAI,EAAE,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACnF,CAAC;SACP,CAAC;IACJ,CAAC,CAAC;IACF,MAAM,MAAM,GAAG;QACb,GAAG,MAAM;QACT,GAAG;QACH,4EAA4E;QAC5E,4EAA4E;QAC5E,qCAAqC,UAAU,gCAAgC;QAC/E,+EAA+E;QAC/E,6EAA6E;QAC7E,6EAA6E;QAC7E,+EAA+E;QAC/E,gFAAgF;QAChF,gFAAgF;QAChF,sEAAsE;KACvE,CAAC;IACF,MAAM,YAAY,GAAG,CAAC,KAAY,EAAY,EAAE,CAAC;QAC/C,GAAG,MAAM;QACT,GAAG;QACH,4CAA4C,cAAc,+BAA+B;QACzF,4EAA4E;QAC5E,8DAA8D;QAC9D,GAAG,CAAC,KAAK,KAAK,QAAQ;YACpB,CAAC,CAAC,CAAC,2EAA2E,CAAC;YAC/E,CAAC,CAAC,CAAC,gFAAgF,EAAE,sEAAsE,CAAC,CAAC;KAChK,CAAC;IACF,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACjF,MAAM,WAAW,GAAG;QAClB,GAAG,MAAM;QACT,GAAG;QACH,kFAAkF;QAClF,iFAAiF;QACjF,6EAA6E;QAC7E,kFAAkF;QAClF,gFAAgF;QAChF,2EAA2E;KAC5E,CAAC;IACF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAC1C,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,EAC/C,KAAK,EACL;YACE,QAAQ,EAAE,UAAU;YACpB,KAAK,EAAE,EAAE,CAAC,KAAK;YACf,YAAY,EAAE,CAAC,GAAG,YAAY,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,eAAe,CAAC;YAC3D,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClE,EACD,GAAG,CACJ,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,MAAM,CAAC,KAAK,IAAI,0CAA0C,EAAE,CAAC,CAAC;QACjI,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAChC,MAAM,EAAE,GAAG,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,cAAc,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5H,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC;YACrE,sEAAsE;YACtE,IAAI,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG,cAAc,aAAa;gBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YAC/I,4EAA4E;iBACvE,IAAI,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG,cAAc,YAAY;gBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,WAAW,EAAE,gBAAgB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;;gBACrL,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,GAAG,MAAM,EAAE,GAAG,cAAc,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,EAAE,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;QACrJ,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,eAAe,CAAC,KAAY,EAAE,IAAY,EAAE,KAAsB,EAAE,EAAa,EAAE,OAA0C,EAAE;IACtI,+DAA+D;IAC/D,MAAM,KAAK,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,SAAS,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC;IAC1K,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,iBAAiB,CAAC,IAAI,CAA4B,CAAC;IAC/D,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,CAAC,CAA0B,EAAE,EAAE,CAAC,GAAG,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QACjI,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;QACpG,sGAAsG;QACtG,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,cAAc,eAAe,CAA4E,CAAC;QAChI,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,SAAS,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC,EAAE,GAAG,EAAE,CAAC;YAC5E,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;YAChH,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC/D,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9C,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;gBAAE,SAAS;YAC9D,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACrD,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACtN,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IACD,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACrC,IAAI,EAAE,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,gCAAgC,CAAC,CAAC;IACtE,MAAM,IAAI,GAAG,GAAG,CAAC,IAAiE,CAAC;IACnF,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC;IAC1D,IAAI,GAAG,GAAG,GAAG,QAAQ,EAAE,EAAE,KAAK,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,oDAAoD,CAAC,CAAC;IAClH,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/C,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,GAAG,CAAC,KAAK,CAAC,IAAI,CACZ,EAAE,IAAI,EAAE,gBAAgB,GAAG,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;QAC5E,kHAAkH;QAClH,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,4BAA4B,eAAe,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,mBAAmB,EAAE,QAAQ,EAAE,EAAE,CAChO,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,EAAE,CAAC;AAClH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,KAAY,EAAE,IAAY,EAAE,KAAsB,EAAE,OAAgB,EAAE,QAA2C,EAAE;IAC3I,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACrC,IAAI,EAAE,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,kCAAkC,CAAC,CAAC;IACxE,MAAM,GAAG,GAAG,iBAAiB,CAAC,IAAI,CAAsD,CAAC;IACzF,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;IAC9D,IAAI,GAAG,GAAG,GAAG,QAAQ,EAAE,EAAE,KAAK,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,yDAAyD,CAAC,CAAC;IACvH,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACrC,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,8CAA8C,CAAC,CAAC;IAClF,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;IACxB,OAAO,GAAG,CAAC,KAAK,CAAC;IACjB,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IACtJ,oFAAoF;IACpF,OAAO,GAAG,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,EAAE,CAAC;AACpH,CAAC;AAED,sHAAsH;AACtH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,GAAW,EAAE,IAAuB;IAClE,MAAM,QAAQ,GAAG,CAAC,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,KAAgB,CAAC;IAC3D,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAChI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACtI,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAA8F,EAAE,CAAC,EAAE,GAA6B,EAAE,EAAE;QACvJ,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,CAAC,CAAC,CAAC,SAAS,GAAG,2BAA2B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvI,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,QAAQ,CAAa,CAAC;QAC9C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/I,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACxM,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,CAAC,CAAC,CAAC,cAAc,QAAQ,2BAA2B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChL,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAoC,CAAC;QACxD,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,CAAC,CAAC,CAAC,cAAc,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7L,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,QAAQ,IAAI,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACrM,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,GAAW,EAAE,KAAsB;IACnE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;IACtD,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,GAAG,GAAW,EAAE,CAAC;IACvB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;QAC5D,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAUD;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,GAAW,EAAE,OAAgB,EAAE,KAAY,EAAE,KAAsB;IAC3F,IAAI,KAAK,KAAK,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC;IACxD,6GAA6G;IAC7G,OAAO;QACL,IAAI,EAAE,SAAS,GAAG,EAAE;QACpB,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,GAAG,iBAAiB,CAAC,CAAC,EAAE,YAAY,EAAE,qBAAqB,EAAE;QAC/H,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7H,CAAC;AACJ,CAAC;AAED,uHAAuH;AACvH,SAAS,WAAW,CAAC,KAAY,EAAE,GAAW,EAAE,MAA6B;IAC3E,IAAI,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IAC1D,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,mCAAmC,EAAE,CAAC,EAAE,EAAE,MAAc,EAAE,EAAE,CAAC,iBAAiB,MAAM,qBAAqB,CAAC,CAAC;IACrI,IAAI,KAAK,KAAK,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,iFAAiF,CAAC,CAAC;IACtH,OAAO,KAAK,CAAC;AACf,CAAC;AAED,2JAA2J;AAC3J,SAAS,iBAAiB,CAAC,IAAY,EAAE,IAAiD;IACxF,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACnE,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,iBAAiB,CAAC,IAAI,CAA4B,CAAC;IAC/D,MAAM,IAAI,GAAG,CAAC,CAA0B,EAAE,EAAE,CAAC,GAAG,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IACjI,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;IACrG,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC;QAChC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;YAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IAClI,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAW,EAAE,KAAmB;IACnE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IACvC,MAAM,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAC9B,MAAM,EAAE,mBAAmB,EAAE,GAAG,CAAC,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAEnE,CAAC;IACF,MAAM,GAAG,GAAmB,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,KAAK,EAAE,KAAY,EAAE,KAAgB,EAAE,WAAqB,EAAE,EAAE;QAC3E,MAAM,MAAM,GAAG,MAAM,mBAAmB,CACtC,KAAK,EACL,KAAK,EACL;YACE,KAAK,EAAE,EAAE,CAAC,KAAK;YACf,YAAY,EAAE,CAAC,GAAG,YAAY,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC;YACpE,WAAW;YACX,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnF,EACD,GAAG,CACJ,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,MAAM,CAAC,KAAK,IAAI,sCAAsC,EAAE,CAAC,CAAC;QAC7H,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAChC,MAAM,EAAE,GAAG,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,cAAc,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5H,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC;YACrE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACzH,CAAC;IACH,CAAC,CAAC;IACF,gGAAgG;IAChG,KAAK,MAAM,KAAK,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAU,EAAE,CAAC;QACnD,KAAK,MAAM,GAAG,IAAI,IAAI;YAAE,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3H,CAAC;IACD,oGAAoG;IACpG,MAAM,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC;IACpH,OAAO,GAAG,CAAC;AACb,CAAC;AAED,+EAA+E;AAE/E,4EAA4E;AAC5E,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAW,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AAErE,2EAA2E;AAC3E,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,GAAW;IAC5C,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;IACpE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;IAC9C,MAAM,GAAG,GAAI,MAA8E,CAAC,GAAG,CAAC;IAChG,MAAM,OAAO,GAAG,GAAG,EAAE,OAAO,CAAC;IAC7B,IAAI,OAAO,KAAK,YAAY,IAAI,OAAO,KAAK,UAAU;QAAE,MAAM,IAAI,KAAK,CAAC,oEAAoE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC/J,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC;IAC3D,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IACnF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,KAAK,MAAM,EAAE,IAAI,CAAC,WAAW,GAAG,EAAE,EAAE,SAAS,GAAG,EAAE,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,GAAG,eAAe,EAAE,QAAQ,CAAC,CAAC;QAClH,CAAC;IACH,CAAC;IACD,MAAM,EAAE,GAAG,CAAC,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC;IACvC,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,EAAE,QAAQ,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;IAC7D,OAAO;QACL,OAAO;QACP,KAAK,EAAE,IAAI;QACX,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,MAAM;QACN,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,KAAK,EAAE,MAAM,WAAW,CAAC,GAAG,EAAE,MAAM,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACzD,MAAM,EAAE,EAAE,EAAE,MAAM,IAAI,MAAM;QAC5B,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpE,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,aAAa,CAAC,QAAiC,EAAE,IAAuB;IACtF,MAAM,GAAG,GAAmC,EAAE,CAAC;IAC/C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QACvC,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,MAAM,KAAK,GAAG,CAAC,IAAU,EAAa,EAAE;YACtC,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAClC,OAAO,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC5E,CAAC,CAAC;QACF,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;IAClE,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,qEAAqE;AACrE,KAAK,UAAU,UAAU,CAAC,GAAW;IACnC,OAAO,CAAC,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC;AAC9C,CAAC;AAuBD,wCAAwC;AACxC,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,GAAW,EAAE,IAAY;IAC7D,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,IAAI,sBAAsB,CAAC,CAAC;IACrG,MAAM,GAAG,GAAG,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAA4B,CAAC;IAChF,MAAM,GAAG,GAAgB,EAAE,CAAC;IAC5B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,YAAY,GAAG,2BAA2B,CAAC,CAAC;IACrI,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAU,EAAE,CAAC;QACjD,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,KAAK,SAAS;YAAE,SAAS;QAC9B,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,GAAG,qDAAqD,CAAC,CAAC;QACnJ,GAAG,CAAC,GAAG,CAAC,GAAG,CAA+B,CAAC;IAC7C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,qFAAqF;AACrF,SAAS,OAAO,CAAI,GAA2C,EAAE,MAA+B,EAAE,IAAY;IAC5G,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACpC,IAAI,IAAI,IAAI,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,QAAQ,IAAI,8DAA8D,CAAC,CAAC;IAClI,CAAC;IACD,OAAO,GAAwB,CAAC;AAClC,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,MAAM,CAAC,IAAkB;IACvC,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/F,CAAC;AAED,uGAAuG;AACvG,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,QAAQ,CAAC;IACjD,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,SAAS,CAAC;IACnD,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,QAAQ,CAAC;IAChD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,GAAW;IACtC,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC;IACrC,MAAM,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5G,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QACxB,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC9B,OAAO,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/ci/render.ts"],"names":[],"mappings":"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"}
|
package/dist/cleanup/index.d.ts
CHANGED
|
@@ -71,6 +71,12 @@ export declare function findRetained(server: RetainedServer): Promise<{
|
|
|
71
71
|
now: string;
|
|
72
72
|
retained: Retained[];
|
|
73
73
|
}>;
|
|
74
|
+
/**
|
|
75
|
+
* The gate a cleanup's approval is recorded on: the migrations Op's gate
|
|
76
|
+
* name with `-cleanup`, its own, so `yodel plan` never takes a cleanup's
|
|
77
|
+
* approval for the newest approval of an apply (#119).
|
|
78
|
+
*/
|
|
79
|
+
export declare const cleanupGate: (gate: string) => string;
|
|
74
80
|
/** The digest an approval of a cleanup binds: the environment and every due object, by its identity and date. */
|
|
75
81
|
export declare function cleanupDigest(environment: string, retained: readonly Retained[]): Promise<string>;
|
|
76
82
|
/** The statements that drop one due object. */
|
package/dist/cleanup/index.js
CHANGED
|
@@ -126,6 +126,12 @@ async function postgresRetained(server) {
|
|
|
126
126
|
}
|
|
127
127
|
return { now: new Date(now).toISOString(), retained };
|
|
128
128
|
}
|
|
129
|
+
/**
|
|
130
|
+
* The gate a cleanup's approval is recorded on: the migrations Op's gate
|
|
131
|
+
* name with `-cleanup`, its own, so `yodel plan` never takes a cleanup's
|
|
132
|
+
* approval for the newest approval of an apply (#119).
|
|
133
|
+
*/
|
|
134
|
+
export const cleanupGate = (gate) => `${gate}-cleanup`;
|
|
129
135
|
/** The digest an approval of a cleanup binds: the environment and every due object, by its identity and date. */
|
|
130
136
|
export async function cleanupDigest(environment, retained) {
|
|
131
137
|
const { computePlanDigest } = await import("@intentius/chant/op");
|