@meshy-ai/cli 0.5.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -3
- package/dist/client/endpoints/balance.d.ts +4 -3
- package/dist/client/endpoints/balance.d.ts.map +1 -1
- package/dist/client/endpoints/balance.js +10 -12
- package/dist/client/endpoints/balance.js.map +1 -1
- package/dist/client/endpoints/base.d.ts +0 -2
- package/dist/client/endpoints/base.d.ts.map +1 -1
- package/dist/client/endpoints/base.js.map +1 -1
- package/dist/client/index.d.ts +0 -6
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +2 -22
- package/dist/client/index.js.map +1 -1
- package/dist/client/resource-registry.d.ts +2 -9
- package/dist/client/resource-registry.d.ts.map +1 -1
- package/dist/client/resource-registry.js +5 -14
- package/dist/client/resource-registry.js.map +1 -1
- package/dist/client/transport.d.ts +1 -1
- package/dist/client/transport.d.ts.map +1 -1
- package/dist/client/types.d.ts +4 -8
- package/dist/client/types.d.ts.map +1 -1
- package/dist/client/types.js +4 -3
- package/dist/client/types.js.map +1 -1
- package/dist/cmd/creative-lab.d.ts +0 -2
- package/dist/cmd/creative-lab.d.ts.map +1 -1
- package/dist/cmd/creative-lab.js +0 -4
- package/dist/cmd/creative-lab.js.map +1 -1
- package/dist/cmd/download.d.ts +1 -1
- package/dist/cmd/download.js +2 -2
- package/dist/cmd/download.js.map +1 -1
- package/dist/cmd/image-to-3d.d.ts +3 -3
- package/dist/cmd/image-to-3d.d.ts.map +1 -1
- package/dist/cmd/image-to-3d.js +16 -45
- package/dist/cmd/image-to-3d.js.map +1 -1
- package/dist/cmd/image-to-image.d.ts.map +1 -1
- package/dist/cmd/image-to-image.js +2 -1
- package/dist/cmd/image-to-image.js.map +1 -1
- package/dist/cmd/inspect.d.ts +12 -4
- package/dist/cmd/inspect.d.ts.map +1 -1
- package/dist/cmd/inspect.js +59 -35
- package/dist/cmd/inspect.js.map +1 -1
- package/dist/cmd/make.d.ts.map +1 -1
- package/dist/cmd/make.js +22 -15
- package/dist/cmd/make.js.map +1 -1
- package/dist/cmd/mesh.d.ts +3 -3
- package/dist/cmd/mesh.js +3 -3
- package/dist/cmd/multi-image-to-3d.d.ts +2 -3
- package/dist/cmd/multi-image-to-3d.d.ts.map +1 -1
- package/dist/cmd/multi-image-to-3d.js +10 -28
- package/dist/cmd/multi-image-to-3d.js.map +1 -1
- package/dist/cmd/project.d.ts.map +1 -1
- package/dist/cmd/project.js +3 -5
- package/dist/cmd/project.js.map +1 -1
- package/dist/cmd/resources.d.ts.map +1 -1
- package/dist/cmd/resources.js +0 -1
- package/dist/cmd/resources.js.map +1 -1
- package/dist/cmd/retexture.d.ts +2 -2
- package/dist/cmd/retexture.js +2 -2
- package/dist/cmd/text-to-3d.d.ts +1 -1
- package/dist/cmd/text-to-3d.js +1 -1
- package/dist/cmd/text-to-image.d.ts.map +1 -1
- package/dist/cmd/text-to-image.js +3 -2
- package/dist/cmd/text-to-image.js.map +1 -1
- package/dist/cmd/uv-unwrap.d.ts +0 -1
- package/dist/cmd/uv-unwrap.d.ts.map +1 -1
- package/dist/cmd/uv-unwrap.js +0 -1
- package/dist/cmd/uv-unwrap.js.map +1 -1
- package/dist/index.js +4 -6
- package/dist/index.js.map +1 -1
- package/dist/internal/artifacts.d.ts +18 -9
- package/dist/internal/artifacts.d.ts.map +1 -1
- package/dist/internal/artifacts.js +56 -30
- package/dist/internal/artifacts.js.map +1 -1
- package/dist/internal/config.d.ts +3 -3
- package/dist/internal/config.js +3 -3
- package/dist/internal/doctor.d.ts +0 -2
- package/dist/internal/doctor.d.ts.map +1 -1
- package/dist/internal/doctor.js +0 -4
- package/dist/internal/doctor.js.map +1 -1
- package/dist/internal/download.d.ts +34 -50
- package/dist/internal/download.d.ts.map +1 -1
- package/dist/internal/download.js +83 -331
- package/dist/internal/download.js.map +1 -1
- package/dist/internal/file-input.d.ts +0 -12
- package/dist/internal/file-input.d.ts.map +1 -1
- package/dist/internal/file-input.js +2 -49
- package/dist/internal/file-input.js.map +1 -1
- package/dist/internal/global-options.d.ts +4 -1
- package/dist/internal/global-options.d.ts.map +1 -1
- package/dist/internal/global-options.js +9 -5
- package/dist/internal/global-options.js.map +1 -1
- package/dist/internal/image-models.d.ts +7 -0
- package/dist/internal/image-models.d.ts.map +1 -1
- package/dist/internal/image-models.js +14 -0
- package/dist/internal/image-models.js.map +1 -1
- package/dist/internal/inspect.d.ts +31 -6
- package/dist/internal/inspect.d.ts.map +1 -1
- package/dist/internal/inspect.js +124 -11
- package/dist/internal/inspect.js.map +1 -1
- package/dist/internal/logger.d.ts +0 -1
- package/dist/internal/logger.d.ts.map +1 -1
- package/dist/internal/logger.js +0 -3
- package/dist/internal/logger.js.map +1 -1
- package/dist/internal/material-links.d.ts +0 -2
- package/dist/internal/material-links.d.ts.map +1 -1
- package/dist/internal/material-links.js +0 -4
- package/dist/internal/material-links.js.map +1 -1
- package/dist/internal/obj-transform.d.ts +1 -1
- package/dist/internal/obj-transform.js +1 -1
- package/dist/internal/paths.d.ts +2 -0
- package/dist/internal/paths.d.ts.map +1 -1
- package/dist/internal/paths.js +4 -0
- package/dist/internal/paths.js.map +1 -1
- package/dist/internal/pricing.d.ts +1 -1
- package/dist/internal/pricing.d.ts.map +1 -1
- package/dist/internal/pricing.js +1 -1
- package/dist/internal/pricing.js.map +1 -1
- package/dist/internal/project-store.d.ts +6 -13
- package/dist/internal/project-store.d.ts.map +1 -1
- package/dist/internal/project-store.js +23 -27
- package/dist/internal/project-store.js.map +1 -1
- package/dist/internal/runtime.d.ts +3 -11
- package/dist/internal/runtime.d.ts.map +1 -1
- package/dist/internal/runtime.js +12 -28
- package/dist/internal/runtime.js.map +1 -1
- package/dist/internal/slicers.d.ts +7 -8
- package/dist/internal/slicers.d.ts.map +1 -1
- package/dist/internal/slicers.js +5 -6
- package/dist/internal/slicers.js.map +1 -1
- package/dist/internal/task-command.d.ts +13 -3
- package/dist/internal/task-command.d.ts.map +1 -1
- package/dist/internal/task-command.js +17 -14
- package/dist/internal/task-command.js.map +1 -1
- package/dist/internal/task-view.js +1 -1
- package/dist/internal/task-view.js.map +1 -1
- package/dist/internal/texturing.d.ts +17 -0
- package/dist/internal/texturing.d.ts.map +1 -0
- package/dist/internal/texturing.js +30 -0
- package/dist/internal/texturing.js.map +1 -0
- package/dist/internal/update-notifier.d.ts.map +1 -1
- package/dist/internal/update-notifier.js.map +1 -1
- package/dist/internal/views.d.ts +5 -6
- package/dist/internal/views.d.ts.map +1 -1
- package/dist/internal/views.js +42 -25
- package/dist/internal/views.js.map +1 -1
- package/dist/root.d.ts.map +1 -1
- package/dist/root.js +6 -4
- package/dist/root.js.map +1 -1
- package/package.json +1 -1
- package/skills/meshy-cli/SKILL.md +18 -11
|
@@ -11,12 +11,11 @@
|
|
|
11
11
|
* any MIME-driven extension change — is checked against the authorised root.
|
|
12
12
|
*
|
|
13
13
|
* Two entry points share the core:
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
* Both relink OBJ → MTL → texture references after the set has landed (see
|
|
14
|
+
* downloadAssets — writes a list of enumerated assets (artifacts.ts):
|
|
15
|
+
* `meshy download` selects them explicitly;
|
|
16
|
+
* downloadTaskAssets — `-o`: the task's default selection (or every asset
|
|
17
|
+
* with --all-assets) plus the meta.json sidecar.
|
|
18
|
+
* OBJ → MTL → texture references are relinked after the set has landed (see
|
|
20
19
|
* material-links.ts), so a saved OBJ loads with the files beside it.
|
|
21
20
|
*/
|
|
22
21
|
import { createHash } from "node:crypto";
|
|
@@ -28,10 +27,9 @@ import { pipeline } from "node:stream/promises";
|
|
|
28
27
|
import sharp from "sharp";
|
|
29
28
|
import { publishTempFile, tempPathFor, writeJsonFile } from "./atomic-file.js";
|
|
30
29
|
import { CliError, UsageError } from "./errors.js";
|
|
31
|
-
import {
|
|
32
|
-
import { freezeRoot, isInside, resolveWithinRoot, safeExtension, safeSegment } from "./paths.js";
|
|
30
|
+
import { freezeRoot, isInside, looksLikeFile, resolveWithinRoot, safeExtension } from "./paths.js";
|
|
33
31
|
import { USER_AGENT } from "./user-agent.js";
|
|
34
|
-
import {
|
|
32
|
+
import { enumerateAssets, selectDefaultAssets } from "./artifacts.js";
|
|
35
33
|
import { fileDigest, relinkMaterials } from "./material-links.js";
|
|
36
34
|
/** Extensions sharp can transcode between. */
|
|
37
35
|
const CONVERTIBLE_IMAGE_EXTS = new Set(["jpg", "jpeg", "png", "webp", "gif", "tiff", "tif", "avif"]);
|
|
@@ -530,351 +528,105 @@ async function convertImage(buffer, targetExt, targetPath) {
|
|
|
530
528
|
throw new Error(`unsupported image target extension: ${targetExt}`);
|
|
531
529
|
}
|
|
532
530
|
}
|
|
533
|
-
export function enumerateArtifacts(task) {
|
|
534
|
-
const out = [];
|
|
535
|
-
if (task.model_urls) {
|
|
536
|
-
// `model_urls` keys are usually formats (glb, obj) but Creative Lab builds
|
|
537
|
-
// use part names (`lamp_stl`, `base_stl`, `bundle_zip`) and deliver the
|
|
538
|
-
// keychain / fridge-magnet OBJ as a ZIP bundle. The selective downloader
|
|
539
|
-
// already knows this (artifacts.ts); the legacy layout names the files the
|
|
540
|
-
// same way while keeping its slot keys (`model_lamp_stl`).
|
|
541
|
-
const product = productFromTaskType(task.type)?.product ?? null;
|
|
542
|
-
for (const [ext, url] of Object.entries(task.model_urls)) {
|
|
543
|
-
if (typeof url === "string" && url) {
|
|
544
|
-
const asset = modelAsset(ext, url, product);
|
|
545
|
-
out.push({ key: `model_${ext}`, url, preferredExt: asset.format ?? ext.toLowerCase(), filename: asset.filename });
|
|
546
|
-
}
|
|
547
|
-
}
|
|
548
|
-
}
|
|
549
|
-
if (task.thumbnail_url) {
|
|
550
|
-
out.push({ key: "thumbnail", url: task.thumbnail_url, preferredExt: "png" });
|
|
551
|
-
}
|
|
552
|
-
if (Array.isArray(task.texture_urls)) {
|
|
553
|
-
task.texture_urls.forEach((set, i) => {
|
|
554
|
-
for (const [name, url] of Object.entries(set)) {
|
|
555
|
-
if (typeof url === "string" && url) {
|
|
556
|
-
out.push({ key: `texture_${i}_${name}`, url, preferredExt: "png" });
|
|
557
|
-
}
|
|
558
|
-
}
|
|
559
|
-
});
|
|
560
|
-
}
|
|
561
|
-
if (Array.isArray(task.image_urls)) {
|
|
562
|
-
task.image_urls.forEach((url, i) => {
|
|
563
|
-
if (typeof url === "string" && url) {
|
|
564
|
-
out.push({ key: `image_${i}`, url, preferredExt: "" });
|
|
565
|
-
}
|
|
566
|
-
});
|
|
567
|
-
}
|
|
568
|
-
// Rigging / animate-style endpoints nest outputs under `result`; the
|
|
569
|
-
// bundled walking/running clips live one level deeper.
|
|
570
|
-
if (task.result && typeof task.result === "object") {
|
|
571
|
-
const motionFormat = task.result["motion_format"];
|
|
572
|
-
for (const [key, value] of Object.entries(task.result)) {
|
|
573
|
-
if (key === "basic_animations" && value && typeof value === "object" && !Array.isArray(value)) {
|
|
574
|
-
for (const [sub, url] of Object.entries(value)) {
|
|
575
|
-
if (typeof url !== "string" || !/^https?:/.test(url))
|
|
576
|
-
continue;
|
|
577
|
-
const extMatch = sub.match(/_(fbx|glb|usdz|obj|png|jpg|jpeg|webp)_url$/i);
|
|
578
|
-
out.push({ key: `basic_animations_${sub}`, url, preferredExt: extMatch ? extMatch[1].toLowerCase() : "" });
|
|
579
|
-
}
|
|
580
|
-
continue;
|
|
581
|
-
}
|
|
582
|
-
if (typeof value !== "string" || !/^https?:/.test(value))
|
|
583
|
-
continue;
|
|
584
|
-
const extMatch = key.match(/_(fbx|glb|usdz|obj|png|jpg|jpeg|webp)_url$/i);
|
|
585
|
-
let preferredExt = extMatch ? extMatch[1].toLowerCase() : "";
|
|
586
|
-
if (key === "motion_url" && (motionFormat === "fbx" || motionFormat === "bvh")) {
|
|
587
|
-
preferredExt = motionFormat;
|
|
588
|
-
}
|
|
589
|
-
out.push({ key, url: value, preferredExt });
|
|
590
|
-
}
|
|
591
|
-
}
|
|
592
|
-
return out;
|
|
593
|
-
}
|
|
594
|
-
/** Heuristic: does this look like a file path (has an extension) or a dir? */
|
|
595
|
-
export function looksLikeFile(path) {
|
|
596
|
-
return /\.[A-Za-z0-9]{2,6}$/.test(path);
|
|
597
|
-
}
|
|
598
|
-
function interruptedBefore(what) {
|
|
599
|
-
return new CliError({ code: "interrupted", message: `interrupted before ${what}; nothing further was written` });
|
|
600
|
-
}
|
|
601
531
|
/**
|
|
602
|
-
*
|
|
603
|
-
*
|
|
604
|
-
*
|
|
605
|
-
*
|
|
532
|
+
* Single-file `-o <file.ext>`: the asset whose format matches the extension
|
|
533
|
+
* (`-o car.glb` → the model GLB), first among the selected assets, then among
|
|
534
|
+
* the alternate formats (`-o hero.fbx` on rigging → the FBX rigged character).
|
|
535
|
+
* A sole selected asset of unknown format, or an image the extension can
|
|
536
|
+
* transcode to, is taken as well. Null when nothing or several match.
|
|
606
537
|
*/
|
|
607
|
-
function
|
|
608
|
-
|
|
609
|
-
const
|
|
610
|
-
const
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
recovery: err.recovery,
|
|
620
|
-
hint: err.hint,
|
|
621
|
-
details: err.details,
|
|
622
|
-
warnings: err.warnings,
|
|
623
|
-
result: { ...(err.result ?? {}), downloads },
|
|
624
|
-
cause: err,
|
|
625
|
-
});
|
|
626
|
-
}
|
|
627
|
-
return new CliError({ code: interrupted ? "interrupted" : "local_io", message, result: { downloads }, cause: err });
|
|
538
|
+
function pickSingleFile(selection, outputPath) {
|
|
539
|
+
const ext = safeExtension(extname(outputPath));
|
|
540
|
+
const matches = (a) => a.format !== null && (a.format === ext || extEquivalent(a.format, ext));
|
|
541
|
+
const direct = selection.selected.filter(matches);
|
|
542
|
+
if (direct.length > 0)
|
|
543
|
+
return direct.length === 1 ? direct[0] : null;
|
|
544
|
+
const alternates = selection.skipped.filter((s) => s.reason === "alternate_format" && matches(s.asset));
|
|
545
|
+
if (alternates.length === 1)
|
|
546
|
+
return alternates[0].asset;
|
|
547
|
+
const sole = selection.selected.length === 1 ? selection.selected[0] : null;
|
|
548
|
+
const transcodable = (a) => a.format === null || (CONVERTIBLE_IMAGE_EXTS.has(a.format) && CONVERTIBLE_IMAGE_EXTS.has(ext));
|
|
549
|
+
return sole && transcodable(sole) ? sole : null;
|
|
628
550
|
}
|
|
629
551
|
/**
|
|
630
|
-
*
|
|
631
|
-
*
|
|
632
|
-
*
|
|
552
|
+
* `-o`: save a SUCCEEDED task's default selection (or every asset with
|
|
553
|
+
* `allAssets`) into a directory with a `meta.json` sidecar, or one asset into
|
|
554
|
+
* a file path with a `<stem>_meta.json` sidecar. Every planned path is checked
|
|
555
|
+
* before any request: inside the workspace, and not already there.
|
|
633
556
|
*/
|
|
634
|
-
function
|
|
635
|
-
const
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
result: { ...(err.result ?? {}), downloads },
|
|
649
|
-
cause: err,
|
|
650
|
-
});
|
|
651
|
-
}
|
|
652
|
-
return new CliError({ code: "local_io", message: `download failed for ${artifact.key}: ${message}`, result: { downloads }, cause: err });
|
|
653
|
-
}
|
|
654
|
-
export async function downloadArtifacts(task, outputPath, resource, opts = {}) {
|
|
655
|
-
const artifacts = enumerateArtifacts(task);
|
|
656
|
-
// An explicit workspace is the root for everything written here — the
|
|
657
|
-
// directory, every planned file and the sidecar — checked before mkdir.
|
|
658
|
-
const workspaceRoot = opts.root === undefined ? null : typeof opts.root === "string" ? freezeRoot(opts.root, { label: "--workspace" }) : opts.root;
|
|
659
|
-
if (artifacts.length === 0) {
|
|
660
|
-
// Report-only tasks (analyze-printability) carry their result in a
|
|
661
|
-
// structured field instead of downloadable files. Persist the full task
|
|
662
|
-
// JSON so `-o` still means "give me the result on disk".
|
|
663
|
-
if (task.printability != null) {
|
|
664
|
-
return saveReportOnly(task, outputPath, resource, workspaceRoot);
|
|
557
|
+
export async function downloadTaskAssets(task, outputPath, descriptor, opts = {}) {
|
|
558
|
+
const all = enumerateAssets(task, descriptor).assets;
|
|
559
|
+
if (all.length === 0)
|
|
560
|
+
throw new Error(`task ${task.id} has no downloadable assets`);
|
|
561
|
+
const singleFile = looksLikeFile(outputPath);
|
|
562
|
+
if (singleFile && opts.allAssets && all.length > 1) {
|
|
563
|
+
throw new UsageError(`--all-assets saves all ${all.length} files of task ${task.id} and needs a directory — '${outputPath}' looks like a file (e.g. '${stripExt(outputPath)}')`);
|
|
564
|
+
}
|
|
565
|
+
let selection = opts.allAssets ? { selected: [...all], skipped: [] } : selectDefaultAssets(all);
|
|
566
|
+
if (singleFile) {
|
|
567
|
+
const chosen = pickSingleFile(selection, outputPath);
|
|
568
|
+
if (!chosen) {
|
|
569
|
+
throw new UsageError(`'${outputPath}' does not name exactly one file of task ${task.id} (it has ${selection.selected.map((a) => a.filename).join(", ")}): ` +
|
|
570
|
+
`use one of those extensions, or pass a directory path for --output (e.g. '${stripExt(outputPath)}').`);
|
|
665
571
|
}
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
const
|
|
673
|
-
// Plan every path we'd write up front so we can bail before any network
|
|
674
|
-
// work when a destination already exists. This prevents silent overwrite
|
|
675
|
-
// of prior runs.
|
|
676
|
-
let targetDir;
|
|
677
|
-
const plan = [];
|
|
678
|
-
if (singleFileMode) {
|
|
679
|
-
targetDir = dirname(outputPath) || ".";
|
|
680
|
-
plan.push({ artifact: artifacts[0], target: outputPath });
|
|
681
|
-
}
|
|
682
|
-
else {
|
|
683
|
-
targetDir = outputPath;
|
|
684
|
-
for (const artifact of artifacts)
|
|
685
|
-
plan.push({ artifact, target: join(targetDir, deriveFilename(artifact)) });
|
|
686
|
-
}
|
|
687
|
-
// Per-file meta in single-file mode (`-o a.png` → `a_meta.json`) so two
|
|
688
|
-
// outputs can share a directory without trampling each other. Directory
|
|
689
|
-
// mode keeps the plain `meta.json` alongside the artifacts.
|
|
690
|
-
const metadataPath = singleFileMode
|
|
691
|
-
? `${stripExt(outputPath)}_meta.json`
|
|
692
|
-
: join(targetDir, "meta.json");
|
|
693
|
-
const existing = [...plan.map((p) => p.target), metadataPath].filter((p) => existsSync(p));
|
|
572
|
+
const reasons = new Map(selection.skipped.map((s) => [s.asset, s.reason]));
|
|
573
|
+
selection = { selected: [chosen], skipped: all.filter((a) => a !== chosen).map((asset) => ({ asset, reason: reasons.get(asset) ?? "not_selected" })) };
|
|
574
|
+
}
|
|
575
|
+
const targetDir = singleFile ? dirname(resolvePath(outputPath)) : resolvePath(outputPath);
|
|
576
|
+
const metadataPath = singleFile ? `${stripExt(resolvePath(outputPath))}_meta.json` : join(targetDir, "meta.json");
|
|
577
|
+
const planned = singleFile ? [resolvePath(outputPath)] : selection.selected.map((a) => join(targetDir, a.filename));
|
|
578
|
+
const existing = [...planned, metadataPath].filter((p) => existsSync(p));
|
|
694
579
|
if (existing.length > 0) {
|
|
695
|
-
throw new UsageError(`refusing to overwrite existing file(s):\n ${existing.join("\n ")}\n`
|
|
696
|
-
`(delete them or choose a different --output path to rerun)`);
|
|
580
|
+
throw new UsageError(`refusing to overwrite existing file(s):\n ${existing.join("\n ")}\n(delete them or choose a different --output path to rerun)`);
|
|
697
581
|
}
|
|
698
|
-
if (
|
|
699
|
-
resolveWithinRoot(targetDir,
|
|
700
|
-
for (const p of [...
|
|
701
|
-
resolveWithinRoot(p,
|
|
582
|
+
if (opts.root) {
|
|
583
|
+
resolveWithinRoot(targetDir, opts.root, { label: "output directory" });
|
|
584
|
+
for (const p of [...planned, metadataPath])
|
|
585
|
+
resolveWithinRoot(p, opts.root, { label: "planned download path" });
|
|
702
586
|
}
|
|
703
587
|
mkdirSync(targetDir, { recursive: true });
|
|
704
|
-
const root =
|
|
705
|
-
const
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
const placed = await downloadArtifact(artifact, target, root, opts.signal);
|
|
712
|
-
saved.push(placed.path);
|
|
713
|
-
files.push({ key: artifact.key, path: placed.path, bytes: placed.bytes, sha256: placed.sha256, content_type: placed.contentType, status: "written", error: null, relinked: false });
|
|
714
|
-
}
|
|
715
|
-
catch (err) {
|
|
716
|
-
files.push({ key: artifact.key, path: target, bytes: 0, sha256: "", content_type: null, status: "failed", error: err instanceof Error ? err.message : String(err), relinked: false });
|
|
717
|
-
throw downloadFailure(artifact, err, files);
|
|
718
|
-
}
|
|
719
|
-
}
|
|
720
|
-
// --- Finalisation: relink, refresh digests, publish the sidecar. Every step
|
|
721
|
-
// runs under the same failure handling as the transfers: whatever fails or is
|
|
722
|
-
// interrupted, the manifest still lists every committed file with the bytes
|
|
723
|
-
// actually on disk, and the sidecar is published like an asset (root re-proven
|
|
724
|
-
// at publication, symlink refused, exclusive — never truncating a file that
|
|
725
|
-
// appeared since the preflight).
|
|
726
|
-
const linkables = plan.map((p, i) => ({ key: p.artifact.key, path: resolvePath(saved[i]), sourceName: basenameOfUrl(p.artifact.url) }));
|
|
727
|
-
let step = "relink";
|
|
728
|
-
let materialLinks = null;
|
|
588
|
+
const root = opts.root ?? freezeRoot(targetDir, { label: "output directory" });
|
|
589
|
+
const result = await downloadAssets(selection.selected, {
|
|
590
|
+
...(singleFile ? { targetFile: resolvePath(outputPath) } : { targetDir }),
|
|
591
|
+
root,
|
|
592
|
+
...(opts.signal ? { signal: opts.signal } : {}),
|
|
593
|
+
});
|
|
594
|
+
const skipped = selection.skipped.map((s) => ({ key: s.asset.key, reason: s.reason }));
|
|
729
595
|
try {
|
|
730
596
|
if (opts.signal?.aborted)
|
|
731
|
-
throw
|
|
732
|
-
|
|
733
|
-
step = "digest";
|
|
734
|
-
if (materialLinks) {
|
|
735
|
-
for (const path of materialLinks.rewritten) {
|
|
736
|
-
const entry = files.find((f) => resolvePath(f.path) === path);
|
|
737
|
-
if (!entry)
|
|
738
|
-
continue;
|
|
739
|
-
const digest = fileDigest(path);
|
|
740
|
-
entry.bytes = digest.bytes;
|
|
741
|
-
entry.sha256 = digest.sha256;
|
|
742
|
-
entry.relinked = true;
|
|
743
|
-
}
|
|
744
|
-
for (const w of materialLinks.warnings)
|
|
745
|
-
logger.warn(w.message);
|
|
746
|
-
}
|
|
747
|
-
step = "sidecar";
|
|
748
|
-
if (opts.signal?.aborted)
|
|
749
|
-
throw interruptedBefore("the sidecar was written");
|
|
750
|
-
writeMeta(task, resource, metadataPath, saved, root);
|
|
597
|
+
throw new CliError({ code: "interrupted", message: "interrupted before the sidecar was written; nothing further was written" });
|
|
598
|
+
writeMeta(task, descriptor.id, metadataPath, result.files.map((f) => f.path), skipped, root);
|
|
751
599
|
}
|
|
752
600
|
catch (err) {
|
|
753
|
-
throw
|
|
601
|
+
throw sidecarFailure(err, result.files, opts.signal);
|
|
754
602
|
}
|
|
755
|
-
return {
|
|
756
|
-
}
|
|
757
|
-
function deriveFilename(artifact) {
|
|
758
|
-
if (artifact.filename)
|
|
759
|
-
return artifact.filename;
|
|
760
|
-
if (artifact.key.startsWith("model_")) {
|
|
761
|
-
const ext = artifact.key.slice("model_".length);
|
|
762
|
-
return `model.${ext}`;
|
|
763
|
-
}
|
|
764
|
-
if (artifact.key === "thumbnail") {
|
|
765
|
-
return `thumbnail.${artifact.preferredExt || "png"}`;
|
|
766
|
-
}
|
|
767
|
-
// Keys from `result.*_url` (animate / rigging) arrive like
|
|
768
|
-
// "animation_glb_url". The trailing "_url" is structural; the real name
|
|
769
|
-
// is what precedes it.
|
|
770
|
-
const stem = artifact.key.replace(/_url$/, "");
|
|
771
|
-
// Unknown extension → leave it off; downloadArtifact will append the
|
|
772
|
-
// content-type-derived extension so we don't emit a bogus `.bin`.
|
|
773
|
-
return artifact.preferredExt ? `${stem}.${artifact.preferredExt}` : stem;
|
|
774
|
-
}
|
|
775
|
-
/** Fetch one artifact into place. Errors keep their class: a CliError from the fetch/publish core is rethrown untouched. */
|
|
776
|
-
async function downloadArtifact(artifact, targetPath, root, signal) {
|
|
777
|
-
logger.debug(`GET ${redact(artifact.url)}`);
|
|
778
|
-
const fetched = await fetchToTemp(artifact.url, targetPath, { signal });
|
|
779
|
-
const actualExt = extFromContentType(fetched.contentType);
|
|
780
|
-
const requestedExt = extname(targetPath).slice(1).toLowerCase();
|
|
781
|
-
let finalPath = targetPath;
|
|
782
|
-
let tmp = fetched.tmpPath;
|
|
783
|
-
let bytes = fetched.bytes;
|
|
784
|
-
let sha = fetched.sha256;
|
|
785
|
-
try {
|
|
786
|
-
if (!requestedExt && actualExt) {
|
|
787
|
-
// No extension requested (e.g. unknown-format image artifact) — pick one
|
|
788
|
-
// from the content-type so the file has a reasonable suffix.
|
|
789
|
-
finalPath = `${targetPath}.${actualExt}`;
|
|
790
|
-
}
|
|
791
|
-
else if (actualExt && requestedExt && actualExt !== requestedExt && !extEquivalent(actualExt, requestedExt)) {
|
|
792
|
-
if (CONVERTIBLE_IMAGE_EXTS.has(actualExt) && CONVERTIBLE_IMAGE_EXTS.has(requestedExt)) {
|
|
793
|
-
// Both sides are image formats sharp understands — convert.
|
|
794
|
-
logger.debug(`converting ${actualExt} → ${requestedExt} for ${artifact.key}`);
|
|
795
|
-
const converted = `${tmp}.conv`;
|
|
796
|
-
await convertImage(readFileSync(tmp), requestedExt, converted);
|
|
797
|
-
removeQuietly(tmp);
|
|
798
|
-
tmp = converted;
|
|
799
|
-
const digest = fileDigest(converted);
|
|
800
|
-
bytes = digest.bytes;
|
|
801
|
-
sha = digest.sha256;
|
|
802
|
-
}
|
|
803
|
-
else {
|
|
804
|
-
// Can't convert safely — save with the true extension so the file isn't a lie.
|
|
805
|
-
finalPath = `${targetPath.slice(0, targetPath.length - (requestedExt.length + 1))}.${actualExt}`;
|
|
806
|
-
logger.warn(`extension mismatch for ${artifact.key}: requested .${requestedExt}, got ${fetched.contentType || "?"}; ` +
|
|
807
|
-
`cannot transcode ${actualExt} → ${requestedExt}, saving as ${finalPath}`);
|
|
808
|
-
}
|
|
809
|
-
}
|
|
810
|
-
if (signal?.aborted)
|
|
811
|
-
throw new CliError({ code: "interrupted", message: `interrupted before ${artifact.key} was published` });
|
|
812
|
-
// The final name may differ from the pre-checked one; it still may not
|
|
813
|
-
// clobber anything and must stay under the output directory.
|
|
814
|
-
const resolved = resolveWithinRoot(finalPath, root, { label: "download target" }).path;
|
|
815
|
-
publishTempFile(tmp, resolved, { overwrite: false });
|
|
816
|
-
}
|
|
817
|
-
catch (err) {
|
|
818
|
-
removeQuietly(tmp);
|
|
819
|
-
throw err;
|
|
820
|
-
}
|
|
821
|
-
return { path: finalPath === targetPath ? targetPath : finalPath, bytes, sha256: sha, contentType: fetched.contentType };
|
|
603
|
+
return { files: result.files, skipped, metadataPath, materialLinks: result.materialLinks, warnings: result.warnings };
|
|
822
604
|
}
|
|
823
605
|
/**
|
|
824
|
-
*
|
|
825
|
-
*
|
|
826
|
-
*
|
|
827
|
-
* - `-o some/dir/` (or any non-file path): write `meta.json` inside,
|
|
828
|
-
* matching the directory-mode layout used elsewhere.
|
|
829
|
-
* Other single-file extensions are rejected — the data is JSON, lying about
|
|
830
|
-
* the extension would be worse than a clear error. Every path is proven inside
|
|
831
|
-
* the workspace (when given) before any directory or file is created.
|
|
606
|
+
* The sidecar failed (or was interrupted) after every asset landed: the
|
|
607
|
+
* manifest keeps each committed file with the bytes on disk; an interrupt is
|
|
608
|
+
* `interrupted` (130), everything else keeps its class.
|
|
832
609
|
*/
|
|
833
|
-
function
|
|
834
|
-
|
|
835
|
-
const
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
throw new UsageError(`refusing to overwrite existing file:\n ${outputPath}\n` +
|
|
843
|
-
`(delete it or choose a different --output path to rerun)`);
|
|
844
|
-
}
|
|
845
|
-
if (workspaceRoot)
|
|
846
|
-
resolveWithinRoot(abs, workspaceRoot, { label: "report path" });
|
|
847
|
-
writeJsonFile(abs, { resource, task, downloaded_at: new Date().toISOString() }, { overwrite: false, mode: 0o644 });
|
|
848
|
-
return { savedFiles: [], metadataPath: abs, materialLinks: null, files: [] };
|
|
849
|
-
}
|
|
850
|
-
const metadataPath = join(abs, "meta.json");
|
|
851
|
-
if (existsSync(metadataPath)) {
|
|
852
|
-
throw new UsageError(`refusing to overwrite existing file:\n ${metadataPath}\n` +
|
|
853
|
-
`(delete it or choose a different --output path to rerun)`);
|
|
854
|
-
}
|
|
855
|
-
if (workspaceRoot) {
|
|
856
|
-
resolveWithinRoot(abs, workspaceRoot, { label: "output directory" });
|
|
857
|
-
resolveWithinRoot(metadataPath, workspaceRoot, { label: "planned download path" });
|
|
858
|
-
}
|
|
859
|
-
mkdirSync(abs, { recursive: true });
|
|
860
|
-
writeMeta(task, resource, metadataPath, [], workspaceRoot ?? freezeRoot(abs, { label: "output directory" }));
|
|
861
|
-
return { savedFiles: [], metadataPath, materialLinks: null, files: [] };
|
|
610
|
+
function sidecarFailure(err, files, signal) {
|
|
611
|
+
redigest(files);
|
|
612
|
+
const downloads = { state: "partial", files, metadata_path: null, failed_step: "sidecar" };
|
|
613
|
+
const interrupted = (err instanceof CliError && err.code === "interrupted") || Boolean(signal?.aborted);
|
|
614
|
+
const message = `${files.length} file(s) were written but the sidecar step ${interrupted ? "was interrupted" : "failed"}: ${err instanceof Error ? err.message : String(err)}`;
|
|
615
|
+
if (err instanceof CliError) {
|
|
616
|
+
return new CliError({ code: interrupted ? "interrupted" : err.code, message, httpStatus: err.httpStatus, retryable: err.retryable, recovery: err.recovery, hint: err.hint, details: err.details, warnings: err.warnings, result: { ...(err.result ?? {}), downloads }, cause: err });
|
|
617
|
+
}
|
|
618
|
+
return new CliError({ code: interrupted ? "interrupted" : "local_io", message, result: { downloads }, cause: err });
|
|
862
619
|
}
|
|
863
620
|
/**
|
|
864
|
-
* The
|
|
865
|
-
*
|
|
621
|
+
* The sidecar (`meta.json` / `<stem>_meta.json`): the full task — every URL,
|
|
622
|
+
* so `meshy download --task-json` can fetch a skipped asset later — the saved
|
|
623
|
+
* paths and what was skipped. Published under the root re-proven at
|
|
866
624
|
* publication time (a symlink or file that appeared since the preflight is
|
|
867
|
-
* refused, never followed or truncated)
|
|
625
|
+
* refused, never followed or truncated); the write is exclusive and atomic.
|
|
868
626
|
*/
|
|
869
|
-
function writeMeta(task, resource, path, savedFiles, root) {
|
|
870
|
-
const meta = {
|
|
871
|
-
resource,
|
|
872
|
-
task,
|
|
873
|
-
saved_files: savedFiles,
|
|
874
|
-
downloaded_at: new Date().toISOString(),
|
|
875
|
-
};
|
|
627
|
+
function writeMeta(task, resource, path, savedFiles, skipped, root) {
|
|
628
|
+
const meta = { resource, task, saved_files: savedFiles, skipped, downloaded_at: new Date().toISOString() };
|
|
876
629
|
const resolved = resolveWithinRoot(path, root, { label: "sidecar path" }).path;
|
|
877
630
|
writeJsonFile(resolved, meta, { overwrite: false, mode: 0o644 });
|
|
878
631
|
}
|
|
879
|
-
export { safeSegment as _safeSegmentForTests };
|
|
880
632
|
//# sourceMappingURL=download.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download.js","sourceRoot":"","sources":["../../src/internal/download.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACtI,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,WAAW,CAAC;AAC/F,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAmB,iBAAiB,EAAE,aAAa,EAAE,WAAW,EAAuB,MAAM,YAAY,CAAC;AACvI,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAc,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,eAAe,EAA2B,MAAM,qBAAqB,CAAC;AAE3F,8CAA8C;AAC9C,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AAErG,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,sDAAsD;IACtD,QAAQ,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;IAChC,SAAS,EAAE,OAAO;IAClB,YAAY,EAAE,CAAC;CACP,CAAC;AAeX,MAAM,CAAC,MAAM,uBAAuB,GAAmB,EAAE,iBAAiB,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,CAAC;AAkB/G,SAAS,cAAc,CAAC,IAAY;IAClC,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACrD,OAAO,CAAC,KAAK,WAAW,IAAI,CAAC,KAAK,KAAK,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACrD,MAAM,EAAE,GAAG,8BAA8B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClD,IAAI,EAAE,EAAE,CAAC;QACP,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,EAAE;YAAE,OAAO,IAAI,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO,IAAI,CAAC;QACjD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QACxC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QACxC,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACpB,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC,WAAW;QAC9C,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC,YAAY;QAClD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,gBAAgB,CAAC,GAAW,EAAE,MAAsB,EAAE,KAAK,GAAG,WAAW;IACvF,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,KAAK,wBAAwB,GAAG,EAAE,EAAE,CAAC,CAAC;IAC7F,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ;QAAE,MAAM,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,KAAK,wCAAwC,EAAE,CAAC,CAAC;IACxI,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC1D,MAAM,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,KAAK,yBAAyB,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACvG,CAAC;IACD,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC9C,IAAI,CAAC,QAAQ,IAAI,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC;QAC/E,MAAM,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,KAAK,yCAAyC,GAAG,CAAC,QAAQ,YAAY,EAAE,CAAC,CAAC;IACjI,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,KAAK,uBAAuB,GAAG,CAAC,QAAQ,4DAA4D,EAAE,CAAC,CAAC;IAC/J,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAAc,EAAE,MAAc,EAAE,IAAI,GAAiB,EAAE;IACvF,MAAM,MAAM,GAAmB,EAAE,GAAG,uBAAuB,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;IACtF,MAAM,MAAM,GAAmB,EAAE,GAAG,uBAAuB,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;IACtF,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,UAAU,CAAC,KAAK,CAAC;IACrD,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,4BAA4B,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IAChI,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;IAEnG,IAAI,GAAG,GAAG,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,IAAI,CAAC;QACH,IAAI,IAAI,GAAoB,IAAI,CAAC;QACjC,KAAK,IAAI,GAAG,GAAG,CAAC,GAAI,GAAG,EAAE,EAAE,CAAC;YAC1B,IAAI,CAAW,CAAC;YAChB,IAAI,CAAC;gBACH,CAAC,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YAChI,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO;oBAAE,MAAM,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,eAAe,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC;gBACzH,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO;oBAAE,MAAM,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,MAAM,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;gBACpJ,MAAM,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,MAAM,CAAC,GAAG,CAAC,YAAY,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YACzJ,CAAC;YACD,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;gBACtC,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBACtC,MAAM,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBAC9C,IAAI,CAAC,GAAG;oBAAE,MAAM,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,iBAAiB,MAAM,CAAC,GAAG,CAAC,4BAA4B,EAAE,CAAC,CAAC;gBACrH,IAAI,GAAG,IAAI,MAAM,CAAC,YAAY;oBAAE,MAAM,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,kCAAkC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;gBAClI,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC/B,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;oBAC3D,MAAM,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,iDAAiD,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;gBACtH,CAAC;gBACD,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC;gBAC7D,SAAS;YACX,CAAC;YACD,IAAI,GAAG,CAAC,CAAC;YACT,MAAM;QACR,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,MAAM,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACjD,MAAM,IAAI,QAAQ,CAAC;gBACjB,IAAI,EAAE,IAAI,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;gBACtI,OAAO,EAAE,uBAAuB,MAAM,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG;gBAClH,UAAU,EAAE,IAAI,CAAC,MAAM;gBACvB,OAAO,EAAE,EAAE,iBAAiB,EAAE,IAAI,CAAC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE;aAClG,CAAC,CAAC;QACL,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACpD,IAAI,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;YACnD,MAAM,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACjD,MAAM,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,MAAM,CAAC,GAAG,CAAC,aAAa,QAAQ,qBAAqB,MAAM,CAAC,QAAQ,aAAa,EAAE,CAAC,CAAC;QAChJ,CAAC;QACD,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;QAClC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAA2D,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClI,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC;YAC5B,SAAS,CAAC,KAAa,EAAE,IAAI,EAAE,EAAE;gBAC/B,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC;gBACtB,IAAI,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;oBAC5B,EAAE,CAAC,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,MAAM,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,QAAQ,aAAa,EAAE,CAAC,CAAC,CAAC;oBAClH,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACnB,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAClB,CAAC;SACF,CAAC,CAAC;QACH,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,iBAAiB,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC/E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,aAAa,CAAC,OAAO,CAAC,CAAC;YACvB,IAAI,GAAG,YAAY,QAAQ;gBAAE,MAAM,GAAG,CAAC;YACvC,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO;gBAAE,MAAM,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,eAAe,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC;YACzH,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO;gBAAE,MAAM,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,MAAM,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;YACpJ,MAAM,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,MAAM,CAAC,GAAG,CAAC,uBAAuB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QACpK,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;IAChJ,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,MAAM,CAAC,GAAiB;IACtC,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACvD,OAAO,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,eAAe,CAAC;IACzB,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IACjC,IAAI,CAAC;QACH,UAAU,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IAAC,MAAM,CAAC;QACP,UAAU;IACZ,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E,MAAM,UAAU,kBAAkB,CAAC,EAAiB;IAClD,IAAI,CAAC,EAAE;QAAE,OAAO,EAAE,CAAC;IACnB,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACpD,MAAM,GAAG,GAA2B;QAClC,YAAY,EAAE,KAAK;QACnB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,MAAM;QACpB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,MAAM;QACpB,WAAW,EAAE,KAAK;QAClB,mBAAmB,EAAE,KAAK;QAC1B,iBAAiB,EAAE,MAAM;QACzB,WAAW,EAAE,KAAK;QAClB,oBAAoB,EAAE,MAAM;QAC5B,WAAW,EAAE,KAAK;QAClB,WAAW,EAAE,KAAK;QAClB,iBAAiB,EAAE,KAAK;QACxB,kBAAkB,EAAE,MAAM;QAC1B,WAAW,EAAE,KAAK;KACnB,CAAC;IACF,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC;AAED,SAAS,aAAa,CAAC,CAAS,EAAE,CAAS;IACzC,MAAM,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACpE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,CAAC,GAAG,EAAE;IACpC,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC/B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACxC,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAC/B,CAAC;YAAS,CAAC;QACT,SAAS,CAAC,EAAE,CAAC,CAAC;IAChB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,OAAe,EAAE,cAA6B,EAAE,IAAmB,EAAE,WAA0B;IAC7H,MAAM,EAAE,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACnE,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IACnD,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,WAAW,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAC1K,MAAM,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,kFAAkF,EAAE,CAAC,CAAC;IAC1I,CAAC;IACD,IAAI,cAAc,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,MAAM,CAAC,EAAE,CAAC;QACxG,MAAM,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,4FAA4F,EAAE,CAAC,CAAC;IACpJ,CAAC;IACD,IAAI,cAAc,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;QAC5F,MAAM,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,uEAAuE,EAAE,CAAC,CAAC;IAC/H,CAAC;AACH,CAAC;AA+CD,SAAS,WAAW,CAAC,KAAY,EAAE,UAA8B;IAC/D,IAAI,UAAU;QAAE,OAAO,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC5C,OAAO,KAAK,CAAC,QAAQ,CAAC;AACxB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAwB,EAAE,IAA2B;IACxF,IAAI,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,UAAU,CAAC,oCAAoC,MAAM,CAAC,MAAM,wDAAwD,CAAC,CAAC;IAClI,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,UAAU,CAAC,yCAAyC,CAAC,CAAC;IACzG,MAAM,KAAK,GAAqB,EAAE,CAAC;IACnC,MAAM,QAAQ,GAA6C,EAAE,CAAC;IAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,SAAU,CAAC,CAAC;IACnG,+EAA+E;IAC/E,6EAA6E;IAC7E,MAAM,IAAI,GAAmB,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IACzH,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;IAC3B,uEAAuE;IACvE,yEAAyE;IACzE,4EAA4E;IAC5E,iBAAiB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAC5D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;IAC9G,CAAC;IACD,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEpC,IAAI,SAAiD,CAAC;IACtD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAC/D,IAAI,KAAqB,CAAC;QAC1B,IAAI,CAAC;YACH,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC5B,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC;gBAC/H,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,KAAK,EAAE,CAAC,CAAC;gBACxF,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;gBACpC,KAAK,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;YACzU,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,KAAK,CAAC,GAAG;oBAAE,MAAM,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,KAAK,CAAC,GAAG,aAAa,EAAE,CAAC,CAAC;gBACrG,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;gBACpB,IAAI,OAAoB,CAAC;gBACzB,IAAI,CAAC;oBACH,OAAO,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;gBAClD,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,OAAO,GAAG,GAAG,YAAY,QAAQ,IAAK,GAAG,CAAC,OAAuD,EAAE,iBAAiB,CAAC;oBAC3H,IAAI,OAAO,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;wBAChC,IAAI,SAAS,KAAK,SAAS;4BAAE,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;wBAClE,MAAM,KAAK,GAAG,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBACxC,IAAI,KAAK,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;4BAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,GAAG,qDAAqD,EAAE,CAAC,CAAC;4BAC3H,GAAG,GAAG,KAAK,CAAC;4BACZ,OAAO,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;wBAClD,CAAC;;4BAAM,MAAM,GAAG,CAAC;oBACnB,CAAC;;wBAAM,MAAM,GAAG,CAAC;gBACnB,CAAC;gBACD,KAAK,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,MAAM,MAAM,GAAmB,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,CAAC,eAAe,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;YAC3S,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnB,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC;YACtB,MAAM,IAAI,GAAG,GAAG,YAAY,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;YAC7D,MAAM,IAAI,QAAQ,CAAC;gBACjB,IAAI,EAAE,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU;gBACtI,OAAO,EAAE,GAAG,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE;gBACnC,UAAU,EAAE,GAAG,YAAY,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI;gBAC3D,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE;gBAC9H,QAAQ;gBACR,KAAK,EAAE,GAAG;aACX,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAU,CAAC,CAAC,CAAC;IAClG,IAAI,aAAa,GAA8B,IAAI,CAAC;IACpD,IAAI,CAAC;QACH,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO;YAAE,MAAM,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,0DAA0D,EAAE,CAAC,CAAC;QAC3I,aAAa,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,gEAAgE;QAChE,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChB,MAAM,WAAW,GAAG,CAAC,GAAG,YAAY,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC7G,MAAM,IAAI,QAAQ,CAAC;YACjB,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,YAAY,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU;YACnF,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,+DAA+D,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;YACxL,UAAU,EAAE,GAAG,YAAY,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI;YAC3D,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE;YAC9F,QAAQ;YACR,KAAK,EAAE,GAAG;SACX,CAAC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;AAClG,CAAC;AAED,kHAAkH;AAClH,SAAS,QAAQ,CAAC,KAAgG;IAChH,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS;YAAE,SAAS;QACrC,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;gBAAE,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;YAC7C,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;YAClB,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QACtB,CAAC;QAAC,MAAM,CAAC;YACP,8BAA8B;QAChC,CAAC;IACH,CAAC;AACH,CAAC;AAED,gHAAgH;AAChH,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9E,IAAI,IAAI,GAAG,OAAO,CAAC;QACnB,IAAI,CAAC;YACH,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,0BAA0B;QAC5B,CAAC;QACD,OAAO,IAAI,IAAI,IAAI,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,sHAAsH;AACtH,KAAK,UAAU,aAAa,CAAC,KAAuB,EAAE,QAAkD,EAAE,OAAmC,EAAE,MAA+B;IAC5K,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,gBAAgB,KAAK,IAAI,CAAC,CAAC;IAC3F,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5I,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAChC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC7B,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;IACxB,CAAC;IACD,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;IACjC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,GAAG,CAAC,IAAY,EAAE,IAAY;IACrC,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/B,OAAO,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAClE,CAAC;AAED,6FAA6F;AAC7F,KAAK,UAAU,YAAY,CACzB,KAAY,EACZ,OAAoB,EACpB,OAAe,EACf,IAAoB,EACpB,IAA2B,EAC3B,QAAkD;IAElD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;IAC3B,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1D,MAAM,YAAY,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IACrD,IAAI,SAAS,GAAG,OAAO,CAAC;IACxB,IAAI,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAC1B,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC1B,IAAI,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAEzB,IAAI,KAAK,CAAC,eAAe,KAAK,KAAK,EAAE,CAAC;QACpC,+DAA+D;QAC/D,IAAI,YAAY,KAAK,KAAK;YAAE,SAAS,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC;IACrE,CAAC;SAAM,IAAI,CAAC,YAAY,IAAI,SAAS,EAAE,CAAC;QACtC,SAAS,GAAG,GAAG,OAAO,IAAI,SAAS,EAAE,CAAC;IACxC,CAAC;SAAM,IAAI,YAAY,IAAI,SAAS,IAAI,YAAY,KAAK,SAAS,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,SAAS,CAAC,EAAE,CAAC;QAC9G,IAAI,sBAAsB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,sBAAsB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YACtF,MAAM,SAAS,GAAG,GAAG,GAAG,OAAO,CAAC;YAChC,MAAM,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;YAC/D,aAAa,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,GAAG,SAAS,CAAC;YAChB,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC;YACjC,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACzE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,GAAG,iBAAiB,SAAS,mBAAmB,YAAY,eAAe,EAAE,CAAC,CAAC;QAC7I,CAAC;aAAM,CAAC;YACN,SAAS,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,SAAS,EAAE,CAAC;YAChD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,GAAG,gBAAgB,YAAY,wBAAwB,OAAO,CAAC,WAAW,IAAI,SAAS,cAAc,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/L,CAAC;IACH,CAAC;IAED,MAAM,cAAc,GAAG,KAAK,CAAC,eAAe,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC;IAC3G,IAAI,IAAI,CAAC,eAAe,KAAK,KAAK,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,eAAe,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QACxE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,aAAa,CAAC,GAAG,CAAC,CAAC;YACnB,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,kEAAkE;IAClE,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACH,QAAQ,GAAG,iBAAiB,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC,CAAC,IAAI,CAAC;IACvF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,aAAa,CAAC,GAAG,CAAC,CAAC;QACnB,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,KAAK,EAAE,CAAC,CAAC;IACnF,OAAO;QACL,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,IAAI,EAAE,QAAQ;QACd,aAAa,EAAE,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC;QACtC,KAAK;QACL,MAAM,EAAE,GAAG;QACX,YAAY,EAAE,OAAO,CAAC,WAAW;QACjC,MAAM,EAAE,KAAK,CAAC,eAAe,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM;QAClG,gBAAgB,EAAE,KAAK,CAAC,eAAe;QACvC,SAAS,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;QAC/C,MAAM,EAAE,SAAS;QACjB,KAAK,EAAE,IAAI;QACX,cAAc,EAAE,GAAG,CAAC,MAAM;QAC1B,QAAQ,EAAE,KAAK;KAChB,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY;IAC5B,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACjD,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,MAAc,EAAE,SAAiB,EAAE,UAAkB;IAC/E,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3B,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,KAAK,CAAC;QACX,KAAK,MAAM;YACT,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACpD,OAAO;QACT,KAAK,KAAK;YACR,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACpC,OAAO;QACT,KAAK,MAAM;YACT,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACpD,OAAO;QACT,KAAK,KAAK;YACR,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACpC,OAAO;QACT,KAAK,MAAM,CAAC;QACZ,KAAK,KAAK;YACR,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACrC,OAAO;QACT,KAAK,MAAM;YACT,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACpD,OAAO;QACT;YACE,MAAM,IAAI,KAAK,CAAC,uCAAuC,SAAS,EAAE,CAAC,CAAC;IACxE,CAAC;AACH,CAAC;AAiBD,MAAM,UAAU,kBAAkB,CAAC,IAAU;IAC3C,MAAM,GAAG,GAAe,EAAE,CAAC;IAE3B,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,2EAA2E;QAC3E,wEAAwE;QACxE,yEAAyE;QACzE,2EAA2E;QAC3E,2DAA2D;QAC3D,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,IAAI,IAAI,CAAC;QAChE,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACzD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,EAAE,CAAC;gBACnC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;gBAC5C,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,SAAS,GAAG,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YACpH,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,CAAC,aAAa,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QACrC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;YACnC,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9C,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,EAAE,CAAC;oBACnC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,IAAI,IAAI,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;gBACtE,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;YACjC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,EAAE,CAAC;gBACnC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC;YACzD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qEAAqE;IACrE,uDAAuD;IACvD,IAAI,IAAI,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACnD,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAClD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACvD,IAAI,GAAG,KAAK,kBAAkB,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9F,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,EAAE,CAAC;oBAC1E,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;wBAAE,SAAS;oBAC/D,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;oBAC1E,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,oBAAoB,GAAG,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC9G,CAAC;gBACD,SAAS;YACX,CAAC;YACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;gBAAE,SAAS;YACnE,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;YAC1E,IAAI,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,IAAI,GAAG,KAAK,YAAY,IAAI,CAAC,YAAY,KAAK,KAAK,IAAI,YAAY,KAAK,KAAK,CAAC,EAAE,CAAC;gBAC/E,YAAY,GAAG,YAAY,CAAC;YAC9B,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1C,CAAC;AAoCD,SAAS,iBAAiB,CAAC,IAAY;IACrC,OAAO,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,sBAAsB,IAAI,+BAA+B,EAAE,CAAC,CAAC;AACnH,CAAC;AAED;;;;;GAKG;AACH,SAAS,mBAAmB,CAAC,IAAqC,EAAE,GAAY,EAAE,KAA6B,EAAE,MAA+B;IAC9I,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChB,MAAM,SAAS,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IACtF,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;IACnE,MAAM,WAAW,GAAG,CAAC,GAAG,YAAY,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxG,MAAM,OAAO,GAAG,GAAG,OAAO,iCAAiC,IAAI,SAAS,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;IAC1K,IAAI,GAAG,YAAY,QAAQ,EAAE,CAAC;QAC5B,OAAO,IAAI,QAAQ,CAAC;YAClB,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI;YAC5C,OAAO;YACP,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,MAAM,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE;YAC5C,KAAK,EAAE,GAAG;SACX,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;AACtH,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,QAAkB,EAAE,GAAY,EAAE,KAA6B;IACtF,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACjE,MAAM,SAAS,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;IAC1H,IAAI,GAAG,YAAY,QAAQ,EAAE,CAAC;QAC5B,OAAO,IAAI,QAAQ,CAAC;YAClB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,uBAAuB,QAAQ,CAAC,GAAG,KAAK,OAAO,EAAE;YAC1D,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,MAAM,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE;YAC5C,KAAK,EAAE,GAAG;SACX,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,uBAAuB,QAAQ,CAAC,GAAG,KAAK,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;AAC3I,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,IAAU,EACV,UAAkB,EAClB,QAAgB,EAChB,IAAI,GAA6B,EAAE;IAEnC,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC3C,sEAAsE;IACtE,wEAAwE;IACxE,MAAM,aAAa,GAA0B,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IAC1K,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,mEAAmE;QACnE,wEAAwE;QACxE,yDAAyD;QACzD,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;YAC9B,OAAO,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QACnE,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,EAAE,gCAAgC,CAAC,CAAC;IACnE,CAAC;IAED,IAAI,aAAa,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,UAAU,CAClB,QAAQ,IAAI,CAAC,EAAE,aAAa,SAAS,CAAC,MAAM,iBAAiB,UAAU,uBAAuB;YAC5F,qDAAqD,QAAQ,CAAC,UAAU,CAAC,KAAK,CACjF,CAAC;IACJ,CAAC;IACD,MAAM,cAAc,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;IAEjD,wEAAwE;IACxE,yEAAyE;IACzE,iBAAiB;IACjB,IAAI,SAAiB,CAAC;IACtB,MAAM,IAAI,GAAkD,EAAE,CAAC;IAC/D,IAAI,cAAc,EAAE,CAAC;QACnB,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;IAC7D,CAAC;SAAM,CAAC;QACN,SAAS,GAAG,UAAU,CAAC;QACvB,KAAK,MAAM,QAAQ,IAAI,SAAS;YAAE,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;IAC/G,CAAC;IACD,wEAAwE;IACxE,wEAAwE;IACxE,4DAA4D;IAC5D,MAAM,YAAY,GAAG,cAAc;QACjC,CAAC,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,YAAY;QACrC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAEjC,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3F,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,UAAU,CAClB,8CAA8C,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI;YACrE,4DAA4D,CAC/D,CAAC;IACJ,CAAC;IAED,IAAI,aAAa,EAAE,CAAC;QAClB,iBAAiB,CAAC,SAAS,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAC3E,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;YAAE,iBAAiB,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;IACxI,CAAC;IAED,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAmB,aAAa,IAAI,UAAU,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACnG,MAAM,KAAK,GAA2B,EAAE,CAAC;IACzC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;QACxC,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO;YAAE,MAAM,eAAe,CAAC,QAAQ,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,GAAG,iBAAiB,CAAC,EAAE,KAAK,CAAC,CAAC;QACtH,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3E,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QACtL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YACtL,MAAM,eAAe,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IACD,6EAA6E;IAC7E,8EAA8E;IAC9E,4EAA4E;IAC5E,+EAA+E;IAC/E,4EAA4E;IAC5E,iCAAiC;IACjC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACzI,IAAI,IAAI,GAAoC,QAAQ,CAAC;IACrD,IAAI,aAAa,GAA8B,IAAI,CAAC;IACpD,IAAI,CAAC;QACH,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO;YAAE,MAAM,iBAAiB,CAAC,uCAAuC,CAAC,CAAC;QAC3F,aAAa,GAAG,MAAM,eAAe,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1E,IAAI,GAAG,QAAQ,CAAC;QAChB,IAAI,aAAa,EAAE,CAAC;YAClB,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,SAAS,EAAE,CAAC;gBAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;gBAC9D,IAAI,CAAC,KAAK;oBAAE,SAAS;gBACrB,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;gBAChC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;gBAC3B,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC7B,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;YACxB,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,aAAa,CAAC,QAAQ;gBAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,GAAG,SAAS,CAAC;QACjB,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO;YAAE,MAAM,iBAAiB,CAAC,yBAAyB,CAAC,CAAC;QAC7E,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,mBAAmB,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;AACnE,CAAC;AAED,SAAS,cAAc,CAAC,QAAkB;IACxC,IAAI,QAAQ,CAAC,QAAQ;QAAE,OAAO,QAAQ,CAAC,QAAQ,CAAC;IAChD,IAAI,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAChD,OAAO,SAAS,GAAG,EAAE,CAAC;IACxB,CAAC;IACD,IAAI,QAAQ,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;QACjC,OAAO,aAAa,QAAQ,CAAC,YAAY,IAAI,KAAK,EAAE,CAAC;IACvD,CAAC;IACD,2DAA2D;IAC3D,wEAAwE;IACxE,uBAAuB;IACvB,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC/C,qEAAqE;IACrE,kEAAkE;IAClE,OAAO,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3E,CAAC;AASD,4HAA4H;AAC5H,KAAK,UAAU,gBAAgB,CAAC,QAAkB,EAAE,UAAkB,EAAE,IAAoB,EAAE,MAA+B;IAC3H,MAAM,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACxE,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1D,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAChE,IAAI,SAAS,GAAG,UAAU,CAAC;IAC3B,IAAI,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAC1B,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC1B,IAAI,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAEzB,IAAI,CAAC;QACH,IAAI,CAAC,YAAY,IAAI,SAAS,EAAE,CAAC;YAC/B,yEAAyE;YACzE,6DAA6D;YAC7D,SAAS,GAAG,GAAG,UAAU,IAAI,SAAS,EAAE,CAAC;QAC3C,CAAC;aAAM,IAAI,SAAS,IAAI,YAAY,IAAI,SAAS,KAAK,YAAY,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,CAAC;YAC9G,IAAI,sBAAsB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,sBAAsB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;gBACtF,4DAA4D;gBAC5D,MAAM,CAAC,KAAK,CAAC,cAAc,SAAS,MAAM,YAAY,QAAQ,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC9E,MAAM,SAAS,GAAG,GAAG,GAAG,OAAO,CAAC;gBAChC,MAAM,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;gBAC/D,aAAa,CAAC,GAAG,CAAC,CAAC;gBACnB,GAAG,GAAG,SAAS,CAAC;gBAChB,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;gBACrC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;gBACrB,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,+EAA+E;gBAC/E,SAAS,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC;gBACjG,MAAM,CAAC,IAAI,CACT,0BAA0B,QAAQ,CAAC,GAAG,gBAAgB,YAAY,SAAS,OAAO,CAAC,WAAW,IAAI,GAAG,IAAI;oBACvG,oBAAoB,SAAS,MAAM,YAAY,eAAe,SAAS,EAAE,CAC5E,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,MAAM,EAAE,OAAO;YAAE,MAAM,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,sBAAsB,QAAQ,CAAC,GAAG,gBAAgB,EAAE,CAAC,CAAC;QAC9H,uEAAuE;QACvE,6DAA6D;QAC7D,MAAM,QAAQ,GAAG,iBAAiB,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAAC;QACvF,eAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,aAAa,CAAC,GAAG,CAAC,CAAC;QACnB,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;AAC3H,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,cAAc,CAAC,IAAU,EAAE,UAAkB,EAAE,QAAgB,EAAE,aAAoC;IAC5G,MAAM,cAAc,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;IACjD,MAAM,GAAG,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IACpC,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAChD,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YACnB,MAAM,IAAI,UAAU,CAClB,GAAG,QAAQ,6EAA6E,UAAU,KAAK,CACxG,CAAC;QACJ,CAAC;QACD,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,UAAU,CAClB,2CAA2C,UAAU,IAAI;gBACvD,0DAA0D,CAC7D,CAAC;QACJ,CAAC;QACD,IAAI,aAAa;YAAE,iBAAiB,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC;QACnF,aAAa,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACnH,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAC/E,CAAC;IACD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC5C,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,UAAU,CAClB,2CAA2C,YAAY,IAAI;YACzD,0DAA0D,CAC7D,CAAC;IACJ,CAAC;IACD,IAAI,aAAa,EAAE,CAAC;QAClB,iBAAiB,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC;QACrE,iBAAiB,CAAC,YAAY,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;IACrF,CAAC;IACD,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpC,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE,aAAa,IAAI,UAAU,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC;IAC7G,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,YAAY,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AAC1E,CAAC;AAED;;;;;GAKG;AACH,SAAS,SAAS,CAAC,IAAU,EAAE,QAAgB,EAAE,IAAY,EAAE,UAAoB,EAAE,IAAoB;IACvG,MAAM,IAAI,GAAG;QACX,QAAQ;QACR,IAAI;QACJ,WAAW,EAAE,UAAU;QACvB,aAAa,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACxC,CAAC;IACF,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC;IAC/E,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AACnE,CAAC;AAED,OAAO,EAAE,WAAW,IAAI,oBAAoB,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"download.js","sourceRoot":"","sources":["../../src/internal/download.ts"],"names":[],"mappings":"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"}
|