hatchkit 0.1.8 → 0.1.10

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.
@@ -1 +1 @@
1
- {"version":3,"file":"adopt.d.ts","sourceRoot":"","sources":["../src/adopt.ts"],"names":[],"mappings":"AAuHA,wBAAsB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAgF1F"}
1
+ {"version":3,"file":"adopt.d.ts","sourceRoot":"","sources":["../src/adopt.ts"],"names":[],"mappings":"AA8HA,wBAAsB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAoF1F"}
package/dist/adopt.js CHANGED
@@ -41,6 +41,7 @@ import { ensureGitHub, getCoolifyConfig } from "./config.js";
41
41
  import { pushProjectKeyToCoolify } from "./deploy/keys.js";
42
42
  import { runProvision } from "./provision/index.js";
43
43
  import { MANIFEST_FILENAME, readManifest, writeManifest, } from "./scaffold/manifest.js";
44
+ import { detectBuildPipeline, scaffoldBuildPipeline } from "./scaffold/build-pipeline.js";
44
45
  import { CoolifyApi } from "./utils/coolify-api.js";
45
46
  import { exec, execOk } from "./utils/exec.js";
46
47
  import { SECRET_KEYS, setSecret } from "./utils/secrets.js";
@@ -72,17 +73,20 @@ export async function runAdopt(cwd, opts = {}) {
72
73
  // by `add`) has something to work with.
73
74
  // setupGitHub: default ON when there's no origin remote yet.
74
75
  const m = state.existingManifest;
75
- // Surfaces inference: trust both detected dirs. When only one is
76
- // detected, default to the matching surface; when both, "both"; when
77
- // neither, fall back to "server-only" at the project root for
78
- // backward compat with the original adopt behaviour.
79
- const inferredSurfaces = state.serverDir && state.clientDir
80
- ? "both"
81
- : state.serverDir
82
- ? "server-only"
83
- : state.clientDir
84
- ? "client-only"
85
- : "server-only";
76
+ // Surfaces resolution order:
77
+ // 1. Whatever was persisted in the manifest (`--resume` recovery
78
+ // detection wouldn't see a client/ dir for an in-place static
79
+ // site so re-inferring would always say "server-only").
80
+ // 2. Detection: both dirs "both"; single dir → matching surface.
81
+ // 3. Fallback "server-only" for the original adopt behaviour.
82
+ const inferredSurfaces = m?.surfaces ??
83
+ (state.serverDir && state.clientDir
84
+ ? "both"
85
+ : state.serverDir
86
+ ? "server-only"
87
+ : state.clientDir
88
+ ? "client-only"
89
+ : "server-only");
86
90
  let plan = {
87
91
  name: m?.name ?? state.packageName ?? "",
88
92
  domain: m?.domain ?? "",
@@ -97,6 +101,7 @@ export async function runAdopt(cwd, opts = {}) {
97
101
  setupGitHub: !state.gitRemoteUrl,
98
102
  wireCoolify: !state.coolifyAppMatch,
99
103
  appPort: "3000",
104
+ scaffoldBuildPipeline: true,
100
105
  services: ["glitchtip", "openpanel", "resend"],
101
106
  // Default the push only when there's already a Coolify app to push to.
102
107
  // When wireCoolify creates a fresh app, it sets the baseline env
@@ -472,6 +477,17 @@ function buildAdoptGroups(state, plan) {
472
477
  },
473
478
  ],
474
479
  },
480
+ {
481
+ title: "Build pipeline",
482
+ steps: [
483
+ {
484
+ key: "scaffoldBuildPipeline",
485
+ label: "Docker + GH Actions",
486
+ set: true,
487
+ summary: renderBuildPipelineSummary(state, plan),
488
+ },
489
+ ],
490
+ },
475
491
  {
476
492
  title: "Deploy",
477
493
  steps: [
@@ -648,6 +664,13 @@ async function editAdoptStep(state, plan, step) {
648
664
  });
649
665
  return { ...plan, setupGitHub };
650
666
  }
667
+ if (step === "scaffoldBuildPipeline") {
668
+ const scaffoldBuildPipeline = await confirm({
669
+ message: "Scaffold the build pipeline (Dockerfile / docker-compose.yml / GitHub Actions deploy.yml as needed)?",
670
+ default: plan.scaffoldBuildPipeline,
671
+ });
672
+ return { ...plan, scaffoldBuildPipeline };
673
+ }
651
674
  if (step === "wireCoolify") {
652
675
  const wireCoolify = await confirm({
653
676
  message: state.coolifyAppMatch
@@ -693,6 +716,14 @@ async function executePlan(state, plan) {
693
716
  else if (state.gitRemoteUrl) {
694
717
  console.log(chalk.dim(` · git origin already set → ${state.gitRemoteUrl}`));
695
718
  }
719
+ // Step 3a: Scaffold the build pipeline (Dockerfile + compose +
720
+ // GitHub Actions workflow). Detection inside the scaffolder skips
721
+ // anything that already exists, so this is idempotent across re-runs.
722
+ // Must run BEFORE Coolify wiring so the docker-compose.yml exists
723
+ // by the time Coolify clones the repo for the first deploy.
724
+ if (plan.scaffoldBuildPipeline) {
725
+ await scaffoldBuildPipelineNow(state, plan, remoteUrl);
726
+ }
696
727
  // Step 3b: Wire the repo into Coolify + DNS via direct API calls.
697
728
  // No infra/ submodule, no Terraform — just hits the Coolify and
698
729
  // DNS-provider REST endpoints with credentials we already have in
@@ -706,12 +737,16 @@ async function executePlan(state, plan) {
706
737
  projectName: plan.name,
707
738
  domain: plan.domain,
708
739
  gitRepository: remoteUrl,
709
- // For client-only projects (static sites / SPAs) Coolify wants
710
- // its `static` build pack and doesn't need a runtime port —
711
- // bind to 80 so the API still has the field it requires.
712
- // Server / both surfaces fall back to nixpacks on the chosen
713
- // port.
714
- buildPack: plan.surfaces === "client-only" ? "static" : "nixpacks",
740
+ // hatchkit's canonical pipeline = GitHub Actions builds image
741
+ // pushes to GHCR Coolify pulls via docker-compose.yml. The
742
+ // build-pipeline scaffold step (run earlier in this flow)
743
+ // either kept the user's existing compose or wrote one
744
+ // pointing at ghcr.io/<owner>/<name>:latest. Either way the
745
+ // Coolify app reads docker-compose.yml from the repo root.
746
+ buildPack: "dockercompose",
747
+ // ports_exposes is still required by the Coolify API even for
748
+ // dockercompose; it's purely metadata once the compose file
749
+ // takes over.
715
750
  portsExposes: plan.surfaces === "client-only" ? "80" : plan.appPort,
716
751
  // Default assumption: anything we just `gh repo create --private`d
717
752
  // is private. If origin was already set we don't know for sure;
@@ -727,6 +762,12 @@ async function executePlan(state, plan) {
727
762
  ` with domain ${plan.domain} and port ${plan.appPort}, then run\n` +
728
763
  ` hatchkit keys push ${plan.name}`));
729
764
  }
765
+ // After Coolify wiring, push the deploy-webhook secrets to the
766
+ // GitHub repo so the scaffolded deploy.yml workflow can hit the
767
+ // Coolify deploy endpoint. Best-effort.
768
+ if (coolifyResult && plan.scaffoldBuildPipeline) {
769
+ await setActionsSecretsForDeploy(state, plan, coolifyResult.appUuid, remoteUrl);
770
+ }
730
771
  }
731
772
  else if (plan.wireCoolify && !remoteUrl) {
732
773
  console.log(chalk.yellow(" Coolify wiring needs a git remote URL — skipping (no `origin` set and the GitHub step\n" +
@@ -766,7 +807,12 @@ async function executePlan(state, plan) {
766
807
  }
767
808
  else {
768
809
  try {
769
- await pushProjectKeyToCoolify(plan.name);
810
+ // Use the matched app name when we have one — adopt creates
811
+ // apps with the bare project name (no `-web` suffix that the
812
+ // create-flow scaffold uses).
813
+ await pushProjectKeyToCoolify(plan.name, {
814
+ appName: state.coolifyAppMatch?.name ?? plan.name,
815
+ });
770
816
  console.log(chalk.green(`\n ✓ Pushed dotenvx key to Coolify`));
771
817
  }
772
818
  catch (err) {
@@ -787,12 +833,29 @@ async function executePlan(state, plan) {
787
833
  if (remoteUrl)
788
834
  console.log(` Git: ${chalk.cyan(remoteUrl)}`);
789
835
  if (coolifyResult) {
790
- console.log(` Coolify: ${chalk.cyan(coolifyResult.appUuid)} ${chalk.dim(`@ ${coolifyResult.serverIp}`)}`);
791
- if (coolifyResult.dnsManaged) {
792
- console.log(` DNS: ${chalk.green("✓")} ${chalk.dim(`A ${plan.domain} → ${coolifyResult.serverIp}`)}`);
836
+ const ipDisplay = [coolifyResult.serverIpv4, coolifyResult.serverIpv6]
837
+ .filter(Boolean)
838
+ .join(" / ");
839
+ console.log(` Coolify: ${chalk.cyan(coolifyResult.appUuid)} ${chalk.dim(`@ ${ipDisplay || "?"}`)}`);
840
+ if (coolifyResult.ipMismatchWarning) {
841
+ console.log(` ${chalk.yellow("⚠")} ${chalk.dim(coolifyResult.ipMismatchWarning)}`);
793
842
  }
794
- else if (plan.domain && coolifyResult.serverIp) {
795
- console.log(` DNS: ${chalk.yellow("✗")} ${chalk.dim(`add A ${plan.domain} → ${coolifyResult.serverIp} manually`)}`);
843
+ const records = [];
844
+ if (coolifyResult.dnsRecordId)
845
+ records.push(`A ${plan.domain} → ${coolifyResult.serverIpv4}`);
846
+ if (coolifyResult.dnsRecordIdV6)
847
+ records.push(`AAAA ${plan.domain} → ${coolifyResult.serverIpv6}`);
848
+ if (coolifyResult.dnsManaged && records.length > 0) {
849
+ console.log(` DNS: ${chalk.green("✓")} ${chalk.dim(records.join(" · "))}`);
850
+ }
851
+ else if (plan.domain && (coolifyResult.serverIpv4 || coolifyResult.serverIpv6)) {
852
+ const manual = [
853
+ coolifyResult.serverIpv4 && `A ${plan.domain} → ${coolifyResult.serverIpv4}`,
854
+ coolifyResult.serverIpv6 && `AAAA ${plan.domain} → ${coolifyResult.serverIpv6}`,
855
+ ]
856
+ .filter(Boolean)
857
+ .join(" · ");
858
+ console.log(` DNS: ${chalk.yellow("✗")} ${chalk.dim(`add ${manual} manually`)}`);
796
859
  }
797
860
  }
798
861
  console.log();
@@ -913,6 +976,10 @@ function writeAdoptManifest(projectDir, plan) {
913
976
  s3Provider: (() => (plan.features.includes("s3") ? "existing" : "none"))(),
914
977
  deployTarget: "existing",
915
978
  ports: { server: 3000, client: 3001 },
979
+ // Persist the surface choice so `--resume` doesn't re-infer
980
+ // "server-only" just because there's no client/ directory in the
981
+ // current layout.
982
+ surfaces: plan.surfaces,
916
983
  };
917
984
  writeManifest(projectDir, manifest);
918
985
  }
@@ -920,4 +987,149 @@ function relativeTo(p, from = process.cwd()) {
920
987
  const rel = relative(from, p);
921
988
  return rel === "" ? "." : rel.startsWith("..") ? p : `./${rel}`;
922
989
  }
990
+ // ---------------------------------------------------------------------------
991
+ // Build pipeline (Dockerfile + compose + GH Actions)
992
+ // ---------------------------------------------------------------------------
993
+ /** Compose the stepper summary for the build-pipeline row. Shows
994
+ * what'll happen if the user hits Adopt right now — separately
995
+ * noting which files already exist (will be left alone) vs which
996
+ * will be scaffolded. */
997
+ function renderBuildPipelineSummary(state, plan) {
998
+ if (!plan.scaffoldBuildPipeline)
999
+ return chalk.dim("no — leave files as-is");
1000
+ const pipe = detectBuildPipeline(state.projectDir);
1001
+ const willWrite = [];
1002
+ const kept = [];
1003
+ if (pipe.hasDockerfile)
1004
+ kept.push("Dockerfile");
1005
+ else
1006
+ willWrite.push("Dockerfile");
1007
+ if (pipe.hasCompose)
1008
+ kept.push(pipe.composePath?.split("/").pop() ?? "compose");
1009
+ else
1010
+ willWrite.push("docker-compose.yml");
1011
+ if (pipe.hasDeployWorkflow)
1012
+ kept.push(".github/workflows/deploy.yml");
1013
+ else
1014
+ willWrite.push(".github/workflows/deploy.yml");
1015
+ if (willWrite.length === 0)
1016
+ return chalk.dim("all files already present — nothing to write");
1017
+ const writePart = `write ${willWrite.join(", ")}`;
1018
+ const keepPart = kept.length > 0 ? chalk.dim(` · keep ${kept.join(", ")}`) : "";
1019
+ return `${writePart}${keepPart}`;
1020
+ }
1021
+ async function scaffoldBuildPipelineNow(state, plan, remoteUrl) {
1022
+ // Owner inference for the GHCR image. Falls back to "OWNER" if we
1023
+ // can't tell — the scaffolded compose still works once the user
1024
+ // edits it, and they get a clear hint in the summary.
1025
+ const owner = ownerFromRemote(remoteUrl) ?? "OWNER";
1026
+ const defaultBranch = await detectDefaultBranch(state.projectDir);
1027
+ const result = scaffoldBuildPipeline({
1028
+ projectDir: state.projectDir,
1029
+ projectName: plan.name,
1030
+ ghOwner: owner,
1031
+ entrypoint: plan.surfaces === "client-only" ? "" : "dist/index.js",
1032
+ port: Number(plan.appPort) || 3000,
1033
+ surfaces: plan.surfaces,
1034
+ defaultBranch,
1035
+ });
1036
+ if (result.written.length > 0) {
1037
+ console.log(chalk.green(` ✓ Scaffolded: ${result.written.join(", ")}`));
1038
+ }
1039
+ if (result.skipped.length > 0) {
1040
+ console.log(chalk.dim(` · Kept existing: ${result.skipped.join(", ")}`));
1041
+ }
1042
+ if (owner === "OWNER") {
1043
+ console.log(chalk.yellow(" ⚠ Couldn't infer GitHub owner from origin — edit `image: ghcr.io/OWNER/...`\n" +
1044
+ " in docker-compose.yml before pushing."));
1045
+ }
1046
+ }
1047
+ /** Extract `owner` from a git remote URL.
1048
+ * git@github.com:owner/repo.git → owner
1049
+ * https://github.com/owner/repo[.git] → owner
1050
+ * Returns undefined if the URL doesn't match either GitHub form. */
1051
+ function ownerFromRemote(url) {
1052
+ if (!url)
1053
+ return undefined;
1054
+ const ssh = url.match(/^git@github\.com:([^/]+)\/[^/]+?(?:\.git)?$/);
1055
+ if (ssh)
1056
+ return ssh[1];
1057
+ const https = url.match(/^https?:\/\/github\.com\/([^/]+)\/[^/]+?(?:\.git)?(?:\/.*)?$/);
1058
+ if (https)
1059
+ return https[1];
1060
+ return undefined;
1061
+ }
1062
+ /** Best-effort default branch detection. `git symbolic-ref` works
1063
+ * once `gh repo create --push` has set the upstream HEAD. Falls
1064
+ * back to "main" — that's the GitHub default for new repos. */
1065
+ async function detectDefaultBranch(projectDir) {
1066
+ try {
1067
+ const res = await exec("git", ["symbolic-ref", "--short", "refs/remotes/origin/HEAD"], {
1068
+ cwd: projectDir,
1069
+ });
1070
+ if (res.exitCode === 0) {
1071
+ const branch = res.stdout.trim().replace(/^origin\//, "");
1072
+ if (branch)
1073
+ return branch;
1074
+ }
1075
+ }
1076
+ catch {
1077
+ /* ignore */
1078
+ }
1079
+ return "main";
1080
+ }
1081
+ // ---------------------------------------------------------------------------
1082
+ // GitHub Actions secrets — set once after Coolify wiring lands the
1083
+ // app uuid we need to construct the deploy webhook URL.
1084
+ // ---------------------------------------------------------------------------
1085
+ /** Push COOLIFY_WEBHOOK_URL + COOLIFY_TOKEN to the project's GitHub
1086
+ * repo as Actions secrets so deploy.yml can trigger redeploys.
1087
+ * Best-effort — failures don't roll anything back; the user gets a
1088
+ * copy-pasteable manual recipe instead. */
1089
+ async function setActionsSecretsForDeploy(state, plan, appUuid, remoteUrl) {
1090
+ const ownerRepo = repoSlugFromRemote(remoteUrl);
1091
+ if (!ownerRepo) {
1092
+ console.log(chalk.dim(" · Couldn't resolve owner/repo from git remote — set the deploy secrets manually."));
1093
+ return;
1094
+ }
1095
+ const cfg = await (await import("./config.js")).getCoolifyConfig();
1096
+ if (!cfg)
1097
+ return;
1098
+ const webhookUrl = `${cfg.url.replace(/\/$/, "")}/api/v1/deploy?uuid=${appUuid}`;
1099
+ const ora = (await import("ora")).default;
1100
+ const spinner = ora(`GitHub: setting Actions secrets on ${ownerRepo}`).start();
1101
+ try {
1102
+ await ghSecretSet(state.projectDir, ownerRepo, "COOLIFY_WEBHOOK_URL", webhookUrl);
1103
+ await ghSecretSet(state.projectDir, ownerRepo, "COOLIFY_TOKEN", cfg.token);
1104
+ spinner.succeed("GitHub: Actions secrets set (COOLIFY_WEBHOOK_URL, COOLIFY_TOKEN)");
1105
+ }
1106
+ catch (err) {
1107
+ spinner.fail(`GitHub: setting secrets failed — ${err.message}`);
1108
+ console.log(chalk.dim(` Set them manually:\n` +
1109
+ ` gh secret set COOLIFY_WEBHOOK_URL --repo ${ownerRepo} --body '${webhookUrl}'\n` +
1110
+ ` gh secret set COOLIFY_TOKEN --repo ${ownerRepo} --body '<your coolify token>'`));
1111
+ }
1112
+ void plan; // unused but kept for future feature gating
1113
+ }
1114
+ async function ghSecretSet(cwd, repo, name, value) {
1115
+ const res = await exec("gh", ["secret", "set", name, "--repo", repo, "--body", value], {
1116
+ cwd,
1117
+ });
1118
+ if (res.exitCode !== 0) {
1119
+ throw new Error(`gh secret set ${name} exited ${res.exitCode}: ${res.stderr.trim()}`);
1120
+ }
1121
+ }
1122
+ /** Extract `owner/repo` from a git remote URL — same parsing as
1123
+ * `ownerFromRemote` but keeping the repo segment too. */
1124
+ function repoSlugFromRemote(url) {
1125
+ if (!url)
1126
+ return undefined;
1127
+ const ssh = url.match(/^git@github\.com:([^/]+)\/([^/]+?)(?:\.git)?$/);
1128
+ if (ssh)
1129
+ return `${ssh[1]}/${ssh[2]}`;
1130
+ const https = url.match(/^https?:\/\/github\.com\/([^/]+)\/([^/]+?)(?:\.git)?(?:\/.*)?$/);
1131
+ if (https)
1132
+ return `${https[1]}/${https[2]}`;
1133
+ return undefined;
1134
+ }
923
1135
  //# sourceMappingURL=adopt.js.map
package/dist/adopt.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"adopt.js","sourceRoot":"","sources":["../src/adopt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAyB,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EACL,iBAAiB,EAEjB,YAAY,EACZ,aAAa,GACd,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAiEnD,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,GAAW,EAAE,OAA6B,EAAE;IACzE,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC;IAEvC,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACtC,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CACV,OAAO,iBAAiB,sBAAsB,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAC9E,CACF,CAAC;QACF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CACP,+CAA+C;YAC7C,uEAAuE;YACvE,6EAA6E;YAC7E,kFAAkF;YAClF,qFAAqF,CACxF,CACF,CAAC;QACF,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAC5F,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CACP,yEAAyE;YACvE,+EAA+E,CAClF,CACF,CAAC;IACJ,CAAC;IACD,aAAa,CAAC,KAAK,CAAC,CAAC;IAErB,8DAA8D;IAC9D,iEAAiE;IACjE,6CAA6C;IAC7C,sEAAsE;IACtE,sEAAsE;IACtE,qEAAqE;IACrE,4CAA4C;IAC5C,+DAA+D;IAC/D,MAAM,CAAC,GAAG,KAAK,CAAC,gBAAgB,CAAC;IACjC,iEAAiE;IACjE,qEAAqE;IACrE,8DAA8D;IAC9D,qDAAqD;IACrD,MAAM,gBAAgB,GACpB,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS;QAChC,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,KAAK,CAAC,SAAS;YACf,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,KAAK,CAAC,SAAS;gBACf,CAAC,CAAC,aAAa;gBACf,CAAC,CAAC,aAAa,CAAC;IACxB,IAAI,IAAI,GAAc;QACpB,IAAI,EAAE,CAAC,EAAE,IAAI,IAAI,KAAK,CAAC,WAAW,IAAI,EAAE;QACxC,MAAM,EAAE,CAAC,EAAE,MAAM,IAAI,EAAE;QACvB,oEAAoE;QACpE,gEAAgE;QAChE,gDAAgD;QAChD,QAAQ,EAAE,CAAC,EAAE,QAAQ,IAAI,KAAK,CAAC,QAAQ;QACvC,QAAQ,EAAE,gBAAgB;QAC1B,SAAS,EACP,gBAAgB,KAAK,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC;QACxF,SAAS,EACP,gBAAgB,KAAK,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC;QACxF,gBAAgB,EAAE,CAAC,KAAK,CAAC,kBAAkB;QAC3C,WAAW,EAAE,CAAC,KAAK,CAAC,YAAY;QAChC,WAAW,EAAE,CAAC,KAAK,CAAC,eAAe;QACnC,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,CAAC;QAC9C,uEAAuE;QACvE,iEAAiE;QACjE,4DAA4D;QAC5D,4BAA4B;QAC5B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe;KACjC,CAAC;IAEF,IAAI,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAErC,MAAM,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,KAAK,UAAU,aAAa,CAAC,UAAkB;IAC7C,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACpE,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAEzF,IAAI,WAA+B,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAE7E,CAAC;QACF,WAAW,GAAG,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc;IAClE,CAAC;IAAC,MAAM,CAAC;QACP,gEAAgE;IAClE,CAAC;IAED,kDAAkD;IAClD,MAAM,SAAS,GAAG,aAAa,CAAC,UAAU,EAAE;QAC1C,iBAAiB;QACjB,aAAa;QACb,UAAU;QACV,cAAc;QACd,QAAQ;QACR,SAAS;QACT,KAAK;QACL,YAAY;QACZ,iBAAiB;KAClB,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,aAAa,CAAC,UAAU,EAAE;QAC1C,iBAAiB;QACjB,cAAc;QACd,mBAAmB;QACnB,UAAU;QACV,aAAa;QACb,eAAe;QACf,QAAQ;QACR,UAAU;QACV,KAAK;QACL,YAAY;KACb,CAAC,CAAC;IAEH,0EAA0E;IAC1E,MAAM,QAAQ,GAAG,cAAc,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAEvD,mEAAmE;IACnE,mEAAmE;IACnE,iEAAiE;IACjE,MAAM,WAAW,GAAG,SAAS;QAC3B,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC;QACpC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;IACxC,MAAM,WAAW,GAAG,SAAS;QAC3B,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC;QAC9B,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAClC,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAC/B,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC/D,kBAAkB,GAAG,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjE,CAAC;IACD,MAAM,UAAU,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAE3C,mEAAmE;IACnE,qEAAqE;IACrE,IAAI,eAA2D,CAAC;IAChE,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,gBAAgB,EAAE,CAAC;QACrC,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;YAC/D,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,gBAAgB,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,CAAC,WAAW,EAAE,GAAG,WAAW,MAAM,EAAE,GAAG,WAAW,SAAS,CAAC,CAAC;YAC5E,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACxD,IAAI,KAAK;gBAAE,eAAe,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;QACtE,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,oBAAoB;IACtB,CAAC;IAED,qEAAqE;IACrE,oEAAoE;IACpE,sDAAsD;IACtD,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;IACvD,IAAI,YAAgC,CAAC;IACrC,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE;gBAC7D,GAAG,EAAE,UAAU;gBACf,kDAAkD;aACnD,CAAC,CAAC;YACH,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAC9B,IAAI,GAAG,CAAC,QAAQ,KAAK,CAAC,IAAI,GAAG;gBAAE,YAAY,GAAG,GAAG,CAAC;QACpD,CAAC;QAAC,MAAM,CAAC;YACP,8DAA8D;QAChE,CAAC;IACH,CAAC;IAED,OAAO;QACL,UAAU;QACV,WAAW;QACX,WAAW;QACX,SAAS;QACT,SAAS;QACT,QAAQ;QACR,kBAAkB;QAClB,UAAU;QACV,eAAe;QACf,SAAS;QACT,YAAY;QACZ,gBAAgB;KACjB,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,UAAoB;IACvD,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3B,IAAI,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;IACpC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,cAAc,CAAC,UAAkB,EAAE,SAA6B;IACvE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAW,CAAC;IAEjC,iEAAiE;IACjE,gEAAgE;IAChE,mEAAmE;IACnE,+DAA+D;IAC/D,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC;IACnD,IAAI,SAAS;QAAE,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;IACjE,KAAK,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QAC/B,IAAI,OAAiB,CAAC;QACtB,IAAI,CAAC;YACH,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,OAAO;YAAE,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;QAC7B,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YAAE,SAAS;QAC7B,IAAI,IAKH,CAAC;QACF,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QAC9C,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAG;YACX,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;YAC5B,GAAG,CAAC,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC;YAC/B,GAAG,CAAC,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC;YAChC,GAAG,CAAC,IAAI,CAAC,oBAAoB,IAAI,EAAE,CAAC;SACrC,CAAC;QACF,IAAI,QAAQ,IAAI,IAAI,IAAI,mBAAmB,IAAI,IAAI,IAAI,yBAAyB,IAAI,IAAI,EAAE,CAAC;YACzF,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtB,CAAC;QACD,IAAI,WAAW,IAAI,IAAI,IAAI,kBAAkB,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACtE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACzB,CAAC;QACD,IACE,cAAc,IAAI,IAAI;YACtB,iBAAiB,IAAI,IAAI;YACzB,eAAe,IAAI,IAAI;YACvB,gBAAgB,IAAI,IAAI;YACxB,gBAAgB,IAAI,IAAI;YACxB,gBAAgB,IAAI,IAAI;YACxB,mBAAmB,IAAI,IAAI,EAC3B,CAAC;YACD,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACzB,CAAC;QACD,IAAI,oBAAoB,IAAI,IAAI,IAAI,OAAO,IAAI,IAAI;YAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrE,IAAI,UAAU,IAAI,IAAI,IAAI,kBAAkB,IAAI,IAAI;YAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3E,IAAI,iBAAiB,IAAI,IAAI,IAAI,gBAAgB,IAAI,IAAI;YAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACjF,CAAC;IAED,wEAAwE;IACxE,MAAM,QAAQ,GAAG;QACf,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,SAAS;QAC1D,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS;QACvD,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC;KACjC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YAAE,SAAS;QAC7B,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACtC,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxD,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACnD,IAAI,qCAAqC,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC7E,IAAI,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;AACpB,CAAC;AAED,SAAS,aAAa,CAAC,KAAoB;IACzC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,GAAG,GAAG,CAAC,KAAa,EAAE,KAAa,EAAE,EAAE,CAC3C,KAAK,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC;IAE9C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC1C,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,IAAI,KAAK,CAAC,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACtF,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC,CAAC,CAAC;IAC1F,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;IACD,KAAK,CAAC,IAAI,CACR,GAAG,CACD,iBAAiB,EACjB,KAAK,CAAC,kBAAkB;QACtB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC;QACpC,CAAC,CAAC,KAAK,CAAC,SAAS,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;YACvE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,oCAAoC,CAAC;YACpD,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAC/B,CACF,CAAC;IACF,KAAK,CAAC,IAAI,CACR,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CACrF,CAAC;IACF,KAAK,CAAC,IAAI,CACR,GAAG,CACD,aAAa,EACb,KAAK,CAAC,eAAe;QACnB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC;QAChD,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAC5B,CACF,CAAC;IACF,KAAK,CAAC,IAAI,CACR,GAAG,CACD,YAAY,EACZ,KAAK,CAAC,YAAY;QAChB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC;QACjC,CAAC,CAAC,KAAK,CAAC,SAAS;YACf,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,+BAA+B,CAAC;YAC/C,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,CACtC,CACF,CAAC;IACF,KAAK,CAAC,IAAI,CACR,GAAG,CACD,kBAAkB,EAClB,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CACnF,CACF,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC;AAiBD,KAAK,UAAU,UAAU,CAAC,KAAoB,EAAE,OAAkB;IAChE,IAAI,IAAI,GAAG,OAAO,CAAC;IACnB,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CAAC,4EAA4E,CAAC,CACxF,CAAC;IACF,SAAS,CAAC;QACR,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAEhD,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,UAAU,EAAE,GAAG,IAAI,WAAW,CAAC;QAElD,MAAM,OAAO,GAAuD,EAAE,CAAC;QACvE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC;YAChE,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC1D,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,GAAG,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE;oBAC3E,KAAK,EAAE,IAAI,CAAC,GAAG;iBAChB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QACjC,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YACzD,KAAK,EAAE,WAAW;SACnB,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;QAEpE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAS;YAClC,OAAO,EAAE,YAAY;YACrB,OAAO,EAAE,UAAU;YACnB,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC;YACtC,OAAO;SACR,CAAC,CAAC;QAEH,IAAI,MAAM,KAAK,WAAW;YAAE,OAAO,IAAI,CAAC;QACxC,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC,CAAC;YAChE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAoB,EAAE,IAAe;IAC7D,OAAO;QACL;YACE,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE;gBACL,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,IAAI,SAAS,EAAE;gBACzF;oBACE,GAAG,EAAE,QAAQ;oBACb,KAAK,EAAE,QAAQ;oBACf,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM;oBAClB,OAAO,EAAE,IAAI,CAAC,MAAM;wBAClB,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,MAAM,MAAM;wBACjE,CAAC,CAAC,SAAS;iBACd;aACF;SACF;QACD;YACE,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE;gBACL;oBACE,GAAG,EAAE,UAAU;oBACf,KAAK,EAAE,UAAU;oBACjB,GAAG,EAAE,IAAI;oBACT,OAAO,EACL,IAAI,CAAC,QAAQ,KAAK,aAAa;wBAC7B,CAAC,CAAC,6BAA6B;wBAC/B,CAAC,CAAC,IAAI,CAAC,QAAQ,KAAK,aAAa;4BAC/B,CAAC,CAAC,yCAAyC;4BAC3C,CAAC,CAAC,iBAAiB;iBAC1B;gBACD,4DAA4D;gBAC5D,8DAA8D;gBAC9D,6DAA6D;gBAC7D,gDAAgD;gBAChD,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,aAAa;oBACjC,CAAC,CAAC;wBACE;4BACE,GAAG,EAAE,WAAW;4BAChB,KAAK,EAAE,gBAAgB;4BACvB,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS;4BACrB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;yBACjE;qBACF;oBACH,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,aAAa;oBACjC,CAAC,CAAC;wBACE;4BACE,GAAG,EAAE,WAAW;4BAChB,KAAK,EAAE,gBAAgB;4BACvB,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS;4BACrB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;yBACjE;qBACF;oBACH,CAAC,CAAC,EAAE,CAAC;aACR;SACF;QACD;YACE,KAAK,EAAE,OAAO;YACd,KAAK,EAAE;gBACL;oBACE,GAAG,EAAE,UAAU;oBACf,KAAK,EAAE,UAAU;oBACjB,GAAG,EAAE,IAAI;oBACT,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;iBACjF;aACF;SACF;QACD;YACE,KAAK,EAAE,WAAW;YAClB,KAAK,EAAE;gBACL;oBACE,GAAG,EAAE,kBAAkB;oBACvB,KAAK,EAAE,oBAAoB;oBAC3B,GAAG,EAAE,IAAI;oBACT,OAAO,EAAE,IAAI,CAAC,gBAAgB;wBAC5B,CAAC,CAAC,KAAK,CAAC,kBAAkB;4BACxB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,+BAA+B,CAAC;4BAC5C,CAAC,CAAC,kDAAkD;wBACtD,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;iBACpB;gBACD;oBACE,GAAG,EAAE,aAAa;oBAClB,KAAK,EAAE,eAAe;oBACtB,GAAG,EAAE,IAAI;oBACT,OAAO,EAAE,IAAI,CAAC,WAAW;wBACvB,CAAC,CAAC,KAAK,CAAC,YAAY;4BAClB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,yBAAyB,CAAC;4BACtC,CAAC,CAAC,+BAA+B;wBACnC,CAAC,CAAC,KAAK,CAAC,YAAY;4BAClB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC;4BAC/B,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;iBACtB;aACF;SACF;QACD;YACE,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE;gBACL;oBACE,GAAG,EAAE,aAAa;oBAClB,KAAK,EAAE,eAAe;oBACtB,GAAG,EAAE,IAAI;oBACT,OAAO,EAAE,IAAI,CAAC,WAAW;wBACvB,CAAC,CAAC,KAAK,CAAC,eAAe;4BACrB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,eAAe,CAAC,IAAI,sBAAsB,CAAC;4BAC9E,CAAC,CAAC,uCAAuC,IAAI,CAAC,OAAO,GAAG;wBAC1D,CAAC,CAAC,KAAK,CAAC,eAAe;4BACrB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,KAAK,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;4BAC5D,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;iBACtB;aACF;SACF;QACD;YACE,KAAK,EAAE,cAAc;YACrB,KAAK,EAAE;gBACL;oBACE,GAAG,EAAE,UAAU;oBACf,KAAK,EAAE,mBAAmB;oBAC1B,GAAG,EAAE,IAAI;oBACT,OAAO,EACL,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC;iBACvF;gBACD;oBACE,GAAG,EAAE,SAAS;oBACd,KAAK,EAAE,qBAAqB;oBAC5B,GAAG,EAAE,IAAI;oBACT,OAAO,EAAE,IAAI,CAAC,OAAO;wBACnB,CAAC,CAAC,KAAK,CAAC,eAAe;4BACrB,CAAC,CAAC,QAAQ,KAAK,CAAC,eAAe,CAAC,IAAI,GAAG;4BACvC,CAAC,CAAC,sCAAsC;wBAC1C,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;iBACpB;aACF;SACF;KACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,KAAoB,EACpB,IAAe,EACf,IAAY;IAEZ,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,MAAM,IAAI,GAAG,CACX,MAAM,KAAK,CAAC;YACV,OAAO,EAAE,8DAA8D;YACvE,OAAO,EAAE,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,WAAW;YACvC,QAAQ,EAAE,mBAAmB;SAC9B,CAAC,CACH,CAAC,IAAI,EAAE,CAAC;QACT,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,CACb,MAAM,KAAK,CAAC;YACV,OAAO,EAAE,kCAAkC;YAC3C,OAAO,EAAE,IAAI,CAAC,MAAM;YACpB,QAAQ,EAAE,cAAc;SACzB,CAAC,CACH,CAAC,IAAI,EAAE,CAAC;QACT,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,CAAC;IAC7B,CAAC;IACD,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAe;YACtC,OAAO,EAAE,+BAA+B;YACxC,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,6BAA6B,EAAE,KAAK,EAAE,aAAa,EAAE;gBAC7D,EAAE,IAAI,EAAE,8CAA8C,EAAE,KAAK,EAAE,aAAa,EAAE;gBAC9E,EAAE,IAAI,EAAE,wBAAwB,EAAE,KAAK,EAAE,MAAM,EAAE;aAClD;YACD,OAAO,EAAE,IAAI,CAAC,QAAQ;SACvB,CAAC,CAAC;QACH,4DAA4D;QAC5D,8DAA8D;QAC9D,yCAAyC;QACzC,OAAO;YACL,GAAG,IAAI;YACP,QAAQ,EAAE,IAAI;YACd,SAAS,EACP,IAAI,KAAK,aAAa;gBACpB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC;YAC7D,SAAS,EACP,IAAI,KAAK,aAAa;gBACpB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC;SAC9D,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,CACb,MAAM,KAAK,CAAC;YACV,OAAO,EAAE,kDAAkD;YAC3D,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG;YACjF,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;gBACd,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC7C,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,sBAAsB,GAAG,EAAE,CAAC;YAC9D,CAAC;SACF,CAAC,CACH,CAAC,IAAI,EAAE,CAAC;QACT,OAAO,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC;IAChE,CAAC;IACD,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QACzB,kEAAkE;QAClE,iEAAiE;QACjE,iCAAiC;QACjC,MAAM,MAAM,GAAG,CACb,MAAM,KAAK,CAAC;YACV,OAAO,EAAE,kDAAkD;YAC3D,OAAO,EAAE,IAAI,CAAC,SAAS;gBACrB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG;gBACnD,CAAC,CAAC,iBAAiB;YACrB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;gBACd,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC7C,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,sBAAsB,GAAG,EAAE,CAAC;YAC9D,CAAC;SACF,CAAC,CACH,CAAC,IAAI,EAAE,CAAC;QACT,OAAO,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC;IAChE,CAAC;IACD,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAU;YACvC,OAAO,EAAE,kCAAkC;YAC3C,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;gBACvF,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;gBAC9E,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;gBACvF,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gBAClE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBACjF,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;aAC/E;SACF,CAAC,CAAC;QACH,OAAO,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC/B,CAAC;IACD,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAmB;YAChD,OAAO,EAAE,oCAAoC;YAC7C,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,4BAA4B;oBAClC,KAAK,EAAE,WAAW;oBAClB,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC;iBACpF;gBACD;oBACE,IAAI,EAAE,uBAAuB;oBAC7B,KAAK,EAAE,WAAW;oBAClB,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC;iBACpF;gBACD;oBACE,IAAI,EAAE,gBAAgB;oBACtB,KAAK,EAAE,QAAQ;oBACf,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;iBAC1C;aACF;SACF,CAAC,CAAC;QACH,OAAO,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC/B,CAAC;IACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC;YAC5B,OAAO,EAAE,KAAK,CAAC,eAAe;gBAC5B,CAAC,CAAC,wCAAwC,KAAK,CAAC,eAAe,CAAC,IAAI,IAAI;gBACxE,CAAC,CAAC,uEAAuE;YAC3E,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;QACH,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC;IAC9B,CAAC;IACD,IAAI,IAAI,KAAK,kBAAkB,EAAE,CAAC;QAChC,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC;YACrC,OAAO,EAAE,KAAK,CAAC,kBAAkB;gBAC/B,CAAC,CAAC,2DAA2D;gBAC7D,CAAC,CAAC,wEAAwE;YAC5E,OAAO,EAAE,IAAI,CAAC,gBAAgB;SAC/B,CAAC,CAAC;QACH,OAAO,EAAE,GAAG,IAAI,EAAE,gBAAgB,EAAE,CAAC;IACvC,CAAC;IACD,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CACP,6BAA6B,KAAK,CAAC,YAAY,8BAA8B,CAC9E,CACF,CAAC;YACF,OAAO,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;QACzC,CAAC;QACD,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC;YAChC,OAAO,EAAE,KAAK,CAAC,SAAS;gBACtB,CAAC,CAAC,mDAAmD;gBACrD,CAAC,CAAC,iDAAiD;YACrD,OAAO,EAAE,IAAI,CAAC,WAAW;SAC1B,CAAC,CAAC;QACH,OAAO,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,CAAC;IAClC,CAAC;IACD,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;QAC3B,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC;YAChC,OAAO,EAAE,KAAK,CAAC,eAAe;gBAC5B,CAAC,CAAC,QAAQ,KAAK,CAAC,eAAe,CAAC,IAAI,uDAAuD;gBAC3F,CAAC,CAAC,wCAAwC;YAC5C,OAAO,EAAE,IAAI,CAAC,WAAW;SAC1B,CAAC,CAAC;QACH,IAAI,CAAC,WAAW;YAAE,OAAO,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,CAAC;QAClD,MAAM,OAAO,GAAG,CACd,MAAM,KAAK,CAAC;YACV,OAAO,EAAE,uCAAuC;YAChD,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,iCAAiC;SAC7E,CAAC,CACH,CAAC,IAAI,EAAE,CAAC;QACT,OAAO,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;IAC3C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,KAAK,UAAU,WAAW,CAAC,KAAoB,EAAE,IAAe;IAC9D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC,CAAC;IAE5F,gEAAgE;IAChE,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,MAAM,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC,CAAC;IACjF,CAAC;IACD,MAAM,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAEvC,iEAAiE;IACjE,2DAA2D;IAC3D,kEAAkE;IAClE,kBAAkB,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,KAAK,CAAC,aAAa,iBAAiB,OAAO,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CACjF,CAAC;IAEF,qEAAqE;IACrE,qCAAqC;IACrC,IAAI,SAAS,GAAuB,KAAK,CAAC,YAAY,CAAC;IACvD,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QAC5C,SAAS,GAAG,MAAM,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;SAAM,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gCAAgC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED,kEAAkE;IAClE,gEAAgE;IAChE,kEAAkE;IAClE,gEAAgE;IAChE,yDAAyD;IACzD,IAAI,aACS,CAAC;IACd,IAAI,IAAI,CAAC,WAAW,IAAI,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;YAC3E,aAAa,GAAG,MAAM,sBAAsB,CAAC;gBAC3C,WAAW,EAAE,IAAI,CAAC,IAAI;gBACtB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,aAAa,EAAE,SAAS;gBACxB,+DAA+D;gBAC/D,4DAA4D;gBAC5D,yDAAyD;gBACzD,6DAA6D;gBAC7D,QAAQ;gBACR,SAAS,EAAE,IAAI,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU;gBAClE,YAAY,EAAE,IAAI,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO;gBACnE,mEAAmE;gBACnE,gEAAgE;gBAChE,kEAAkE;gBAClE,gBAAgB;gBAChB,SAAS,EAAE,IAAI,CAAC,WAAW;aAC5B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CAAC,8BAA+B,GAAa,CAAC,OAAO,EAAE,CAAC,CACrE,CAAC;YACF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CACP,kEAAkE;gBAChE,OAAO,SAAS,IAAI;gBACpB,iBAAiB,IAAI,CAAC,MAAM,aAAa,IAAI,CAAC,OAAO,cAAc;gBACnE,0BAA0B,IAAI,CAAC,IAAI,EAAE,CACxC,CACF,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,EAAE,CAAC;QAC1C,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CACV,2FAA2F;YACzF,iFAAiF,CACpF,CACF,CAAC;IACJ,CAAC;IAED,oEAAoE;IACpE,mEAAmE;IACnE,wEAAwE;IACxE,8DAA8D;IAC9D,qBAAqB;IACrB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,MAAM,aAAa,GACjB,IAAI,CAAC,QAAQ,KAAK,MAAM;YACtB,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,IAAI,CAAC,QAAQ,KAAK,aAAa;gBAC/B,CAAC,CAAC,aAAa;gBACf,CAAC,CAAC,aAAa,CAAC;QACtB,MAAM,YAAY,CAAC;YACjB,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE;gBACR,IAAI,EAAE,aAAa;gBACnB,YAAY,EAAE,IAAI,CAAC,SAAS;gBAC5B,YAAY,EAAE,IAAI,CAAC,SAAS;aAC7B;SACF,CAAC,CAAC;IACL,CAAC;IAED,iEAAiE;IACjE,iEAAiE;IACjE,gEAAgE;IAChE,iEAAiE;IACjE,oCAAoC;IACpC,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,IAAI,aAAa,KAAK,SAAS,CAAC;IACxE,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,aAAa,EAAE,CAAC;YACvC,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CACP,8EAA8E,CAC/E,CACF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC;gBACH,MAAM,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC,CAAC;YAClE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CAAC,6CAA8C,GAAa,CAAC,OAAO,EAAE,CAAC,CACpF,CAAC;gBACF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CAAC,oDAAoD,IAAI,CAAC,IAAI,IAAI,CAAC,CAC7E,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC,CAAC;IAC5F,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACvD,IAAI,IAAI,CAAC,SAAS;QAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1F,IAAI,IAAI,CAAC,SAAS;QAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1F,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;IACpF,IAAI,SAAS;QAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACpE,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,KAAK,aAAa,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9G,IAAI,aAAa,CAAC,UAAU,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,MAAM,MAAM,aAAa,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;QAChH,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;YACjD,OAAO,CAAC,GAAG,CACT,gBAAgB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,CAC7C,SAAS,IAAI,CAAC,MAAM,MAAM,aAAa,CAAC,QAAQ,WAAW,CAC5D,EAAE,CACJ,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC;AAED;;;yDAGyD;AACzD,SAAS,cAAc,CAAC,IAAe,EAAE,UAAkB;IACzD,IAAI,IAAI,CAAC,QAAQ,KAAK,aAAa;QAAE,OAAO,IAAI,CAAC,SAAS,IAAI,UAAU,CAAC;IACzE,OAAO,IAAI,CAAC,SAAS,IAAI,UAAU,CAAC;AACtC,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,KAAoB,EAAE,IAAe;IACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,iBAAiB,CAAC,CAAC;IACjF,MAAM,GAAG,GAAG,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;IAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,kBAAkB;QACpC,CAAC,CAAC,+CAA+C;QACjD,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC;YACpB,CAAC,CAAC,4CAA4C;YAC9C,CAAC,CAAC,wDAAwD,CAAC;IAC/D,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;IACnC,IAAI,CAAC;QACH,kEAAkE;QAClE,6DAA6D;QAC7D,sEAAsE;QACtE,oEAAoE;QACpE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC7D,UAAU,CAAC,kBAAkB,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE;YACvD,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,CACb,UAAU,CAAC,QAAQ,CAAC;YAClB,CAAC,CAAC,wDAAwD;YAC1D,CAAC,CAAC,qBAAqB,CAC1B,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAC7C,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,KAAoB,EACpB,IAAe;IAEf,kEAAkE;IAClE,gEAAgE;IAChE,mDAAmD;IACnD,IAAI,CAAC;QACH,MAAM,YAAY,EAAE,CAAC;IACvB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CACV,8BAA+B,GAAa,CAAC,OAAO,8BAA8B,CACnF,CACF,CAAC;QACF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC,CAAC;IAE5F,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QACrB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE;YAC1B,GAAG,EAAE,KAAK,CAAC,UAAU;YACrB,OAAO,EAAE,0BAA0B;SACpC,CAAC,CAAC;IACL,CAAC;IACD,0DAA0D;IAC1D,mEAAmE;IACnE,mEAAmE;IACnE,0EAA0E;IAC1E,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE;QACtE,GAAG,EAAE,KAAK,CAAC,UAAU;KACtB,CAAC,CAAC;IACH,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,iCAAiC,CAAC,EAAE;YACrE,GAAG,EAAE,KAAK,CAAC,UAAU;YACrB,OAAO,EAAE,oBAAoB;SAC9B,CAAC,CAAC;IACL,CAAC;IAED,oEAAoE;IACpE,kEAAkE;IAClE,kCAAkC;IAClC,MAAM,MAAM,GAAG,MAAM,IAAI,CACvB,IAAI,EACJ,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,CAAC,EAClE,EAAE,GAAG,EAAE,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE,yBAAyB,IAAI,CAAC,IAAI,KAAK,EAAE,CAC5E,CAAC;IACF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,+DAA+D,CAAC,CAAC,CAAC;QAC3F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,IAAI,CAAC,IAAI,8BAA8B,CAAC,CAAC,CAAC;QACtF,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE;QAC/E,GAAG,EAAE,KAAK,CAAC,UAAU;KACtB,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,oBAAoB,GAAG,EAAE,CAAC,CAAC,CAAC;IACpD,OAAO,GAAG,IAAI,SAAS,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,KAAoB,EAAE,IAAe;IACtE,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC,CAAC;IAC9E,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CACV,uBAAuB,UAAU,CAAC,WAAW,CAAC,mCAAmC,CAClF,CACF,CAAC;QACF,OAAO;IACT,CAAC;IACD,MAAM,IAAI,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAChD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;IAC3E,IAAI,CAAC,CAAC,EAAE,CAAC;QACP,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CACV,OAAO,UAAU,CAAC,WAAW,CAAC,mEAAmE,CAClG,CACF,CAAC;QACF,OAAO;IACT,CAAC;IACD,MAAM,SAAS,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,KAAK,CAAC,2EAA2E,CAAC,CACzF,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,UAAkB,EAAE,IAAe;IAC7D,gEAAgE;IAChE,4DAA4D;IAC5D,yDAAyD;IACzD,MAAM,QAAQ,GAAoB;QAChC,OAAO,EAAE,CAAC;QACV,UAAU,EAAE,aAAa,EAAE;QAC3B,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACtC,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,UAAU,EAAE,EAAE;QACd,UAAU,EAAE,CAAC,GAAe,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE;QACtF,YAAY,EAAE,UAAU;QACxB,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;KACtC,CAAC;IACF,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,UAAU,CAAC,CAAS,EAAE,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE;IACjD,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC9B,OAAO,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;AAClE,CAAC"}
1
+ {"version":3,"file":"adopt.js","sourceRoot":"","sources":["../src/adopt.ts"],"names":[],"mappings":"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"}
@@ -25,12 +25,20 @@ export interface WireUpResult {
25
25
  projectUuid: string;
26
26
  /** Coolify server uuid the app runs on. */
27
27
  serverUuid: string;
28
- /** Server IP used by the DNS step + reported back. */
29
- serverIp: string;
30
- /** Cloudflare DNS record id for the apex/sub A record, if we
31
- * managed it. */
28
+ /** Public IPv4 (preferred from Coolify, falling back to DNS). */
29
+ serverIpv4?: string;
30
+ /** Public IPv6 only set when Coolify exposes one and we wrote
31
+ * an AAAA record. */
32
+ serverIpv6?: string;
33
+ /** Whether the IPv4 reported by Coolify and the one resolved via
34
+ * DNS for the dashboard hostname disagree. Useful to flag
35
+ * misconfigured proxy / floating-IP setups. */
36
+ ipMismatchWarning?: string;
37
+ /** Cloudflare DNS record id for the A record, if managed. */
32
38
  dnsRecordId?: string;
33
- /** True when DNS provider is Cloudflare and we wrote the A record. */
39
+ /** Cloudflare DNS record id for the AAAA record, if managed. */
40
+ dnsRecordIdV6?: string;
41
+ /** True when at least one DNS record (A or AAAA) was upserted. */
34
42
  dnsManaged: boolean;
35
43
  }
36
44
  /** Top-level wire-up. Throws on the first hard failure (no project,
@@ -1 +1 @@
1
- {"version":3,"file":"coolify-app.d.ts","sourceRoot":"","sources":["../../src/deploy/coolify-app.ts"],"names":[],"mappings":"AAmCA,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,aAAa,EAAE,MAAM,CAAC;IACtB,sBAAsB;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;sBAGkB;IAClB,SAAS,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,YAAY,GAAG,eAAe,CAAC;IACnE;0CACsC;IACtC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wEAAwE;IACxE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,0DAA0D;IAC1D,WAAW,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,QAAQ,EAAE,MAAM,CAAC;IACjB;sBACkB;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;yEAEyE;AACzE,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CA8JtF"}
1
+ {"version":3,"file":"coolify-app.d.ts","sourceRoot":"","sources":["../../src/deploy/coolify-app.ts"],"names":[],"mappings":"AAoCA,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,aAAa,EAAE,MAAM,CAAC;IACtB,sBAAsB;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;sBAGkB;IAClB,SAAS,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,YAAY,GAAG,eAAe,CAAC;IACnE;0CACsC;IACtC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wEAAwE;IACxE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,0DAA0D;IAC1D,WAAW,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;0BACsB;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;oDAEgD;IAChD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gEAAgE;IAChE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kEAAkE;IAClE,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;yEAEyE;AACzE,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAgMtF"}