comfyui-mcp 0.48.21 → 0.48.22
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 -2
- package/dist/comfyui/client.js +46 -6
- package/dist/comfyui/client.js.map +1 -1
- package/dist/config.js +15 -0
- package/dist/config.js.map +1 -1
- package/dist/orchestrator/error-text.js +29 -1
- package/dist/orchestrator/error-text.js.map +1 -1
- package/dist/orchestrator/error-text.test.js +28 -0
- package/dist/orchestrator/error-text.test.js.map +1 -1
- package/dist/orchestrator/index.js +151 -50
- package/dist/orchestrator/index.js.map +1 -1
- package/dist/orchestrator/panel-agent.js +21 -4
- package/dist/orchestrator/panel-agent.js.map +1 -1
- package/dist/orchestrator/panel-tools.js +1098 -168
- package/dist/orchestrator/panel-tools.js.map +1 -1
- package/dist/orchestrator/ready-banner.js +70 -0
- package/dist/orchestrator/ready-banner.js.map +1 -0
- package/dist/services/api-nodes.js +5 -7
- package/dist/services/api-nodes.js.map +1 -1
- package/dist/services/download-cache.js +126 -18
- package/dist/services/download-cache.js.map +1 -1
- package/dist/services/download-jobs.js +463 -14
- package/dist/services/download-jobs.js.map +1 -1
- package/dist/services/download-progress.js +247 -2
- package/dist/services/download-progress.js.map +1 -1
- package/dist/services/env-capabilities.js +80 -9
- package/dist/services/env-capabilities.js.map +1 -1
- package/dist/services/generate-audio.js +16 -0
- package/dist/services/generate-audio.js.map +1 -1
- package/dist/services/local-models-fallback.js +7 -3
- package/dist/services/local-models-fallback.js.map +1 -1
- package/dist/services/manifest.js +180 -65
- package/dist/services/manifest.js.map +1 -1
- package/dist/services/model-resolver.js +267 -11
- package/dist/services/model-resolver.js.map +1 -1
- package/dist/services/node-management.js +38 -27
- package/dist/services/node-management.js.map +1 -1
- package/dist/services/output-dir.js +33 -3
- package/dist/services/output-dir.js.map +1 -1
- package/dist/services/panel-secrets.js +19 -7
- package/dist/services/panel-secrets.js.map +1 -1
- package/dist/services/queue-monitor.js +45 -2
- package/dist/services/queue-monitor.js.map +1 -1
- package/dist/services/queue-monitor.stall.test.js +78 -0
- package/dist/services/queue-monitor.stall.test.js.map +1 -0
- package/dist/services/secure-bridge.js +84 -0
- package/dist/services/secure-bridge.js.map +1 -1
- package/dist/services/storage/azure-blob.js +8 -3
- package/dist/services/storage/azure-blob.js.map +1 -1
- package/dist/services/storage/index.js +3 -3
- package/dist/services/storage/index.js.map +1 -1
- package/dist/services/storage/s3.js +9 -3
- package/dist/services/storage/s3.js.map +1 -1
- package/dist/services/ui-bridge.js +294 -24
- package/dist/services/ui-bridge.js.map +1 -1
- package/dist/services/workflow-converter.js +767 -72
- package/dist/services/workflow-converter.js.map +1 -1
- package/dist/services/workflow-lock.js +127 -27
- package/dist/services/workflow-lock.js.map +1 -1
- package/dist/services/workspace-env.js +48 -0
- package/dist/services/workspace-env.js.map +1 -1
- package/dist/tools/generate-audio.js +44 -0
- package/dist/tools/generate-audio.js.map +1 -1
- package/dist/tools/model-extras.js +24 -4
- package/dist/tools/model-extras.js.map +1 -1
- package/dist/tools/model-management.js +124 -14
- package/dist/tools/model-management.js.map +1 -1
- package/dist/tools/report-issue.js +220 -66
- package/dist/tools/report-issue.js.map +1 -1
- package/dist/tools/report-issue.test.js +223 -83
- package/dist/tools/report-issue.test.js.map +1 -1
- package/dist/tools/skills-access.js +7 -2
- package/dist/tools/skills-access.js.map +1 -1
- package/dist/tools/template-schema.js +5 -5
- package/dist/tools/template-schema.js.map +1 -1
- package/dist/tools/workflow-compose.js +18 -3
- package/dist/tools/workflow-compose.js.map +1 -1
- package/package.json +1 -1
- package/packs/anima/install-runpod.sh +0 -1
- package/packs/anima/install-windows.bat +0 -1
- package/packs/anima/manifest.yaml +0 -1
- package/packs/anima-img2img/install-runpod.sh +0 -1
- package/packs/anima-img2img/install-windows.bat +0 -1
- package/packs/anima-img2img/manifest.yaml +0 -1
- package/packs/anima-inpaint/install-runpod.sh +0 -1
- package/packs/anima-inpaint/install-windows.bat +0 -1
- package/packs/anima-inpaint/manifest.yaml +0 -1
- package/packs/anima-txt2img/install-runpod.sh +0 -1
- package/packs/anima-txt2img/install-windows.bat +0 -1
- package/packs/anima-txt2img/manifest.yaml +0 -1
- package/packs/artokun-flow/install-runpod.sh +0 -1
- package/packs/artokun-flow/install-windows.bat +0 -1
- package/packs/artokun-flow/manifest.yaml +0 -1
- package/packs/ernie/install-runpod.sh +0 -1
- package/packs/ernie/install-windows.bat +0 -1
- package/packs/ernie/manifest.yaml +0 -1
- package/packs/ernie-combo/install-runpod.sh +0 -1
- package/packs/ernie-combo/install-windows.bat +0 -1
- package/packs/ernie-combo/manifest.yaml +0 -1
- package/packs/ernie-img2img/install-runpod.sh +0 -1
- package/packs/ernie-img2img/install-windows.bat +0 -1
- package/packs/ernie-img2img/manifest.yaml +0 -1
- package/packs/ernie-txt2img/install-runpod.sh +0 -1
- package/packs/ernie-txt2img/install-windows.bat +0 -1
- package/packs/ernie-txt2img/manifest.yaml +0 -1
- package/packs/ideogram/install-runpod.sh +0 -1
- package/packs/ideogram/install-windows.bat +0 -1
- package/packs/ideogram/manifest.yaml +0 -1
- package/packs/ideogram-img2img/install-runpod.sh +0 -1
- package/packs/ideogram-img2img/install-windows.bat +0 -1
- package/packs/ideogram-img2img/manifest.yaml +0 -1
- package/packs/ideogram-txt2img/install-runpod.sh +0 -1
- package/packs/ideogram-txt2img/install-windows.bat +0 -1
- package/packs/ideogram-txt2img/manifest.yaml +0 -1
- package/packs/ltx-2.3/install-runpod.sh +0 -1
- package/packs/ltx-2.3/install-windows.bat +0 -1
- package/packs/ltx-2.3/manifest.yaml +0 -1
- package/packs/ltx-2.3-extender/install-runpod.sh +0 -1
- package/packs/ltx-2.3-extender/install-windows.bat +0 -1
- package/packs/ltx-2.3-extender/manifest.yaml +0 -1
- package/packs/ltx-2.3-extender-no-audio/install-runpod.sh +0 -1
- package/packs/ltx-2.3-extender-no-audio/install-windows.bat +0 -1
- package/packs/ltx-2.3-extender-no-audio/manifest.yaml +0 -1
- package/packs/ltx-2.3-flf/install-runpod.sh +0 -1
- package/packs/ltx-2.3-flf/install-windows.bat +0 -1
- package/packs/ltx-2.3-flf/manifest.yaml +0 -1
- package/packs/ltx-2.3-img2vid/install-runpod.sh +0 -1
- package/packs/ltx-2.3-img2vid/install-windows.bat +0 -1
- package/packs/ltx-2.3-img2vid/manifest.yaml +3 -4
- package/packs/ltx-2.3-txt2vid/install-runpod.sh +0 -1
- package/packs/ltx-2.3-txt2vid/install-windows.bat +0 -1
- package/packs/ltx-2.3-txt2vid/manifest.yaml +3 -4
- package/packs/ltx-2.3-xy-plot/install-runpod.sh +0 -1
- package/packs/ltx-2.3-xy-plot/install-windows.bat +0 -1
- package/packs/ltx-2.3-xy-plot/manifest.yaml +0 -1
- package/packs/ltx23-distill-3stage/install-runpod.sh +0 -1
- package/packs/ltx23-distill-3stage/install-windows.bat +0 -1
- package/packs/ltx23-distill-3stage/manifest.yaml +0 -1
- package/packs/qwen-image/install-runpod.sh +0 -1
- package/packs/qwen-image/install-windows.bat +0 -1
- package/packs/qwen-image/manifest.yaml +0 -1
- package/packs/qwen-image-edit/install-runpod.sh +0 -1
- package/packs/qwen-image-edit/install-windows.bat +0 -1
- package/packs/qwen-image-edit/manifest.yaml +0 -1
- package/packs/qwen-image-edit-edit/install-runpod.sh +0 -1
- package/packs/qwen-image-edit-edit/install-windows.bat +0 -1
- package/packs/qwen-image-edit-edit/manifest.yaml +0 -1
- package/packs/wan-animate/install-runpod.sh +0 -1
- package/packs/wan-animate/install-windows.bat +0 -1
- package/packs/wan-animate/manifest.yaml +0 -1
- package/packs/wan-animate-character/install-runpod.sh +0 -1
- package/packs/wan-animate-character/install-windows.bat +0 -1
- package/packs/wan-animate-character/manifest.yaml +0 -1
- package/packs/wan-animate-ofm/install-runpod.sh +0 -1
- package/packs/wan-animate-ofm/install-windows.bat +0 -1
- package/packs/wan-animate-ofm/manifest.yaml +0 -1
- package/packs/wan-longer-videos/install-runpod.sh +0 -1
- package/packs/wan-longer-videos/install-windows.bat +0 -1
- package/packs/wan-longer-videos/manifest.yaml +0 -1
- package/packs/wan-longer-videos-i2v/install-runpod.sh +0 -1
- package/packs/wan-longer-videos-i2v/install-windows.bat +0 -1
- package/packs/wan-longer-videos-i2v/manifest.yaml +0 -1
- package/packs/wan-longer-videos-i2v-96gb/install-runpod.sh +0 -1
- package/packs/wan-longer-videos-i2v-96gb/install-windows.bat +0 -1
- package/packs/wan-longer-videos-i2v-96gb/manifest.yaml +0 -1
- package/packs/wan-longer-videos-t2v/install-runpod.sh +0 -1
- package/packs/wan-longer-videos-t2v/install-windows.bat +0 -1
- package/packs/wan-longer-videos-t2v/manifest.yaml +0 -1
- package/packs/wan-longer-videos-t2v-96gb/install-runpod.sh +0 -1
- package/packs/wan-longer-videos-t2v-96gb/install-windows.bat +0 -1
- package/packs/wan-longer-videos-t2v-96gb/manifest.yaml +0 -1
- package/packs/wan-longer-videos-v2v/install-runpod.sh +0 -1
- package/packs/wan-longer-videos-v2v/install-windows.bat +0 -1
- package/packs/wan-longer-videos-v2v/manifest.yaml +0 -1
- package/packs/wan-longer-videos-v2v-96gb/install-runpod.sh +0 -1
- package/packs/wan-longer-videos-v2v-96gb/install-windows.bat +0 -1
- package/packs/wan-longer-videos-v2v-96gb/manifest.yaml +0 -1
- package/packs/wan-multitalk/install-runpod.sh +0 -1
- package/packs/wan-multitalk/install-windows.bat +0 -1
- package/packs/wan-multitalk/manifest.yaml +0 -1
- package/packs/wan-pusa-extend/install-runpod.sh +0 -1
- package/packs/wan-pusa-extend/install-windows.bat +0 -1
- package/packs/wan-pusa-extend/manifest.yaml +0 -1
- package/packs/wan-transparent/install-runpod.sh +0 -1
- package/packs/wan-transparent/install-windows.bat +0 -1
- package/packs/wan-transparent/manifest.yaml +0 -1
- package/packs/wan-transparent-img2vid/install-runpod.sh +0 -1
- package/packs/wan-transparent-img2vid/install-windows.bat +0 -1
- package/packs/wan-transparent-img2vid/manifest.yaml +0 -1
- package/packs/wan-transparent-img2vid-96gb/install-runpod.sh +0 -1
- package/packs/wan-transparent-img2vid-96gb/install-windows.bat +0 -1
- package/packs/wan-transparent-img2vid-96gb/manifest.yaml +0 -1
- package/packs/z-image-base/install-runpod.sh +0 -1
- package/packs/z-image-base/install-windows.bat +0 -1
- package/packs/z-image-base/manifest.yaml +0 -1
- package/packs/z-image-base-combo/install-runpod.sh +0 -1
- package/packs/z-image-base-combo/install-windows.bat +0 -1
- package/packs/z-image-base-combo/manifest.yaml +0 -1
- package/packs/z-image-base-controlnet/install-runpod.sh +0 -1
- package/packs/z-image-base-controlnet/install-windows.bat +0 -1
- package/packs/z-image-base-controlnet/manifest.yaml +0 -1
- package/packs/z-image-base-img2img/install-runpod.sh +0 -1
- package/packs/z-image-base-img2img/install-windows.bat +0 -1
- package/packs/z-image-base-img2img/manifest.yaml +0 -1
- package/packs/z-image-base-inpaint/install-runpod.sh +0 -1
- package/packs/z-image-base-inpaint/install-windows.bat +0 -1
- package/packs/z-image-base-inpaint/manifest.yaml +0 -1
- package/packs/z-image-base-txt2img/install-runpod.sh +0 -1
- package/packs/z-image-base-txt2img/install-windows.bat +0 -1
- package/packs/z-image-base-txt2img/manifest.yaml +0 -1
- package/packs/z-image-turbo/install-runpod.sh +0 -1
- package/packs/z-image-turbo/install-windows.bat +0 -1
- package/packs/z-image-turbo/manifest.yaml +0 -1
- package/packs/z-image-turbo-combo/install-runpod.sh +0 -1
- package/packs/z-image-turbo-combo/install-windows.bat +0 -1
- package/packs/z-image-turbo-combo/manifest.yaml +0 -1
- package/packs/z-image-turbo-controlnet/install-runpod.sh +0 -1
- package/packs/z-image-turbo-controlnet/install-windows.bat +0 -1
- package/packs/z-image-turbo-controlnet/manifest.yaml +0 -1
- package/packs/z-image-turbo-detail-daemon/install-runpod.sh +0 -1
- package/packs/z-image-turbo-detail-daemon/install-windows.bat +0 -1
- package/packs/z-image-turbo-detail-daemon/manifest.yaml +0 -1
- package/packs/z-image-turbo-img2img/install-runpod.sh +0 -1
- package/packs/z-image-turbo-img2img/install-windows.bat +0 -1
- package/packs/z-image-turbo-img2img/manifest.yaml +0 -1
- package/packs/z-image-turbo-inpainting/install-runpod.sh +0 -1
- package/packs/z-image-turbo-inpainting/install-windows.bat +0 -1
- package/packs/z-image-turbo-inpainting/manifest.yaml +0 -1
- package/packs/z-image-turbo-txt2img/install-runpod.sh +0 -1
- package/packs/z-image-turbo-txt2img/install-windows.bat +0 -1
- package/packs/z-image-turbo-txt2img/manifest.yaml +0 -1
- package/packs/z-image-xy-plot/install-runpod.sh +0 -1
- package/packs/z-image-xy-plot/install-windows.bat +0 -1
- package/packs/z-image-xy-plot/manifest.yaml +0 -1
- package/scripts/test-packs.sh +8 -3
|
@@ -21,6 +21,16 @@ export const DEFAULT_BRIDGE_PORT = 9101;
|
|
|
21
21
|
/** Panel build that first implements the full graph_* / ui_* bridge command set.
|
|
22
22
|
* Reports of "Unknown command <x>" come from panels older than this. */
|
|
23
23
|
export const MIN_PANEL_VERSION_FOR_BRIDGE_COMMANDS = "0.11.4";
|
|
24
|
+
/** The actionable "update your panel" message for a command a connected panel has
|
|
25
|
+
* been discovered NOT to support. Shared by the reactive path (the panel's own
|
|
26
|
+
* "Unknown command" reply, mapped by makeUnknownCommandError) and the proactive
|
|
27
|
+
* gate (#236 — a command already known-unsupported for THIS connection, from an
|
|
28
|
+
* earlier call in the same session) so both produce the identical message. */
|
|
29
|
+
function buildPanelTooOldError(cmd, panelVersion) {
|
|
30
|
+
const detected = panelVersion ? ` (detected ${panelVersion})` : "";
|
|
31
|
+
return new Error(`This ComfyUI-MCP panel is too old for "${cmd}"${detected} — update the ComfyUI-MCP panel ` +
|
|
32
|
+
`to ≥${MIN_PANEL_VERSION_FOR_BRIDGE_COMMANDS} (ComfyUI Manager → update comfyui-mcp panel), then reconnect.`);
|
|
33
|
+
}
|
|
24
34
|
/**
|
|
25
35
|
* A panel replies `{ ok: false, error: 'Unknown command "<cmd>"' }` when the
|
|
26
36
|
* orchestrator dispatches a bridge command the (older) panel doesn't register —
|
|
@@ -39,10 +49,91 @@ export function makeUnknownCommandError(error, panelVersion) {
|
|
|
39
49
|
const m = /^unknown command\s*["“']?([\w.-]+)["”']?/i.exec(error.trim());
|
|
40
50
|
if (!m)
|
|
41
51
|
return null;
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
52
|
+
return buildPanelTooOldError(m[1], panelVersion);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Bridge commands with NO side effect — safe to re-dispatch after a reconnect and
|
|
56
|
+
* safe to WAIT ON longer (a read can't be double-applied). Module-level so both
|
|
57
|
+
* the mutating-vs-read classification and the default-timeout policy share one
|
|
58
|
+
* authoritative list. Everything not listed is treated as mutating.
|
|
59
|
+
*/
|
|
60
|
+
export const BRIDGE_READONLY_CMDS = new Set([
|
|
61
|
+
"graph_serialize",
|
|
62
|
+
"graph_outline",
|
|
63
|
+
"graph_get_errors",
|
|
64
|
+
"graph_get_state",
|
|
65
|
+
"graph_get_subgraph",
|
|
66
|
+
"graph_view_selected",
|
|
67
|
+
"graph_view_nodes_in_viewport",
|
|
68
|
+
"graph_prompt_director_audit",
|
|
69
|
+
"graph_query",
|
|
70
|
+
"civitai_results",
|
|
71
|
+
"get_todo",
|
|
72
|
+
]);
|
|
73
|
+
/** Tight default reply timeout for a MUTATING command with no explicit timeout —
|
|
74
|
+
* fail fast so the agent isn't blocked on a stuck write. */
|
|
75
|
+
export const BRIDGE_DEFAULT_TIMEOUT_MS = 6000;
|
|
76
|
+
/** More tolerant default for a READ (idempotent) command with no explicit timeout.
|
|
77
|
+
* A legitimately busy-but-alive panel main thread — e.g. Preview3D parsing a large
|
|
78
|
+
* FBX — can take many seconds to service a graph_query; failing it at the tight
|
|
79
|
+
* 6s default surfaced a FALSE "tab backgrounded or frozen" timeout even though a
|
|
80
|
+
* retry moments later succeeded (#357). Reads have no side effect, so waiting
|
|
81
|
+
* longer is safe; a genuinely dead/frozen tab still times out, just at this bound.
|
|
82
|
+
* Note: a WebSocket pong is answered by the browser network stack even while JS is
|
|
83
|
+
* blocked, so it can't distinguish busy-JS from dead-JS — a tolerant read timeout,
|
|
84
|
+
* not pong-liveness, is the correct lever here. */
|
|
85
|
+
export const BRIDGE_READ_DEFAULT_TIMEOUT_MS = 20_000;
|
|
86
|
+
/** The default reply timeout to use for `cmd` when the caller passed none. Read
|
|
87
|
+
* ops get the tolerant bound; everything else stays tight (#357). */
|
|
88
|
+
export function defaultBridgeTimeoutMs(cmdName) {
|
|
89
|
+
return BRIDGE_READONLY_CMDS.has(cmdName)
|
|
90
|
+
? BRIDGE_READ_DEFAULT_TIMEOUT_MS
|
|
91
|
+
: BRIDGE_DEFAULT_TIMEOUT_MS;
|
|
92
|
+
}
|
|
93
|
+
/** Normalize a WebSocket handshake `Origin` header into a canonical scheme://host:port
|
|
94
|
+
* string, or undefined when it is absent, the opaque literal `"null"` (a sandboxed /
|
|
95
|
+
* file:// / data: origin, which proves nothing), or unparseable. The browser sets this
|
|
96
|
+
* header on the upgrade and forbids page JS from overriding it, so a value here is
|
|
97
|
+
* server-trusted provenance of the page the socket runs in. Host case is lowercased and
|
|
98
|
+
* the default port made explicit so it compares cleanly against a probe base. */
|
|
99
|
+
function normalizeHandshakeOrigin(raw) {
|
|
100
|
+
const val = Array.isArray(raw) ? raw[0] : raw;
|
|
101
|
+
if (typeof val !== "string" || val === "" || val.toLowerCase() === "null")
|
|
102
|
+
return undefined;
|
|
103
|
+
try {
|
|
104
|
+
const u = new URL(val);
|
|
105
|
+
const port = u.port || (u.protocol === "https:" ? "443" : "80");
|
|
106
|
+
return `${u.protocol}//${u.hostname.toLowerCase()}:${port}`;
|
|
107
|
+
}
|
|
108
|
+
catch {
|
|
109
|
+
return undefined;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
/** AUTHORITATIVE, TYPED dispatch outcome carried on a bridge command REJECTION so a
|
|
113
|
+
* caller never has to infer it from message text:
|
|
114
|
+
* - `false` = the command was NEVER written to the socket (a PRE-write send() failure);
|
|
115
|
+
* - `true` = the command WAS written and the socket then died before a reply (a
|
|
116
|
+
* POST-write mid-command OUTCOME-UNKNOWN drop).
|
|
117
|
+
* Absent on all other errors (a reply-timeout, a genuine refusal, "panel gone", etc.). */
|
|
118
|
+
const DISPATCHED = Symbol.for("comfyui-mcp.bridge.dispatched");
|
|
119
|
+
/** Tag an error with the typed {@link DISPATCHED} outcome and return it (for throw/reject). */
|
|
120
|
+
export function markDispatched(err, dispatched) {
|
|
121
|
+
Object.defineProperty(err, DISPATCHED, {
|
|
122
|
+
value: dispatched,
|
|
123
|
+
enumerable: false,
|
|
124
|
+
configurable: true,
|
|
125
|
+
});
|
|
126
|
+
return err;
|
|
127
|
+
}
|
|
128
|
+
/** Read the typed dispatch outcome from an error, or undefined if it carries none.
|
|
129
|
+
* A reboot readiness check uses this to classify a PRE-write send failure
|
|
130
|
+
* (`false`) categorically as NOT-dispatched — never as an accepted/dropped reboot —
|
|
131
|
+
* regardless of any post-write phrase its message text may quote. */
|
|
132
|
+
export function dispatchOutcomeOf(err) {
|
|
133
|
+
if (err == null || (typeof err !== "object" && typeof err !== "function"))
|
|
134
|
+
return undefined;
|
|
135
|
+
const v = err[DISPATCHED];
|
|
136
|
+
return typeof v === "boolean" ? v : undefined;
|
|
46
137
|
}
|
|
47
138
|
/**
|
|
48
139
|
* Frame `type`s that are safe to MIRROR to a tab's viewers — genuine shared-session
|
|
@@ -133,6 +224,20 @@ export class UiBridge {
|
|
|
133
224
|
missedFrames = new Map();
|
|
134
225
|
static MAX_MISSED_FRAMES = 100;
|
|
135
226
|
pending = new Map();
|
|
227
|
+
/** ask_user card sends (rid → {ask_id, ts}): lets a reply that validates AFTER
|
|
228
|
+
* the reply timer fired (dropped from `pending`) still be buffered for the
|
|
229
|
+
* caller, instead of being discarded as a "late reply for a timed-out command"
|
|
230
|
+
* (#486). Timestamped so an abandoned mapping (timeout/disconnect/send-failure
|
|
231
|
+
* whose late reply never arrives) is TTL-pruned rather than kept forever. */
|
|
232
|
+
askRidToId = new Map();
|
|
233
|
+
/** Buffered late-but-valid ask_user answers (ask_id → result), drained by the
|
|
234
|
+
* caller via takeLateAskReply(). Bounded by a short TTL — a stale unclaimed
|
|
235
|
+
* answer is pruned rather than kept forever. */
|
|
236
|
+
lateAskReplies = new Map();
|
|
237
|
+
/** TTL for a buffered late ask answer / an unresolved rid→ask_id mapping. Long
|
|
238
|
+
* enough to cover a slow human pick within the MCP tools/call budget, short
|
|
239
|
+
* enough that abandoned entries don't accumulate. */
|
|
240
|
+
static LATE_ASK_TTL_MS = 5 * 60 * 1000;
|
|
136
241
|
/** In-flight IDEMPOTENT reads whose socket dropped mid-command, parked per tabId
|
|
137
242
|
* waiting a bounded grace for that tab to reconnect so we can re-dispatch them
|
|
138
243
|
* (resume) instead of hard-failing. Never holds mutating commands. */
|
|
@@ -142,17 +247,10 @@ export class UiBridge {
|
|
|
142
247
|
static RECONNECT_GRACE_MS = 4000;
|
|
143
248
|
/** Bridge commands with no side effect — safe to re-dispatch after a reconnect.
|
|
144
249
|
* Everything else is treated as mutating (no auto-retry) so a render/edit is
|
|
145
|
-
* never silently double-applied.
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
"graph_get_errors",
|
|
150
|
-
"graph_get_subgraph",
|
|
151
|
-
"graph_prompt_director_audit",
|
|
152
|
-
"graph_query",
|
|
153
|
-
"civitai_results",
|
|
154
|
-
"get_todo",
|
|
155
|
-
]);
|
|
250
|
+
* never silently double-applied. Single source of truth at module scope
|
|
251
|
+
* (BRIDGE_READONLY_CMDS) so the mutating flag and the default-timeout policy
|
|
252
|
+
* can never drift apart. */
|
|
253
|
+
static READONLY_CMDS = BRIDGE_READONLY_CMDS;
|
|
156
254
|
portInUse = false;
|
|
157
255
|
bindRetryTimer = null;
|
|
158
256
|
heartbeatTimer = null;
|
|
@@ -332,14 +430,20 @@ export class UiBridge {
|
|
|
332
430
|
this.readyResolve = null;
|
|
333
431
|
}
|
|
334
432
|
});
|
|
335
|
-
wss.on("connection", (sock) => {
|
|
433
|
+
wss.on("connection", (sock, req) => {
|
|
336
434
|
// Keepalive bookkeeping for the SERVER-LEVEL heartbeat loop, which only
|
|
337
435
|
// iterates real wss.clients (relay-mediated shim connections aren't real
|
|
338
436
|
// sockets bound by this server, so they're intentionally excluded — see
|
|
339
437
|
// relay-client.ts / the relay README for why that's believed low-risk).
|
|
340
438
|
this.missedPongs.set(sock, 0);
|
|
341
439
|
sock.on("pong", () => this.missedPongs.set(sock, 0));
|
|
342
|
-
|
|
440
|
+
// SERVER-OBSERVED handshake Origin (the browser sets it and forbids page JS from
|
|
441
|
+
// overriding it) — the trusted proof of which page this socket runs in, distinct
|
|
442
|
+
// from the spoofable hello.comfyui_url (#509 self-probe gate).
|
|
443
|
+
const handshakeOrigin = normalizeHandshakeOrigin(req?.headers?.origin);
|
|
444
|
+
// Trusted-local ONLY when the primary listener is a token-less loopback bind
|
|
445
|
+
// (no LAN bind, no tunnel/secure token in front) — see handleConnection's doc.
|
|
446
|
+
this.handleConnection(sock, !this.token && isLoopbackBindHost(this.host), handshakeOrigin);
|
|
343
447
|
});
|
|
344
448
|
}
|
|
345
449
|
/**
|
|
@@ -411,7 +515,18 @@ export class UiBridge {
|
|
|
411
515
|
});
|
|
412
516
|
});
|
|
413
517
|
}
|
|
414
|
-
|
|
518
|
+
/**
|
|
519
|
+
* @param local SERVER-TRUSTED provenance: true only when the socket arrived on
|
|
520
|
+
* the token-less loopback primary listener, i.e. a browser genuinely on the
|
|
521
|
+
* orchestrator's own host. A token-gated/tunnel-fronted primary, a relay shim,
|
|
522
|
+
* and any LAN/pairing listener are all `false` — a browser reaching those can
|
|
523
|
+
* sit on a DIFFERENT machine yet advertise its OWN 127.0.0.1 ComfyUI, which
|
|
524
|
+
* must never be treated as the orchestrator's local host (#509).
|
|
525
|
+
* @param serverOrigin SERVER-OBSERVED handshake `Origin` (scheme://host:port), captured
|
|
526
|
+
* from the WebSocket upgrade — NOT client-supplied. Undefined for non-browser/relay
|
|
527
|
+
* connections. Bound to the tab so the reboot self-probe can trust which page it fronts.
|
|
528
|
+
*/
|
|
529
|
+
handleConnection(sock, local = false, serverOrigin) {
|
|
415
530
|
// The connection is anonymous until its hello frame names a tab id.
|
|
416
531
|
let tabId = null;
|
|
417
532
|
// A socket's KIND (canvas-owning panel vs headless viewer) is pinned on its
|
|
@@ -518,6 +633,25 @@ export class UiBridge {
|
|
|
518
633
|
panelVersion: typeof msg.panel_version === "string"
|
|
519
634
|
? (msg.panel_version || undefined)
|
|
520
635
|
: existing?.panelVersion,
|
|
636
|
+
// Fresh per hello — see the field's doc comment (#236).
|
|
637
|
+
unsupportedCmds: new Set(),
|
|
638
|
+
// window.location the browser was served from — the ComfyUI instance THIS
|
|
639
|
+
// tab fronts. Preserved across a SAME-SOCKET re-hello that omits it, but
|
|
640
|
+
// NEVER inherited by a DIFFERENT socket reusing this (possibly recurring
|
|
641
|
+
// wf:<hash>) tab id — that could let an unrelated instance's origin certify
|
|
642
|
+
// this tab's restart (#509, codex: cross-ownership inheritance).
|
|
643
|
+
originUrl: typeof msg.comfyui_url === "string" &&
|
|
644
|
+
msg.comfyui_url
|
|
645
|
+
? msg.comfyui_url
|
|
646
|
+
: existing?.sock === sock
|
|
647
|
+
? existing?.originUrl
|
|
648
|
+
: undefined,
|
|
649
|
+
// SERVER-OBSERVED handshake Origin of THIS socket (from the WS upgrade, not the
|
|
650
|
+
// hello) — bound per-socket. A same-socket re-hello keeps it; a DIFFERENT socket
|
|
651
|
+
// taking over the id carries its OWN handshake Origin (never inherits the old).
|
|
652
|
+
serverOrigin: existing?.sock === sock ? (serverOrigin ?? existing?.serverOrigin) : serverOrigin,
|
|
653
|
+
// Server-trusted provenance of THIS socket (not client-controlled).
|
|
654
|
+
local,
|
|
521
655
|
});
|
|
522
656
|
if (incomingHeadless)
|
|
523
657
|
this.headlessSeen.add(tabId);
|
|
@@ -560,10 +694,24 @@ export class UiBridge {
|
|
|
560
694
|
const rid = typeof msg.rid === "string" ? msg.rid : undefined;
|
|
561
695
|
if (rid) {
|
|
562
696
|
const p = this.pending.get(rid);
|
|
563
|
-
if (!p)
|
|
564
|
-
|
|
697
|
+
if (!p) {
|
|
698
|
+
// Late reply for a timed-out command. If it was an ask_user card whose
|
|
699
|
+
// caller may still be within the MCP tools/call budget, BUFFER the
|
|
700
|
+
// validated answer keyed by its ask_id so the caller can retrieve it via
|
|
701
|
+
// takeLateAskReply() instead of losing it (#486). Everything else drops.
|
|
702
|
+
const entry = this.askRidToId.get(rid);
|
|
703
|
+
if (entry) {
|
|
704
|
+
this.askRidToId.delete(rid);
|
|
705
|
+
if (msg.ok) {
|
|
706
|
+
this.pruneLateAsk();
|
|
707
|
+
this.lateAskReplies.set(entry.askId, { result: msg.result, ts: Date.now() });
|
|
708
|
+
}
|
|
709
|
+
}
|
|
710
|
+
return;
|
|
711
|
+
}
|
|
565
712
|
clearTimeout(p.timer);
|
|
566
713
|
this.pending.delete(rid);
|
|
714
|
+
this.askRidToId.delete(rid);
|
|
567
715
|
if (msg.ok) {
|
|
568
716
|
p.resolve(msg.result);
|
|
569
717
|
}
|
|
@@ -726,6 +874,48 @@ export class UiBridge {
|
|
|
726
874
|
resolveActiveTabId() {
|
|
727
875
|
return this.resolveTarget().tabId;
|
|
728
876
|
}
|
|
877
|
+
/** The ComfyUI origin the given tab's browser was served from (`comfyui_url` in
|
|
878
|
+
* its `hello`), or undefined if the tab never advertised one / is unknown. Lets a
|
|
879
|
+
* tool HTTP-probe the EXACT instance THIS tab fronts rather than the process-
|
|
880
|
+
* global target a different instance may have retargeted (#509). Resolves the id
|
|
881
|
+
* through the SAME prefix + migration-alias path as command routing (resolveTarget)
|
|
882
|
+
* so a migrated session still finds its origin; never throws. */
|
|
883
|
+
tabOrigin(tabId) {
|
|
884
|
+
try {
|
|
885
|
+
return this.resolveTarget(tabId).originUrl;
|
|
886
|
+
}
|
|
887
|
+
catch {
|
|
888
|
+
return undefined;
|
|
889
|
+
}
|
|
890
|
+
}
|
|
891
|
+
/** SERVER-OBSERVED origin (scheme://host:port) of the given tab's WebSocket handshake —
|
|
892
|
+
* the page the browser was actually serving when it opened this socket. Unlike
|
|
893
|
+
* {@link tabOrigin} (client-supplied `hello.comfyui_url`, spoofable), the browser sets
|
|
894
|
+
* the handshake `Origin` and blocks page JS from forging it, so this is the TRUSTED
|
|
895
|
+
* proof of which ComfyUI a real tab fronts — the origin the reboot self-probe binds to
|
|
896
|
+
* (#509). Undefined when the handshake carried no usable Origin. Resolves migration
|
|
897
|
+
* aliases like tabOrigin; never throws. */
|
|
898
|
+
tabServerOrigin(tabId) {
|
|
899
|
+
try {
|
|
900
|
+
return this.resolveTarget(tabId).serverOrigin;
|
|
901
|
+
}
|
|
902
|
+
catch {
|
|
903
|
+
return undefined;
|
|
904
|
+
}
|
|
905
|
+
}
|
|
906
|
+
/** SERVER-TRUSTED: true only when this tab's socket arrived on the token-less
|
|
907
|
+
* loopback primary listener (a browser on the orchestrator's OWN host), so its
|
|
908
|
+
* advertised loopback ComfyUI origin really is the orchestrator's local host and
|
|
909
|
+
* may be directly health-probed (#509). Relay/tunnel/LAN/pairing tabs → false.
|
|
910
|
+
* Resolves migration aliases like tabOrigin; unknown → false. */
|
|
911
|
+
tabIsLocal(tabId) {
|
|
912
|
+
try {
|
|
913
|
+
return this.resolveTarget(tabId).local === true;
|
|
914
|
+
}
|
|
915
|
+
catch {
|
|
916
|
+
return false;
|
|
917
|
+
}
|
|
918
|
+
}
|
|
729
919
|
/** True when the tab advertised itself as a canvas-less (mobile/remote) client
|
|
730
920
|
* in its `hello`. Unknown tabs → false. */
|
|
731
921
|
isHeadless(tabId) {
|
|
@@ -734,6 +924,45 @@ export class UiBridge {
|
|
|
734
924
|
// bytes-less viewRef) and is renderable when the mailbox flushes to the phone.
|
|
735
925
|
return this.conns.get(tabId)?.headless === true || this.headlessSeen.has(tabId);
|
|
736
926
|
}
|
|
927
|
+
/** Drop expired late-ask entries (buffered answers + unresolved rid mappings) so
|
|
928
|
+
* an abandoned card never leaks memory. Cheap; called on each ask send/take. */
|
|
929
|
+
pruneLateAsk() {
|
|
930
|
+
const now = Date.now();
|
|
931
|
+
for (const [id, e] of this.lateAskReplies) {
|
|
932
|
+
if (now - e.ts > UiBridge.LATE_ASK_TTL_MS)
|
|
933
|
+
this.lateAskReplies.delete(id);
|
|
934
|
+
}
|
|
935
|
+
// TTL-prune abandoned rid→ask_id mappings (a card that timed out / dropped and
|
|
936
|
+
// whose late reply never came), so they don't linger past the window a caller
|
|
937
|
+
// could still claim them.
|
|
938
|
+
for (const [rid, e] of this.askRidToId) {
|
|
939
|
+
if (now - e.ts > UiBridge.LATE_ASK_TTL_MS)
|
|
940
|
+
this.askRidToId.delete(rid);
|
|
941
|
+
}
|
|
942
|
+
// Belt-and-suspenders cardinality cap in case of a burst of asks within one TTL
|
|
943
|
+
// window — drop the oldest-inserted mappings so the map can never grow unbounded.
|
|
944
|
+
if (this.askRidToId.size > 256) {
|
|
945
|
+
const excess = this.askRidToId.size - 256;
|
|
946
|
+
let i = 0;
|
|
947
|
+
for (const rid of this.askRidToId.keys()) {
|
|
948
|
+
if (i++ >= excess)
|
|
949
|
+
break;
|
|
950
|
+
this.askRidToId.delete(rid);
|
|
951
|
+
}
|
|
952
|
+
}
|
|
953
|
+
}
|
|
954
|
+
/** Retrieve (and remove) a late-but-valid ask_user answer buffered for `askId`
|
|
955
|
+
* after the card-reply timeout, or undefined if none arrived. The panel_ask
|
|
956
|
+
* handler polls this for a bounded grace so a slow-but-valid pick is honored
|
|
957
|
+
* rather than discarded (#486). */
|
|
958
|
+
takeLateAskReply(askId) {
|
|
959
|
+
this.pruneLateAsk();
|
|
960
|
+
const e = this.lateAskReplies.get(askId);
|
|
961
|
+
if (!e)
|
|
962
|
+
return undefined;
|
|
963
|
+
this.lateAskReplies.delete(askId);
|
|
964
|
+
return e.result;
|
|
965
|
+
}
|
|
737
966
|
/** All currently connected tabs, most recent hello last. */
|
|
738
967
|
tabs() {
|
|
739
968
|
return Array.from(this.conns.values()).map((c) => ({
|
|
@@ -837,7 +1066,10 @@ export class UiBridge {
|
|
|
837
1066
|
}
|
|
838
1067
|
}
|
|
839
1068
|
send(cmd, opts = {}) {
|
|
840
|
-
|
|
1069
|
+
// #357: read (idempotent) ops get a more tolerant default so a busy-but-alive
|
|
1070
|
+
// panel main thread (e.g. Preview3D loading a large FBX) isn't declared frozen;
|
|
1071
|
+
// mutating ops keep the tight default. An explicit opts.timeoutMs always wins.
|
|
1072
|
+
const timeoutMs = opts.timeoutMs ?? defaultBridgeTimeoutMs(cmd.cmd);
|
|
841
1073
|
let conn;
|
|
842
1074
|
try {
|
|
843
1075
|
conn = this.resolveTarget(opts.tabId);
|
|
@@ -851,6 +1083,15 @@ export class UiBridge {
|
|
|
851
1083
|
}
|
|
852
1084
|
return Promise.reject(err instanceof Error ? err : new Error(String(err)));
|
|
853
1085
|
}
|
|
1086
|
+
// #236 — proactively gate a command this exact connection has already proven
|
|
1087
|
+
// unsupported (see Conn.unsupportedCmds), instead of dispatching it again just
|
|
1088
|
+
// to have the panel reject it and re-parse the same "Unknown command" string.
|
|
1089
|
+
// Never a false gate: membership here is only ever set from a REAL rejection
|
|
1090
|
+
// on THIS connection (in dispatch()'s rejectMapped below), never inferred from
|
|
1091
|
+
// panelVersion alone.
|
|
1092
|
+
if (conn.unsupportedCmds.has(cmd.cmd)) {
|
|
1093
|
+
return Promise.reject(buildPanelTooOldError(cmd.cmd, conn.panelVersion));
|
|
1094
|
+
}
|
|
854
1095
|
if (conn.sock.readyState !== WebSocket.OPEN) {
|
|
855
1096
|
if (opts.tabId && UiBridge.isMailboxable(cmd)) {
|
|
856
1097
|
this.storeMailbox(opts.tabId, cmd);
|
|
@@ -889,17 +1130,38 @@ export class UiBridge {
|
|
|
889
1130
|
}
|
|
890
1131
|
const replyTimeoutMs = Math.min(ctx.timeoutMs, remaining);
|
|
891
1132
|
const rid = randomUUID();
|
|
1133
|
+
// Track an ask_user card's stable ask_id against this attempt's rid so a reply
|
|
1134
|
+
// that validates AFTER the reply timer fires (and drops out of `pending`) can
|
|
1135
|
+
// still be buffered for the caller by rid, not discarded (#486 late answer).
|
|
1136
|
+
const askId = cmd.ask_id;
|
|
1137
|
+
if (typeof askId === "string" && askId) {
|
|
1138
|
+
this.pruneLateAsk();
|
|
1139
|
+
this.askRidToId.set(rid, { askId, ts: Date.now() });
|
|
1140
|
+
}
|
|
892
1141
|
// Rewrite an old-panel "Unknown command" rejection into an actionable
|
|
893
1142
|
// update-your-panel message (see makeUnknownCommandError). Applied to the
|
|
894
1143
|
// reply-error path only; the happy path and genuine command errors are
|
|
895
1144
|
// passed through untouched.
|
|
896
1145
|
const rejectMapped = (err) => {
|
|
897
1146
|
const friendly = makeUnknownCommandError(err.message, conn.panelVersion);
|
|
1147
|
+
if (friendly) {
|
|
1148
|
+
// Learned, not assumed (#236) — this exact connection just proved it
|
|
1149
|
+
// doesn't support cmd.cmd, so every later call in this session is gated
|
|
1150
|
+
// proactively (see the `send()` preflight above) instead of round-
|
|
1151
|
+
// tripping to the panel again.
|
|
1152
|
+
conn.unsupportedCmds.add(cmd.cmd);
|
|
1153
|
+
}
|
|
898
1154
|
ctx.reject(friendly ?? err);
|
|
899
1155
|
};
|
|
900
1156
|
const timer = setTimeout(() => {
|
|
901
1157
|
this.pending.delete(rid);
|
|
902
|
-
|
|
1158
|
+
// This timer only fires AFTER sock.send() below returned successfully — the command
|
|
1159
|
+
// WAS WRITTEN to the socket; the tab (possibly backgrounded/frozen) merely didn't
|
|
1160
|
+
// reply in time and may still apply it. So this is a POST-write outcome: tag it
|
|
1161
|
+
// dispatched:true so a mutating caller (e.g. comfy_reboot readiness) treats it as an
|
|
1162
|
+
// accepted-but-unacked dispatch and verifies by observation, rather than mistaking a
|
|
1163
|
+
// genuinely-sent command for one that never went out (#509).
|
|
1164
|
+
ctx.reject(markDispatched(new Error(`Panel tab ${conn.tabId.slice(0, 8)} did not reply to "${cmd.cmd}" within ${ctx.timeoutMs} ms — the ComfyUI tab may be backgrounded or frozen`), true));
|
|
903
1165
|
}, replyTimeoutMs);
|
|
904
1166
|
const pending = {
|
|
905
1167
|
resolve: ctx.resolve,
|
|
@@ -916,7 +1178,15 @@ export class UiBridge {
|
|
|
916
1178
|
catch (err) {
|
|
917
1179
|
clearTimeout(timer);
|
|
918
1180
|
this.pending.delete(rid);
|
|
919
|
-
|
|
1181
|
+
// The write to the socket FAILED — the command was NEVER transmitted, so nothing
|
|
1182
|
+
// was dispatched (distinct from a POST-write mid-command drop). Surface that
|
|
1183
|
+
// explicitly so callers don't mistake it for an in-flight/accepted command (a
|
|
1184
|
+
// reboot readiness check must NOT treat a pre-write send failure as a fired reboot).
|
|
1185
|
+
// Carry an AUTHORITATIVE TYPED flag `dispatched:false` so a caller classifies this
|
|
1186
|
+
// categorically — never by string-matching a detail that might quote a post-write
|
|
1187
|
+
// phrase ("OUTCOME UNKNOWN") from the underlying socket error.
|
|
1188
|
+
const detail = err instanceof Error ? err.message : String(err);
|
|
1189
|
+
ctx.reject(markDispatched(new Error(`failed to send "${cmd.cmd}" to panel tab ${conn.tabId.slice(0, 8)} — the command was NOT dispatched (${detail})`), false));
|
|
920
1190
|
}
|
|
921
1191
|
}
|
|
922
1192
|
/** A pending command's socket died before its reply arrived. Decide, WITHOUT
|
|
@@ -958,7 +1228,7 @@ export class UiBridge {
|
|
|
958
1228
|
// bare failure invites a blind retry that double-applies the action (e.g. a
|
|
959
1229
|
// second render). Say the outcome is UNKNOWN so the caller verifies first.
|
|
960
1230
|
if (ctx.mutating) {
|
|
961
|
-
ctx.reject(new Error(`panel tab ${short} disconnected mid-command ("${cmd}") — OUTCOME UNKNOWN: the command was already sent, so the panel may have applied it (for a run, ComfyUI may already be rendering). Verify before retrying (e.g. check get_queue / list_output_images) instead of re-issuing it blindly.`));
|
|
1231
|
+
ctx.reject(markDispatched(new Error(`panel tab ${short} disconnected mid-command ("${cmd}") — OUTCOME UNKNOWN: the command was already sent, so the panel may have applied it (for a run, ComfyUI may already be rendering). Verify before retrying (e.g. check get_queue / list_output_images) instead of re-issuing it blindly.`), true));
|
|
962
1232
|
}
|
|
963
1233
|
else {
|
|
964
1234
|
ctx.reject(new Error(`panel tab ${short} disconnected mid-command ("${cmd}") — panel genuinely gone; retry once a tab is connected`));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-bridge.js","sourceRoot":"","sources":["../../src/services/ui-bridge.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ui-bridge.js","sourceRoot":"","sources":["../../src/services/ui-bridge.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,sEAAsE;AACtE,2EAA2E;AAC3E,kDAAkD;AAClD,EAAE;AACF,8EAA8E;AAC9E,2EAA2E;AAC3E,0EAA0E;AAC1E,4EAA4E;AAC5E,6EAA6E;AAC7E,8DAA8D;AAC9D,EAAE;AACF,wEAAwE;AACxE,8EAA8E;AAC9E,2EAA2E;AAC3E,iEAAiE;AAEjE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC;AA+GxC;yEACyE;AACzE,MAAM,CAAC,MAAM,qCAAqC,GAAG,QAAQ,CAAC;AAE9D;;;;+EAI+E;AAC/E,SAAS,qBAAqB,CAAC,GAAW,EAAE,YAAqB;IAC/D,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,cAAc,YAAY,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,OAAO,IAAI,KAAK,CACd,0CAA0C,GAAG,IAAI,QAAQ,kCAAkC;QACzF,OAAO,qCAAqC,gEAAgE,CAC/G,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,uBAAuB,CACrC,KAAa,EACb,YAAqB;IAErB,yEAAyE;IACzE,2EAA2E;IAC3E,gFAAgF;IAChF,4EAA4E;IAC5E,+EAA+E;IAC/E,MAAM,CAAC,GAAG,2CAA2C,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACzE,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,OAAO,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;AACnD,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAwB,IAAI,GAAG,CAAS;IACvE,iBAAiB;IACjB,eAAe;IACf,kBAAkB;IAClB,iBAAiB;IACjB,oBAAoB;IACpB,qBAAqB;IACrB,8BAA8B;IAC9B,6BAA6B;IAC7B,aAAa;IACb,iBAAiB;IACjB,UAAU;CACX,CAAC,CAAC;AAEH;6DAC6D;AAC7D,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC;AAC9C;;;;;;;;oDAQoD;AACpD,MAAM,CAAC,MAAM,8BAA8B,GAAG,MAAM,CAAC;AAErD;sEACsE;AACtE,MAAM,UAAU,sBAAsB,CAAC,OAAe;IACpD,OAAO,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC;QACtC,CAAC,CAAC,8BAA8B;QAChC,CAAC,CAAC,yBAAyB,CAAC;AAChC,CAAC;AAOD;;;;;kFAKkF;AAClF,SAAS,wBAAwB,CAAC,GAAkC;IAClE,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC9C,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,CAAC,WAAW,EAAE,KAAK,MAAM;QAAE,OAAO,SAAS,CAAC;IAC5F,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QACvB,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAChE,OAAO,GAAG,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC;IAC9D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;;2FAK2F;AAC3F,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;AAE/D,+FAA+F;AAC/F,MAAM,UAAU,cAAc,CAAkB,GAAM,EAAE,UAAmB;IACzE,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE;QACrC,KAAK,EAAE,UAAU;QACjB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;sEAGsE;AACtE,MAAM,UAAU,iBAAiB,CAAC,GAAY;IAC5C,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,UAAU,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5F,MAAM,CAAC,GAAI,GAA+B,CAAC,UAAU,CAAC,CAAC;IACvD,OAAO,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAChD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,uBAAuB,GAAwB,IAAI,GAAG,CAAC;IAC3D,KAAK;IACL,QAAQ;IACR,UAAU;IACV,MAAM;IACN,MAAM;IACN,aAAa;IACb,SAAS;IACT,cAAc;IACd,QAAQ;IACR,mBAAmB;CACpB,CAAC,CAAC;AAEH,MAAM,OAAO,QAAQ;IACnB,sEAAsE;IAC9D,MAAM,CAAU,iBAAiB,GAAG,CAAC,CAAC;IAC9C,0EAA0E;IAClE,MAAM,CAAU,kBAAkB,GAAG,GAAG,CAAC;IACjD;;;oBAGgB;IACR,MAAM,CAAU,YAAY,GAAG,MAAM,CAAC;IAC9C;;oFAEgF;IACxE,MAAM,CAAU,gBAAgB,GAAG,CAAC,CAAC;IAErC,GAAG,GAA2B,IAAI,CAAC;IAC3C;;;8EAG0E;IACzD,YAAY,GAAsB,EAAE,CAAC;IAC9C,KAAK,GAAG,IAAI,GAAG,EAAgB,CAAC,CAAC,8CAA8C;IACvF;;;;;yDAKqD;IAC7C,WAAW,GAAG,IAAI,GAAG,EAA6B,CAAC;IAC3D;;;sFAGkF;IAC1E,aAAa,GAAG,IAAI,GAAG,EAAwB,CAAC;IACxD;;+DAE2D;IACnD,mBAAmB,GAAwC,IAAI,CAAC;IACxE;;;;;;;OAOG;IACK,aAAa,GAAG,IAAI,GAAG,EAA8C,CAAC;IAC9E;;;;;mCAK+B;IACd,OAAO,GAAG,IAAI,GAAG,EAAqD,CAAC;IAChF,MAAM,CAAU,WAAW,GAAG,EAAE,CAAC;IACjC,MAAM,CAAU,cAAc,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC7D;wEACoE;IACnD,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IAC1C,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC,CAAC,oEAAoE;IAC1G;;;;;mEAK+D;IACvD,YAAY,GAAG,IAAI,GAAG,EAAqC,CAAC;IAC5D,MAAM,CAAU,iBAAiB,GAAG,GAAG,CAAC;IACxC,OAAO,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC7C;;;;kFAI8E;IACtE,UAAU,GAAG,IAAI,GAAG,EAAyC,CAAC;IACtE;;qDAEiD;IACzC,cAAc,GAAG,IAAI,GAAG,EAA2C,CAAC;IAC5E;;0DAEsD;IAC9C,MAAM,CAAU,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;IACxD;;2EAEuE;IAC/D,iBAAiB,GAAG,IAAI,GAAG,EAA8E,CAAC;IAClH;6EACyE;IACjE,MAAM,CAAU,kBAAkB,GAAG,IAAI,CAAC;IAClD;;;;iCAI6B;IACrB,MAAM,CAAU,aAAa,GAAG,oBAAoB,CAAC;IACrD,SAAS,GAAG,KAAK,CAAC;IAClB,cAAc,GAAyC,IAAI,CAAC;IAC5D,cAAc,GAA0C,IAAI,CAAC;IACrE,qEAAqE;IAC7D,WAAW,GAAG,IAAI,OAAO,EAAqB,CAAC;IAC/C,IAAI,CAAS;IACrB;;;+EAG2E;IACnE,KAAK,CAAgB;IAC7B;;6DAEyD;IACjD,IAAI,CAAS;IACrB,wEAAwE;IAChE,eAAe,GAAkB,IAAI,CAAC;IAC9C,+EAA+E;IACvE,YAAY,GAA4B,IAAI,CAAC;IAC7C,YAAY,GAAmC,IAAI,CAAC;IAE5D,yEAAyE;IACzE,cAAc,GAAyC,IAAI,CAAC;IAE5D,YAAY,IAAI,GAAG,mBAAmB,EAAE,QAAuB,IAAI,EAAE,IAAI,GAAG,WAAW;QACrF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACxC,yEAAyE;YACzE,oEAAoE;YACpE,MAAM,IAAI,KAAK,CACb,qEAAqE,IAAI,qBAAqB;gBAC5F,sEAAsE,CACzE,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;qEAEiE;IACzD,OAAO,CAAC,QAAgB;QAC9B,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAC7B,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,KAAK;QACH,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;YACnD,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IAED;;;;;;;;OAQG;IACK,cAAc;QACpB,IAAI,IAAI,CAAC,cAAc;YAAE,OAAO;QAChC,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;YACrC,4EAA4E;YAC5E,oEAAoE;YACpE,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CACrD,CAAC,CAAC,EAAwB,EAAE,CAAC,CAAC,KAAK,IAAI,CACxC,CAAC;YACF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBAClC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC/C,IAAI,MAAM,IAAI,QAAQ,CAAC,gBAAgB,EAAE,CAAC;wBACxC,IAAI,CAAC;4BACH,IAAI,CAAC,SAAS,EAAE,CAAC;wBACnB,CAAC;wBAAC,MAAM,CAAC;4BACP,eAAe;wBACjB,CAAC;wBACD,SAAS;oBACX,CAAC;oBACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;oBACvC,IAAI,CAAC;wBACH,IAAI,CAAC,IAAI,EAAE,CAAC;oBACd,CAAC;oBAAC,MAAM,CAAC;wBACP,uEAAuE;oBACzE,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC1B,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,CAAC;IAChC,CAAC;IAED;;;;OAIG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC;IACjE,CAAC;IAED;;;;;;OAMG;IACK,aAAa,CAAC,OAAe;QACnC,4EAA4E;QAC5E,4DAA4D;QAC5D,wEAAwE;QACxE,6EAA6E;QAC7E,sEAAsE;QACtE,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC;YAC9B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,YAAY,EAAE,IAAI,CAAC,KAAK;gBACtB,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE;oBACX,IAAI,QAAQ,GAAG,EAAE,CAAC;oBAClB,IAAI,CAAC;wBACH,QAAQ;4BACN,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,kBAAkB,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;oBACrF,CAAC;oBAAC,MAAM,CAAC;wBACP,QAAQ,GAAG,EAAE,CAAC;oBAChB,CAAC;oBACD,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;wBAAE,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;oBAC5C,MAAM,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;oBACrF,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;gBACjC,CAAC;gBACH,CAAC,CAAC,SAAS;SACd,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;YACvB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;YACf,MAAM,CAAC,IAAI,CACT,iCAAiC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/F,CAAC;YACF,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC;YAC1B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAA0B,EAAE,EAAE;YAC7C,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC9B,yDAAyD;gBACzD,IAAI,CAAC;oBACH,GAAG,CAAC,KAAK,EAAE,CAAC;gBACd,CAAC;gBAAC,MAAM,CAAC;oBACP,6BAA6B;gBAC/B,CAAC;gBACD,IAAI,OAAO,GAAG,QAAQ,CAAC,iBAAiB,EAAE,CAAC;oBACzC,MAAM,KAAK,GAAG,QAAQ,CAAC,kBAAkB,GAAG,CAAC,IAAI,OAAO,CAAC;oBACzD,MAAM,CAAC,IAAI,CACT,oBAAoB,IAAI,CAAC,IAAI,uEAAuE,KAAK,eAAe,OAAO,GAAG,CAAC,IAAI,QAAQ,CAAC,iBAAiB,GAAG,CACrK,CAAC;oBACF,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE;wBACpC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;wBAC3B,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;oBAClC,CAAC,EAAE,KAAK,CAAC,CAAC;oBACV,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,MAAM,CAAC,IAAI,CACT,oBAAoB,IAAI,CAAC,IAAI,uBAAuB,QAAQ,CAAC,iBAAiB,oKAAoK,CACnP,CAAC;gBACF,IAAI,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC;gBAC3B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAC3B,CAAC;iBAAM,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;gBACpB,qEAAqE;gBACrE,0EAA0E;gBAC1E,2EAA2E;gBAC3E,wEAAwE;gBACxE,uDAAuD;gBACvD,MAAM,CAAC,KAAK,CACV,kDAAkD,GAAG,CAAC,OAAO,mDAAmD,CACjH,CAAC;gBACF,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;gBAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CAAC,6BAA6B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBACzD,8DAA8D;gBAC9D,IAAI,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC;gBAC3B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAC3B,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YACjC,wEAAwE;YACxE,yEAAyE;YACzE,wEAAwE;YACxE,wEAAwE;YACxE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC9B,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACrD,iFAAiF;YACjF,iFAAiF;YACjF,+DAA+D;YAC/D,MAAM,eAAe,GAAG,wBAAwB,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YACvE,6EAA6E;YAC7E,+EAA+E;YAC/E,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,CAAC;QAC7F,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,qBAAqB,CAAC,IAAkB;QACtC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED;;;;;;;;OAQG;IACH,WAAW,CAAC,IAAY,EAAE,IAAY,EAAE,KAAa;QACnD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC;gBAC9B,IAAI;gBACJ,IAAI;gBACJ,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE;oBACzB,IAAI,QAAQ,GAAG,EAAE,CAAC;oBAClB,IAAI,CAAC;wBACH,QAAQ;4BACN,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,kBAAkB,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;oBACrF,CAAC;oBAAC,MAAM,CAAC;wBACP,QAAQ,GAAG,EAAE,CAAC;oBAChB,CAAC;oBACD,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAChC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC7B,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC;wBAAE,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;oBACpE,MAAM,CAAC,IAAI,CAAC,iFAAiF,CAAC,CAAC;oBAC/F,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;gBACjC,CAAC;aACF,CAAC,CAAC;YACH,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC5B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC9B,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBACrD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC;YACH,GAAG,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;gBACvB,OAAO,GAAG,IAAI,CAAC;gBACf,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC5B,MAAM,CAAC,IAAI,CAAC,wCAAwC,IAAI,IAAI,IAAI,gBAAgB,CAAC,CAAC;gBAClF,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;YACH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAA0B,EAAE,EAAE;gBAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO,GAAG,IAAI,CAAC;oBACf,IAAI,CAAC;wBACH,GAAG,CAAC,KAAK,EAAE,CAAC;oBACd,CAAC;oBAAC,MAAM,CAAC;wBACP,gBAAgB;oBAClB,CAAC;oBACD,MAAM,CAAC,GAAG,CAAC,CAAC;gBACd,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,CAAC,uCAAuC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBACpE,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;OAUG;IACK,gBAAgB,CAAC,IAAkB,EAAE,KAAK,GAAG,KAAK,EAAE,YAAqB;QAC/E,oEAAoE;QACpE,IAAI,KAAK,GAAkB,IAAI,CAAC;QAChC,4EAA4E;QAC5E,4EAA4E;QAC5E,+EAA+E;QAC/E,6EAA6E;QAC7E,IAAI,cAAc,GAAmB,IAAI,CAAC;QAE1C,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAY,EAAE,EAAE;YAClC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,GAA4B,CAAC;YACjC,IAAI,CAAC;gBACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA4B,CAAC;YACnD,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;gBAC/D,OAAO;YACT,CAAC;YAED,iEAAiE;YACjE,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC3D,sEAAsE;gBACtE,uEAAuE;gBACvE,2EAA2E;gBAC3E,OAAQ,GAA+B,CAAC,aAAa,CAAC;gBACtD,yEAAyE;gBACzE,0EAA0E;gBAC1E,4EAA4E;gBAC5E,4EAA4E;gBAC5E,IAAI,KAAK,IAAI,KAAK,KAAK,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,KAAK,IAAI,EAAE,CAAC;oBAC1E,qEAAqE;oBACrE,qEAAqE;oBACrE,sEAAsE;oBACtE,uEAAuE;oBACvE,uEAAuE;oBACvE,wEAAwE;oBACxE,sEAAsE;oBACtE,qEAAqE;oBACrE,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;wBAC/C,IAAI,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;4BAC9C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,MAAgB,EAAE,IAAI,EAAE,CAAC,CAAC;wBACnE,CAAC;oBACH,CAAC;oBACD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,MAAgB,EAAE,IAAI,EAAE,CAAC,CAAC;oBAClE,mEAAmE;oBACnE,mEAAmE;oBAClE,GAA+B,CAAC,aAAa,GAAG,KAAK,CAAC;oBACvD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACzB,sEAAsE;oBACtE,iDAAiD;oBACjD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBAC5C,IAAI,OAAO,EAAE,CAAC;wBACZ,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,MAAgB,CAAC,IAAI,IAAI,GAAG,EAAgB,CAAC;wBACnF,KAAK,MAAM,CAAC,IAAI,OAAO;4BAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;wBACrC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,MAAgB,EAAE,IAAI,CAAC,CAAC;oBACnD,CAAC;oBACD,wEAAwE;oBACxE,yDAAyD;oBACzD,KAAK,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;wBAChD,IAAI,SAAS,KAAK,KAAK;4BAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,MAAgB,CAAC,CAAC;oBAC3E,CAAC;gBACH,CAAC;gBACD,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC;gBACnB,yEAAyE;gBACzE,yEAAyE;gBACzE,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;oBAC5B,cAAc,GAAI,GAA8B,CAAC,QAAQ,KAAK,IAAI,CAAC;gBACrE,CAAC;gBACD,MAAM,gBAAgB,GAAG,cAAc,CAAC;gBACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACvC,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;oBACvC,wEAAwE;oBACxE,wEAAwE;oBACxE,2EAA2E;oBAC3E,2EAA2E;oBAC3E,0EAA0E;oBAC1E,8EAA8E;oBAC9E,IAAI,QAAQ,CAAC,QAAQ,KAAK,gBAAgB,EAAE,CAAC;wBAC3C,MAAM,CAAC,IAAI,CACT,wDAAwD,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;4BAC5E,sBAAsB,QAAQ,CAAC,QAAQ,uBAAuB,gBAAgB,GAAG,CAClF,CAAC;wBACF,IAAI,CAAC;4BACH,IAAI,CAAC,KAAK,EAAE,CAAC;wBACf,CAAC;wBAAC,MAAM,CAAC;4BACP,gBAAgB;wBAClB,CAAC;wBACD,OAAO;oBACT,CAAC;oBACD,8DAA8D;oBAC9D,IAAI,CAAC;wBACH,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;oBACxB,CAAC;oBAAC,MAAM,CAAC;wBACP,gBAAgB;oBAClB,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE;oBACpB,IAAI;oBACJ,KAAK;oBACL,KAAK,EAAE,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU;oBAC1E,WAAW,EAAE,QAAQ,EAAE,WAAW,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBAC9D,QAAQ,EAAE,gBAAgB;oBAC1B,YAAY,EACV,OAAQ,GAAmC,CAAC,aAAa,KAAK,QAAQ;wBACpE,CAAC,CAAC,CAAE,GAAkC,CAAC,aAAa,IAAI,SAAS,CAAC;wBAClE,CAAC,CAAC,QAAQ,EAAE,YAAY;oBAC5B,wDAAwD;oBACxD,eAAe,EAAE,IAAI,GAAG,EAAU;oBAClC,0EAA0E;oBAC1E,yEAAyE;oBACzE,yEAAyE;oBACzE,4EAA4E;oBAC5E,iEAAiE;oBACjE,SAAS,EACP,OAAQ,GAAiC,CAAC,WAAW,KAAK,QAAQ;wBACjE,GAAgC,CAAC,WAAW;wBAC3C,CAAC,CAAE,GAAgC,CAAC,WAAW;wBAC/C,CAAC,CAAC,QAAQ,EAAE,IAAI,KAAK,IAAI;4BACvB,CAAC,CAAC,QAAQ,EAAE,SAAS;4BACrB,CAAC,CAAC,SAAS;oBACjB,gFAAgF;oBAChF,iFAAiF;oBACjF,gFAAgF;oBAChF,YAAY,EAAE,QAAQ,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY;oBAC/F,oEAAoE;oBACpE,KAAK;iBACN,CAAC,CAAC;gBACH,IAAI,gBAAgB;oBAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACnD,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,uDAAuD;gBAChF,wEAAwE;gBACxE,0EAA0E;gBAC1E,0EAA0E;gBAC1E,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC9B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBACzB,MAAM,CAAC,IAAI,CACT,oCAAoC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,eAAe,CAC9H,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,KAAK,CAAC,mBAAmB,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC;gBACjE,CAAC;gBACD,sEAAsE;gBACtE,wEAAwE;gBACxE,2EAA2E;gBAC3E,kEAAkE;gBAClE,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC5C,IAAI,MAAM,EAAE,MAAM,EAAE,CAAC;oBACnB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAChC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;wBACvB,IAAI,CAAC;4BACH,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC/B,CAAC;wBAAC,MAAM,CAAC;4BACP,MAAM,CAAC,+DAA+D;wBACxE,CAAC;oBACH,CAAC;oBACD,MAAM,CAAC,KAAK,CAAC,wBAAwB,MAAM,CAAC,MAAM,2BAA2B,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBACpG,CAAC;gBACD,0DAA0D;gBAC1D,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACzB,0EAA0E;gBAC1E,uEAAuE;gBACvE,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;gBACpC,IAAI,CAAC,cAAc,EAAE,CAAC,GAAiB,CAAC,CAAC;gBACzC,OAAO;YACT,CAAC;YAED,MAAM,GAAG,GAAG,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9D,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAChC,IAAI,CAAC,CAAC,EAAE,CAAC;oBACP,uEAAuE;oBACvE,mEAAmE;oBACnE,yEAAyE;oBACzE,yEAAyE;oBACzE,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACvC,IAAI,KAAK,EAAE,CAAC;wBACV,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBAC5B,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;4BACX,IAAI,CAAC,YAAY,EAAE,CAAC;4BACpB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;wBAC/E,CAAC;oBACH,CAAC;oBACD,OAAO;gBACT,CAAC;gBACD,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBACtB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACzB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC5B,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;oBACX,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACxB,CAAC;qBAAM,CAAC;oBACN,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,yBAAyB,CAAC,CAAC,CAAC,CAAC;gBACtE,CAAC;gBACD,OAAO;YACT,CAAC;YAED,wDAAwD;YACxD,0EAA0E;YAC1E,wEAAwE;YACxE,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,EAAE,CAAC;gBAClC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACnC,IAAI,IAAI,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,GAAG,CAAC,KAAK;oBAAE,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;gBAC/E,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,2CAA2C;gBACpE,OAAO;YACT,CAAC;YAED,2EAA2E;YAC3E,4EAA4E;YAC5E,wEAAwE;YACxE,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBAC7B,IAAI,CAAC;oBACH,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;gBAC1F,CAAC;gBAAC,MAAM,CAAC;oBACP,wCAAwC;gBAC1C,CAAC;gBACD,OAAO;YACT,CAAC;YACD,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,OAAO,GAAG,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;gBACvE,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC;gBACjC,2EAA2E;gBAC3E,+DAA+D;gBAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACvE,IAAI,KAAK,EAAE,CAAC;oBACV,4EAA4E;oBAC5E,wEAAwE;oBACxE,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;wBACxC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC;4BAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACnE,CAAC;oBACD,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBACvC,IAAI,CAAC,GAAG,EAAE,CAAC;wBACT,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;wBAChB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;oBACpC,CAAC;oBACD,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACd,2EAA2E;oBAC3E,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACvC,CAAC;gBACD,IAAI,CAAC;oBACH,IAAI,CAAC,IAAI,CACP,IAAI,CAAC,SAAS,CAAC;wBACb,IAAI,EAAE,cAAc;wBACpB,GAAG,EAAE,GAAG,CAAC,GAAG;wBACZ,MAAM,EAAE,MAAM;wBACd,EAAE,EAAE,KAAK;wBACT,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC;qBACnD,CAAC,CACH,CAAC;gBACJ,CAAC;gBAAC,MAAM,CAAC;oBACP,iBAAiB;gBACnB,CAAC;gBACD,OAAO;YACT,CAAC;YACD,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC9B,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;oBAC1C,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC;wBAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACvE,CAAC;gBACD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,6CAA6C;gBAC9E,OAAO;YACT,CAAC;YAED,8EAA8E;YAC9E,6EAA6E;YAC7E,6EAA6E;YAC7E,8EAA8E;YAC9E,6EAA6E;YAC7E,yBAAyB;YACzB,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACjC,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC;gBAC3D,IAAI,YAAY,EAAE,CAAC;oBACjB,GAAG,CAAC,MAAM,GAAG,YAAY,CAAC;oBAC1B,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC;oBAChD,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc;wBAAE,IAAI,CAAC,eAAe,GAAG,YAAY,CAAC;gBACvE,CAAC;gBACD,IAAI,CAAC,cAAc,EAAE,CAAC,GAAiB,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACpB,sEAAsE;YACtE,wEAAwE;YACxE,4DAA4D;YAC5D,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC/C,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI;oBAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC3D,CAAC;YACD,oEAAoE;YACpE,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC1C,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC;oBAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACvE,CAAC;YACD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClD,UAAU,GAAG,IAAI,CAAC;gBAClB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACzB,IAAI,IAAI,CAAC,eAAe,KAAK,KAAK;oBAAE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;gBAChE,uEAAuE;gBACvE,0EAA0E;gBAC1E,6EAA6E;gBAC7E,KAAK,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;oBAChD,IAAI,SAAS,KAAK,KAAK;wBAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACxD,CAAC;gBACD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC/B,MAAM,CAAC,IAAI,CACT,uCAAuC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,gBAAgB,CAC9F,CAAC;YACJ,CAAC;YACD,IAAI,UAAU;gBAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,uCAAuC;YAChF,6EAA6E;YAC7E,2EAA2E;YAC3E,+EAA+E;YAC/E,6EAA6E;YAC7E,6DAA6D;YAC7D,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACpC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;oBACpB,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;oBACtB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACzB,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED;;;;yEAIqE;IACrE,QAAQ,CAAC,KAAa;QACpB,IAAI,CAAC;YACH,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;2EAKuE;IACvE,kBAAkB;QAChB,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC;IACpC,CAAC;IAED;;;;;sEAKkE;IAClE,SAAS,CAAC,KAAa;QACrB,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC;QAC7C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED;;;;;;gDAM4C;IAC5C,eAAe,CAAC,KAAa;QAC3B,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC;QAChD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED;;;;sEAIkE;IAClE,UAAU,CAAC,KAAa;QACtB,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC;QAClD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;gDAC4C;IAC5C,UAAU,CAAC,KAAa;QACtB,yEAAyE;QACzE,4EAA4E;QAC5E,+EAA+E;QAC/E,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAClF,CAAC;IAED;qFACiF;IACzE,YAAY;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAC1C,IAAI,GAAG,GAAG,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,eAAe;gBAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,+EAA+E;QAC/E,8EAA8E;QAC9E,0BAA0B;QAC1B,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACvC,IAAI,GAAG,GAAG,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,eAAe;gBAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACzE,CAAC;QACD,gFAAgF;QAChF,kFAAkF;QAClF,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC;YAC1C,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;gBACzC,IAAI,CAAC,EAAE,IAAI,MAAM;oBAAE,MAAM;gBACzB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;wCAGoC;IACpC,gBAAgB,CAAC,KAAa;QAC5B,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,MAAM,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,CAAC;YAAE,OAAO,SAAS,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAClC,OAAO,CAAC,CAAC,MAAM,CAAC;IAClB,CAAC;IAED,4DAA4D;IAC5D,IAAI;QACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACjD,MAAM,EAAE,CAAC,CAAC,KAAK;YACf,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,YAAY,EAAE,CAAC,CAAC,WAAW;SAC5B,CAAC,CAAC,CAAC;IACN,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO,QAAQ,IAAI,CAAC,IAAI,wGAAwG,CAAC;QACnI,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,6GAA6G,CAAC;QACvH,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,CAC3B,CAAC,CAAC,EAAE,EAAE,CACJ,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3G,CAAC;QACF,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,6BAA6B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAC3E,CAAC;IAED,gDAAgD;IACxC,aAAa,CAAC,KAAc;QAClC,IAAI,KAAK,EAAE,CAAC;YACV,qEAAqE;YACrE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,KAAK;gBAAE,OAAO,KAAK,CAAC;YACxB,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5D,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAC1B,CAAC;YACF,mEAAmE;YACnE,mEAAmE;YACnE,wEAAwE;YACxE,wEAAwE;YACxE,mEAAmE;YACnE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC/C,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBAC3C,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI;wBAAE,OAAO,MAAM,CAAC;gBAC7D,CAAC;YACH,CAAC;YACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC9C,MAAM,IAAI,KAAK,CACb,QAAQ,CAAC,MAAM,GAAG,CAAC;gBACjB,CAAC,CAAC,WAAW,KAAK,4BAA4B,QAAQ,CAAC,MAAM,OAAO;gBACpE,CAAC,CAAC,6BAA6B,KAAK,iBAAiB,IAAI,CAAC,IAAI,EAAE;qBAC3D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,CAAC;qBACpD,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,CAC9B,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAa,CAAC;QAClD,CAAC;QACD,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;YACjE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAS,CAAC;QACtD,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,MAAM,IAAI,KAAK,CACb,8EAA8E,IAAI,CAAC,MAAM,EAAE,EAAE,CAC9F,CAAC;IACJ,CAAC;IAED;4DACwD;IAChD,MAAM,CAAC,aAAa,CAAC,GAAkB;QAC7C,OAAO,GAAG,CAAC,GAAG,KAAK,YAAY,CAAC;IAClC,CAAC;IAEO,YAAY,CAAC,KAAa,EAAE,GAAkB;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAC1C,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAClC,OAAO,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC,WAAW;YAAE,GAAG,CAAC,KAAK,EAAE,CAAC;QACtD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC7B,MAAM,CAAC,IAAI,CACT,0BAA0B,GAAG,CAAC,GAAG,qBAAqB,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,MAAM,UAAU,CACjG,CAAC;IACJ,CAAC;IAED;;gEAE4D;IACpD,YAAY,CAAC,KAAa;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACrC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,IAAI,QAAQ,CAAC,cAAc,CAAC,CAAC;QACvE,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACjF,CAAC;YAAC,MAAM,CAAC;gBACP,4BAA4B;YAC9B,CAAC;QACH,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACjF,CAAC;YAAC,MAAM,CAAC;gBACP,iBAAiB;YACnB,CAAC;YACD,MAAM,CAAC,IAAI,CACT,uBAAuB,KAAK,CAAC,MAAM,0CAA0C,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CACjG,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,CAAC,GAAkB,EAAE,OAA+C,EAAE;QACxE,8EAA8E;QAC9E,gFAAgF;QAChF,+EAA+E;QAC/E,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACpE,IAAI,IAAU,CAAC;QACf,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,6EAA6E;YAC7E,kFAAkF;YAClF,IAAI,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBACnC,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACxD,CAAC;YACD,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC7E,CAAC;QACD,6EAA6E;QAC7E,+EAA+E;QAC/E,8EAA8E;QAC9E,6EAA6E;QAC7E,+EAA+E;QAC/E,sBAAsB;QACtB,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACtC,OAAO,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QAC3E,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBACnC,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACxD,CAAC;YACD,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;QACtF,CAAC;QACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,GAAG,GAAY;gBACnB,OAAO;gBACP,MAAM;gBACN,OAAO,EAAE,GAAG;gBACZ,SAAS;gBACT,4EAA4E;gBAC5E,yEAAyE;gBACzE,oCAAoC;gBACpC,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,QAAQ,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;gBAC9C,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;aACjC,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;uEAGmE;IAC3D,QAAQ,CAAC,IAAU,EAAE,GAAY;QACvC,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC;QACxB,0EAA0E;QAC1E,4DAA4D;QAC5D,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5C,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;YACnB,GAAG,CAAC,MAAM,CACR,IAAI,KAAK,CACP,aAAa,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,sBAAsB,GAAG,CAAC,GAAG,YAAY,GAAG,CAAC,SAAS,qDAAqD,CAC/I,CACF,CAAC;YACF,OAAO;QACT,CAAC;QACD,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;QACzB,+EAA+E;QAC/E,8EAA8E;QAC9E,6EAA6E;QAC7E,MAAM,KAAK,GAAI,GAA4B,CAAC,MAAM,CAAC;QACnD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,EAAE,CAAC;YACvC,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,sEAAsE;QACtE,0EAA0E;QAC1E,uEAAuE;QACvE,4BAA4B;QAC5B,MAAM,YAAY,GAAG,CAAC,GAAU,EAAE,EAAE;YAClC,MAAM,QAAQ,GAAG,uBAAuB,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACzE,IAAI,QAAQ,EAAE,CAAC;gBACb,qEAAqE;gBACrE,wEAAwE;gBACxE,mEAAmE;gBACnE,+BAA+B;gBAC/B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACpC,CAAC;YACD,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAC;QAC9B,CAAC,CAAC;QACF,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACzB,oFAAoF;YACpF,kFAAkF;YAClF,gFAAgF;YAChF,qFAAqF;YACrF,qFAAqF;YACrF,6DAA6D;YAC7D,GAAG,CAAC,MAAM,CACR,cAAc,CACZ,IAAI,KAAK,CACP,aAAa,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,sBAAsB,GAAG,CAAC,GAAG,YAAY,GAAG,CAAC,SAAS,qDAAqD,CAC/I,EACD,IAAI,CACL,CACF,CAAC;QACJ,CAAC,EAAE,cAAc,CAAC,CAAC;QACnB,MAAM,OAAO,GAAY;YACvB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,MAAM,EAAE,YAAY;YACpB,KAAK;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,GAAG;SACJ,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC/B,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACzB,iFAAiF;YACjF,6EAA6E;YAC7E,8EAA8E;YAC9E,qFAAqF;YACrF,mFAAmF;YACnF,kFAAkF;YAClF,+DAA+D;YAC/D,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAChE,GAAG,CAAC,MAAM,CACR,cAAc,CACZ,IAAI,KAAK,CACP,mBAAmB,GAAG,CAAC,GAAG,kBAAkB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,sCAAsC,MAAM,GAAG,CAClH,EACD,KAAK,CACN,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;qFAEiF;IACzE,0BAA0B,CAAC,IAAa;QAC9C,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAC1B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,+EAA+E;QAC/E,6EAA6E;QAC7E,oEAAoE;QACpE,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC/C,8EAA8E;YAC9E,+EAA+E;YAC/E,+EAA+E;YAC/E,2DAA2D;YAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACvC,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;gBAC/E,MAAM,CAAC,IAAI,CACT,mBAAmB,KAAK,oCAAoC,GAAG,sBAAsB,CACtF,CAAC;gBACF,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBACzB,OAAO;YACT,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACzD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,kBAAkB,EAAE,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAC9F,MAAM,KAAK,GAAG;gBACZ,GAAG;gBACH,UAAU,EAAE,UAAU,CAAC,GAAG,EAAE;oBAC1B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;oBACtC,GAAG,CAAC,MAAM,CACR,IAAI,KAAK,CACP,aAAa,KAAK,+BAA+B,GAAG,mCAAmC,OAAO,2DAA2D,CAC1J,CACF,CAAC;gBACJ,CAAC,EAAE,OAAO,CAAC;aACZ,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC5C,MAAM,CAAC,IAAI,CACT,mBAAmB,KAAK,0BAA0B,GAAG,iCAAiC,OAAO,4BAA4B,CAC1H,CAAC;YACF,OAAO;QACT,CAAC;QACD,gFAAgF;QAChF,gFAAgF;QAChF,4EAA4E;QAC5E,2EAA2E;QAC3E,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACjB,GAAG,CAAC,MAAM,CACR,cAAc,CACZ,IAAI,KAAK,CACP,aAAa,KAAK,+BAA+B,GAAG,0OAA0O,CAC/R,EACD,IAAI,CACL,CACF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,MAAM,CACR,IAAI,KAAK,CACP,aAAa,KAAK,+BAA+B,GAAG,0DAA0D,CAC/G,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,cAAc,CACpB,KAAa,EACb,KAAkE;QAElE,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC;IAED;mEAC+D;IACvD,uBAAuB,CAAC,KAAa;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrC,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;YACzB,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC/B,MAAM,CAAC,IAAI,CACT,mBAAmB,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,4BAA4B,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,GAAG,CACzF,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED;;;kEAG8D;IAC9D;gCAC4B;IAC5B,sBAAsB,CAAC,EAA8B;QACnD,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;IAChC,CAAC;IAED,mFAAmF;IACnF,WAAW;QACT,MAAM,GAAG,GAAmE,EAAE,CAAC;QAC/E,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACvC,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,SAAS,CAAC,6BAA6B;YACzE,GAAG,CAAC,IAAI,CAAC;gBACP,MAAM,EAAE,KAAK;gBACb,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;gBACvB,WAAW,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK;aAChF,CAAC,CAAC;QACL,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED;sFACkF;IAClF,gBAAgB;QACd,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAC7E,MAAM,IAAI,GAAG,IAAI,GAAG,EAAgB,CAAC;QACrC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;YAC5C,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;gBACvB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI;oBAAE,SAAS;gBACnE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACf,IAAI,CAAC;oBACH,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACnB,CAAC;gBAAC,MAAM,CAAC;oBACP,kCAAkC;gBACpC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,KAA8B,EAAE,KAAc;QACjD,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,IAAI,OAAe,CAAC;QACpB,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC;gBACH,OAAO,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;YACxC,CAAC;YAAC,MAAM,CAAC;gBACP,wEAAwE;gBACxE,2EAA2E;gBAC3E,oEAAoE;gBACpE,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBAC7C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACd,IAAI,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,iBAAiB;oBAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC;gBAC9F,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBAChC,OAAO,CAAC,CAAC;YACX,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACtC,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC3B,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI;gBAAE,SAAS;YACtD,IAAI,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACxB,IAAI,IAAI,CAAC,CAAC;YACZ,CAAC;YAAC,MAAM,CAAC;gBACP,6BAA6B;YAC/B,CAAC;QACH,CAAC;QACD,+EAA+E;QAC/E,0EAA0E;QAC1E,4EAA4E;QAC5E,8EAA8E;QAC9E,+EAA+E;QAC/E,gEAAgE;QAChE,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACvF,qEAAqE;YACrE,qEAAqE;YACrE,0EAA0E;YAC1E,qDAAqD;YACrD,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;YACpE,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC/C,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;gBACrC,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;oBACxB,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI;wBAAE,SAAS;oBACzE,IAAI,CAAC;wBACH,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBACnB,IAAI,IAAI,CAAC,CAAC;oBACZ,CAAC;oBAAC,MAAM,CAAC;wBACP,kCAAkC;oBACpC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAClC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACnC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;QACD,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACpC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;YACtC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QACD,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACnD,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;gBACzB,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBAC/B,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAChD,CAAC;YACD,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACvC,IAAI,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACpB,CAAC;YAAC,MAAM,CAAC;gBACP,gBAAgB;YAClB,CAAC;QACH,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC;gBACH,CAAC,CAAC,KAAK,EAAE,CAAC;YACZ,CAAC;YAAC,MAAM,CAAC;gBACP,eAAe;YACjB,CAAC;QACH,CAAC;QACD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAClC,IAAI,CAAC,IAAI,CAAC,GAAG;gBAAE,OAAO,OAAO,EAAE,CAAC;YAChC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;IAClB,CAAC;;AAGH;mEACmE;AACnE,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACpC,OAAO,CAAC,KAAK,WAAW,IAAI,CAAC,KAAK,WAAW,IAAI,CAAC,KAAK,KAAK,CAAC;AAC/D,CAAC;AAED,oEAAoE;AACpE,IAAI,cAAc,GAAoB,IAAI,CAAC;AAE3C,MAAM,UAAU,aAAa,CAAC,IAAa,EAAE,KAAqB,EAAE,IAAa;IAC/E,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,cAAc,GAAG,IAAI,QAAQ,CAC3B,IAAI;YACF,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,IAAI,mBAAmB,CAAC,EACtE,KAAK,IAAI,IAAI,EACb,IAAI,IAAI,WAAW,CACpB,CAAC;QACF,cAAc,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,cAAc,CAAC;AACxB,CAAC"}
|