@eudiplo/cli 8.0.2 → 8.1.0-main.21c667e

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.
Files changed (104) hide show
  1. package/README.md +7 -3
  2. package/dist/commands/completion/action.js +1 -1
  3. package/dist/commands/completion/action.js.map +1 -1
  4. package/dist/commands/completion/index.d.ts.map +1 -1
  5. package/dist/commands/completion/index.js +6 -1
  6. package/dist/commands/completion/index.js.map +1 -1
  7. package/dist/commands/config/action.d.ts.map +1 -1
  8. package/dist/commands/config/action.js.map +1 -1
  9. package/dist/commands/config/portability/migrations.spec.js +5 -3
  10. package/dist/commands/config/portability/migrations.spec.js.map +1 -1
  11. package/dist/commands/config/validate/schemas.js.map +1 -1
  12. package/dist/commands/config/validate/validator.js +7 -4
  13. package/dist/commands/config/validate/validator.js.map +1 -1
  14. package/dist/commands/deployment/action.d.ts +1 -1
  15. package/dist/commands/deployment/action.d.ts.map +1 -1
  16. package/dist/commands/deployment/action.js.map +1 -1
  17. package/dist/commands/deployment/index.d.ts.map +1 -1
  18. package/dist/commands/deployment/index.js +7 -4
  19. package/dist/commands/deployment/index.js.map +1 -1
  20. package/dist/commands/doctor/action.d.ts +2 -1
  21. package/dist/commands/doctor/action.d.ts.map +1 -1
  22. package/dist/commands/doctor/action.js +25 -7
  23. package/dist/commands/doctor/action.js.map +1 -1
  24. package/dist/commands/doctor/index.d.ts.map +1 -1
  25. package/dist/commands/doctor/index.js +2 -0
  26. package/dist/commands/doctor/index.js.map +1 -1
  27. package/dist/commands/instance/action.d.ts.map +1 -1
  28. package/dist/commands/instance/action.js.map +1 -1
  29. package/dist/commands/open/action.d.ts +9 -0
  30. package/dist/commands/open/action.d.ts.map +1 -0
  31. package/dist/commands/open/action.js +41 -0
  32. package/dist/commands/open/action.js.map +1 -0
  33. package/dist/commands/open/index.d.ts +5 -0
  34. package/dist/commands/open/index.d.ts.map +1 -0
  35. package/dist/commands/open/index.js +15 -0
  36. package/dist/commands/open/index.js.map +1 -0
  37. package/dist/commands/upgrade/action.d.ts +3 -0
  38. package/dist/commands/upgrade/action.d.ts.map +1 -0
  39. package/dist/commands/upgrade/action.js +95 -0
  40. package/dist/commands/upgrade/action.js.map +1 -0
  41. package/dist/commands/upgrade/index.d.ts +5 -0
  42. package/dist/commands/upgrade/index.d.ts.map +1 -0
  43. package/dist/commands/upgrade/index.js +15 -0
  44. package/dist/commands/upgrade/index.js.map +1 -0
  45. package/dist/index.js +3194 -595
  46. package/dist/runtime.d.ts.map +1 -1
  47. package/dist/runtime.js +5 -1
  48. package/dist/runtime.js.map +1 -1
  49. package/dist/services/api-auth.d.ts +31 -0
  50. package/dist/services/api-auth.d.ts.map +1 -0
  51. package/dist/services/api-auth.js +78 -0
  52. package/dist/services/api-auth.js.map +1 -0
  53. package/dist/services/backend-checks.d.ts +24 -0
  54. package/dist/services/backend-checks.d.ts.map +1 -0
  55. package/dist/services/backend-checks.js +105 -0
  56. package/dist/services/backend-checks.js.map +1 -0
  57. package/dist/services/browser.d.ts +30 -0
  58. package/dist/services/browser.d.ts.map +1 -0
  59. package/dist/services/browser.js +102 -0
  60. package/dist/services/browser.js.map +1 -0
  61. package/dist/services/cli-config.d.ts.map +1 -1
  62. package/dist/services/cli-config.js +5 -2
  63. package/dist/services/cli-config.js.map +1 -1
  64. package/dist/services/compose-args.d.ts +28 -0
  65. package/dist/services/compose-args.d.ts.map +1 -0
  66. package/dist/services/compose-args.js +117 -0
  67. package/dist/services/compose-args.js.map +1 -0
  68. package/dist/services/compose-project.d.ts.map +1 -1
  69. package/dist/services/compose-project.js +18 -13
  70. package/dist/services/compose-project.js.map +1 -1
  71. package/dist/services/compose-upgrade.d.ts +40 -0
  72. package/dist/services/compose-upgrade.d.ts.map +1 -0
  73. package/dist/services/compose-upgrade.js +102 -0
  74. package/dist/services/compose-upgrade.js.map +1 -0
  75. package/dist/services/container-state.d.ts +14 -0
  76. package/dist/services/container-state.d.ts.map +1 -0
  77. package/dist/services/container-state.js +70 -0
  78. package/dist/services/container-state.js.map +1 -0
  79. package/dist/services/deployment-drivers.d.ts +8 -1
  80. package/dist/services/deployment-drivers.d.ts.map +1 -1
  81. package/dist/services/deployment-drivers.js +162 -19
  82. package/dist/services/deployment-drivers.js.map +1 -1
  83. package/dist/services/diagnostics.d.ts +19 -2
  84. package/dist/services/diagnostics.d.ts.map +1 -1
  85. package/dist/services/diagnostics.js +219 -50
  86. package/dist/services/diagnostics.js.map +1 -1
  87. package/dist/services/kubectl.d.ts.map +1 -1
  88. package/dist/services/kubectl.js +1 -6
  89. package/dist/services/kubectl.js.map +1 -1
  90. package/dist/services/tls-expiry.d.ts +16 -0
  91. package/dist/services/tls-expiry.d.ts.map +1 -0
  92. package/dist/services/tls-expiry.js +80 -0
  93. package/dist/services/tls-expiry.js.map +1 -0
  94. package/dist/types.d.ts +5 -1
  95. package/dist/types.d.ts.map +1 -1
  96. package/package.json +6 -4
  97. package/templates/demo-config/trust-lists/trustlist-580831bc-ef11-43f4-a3be-a2b6bf1b29a3-config.json +1 -97
  98. package/templates/docker-compose.yml +35 -28
  99. package/templates/schemas/IssuanceConfig.schema.json +13 -0
  100. package/templates/schemas/IssuanceConfigFile.schema.json +663 -1
  101. package/templates/schemas/KeyChainConfigFile.schema.json +7 -3
  102. package/templates/schemas/KeyChainImportDto.schema.json +7 -3
  103. package/templates/schemas/PresentationConfigCreateDto.schema.json +3 -6
  104. package/templates/schemas/PresentationConfigFile.schema.json +723 -1
@@ -2,6 +2,8 @@ import { access, mkdir, rm, stat, unlink, writeFile } from "node:fs/promises";
2
2
  import { delimiter, join, resolve } from "node:path";
3
3
  import { spawn } from "node:child_process";
4
4
  import { copyBundledDemoConfig, createComposeFile, createComposeEnv, createGlobalKmsConfig, createNoClientComposeOverride, configDirectoryName, demoComposeFileName, demoConfigDirectory, demoEnvFileName, defaultComposeFileName, defaultComposeOverrideFileName, defaultEnvFileName, hasFiles, } from "./compose-project.js";
5
+ import { assertKnownService, assertServiceName, buildComposeBaseArgs, buildComposeListServicesArgs, buildComposeLogsArgs, buildComposePsArgs, buildComposePullArgs, buildComposeRestartArgs, parseServiceList, } from "./compose-args.js";
6
+ import { parseContainerStates, summarizeContainerStates, } from "./container-state.js";
5
7
  import { buildCanIArgs, buildLogsArgs, buildRestartArgs, buildRolloutStatusArgs, resolveWorkload, buildGetEndpointSlicesArgs, buildGetPodsArgs, buildGetWorkloadArgs, resolveScope, resolveWorkloads, } from "./kubectl.js";
6
8
  export const drivers = {
7
9
  compose: {
@@ -17,6 +19,10 @@ export const drivers = {
17
19
  ? `${runtime.name} found at ${runtime.command}`
18
20
  : "Docker or Podman was not found in a supported install location.",
19
21
  });
22
+ if (runtime) {
23
+ checks.push(await composeProviderCheck(runtime, context));
24
+ checks.push(await composeServicesCheck(runtime, instance, context));
25
+ }
20
26
  for (const composeFile of getComposeFiles(instance)) {
21
27
  let found = true;
22
28
  try {
@@ -41,8 +47,33 @@ export const drivers = {
41
47
  down(options) {
42
48
  return runCompose(["down", ...options.args], options);
43
49
  },
44
- logs(options) {
45
- return runCompose(["logs", "-f", ...options.args], options);
50
+ async logs(options) {
51
+ const service = await resolveComposeService(options);
52
+ const { follow, tail } = readLogOptions(options.flags);
53
+ const since = typeof options.flags.since === "string"
54
+ ? options.flags.since
55
+ : undefined;
56
+ return runCompose([
57
+ ...buildComposeLogsArgs(service, { follow, tail, since }),
58
+ ...options.args,
59
+ ], options);
60
+ },
61
+ async ps(options) {
62
+ return runCompose([...buildComposePsArgs(), ...options.args], options);
63
+ },
64
+ async pull(options) {
65
+ const service = await resolveComposeService(options);
66
+ return runCompose([...buildComposePullArgs(service), ...options.args], options);
67
+ },
68
+ async restart(options) {
69
+ assertWritable(options);
70
+ const service = await resolveComposeService(options);
71
+ const restartArgs = buildComposeRestartArgs(service);
72
+ const runtime = await resolveComposeRuntime(options.context.env);
73
+ // Name the target before changing anything, as the Kubernetes
74
+ // driver does, including which runtime will carry it out.
75
+ options.context.stdout.write(`Restarting ${service ?? "all services"} of ${options.instanceName}${runtime ? ` with ${runtime.name} compose` : ""}\n`);
76
+ return runCompose([...restartArgs, ...options.args], options);
46
77
  },
47
78
  },
48
79
  external: {
@@ -74,7 +105,7 @@ export const drivers = {
74
105
  // command is restarting the right workload in the wrong cluster.
75
106
  options.context.stdout.write(`Restarting ${workload} in namespace ${scope.namespace} on context ${scope.context}\n`);
76
107
  const restarted = await runKubectl([...buildRestartArgs(scope, workload), ...options.args], options);
77
- if (restarted !== 0 || options.flags.wait === false) {
108
+ if (restarted !== 0 || options.flags["no-wait"] === true) {
78
109
  return restarted;
79
110
  }
80
111
  return runKubectl(buildRolloutStatusArgs(scope, workload), options);
@@ -86,7 +117,7 @@ export const drivers = {
86
117
  * cluster they do not operate, so a mutation is refused outright rather than
87
118
  * attempted and left to fail on permissions.
88
119
  */
89
- function assertWritable({ instance, instanceName }) {
120
+ export function assertWritable({ instance, instanceName, }) {
90
121
  if (instance.readOnly === true) {
91
122
  throw new Error(`Instance ${instanceName} is registered read-only. Re-register it without --read-only to allow changes.`);
92
123
  }
@@ -491,22 +522,12 @@ export function unsupportedCommand(command, target) {
491
522
  }
492
523
  return `${command} is not available for ${target} deployments`;
493
524
  }
494
- async function runCompose(args, { instance, context }) {
525
+ export async function runCompose(args, { instance, context }) {
495
526
  const projectDirectory = instance.projectDirectory ?? context.cwd;
496
- const composeArgs = ["compose"];
497
- if (instance.envFile) {
498
- composeArgs.push("--env-file", resolve(projectDirectory, instance.envFile));
499
- }
500
- for (const composeFile of getComposeFiles(instance)) {
501
- composeArgs.push("-f", resolve(projectDirectory, composeFile));
502
- }
503
- for (const profile of instance.composeProfiles ?? []) {
504
- composeArgs.push("--profile", profile);
505
- }
506
- if (instance.projectName) {
507
- composeArgs.push("--project-name", instance.projectName);
508
- }
509
- composeArgs.push(...args);
527
+ const composeArgs = [
528
+ ...buildComposeBaseArgs(instance, projectDirectory, getComposeFiles(instance)),
529
+ ...args,
530
+ ];
510
531
  const composeRuntime = await resolveComposeRuntime(context.env);
511
532
  if (!composeRuntime) {
512
533
  context.stderr.write("Docker or Podman was not found in a supported install location.\n");
@@ -525,6 +546,128 @@ async function runCompose(args, { instance, context }) {
525
546
  child.on("close", (code) => resolveProcess(code ?? 1));
526
547
  });
527
548
  }
549
+ /**
550
+ * Runs Compose with captured output. Used for read-only queries whose
551
+ * result the CLI needs, such as the service list.
552
+ */
553
+ async function captureCompose(args, { instance, context }) {
554
+ const projectDirectory = instance.projectDirectory ?? context.cwd;
555
+ const composeRuntime = await resolveComposeRuntime(context.env);
556
+ if (!composeRuntime) {
557
+ throw new Error("Docker or Podman was not found in a supported install location.");
558
+ }
559
+ const composeArgs = [
560
+ ...buildComposeBaseArgs(instance, projectDirectory, getComposeFiles(instance)),
561
+ ...args,
562
+ ];
563
+ return new Promise((resolveProcess) => {
564
+ const child = spawn(composeRuntime.command, composeArgs, {
565
+ cwd: projectDirectory,
566
+ env: context.env,
567
+ stdio: ["ignore", "pipe", "pipe"],
568
+ });
569
+ let stdout = "";
570
+ let stderr = "";
571
+ child.stdout?.on("data", (chunk) => {
572
+ stdout += String(chunk);
573
+ });
574
+ child.stderr?.on("data", (chunk) => {
575
+ stderr += String(chunk);
576
+ });
577
+ child.on("error", (error) => resolveProcess({ code: 1, stdout, stderr: error.message }));
578
+ child.on("close", (code) => resolveProcess({ code: code ?? 1, stdout, stderr }));
579
+ });
580
+ }
581
+ /**
582
+ * Validates `--service` against the services Compose actually defines for
583
+ * this instance, so a typo fails with the list of real names instead of a
584
+ * runtime error.
585
+ */
586
+ async function resolveComposeService(options) {
587
+ const service = readServiceFlag(options.flags);
588
+ if (service === undefined) {
589
+ return undefined;
590
+ }
591
+ assertServiceName(service);
592
+ const listed = await captureCompose(buildComposeListServicesArgs(), options);
593
+ if (listed.code !== 0) {
594
+ throw new Error(`Could not list Compose services: ${listed.stderr.trim() || `exit code ${listed.code}`}`);
595
+ }
596
+ assertKnownService(service, parseServiceList(listed.stdout));
597
+ return service;
598
+ }
599
+ /**
600
+ * `podman compose` delegates to an external provider, and a broken or
601
+ * missing provider only shows up when a command is run. Asking the runtime
602
+ * for its compose version surfaces that here instead.
603
+ */
604
+ async function composeProviderCheck(runtime, context) {
605
+ const version = await captureRuntime(runtime.command, ["compose", "version"], context);
606
+ if (version.code !== 0) {
607
+ return {
608
+ name: "compose provider",
609
+ status: "fail",
610
+ message: `${runtime.name} compose is not usable: ${firstLine(version.stderr) || `exit code ${version.code}`}`,
611
+ };
612
+ }
613
+ return {
614
+ name: "compose provider",
615
+ status: "pass",
616
+ message: firstLine(version.stdout) || `${runtime.name} compose works`,
617
+ };
618
+ }
619
+ async function composeServicesCheck(runtime, instance, context) {
620
+ if (!instance.projectName) {
621
+ return {
622
+ name: "service containers",
623
+ status: "skip",
624
+ message: "This instance has no Compose project name, so its containers cannot be identified.",
625
+ };
626
+ }
627
+ const listed = await captureRuntime(runtime.command, [
628
+ "ps",
629
+ "--all",
630
+ "--filter",
631
+ `label=com.docker.compose.project=${instance.projectName}`,
632
+ "--format",
633
+ "json",
634
+ ], context);
635
+ if (listed.code !== 0) {
636
+ return {
637
+ name: "service containers",
638
+ status: "warn",
639
+ message: `Containers could not be listed: ${firstLine(listed.stderr) || `exit code ${listed.code}`}`,
640
+ };
641
+ }
642
+ try {
643
+ return summarizeContainerStates(parseContainerStates(listed.stdout), instance.projectName);
644
+ }
645
+ catch {
646
+ return {
647
+ name: "service containers",
648
+ status: "warn",
649
+ message: `The container list returned by ${runtime.name} could not be read.`,
650
+ };
651
+ }
652
+ }
653
+ function captureRuntime(command, args, context) {
654
+ return new Promise((resolveProcess) => {
655
+ const child = spawn(command, args, {
656
+ env: context.env,
657
+ stdio: ["ignore", "pipe", "pipe"],
658
+ });
659
+ let stdout = "";
660
+ let stderr = "";
661
+ child.stdout?.on("data", (chunk) => {
662
+ stdout += String(chunk);
663
+ });
664
+ child.stderr?.on("data", (chunk) => {
665
+ stderr += String(chunk);
666
+ });
667
+ child.on("error", (error) => resolveProcess({ code: 1, stdout, stderr: error.message }));
668
+ child.on("close", (code) => resolveProcess({ code: code ?? 1, stdout, stderr }));
669
+ });
670
+ }
528
671
  export async function resolveComposeRuntime(env) {
529
672
  const preferredRuntime = parsePreferredRuntime(env.EUDIPLO_CONTAINER_RUNTIME);
530
673
  const candidates = preferredRuntime
@@ -1 +1 @@
1
- {"version":3,"file":"deployment-drivers.js","sourceRoot":"","sources":["../../src/services/deployment-drivers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deployment-drivers.js","sourceRoot":"","sources":["../../src/services/deployment-drivers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EACH,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,6BAA6B,EAC7B,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,sBAAsB,EACtB,8BAA8B,EAC9B,kBAAkB,EAClB,QAAQ,GACX,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACH,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,4BAA4B,EAC5B,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,gBAAgB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACH,oBAAoB,EACpB,wBAAwB,GAC3B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACH,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,EACf,0BAA0B,EAC1B,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EACZ,gBAAgB,GACnB,MAAM,cAAc,CAAC;AAiBtB,MAAM,CAAC,MAAM,OAAO,GAA+C;IAC/D,OAAO,EAAE;QACL,MAAM,EAAE,SAAS;QACjB,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO;YAC/B,MAAM,MAAM,GAAkB,EAAE,CAAC;YACjC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,IAAI,OAAO,CAAC,GAAG,CAAC;YAClE,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACzD,MAAM,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,mBAAmB;gBACzB,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;gBACjC,OAAO,EAAE,OAAO;oBACZ,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,aAAa,OAAO,CAAC,OAAO,EAAE;oBAC/C,CAAC,CAAC,iEAAiE;aAC1E,CAAC,CAAC;YACH,IAAI,OAAO,EAAE,CAAC;gBACV,MAAM,CAAC,IAAI,CAAC,MAAM,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC1D,MAAM,CAAC,IAAI,CACP,MAAM,oBAAoB,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CACzD,CAAC;YACN,CAAC;YACD,KAAK,MAAM,WAAW,IAAI,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClD,IAAI,KAAK,GAAG,IAAI,CAAC;gBACjB,IAAI,CAAC;oBACD,MAAM,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC,CAAC;gBACzD,CAAC;gBAAC,MAAM,CAAC;oBACL,KAAK,GAAG,KAAK,CAAC;gBAClB,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC;oBACR,IAAI,EAAE,cAAc;oBACpB,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;oBAC/B,OAAO,EAAE,KAAK;wBACV,CAAC,CAAC,GAAG,WAAW,aAAa;wBAC7B,CAAC,CAAC,2BAA2B,WAAW,EAAE;iBACjD,CAAC,CAAC;YACP,CAAC;YACD,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,EAAE,CAAC,OAAO;YACN,OAAO,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,CAAC,OAAO;YACR,OAAO,UAAU,CAAC,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;QAC1D,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,OAAO;YACd,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAC;YACrD,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACvD,MAAM,KAAK,GACP,OAAO,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ;gBACnC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK;gBACrB,CAAC,CAAC,SAAS,CAAC;YACpB,OAAO,UAAU,CACb;gBACI,GAAG,oBAAoB,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;gBACzD,GAAG,OAAO,CAAC,IAAI;aAClB,EACD,OAAO,CACV,CAAC;QACN,CAAC;QACD,KAAK,CAAC,EAAE,CAAC,OAAO;YACZ,OAAO,UAAU,CACb,CAAC,GAAG,kBAAkB,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,EAC1C,OAAO,CACV,CAAC;QACN,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,OAAO;YACd,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAC;YACrD,OAAO,UAAU,CACb,CAAC,GAAG,oBAAoB,CAAC,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,EACnD,OAAO,CACV,CAAC;QACN,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,OAAO;YACjB,cAAc,CAAC,OAAO,CAAC,CAAC;YACxB,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAC;YACrD,MAAM,WAAW,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;YACrD,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjE,8DAA8D;YAC9D,0DAA0D;YAC1D,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CACxB,cAAc,OAAO,IAAI,cAAc,OAAO,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,OAAO,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAC1H,CAAC;YACF,OAAO,UAAU,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;QAClE,CAAC;KACJ;IACD,QAAQ,EAAE;QACN,MAAM,EAAE,UAAU;QAClB,KAAK,CAAC,WAAW;YACb,OAAO,EAAE,CAAC;QACd,CAAC;KACJ;IACD,UAAU,EAAE;QACR,MAAM,EAAE,YAAY;QACpB,WAAW,EAAE,qBAAqB;QAClC,KAAK,CAAC,IAAI,CAAC,OAAO;YACd,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;YACnE,MAAM,QAAQ,GAAG,eAAe,CAC5B,OAAO,CAAC,QAAQ,EAChB,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,CACjC,CAAC;YACF,OAAO,UAAU,CACb;gBACI,GAAG,aAAa,CACZ,KAAK,EACL,QAAQ,EACR,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAChC;gBACD,GAAG,OAAO,CAAC,IAAI;aAClB,EACD,OAAO,CACV,CAAC;QACN,CAAC;QACD,KAAK,CAAC,EAAE,CAAC,OAAO;YACZ,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;YACnE,OAAO,UAAU,CACb,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,EAC7C,OAAO,CACV,CAAC;QACN,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,OAAO;YACjB,cAAc,CAAC,OAAO,CAAC,CAAC;YACxB,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;YACnE,MAAM,QAAQ,GAAG,eAAe,CAC5B,OAAO,CAAC,QAAQ,EAChB,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,CACjC,CAAC;YAEF,mEAAmE;YACnE,iEAAiE;YACjE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CACxB,cAAc,QAAQ,iBAAiB,KAAK,CAAC,SAAS,eAAe,KAAK,CAAC,OAAO,IAAI,CACzF,CAAC;YAEF,MAAM,SAAS,GAAG,MAAM,UAAU,CAC9B,CAAC,GAAG,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,EACvD,OAAO,CACV,CAAC;YACF,IAAI,SAAS,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;gBACvD,OAAO,SAAS,CAAC;YACrB,CAAC;YACD,OAAO,UAAU,CAAC,sBAAsB,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;QACxE,CAAC;KACJ;CACJ,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,EAC3B,QAAQ,EACR,YAAY,GACO;IACnB,IAAI,QAAQ,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACX,YAAY,YAAY,gFAAgF,CAC3G,CAAC;IACN,CAAC;AACL,CAAC;AAED,SAAS,eAAe,CACpB,KAAuC;IAEvC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC;IAC5B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7E,CAAC;AAED,SAAS,cAAc,CAAC,KAAuC;IAI3D,MAAM,IAAI,GACN,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACpE,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,KAAK,IAAI,EAAE,IAAI,EAAE,CAAC;AACnD,CAAC;AAED,KAAK,UAAU,UAAU,CACrB,IAAc,EACd,EAAE,OAAO,EAAwB;IAEjC,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClD,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,IAAI,OAAO,CAAC,CAAC,cAAc,EAAE,aAAa,EAAE,EAAE;QACjD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;YAC/B,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,KAAK,EAAE,SAAS;SACnB,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QACjC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,qBAAqB,CAChC,QAAwB,EACxB,OAAuB;IAEvB,MAAM,MAAM,GAAkB,EAAE,CAAC;IAEjC,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,CAAC,IAAI,CAAC;QACR,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;QACjC,OAAO,EAAE,OAAO;YACZ,CAAC,CAAC,oBAAoB,OAAO,EAAE;YAC/B,CAAC,CAAC,gCAAgC;KACzC,CAAC,CAAC;IACH,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAI,KAAsB,CAAC;IAC3B,IAAI,CAAC;QACD,KAAK,GAAG,YAAY,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IACpD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAClE,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAI,CAAC;QACR,IAAI,EAAE,eAAe;QACrB,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,WAAW,KAAK,CAAC,OAAO,eAAe,KAAK,CAAC,SAAS,EAAE;KACpE,CAAC,CAAC;IAEH,0EAA0E;IAC1E,oEAAoE;IACpE,MAAM,aAAa,GAAG,MAAM,cAAc,CACtC,OAAO,EACP,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,EACjE,OAAO,CACV,CAAC;IACF,MAAM,CAAC,IAAI,CAAC;QACR,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,aAAa,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;QAClD,OAAO,EACH,aAAa,CAAC,IAAI,KAAK,CAAC;YACpB,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,eAAe;YACnC,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,uBAAuB,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;KACvF,CAAC,CAAC;IACH,IAAI,aAAa,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,qEAAqE;IACrE,mEAAmE;IACnE,4CAA4C;IAC5C,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3D,MAAM,UAAU,GAAG,MAAM,cAAc,CACnC,OAAO,EACP,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,EACpC,OAAO,CACV,CAAC;QACF,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,KAAK,CAAC;QACnD,MAAM,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;YACjC,OAAO,EAAE,OAAO;gBACZ,CAAC,CAAC,OAAO,IAAI,IAAI,QAAQ,EAAE;gBAC3B,CAAC,CAAC,WAAW,IAAI,IAAI,QAAQ,iBAAiB,KAAK,CAAC,SAAS,2CAA2C,IAAI,OAAO,QAAQ,GAAG;SACrI,CAAC,CAAC;IACP,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,GAAG,MAAM,cAAc,CAC7B,OAAO,EACP,oBAAoB,CAAC,KAAK,EAAE,QAAQ,CAAC,EACrC,OAAO,CACV,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,cAAc,CAC7B,OAAO,EACP,gBAAgB,CAAC,KAAK,CAAC,EACvB,OAAO,CACV,CAAC;IACF,MAAM,CAAC,IAAI,CAAC;QACR,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;QACzC,OAAO,EACH,IAAI,CAAC,IAAI,KAAK,CAAC;YACX,CAAC,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,KAAK,CAAC,SAAS,EAAE;YAC9D,CAAC,CAAC,6BAA6B,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;KAClE,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,MAAM,cAAc,CAClC,OAAO,EACP,0BAA0B,CAAC,KAAK,CAAC,EACjC,OAAO,CACV,CAAC;IACF,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;IAEtC,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,SAAS,aAAa,CAAC,QAAgB,EAAE,IAAqB;IAC1D,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QAClB,OAAO;YACH,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,QAAQ,uBAAuB,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;SACtE,CAAC;IACN,CAAC;IAED,IAAI,QAA4C,CAAC;IACjD,IAAI,CAAC;QACD,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACL,OAAO;YACH,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,QAAQ,oDAAoD;SAC3E,CAAC;IACN,CAAC;IAED,MAAM,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,OAAO,iBAAiB,CAAC;IACtE,IAAI,QAAQ,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO;YACH,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,QAAQ,qBAAqB;SAC5C,CAAC;IACN,CAAC;IACD,IAAI,QAAQ,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO;YACH,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,QAAQ,2BAA2B,MAAM,IAAI;SAC5D,CAAC;IACN,CAAC;IACD,OAAO;QACH,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;QAC3D,OAAO,EAAE,GAAG,QAAQ,KAAK,MAAM,EAAE;KACpC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAI5C,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACpD,CAAC;IAED,0EAA0E;IAC1E,0DAA0D;IAC1D,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;QACjC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC1C,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAC9B,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc,EAAE,QAAgB;IAC9C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QACtD,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,QAAQ,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa,CAAC,SAA0B;IAC7C,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO;YACH,IAAI,EAAE,mBAAmB;YACzB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,kCAAkC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;SAC3E,CAAC;IACN,CAAC;IAED,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACD,OAAO,GAAG,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACL,OAAO;YACH,IAAI,EAAE,mBAAmB;YACzB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,gCAAgC;SAC5C,CAAC;IACN,CAAC;IAED,OAAO;QACH,IAAI,EAAE,mBAAmB;QACzB,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;QAC9C,OAAO,EACH,OAAO,CAAC,MAAM,KAAK,CAAC;YAChB,CAAC,CAAC,mCAAmC;YACrC,CAAC,CAAC,2BAA2B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;KAC5D,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC3C,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,cAAc,GAAG,IAAI,GAAG,EAAmB,CAAC;IAClD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9C,SAAS;QACb,CAAC;QACD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM;YACtB,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,OAAO,GAAG,MAAM,CAClB,MAAM,CAAC,4BAA4B,CAAC;YAChC,IAAI,CAAC,QAAQ,CAAC,IAAI;YAClB,SAAS,CAChB,CAAC;QACF,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CACxB,CAAC,QAAQ,EAAE,EAAE,CACT,QAAQ,CAAC,QAAQ,CAAC;YAClB,gEAAgE;YAChE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC3B,QAAQ,CAAC,UAAU,CAAC,KAAK,KAAK,KAAK,CAAC,CAC/C,CAAC;QACF,cAAc,CAAC,GAAG,CACd,OAAO,EACP,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,CAClD,CAAC;IACN,CAAC;IAED,OAAO,CAAC,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC;SAC/B,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC;SAC7B,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC;SAC3B,IAAI,EAAE,CAAC;AAChB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC5B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,mBAAmB,CACxB,QAAwB;IAExB,MAAM,WAAW,GAA4B;QACzC,CAAC,KAAK,EAAE,MAAM,CAAC;QACf,CAAC,KAAK,EAAE,aAAa,CAAC;QACtB,CAAC,KAAK,EAAE,UAAU,CAAC;KACtB,CAAC;IACF,IAAI,QAAQ,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC7B,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,WAAW,CAAC;AACvB,CAAC;AAED,SAAS,aAAa,CAAC,MAAc;IACjC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACxD,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC5B,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC;AACtD,CAAC;AAED,KAAK,UAAU,cAAc,CACzB,GAAsB;IAEtB,MAAM,UAAU,GAAG,GAAG,CAAC,eAAe,CAAC;IACvC,IAAI,UAAU,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/D,CAAC;IACD,KAAK,MAAM,SAAS,IAAI,oBAAoB,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC;QAC3D,IAAI,MAAM,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,OAAO,SAAS,CAAC;QACrB,CAAC;IACL,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAQD,KAAK,UAAU,cAAc,CACzB,OAAe,EACf,IAAc,EACd,OAAuB;IAEvB,OAAO,IAAI,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE;QAClC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;YAC/B,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SACpC,CAAC,CAAC;QACH,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YAC/B,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YAC/B,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACxB,cAAc,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CACvB,cAAc,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CACtD,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACtC,GAAW,EACX,OAaC;IAED,MAAM,sBAAsB,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,UAAU,CAAC;IACxC,MAAM,eAAe,GACjB,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,sBAAsB,CAAC;IACnE,MAAM,WAAW,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,kBAAkB,CAAC;IAE3E,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,8BAA8B,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IACvC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;IAClD,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAEnD,MAAM,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAE1D,IAAI,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QAC5C,MAAM,uBAAuB,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QACzD,MAAM,SAAS,CAAC,WAAW,EAAE,MAAM,iBAAiB,EAAE,EAAE,MAAM,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QACrD,MAAM,SAAS,CACX,OAAO,EACP,gBAAgB,CAAC;YACb,IAAI;YACJ,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;YAC1C,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;SAC7C,CAAC,EACF;YACI,QAAQ,EAAE,MAAM;YAChB,IAAI,EAAE,KAAK;SACd,CACJ,CAAC;IACN,CAAC;IAED,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QAC3D,MAAM,SAAS,CACX,aAAa,EACb,qBAAqB,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,EAC1C,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CACpC,CAAC;IACN,CAAC;IAED,IAAI,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QACjD,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;QACtD,MAAM,iBAAiB,GAAG,MAAM,QAAQ,CAAC,cAAc,CAAC,CAAC;QACzD,IACI,CAAC,iBAAiB;YAClB,OAAO,CAAC,KAAK,KAAK,IAAI;YACtB,OAAO,CAAC,KAAK,KAAK,IAAI,EACxB,CAAC;YACC,MAAM,qBAAqB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QACtD,CAAC;IACL,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC5B,MAAM,SAAS,CAAC,YAAY,EAAE,6BAA6B,EAAE,EAAE,MAAM,CAAC,CAAC;IAC3E,CAAC;SAAM,CAAC;QACJ,MAAM,cAAc,CAAC,YAAY,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,YAAY,GAAG,CAAC,eAAe,CAAC,CAAC;IACvC,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC5B,YAAY,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IACtD,CAAC;IAED,OAAO;QACH,MAAM,EAAE,SAAS;QACjB,GAAG,EAAE,uBAAuB;QAC5B,SAAS,EACL,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,uBAAuB;QACnE,WAAW,EAAE,sBAAsB;QACnC,YAAY;QACZ,eAAe,EAAE,eAAe,CAAC,OAAO,CAAC;QACzC,OAAO,EAAE,WAAW;QACpB,WAAW,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;QACzD,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC;KACjC,CAAC;AACN,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,SAAiB;IACnD,IAAI,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,uCAAuC,SAAS,EAAE,CAAC,CAAC;QACxE,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAChD,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACzD,OAAO;QACX,CAAC;QACD,MAAM,KAAK,CAAC;IAChB,CAAC;AACL,CAAC;AAED,SAAS,eAAe,CAAC,OAKxB;IACG,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;QAClC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC3B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;QAC1B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;AACtD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,GAAW;IAC/C,OAAO,CACH,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC,CAAC;QAC9C,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC;QAC1C,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC,CAAC;QAC9C,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAAC,CAAC,CACpD,CAAC;AACN,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,GAAW;IAC9C,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,mBAAmB,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,8BAA8B,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACrE,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,mBAAmB,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3E,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,sBAAsB,CAAC,EAAE;QACxC,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,IAAI;KACd,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,kBAAkB,CAC9B,OAAe,EACf,MAAwB;IAExB,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;QACxB,OAAO,GAAG,OAAO,sDAAsD,CAAC;IAC5E,CAAC;IACD,OAAO,GAAG,OAAO,yBAAyB,MAAM,cAAc,CAAC;AACnE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC5B,IAAc,EACd,EAAE,QAAQ,EAAE,OAAO,EAAwB;IAE3C,MAAM,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,IAAI,OAAO,CAAC,GAAG,CAAC;IAClE,MAAM,WAAW,GAAG;QAChB,GAAG,oBAAoB,CACnB,QAAQ,EACR,gBAAgB,EAChB,eAAe,CAAC,QAAQ,CAAC,CAC5B;QACD,GAAG,IAAI;KACV,CAAC;IAEF,MAAM,cAAc,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAChE,IAAI,CAAC,cAAc,EAAE,CAAC;QAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAChB,mEAAmE,CACtE,CAAC;QACF,OAAO,CAAC,CAAC;IACb,CAAC;IAED,OAAO,IAAI,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE;QAClC,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE;YACrD,GAAG,EAAE,gBAAgB;YACrB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,KAAK,EAAE,SAAS;SACnB,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;YAC3C,cAAc,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,cAAc,CACzB,IAAc,EACd,EAAE,QAAQ,EAAE,OAAO,EAAwB;IAE3C,MAAM,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,IAAI,OAAO,CAAC,GAAG,CAAC;IAClE,MAAM,cAAc,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAChE,IAAI,CAAC,cAAc,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CACX,iEAAiE,CACpE,CAAC;IACN,CAAC;IACD,MAAM,WAAW,GAAG;QAChB,GAAG,oBAAoB,CACnB,QAAQ,EACR,gBAAgB,EAChB,eAAe,CAAC,QAAQ,CAAC,CAC5B;QACD,GAAG,IAAI;KACV,CAAC;IACF,OAAO,IAAI,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE;QAClC,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE;YACrD,GAAG,EAAE,gBAAgB;YACrB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SACpC,CAAC,CAAC;QACH,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YAC/B,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YAC/B,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACxB,cAAc,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAC7D,CAAC;QACF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CACvB,cAAc,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CACtD,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,qBAAqB,CAChC,OAA6B;IAE7B,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC3B,MAAM,MAAM,GAAG,MAAM,cAAc,CAC/B,4BAA4B,EAAE,EAC9B,OAAO,CACV,CAAC;IACF,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACX,oCAAoC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,aAAa,MAAM,CAAC,IAAI,EAAE,EAAE,CAC3F,CAAC;IACN,CAAC;IACD,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7D,OAAO,OAAO,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,oBAAoB,CAC/B,OAAuB,EACvB,OAAuB;IAEvB,MAAM,OAAO,GAAG,MAAM,cAAc,CAChC,OAAO,CAAC,OAAO,EACf,CAAC,SAAS,EAAE,SAAS,CAAC,EACtB,OAAO,CACV,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO;YACH,IAAI,EAAE,kBAAkB;YACxB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,2BAA2B,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,aAAa,OAAO,CAAC,IAAI,EAAE,EAAE;SAChH,CAAC;IACN,CAAC;IACD,OAAO;QACH,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,gBAAgB;KACxE,CAAC;AACN,CAAC;AAED,KAAK,UAAU,oBAAoB,CAC/B,OAAuB,EACvB,QAAwB,EACxB,OAAuB;IAEvB,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QACxB,OAAO;YACH,IAAI,EAAE,oBAAoB;YAC1B,MAAM,EAAE,MAAM;YACd,OAAO,EACH,oFAAoF;SAC3F,CAAC;IACN,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,cAAc,CAC/B,OAAO,CAAC,OAAO,EACf;QACI,IAAI;QACJ,OAAO;QACP,UAAU;QACV,oCAAoC,QAAQ,CAAC,WAAW,EAAE;QAC1D,UAAU;QACV,MAAM;KACT,EACD,OAAO,CACV,CAAC;IACF,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO;YACH,IAAI,EAAE,oBAAoB;YAC1B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,mCAAmC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,aAAa,MAAM,CAAC,IAAI,EAAE,EAAE;SACvG,CAAC;IACN,CAAC;IACD,IAAI,CAAC;QACD,OAAO,wBAAwB,CAC3B,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,EACnC,QAAQ,CAAC,WAAW,CACvB,CAAC;IACN,CAAC;IAAC,MAAM,CAAC;QACL,OAAO;YACH,IAAI,EAAE,oBAAoB;YAC1B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,kCAAkC,OAAO,CAAC,IAAI,qBAAqB;SAC/E,CAAC;IACN,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CACnB,OAAe,EACf,IAAc,EACd,OAAuB;IAEvB,OAAO,IAAI,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE;QAClC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;YAC/B,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SACpC,CAAC,CAAC;QACH,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YAC/B,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YAC/B,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACxB,cAAc,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAC7D,CAAC;QACF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CACvB,cAAc,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CACtD,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACvC,GAAsB;IAEtB,MAAM,gBAAgB,GAAG,qBAAqB,CAC1C,GAAG,CAAC,yBAAyB,CAChC,CAAC;IACF,MAAM,UAAU,GAAG,gBAAgB;QAC/B,CAAC,CAAC,CAAC,gBAAgB,CAAC;QACpB,CAAC,CAAE,CAAC,QAAQ,EAAE,QAAQ,CAAW,CAAC;IAEtC,KAAK,MAAM,OAAO,IAAI,UAAU,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC7D,IAAI,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QACtC,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,SAAS,qBAAqB,CAC1B,KAAyB;IAEzB,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC3C,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;AAC3E,CAAC;AAED,KAAK,UAAU,wBAAwB,CACnC,OAA6B,EAC7B,GAAsB;IAEtB,KAAK,MAAM,cAAc,IAAI,sBAAsB,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;QAChE,IAAI,MAAM,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;YAC/B,OAAO,cAAc,CAAC;QAC1B,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,SAAS,sBAAsB,CAC3B,OAA6B,EAC7B,GAAsB;IAEtB,MAAM,cAAc,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;SAClC,KAAK,CAAC,SAAS,CAAC;SAChB,MAAM,CAAC,OAAO,CAAC;SACf,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,qBAAqB,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IAE5E,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC/B,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YACvB,OAAO;gBACH,MAAM,CAAC,GAAG,CAAA,yDAAyD;gBACnE,GAAG,cAAc;aACpB,CAAC;QACN,CAAC;QACD,OAAO;YACH,MAAM,CAAC,GAAG,CAAA,2CAA2C;YACrD,GAAG,cAAc;SACpB,CAAC;IACN,CAAC;IAED,OAAO;QACH,kBAAkB,OAAO,EAAE;QAC3B,qBAAqB,OAAO,EAAE;QAC9B,YAAY,OAAO,EAAE;QACrB,GAAG,cAAc;KACpB,CAAC;AACN,CAAC;AAED,SAAS,qBAAqB,CAC1B,SAAiB,EACjB,OAA6B,EAC7B,GAAsB;IAEtB,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,qBAAqB,CAAC;SACpD,KAAK,CAAC,GAAG,CAAC;SACV,MAAM,CAAC,OAAO,CAAC,CAAC;IACrB,OAAO;QACH,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC;QACxB,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,OAAO,GAAG,GAAG,EAAE,CAAC,CAAC;KAClE,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,SAAS,oBAAoB,CAAC,IAAY,EAAE,GAAsB;IAC9D,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACtE,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC/B,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,qBAAqB,CAAC;SACpD,KAAK,CAAC,GAAG,CAAC;SACV,MAAM,CAAC,OAAO,CAAC,CAAC;IACrB,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;QAClC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC;QACjB,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,GAAG,GAAG,EAAE,CAAC,CAAC;KAC3D,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,IAAY;IAC9B,IAAI,CAAC;QACD,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IAC/B,OAAO,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,CAAC;AACrD,CAAC;AAED,SAAS,eAAe,CAAC,QAAwB;IAC7C,OAAO,CACH,QAAQ,CAAC,YAAY;QACrB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CACvD,CAAC;AACN,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,IAAY;IACtC,IAAI,CAAC;QACD,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,IACI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC;YACzB,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC;YAClB,KAAK,CAAC,IAAI,KAAK,QAAQ,EACzB,CAAC;YACC,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;AACL,CAAC"}
@@ -1,6 +1,23 @@
1
1
  import type { CommandContext, DoctorCheck, InstanceConfig } from "../types.js";
2
+ import { type CertificateReader } from "./tls-expiry.js";
2
3
  export type { DoctorCheck } from "../types.js";
3
- export declare function runDoctor(instance: InstanceConfig, context: CommandContext, driverDiagnostics: DoctorCheck[]): Promise<DoctorCheck[]>;
4
- export declare function hasFailedChecks(checks: DoctorCheck[]): boolean;
4
+ export interface DoctorOptions {
5
+ now?: Date;
6
+ readCertificate?: CertificateReader;
7
+ }
8
+ export interface CheckSummary {
9
+ pass: number;
10
+ warn: number;
11
+ fail: number;
12
+ skip: number;
13
+ }
14
+ export declare function runDoctor(instance: InstanceConfig, context: CommandContext, driverDiagnostics: DoctorCheck[], options?: DoctorOptions): Promise<DoctorCheck[]>;
15
+ export declare function summarizeChecks(checks: DoctorCheck[]): CheckSummary;
16
+ /**
17
+ * Failures always count. With --strict warnings do too; skipped checks never
18
+ * do, because a check that could not run has not found a problem.
19
+ */
20
+ export declare function hasFailedChecks(checks: DoctorCheck[], strict?: boolean): boolean;
5
21
  export declare function formatChecks(checks: DoctorCheck[]): string;
22
+ export declare function formatSummary(summary: CheckSummary): string;
6
23
  //# sourceMappingURL=diagnostics.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/services/diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAER,cAAc,EACd,WAAW,EACX,cAAc,EACjB,MAAM,aAAa,CAAC;AAErB,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,wBAAsB,SAAS,CAC3B,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,cAAc,EACvB,iBAAiB,EAAE,WAAW,EAAE,GACjC,OAAO,CAAC,WAAW,EAAE,CAAC,CA0DxB;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAE9D;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAO1D"}
1
+ {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/services/diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAER,cAAc,EACd,WAAW,EACX,cAAc,EACjB,MAAM,aAAa,CAAC;AAcrB,OAAO,EACH,KAAK,iBAAiB,EAGzB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAsB/C,MAAM,WAAW,aAAa;IAC1B,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,eAAe,CAAC,EAAE,iBAAiB,CAAC;CACvC;AAED,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CAChB;AA0MD,wBAAsB,SAAS,CAC3B,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,cAAc,EACvB,iBAAiB,EAAE,WAAW,EAAE,EAChC,OAAO,GAAE,aAAkB,GAC5B,OAAO,CAAC,WAAW,EAAE,CAAC,CA8BxB;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,YAAY,CAOnE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC3B,MAAM,EAAE,WAAW,EAAE,EACrB,MAAM,UAAQ,GACf,OAAO,CAKT;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAO1D;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAE3D"}