pi-subagents 0.77.0 → 0.79.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/CHANGELOG.md +93 -0
- package/agents/evidence-auditor.md +1 -0
- package/agents/oracle.md +1 -0
- package/agents/reviewer.md +1 -0
- package/docs/agents.md +4 -2
- package/docs/configuration.md +22 -6
- package/docs/extension-api.md +9 -1
- package/docs/observability.md +11 -3
- package/docs/tool-reference.md +14 -3
- package/docs/workflows.md +6 -4
- package/package.json +1 -1
- package/skills/pi-subagents/SKILL.md +2 -1
- package/skills/pi-subagents/references/execution-controls.md +2 -0
- package/skills/pi-subagents/references/multi-lane-orchestration.md +1 -1
- package/src/api/external-runs.d.ts.map +1 -1
- package/src/api/external-runs.js +5 -4
- package/src/api/external-runs.js.map +1 -1
- package/src/api/preflight.js +1 -1
- package/src/api/preflight.js.map +1 -1
- package/src/extension/active-runs-prompt.d.ts +8 -0
- package/src/extension/active-runs-prompt.d.ts.map +1 -0
- package/src/extension/active-runs-prompt.js +30 -0
- package/src/extension/active-runs-prompt.js.map +1 -0
- package/src/extension/config.d.ts.map +1 -1
- package/src/extension/config.js +6 -0
- package/src/extension/config.js.map +1 -1
- package/src/extension/declaration-pinning.d.ts +5 -0
- package/src/extension/declaration-pinning.d.ts.map +1 -1
- package/src/extension/declaration-pinning.js +24 -3
- package/src/extension/declaration-pinning.js.map +1 -1
- package/src/extension/index.d.ts +0 -1
- package/src/extension/index.d.ts.map +1 -1
- package/src/extension/index.js +73 -18
- package/src/extension/index.js.map +1 -1
- package/src/extension/public-execution.d.ts +1 -0
- package/src/extension/public-execution.d.ts.map +1 -1
- package/src/extension/public-execution.js +3 -0
- package/src/extension/public-execution.js.map +1 -1
- package/src/extension/rpc.d.ts.map +1 -1
- package/src/extension/rpc.js +5 -3
- package/src/extension/rpc.js.map +1 -1
- package/src/extension/schemas.d.ts +2 -0
- package/src/extension/schemas.d.ts.map +1 -1
- package/src/extension/schemas.js +1 -0
- package/src/extension/schemas.js.map +1 -1
- package/src/extension/tool-activation.d.ts.map +1 -1
- package/src/extension/tool-activation.js +25 -6
- package/src/extension/tool-activation.js.map +1 -1
- package/src/intercom/native-supervisor-channel.d.ts +18 -2
- package/src/intercom/native-supervisor-channel.d.ts.map +1 -1
- package/src/intercom/native-supervisor-channel.js +130 -15
- package/src/intercom/native-supervisor-channel.js.map +1 -1
- package/src/runs/background/active-async-capacity.d.ts +2 -1
- package/src/runs/background/active-async-capacity.d.ts.map +1 -1
- package/src/runs/background/active-async-capacity.js +10 -6
- package/src/runs/background/active-async-capacity.js.map +1 -1
- package/src/runs/background/async-execution.js +3 -3
- package/src/runs/background/async-execution.js.map +1 -1
- package/src/runs/background/async-resume.d.ts.map +1 -1
- package/src/runs/background/async-resume.js +5 -2
- package/src/runs/background/async-resume.js.map +1 -1
- package/src/runs/background/async-status-snapshot.d.ts.map +1 -1
- package/src/runs/background/async-status-snapshot.js +4 -2
- package/src/runs/background/async-status-snapshot.js.map +1 -1
- package/src/runs/background/async-status.d.ts.map +1 -1
- package/src/runs/background/async-status.js +10 -6
- package/src/runs/background/async-status.js.map +1 -1
- package/src/runs/background/chain-root-attachment.js +4 -4
- package/src/runs/background/chain-root-attachment.js.map +1 -1
- package/src/runs/background/control-channel.d.ts +1 -0
- package/src/runs/background/control-channel.d.ts.map +1 -1
- package/src/runs/background/control-channel.js +27 -3
- package/src/runs/background/control-channel.js.map +1 -1
- package/src/runs/background/inspect-rpc.d.ts +5 -0
- package/src/runs/background/inspect-rpc.d.ts.map +1 -1
- package/src/runs/background/inspect-rpc.js +20 -3
- package/src/runs/background/inspect-rpc.js.map +1 -1
- package/src/runs/background/notify.d.ts +1 -1
- package/src/runs/background/notify.d.ts.map +1 -1
- package/src/runs/background/notify.js +8 -4
- package/src/runs/background/notify.js.map +1 -1
- package/src/runs/background/result-delivery-ownership.d.ts +0 -2
- package/src/runs/background/result-delivery-ownership.d.ts.map +1 -1
- package/src/runs/background/result-delivery-ownership.js +5 -21
- package/src/runs/background/result-delivery-ownership.js.map +1 -1
- package/src/runs/background/result-files.d.ts +5 -3
- package/src/runs/background/result-files.d.ts.map +1 -1
- package/src/runs/background/result-files.js +10 -6
- package/src/runs/background/result-files.js.map +1 -1
- package/src/runs/background/result-watcher.d.ts.map +1 -1
- package/src/runs/background/result-watcher.js +15 -8
- package/src/runs/background/result-watcher.js.map +1 -1
- package/src/runs/background/resume-guidance.d.ts.map +1 -1
- package/src/runs/background/resume-guidance.js +3 -2
- package/src/runs/background/resume-guidance.js.map +1 -1
- package/src/runs/background/run-child-session.d.ts.map +1 -1
- package/src/runs/background/run-child-session.js +13 -17
- package/src/runs/background/run-child-session.js.map +1 -1
- package/src/runs/background/run-status.d.ts.map +1 -1
- package/src/runs/background/run-status.js +11 -4
- package/src/runs/background/run-status.js.map +1 -1
- package/src/runs/background/runner-aliases.d.ts.map +1 -1
- package/src/runs/background/runner-aliases.js +11 -8
- package/src/runs/background/runner-aliases.js.map +1 -1
- package/src/runs/background/subagent-runner.d.ts.map +1 -1
- package/src/runs/background/subagent-runner.js +212 -283
- package/src/runs/background/subagent-runner.js.map +1 -1
- package/src/runs/background/workflow-terminal-proof.d.ts +1 -1
- package/src/runs/background/workflow-terminal-proof.d.ts.map +1 -1
- package/src/runs/background/workflow-terminal-proof.js +12 -3
- package/src/runs/background/workflow-terminal-proof.js.map +1 -1
- package/src/runs/foreground/async-dismiss-action.d.ts.map +1 -1
- package/src/runs/foreground/async-dismiss-action.js +2 -1
- package/src/runs/foreground/async-dismiss-action.js.map +1 -1
- package/src/runs/foreground/async-steering-action.d.ts.map +1 -1
- package/src/runs/foreground/async-steering-action.js +3 -2
- package/src/runs/foreground/async-steering-action.js.map +1 -1
- package/src/runs/foreground/async-stop-action.d.ts +1 -0
- package/src/runs/foreground/async-stop-action.d.ts.map +1 -1
- package/src/runs/foreground/async-stop-action.js +9 -8
- package/src/runs/foreground/async-stop-action.js.map +1 -1
- package/src/runs/foreground/command-action.d.ts.map +1 -1
- package/src/runs/foreground/command-action.js +2 -1
- package/src/runs/foreground/command-action.js.map +1 -1
- package/src/runs/foreground/execution.d.ts.map +1 -1
- package/src/runs/foreground/execution.js +67 -60
- package/src/runs/foreground/execution.js.map +1 -1
- package/src/runs/foreground/subagent-executor.d.ts +2 -0
- package/src/runs/foreground/subagent-executor.d.ts.map +1 -1
- package/src/runs/foreground/subagent-executor.js +124 -67
- package/src/runs/foreground/subagent-executor.js.map +1 -1
- package/src/runs/shared/async-status-projection.d.ts +4 -0
- package/src/runs/shared/async-status-projection.d.ts.map +1 -1
- package/src/runs/shared/async-status-projection.js +23 -1
- package/src/runs/shared/async-status-projection.js.map +1 -1
- package/src/runs/shared/child-commands.d.ts +2 -0
- package/src/runs/shared/child-commands.d.ts.map +1 -1
- package/src/runs/shared/child-commands.js +4 -0
- package/src/runs/shared/child-commands.js.map +1 -1
- package/src/runs/shared/child-runtime-config.d.ts +6 -0
- package/src/runs/shared/child-runtime-config.d.ts.map +1 -1
- package/src/runs/shared/child-runtime-config.js +6 -0
- package/src/runs/shared/child-runtime-config.js.map +1 -1
- package/src/runs/shared/child-session.d.ts +2 -2
- package/src/runs/shared/child-session.d.ts.map +1 -1
- package/src/runs/shared/child-session.js +104 -42
- package/src/runs/shared/child-session.js.map +1 -1
- package/src/runs/shared/effective-system-prompt.d.ts +4 -4
- package/src/runs/shared/effective-system-prompt.d.ts.map +1 -1
- package/src/runs/shared/effective-system-prompt.js +5 -4
- package/src/runs/shared/effective-system-prompt.js.map +1 -1
- package/src/runs/shared/external-cli-runner.d.ts.map +1 -1
- package/src/runs/shared/external-cli-runner.js +3 -2
- package/src/runs/shared/external-cli-runner.js.map +1 -1
- package/src/runs/shared/long-running-guard.d.ts +3 -1
- package/src/runs/shared/long-running-guard.d.ts.map +1 -1
- package/src/runs/shared/long-running-guard.js +4 -14
- package/src/runs/shared/long-running-guard.js.map +1 -1
- package/src/runs/shared/model-resolution-diagnostic.d.ts +7 -5
- package/src/runs/shared/model-resolution-diagnostic.d.ts.map +1 -1
- package/src/runs/shared/model-resolution-diagnostic.js +13 -10
- package/src/runs/shared/model-resolution-diagnostic.js.map +1 -1
- package/src/runs/shared/model-resolution.d.ts +5 -1
- package/src/runs/shared/model-resolution.d.ts.map +1 -1
- package/src/runs/shared/model-resolution.js +8 -1
- package/src/runs/shared/model-resolution.js.map +1 -1
- package/src/runs/shared/nested-events.d.ts.map +1 -1
- package/src/runs/shared/nested-events.js +2 -0
- package/src/runs/shared/nested-events.js.map +1 -1
- package/src/runs/shared/orca-progress-tabs.js +1 -1
- package/src/runs/shared/orca-progress-tabs.js.map +1 -1
- package/src/runs/shared/partial-output.d.ts +7 -0
- package/src/runs/shared/partial-output.d.ts.map +1 -1
- package/src/runs/shared/partial-output.js +7 -0
- package/src/runs/shared/partial-output.js.map +1 -1
- package/src/runs/shared/run-ownership.d.ts +4 -0
- package/src/runs/shared/run-ownership.d.ts.map +1 -0
- package/src/runs/shared/run-ownership.js +9 -0
- package/src/runs/shared/run-ownership.js.map +1 -0
- package/src/runs/shared/single-output.d.ts +11 -1
- package/src/runs/shared/single-output.d.ts.map +1 -1
- package/src/runs/shared/single-output.js +48 -26
- package/src/runs/shared/single-output.js.map +1 -1
- package/src/runs/shared/structured-output.d.ts +2 -0
- package/src/runs/shared/structured-output.d.ts.map +1 -1
- package/src/runs/shared/structured-output.js +9 -0
- package/src/runs/shared/structured-output.js.map +1 -1
- package/src/runs/shared/subagent-control.d.ts +1 -0
- package/src/runs/shared/subagent-control.d.ts.map +1 -1
- package/src/runs/shared/subagent-control.js +2 -1
- package/src/runs/shared/subagent-control.js.map +1 -1
- package/src/runs/shared/subagent-prompt-runtime.d.ts +56 -0
- package/src/runs/shared/subagent-prompt-runtime.d.ts.map +1 -1
- package/src/runs/shared/subagent-prompt-runtime.js +192 -6
- package/src/runs/shared/subagent-prompt-runtime.js.map +1 -1
- package/src/runs/shared/tool-budget.js +1 -1
- package/src/runs/shared/tool-budget.js.map +1 -1
- package/src/shared/child-transcript.js +1 -1
- package/src/shared/child-transcript.js.map +1 -1
- package/src/shared/extension-context.d.ts +5 -0
- package/src/shared/extension-context.d.ts.map +1 -1
- package/src/shared/extension-context.js +7 -0
- package/src/shared/extension-context.js.map +1 -1
- package/src/shared/file-lease.d.ts +7 -1
- package/src/shared/file-lease.d.ts.map +1 -1
- package/src/shared/file-lease.js +8 -2
- package/src/shared/file-lease.js.map +1 -1
- package/src/shared/fork-context.d.ts +3 -1
- package/src/shared/fork-context.d.ts.map +1 -1
- package/src/shared/fork-context.js +23 -13
- package/src/shared/fork-context.js.map +1 -1
- package/src/shared/parent-wake.d.ts +6 -0
- package/src/shared/parent-wake.d.ts.map +1 -1
- package/src/shared/parent-wake.js +11 -0
- package/src/shared/parent-wake.js.map +1 -1
- package/src/shared/session-succession.d.ts +5 -0
- package/src/shared/session-succession.d.ts.map +1 -0
- package/src/shared/session-succession.js +25 -0
- package/src/shared/session-succession.js.map +1 -0
- package/src/shared/types.d.ts +22 -9
- package/src/shared/types.d.ts.map +1 -1
- package/src/shared/types.js +7 -4
- package/src/shared/types.js.map +1 -1
- package/src/shared/utils.d.ts +13 -0
- package/src/shared/utils.d.ts.map +1 -1
- package/src/shared/utils.js +19 -0
- package/src/shared/utils.js.map +1 -1
- package/src/slash/slash-commands.d.ts.map +1 -1
- package/src/slash/slash-commands.js +22 -11
- package/src/slash/slash-commands.js.map +1 -1
- package/src/slash/subagents-admin.d.ts.map +1 -1
- package/src/slash/subagents-admin.js +3 -2
- package/src/slash/subagents-admin.js.map +1 -1
- package/src/tui/fleet-status.d.ts +5 -0
- package/src/tui/fleet-status.d.ts.map +1 -1
- package/src/tui/fleet-status.js +24 -3
- package/src/tui/fleet-status.js.map +1 -1
- package/src/tui/fleet.js +2 -2
- package/src/tui/fleet.js.map +1 -1
- package/src/watchdog/change-signature.d.ts.map +1 -1
- package/src/watchdog/change-signature.js +1 -3
- package/src/watchdog/change-signature.js.map +1 -1
- package/src/watchdog/register-main.js +2 -2
- package/src/watchdog/register-main.js.map +1 -1
- package/src/watchdog/runtime.d.ts.map +1 -1
- package/src/watchdog/runtime.js +3 -5
- package/src/watchdog/runtime.js.map +1 -1
- package/src/workflows/scripted-workflow.d.ts +1 -1
- package/src/workflows/scripted-workflow.d.ts.map +1 -1
- package/src/workflows/scripted-workflow.js +13 -4
- package/src/workflows/scripted-workflow.js.map +1 -1
- package/src/workflows/workflow-child-summary.d.ts +5 -0
- package/src/workflows/workflow-child-summary.d.ts.map +1 -1
- package/src/workflows/workflow-child-summary.js +10 -0
- package/src/workflows/workflow-child-summary.js.map +1 -1
- package/src/workflows/workflow-reuse.d.ts +6 -1
- package/src/workflows/workflow-reuse.d.ts.map +1 -1
- package/src/workflows/workflow-reuse.js +22 -1
- package/src/workflows/workflow-reuse.js.map +1 -1
- package/src/runs/shared/run-history.d.ts +0 -67
- package/src/runs/shared/run-history.d.ts.map +0 -1
- package/src/runs/shared/run-history.js +0 -270
- package/src/runs/shared/run-history.js.map +0 -1
|
@@ -2,8 +2,11 @@ import { randomUUID } from "node:crypto";
|
|
|
2
2
|
import * as fs from "node:fs";
|
|
3
3
|
import * as path from "node:path";
|
|
4
4
|
import { Type } from "typebox";
|
|
5
|
-
import { INTERCOM_DETACH_REQUEST_EVENT, POLL_INTERVAL_MS, TEMP_ROOT_DIR } from "../shared/types.js";
|
|
6
|
-
import {
|
|
5
|
+
import { ASYNC_DIR, INTERCOM_DETACH_REQUEST_EVENT, POLL_INTERVAL_MS, TEMP_ROOT_DIR } from "../shared/types.js";
|
|
6
|
+
import { readStatus } from "../shared/utils.js";
|
|
7
|
+
import { inheritedSessionIds } from "../shared/session-succession.js";
|
|
8
|
+
import { ownsRun } from "../runs/shared/run-ownership.js";
|
|
9
|
+
import { writeAtomicJson, writePrivateAtomicJson } from "../shared/atomic-json.js";
|
|
7
10
|
import { shouldUseNativeFsWatch } from "../shared/watch-strategy.js";
|
|
8
11
|
import { MODEL_ONLY_TOOL } from "../shared/extension-context.js";
|
|
9
12
|
import { SUPERVISOR_REQUEST_MESSAGE_TYPE, SUPERVISOR_REPLY_ENTRY_TYPE, supervisorReplyHint, } from "./supervisor-ui.js";
|
|
@@ -90,8 +93,20 @@ function delay(ms, signal) {
|
|
|
90
93
|
signal?.addEventListener("abort", onAbort, { once: true });
|
|
91
94
|
});
|
|
92
95
|
}
|
|
93
|
-
|
|
96
|
+
/** The owning parent moves `expiresAt` forward while Pi still holds the request's notice back from its model. */
|
|
97
|
+
function extendedDeadline(requestFile, deadline) {
|
|
98
|
+
try {
|
|
99
|
+
const expiresAt = JSON.parse(fs.readFileSync(requestFile, "utf-8")).expiresAt;
|
|
100
|
+
return typeof expiresAt === "number" && Number.isFinite(expiresAt) ? Math.max(deadline, expiresAt) : deadline;
|
|
101
|
+
}
|
|
102
|
+
catch {
|
|
103
|
+
return deadline;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
async function waitForReply(channelDir, requestId, initialDeadline, signal) {
|
|
94
107
|
const file = replyPath(channelDir, requestId);
|
|
108
|
+
const request = requestPath(channelDir, requestId);
|
|
109
|
+
let deadline = initialDeadline;
|
|
95
110
|
while (Date.now() <= deadline) {
|
|
96
111
|
if (signal?.aborted)
|
|
97
112
|
throw new Error("Supervisor request cancelled.");
|
|
@@ -102,6 +117,7 @@ async function waitForReply(channelDir, requestId, deadline, signal) {
|
|
|
102
117
|
}
|
|
103
118
|
}
|
|
104
119
|
await delay(250, signal);
|
|
120
|
+
deadline = extendedDeadline(request, deadline);
|
|
105
121
|
}
|
|
106
122
|
throw new Error("Timed out waiting for supervisor reply.");
|
|
107
123
|
}
|
|
@@ -172,19 +188,38 @@ function hasTool(pi, name) {
|
|
|
172
188
|
return false;
|
|
173
189
|
}
|
|
174
190
|
}
|
|
191
|
+
/**
|
|
192
|
+
* What the model sees of `contact_supervisor`, shared by a child's working tool and the
|
|
193
|
+
* top-level session's refusing one: a forked child's tool list then equals its parent's, so its
|
|
194
|
+
* first request can reuse the parent's prompt cache.
|
|
195
|
+
*/
|
|
196
|
+
export const CONTACT_SUPERVISOR_TOOL_NAME = "contact_supervisor";
|
|
197
|
+
const CONTACT_SUPERVISOR_DECLARATION = {
|
|
198
|
+
name: CONTACT_SUPERVISOR_TOOL_NAME,
|
|
199
|
+
...MODEL_ONLY_TOOL,
|
|
200
|
+
label: "Contact Supervisor",
|
|
201
|
+
description: "Contact the parent/supervisor session for a blocking decision, structured interview, or progress update.",
|
|
202
|
+
parameters: ContactSupervisorParamsSchema,
|
|
203
|
+
};
|
|
204
|
+
export const TOP_LEVEL_SUPERVISOR_REFUSAL = "contact_supervisor works only inside a subagent; this session has no supervisor.";
|
|
205
|
+
/** `contact_supervisor` for a session that is not a subagent: every call is an error. */
|
|
206
|
+
export function topLevelSupervisorTool() {
|
|
207
|
+
return {
|
|
208
|
+
...CONTACT_SUPERVISOR_DECLARATION,
|
|
209
|
+
async execute() {
|
|
210
|
+
return { isError: true, content: [{ type: "text", text: TOP_LEVEL_SUPERVISOR_REFUSAL }], details: {} };
|
|
211
|
+
},
|
|
212
|
+
};
|
|
213
|
+
}
|
|
175
214
|
/**
|
|
176
215
|
* Register the child-side `contact_supervisor` tool. The host passes the
|
|
177
216
|
* channel metadata in the child runtime config.
|
|
178
217
|
*/
|
|
179
218
|
export function registerNativeSupervisorClient(pi, metadata) {
|
|
180
|
-
if (!metadata || hasTool(pi,
|
|
219
|
+
if (!metadata || hasTool(pi, CONTACT_SUPERVISOR_TOOL_NAME))
|
|
181
220
|
return;
|
|
182
221
|
const tool = {
|
|
183
|
-
|
|
184
|
-
...MODEL_ONLY_TOOL,
|
|
185
|
-
label: "Contact Supervisor",
|
|
186
|
-
description: "Contact the parent/supervisor session for a blocking decision, structured interview, or progress update.",
|
|
187
|
-
parameters: ContactSupervisorParamsSchema,
|
|
222
|
+
...CONTACT_SUPERVISOR_DECLARATION,
|
|
188
223
|
execute(id, params, signal) {
|
|
189
224
|
return sendSupervisorRequest(params, metadata, signal, id);
|
|
190
225
|
},
|
|
@@ -326,7 +361,21 @@ function cleanupStaleEmptySupervisorChannels(nowMs = Date.now(), platform = proc
|
|
|
326
361
|
}
|
|
327
362
|
function requestMatchesOwner(request, state) {
|
|
328
363
|
const currentSessionId = state.supervisorOwnerSessionId;
|
|
329
|
-
|
|
364
|
+
if (currentSessionId && request.orchestratorSessionId === currentSessionId)
|
|
365
|
+
return true;
|
|
366
|
+
// orchestratorSessionId is Pi's runtime session id, while inherited sessions are known by session file,
|
|
367
|
+
// so an inherited run's ask is matched through the run's recorded owner. This runs inside the poll's
|
|
368
|
+
// timers and watchers, where a throw exits Pi, so an unreadable status counts as not owned.
|
|
369
|
+
if (!state.currentSessionId || inheritedSessionIds(state.currentSessionId).length === 0)
|
|
370
|
+
return false;
|
|
371
|
+
if (!request.runId || request.runId.startsWith(".") || path.basename(request.runId) !== request.runId)
|
|
372
|
+
return false;
|
|
373
|
+
try {
|
|
374
|
+
return ownsRun(state.currentSessionId, readStatus(path.join(ASYNC_DIR, request.runId))?.sessionId);
|
|
375
|
+
}
|
|
376
|
+
catch {
|
|
377
|
+
return false;
|
|
378
|
+
}
|
|
330
379
|
}
|
|
331
380
|
function rememberedForegroundChild(request, state) {
|
|
332
381
|
const run = state.foregroundRuns?.get(request.runId);
|
|
@@ -419,9 +468,12 @@ function refreshPendingRequests(pending, state, onLifecycle, runState) {
|
|
|
419
468
|
cleanupRequestLifecycle(request, lifecycle);
|
|
420
469
|
}
|
|
421
470
|
}
|
|
471
|
+
function pendingHeader(request) {
|
|
472
|
+
return `- ${request.id}: ${request.agent} [${request.runId}#${request.childIndex}] ${request.reason}.`;
|
|
473
|
+
}
|
|
422
474
|
function formatPendingLine(request) {
|
|
423
475
|
const replyHint = request.expectsReply ? ` Reply: ${supervisorReplyHint(request.id)}` : "";
|
|
424
|
-
const header =
|
|
476
|
+
const header = `${pendingHeader(request)}${replyHint}`;
|
|
425
477
|
// The request notice can be missed; pending is the parent's only way to read the question again.
|
|
426
478
|
return request.message ? `${header}\n ${request.message.replace(/\n/g, "\n ")}` : header;
|
|
427
479
|
}
|
|
@@ -480,13 +532,17 @@ function appendSupervisorReplyEntry(pi, request, reply) {
|
|
|
480
532
|
}
|
|
481
533
|
}
|
|
482
534
|
function resolvePendingRequest(pending, params) {
|
|
535
|
+
const requests = [...pending.values()].filter((request) => request.expectsReply);
|
|
483
536
|
if (params.replyTo) {
|
|
484
537
|
const request = pending.get(params.replyTo);
|
|
485
|
-
if (!request)
|
|
486
|
-
|
|
538
|
+
if (!request) {
|
|
539
|
+
// A child stops waiting after its ask timeout and may ask again under a new id. Its first
|
|
540
|
+
// notice can reach a busy parent after that, so name what can still be answered.
|
|
541
|
+
const current = requests.length ? `Pending now:\n${requests.map(pendingHeader).join("\n")}` : "No pending supervisor requests.";
|
|
542
|
+
throw new Error(`No pending supervisor request found for replyTo '${params.replyTo}'. It was answered, expired or withdrawn. ${current}`);
|
|
543
|
+
}
|
|
487
544
|
return request;
|
|
488
545
|
}
|
|
489
|
-
const requests = [...pending.values()].filter((request) => request.expectsReply);
|
|
490
546
|
if (params.to) {
|
|
491
547
|
const normalizedTo = params.to.toLowerCase();
|
|
492
548
|
const matches = requests.filter((request) => request.id.toLowerCase().startsWith(normalizedTo)
|
|
@@ -560,6 +616,10 @@ export function createNativeSupervisorChannel(pi, state, deps = {}) {
|
|
|
560
616
|
// One continuation and one warning per request; never auto-answer or loop.
|
|
561
617
|
const settleNotices = new Map();
|
|
562
618
|
let unsubscribeSettle;
|
|
619
|
+
// Asks whose notice Pi queued behind a busy parent run. The child's wait counts from its request,
|
|
620
|
+
// so until the parent's model can see one, its expiresAt keeps moving forward.
|
|
621
|
+
const queuedNotices = new Set();
|
|
622
|
+
let unsubscribeDelivery;
|
|
563
623
|
const requestCorrelations = new Map();
|
|
564
624
|
const correlationKey = (request) => {
|
|
565
625
|
if (!request.toolCallId)
|
|
@@ -594,6 +654,8 @@ export function createNativeSupervisorChannel(pi, state, deps = {}) {
|
|
|
594
654
|
};
|
|
595
655
|
const observeRequestLifecycle = (request, lifecycle) => {
|
|
596
656
|
settleNotices.delete(request.id);
|
|
657
|
+
if (queuedNotices.delete(request.id))
|
|
658
|
+
updateDeliverySubscription();
|
|
597
659
|
if (lifecycle !== "wrong-session")
|
|
598
660
|
rememberResolvedRequest(request);
|
|
599
661
|
updateSettleSubscription();
|
|
@@ -672,6 +734,8 @@ export function createNativeSupervisorChannel(pi, state, deps = {}) {
|
|
|
672
734
|
cleanupStaleChannelsIfDue();
|
|
673
735
|
// Only display notifications require a live UI context, not request registration.
|
|
674
736
|
refreshPendingRequests(pending, state, observeRequestLifecycle, runState);
|
|
737
|
+
if (queuedNotices.size)
|
|
738
|
+
extendQueuedNotices();
|
|
675
739
|
const now = Date.now();
|
|
676
740
|
const channels = deps.getChannelDirs?.();
|
|
677
741
|
for (const { channelDir, file } of listRequestFiles(channels?.dirs, platform)) {
|
|
@@ -701,7 +765,7 @@ export function createNativeSupervisorChannel(pi, state, deps = {}) {
|
|
|
701
765
|
// The ask is already queued above. A sendMessage failure (no UI, stale context) must not
|
|
702
766
|
// lose it, and must not abort the loop before the remaining asks register.
|
|
703
767
|
try {
|
|
704
|
-
(deps.parentWake ?? pi).sendMessage({
|
|
768
|
+
const appended = (deps.parentWake ?? pi).sendMessage({
|
|
705
769
|
customType: SUPERVISOR_REQUEST_MESSAGE_TYPE,
|
|
706
770
|
content: requestVisibleText(request),
|
|
707
771
|
display: true,
|
|
@@ -719,6 +783,11 @@ export function createNativeSupervisorChannel(pi, state, deps = {}) {
|
|
|
719
783
|
replyHint: supervisorReplyHint(request.id),
|
|
720
784
|
},
|
|
721
785
|
}, { triggerTurn: true });
|
|
786
|
+
// parentWake returns false when Pi steered the notice into a busy run: the model sees it only at its next turn.
|
|
787
|
+
if (appended === false && started && pending.has(request.id)) {
|
|
788
|
+
queuedNotices.add(request.id);
|
|
789
|
+
updateDeliverySubscription();
|
|
790
|
+
}
|
|
722
791
|
}
|
|
723
792
|
catch (error) {
|
|
724
793
|
console.error(`Failed to surface supervisor request ${request.id} as a user turn:`, error);
|
|
@@ -800,6 +869,50 @@ export function createNativeSupervisorChannel(pi, state, deps = {}) {
|
|
|
800
869
|
unsubscribeSettle = undefined;
|
|
801
870
|
}
|
|
802
871
|
};
|
|
872
|
+
const noticeDelivered = (event) => {
|
|
873
|
+
const message = event.message;
|
|
874
|
+
if (message.role !== "custom" || message.customType !== SUPERVISOR_REQUEST_MESSAGE_TYPE)
|
|
875
|
+
return;
|
|
876
|
+
const requestId = message.details?.requestId;
|
|
877
|
+
if (typeof requestId === "string" && queuedNotices.delete(requestId))
|
|
878
|
+
updateDeliverySubscription();
|
|
879
|
+
};
|
|
880
|
+
const parentRunSettled = () => {
|
|
881
|
+
// Pi delivers steered messages before a run settles; one still queued was dropped, so stop extending it.
|
|
882
|
+
queuedNotices.clear();
|
|
883
|
+
updateDeliverySubscription();
|
|
884
|
+
};
|
|
885
|
+
const updateDeliverySubscription = () => {
|
|
886
|
+
const needed = started && queuedNotices.size > 0;
|
|
887
|
+
if (needed && !unsubscribeDelivery) {
|
|
888
|
+
unsubscribeDelivery = [pi.on?.("message_start", noticeDelivered), pi.on?.("agent_settled", parentRunSettled)];
|
|
889
|
+
}
|
|
890
|
+
if (!needed) {
|
|
891
|
+
for (const unsubscribe of unsubscribeDelivery ?? [])
|
|
892
|
+
unsubscribe?.();
|
|
893
|
+
unsubscribeDelivery = undefined;
|
|
894
|
+
}
|
|
895
|
+
};
|
|
896
|
+
const extendQueuedNotices = () => {
|
|
897
|
+
const now = Date.now();
|
|
898
|
+
const timeoutMs = askTimeoutMs();
|
|
899
|
+
for (const id of queuedNotices) {
|
|
900
|
+
const request = pending.get(id);
|
|
901
|
+
// Renew at half time only: the rewrite fires this channel's request watcher, which polls again.
|
|
902
|
+
if (!request || requestExpiresAt(request, now) - now > timeoutMs / 2 || !fs.existsSync(request.requestFile))
|
|
903
|
+
continue;
|
|
904
|
+
const { channelDir: _channelDir, requestFile, ...stored } = request;
|
|
905
|
+
try {
|
|
906
|
+
writePrivateAtomicJson(requestFile, { ...stored, expiresAt: now + timeoutMs });
|
|
907
|
+
request.expiresAt = now + timeoutMs;
|
|
908
|
+
}
|
|
909
|
+
catch (error) {
|
|
910
|
+
queuedNotices.delete(id);
|
|
911
|
+
updateDeliverySubscription();
|
|
912
|
+
console.error(`Failed to extend supervisor request ${id} while its notice is queued; it keeps its current deadline:`, error);
|
|
913
|
+
}
|
|
914
|
+
}
|
|
915
|
+
};
|
|
803
916
|
const startPolling = () => {
|
|
804
917
|
if (poller)
|
|
805
918
|
return;
|
|
@@ -938,6 +1051,8 @@ export function createNativeSupervisorChannel(pi, state, deps = {}) {
|
|
|
938
1051
|
dispose: () => {
|
|
939
1052
|
started = false;
|
|
940
1053
|
updateSettleSubscription();
|
|
1054
|
+
queuedNotices.clear();
|
|
1055
|
+
updateDeliverySubscription();
|
|
941
1056
|
try {
|
|
942
1057
|
rootWatcher?.close();
|
|
943
1058
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-supervisor-channel.js","sourceRoot":"","sources":["../../../src/intercom/native-supervisor-channel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAGlC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,OAAO,EAAE,6BAA6B,EAAE,gBAAgB,EAAE,aAAa,EAAgE,MAAM,oBAAoB,CAAC;AAClK,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EACN,+BAA+B,EAC/B,2BAA2B,EAC3B,mBAAmB,GAGnB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,uBAAuB,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC;AAChF,MAAM,YAAY,GAAG,UAAU,CAAC;AAChC,MAAM,WAAW,GAAG,SAAS,CAAC;AAC9B,MAAM,CAAC,MAAM,2BAA2B,GAAG,qBAAqB,CAAC;AACjE,MAAM,iBAAiB,GAAG,EAAE,GAAG,IAAI,CAAC;AACpC,MAAM,sBAAsB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAC9C,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;AACxD,MAAM,sBAAsB,GAAG,IAAI,CAAC;AACpC,MAAM,0BAA0B,GAAG,EAAE,GAAG,IAAI,CAAC;AAC7C,MAAM,uCAAuC,GAAG,EAAE,GAAG,IAAI,CAAC;AAC1D,MAAM,mCAAmC,GAAG,GAAG,CAAC;AAChD,MAAM,2CAA2C,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAkEnE,MAAM,6BAA6B,GAAG,IAAI,CAAC,MAAM,CAAC;IACjD,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,eAAe,EAAE,mBAAmB,EAAE,iBAAiB,CAAC,EAAE,CAAC;IACxF,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IACrC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC;CACrF,EAAE,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,CAAC;AAEpC,MAAM,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAAC;IACxC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;IACrE,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAChC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IACrC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;CACrC,EAAE,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,CAAC;AAEpC,SAAS,WAAW,CAAC,KAAa;IACjC,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC;AAC5F,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,KAAa,EAAE,KAAa,EAAE,UAAkB;IAC3F,OAAO,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC;AACxG,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,UAAkB;IAC5D,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACpF,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AACpF,CAAC;AAED,SAAS,WAAW,CAAC,UAAkB,EAAE,SAAiB;IACzD,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,SAAS,CAAC,UAAkB,EAAE,SAAiB;IACvD,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,aAAa,CAAC,MAAwB;IAC9C,IAAI,MAAM,KAAK,mBAAmB;QAAE,OAAO,sDAAsD,CAAC;IAClG,IAAI,MAAM,KAAK,iBAAiB;QAAE,OAAO,2BAA2B,CAAC;IACrE,OAAO,uCAAuC,CAAC;AAChD,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAe;IAC5C,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IAChF,IAAI,CAAC;QACJ,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,EAAE,CAAC;IACjD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IAC9F,CAAC;AACF,CAAC;AAED,SAAS,YAAY;IACpB,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAC9D,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,sBAAsB,CAAC;AAChF,CAAC;AAED,SAAS,KAAK,CAAC,EAAU,EAAE,MAAoB;IAC9C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACtC,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;YACnD,OAAO;QACR,CAAC;QACD,IAAI,KAAgD,CAAC;QACrD,MAAM,OAAO,GAAG,GAAG,EAAE;YACpB,IAAI,KAAK;gBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;YAC/B,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC/C,CAAC,CAAC;QACF,MAAM,OAAO,GAAG,GAAG,EAAE;YACpB,OAAO,EAAE,CAAC;YACV,MAAM,CAAC,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;QACpD,CAAC,CAAC;QACF,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YACvB,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;QACX,CAAC,EAAE,EAAE,CAAC,CAAC;QACP,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,UAAkB,EAAE,SAAiB,EAAE,QAAgB,EAAE,MAAoB;IACxG,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAC9C,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,MAAM,EAAE,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACtE,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAA6B,CAAC;YACtF,IAAI,MAAM,CAAC,IAAI,KAAK,2BAA2B,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACzH,OAAO,MAAyB,CAAC;YAClC,CAAC;QACF,CAAC;QACD,MAAM,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC1B,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;AAC5D,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,MAA+B,EAAE,QAAiC,EAAE,MAAoB,EAAE,UAAmB;IACjJ,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,MAAM,CAAC,MAAM,KAAK,mBAAmB,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;IACvF,CAAC;IACD,0BAA0B,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;IAC/B,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,KAAK,iBAAiB,CAAC;IACzD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,aAAa,GAAG,SAAS,GAAG,YAAY,EAAE,CAAC;IACjD,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC7C,MAAM,iBAAiB,GAAG,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3G,MAAM,OAAO,GAAsB;QAClC,IAAI,EAAE,6BAA6B;QACnC,EAAE,EAAE,SAAS;QACb,SAAS;QACT,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO;QACP,YAAY;QACZ,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3F,GAAG,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,QAAQ,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpG,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,GAAG,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1E,CAAC;IACF,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACvD,IAAI,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,iBAAiB;QAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACpH,eAAe,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;IAEtE,IAAI,CAAC,YAAY,EAAE,CAAC;QACnB,OAAO;YACN,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,oCAAoC,EAAE,CAAC;YACvE,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;SAC9D,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACJ,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;QACxF,MAAM,OAAO,GAA4B,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;QAC9E,IAAI,MAAM,CAAC,MAAM,KAAK,mBAAmB,EAAE,CAAC;YAC3C,MAAM,UAAU,GAAG,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACvD,IAAI,UAAU,CAAC,KAAK;gBAAE,OAAO,CAAC,yBAAyB,GAAG,UAAU,CAAC,KAAK,CAAC;;gBACtE,OAAO,CAAC,eAAe,GAAG,UAAU,CAAC,KAAK,CAAC;QACjD,CAAC;QACD,OAAO;YACN,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,+BAA+B,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YACjF,OAAO;SACP,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,iBAAiB,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;QAC/D,MAAM,KAAK,CAAC;IACb,CAAC;AACF,CAAC;AAED,SAAS,OAAO,CAAC,EAAgB,EAAE,IAAY;IAC9C,IAAI,CAAC;QACJ,OAAO,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,IAAwB,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC;IAC3F,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,KAAK,CAAC;IACd,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,8BAA8B,CAAC,EAAgB,EAAE,QAA6C;IAC7G,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,EAAE,EAAE,oBAAoB,CAAC;QAAE,OAAO;IAC3D,MAAM,IAAI,GAAkF;QAC3F,IAAI,EAAE,oBAAoB;QAC1B,GAAG,eAAe;QAClB,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE,0GAA0G;QACvH,UAAU,EAAE,6BAA6B;QACzC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM;YACzB,OAAO,qBAAqB,CAAC,MAAiC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QACvF,CAAC;KACD,CAAC;IACF,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY,EAAE,UAAkB;IACzD,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAA+B,CAAC;QACxF,IAAI,MAAM,CAAC,IAAI,KAAK,6BAA6B;YAAE,OAAO,SAAS,CAAC;QACpE,IAAI,OAAO,MAAM,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,OAAO,SAAS,CAAC;QAClE,IAAI,MAAM,CAAC,MAAM,KAAK,eAAe,IAAI,MAAM,CAAC,MAAM,KAAK,mBAAmB,IAAI,MAAM,CAAC,MAAM,KAAK,iBAAiB;YAAE,OAAO,SAAS,CAAC;QACxI,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,MAAM,KAAK,mBAAmB,CAAC;YAAE,OAAO,SAAS,CAAC;QAC9H,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QACpI,OAAO;YACN,GAAG,MAA2B;YAC9B,GAAG,CAAC,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;YAC1I,UAAU;YACV,WAAW,EAAE,IAAI;SACjB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,SAAS,CAAC;IAClB,CAAC;AACF,CAAC;AAED,SAAS,4BAA4B,CAAC,KAAc,EAAE,QAAyB;IAC9E,MAAM,IAAI,GAAI,KAA+B,CAAC,IAAI,CAAC;IACnD,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,IAAI,KAAK,SAAS,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,gBAAgB,CAAC,WAAiC,EAAE,QAAyB;IACrF,IAAI,CAAC,WAAW,EAAE,CAAC;QAClB,IAAI,CAAC;YACJ,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC,uBAAuB,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;iBAC5E,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACrG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,4BAA4B,CAAC,KAAK,EAAE,QAAQ,CAAC;gBAAE,OAAO,EAAE,CAAC;YAC7D,MAAM,KAAK,CAAC;QACb,CAAC;IACF,CAAC;IACD,MAAM,KAAK,GAAgD,EAAE,CAAC;IAC9D,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACtC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QACxD,IAAI,cAA2B,CAAC;QAChC,IAAI,CAAC;YACJ,cAAc,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACvE,CAAC;QAAC,MAAM,CAAC;YACR,SAAS;QACV,CAAC;QACD,KAAK,MAAM,YAAY,IAAI,cAAc,EAAE,CAAC;YAC3C,IAAI,YAAY,CAAC,MAAM,EAAE,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/I,CAAC;IACF,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAW,EAAE,QAAyB;IACnE,IAAI,CAAC;QACJ,OAAO,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,IAAI,4BAA4B,CAAC,KAAK,EAAE,QAAQ,CAAC;YAAE,OAAO,EAAE,CAAC;QAC7D,OAAO,SAAS,CAAC;IAClB,CAAC;AACF,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAW;IACpC,IAAI,CAAC;QACJ,OAAO,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,CAAC,CAAC;IACV,CAAC;AACF,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAW;IACxC,IAAI,CAAC;QACJ,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC;IACb,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,IAAI,GAAI,KAA+B,CAAC,IAAI,CAAC;QACnD,IAAI,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QACnC,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,OAAO;YAAE,OAAO,KAAK,CAAC;QACpG,MAAM,KAAK,CAAC;IACb,CAAC;AACF,CAAC;AAED,SAAS,iCAAiC,CAAC,UAAkB,EAAE,KAAa,EAAE,QAAyB;IACtG,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IACtD,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAClC,gBAAgB,CAAC,UAAU,CAAC,EAC5B,gBAAgB,CAAC,WAAW,CAAC,EAC7B,gBAAgB,CAAC,UAAU,CAAC,CAC5B,CAAC;IACF,IAAI,KAAK,GAAG,kBAAkB,GAAG,0BAA0B;QAAE,OAAO,KAAK,CAAC;IAE1E,MAAM,cAAc,GAAG,oBAAoB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACnE,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/D,MAAM,YAAY,GAAG,oBAAoB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAChE,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAE3D,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC;QAAE,OAAO,KAAK,CAAC;IACrD,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC;QAAE,OAAO,KAAK,CAAC;IACpD,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC;QAAE,OAAO,KAAK,CAAC;IACpD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,SAAS,mCAAmC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,WAA4B,OAAO,CAAC,QAAQ;IAC5G,IAAI,cAA2B,CAAC;IAChC,IAAI,CAAC;QACJ,cAAc,GAAG,EAAE,CAAC,WAAW,CAAC,uBAAuB,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACnF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,IAAI,4BAA4B,CAAC,KAAK,EAAE,QAAQ,CAAC;YAAE,OAAO,CAAC,CAAC;QAC5D,MAAM,KAAK,CAAC;IACb,CAAC;IAED,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;YAAE,SAAS;QACnC,IAAI,CAAC;YACJ,IAAI,iCAAiC,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC;gBAAE,OAAO,EAAE,CAAC;QACnH,CAAC;QAAC,MAAM,CAAC;YACR,mGAAmG;QACpG,CAAC;IACF,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC;AAED,SAAS,mBAAmB,CAAC,OAA0B,EAAE,KAAsD;IAC9G,MAAM,gBAAgB,GAAG,KAAK,CAAC,wBAAwB,CAAC;IACxD,OAAO,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,qBAAqB,KAAK,gBAAgB,CAAC,CAAC;AACxF,CAAC;AAED,SAAS,yBAAyB,CAAC,OAA0B,EAAE,KAAoB;IAClF,MAAM,GAAG,GAAG,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,KAAK,OAAO,CAAC,UAAU,IAAI,SAAS,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,CAAC;WACxH,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACtC,OAAO,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAClD,CAAC;AAED,SAAS,iCAAiC,CAAC,OAA0B,EAAE,KAAoB;IAC1F,MAAM,UAAU,GAAG,yBAAyB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC7D,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,UAAU;QAAE,OAAO;IAClE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,UAAU,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;IACrC,UAAU,CAAC,KAAK,CAAC,aAAa,GAAG,iBAAiB,CAAC;IACnD,UAAU,CAAC,KAAK,CAAC,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC;IACpD,UAAU,CAAC,KAAK,CAAC,WAAW,GAAG,oBAAoB,CAAC;IACpD,UAAU,CAAC,KAAK,CAAC,oBAAoB,GAAG,OAAO,CAAC,SAAS,CAAC;IAC1D,UAAU,CAAC,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;AACxC,CAAC;AAED,SAAS,kCAAkC,CAAC,OAA0B,EAAE,OAA8C,EAAE,KAAoB;IAC3I,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAC5C,SAAS,CAAC,YAAY;WACnB,SAAS,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK;WACjC,SAAS,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK;WACjC,SAAS,CAAC,UAAU,KAAK,OAAO,CAAC,UAAU,CAC9C;QAAE,OAAO;IACV,MAAM,UAAU,GAAG,yBAAyB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC7D,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,UAAU;QAAE,OAAO;IAClE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,UAAU,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;IACrC,UAAU,CAAC,KAAK,CAAC,aAAa,GAAG,SAAS,CAAC;IAC3C,UAAU,CAAC,KAAK,CAAC,cAAc,GAAG,SAAS,CAAC;IAC5C,UAAU,CAAC,KAAK,CAAC,WAAW,GAAG,SAAS,CAAC;IACzC,UAAU,CAAC,KAAK,CAAC,oBAAoB,GAAG,SAAS,CAAC;IAClD,UAAU,CAAC,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;AACxC,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACtC,IAAI,CAAC;QACJ,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACR,uFAAuF;IACxF,CAAC;AACF,CAAC;AAKD,SAAS,gBAAgB,CAAC,OAA0B,EAAE,GAAW;IAChE,MAAM,SAAS,GAAI,OAAmC,CAAC,SAAS,CAAC;IACjE,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IAClF,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,GAAG,YAAY,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;AACtF,CAAC;AAED,SAAS,kBAAkB,CAAC,OAA0B,EAAE,KAAoB;IAC3E,IAAI,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,UAAU,GAAG,yBAAyB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC7D,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,UAAU,CAAC;IAE9D,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpD,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5B,IAAI,QAAQ,CAAC,MAAM,KAAK,UAAU,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAChH,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAChE,OAAO,UAAU,KAAK,UAAU,IAAI,UAAU,KAAK,WAAW,IAAI,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,QAAQ,CAAC;AACtH,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAiC,EAAE,KAAoB,EAAE,GAAW,EAAE,QAAuB;IACtH,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC;QAAE,OAAO,eAAe,CAAC;IACjE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1D,IAAI,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAAE,OAAO,UAAU,CAAC;IACxG,IAAI,OAAO,CAAC,YAAY,IAAI,GAAG,GAAG,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IACnF,IAAI,OAAO,CAAC,YAAY,IAAI,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC;QAAE,OAAO,UAAU,CAAC;IACrF,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAiC,EAAE,SAAqC;IACxG,IAAI,SAAS,KAAK,UAAU,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,UAAU;QAAE,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;AAC7H,CAAC;AAED,SAAS,sBAAsB,CAAC,OAA8C,EAAE,KAAoB,EAAE,WAA+C,EAAE,QAAuD;IAC7M,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3E,IAAI,SAAS,KAAK,SAAS;YAAE,SAAS;QACtC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC3B,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAChC,uBAAuB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC7C,CAAC;AACF,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAiC;IAC3D,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3F,MAAM,MAAM,GAAG,KAAK,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,UAAU,KAAK,OAAO,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;IAC3H,iGAAiG;IACjG,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;AAC5F,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAiC;IAC5D,MAAM,KAAK,GAAG;QACb,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC;QAC7B,QAAQ,OAAO,CAAC,KAAK,EAAE;QACvB,UAAU,OAAO,CAAC,KAAK,EAAE;QACzB,gBAAgB,OAAO,CAAC,UAAU,EAAE;KACpC,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,IAAI,OAAO,CAAC,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACjD,IAAI,OAAO,CAAC,MAAM,KAAK,mBAAmB,EAAE,CAAC;QAC5C,KAAK,CAAC,IAAI,CACT,EAAE,EACF,uHAAuH,CACvH,CAAC;QACF,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAChG,CAAC;IACD,IAAI,OAAO,CAAC,YAAY;QAAE,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,eAAe,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3F,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,kDAAkD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,uCAAuC,OAAO,CAAC,UAAU,QAAQ,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,wCAAwC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACvO,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;AACnC,CAAC;AAED,SAAS,UAAU,CAAC,OAAiC,EAAE,OAAe;IACrE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACpF,MAAM,KAAK,GAAoB;QAC9B,IAAI,EAAE,2BAA2B;QACjC,SAAS,EAAE,OAAO,CAAC,EAAE;QACrB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE;KACvB,CAAC;IACF,eAAe,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAClE,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACvC,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,0BAA0B,CAAC,EAAgB,EAAE,OAAiC,EAAE,KAAsB;IAC9G,MAAM,WAAW,GAAI,EAEnB,CAAC,WAAW,CAAC;IACf,IAAI,OAAO,WAAW,KAAK,UAAU;QAAE,OAAO;IAC9C,IAAI,CAAC;QACJ,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,2BAA2B,EAAE;YACjD,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,SAAS,EAAE,KAAK,CAAC,SAAS;SAC1B,CAAC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,yFAAyF;QACzF,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,KAAK,CAAC,CAAC;IACpE,CAAC;AACF,CAAC;AAED,SAAS,qBAAqB,CAAC,OAA8C,EAAE,MAAsB;IACpG,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,oDAAoD,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;QACtG,OAAO,OAAO,CAAC;IAChB,CAAC;IACD,MAAM,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACjF,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAC3C,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;eAC9C,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,YAAY;eAC5C,OAAO,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,YAAY,CACtD,CAAC;QACF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,OAAO,CAAC,CAAC,CAAE,CAAC;QAC7C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,MAAM,CAAC,EAAE,iBAAiB,CAAC,CAAC;QACnH,MAAM,IAAI,KAAK,CAAC,0CAA0C,MAAM,CAAC,EAAE,iBAAiB,CAAC,CAAC;IACvF,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC,CAAC,CAAE,CAAC;IAC/C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAC3F,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;AACpF,CAAC;AAED,SAAS,qBAAqB,CAAC,OAA8C;IAC5E,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC9C,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,YAAY,EAAE,OAAO,CAAC,YAAY;KAClC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,yBAAyB,CAAC,EAAgB,EAAE,OAA8C,EAAE,KAAoB,EAAE,WAA+C,EAAE,QAAoB,EAAE,QAAuD;IACxP,OAAO;QACN,IAAI,EAAE,2BAA2B;QACjC,GAAG,eAAe;QAClB,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EAAE,oIAAoI;QACjJ,UAAU,EAAE,oBAAoB;QAChC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM;YACxB,qEAAqE;YACrE,QAAQ,EAAE,CAAC;YACX,sBAAsB,CAAC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;YAC9D,MAAM,KAAK,GAAG,MAAwB,CAAC;YACvC,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,sDAAsD,OAAO,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,uBAAuB,EAAE,EAAE,CAAC;YACtM,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC3D,MAAM,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;gBACrG,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,iCAAiC,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,qBAAqB,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YACzK,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;gBAC9B,MAAM,OAAO,GAAG,qBAAqB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBACtD,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;gBACvD,0BAA0B,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC/C,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC3B,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;gBACjC,kCAAkC,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC5D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iCAAiC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;YAC5K,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,kCAAkC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QACnE,CAAC;KACD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,EAAgB,EAAE,KAAoB,EAAE,OAAoC,EAAE;IAU3H,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC;IACrC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,UAAU,CAAC;IACzC,MAAM,QAAQ,GAAG,CAAC,OAA0B,EAAiB,EAAE;QAC9D,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC;YAC/D,IAAI,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,OAAO,UAAU,CAAC;QAChE,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoC,CAAC;IAC5D,2EAA2E;IAC3E,MAAM,aAAa,GAAG,IAAI,GAAG,EAA6C,CAAC;IAC3E,IAAI,iBAA2C,CAAC;IAChD,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAwC,CAAC;IAC5E,MAAM,cAAc,GAAG,CAAC,OAAkF,EAAsB,EAAE;QACjI,IAAI,CAAC,OAAO,CAAC,UAAU;YAAE,OAAO,SAAS,CAAC;QAC1C,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAC/F,CAAC,CAAC;IACF,MAAM,wBAAwB,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAAQ,EAAE;QAC3D,KAAK,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,IAAI,mBAAmB,EAAE,CAAC;YACtD,IAAI,WAAW,CAAC,KAAK,KAAK,UAAU,IAAI,GAAG,GAAG,WAAW,CAAC,SAAS,GAAG,2CAA2C;gBAAE,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACpJ,CAAC;QACD,OAAO,mBAAmB,CAAC,IAAI,GAAG,mCAAmC,EAAE,CAAC;YACvE,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YACvD,IAAI,MAAM,KAAK,SAAS;gBAAE,MAAM;YAChC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;IACF,CAAC,CAAC;IACF,MAAM,sBAAsB,GAAG,CAAC,OAAiC,EAAQ,EAAE;QAC1E,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;YAAE,OAAO;QAC1C,mBAAmB,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACnF,wBAAwB,EAAE,CAAC;IAC5B,CAAC,CAAC;IACF,MAAM,uBAAuB,GAAG,CAAC,OAAiC,EAAQ,EAAE;QAC3E,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;YAAE,OAAO;QAC1C,mBAAmB,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACpF,wBAAwB,EAAE,CAAC;IAC5B,CAAC,CAAC;IACF,MAAM,uBAAuB,GAAuC,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE;QAC1F,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACjC,IAAI,SAAS,KAAK,eAAe;YAAE,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACpE,wBAAwB,EAAE,CAAC;IAC5B,CAAC,CAAC;IACF,MAAM,yBAAyB,GAAG,CAAC,KAAmB,EAA0B,EAAE;QACjF,IAAI,KAAK,CAAC,WAAW,KAAK,UAAU,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QACpF,MAAM,UAAU,GAAG,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QACtH,IAAI,CAAC,UAAU;YAAE,OAAO,SAAS,CAAC;QAClC,wBAAwB,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,cAAc,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;QAC5G,IAAI,CAAC,GAAG;YAAE,OAAO,SAAS,CAAC;QAC3B,MAAM,WAAW,GAAG,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjD,IAAI,CAAC,WAAW;YAAE,OAAO,SAAS,CAAC;QACnC,IAAI,WAAW,CAAC,KAAK,KAAK,UAAU;YAAE,OAAO,UAAU,CAAC;QACxD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC;eAC/C,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;eAChF,GAAG,GAAG,gBAAgB,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC;eAChD,kBAAkB,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YAC5E,uBAAuB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC7C,OAAO,UAAU,CAAC;QACnB,CAAC;QACD,OAAO,SAAS,CAAC;IAClB,CAAC,CAAC;IACF,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAwB,CAAC;IACxD,IAAI,WAAqC,CAAC;IAC1C,IAAI,MAAkD,CAAC;IACvD,IAAI,YAAwD,CAAC;IAC7D,IAAI,sBAAmE,CAAC;IACxE,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,kBAAkB,GAAG,CAAC,CAAC;IAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;IACnD,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,IAAI,sBAAsB,CAAC,oBAAoB,EAAE,QAAQ,CAAC,IAAI,QAAQ,KAAK,OAAO,CAAC;IACtI,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC/B,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAClC,IAAI,KAAK,CAAC,kBAAkB,CAAC,IAAI,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QACnD,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACrD,IAAI,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC;YAAE,OAAO,IAAI,CAAC;QAClH,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC;YAC/D,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;gBACjD,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS;oBAAE,OAAO,IAAI,CAAC;YACtE,CAAC;QACF,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,GAAS,EAAE;QACtC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,2BAA2B,CAAC;YAAE,EAAE,CAAC,YAAY,CAAC,yBAAyB,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,uBAAuB,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;IAChK,CAAC,CAAC;IAEF,MAAM,yBAAyB,GAAG,GAAS,EAAE;QAC5C,IAAI,IAAI,CAAC,cAAc;YAAE,OAAO,CAAC,0CAA0C;QAC3E,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,IAAI,KAAK,GAAG,kBAAkB,GAAG,uCAAuC;YAAE,OAAO;QACjF,kBAAkB,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC;YACJ,mCAAmC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACtD,CAAC;QAAC,MAAM,CAAC;YACR,6EAA6E;QAC9E,CAAC;IACF,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,GAAS,EAAE;QACvB,yBAAyB,EAAE,CAAC;QAC5B,kFAAkF;QAClF,sBAAsB,CAAC,OAAO,EAAE,KAAK,EAAE,uBAAuB,EAAE,QAAQ,CAAC,CAAC;QAC1E,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;QACzC,KAAK,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;YAC/E,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,SAAS;YAClC,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACnD,IAAI,CAAC,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC;gBAAE,SAAS;YAC/D,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3E,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC7B,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACpB,uBAAuB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBAC5C,uBAAuB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBAC5C,SAAS;YACV,CAAC;YACD,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACpB,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;gBAC3B,sEAAsE;gBACtE,iDAAiD;gBACjD,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBACvC,SAAS;YACV,CAAC;YACD,sBAAsB,CAAC,OAAO,CAAC,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YACjC,wBAAwB,EAAE,CAAC;YAC3B,iCAAiC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAClD,yFAAyF;YACzF,2EAA2E;YAC3E,IAAI,CAAC;gBACJ,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC;oBACnC,UAAU,EAAE,+BAA+B;oBAC3C,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAC;oBACpC,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE;wBACR,EAAE,EAAE,OAAO,CAAC,EAAE;wBACd,SAAS,EAAE,OAAO,CAAC,EAAE;wBACrB,MAAM,EAAE,OAAO,CAAC,MAAM;wBACtB,YAAY,EAAE,OAAO,CAAC,YAAY;wBAClC,KAAK,EAAE,OAAO,CAAC,KAAK;wBACpB,KAAK,EAAE,OAAO,CAAC,KAAK;wBACpB,UAAU,EAAE,OAAO,CAAC,UAAU;wBAC9B,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACpE,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC5E,WAAW,EAAE,OAAO,CAAC,OAAO;wBAC5B,SAAS,EAAE,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;qBAC1C;iBACD,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,OAAO,CAAC,KAAK,CAAC,wCAAwC,OAAO,CAAC,EAAE,kBAAkB,EAAE,KAAK,CAAC,CAAC;YAC5F,CAAC;YACA,EAAoC,CAAC,MAAM,EAAE,IAAI,CAAC,6BAA6B,EAAE;gBACjF,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,UAAU,EAAE,OAAO,CAAC,UAAU;aAC9B,CAAC,CAAC;YACH,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAAE,iCAAiC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAChF,CAAC;QACD,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC;QACrB,wBAAwB,EAAE,CAAC;IAC5B,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,CAAC,KAA6B,EAA4C,EAAE;QACtG,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,KAAK,WAAW;YAC5C,OAAO;QACR,sBAAsB,CAAC,OAAO,EAAE,KAAK,EAAE,uBAAuB,EAAE,QAAQ,CAAC,CAAC;QAC1E,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM;YACzD,OAAO;QACR,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC;QAC/C,MAAM,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;YACvD,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,QAAQ,IAAI,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAC;YACrI,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ;mBACrE,OAAO,CAAC,UAAU,KAAK,+BAA+B;mBACrD,OAAO,CAAC,OAA8C,EAAE,SAAS,KAAK,OAAO,CAAC,EAAE,CAAC,CAAC;YACvF,MAAM,KAAK,GAAG,KAAK,KAAK,CAAC,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,WAAW;mBAChG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC1G,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC;gBAC3B,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;gBACzC,OAAO,KAAK,CAAC;YACd,CAAC;YACD,OAAO,IAAI,CAAC;QACb,CAAC,CAAC,CAAC;QACH,wBAAwB,EAAE,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,MAAM;YAAE,OAAO;QAC7B,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9E,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACvB,KAAK,MAAM,OAAO,IAAI,UAAU;gBAC/B,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;YAC3C,OAAO;gBACN,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE;wBAC3B,IAAI,EAAE,gBAAgB;wBACtB,UAAU,EAAE,gCAAgC;wBAC5C,OAAO,EAAE,+CAA+C,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,yJAAyJ;wBACrQ,OAAO,EAAE,IAAI;wBACb,OAAO,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;qBAC5D,CAAC;gBACF,QAAQ,EAAE,IAAI;aACd,CAAC;QACH,CAAC;QACD,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,QAAQ,CAAC,CAAC;QACzF,IAAI,CAAC,SAAS,CAAC,MAAM;YACpB,OAAO;QACR,KAAK,MAAM,OAAO,IAAI,SAAS;YAC9B,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QACzC,wBAAwB,EAAE,CAAC;QAC3B,OAAO;YACN,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE;oBAC3B,IAAI,EAAE,gBAAgB;oBACtB,UAAU,EAAE,6BAA6B;oBACzC,OAAO,EAAE,8CAA8C,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,+GAA+G;oBAC3N,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;iBAC5E,CAAC;SACF,CAAC;IACH,CAAC,CAAC;IACF,MAAM,wBAAwB,GAAG,GAAS,EAAE;QAC3C,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY;eAChF,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,QAAQ,IAAI,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC;QAC/F,IAAI,MAAM,IAAI,CAAC,iBAAiB;YAAE,iBAAiB,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,qBAAqB,EAAE,kBAAkB,CAAC,CAAC;QACzG,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,iBAAiB,EAAE,EAAE,CAAC;YACtB,iBAAiB,GAAG,SAAS,CAAC;QAC/B,CAAC;IACF,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,GAAS,EAAE;QAC/B,IAAI,MAAM;YAAE,OAAO;QACnB,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE;YAChC,IAAI,EAAE,CAAC;YACP,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;gBAClD,IAAI,MAAM;oBAAE,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBACzC,MAAM,GAAG,SAAS,CAAC;YACpB,CAAC;QACF,CAAC,EAAE,eAAe,CAAC,CAAC;QACpB,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;IAClB,CAAC,CAAC;IACF,MAAM,kBAAkB,GAAG,GAAS,EAAE;QACrC,IAAI,YAAY;YAAE,OAAO;QACzB,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE;YACtC,wBAAwB,EAAE,CAAC;YAC3B,IAAI,EAAE,CAAC;QACR,CAAC,EAAE,sBAAsB,CAAC,CAAC;QAC3B,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC;IACxB,CAAC,CAAC;IACF,MAAM,eAAe,GAAG,CAAC,WAAmB,EAAQ,EAAE;QACrD,IAAI,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC;YAAE,OAAO;QAC7C,IAAI,CAAC;YACJ,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;YACjD,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACxB,IAAI,CAAC;oBAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;gBACjC,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBACpC,YAAY,EAAE,CAAC;YAChB,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;YAClB,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;gBAAE,YAAY,EAAE,CAAC;QACxE,CAAC;IACF,CAAC,CAAC;IACF,MAAM,wBAAwB,GAAG,GAAS,EAAE;QAC3C,IAAI,cAA2B,CAAC;QAChC,IAAI,CAAC;YACJ,cAAc,GAAG,EAAE,CAAC,WAAW,CAAC,uBAAuB,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACnF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,4BAA4B,CAAC,KAAK,EAAE,QAAQ,CAAC;gBAAE,OAAO;YAC1D,YAAY,EAAE,CAAC;YACf,OAAO;QACR,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;YACpC,IAAI,KAAK,CAAC,WAAW,EAAE;gBAAE,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;QACxG,CAAC;IACF,CAAC,CAAC;IACF,MAAM,sBAAsB,GAAG,GAAS,EAAE;QACzC,IAAI,sBAAsB;YAAE,OAAO;QACnC,sBAAsB,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE;YACjD,sBAAsB,GAAG,SAAS,CAAC;YACnC,IAAI,CAAC,OAAO;gBAAE,OAAO;YACrB,wBAAwB,EAAE,CAAC;YAC3B,IAAI,EAAE,CAAC;QACR,CAAC,CAAC,CAAC;QACH,sBAAsB,CAAC,KAAK,EAAE,EAAE,CAAC;IAClC,CAAC,CAAC;IAEF,OAAO;QACN,aAAa,EAAE,mBAAmB;QAClC,iBAAiB,EAAE,GAAG,EAAE;YACvB,IAAI,CAAC,OAAO;gBAAE,OAAO;YACrB,IAAI,EAAE,CAAC;YACP,IAAI,CAAC,gBAAgB,EAAE,IAAI,kBAAkB,EAAE;gBAAE,YAAY,EAAE,CAAC;QACjE,CAAC;QACD,eAAe,EAAE,CAAC,MAAM,EAAE,EAAE;YAC3B,kFAAkF;YAClF,MAAM,UAAU,GAAG,2BAA2B,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;YAC9F,IAAI,KAAe,CAAC;YACpB,IAAI,CAAC;gBAAC,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;YAAC,CAAC;YACpE,OAAO,KAAK,EAAE,CAAC;gBACd,IAAI,4BAA4B,CAAC,KAAK,EAAE,QAAQ,CAAC;oBAAE,OAAO,EAAE,CAAC;gBAC7D,MAAM,KAAK,CAAC;YACb,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAClE,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC;gBACxF,OAAO,OAAO,EAAE,YAAY,IAAI,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK;uBAC1D,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,IAAI,OAAO,CAAC,UAAU,KAAK,MAAM,CAAC,UAAU;uBAC1E,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAChG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACX,CAAC;QACD,kBAAkB,EAAE,GAAG,EAAE;YACxB,IAAI,CAAC,OAAO;gBAAE,OAAO,KAAK,CAAC;YAC3B,IAAI,EAAE,CAAC;YACP,OAAO,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;QACzB,CAAC;QACD,KAAK,EAAE,GAAG,EAAE;YACX,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,mBAAmB,EAAE,CAAC;YACtB,IAAI,EAAE,CAAC;YACP,IAAI,IAAI,CAAC,cAAc;gBAAE,OAAO,CAAC,uDAAuD;YACxF,IAAI,CAAC;gBACJ,EAAE,CAAC,SAAS,CAAC,uBAAuB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC3D,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;oBACzB,IAAI,QAAQ,KAAK,OAAO;wBAAE,YAAY,EAAE,CAAC;oBACzC,OAAO;gBACR,CAAC;gBACD,wBAAwB,EAAE,CAAC;gBAC3B,WAAW,GAAG,KAAK,CAAC,uBAAuB,EAAE,GAAG,EAAE;oBACjD,wBAAwB,EAAE,CAAC;oBAC3B,IAAI,EAAE,CAAC;oBACP,sBAAsB,EAAE,CAAC;gBAC1B,CAAC,CAAC,CAAC;gBACH,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;gBACtC,kBAAkB,EAAE,CAAC;gBACrB,sBAAsB,EAAE,CAAC;YAC1B,CAAC;YAAC,MAAM,CAAC;gBACR,YAAY,EAAE,CAAC;YAChB,CAAC;QACF,CAAC;QACD,OAAO,EAAE,GAAG,EAAE;YACb,OAAO,GAAG,KAAK,CAAC;YAChB,wBAAwB,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACJ,WAAW,EAAE,KAAK,EAAE,CAAC;YACtB,CAAC;YAAC,MAAM,CAAC;gBACR,+BAA+B;YAChC,CAAC;YACD,WAAW,GAAG,SAAS,CAAC;YACxB,KAAK,MAAM,OAAO,IAAI,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC;gBAChD,IAAI,CAAC;oBAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;YAClC,CAAC;YACD,eAAe,CAAC,KAAK,EAAE,CAAC;YACxB,IAAI,MAAM;gBAAE,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACzC,MAAM,GAAG,SAAS,CAAC;YACnB,IAAI,YAAY;gBAAE,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YACrD,YAAY,GAAG,SAAS,CAAC;YACzB,IAAI,sBAAsB;gBAAE,MAAM,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC;YAC1E,sBAAsB,GAAG,SAAS,CAAC;YACnC,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,aAAa,CAAC,KAAK,EAAE,CAAC;YACtB,mBAAmB,CAAC,KAAK,EAAE,CAAC;YAC5B,SAAS,CAAC,KAAK,EAAE,CAAC;QACnB,CAAC;QACD,OAAO;QACP,yBAAyB;KACzB,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"native-supervisor-channel.js","sourceRoot":"","sources":["../../../src/intercom/native-supervisor-channel.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type ActiveAsyncCapacitySnapshot } from "../../shared/types.ts";
|
|
1
|
+
import { type ActiveAsyncCapacitySnapshot, type AsyncStatus } from "../../shared/types.ts";
|
|
2
2
|
import { type PidLiveness } from "./stale-run-reconciler.ts";
|
|
3
3
|
export declare const ACTIVE_ASYNC_CAPACITY_DIR: string;
|
|
4
4
|
export declare const DEFAULT_ABANDONED_SLOT_RELEASE_AFTER_MS: number;
|
|
@@ -52,6 +52,7 @@ interface AbandonedWorkflowEvidence {
|
|
|
52
52
|
workflowEndedAgeMs: number;
|
|
53
53
|
abandonedChildren: Array<{
|
|
54
54
|
runId: string;
|
|
55
|
+
state: AsyncStatus["state"];
|
|
55
56
|
lastActivityAgeMs: number;
|
|
56
57
|
}>;
|
|
57
58
|
abandonedSlotReleaseAfterMs: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"active-async-capacity.d.ts","sourceRoot":"","sources":["../../../../src/runs/background/active-async-capacity.ts"],"names":[],"mappings":"AAIA,OAAO,EAAiB,KAAK,2BAA2B,
|
|
1
|
+
{"version":3,"file":"active-async-capacity.d.ts","sourceRoot":"","sources":["../../../../src/runs/background/active-async-capacity.ts"],"names":[],"mappings":"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"}
|
|
@@ -187,13 +187,17 @@ function runnerReleaseVerdict(owner, status, options) {
|
|
|
187
187
|
? { state: "releasable", reason: "matching observed process-terminal proof is present" }
|
|
188
188
|
: abandonedRunnerReleaseVerdict(status, proof?.state ?? "missing", options);
|
|
189
189
|
}
|
|
190
|
-
|
|
190
|
+
/**
|
|
191
|
+
* A top-level runner slot is reclaimed only for a failed run. A workflow child may be in any terminal state:
|
|
192
|
+
* a stop or a completion whose launcher is gone leaves its proof unresolved just as a failure does.
|
|
193
|
+
*/
|
|
194
|
+
function abandonedRunnerReleaseVerdict(status, proofState, options, anyTerminalState = false) {
|
|
191
195
|
const proofReason = `process-terminal proof is ${proofState}`;
|
|
192
196
|
const thresholdMs = resolveAbandonedSlotReleaseAfterMs(options.abandonedSlotReleaseAfterMs);
|
|
193
197
|
if (thresholdMs === false)
|
|
194
198
|
return { state: "retained", reason: `${proofReason}; abandoned-timeout policy is disabled` };
|
|
195
|
-
if (status.state !== "failed")
|
|
196
|
-
return { state: "retained", reason: `${proofReason}; abandoned-timeout policy requires a failed run, not ${status.state}` };
|
|
199
|
+
if (anyTerminalState ? !terminalState(status.state) : status.state !== "failed")
|
|
200
|
+
return { state: "retained", reason: `${proofReason}; abandoned-timeout policy requires a ${anyTerminalState ? "terminal" : "failed"} run, not ${status.state}` };
|
|
197
201
|
if (typeof status.pid !== "number" || !Number.isInteger(status.pid) || status.pid < 1)
|
|
198
202
|
return { state: "retained", reason: `${proofReason}; runner PID is missing or invalid` };
|
|
199
203
|
// A PID from another namespace can look dead here while the runner is alive.
|
|
@@ -262,10 +266,10 @@ function abandonedWorkflowReleaseVerdict(owner, status, proofReason, options) {
|
|
|
262
266
|
return { state: "retained", reason: child.reason };
|
|
263
267
|
if (unresolved.status.sessionId !== owner.ownerSessionId)
|
|
264
268
|
return { state: "retained", reason: `${child.reason}; child session ${unresolved.status.sessionId ?? "unknown"} does not match owner session ${owner.ownerSessionId}` };
|
|
265
|
-
const verdict = abandonedRunnerReleaseVerdict(unresolved.status, unresolved.proofState, options);
|
|
269
|
+
const verdict = abandonedRunnerReleaseVerdict(unresolved.status, unresolved.proofState, options, true);
|
|
266
270
|
if (verdict.state !== "releasable")
|
|
267
271
|
return { state: "retained", reason: `async workflow child ${unresolved.status.runId}: ${verdict.reason}` };
|
|
268
|
-
abandonedChildren.push({ runId: unresolved.status.runId, lastActivityAgeMs: verdict.evidence.lastActivityAgeMs });
|
|
272
|
+
abandonedChildren.push({ runId: unresolved.status.runId, state: unresolved.status.state, lastActivityAgeMs: verdict.evidence.lastActivityAgeMs });
|
|
269
273
|
}
|
|
270
274
|
const evidence = {
|
|
271
275
|
releasedBy: "abandoned-timeout",
|
|
@@ -277,7 +281,7 @@ function abandonedWorkflowReleaseVerdict(owner, status, proofReason, options) {
|
|
|
277
281
|
};
|
|
278
282
|
return {
|
|
279
283
|
state: "releasable",
|
|
280
|
-
reason: `${evidence.releasedBy}: ${proofReason}; workflow controller is unregistered;
|
|
284
|
+
reason: `${evidence.releasedBy}: ${proofReason}; workflow controller is unregistered; terminal async children ${abandonedChildren.map((child) => child.runId).join(", ")} have dead runner PIDs; process proof unknown; workflow ended ${workflowEndedAgeMs}ms ago, over ${thresholdMs}ms`,
|
|
281
285
|
evidence,
|
|
282
286
|
};
|
|
283
287
|
}
|