@osovv/vv-opencode 1.4.1 → 1.4.2
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 +9 -0
- package/README.md +5 -1
- package/dist/plugins/system-context-injection/index.js +12 -3
- package/dist/plugins/system-context-injection/index.js.map +1 -1
- package/dist/plugins/workflow/index.js +8 -5
- package/dist/plugins/workflow/index.js.map +1 -1
- package/dist/plugins/workflow/repair.d.ts +1 -0
- package/dist/plugins/workflow/repair.js +30 -30
- package/dist/plugins/workflow/repair.js.map +1 -1
- package/package.json +1 -1
- package/schemas/vvoc/v3.json +1 -1
- package/templates/agents/investigator.md +3 -0
- package/templates/agents/vv-code-reviewer.md +9 -3
- package/templates/agents/vv-controller.md +14 -0
- package/templates/agents/vv-implementer.md +5 -3
- package/templates/agents/vv-spec-reviewer.md +3 -0
- package/templates/skills/vv-execute/SKILL.md +7 -4
- package/templates/skills/vv-plan/SKILL.md +3 -1
- package/templates/skills/vv-review/SKILL.md +1 -0
- package/templates/skills/vv-spec/SKILL.md +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
## <small>1.4.2 (2026-09-11)</small>
|
|
2
|
+
|
|
3
|
+
### Summary
|
|
4
|
+
|
|
5
|
+
This release strengthens the reliability of vvoc's managed prompts and workflow recovery. Managed agents, skills, and the universal guidance injected into primary sessions now carry explicit correctness obligations: for behavior changes, agents derive the material properties that must be preserved, separate write scope from impact and verification scope, investigate directly affected consumers, challenge a material assumption with a diagnostic counterexample, and choose verification at the level where the risk arises, while controllers and reviewers distinguish "no defect discovered" from sufficient evidence and can fail a change for a material verification gap. In addition, when a tracked subagent returns a malformed result, the workflow plugin now performs at most one bounded continuation in the same child session without a tools override, preserving that session's persisted permissions and requiring a truthful post-continuation status, while explicit BLOCKED or NEEDS_CONTEXT output still fails closed. Together these changes make agent verification more honest and keep workflow recovery from silently altering permissions.
|
|
6
|
+
|
|
7
|
+
* feat(prompts): add correctness obligations to managed agents, skills, and universal guidance ([6f2dd21](https://github.com/osovv/vv-opencode/commit/6f2dd21))
|
|
8
|
+
* fix(workflow): preserve permissions during result continuation ([5342a31](https://github.com/osovv/vv-opencode/commit/5342a31))
|
|
9
|
+
|
|
1
10
|
## <small>1.4.1 (2026-09-11)</small>
|
|
2
11
|
|
|
3
12
|
### Summary
|
package/README.md
CHANGED
|
@@ -169,7 +169,7 @@ grep '<COMPONENT-' .vvoc/specs/*/*.xml # component map across spec and plan
|
|
|
169
169
|
| **ModelRolesPlugin** | Semantic model roles (`vv-role:smart`, `vv-role:fast`, …) instead of hardcoded model IDs in agents, subagents, and commands — resolved per machine or project at startup. |
|
|
170
170
|
| **GuardianPlugin** | Keeps long or AFK runs moving by auto-approving routine low-risk permission requests; anything risky stays in OpenCode's normal manual approval flow. |
|
|
171
171
|
| **HashlineEditPlugin** | Routes each model to exactly one native edit tool (host `edit` for GLM/Qwen/Kimi, host `apply_patch` for GPT, `str_replace_editor` for DeepSeek, `hashline_edit` for unmatched models) and hides the other edit tools per session. |
|
|
172
|
-
| **SystemContextInjectionPlugin** | Injects the work policy selected by the orchestration profile into vv-controller at startup,
|
|
172
|
+
| **SystemContextInjectionPlugin** | Injects universal guidance — including correctness obligations for behavior changes — plus the work policy selected by the orchestration profile into vv-controller at startup, and registers skill discovery; subagents stay unpolluted. |
|
|
173
173
|
| **SecretsRedactionPlugin** | Redacts tokens, keys, emails, and other sensitive values before messages reach the model, restoring them only where local execution needs the originals. |
|
|
174
174
|
| **WebToolsPlugin** | Two provider-neutral tools — `web_search` and `web_fetch` — over Exa, Brave, Z.AI, native retrieval, or Spider, with permission checks and normalized output. |
|
|
175
175
|
| **ToolHistoryCompactionPlugin** | Shrinks the context replayed to the model by compacting old tool outputs non-destructively, without touching on-disk history. |
|
|
@@ -192,6 +192,8 @@ All prompt files are scaffolded by `vvoc install` / `vvoc sync`:
|
|
|
192
192
|
| `investigator` | Finds the root cause first when behavior is unclear or a failure needs diagnosis |
|
|
193
193
|
| `guardian` | Supports GuardianPlugin by reviewing permission requests and auto-approving only routine low-risk ones |
|
|
194
194
|
|
|
195
|
+
Managed prompts and the universal guidance injected into primary sessions carry explicit correctness obligations. For behavior changes, agents derive the material properties that must be preserved from the request and established contracts, separate write scope from impact and verification scope, investigate directly affected consumers, challenge a material assumption with a diagnostic counterexample, and choose verification at the level the risk arises. Controllers tie completion claims to observed evidence rather than status markers; reviewers distinguish no discovered defect from sufficient support for a material claim and can fail a change for a material verification gap. These obligations are prompt-level guidance only: `vvoc install` / `vvoc sync` deliver the current wording, changes take effect after an OpenCode restart like all vvoc config changes, and the bundled contract tests check instruction delivery and wording — they do not evaluate or guarantee how a real model behaves.
|
|
196
|
+
|
|
195
197
|
### Managed skills
|
|
196
198
|
|
|
197
199
|
Two families: `vv-*` skills guide the work protocol, while `vvoc-*` skills operate and observe the vvoc/OpenCode tooling itself.
|
|
@@ -467,6 +469,8 @@ A worker can fail to launch at all: the host task wrapper rejects the call befor
|
|
|
467
469
|
|
|
468
470
|
This is not universal automatic error recovery. Background or promoted launches, resumed/shared/re-prompted children, cancellation or interruption, any task that entered the `tool.execute.after` hook (including a protocol/repair failure there), missing or mismatched parent/child metadata, and unknown or non-wrapper host errors all remain fail-closed: the in-flight block is preserved and no retry is authorized from the event alone. The plugin never hydrates workflow state, infers a work item from error text, or resets a whole session because of an error event, and it does not reclassify legacy-mode or checkpoint-reviewer launches.
|
|
469
471
|
|
|
472
|
+
When a tracked subagent returns a recognized task envelope whose inner result is malformed for the strict protocol — a missing `VVOC_STATUS`, a missing `VVOC_ROUTE`, a non-protocol top-block line, or body text without the required blank line — the plugin makes at most one bounded continuation to that same child session. The continuation request carries no `tools` override (so the child's persisted session permissions are preserved), and its instructions direct the child to preserve the original work item, assignment, role, and write scope; to finish unfinished work with its existing history and currently permitted tools; or, if the work was already complete, to correct only the final report without repeating work or inventing evidence; and to report a truthful post-continuation `VVOC_STATUS`/`VVOC_ROUTE` rather than freezing an outdated one. These are instructions to the model, not a mechanical guarantee of compliance: the plugin still reparses the continued output strictly, applies the bounded error-code and explicit-hard-stop gates, and fails closed with the original protocol error and excerpt. Continuation is attempted only once; a valid result never continues, and a failed, empty, or still-malformed continuation is never retried. An explicit `VVOC_STATUS: BLOCKED` or `NEEDS_CONTEXT` line is detected before the call, so malformed hard-stop output fails closed through the original protocol error and excerpt instead of being continued.
|
|
473
|
+
|
|
470
474
|
Independent review happens at checkpoints declared in the plan. An approved delegated plan carries an `<execution><mode>delegated</mode>` section with `<review_checkpoints>` (`CHECKPOINT-R-NNN` identities, each with kind, wave barrier, covered tasks, reviewed scope files, reviewer set, acceptance criteria, and verification commands) and per-task `<write_scope>` lists. `work_checkpoint` handles three actions:
|
|
471
475
|
|
|
472
476
|
- `register` — loads an approved active plan plus its linked approved spec, fully lints them, and binds the run to their content hashes and the canonical workspace root. Re-registering identical inputs is idempotent; changed approved inputs are explicit plan drift, never a progress reset.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// FILE: src/plugins/system-context-injection/index.ts
|
|
2
2
|
// VERSION: 0.4.2
|
|
3
3
|
// START_MODULE_CONTRACT
|
|
4
|
-
// PURPOSE: Inject universal primary guidance and one startup-resolved concrete orchestration policy into vv-controller without polluting subagent prompts.
|
|
5
|
-
// SCOPE: Universal instructions, vv-controller policy selection, explore-worker guidance, known subagent filtering, startup vvoc snapshot use, custom subagent tracking, and chat.message injection.
|
|
4
|
+
// PURPOSE: Inject universal primary guidance, including correctness obligations for behavior changes, and one startup-resolved concrete orchestration policy into vv-controller without polluting subagent prompts.
|
|
5
|
+
// SCOPE: Universal instructions with correctness obligations, vv-controller policy selection, explore-worker guidance, known subagent filtering, startup vvoc snapshot use, custom subagent tracking, and chat.message injection.
|
|
6
6
|
// DEPENDS: [@opencode-ai/plugin, src/lib/config-layers.ts, src/lib/managed-agents.ts, src/lib/orchestration.ts, src/lib/vvoc-paths.ts]
|
|
7
7
|
// LINKS: [M-PLUGIN-SYSTEM-CONTEXT-INJECTION, M-ORCHESTRATION-PROFILES, M-CLI-MANAGED-AGENTS]
|
|
8
8
|
// ROLE: RUNTIME
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
// END_MODULE_MAP
|
|
15
15
|
//
|
|
16
16
|
// START_CHANGE_SUMMARY
|
|
17
|
-
// LAST_CHANGE: [
|
|
17
|
+
// LAST_CHANGE: [C-CORRECTNESS-OBLIGATIONS-PROMPTS - Added the correctness_obligations universal block: preserved properties, write/impact/verification scope separation, diagnostic counterexamples, and evidence-based acceptance.]
|
|
18
18
|
// END_CHANGE_SUMMARY
|
|
19
19
|
import { loadVvocConfig } from "../../lib/config-layers.js";
|
|
20
20
|
import { MANAGED_SUBAGENT_NAMES } from "../../lib/managed-agents.js";
|
|
@@ -47,6 +47,15 @@ const UNIVERSAL_PRIMARY_SYSTEM_CONTEXTS = [
|
|
|
47
47
|
"An unmarked claim counts as `?`, and a `?` may not become a downstream premise until verified.",
|
|
48
48
|
"</assumption_discipline>",
|
|
49
49
|
].join("\n"),
|
|
50
|
+
[
|
|
51
|
+
"<correctness_obligations>",
|
|
52
|
+
"For behavior changes, run a compact correctness cycle before reporting done: state the target effect, derive the material properties that must be preserved from the request and established contracts, identify the directly affected consumers, challenge at least one material assumption with a diagnostic counterexample, choose verification proportionate to the risk, report the observed result, and name the remaining uncertainty.",
|
|
53
|
+
"Separate write scope (what you may edit), impact scope (behavior that could change), and verification scope (what you actually check). Investigating directly affected consumers to understand impact is required; broadening writes beyond the approved scope is not — request a scope decision instead.",
|
|
54
|
+
"Choose verification at the level where the risk arises. Derive test expectations from the contract and the request, not from the implementation's current output, and ground mocks in the dependency's established contract rather than in whatever makes the change pass.",
|
|
55
|
+
"Report honestly what was inspected, what was reasoned about, and what was executed as a check. The absence of a discovered defect is not proof of correctness: a substantive completion claim needs observed evidence, and an unverified material condition is reported as remaining uncertainty, never presented as a passed check.",
|
|
56
|
+
"Unrelated informational or trivial documentation work needs none of this ceremony.",
|
|
57
|
+
"</correctness_obligations>",
|
|
58
|
+
].join("\n"),
|
|
50
59
|
[
|
|
51
60
|
"<working_state>",
|
|
52
61
|
"For non-trivial work, stabilize a compact working state before acting: goal, current route, constraints, non-goals when relevant, assumptions, verification target, current unknown, and reroute if.",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/system-context-injection/index.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,iBAAiB;AACjB,wBAAwB;AACxB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/system-context-injection/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// VERSION: 0.6.0
|
|
3
3
|
// START_MODULE_CONTRACT
|
|
4
4
|
// PURPOSE: Register workflow tools and enforcement while injecting only startup-profile-compatible vv-controller guidance, including delegated control tools, host-call-bound attempts, and checkpoint reviewer linkage.
|
|
5
|
-
// SCOPE: work_item_open/list/close registration, delegated-only work_item_decide and work_checkpoint registration with root-session authorization, tracked launch validation with delegated barriers and overlapping-write gates, live host-call bindings that convert supported foreground vv-implementer task launches into failed delegated attempts on confirmed host-terminal errors, result normalization and
|
|
5
|
+
// SCOPE: work_item_open/list/close registration, delegated-only work_item_decide and work_checkpoint registration with root-session authorization, tracked launch validation with delegated barriers and overlapping-write gates, live host-call bindings that convert supported foreground vv-implementer task launches into failed delegated attempts on confirmed host-terminal errors, result normalization and bounded same-session continuation with explicit hard-stop suppression, callID-bound delegated attempt results and checkpoint reviewer bookkeeping, round aggregation with bounded excerpts, implementation round limits, checked persistence, and profile-selected chat.message guidance.
|
|
6
6
|
// DEPENDS: [@opencode-ai/plugin, src/lib/config-layers.ts, src/lib/orchestration.ts, src/lib/plugin-toggle-config.ts, src/plugins/workflow/checkpoint-io.ts, src/plugins/workflow/checkpoints.ts, src/plugins/workflow/delegated.ts, src/plugins/workflow/persistence.ts, src/plugins/workflow/protocol.ts, src/plugins/workflow/repair.ts, src/plugins/workflow/state.ts, src/plugins/workflow/tooling.ts, src/plugins/workflow/transitions.ts]
|
|
7
7
|
// LINKS: M-PLUGIN-WORKFLOW, M-ORCHESTRATION-PROFILES, M-WORKFLOW-PROTOCOL, M-WORKFLOW-REPAIR, M-WORKFLOW-STATE, M-WORKFLOW-TRANSITIONS, M-WORKFLOW-TOOLING, M-WORKFLOW-PERSISTENCE, M-WORKFLOW-DELEGATED, M-WORKFLOW-CHECKPOINTS, V-M-PLUGIN-WORKFLOW
|
|
8
8
|
// ROLE: RUNTIME
|
|
@@ -14,10 +14,10 @@
|
|
|
14
14
|
// END_MODULE_MAP
|
|
15
15
|
//
|
|
16
16
|
// START_CHANGE_SUMMARY
|
|
17
|
-
// LAST_CHANGE: [direct fix
|
|
17
|
+
// LAST_CHANGE: [direct fix bounded result continuation - Replaced format-only repair wiring with one bounded same-session continuation that sends no prompt `tools` override, preserves persistent session permissions, and suppresses continuation for explicit malformed BLOCKED/NEEDS_CONTEXT output while keeping strict reparse and the original protocol-error excerpt path.]
|
|
18
18
|
// END_CHANGE_SUMMARY
|
|
19
19
|
import { tool } from "@opencode-ai/plugin";
|
|
20
|
-
import { attemptTrackedResultRepair, isTrackedResultRepairEligible, unwrapResumableTaskResult, } from "./repair.js";
|
|
20
|
+
import { attemptTrackedResultRepair, hasExplicitHardStopStatus, isTrackedResultRepairEligible, unwrapResumableTaskResult, } from "./repair.js";
|
|
21
21
|
import { parseResultBlock, parseWorkItemHeader, TRACKED_SUBAGENT_NAMES, } from "./protocol.js";
|
|
22
22
|
import { applyTrackedResult, createRecordLookupKey, createWorkflowResultExcerpt, beginTrackedLaunch, createWorkItemStore, getReviewRound, getWorkItem, revertReviewerLaunch, } from "./state.js";
|
|
23
23
|
import { applyDelegatedLaunchFailure, applyDelegatedResult, beginDelegatedLaunch, revertInFlightDelegatedLaunches, } from "./delegated.js";
|
|
@@ -984,12 +984,15 @@ export const WorkflowPlugin = async ({ client, directory, worktree }) => {
|
|
|
984
984
|
expectedWorkItemId: header.value,
|
|
985
985
|
});
|
|
986
986
|
if (!parsed.ok) {
|
|
987
|
-
|
|
987
|
+
const explicitHardStop = hasExplicitHardStopStatus(unwrapped.normalizedOutput);
|
|
988
|
+
if (unwrapped.envelope &&
|
|
989
|
+
isTrackedResultRepairEligible(parsed.error.code) &&
|
|
990
|
+
!explicitHardStop) {
|
|
988
991
|
await client.app.log({
|
|
989
992
|
body: {
|
|
990
993
|
service: "workflow",
|
|
991
994
|
level: "info",
|
|
992
|
-
message: "[workflow][resultParsing][BLOCK_PARSE_RESULT]
|
|
995
|
+
message: "[workflow][resultParsing][BLOCK_PARSE_RESULT] bounded continuation attempted",
|
|
993
996
|
extra: {
|
|
994
997
|
sessionID: input.sessionID,
|
|
995
998
|
agent: subagentType,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/workflow/index.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iBAAiB;AACjB,wBAAwB;AACxB,2NAA2N;AAC3N,inBAAinB;AACjnB,mbAAmb;AACnb,wPAAwP;AACxP,kBAAkB;AAClB,sBAAsB;AACtB,sBAAsB;AACtB,EAAE;AACF,mBAAmB;AACnB,gSAAgS;AAChS,iBAAiB;AACjB,EAAE;AACF,uBAAuB;AACvB,uYAAuY;AACvY,qBAAqB;AAErB,OAAO,EAAe,IAAI,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAC7B,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,GAEvB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,2BAA2B,EAC3B,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,WAAW,EACX,oBAAoB,GAIrB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,2BAA2B,EAC3B,oBAAoB,EACpB,oBAAoB,EACpB,+BAA+B,GAChC,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,4BAA4B,EAC5B,6BAA6B,EAC7B,8BAA8B,EAC9B,8BAA8B,GAC/B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,oBAAoB,EACpB,+BAA+B,EAC/B,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,cAAc,CAAC;AACtB,OAAO,iCAAiC,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EACL,0BAA0B,GAE3B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAEtB,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAS,sBAAsB,CAAC,CAAC;AACrE,MAAM,wBAAwB,GAAG,QAAQ,GAAG,qCAAqC,CAAC;AAClF,MAAM,yBAAyB,GAAG,QAAQ,GAAG,qCAAqC,CAAC;AACnF,MAAM,yBAAyB,GAAG,eAAe,CAAC;AAElD,MAAM,uCAAuC,GAAG;;;;;;;;;;CAU/C,CAAC,IAAI,EAAE,CAAC;AAET,MAAM,qCAAqC,GAAG;;;;;;;;;;;CAW7C,CAAC,IAAI,EAAE,CAAC;AAET,MAAM,qCAAqC,GAAG;;;;;;;;;;;;;;;;;;;;;CAqB7C,CAAC,IAAI,EAAE,CAAC;AAET,kFAAkF;AAClF,SAAS,4BAA4B,CAAC,MAAmC;IACvE,QAAQ,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAChC,KAAK,aAAa;YAChB,OAAO,uCAAuC,CAAC;QACjD,KAAK,WAAW;YACd,OAAO,qCAAqC,CAAC;QAC/C,KAAK,SAAS;YACZ,OAAO,iCAAiC,CAAC,IAAI,EAAE,CAAC;QAClD,KAAK,WAAW;YACd,OAAO,qCAAqC,CAAC;IACjD,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAa;IACzC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,GAAI,IAAoC,CAAC,aAAa,CAAC;IAClE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAChC,OAAO,UAAU,IAAI,SAAS,CAAC;AACjC,CAAC;AAED,SAAS,cAAc,CAAC,IAAa;IACnC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,KAAK,GAAI,IAA6B,CAAC,MAAM,CAAC;IACpD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AA8BD,SAAS,yBAAyB,CAAC,SAAiB,EAAE,MAAc;IAClE,OAAO,GAAG,SAAS,KAAK,MAAM,EAAE,CAAC;AACnC,CAAC;AAED;;;;GAIG;AACH,SAAS,8BAA8B,CAAC,IAAa;IACnD,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC;IAC5D,CAAC;IACD,MAAM,MAAM,GAAG,IAA+B,CAAC;IAC/C,IAAI,YAAY,IAAI,MAAM,IAAI,MAAM,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;QAC1D,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC;IAC7D,CAAC;IACD,IAAI,SAAS,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACxD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACvD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;QACxD,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;IACrF,CAAC;IACD,6EAA6E;IAC7E,4EAA4E;IAC5E,4DAA4D;IAC5D,IAAI,SAAS,IAAI,MAAM,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC/B,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC7E,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;QACxD,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,2BAA2B,EAAE,CAAC;IAClE,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAC5B,CAAC;AAED,4EAA4E;AAC5E,SAAS,0BAA0B,CAAC,cAAsB;IACxD,OAAO,6BAA6B,cAAc,KAAK,CAAC;AAC1D,CAAC;AACD,4CAA4C;AAE5C,SAAS,mBAAmB,CAAC,SAA6B;IACxD,OAAO,SAAS,KAAK,yBAAyB,CAAC;AACjD,CAAC;AAED,SAAS,wBAAwB,CAAC,SAA6B,EAAE,QAAgB;IAC/E,IAAI,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC;QACnC,OAAO;IACT,CAAC;IAED,MAAM,aAAa,GAAG,SAAS,EAAE,IAAI,EAAE,IAAI,eAAe,CAAC;IAC3D,MAAM,IAAI,KAAK,CACb,yBAAyB,QAAQ,yBAAyB,yBAAyB,6BAA6B,aAAa,GAAG,CACjI,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,SAA6B;IACzD,OAAO,mBAAmB,CAAC,SAAS,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,uBAAuB,CAAC,cAAkC,EAAE,WAAmB;IACtF,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,EAAE,CAAC;QAC5B,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,IAAI,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACzC,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,OAAO,GAAG,cAAc,CAAC,IAAI,EAAE,OAAO,WAAW,EAAE,CAAC;AACtD,CAAC;AAED,SAAS,mBAAmB,CAAC,KAA8B;IACzD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,uBAAuB,CAAC,MAAsB,EAAE,cAAsB;IAC7E,OAAO;QACL,+HAA+H;QAC/H,aAAa,MAAM,CAAC,UAAU,gBAAgB,MAAM,CAAC,KAAK,mBAAmB,cAAc,CAAC,MAAM,CAAC,2BAA2B,cAAc,GAAG;QAC/I,oKAAoK;KACrK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,CAAC;AAED,SAAS,kCAAkC,CAAC,OAG3C;IACC,MAAM,WAAW,GAAG,2BAA2B,CAAC;QAC9C,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,MAAM,EAAE,aAAa;KACtB,CAAC,CAAC;IACH,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,OAAO,2BAA2B,CAAC;QACjC,IAAI,EAAE,OAAO,CAAC,gBAAgB;QAC9B,MAAM,EAAE,mBAAmB;KAC5B,CAAC,CAAC;AACL,CAAC;AAED,SAAS,2BAA2B,CAAC,OAA0C;IAC7E,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,yBAAyB,CAAC;IACnC,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS;QAClC,CAAC,CAAC,kBAAkB,OAAO,CAAC,SAAS,OAAO,OAAO,CAAC,cAAc,aAAa;QAC/E,CAAC,CAAC,EAAE,CAAC;IACP,OAAO,mBAAmB,OAAO,CAAC,MAAM,GAAG,UAAU,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;AAC7E,CAAC;AAED,SAAS,2BAA2B,CAClC,MAAsB,EACtB,QAAsF;IAEtF,IAAI,MAAM,CAAC,KAAK,KAAK,eAAe,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QAC5D,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,CACxE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,eAAe,CAC/C,CAAC;QACF,IAAI,kBAAkB,EAAE,aAAa,EAAE,CAAC;YACtC,OAAO;gBACL,KAAK,EAAE,kBAAkB,CAAC,KAAK;gBAC/B,MAAM,EAAE,kBAAkB,CAAC,MAAM;gBACjC,OAAO,EAAE,kBAAkB,CAAC,aAAa;aAC1C,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACzB,OAAO;YACL,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,OAAO,EAAE,MAAM,CAAC,aAAa;SAC9B,CAAC;IACJ,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,qBAAqB,CAAC,OAK9B;IACC,MAAM,QAAQ,GAAG,2BAA2B,CAAC,OAAO,CAAC,MAAM,EAAE;QAC3D,KAAK,EAAE,OAAO,CAAC,eAAe;QAC9B,MAAM,EAAE,OAAO,CAAC,gBAAgB;QAChC,OAAO,EAAE,OAAO,CAAC,iBAAiB;KACnC,CAAC,CAAC;IACH,OAAO;QACL,qBAAqB,OAAO,CAAC,MAAM,CAAC,KAAK,sCAAsC,OAAO,CAAC,MAAM,CAAC,UAAU,GAAG;QAC3G,2BAA2B,QAAQ,CAAC,KAAK,YAAY,QAAQ,CAAC,MAAM,GAAG;QACvE,2BAA2B,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC7C,yCAAyC;KAC1C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAW,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC9E,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;IACtD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC;QAAE,OAAO,EAAE,CAAC;IAC7D,MAAM,cAAc,GAAG,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/D,MAAM,yBAAyB,GAAG,4BAA4B,CAAC,cAAc,CAAC,CAAC;IAC/E,MAAM,sBAAsB,GAAG,cAAc,CAAC,OAAO,KAAK,WAAW,CAAC;IACtE,MAAM,oBAAoB,GAAG,QAAQ,IAAI,SAAS,CAAC;IAEnD,gCAAgC;IAChC,+DAA+D;IAC/D,yFAAyF;IACzF,+EAA+E;IAC/E,2EAA2E;IAC3E,6BAA6B;IAC7B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAyB,CAAC;IAChD,MAAM,wBAAwB,GAAG,IAAI,GAAG,EAAU,CAAC;IAEnD,SAAS,gBAAgB,CAAC,SAAiB;QACzC,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,QAAQ,GAAG,2BAA2B,CAAC,SAAS,CAAC,CAAC;YACxD,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;gBAChC,KAAK,GAAG,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC3C,qEAAqE;gBACrE,mEAAmE;gBACnE,sEAAsE;gBACtE,MAAM,SAAS,GAAG,+BAA+B,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,SAAS,CAAC,CAAC;gBACnF,IAAI,SAAS,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;oBAC3B,KAAK,MAAM,CAAC,GAAG;yBACZ,GAAG,CAAC;wBACH,IAAI,EAAE;4BACJ,OAAO,EAAE,UAAU;4BACnB,KAAK,EAAE,MAAM;4BACb,OAAO,EACL,8FAA8F;4BAChG,KAAK,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE;yBACpE;qBACF,CAAC;yBACD,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBAClC,wBAAwB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC1C,CAAC;gBACD,KAAK,GAAG,mBAAmB,EAAE,CAAC;YAChC,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,SAAS,eAAe,CAAC,SAAiB;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QAChC,IAAI,wBAAwB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5C,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,wCAAwC,SAAS,uCAAuC;aAChG,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,4BAA4B,CAAC,SAAS,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;QAC7E,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;IACvE,CAAC;IACD,8BAA8B;IAE9B,wCAAwC;IACxC,yEAAyE;IACzE,6EAA6E;IAC7E,8EAA8E;IAC9E,kCAAkC;IAClC,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAkC,CAAC;IAC1E,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/C,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAuB,CAAC;IAE7D,SAAS,2BAA2B,CAAC,OAA+B,EAAE,MAAc;QAClF,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;YACzB,OAAO,CAAC,gBAAgB,GAAG,MAAM,CAAC;QACpC,CAAC;IACH,CAAC;IAED,SAAS,qBAAqB,CAAC,cAAsB,EAAE,MAAc;QACnE,KAAK,MAAM,OAAO,IAAI,uBAAuB,CAAC,MAAM,EAAE,EAAE,CAAC;YACvD,IAAI,OAAO,CAAC,cAAc,KAAK,cAAc;gBAAE,2BAA2B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,SAAS,kBAAkB,CAAC,SAAiB,EAAE,SAA6B;QAC1E,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,IAAI,UAAU,GAAG,qBAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACtD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;YAC/B,qBAAqB,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,OAAO;QACtC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC1B,IAAI,UAAU,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACxB,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACpC,qBAAqB,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,SAAS,qBAAqB,CAAC,IAAa;QAC1C,MAAM,MAAM,GAAG,8BAA8B,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,CAAC,aAAa;YAAE,OAAO;QAClC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAC/C,qBAAqB,CAAC,MAAM,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;IAC/D,CAAC;IAED,SAAS,qBAAqB,CAAC,SAAiB,EAAE,MAAc;QAC9D,MAAM,OAAO,GAAG,uBAAuB,CAAC,GAAG,CAAC,yBAAyB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;QAC1F,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAClC,CAAC;IACH,CAAC;IAED,SAAS,wBAAwB,CAAC,SAAiB,EAAE,MAAc,EAAE,QAAiB;QACpF,MAAM,OAAO,GAAG,uBAAuB,CAAC,GAAG,CAAC,yBAAyB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;QAC1F,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAAE,OAAO;QAClE,MAAM,MAAM,GAAG,QAAmC,CAAC;QACnD,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC;QAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACrD,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;gBACzC,OAAO,CAAC,cAAc,GAAG,KAAK,CAAC;YACjC,CAAC;iBAAM,IAAI,OAAO,CAAC,cAAc,KAAK,KAAK,EAAE,CAAC;gBAC5C,2BAA2B,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI;YAAE,2BAA2B,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;QAC5F,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,KAAK,EAAE,EAAE,CAAC;YAC5D,2BAA2B,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI;YAAE,2BAA2B,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;IAChG,CAAC;IAED;;;;;OAKG;IACH,SAAS,4BAA4B,CACnC,SAAiB,EACjB,OAA+B,EAC/B,cAAqC;QAErC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS,IAAI,wBAAwB,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,OAAO;QAClE,MAAM,QAAQ,GAAG,SAAS,CAAC,YAAY,EAAE,CAAC;QAC1C,MAAM,WAAW,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,2BAA2B,CAAC,WAAW,EAAE;YACvD,SAAS;YACT,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,cAAc;SACf,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YAChB,sEAAsE;YACtE,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;YACvB,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,WAAW,CAAC,YAAY,EAAE,CAAC;QAC9C,MAAM,SAAS,GAAG,4BAA4B,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACtE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;YAClB,uEAAuE;YACvE,qEAAqE;YACrE,KAAK,MAAM,CAAC,GAAG;iBACZ,GAAG,CAAC;gBACH,IAAI,EAAE;oBACJ,OAAO,EAAE,UAAU;oBACnB,KAAK,EAAE,OAAO;oBACd,OAAO,EAAE,0EAA0E;oBACnF,KAAK,EAAE;wBACL,SAAS,EAAE,SAAS;wBACpB,UAAU,EAAE,OAAO,CAAC,UAAU;wBAC9B,OAAO,EAAE,OAAO,CAAC,OAAO;wBACxB,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;qBACrC;iBACF;aACF,CAAC;iBACD,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,qBAAqB,CAAC,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QACvE,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC3C,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QACvB,KAAK,MAAM,CAAC,GAAG;aACZ,GAAG,CAAC;YACH,IAAI,EAAE;gBACJ,OAAO,EAAE,UAAU;gBACnB,KAAK,EAAE,MAAM;gBACb,OAAO,EACL,6FAA6F;gBAC/F,KAAK,EAAE;oBACL,SAAS,EAAE,SAAS;oBACpB,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;oBAC1C,aAAa,EAAE,OAAO,CAAC,aAAa;oBACpC,YAAY,EAAE,OAAO,CAAC,YAAY;iBACnC;aACF;SACF,CAAC;aACD,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC;IAED,SAAS,0BAA0B,CAAC,UAAmC;QACrE,MAAM,IAAI,GAAG,UAAU,CAAC,IAQX,CAAC;QACd,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO;QAC9C,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO;QACzD,MAAM,eAAe,GAAG,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QACxF,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QACzE,IAAI,CAAC,eAAe,IAAI,CAAC,MAAM;YAAE,OAAO;QACxC,MAAM,OAAO,GAAG,uBAAuB,CAAC,GAAG,CAAC,yBAAyB,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;QAChG,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,MAAM,KAAK,GAAG,IAAI,CAAC,KAEN,CAAC;QACd,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO;QAChD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,KAAK,OAAO,CAAC;QACzC,MAAM,QAAQ,GACZ,KAAK,CAAC,QAAQ,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;YAClD,CAAC,CAAE,KAAK,CAAC,QAAoC;YAC7C,CAAC,CAAC,SAAS,CAAC;QAEhB,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,uEAAuE;YACvE,0EAA0E;YAC1E,IAAI,OAAO;gBAAE,2BAA2B,CAAC,OAAO,EAAE,2BAA2B,CAAC,CAAC;YAC/E,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,QAAQ,CAAC,eAAe,CAAC;QAC5C,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;QACrC,IAAI,UAAU,KAAK,eAAe,EAAE,CAAC;YACnC,2BAA2B,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC;YACjE,OAAO;QACT,CAAC;QACD,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC7D,2BAA2B,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QACD,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACzC,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;QACrC,CAAC;aAAM,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YAChD,2BAA2B,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;YAChE,OAAO;QACT,CAAC;QAED,IAAI,QAAQ,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YACjC,2BAA2B,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;YAC5D,OAAO;QACT,CAAC;QACD,IAAI,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,EAAE,EAAE,CAAC;YAChE,2BAA2B,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YACrD,OAAO;QACT,CAAC;QACD,IAAI,QAAQ,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;YAClC,2BAA2B,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;YAC7D,OAAO;QACT,CAAC;QACD,IAAI,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACxC,2BAA2B,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;YACtD,OAAO;QACT,CAAC;QACD,IAAI,OAAO,CAAC,gBAAgB,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,OAAO;YAAE,OAAO;QAC7E,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO;QACtC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;YAAE,OAAO;QAErE,MAAM,cAAc,GAAG,2BAA2B,CAAC;YACjD,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,mBAAmB;SAC5B,CAAC,CAAC;QACH,IAAI,CAAC,cAAc;YAAE,OAAO;QAC5B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,wBAAwB,CAAC,GAAG,CAAC,eAAe,CAAC;YAAE,OAAO;QAC1F,4BAA4B,CAAC,eAAe,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;IACzE,CAAC;IACD,sCAAsC;IAEtC,sCAAsC;IACtC,+EAA+E;IAC/E,sEAAsE;IACtE,2EAA2E;IAC3E,uEAAuE;IACvE,KAAK,UAAU,+BAA+B,CAC5C,KAAyB,EACzB,SAAiB,EACjB,gBAA2D,EAC3D,QAAgB;QAEhB,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CACb,mBAAmB,QAAQ,yBAAyB,yBAAyB,6BAA6B,KAAK,EAAE,IAAI,EAAE,IAAI,eAAe,GAAG,CAC9I,CAAC;QACJ,CAAC;QACD,IACE,gBAAgB,CAAC,QAAQ,KAAK,SAAS;YACvC,gBAAgB,CAAC,QAAQ,KAAK,QAAQ;YACtC,gBAAgB,CAAC,QAAQ,KAAK,oBAAoB,EAClD,CAAC;YACD,MAAM,IAAI,KAAK,CACb,mBAAmB,QAAQ,cAAc,gBAAgB,CAAC,QAAQ,+CAA+C,CAClH,CAAC;QACJ,CAAC;QACD,IACE,gBAAgB,CAAC,QAAQ,KAAK,SAAS;YACvC,gBAAgB,CAAC,SAAS,KAAK,SAAS;YACxC,gBAAgB,CAAC,SAAS,KAAK,SAAS,EACxC,CAAC;YACD,MAAM,IAAI,KAAK,CACb,mBAAmB,QAAQ,cAAc,gBAAgB,CAAC,SAAS,+CAA+C,CACnH,CAAC;QACJ,CAAC;QACD,IAAI,wBAAwB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CACb,wDAAwD,SAAS,iEAAiE,CACnI,CAAC;QACJ,CAAC;QAED,IAAI,QAA4B,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;YACvE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC7C,CAAC;YACD,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,mBAAmB,QAAQ,uCAAuC,SAAS,kCAAmC,KAAe,CAAC,OAAO,EAAE,CACxI,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,EAAE,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CACb,mBAAmB,QAAQ,8CAA8C,SAAS,kBAAkB,QAAQ,GAAG,CAChH,CAAC;QACJ,CAAC;IACH,CAAC;IACD,oCAAoC;IAEpC,iCAAiC;IACjC,iFAAiF;IACjF,SAAS,0BAA0B,CACjC,SAAiB,EACjB,gBAAwB;QAExB,KAAK,MAAM,GAAG,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAC/E,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS;gBAAE,SAAS;YAC1C,KAAK,MAAM,UAAU,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;gBAClD,IAAI,UAAU,CAAC,aAAa,EAAE,gBAAgB,KAAK,gBAAgB,EAAE,CAAC;oBACpE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,CAAC,YAAY,EAAE,CAAC;gBACxD,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,+BAA+B;IAE/B,2BAA2B;IAC3B,wEAAwE;IACxE,wDAAwD;IACxD,MAAM,UAAU,GAAG,mBAAmB,EAAE,CAAC;IACzC,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAC5D,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAC5D,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;IAC9D,MAAM,kBAAkB,GAAG,wBAAwB,CAAC,UAAU,CAAC,CAAC;IAChE,MAAM,kBAAkB,GAAG,wBAAwB,CAAC,UAAU,CAAC,CAAC;IAEhE,OAAO;QACL,IAAI,EAAE;YACJ,cAAc,EAAE,IAAI,CAAC;gBACnB,WAAW,EAAE,gBAAgB,CAAC,WAAW;gBACzC,IAAI,EAAE;oBACJ,KAAK,EAAE,CAAC,CAAC,KAAK,CACZ,CAAC,CAAC,MAAM,CAAC;wBACP,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;wBACf,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;wBACjB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;wBAChB,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;wBACtC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;wBAC1C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;wBAChC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;qBAClC,CAAC,CACH;iBACF;gBACD,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO;oBACzB,wBAAwB,CAAC,OAAO,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;oBAC1D,MAAM,YAAY,GAAG,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;oBACzD,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CACrC,IAAI,EACJ,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,EAChC,YAAY,CACb,CAAC;oBACF,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;oBACnC,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;gBACrC,CAAC;aACF,CAAC;YACF,cAAc,EAAE,IAAI,CAAC;gBACnB,WAAW,EAAE,gBAAgB,CAAC,WAAW;gBACzC,IAAI,EAAE;oBACJ,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;iBACtC;gBACD,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO;oBACzB,wBAAwB,CAAC,OAAO,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;oBAC1D,MAAM,YAAY,GAAG,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;oBACzD,OAAO,mBAAmB,CACxB,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,YAAY,CAAC,CAC/E,CAAC;gBACJ,CAAC;aACF,CAAC;YACF,eAAe,EAAE,IAAI,CAAC;gBACpB,WAAW,EAAE,iBAAiB,CAAC,WAAW;gBAC1C,IAAI,EAAE;oBACJ,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;iBACvB;gBACD,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO;oBACzB,wBAAwB,CAAC,OAAO,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;oBAC3D,MAAM,YAAY,GAAG,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;oBACzD,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,CACtC,IAAI,EACJ,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,EAChC,YAAY,CACb,CAAC;oBACF,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;oBACnC,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;gBACrC,CAAC;aACF,CAAC;YACF,sEAAsE;YACtE,4EAA4E;YAC5E,GAAG,CAAC,sBAAsB;gBACxB,CAAC,CAAC;oBACE,gBAAgB,EAAE,IAAI,CAAC;wBACrB,WAAW,EAAE,kBAAkB,CAAC,WAAW;wBAC3C,IAAI,EAAE;4BACJ,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;4BACtB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;4BAChC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,iBAAiB,EAAE,QAAQ,CAAC,CAAC;4BACzD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;4BACrB,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;4BAC7B,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;4BAC1C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;4BAC5B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;yBACpC;wBACD,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO;4BACzB,iEAAiE;4BACjE,iEAAiE;4BACjE,MAAM,YAAY,GAAG,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;4BACzD,MAAM,+BAA+B,CACnC,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,SAAS,EACjB,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,EAC5D,kBAAkB,CACnB,CAAC;4BACF,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CACxC,IAAI,EACJ,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,EAChC,YAAY,CACb,CAAC;4BACF,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;gCACf,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gCACrD,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;oCAClB,MAAM,IAAI,KAAK,CACb,8EAA8E,SAAS,CAAC,KAAK,EAAE,CAChG,CAAC;gCACJ,CAAC;4BACH,CAAC;4BACD,OAAO,mBAAmB,CAAC,OAAO,CAAC,CAAC;wBACtC,CAAC;qBACF,CAAC;oBACF,eAAe,EAAE,IAAI,CAAC;wBACpB,WAAW,EAAE,kBAAkB,CAAC,WAAW;wBAC3C,IAAI,EAAE;4BACJ,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;4BAC/C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;4BAC/B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;4BAC5B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;4BACnC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;yBACjC;wBACD,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO;4BACzB,iEAAiE;4BACjE,iEAAiE;4BACjE,MAAM,YAAY,GAAG,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;4BACzD,MAAM,+BAA+B,CACnC,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,SAAS,EACjB,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,EAC5D,iBAAiB,CAClB,CAAC;4BACF,MAAM,WAAW,GAAG;gCAClB,SAAS,EAAE,OAAO,CAAC,SAAS;gCAC5B,aAAa,EAAE,oBAAoB;gCACnC,QAAQ,EAAE,KAAK,EAAE,QAAgB,EAAE,aAAqB,EAAE,EAAE;oCAC1D,MAAM,MAAM,GAAG,MAAM,yBAAyB,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,CAAC;oCAC5E,OAAO,MAAM,CAAC,EAAE;wCACd,CAAC,CAAC,MAAM,CAAC,IAAI;wCACb,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;gCACzD,CAAC;6BACF,CAAC;4BACF,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAC7C,EAAE,GAAG,IAAI,EAAE,EACX,WAAW,EACX,YAAY,CACb,CAAC;4BACF,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;gCACd,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gCACrD,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;oCAClB,MAAM,IAAI,KAAK,CACb,uFAAuF,SAAS,CAAC,KAAK,EAAE,CACzG,CAAC;gCACJ,CAAC;4BACH,CAAC;4BACD,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;wBACrC,CAAC;qBACF,CAAC;iBACH;gBACH,CAAC,CAAC,EAAE,CAAC;SACR;QACD,qBAAqB,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC7C,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC1B,OAAO;YACT,CAAC;YAED,wEAAwE;YACxE,yEAAyE;YACzE,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAEnC,MAAM,YAAY,GAAG,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACvD,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,CAAC;gBACrC,OAAO;YACT,CAAC;YAED,MAAM,YAAY,GAAG,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACvD,MAAM,MAAM,GAAG,mBAAmB,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YAChE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;oBACnB,IAAI,EAAE;wBACJ,OAAO,EAAE,UAAU;wBACnB,KAAK,EAAE,MAAM;wBACb,OAAO,EAAE,qEAAqE;wBAC9E,KAAK,EAAE;4BACL,SAAS,EAAE,KAAK,CAAC,SAAS;4BAC1B,KAAK,EAAE,YAAY;4BACnB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;yBAC1B;qBACF;iBACF,CAAC,CAAC;gBACH,MAAM,IAAI,KAAK,CAAC,mCAAmC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7E,CAAC;YAED,MAAM,QAAQ,GAAG,WAAW,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1E,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC7C,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;oBACnB,IAAI,EAAE;wBACJ,OAAO,EAAE,UAAU;wBACnB,KAAK,EAAE,MAAM;wBACb,OAAO,EAAE,qEAAqE;wBAC9E,KAAK,EAAE;4BACL,SAAS,EAAE,KAAK,CAAC,SAAS;4BAC1B,KAAK,EAAE,YAAY;4BACnB,UAAU,EAAE,MAAM,CAAC,KAAK;4BACxB,MAAM,EAAE,oBAAoB;yBAC7B;qBACF;iBACF,CAAC,CAAC;gBACH,MAAM,IAAI,KAAK,CACb,GAAG,wBAAwB,yDAAyD,MAAM,CAAC,KAAK,uFAAuF,CACxL,CAAC;YACJ,CAAC;YAED,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YACzD,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;YAC7C,MAAM,cAAc,GAClB,YAAY,KAAK,gBAAgB,CAAC,CAAC,CAAC,+BAA+B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YAC9F,MAAM,YAAY,GAChB,QAAQ,CAAC,IAAI,KAAK,gBAAgB;gBAClC,YAAY,KAAK,gBAAgB;gBACjC,gBAAgB,CAAC,cAAc,CAAC,CAAC;YAEnC,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;gBACnB,IAAI,EAAE;oBACJ,OAAO,EAAE,UAAU;oBACnB,KAAK,EAAE,MAAM;oBACb,OAAO,EAAE,iEAAiE;oBAC1E,KAAK,EAAE;wBACL,SAAS,EAAE,KAAK,CAAC,SAAS;wBAC1B,UAAU,EAAE,QAAQ,CAAC,UAAU;wBAC/B,KAAK,EAAE,QAAQ,CAAC,KAAK;wBACrB,KAAK,EAAE,YAAY;wBACnB,WAAW;wBACX,cAAc;wBACd,OAAO,EAAE,YAAY;qBACtB;iBACF;aACF,CAAC,CAAC;YAEH,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;oBACnB,IAAI,EAAE;wBACJ,OAAO,EAAE,UAAU;wBACnB,KAAK,EAAE,MAAM;wBACb,OAAO,EAAE,qEAAqE;wBAC9E,KAAK,EAAE;4BACL,SAAS,EAAE,KAAK,CAAC,SAAS;4BAC1B,UAAU,EAAE,QAAQ,CAAC,UAAU;4BAC/B,KAAK,EAAE,YAAY;4BACnB,WAAW;yBACZ;qBACF;iBACF,CAAC,CAAC;gBACH,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;YACrE,CAAC;YAED,MAAM,QAAQ,GAAG,kBAAkB,CAAC,YAAY,EAAE;gBAChD,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,KAAK,EAAE,YAAY;aACpB,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;oBACnB,IAAI,EAAE;wBACJ,OAAO,EAAE,UAAU;wBACnB,KAAK,EAAE,MAAM;wBACb,OAAO,EAAE,qEAAqE;wBAC9E,KAAK,EAAE;4BACL,SAAS,EAAE,KAAK,CAAC,SAAS;4BAC1B,KAAK,EAAE,YAAY;4BACnB,UAAU,EAAE,QAAQ,CAAC,UAAU;4BAC/B,KAAK,EAAE,QAAQ,CAAC,KAAK;4BACrB,iBAAiB;4BACjB,MAAM,EAAE,QAAQ,CAAC,SAAS;yBAC3B;qBACF;iBACF,CAAC,CAAC;gBACH,MAAM,IAAI,KAAK,CACb,GAAG,yBAAyB,wCAAwC,QAAQ,CAAC,UAAU,aAAa,QAAQ,CAAC,KAAK,gBAAgB,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,kBAAkB,KAAK,QAAQ,CAAC,OAAO,EAAE,CACjN,CAAC;YACJ,CAAC;YAED,uCAAuC;YACvC,0EAA0E;YAC1E,yEAAyE;YACzE,qEAAqE;YACrE,sBAAsB;YACtB,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,IAAI,YAAY,KAAK,gBAAgB,EAAE,CAAC;gBACvE,MAAM,IAAI,GAAG,YAAY,CAAC,YAAY,EAAE,CAAC;gBACzC,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;gBAChD,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBACzC,MAAM,OAAO,GAAG,GAAG;wBACjB,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,UAAU,CAAC;wBACjF,CAAC,CAAC,SAAS,CAAC;oBACd,MAAM,cAAc,GAAG,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,CAC/C,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,OAAO,EAAE,MAAM,CAC1C,CAAC;oBACF,IAAI,GAAG,IAAI,cAAc,EAAE,CAAC;wBAC1B,MAAM,OAAO,GAAG,4BAA4B,CAAC,IAAI,EAAE,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;wBACnF,IAAI,OAAO,CAAC,EAAE,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC9C,MAAM,IAAI,KAAK,CACb,uCAAuC,QAAQ,CAAC,UAAU,eAAe,cAAc,CAAC,IAAI,sCAAsC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACjK,CAAC;wBACJ,CAAC;oBACH,CAAC;oBACD,MAAM,WAAW,GAAG,6BAA6B,CAC/C,IAAI,EACJ,SAAS,EACT,QAAQ,CAAC,SAAS,EAAE,UAAU,IAAI,EAAE,CACrC,CAAC;oBACF,IAAI,WAAW,EAAE,CAAC;wBAChB,MAAM,IAAI,KAAK,CACb,gFAAgF,WAAW,uBAAuB,CACnH,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,MAAM,eAAe,GAAG,oBAAoB,CAAC,YAAY,EAAE;oBACzD,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,UAAU,EAAE,QAAQ,CAAC,UAAU;oBAC/B,MAAM,EAAE,KAAK,CAAC,MAAM;iBACrB,CAAC,CAAC;gBACH,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC;oBACxB,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;wBACnB,IAAI,EAAE;4BACJ,OAAO,EAAE,UAAU;4BACnB,KAAK,EAAE,MAAM;4BACb,OAAO,EAAE,qEAAqE;4BAC9E,KAAK,EAAE;gCACL,SAAS,EAAE,KAAK,CAAC,SAAS;gCAC1B,KAAK,EAAE,YAAY;gCACnB,UAAU,EAAE,QAAQ,CAAC,UAAU;gCAC/B,MAAM,EAAE,eAAe,CAAC,SAAS;6BAClC;yBACF;qBACF,CAAC,CAAC;oBACH,MAAM,IAAI,KAAK,CACb,6BAA6B,eAAe,CAAC,SAAS,KAAK,eAAe,CAAC,OAAO,EAAE,CACrF,CAAC;gBACJ,CAAC;gBACD,sEAAsE;gBACtE,uEAAuE;gBACvE,0DAA0D;gBAC1D,MAAM,WAAW,GAAG,8BAA8B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAChE,uBAAuB,CAAC,GAAG,CAAC,yBAAyB,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE;oBACpF,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,UAAU,EAAE,QAAQ,CAAC,UAAU;oBAC/B,OAAO,EAAE,eAAe,CAAC,OAAO;oBAChC,QAAQ,EAAE,WAAW,CAAC,QAAQ;oBAC9B,gBAAgB,EAAE,WAAW,CAAC,MAAM;oBACpC,gBAAgB,EAAE,KAAK;oBACvB,OAAO,EAAE,KAAK;iBACf,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,YAAY,GAAG,uBAAuB,CAAC,YAAY,CAAC,CAAC;gBAC3D,IAAI,YAAY,EAAE,CAAC;oBACjB,MAAM,MAAM,GAAG,0BAA0B,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;oBAChF,IAAI,MAAM,EAAE,CAAC;wBACX,MAAM,KAAK,GAAG,8BAA8B,CAAC,YAAY,EAAE;4BACzD,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK;4BACvB,YAAY,EAAE,MAAM,CAAC,YAAY;4BACjC,QAAQ,EAAE,YAAY;4BACtB,MAAM,EAAE,KAAK,CAAC,MAAM;yBACrB,CAAC,CAAC;wBACH,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;4BACd,oBAAoB,CAAC,YAAY,EAAE;gCACjC,SAAS,EAAE,KAAK,CAAC,SAAS;gCAC1B,UAAU,EAAE,QAAQ,CAAC,UAAU;gCAC/B,KAAK,EAAE,YAAY;6BACpB,CAAC,CAAC;4BACH,MAAM,IAAI,KAAK,CACb,sCAAsC,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,OAAO,EAAE,CAC1E,CAAC;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YACD,qCAAqC;YAErC,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAEjC,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;gBACnB,IAAI,EAAE;oBACJ,OAAO,EAAE,UAAU;oBACnB,KAAK,EAAE,MAAM;oBACb,OAAO,EAAE,sEAAsE;oBAC/E,KAAK,EAAE;wBACL,SAAS,EAAE,KAAK,CAAC,SAAS;wBAC1B,UAAU,EAAE,QAAQ,CAAC,UAAU;wBAC/B,KAAK,EAAE,QAAQ,CAAC,KAAK;wBACrB,KAAK,EAAE,YAAY;wBACnB,WAAW;wBACX,cAAc;wBACd,IAAI,EAAE,QAAQ,CAAC,IAAI;qBACpB;iBACF;aACF,CAAC,CAAC;QACL,CAAC;QACD,oBAAoB,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC5C,wEAAwE;YACxE,oEAAoE;YACpE,2CAA2C;YAC3C,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC1B,qBAAqB,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBACrD,wBAAwB,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC5E,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC1B,OAAO;YACT,CAAC;YAED,MAAM,YAAY,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACtD,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,CAAC;gBACrC,OAAO;YACT,CAAC;YAED,MAAM,MAAM,GAAG,mBAAmB,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/D,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;oBACnB,IAAI,EAAE;wBACJ,OAAO,EAAE,UAAU;wBACnB,KAAK,EAAE,MAAM;wBACb,OAAO,EAAE,8DAA8D;wBACvE,KAAK,EAAE;4BACL,SAAS,EAAE,KAAK,CAAC,SAAS;4BAC1B,KAAK,EAAE,YAAY;4BACnB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;yBAC1B;qBACF;iBACF,CAAC,CAAC;gBACH,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACpE,CAAC;YAED,uEAAuE;YACvE,wEAAwE;YACxE,oEAAoE;YACpE,MAAM,YAAY,GAAG,GAAG,EAAE;gBACxB,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAChD,oBAAoB,CAAC,KAAK,EAAE;oBAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,UAAU,EAAE,MAAM,CAAC,KAAK;oBACxB,KAAK,EAAE,YAAY;iBACpB,CAAC,CAAC;gBACH,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACnC,CAAC,CAAC;YAEF,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACtC,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;oBACnB,IAAI,EAAE;wBACJ,OAAO,EAAE,UAAU;wBACnB,KAAK,EAAE,MAAM;wBACb,OAAO,EAAE,8DAA8D;wBACvE,KAAK,EAAE;4BACL,SAAS,EAAE,KAAK,CAAC,SAAS;4BAC1B,KAAK,EAAE,YAAY;4BACnB,MAAM,EAAE,qBAAqB;yBAC9B;qBACF;iBACF,CAAC,CAAC;gBACH,YAAY,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;YACjF,CAAC;YAED,MAAM,SAAS,GAAG,yBAAyB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC3D,IAAI,yBAAyB,GAAG,SAAS,CAAC,gBAAgB,CAAC;YAC3D,IAAI,MAAM,GAAG,gBAAgB,CAAC;gBAC5B,KAAK,EAAE,YAAY;gBACnB,MAAM,EAAE,yBAAyB;gBACjC,kBAAkB,EAAE,MAAM,CAAC,KAAK;aACjC,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,IAAI,SAAS,CAAC,QAAQ,IAAI,6BAA6B,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC3E,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;wBACnB,IAAI,EAAE;4BACJ,OAAO,EAAE,UAAU;4BACnB,KAAK,EAAE,MAAM;4BACb,OAAO,EAAE,gEAAgE;4BACzE,KAAK,EAAE;gCACL,SAAS,EAAE,KAAK,CAAC,SAAS;gCAC1B,KAAK,EAAE,YAAY;gCACnB,UAAU,EAAE,MAAM,CAAC,KAAK;gCACxB,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,MAAM;gCACjC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;gCACzB,OAAO,EAAE,CAAC;6BACX;yBACF;qBACF,CAAC,CAAC;oBAEH,MAAM,cAAc,GAAG,MAAM,0BAA0B,CAAC;wBACtD,MAAM;wBACN,SAAS;wBACT,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,MAAM;wBACjC,KAAK,EAAE,YAAY;wBACnB,UAAU,EAAE,MAAM,CAAC,KAAK;wBACxB,eAAe,EAAE,SAAS,CAAC,gBAAgB;wBAC3C,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;wBACjC,iBAAiB,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO;qBACxC,CAAC,CAAC;oBAEH,IAAI,cAAc,EAAE,CAAC;wBACnB,yBAAyB,GAAG,cAAc,CAAC;wBAC3C,MAAM,GAAG,gBAAgB,CAAC;4BACxB,KAAK,EAAE,YAAY;4BACnB,MAAM,EAAE,yBAAyB;4BACjC,kBAAkB,EAAE,MAAM,CAAC,KAAK;yBACjC,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,sBAAsB,GAAG,2BAA2B,CAAC;oBACzD,IAAI,EAAE,SAAS,CAAC,gBAAgB;oBAChC,MAAM,EAAE,mBAAmB;iBAC5B,CAAC,CAAC;gBACH,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;oBACnB,IAAI,EAAE;wBACJ,OAAO,EAAE,UAAU;wBACnB,KAAK,EAAE,MAAM;wBACb,OAAO,EAAE,8DAA8D;wBACvE,KAAK,EAAE;4BACL,SAAS,EAAE,KAAK,CAAC,SAAS;4BAC1B,KAAK,EAAE,YAAY;4BACnB,UAAU,EAAE,MAAM,CAAC,KAAK;4BACxB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;yBAC1B;qBACF;iBACF,CAAC,CAAC;gBACH,YAAY,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CACb;oBACE,0BAA0B,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE;oBAChD,2BAA2B,CAAC,sBAAsB,CAAC;iBACpD,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;YACJ,CAAC;YAED,MAAM,aAAa,GAAG,kCAAkC,CAAC;gBACvD,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;gBACvB,gBAAgB,EAAE,yBAAyB;aAC5C,CAAC,CAAC;YAEH,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;gBACnB,IAAI,EAAE;oBACJ,OAAO,EAAE,UAAU;oBACnB,KAAK,EAAE,MAAM;oBACb,OAAO,EAAE,6DAA6D;oBACtE,KAAK,EAAE;wBACL,SAAS,EAAE,KAAK,CAAC,SAAS;wBAC1B,KAAK,EAAE,YAAY;wBACnB,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU;wBACnC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;wBAC3B,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK;qBAC1B;iBACF;aACF,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACvD,MAAM,OAAO,GAAG,WAAW,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACpF,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC3C,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;oBACnB,IAAI,EAAE;wBACJ,OAAO,EAAE,UAAU;wBACnB,KAAK,EAAE,MAAM;wBACb,OAAO,EAAE,8DAA8D;wBACvE,KAAK,EAAE;4BACL,SAAS,EAAE,KAAK,CAAC,SAAS;4BAC1B,KAAK,EAAE,YAAY;4BACnB,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU;4BACnC,MAAM,EAAE,oBAAoB;yBAC7B;qBACF;iBACF,CAAC,CAAC;gBACH,YAAY,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CACb;oBACE,4CAA4C,MAAM,CAAC,KAAK,CAAC,UAAU,yBAAyB;oBAC5F,2BAA2B,CAAC,aAAa,CAAC;iBAC3C,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;YACJ,CAAC;YAED,uCAAuC;YACvC,qEAAqE;YACrE,kEAAkE;YAClE,wEAAwE;YACxE,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,YAAY,KAAK,gBAAgB,EAAE,CAAC;gBACtE,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,YAAY,EAAE;oBAC1D,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU;oBACnC,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,MAId;oBACb,aAAa;iBACd,CAAC,CAAC;gBACH,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC;oBACzB,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;wBACnB,IAAI,EAAE;4BACJ,OAAO,EAAE,UAAU;4BACnB,KAAK,EAAE,MAAM;4BACb,OAAO,EAAE,8DAA8D;4BACvE,KAAK,EAAE;gCACL,SAAS,EAAE,KAAK,CAAC,SAAS;gCAC1B,KAAK,EAAE,YAAY;gCACnB,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU;gCACnC,MAAM,EAAE,gBAAgB,CAAC,SAAS;6BACnC;yBACF;qBACF,CAAC,CAAC;oBACH,MAAM,IAAI,KAAK,CACb;wBACE,0BAA0B,gBAAgB,CAAC,OAAO,EAAE;wBACpD,2BAA2B,CAAC,aAAa,CAAC;qBAC3C,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;gBACJ,CAAC;gBAED,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;oBACnB,IAAI,EAAE;wBACJ,OAAO,EAAE,UAAU;wBACnB,KAAK,EAAE,MAAM;wBACb,OAAO,EAAE,wEAAwE;wBACjF,KAAK,EAAE;4BACL,SAAS,EAAE,KAAK,CAAC,SAAS;4BAC1B,KAAK,EAAE,YAAY;4BACnB,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU;4BACnC,SAAS,EAAE,gBAAgB,CAAC,SAAS;4BACrC,OAAO,EAAE,gBAAgB,CAAC,OAAO;4BACjC,IAAI,EAAE,WAAW;4BACjB,OAAO,EAAE,gBAAgB,CAAC,OAAO;yBAClC;qBACF;iBACF,CAAC,CAAC;gBAEH,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAEjC,IACE,gBAAgB,CAAC,MAAM,CAAC,KAAK,KAAK,eAAe;oBACjD,gBAAgB,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,EAC3C,CAAC;oBACD,MAAM,IAAI,KAAK,CACb,qBAAqB,CAAC;wBACpB,MAAM,EAAE,gBAAgB,CAAC,MAAM;wBAC/B,eAAe,EAAE,YAAY;wBAC7B,gBAAgB,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;wBACrC,iBAAiB,EAAE,aAAa;qBACjC,CAAC,CACH,CAAC;gBACJ,CAAC;gBACD,OAAO;YACT,CAAC;YAED,MAAM,yBAAyB,GAAG,uBAAuB,CAAC,YAAY,CAAC,CAAC;YACxE,IAAI,yBAAyB,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG,0BAA0B,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBACpF,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,QAAQ,GAAG,8BAA8B,CAAC,YAAY,EAAE;wBAC5D,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK;wBACvB,YAAY,EAAE,MAAM,CAAC,YAAY;wBACjC,QAAQ,EAAE,yBAAyB;wBACnC,MAAM,EAAE,KAAK,CAAC,MAAM;wBACpB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAA2C;qBACjE,CAAC,CAAC;oBACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;wBACjB,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;4BACnB,IAAI,EAAE;gCACJ,OAAO,EAAE,UAAU;gCACnB,KAAK,EAAE,MAAM;gCACb,OAAO,EAAE,8DAA8D;gCACvE,KAAK,EAAE;oCACL,SAAS,EAAE,KAAK,CAAC,SAAS;oCAC1B,KAAK,EAAE,YAAY;oCACnB,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU;oCACnC,MAAM,EAAE,QAAQ,CAAC,SAAS;iCAC3B;6BACF;yBACF,CAAC,CAAC;wBACH,YAAY,EAAE,CAAC;wBACf,MAAM,IAAI,KAAK,CACb;4BACE,qCAAqC,MAAM,CAAC,YAAY,kCAAkC,QAAQ,CAAC,OAAO,EAAE;4BAC5G,2BAA2B,CAAC,aAAa,CAAC;yBAC3C,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YACD,qCAAqC;YAErC,MAAM,OAAO,GAAG,kBAAkB,CAAC,YAAY,EAAE;gBAC/C,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU;gBACnC,MAAM,EAAE,MAAM,CAAC,KAAK;gBACpB,aAAa;aACd,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;gBAChB,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;oBACnB,IAAI,EAAE;wBACJ,OAAO,EAAE,UAAU;wBACnB,KAAK,EAAE,MAAM;wBACb,OAAO,EAAE,8DAA8D;wBACvE,KAAK,EAAE;4BACL,SAAS,EAAE,KAAK,CAAC,SAAS;4BAC1B,KAAK,EAAE,YAAY;4BACnB,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU;4BACnC,MAAM,EAAE,OAAO,CAAC,SAAS;yBAC1B;qBACF;iBACF,CAAC,CAAC;gBACH,YAAY,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CACb;oBACE,0BAA0B,OAAO,CAAC,OAAO,EAAE;oBAC3C,2BAA2B,CAAC,aAAa,CAAC;iBAC3C,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;YACJ,CAAC;YAED,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;gBACnB,IAAI,EAAE;oBACJ,OAAO,EAAE,UAAU;oBACnB,KAAK,EAAE,MAAM;oBACb,OAAO,EAAE,wEAAwE;oBACjF,KAAK,EAAE;wBACL,SAAS,EAAE,KAAK,CAAC,SAAS;wBAC1B,KAAK,EAAE,YAAY;wBACnB,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU;wBACnC,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;wBAC7B,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,eAAe;wBAC/C,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,eAAe;wBAC/C,WAAW,EAAE,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC;wBAC3C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;qBAC7C;iBACF;aACF,CAAC,CAAC;YAEH,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAEjC,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBACnF,MAAM,IAAI,KAAK,CACb,qBAAqB,CAAC;oBACpB,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,eAAe,EAAE,YAAY;oBAC7B,gBAAgB,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;oBACrC,iBAAiB,EAAE,aAAa;iBACjC,CAAC,CACH,CAAC;YACJ,CAAC;QACH,CAAC;QACD,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YACvC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChD,OAAO;YACT,CAAC;YAED,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,uBAAuB,CAC7C,MAAM,CAAC,OAAO,CAAC,MAAM,EACrB,yBAAyB,CAC1B,CAAC;QACJ,CAAC;QACD,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACrB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAgE,CAAC;YACrF,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;YAC7B,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC;YAE1C,uEAAuE;YACvE,4DAA4D;YAC5D,IAAI,SAAS,KAAK,sBAAsB,EAAE,CAAC;gBACzC,0BAA0B,CAAC,UAAU,CAAC,CAAC;gBACvC,OAAO;YACT,CAAC;YAED,mEAAmE;YACnE,mEAAmE;YACnE,IAAI,SAAS,KAAK,iBAAiB,EAAE,CAAC;gBACpC,MAAM,WAAW,GAAG,UAAU,CAAC,IAElB,CAAC;gBACd,IACE,WAAW;oBACX,WAAW,CAAC,IAAI,KAAK,MAAM;oBAC3B,OAAO,WAAW,CAAC,SAAS,KAAK,QAAQ,EACzC,CAAC;oBACD,kBAAkB,CAChB,WAAW,CAAC,SAAS,EACrB,OAAO,WAAW,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAChE,CAAC;gBACJ,CAAC;gBACD,OAAO;YACT,CAAC;YAED,MAAM,IAAI,GAAG,UAAU,CAAC,IAAmC,CAAC;YAC5D,MAAM,cAAc,GAAI,UAAU,CAAC,SAAgC,IAAI,IAAI,EAAE,EAAE,CAAC;YAEhF,IAAI,CAAC,cAAc;gBAAE,OAAO;YAE5B,uDAAuD;YACvD,gEAAgE;YAChE,8DAA8D;YAC9D,IAAI,SAAS,KAAK,gBAAgB,EAAE,CAAC;gBACnC,OAAO;YACT,CAAC;YAED,IAAI,SAAS,KAAK,iBAAiB,EAAE,CAAC;gBACpC,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,uBAAuB,EAAE,CAAC;oBACrD,IAAI,OAAO,CAAC,SAAS,KAAK,cAAc,EAAE,CAAC;wBACzC,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACtC,CAAC;gBACH,CAAC;gBACD,qBAAqB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;gBAC7C,oBAAoB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;gBAC5C,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;gBAC9B,MAAM,wBAAwB,CAAC,cAAc,CAAC,CAAC;gBAC/C,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;oBACnB,IAAI,EAAE;wBACJ,OAAO,EAAE,UAAU;wBACnB,KAAK,EAAE,MAAM;wBACb,OAAO,EAAE,2DAA2D;wBACpE,KAAK,EAAE;4BACL,SAAS,EAAE,cAAc;yBAC1B;qBACF;iBACF,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AACF,yBAAyB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/workflow/index.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iBAAiB;AACjB,wBAAwB;AACxB,2NAA2N;AAC3N,grBAAgrB;AAChrB,mbAAmb;AACnb,wPAAwP;AACxP,kBAAkB;AAClB,sBAAsB;AACtB,sBAAsB;AACtB,EAAE;AACF,mBAAmB;AACnB,gSAAgS;AAChS,iBAAiB;AACjB,EAAE;AACF,uBAAuB;AACvB,sXAAsX;AACtX,qBAAqB;AAErB,OAAO,EAAe,IAAI,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,6BAA6B,EAC7B,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,GAEvB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,2BAA2B,EAC3B,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,WAAW,EACX,oBAAoB,GAIrB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,2BAA2B,EAC3B,oBAAoB,EACpB,oBAAoB,EACpB,+BAA+B,GAChC,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,4BAA4B,EAC5B,6BAA6B,EAC7B,8BAA8B,EAC9B,8BAA8B,GAC/B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,oBAAoB,EACpB,+BAA+B,EAC/B,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,cAAc,CAAC;AACtB,OAAO,iCAAiC,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EACL,0BAA0B,GAE3B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAEtB,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAS,sBAAsB,CAAC,CAAC;AACrE,MAAM,wBAAwB,GAAG,QAAQ,GAAG,qCAAqC,CAAC;AAClF,MAAM,yBAAyB,GAAG,QAAQ,GAAG,qCAAqC,CAAC;AACnF,MAAM,yBAAyB,GAAG,eAAe,CAAC;AAElD,MAAM,uCAAuC,GAAG;;;;;;;;;;CAU/C,CAAC,IAAI,EAAE,CAAC;AAET,MAAM,qCAAqC,GAAG;;;;;;;;;;;CAW7C,CAAC,IAAI,EAAE,CAAC;AAET,MAAM,qCAAqC,GAAG;;;;;;;;;;;;;;;;;;;;;CAqB7C,CAAC,IAAI,EAAE,CAAC;AAET,kFAAkF;AAClF,SAAS,4BAA4B,CAAC,MAAmC;IACvE,QAAQ,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAChC,KAAK,aAAa;YAChB,OAAO,uCAAuC,CAAC;QACjD,KAAK,WAAW;YACd,OAAO,qCAAqC,CAAC;QAC/C,KAAK,SAAS;YACZ,OAAO,iCAAiC,CAAC,IAAI,EAAE,CAAC;QAClD,KAAK,WAAW;YACd,OAAO,qCAAqC,CAAC;IACjD,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAa;IACzC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,GAAI,IAAoC,CAAC,aAAa,CAAC;IAClE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAChC,OAAO,UAAU,IAAI,SAAS,CAAC;AACjC,CAAC;AAED,SAAS,cAAc,CAAC,IAAa;IACnC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,KAAK,GAAI,IAA6B,CAAC,MAAM,CAAC;IACpD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AA8BD,SAAS,yBAAyB,CAAC,SAAiB,EAAE,MAAc;IAClE,OAAO,GAAG,SAAS,KAAK,MAAM,EAAE,CAAC;AACnC,CAAC;AAED;;;;GAIG;AACH,SAAS,8BAA8B,CAAC,IAAa;IACnD,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC;IAC5D,CAAC;IACD,MAAM,MAAM,GAAG,IAA+B,CAAC;IAC/C,IAAI,YAAY,IAAI,MAAM,IAAI,MAAM,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;QAC1D,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC;IAC7D,CAAC;IACD,IAAI,SAAS,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACxD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACvD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;QACxD,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;IACrF,CAAC;IACD,6EAA6E;IAC7E,4EAA4E;IAC5E,4DAA4D;IAC5D,IAAI,SAAS,IAAI,MAAM,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC/B,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC7E,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;QACxD,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,2BAA2B,EAAE,CAAC;IAClE,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAC5B,CAAC;AAED,4EAA4E;AAC5E,SAAS,0BAA0B,CAAC,cAAsB;IACxD,OAAO,6BAA6B,cAAc,KAAK,CAAC;AAC1D,CAAC;AACD,4CAA4C;AAE5C,SAAS,mBAAmB,CAAC,SAA6B;IACxD,OAAO,SAAS,KAAK,yBAAyB,CAAC;AACjD,CAAC;AAED,SAAS,wBAAwB,CAAC,SAA6B,EAAE,QAAgB;IAC/E,IAAI,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC;QACnC,OAAO;IACT,CAAC;IAED,MAAM,aAAa,GAAG,SAAS,EAAE,IAAI,EAAE,IAAI,eAAe,CAAC;IAC3D,MAAM,IAAI,KAAK,CACb,yBAAyB,QAAQ,yBAAyB,yBAAyB,6BAA6B,aAAa,GAAG,CACjI,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,SAA6B;IACzD,OAAO,mBAAmB,CAAC,SAAS,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,uBAAuB,CAAC,cAAkC,EAAE,WAAmB;IACtF,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,EAAE,CAAC;QAC5B,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,IAAI,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACzC,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,OAAO,GAAG,cAAc,CAAC,IAAI,EAAE,OAAO,WAAW,EAAE,CAAC;AACtD,CAAC;AAED,SAAS,mBAAmB,CAAC,KAA8B;IACzD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,uBAAuB,CAAC,MAAsB,EAAE,cAAsB;IAC7E,OAAO;QACL,+HAA+H;QAC/H,aAAa,MAAM,CAAC,UAAU,gBAAgB,MAAM,CAAC,KAAK,mBAAmB,cAAc,CAAC,MAAM,CAAC,2BAA2B,cAAc,GAAG;QAC/I,oKAAoK;KACrK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,CAAC;AAED,SAAS,kCAAkC,CAAC,OAG3C;IACC,MAAM,WAAW,GAAG,2BAA2B,CAAC;QAC9C,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,MAAM,EAAE,aAAa;KACtB,CAAC,CAAC;IACH,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,OAAO,2BAA2B,CAAC;QACjC,IAAI,EAAE,OAAO,CAAC,gBAAgB;QAC9B,MAAM,EAAE,mBAAmB;KAC5B,CAAC,CAAC;AACL,CAAC;AAED,SAAS,2BAA2B,CAAC,OAA0C;IAC7E,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,yBAAyB,CAAC;IACnC,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS;QAClC,CAAC,CAAC,kBAAkB,OAAO,CAAC,SAAS,OAAO,OAAO,CAAC,cAAc,aAAa;QAC/E,CAAC,CAAC,EAAE,CAAC;IACP,OAAO,mBAAmB,OAAO,CAAC,MAAM,GAAG,UAAU,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;AAC7E,CAAC;AAED,SAAS,2BAA2B,CAClC,MAAsB,EACtB,QAAsF;IAEtF,IAAI,MAAM,CAAC,KAAK,KAAK,eAAe,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QAC5D,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,CACxE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,eAAe,CAC/C,CAAC;QACF,IAAI,kBAAkB,EAAE,aAAa,EAAE,CAAC;YACtC,OAAO;gBACL,KAAK,EAAE,kBAAkB,CAAC,KAAK;gBAC/B,MAAM,EAAE,kBAAkB,CAAC,MAAM;gBACjC,OAAO,EAAE,kBAAkB,CAAC,aAAa;aAC1C,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACzB,OAAO;YACL,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,OAAO,EAAE,MAAM,CAAC,aAAa;SAC9B,CAAC;IACJ,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,qBAAqB,CAAC,OAK9B;IACC,MAAM,QAAQ,GAAG,2BAA2B,CAAC,OAAO,CAAC,MAAM,EAAE;QAC3D,KAAK,EAAE,OAAO,CAAC,eAAe;QAC9B,MAAM,EAAE,OAAO,CAAC,gBAAgB;QAChC,OAAO,EAAE,OAAO,CAAC,iBAAiB;KACnC,CAAC,CAAC;IACH,OAAO;QACL,qBAAqB,OAAO,CAAC,MAAM,CAAC,KAAK,sCAAsC,OAAO,CAAC,MAAM,CAAC,UAAU,GAAG;QAC3G,2BAA2B,QAAQ,CAAC,KAAK,YAAY,QAAQ,CAAC,MAAM,GAAG;QACvE,2BAA2B,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC7C,yCAAyC;KAC1C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAW,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC9E,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;IACtD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC;QAAE,OAAO,EAAE,CAAC;IAC7D,MAAM,cAAc,GAAG,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/D,MAAM,yBAAyB,GAAG,4BAA4B,CAAC,cAAc,CAAC,CAAC;IAC/E,MAAM,sBAAsB,GAAG,cAAc,CAAC,OAAO,KAAK,WAAW,CAAC;IACtE,MAAM,oBAAoB,GAAG,QAAQ,IAAI,SAAS,CAAC;IAEnD,gCAAgC;IAChC,+DAA+D;IAC/D,yFAAyF;IACzF,+EAA+E;IAC/E,2EAA2E;IAC3E,6BAA6B;IAC7B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAyB,CAAC;IAChD,MAAM,wBAAwB,GAAG,IAAI,GAAG,EAAU,CAAC;IAEnD,SAAS,gBAAgB,CAAC,SAAiB;QACzC,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,QAAQ,GAAG,2BAA2B,CAAC,SAAS,CAAC,CAAC;YACxD,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;gBAChC,KAAK,GAAG,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC3C,qEAAqE;gBACrE,mEAAmE;gBACnE,sEAAsE;gBACtE,MAAM,SAAS,GAAG,+BAA+B,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,SAAS,CAAC,CAAC;gBACnF,IAAI,SAAS,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;oBAC3B,KAAK,MAAM,CAAC,GAAG;yBACZ,GAAG,CAAC;wBACH,IAAI,EAAE;4BACJ,OAAO,EAAE,UAAU;4BACnB,KAAK,EAAE,MAAM;4BACb,OAAO,EACL,8FAA8F;4BAChG,KAAK,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE;yBACpE;qBACF,CAAC;yBACD,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBAClC,wBAAwB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC1C,CAAC;gBACD,KAAK,GAAG,mBAAmB,EAAE,CAAC;YAChC,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,SAAS,eAAe,CAAC,SAAiB;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QAChC,IAAI,wBAAwB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5C,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,wCAAwC,SAAS,uCAAuC;aAChG,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,4BAA4B,CAAC,SAAS,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;QAC7E,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;IACvE,CAAC;IACD,8BAA8B;IAE9B,wCAAwC;IACxC,yEAAyE;IACzE,6EAA6E;IAC7E,8EAA8E;IAC9E,kCAAkC;IAClC,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAkC,CAAC;IAC1E,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/C,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAuB,CAAC;IAE7D,SAAS,2BAA2B,CAAC,OAA+B,EAAE,MAAc;QAClF,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;YACzB,OAAO,CAAC,gBAAgB,GAAG,MAAM,CAAC;QACpC,CAAC;IACH,CAAC;IAED,SAAS,qBAAqB,CAAC,cAAsB,EAAE,MAAc;QACnE,KAAK,MAAM,OAAO,IAAI,uBAAuB,CAAC,MAAM,EAAE,EAAE,CAAC;YACvD,IAAI,OAAO,CAAC,cAAc,KAAK,cAAc;gBAAE,2BAA2B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,SAAS,kBAAkB,CAAC,SAAiB,EAAE,SAA6B;QAC1E,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,IAAI,UAAU,GAAG,qBAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACtD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;YAC/B,qBAAqB,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,OAAO;QACtC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC1B,IAAI,UAAU,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACxB,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACpC,qBAAqB,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,SAAS,qBAAqB,CAAC,IAAa;QAC1C,MAAM,MAAM,GAAG,8BAA8B,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,CAAC,aAAa;YAAE,OAAO;QAClC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAC/C,qBAAqB,CAAC,MAAM,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;IAC/D,CAAC;IAED,SAAS,qBAAqB,CAAC,SAAiB,EAAE,MAAc;QAC9D,MAAM,OAAO,GAAG,uBAAuB,CAAC,GAAG,CAAC,yBAAyB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;QAC1F,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAClC,CAAC;IACH,CAAC;IAED,SAAS,wBAAwB,CAAC,SAAiB,EAAE,MAAc,EAAE,QAAiB;QACpF,MAAM,OAAO,GAAG,uBAAuB,CAAC,GAAG,CAAC,yBAAyB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;QAC1F,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAAE,OAAO;QAClE,MAAM,MAAM,GAAG,QAAmC,CAAC;QACnD,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC;QAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACrD,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;gBACzC,OAAO,CAAC,cAAc,GAAG,KAAK,CAAC;YACjC,CAAC;iBAAM,IAAI,OAAO,CAAC,cAAc,KAAK,KAAK,EAAE,CAAC;gBAC5C,2BAA2B,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI;YAAE,2BAA2B,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;QAC5F,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,KAAK,EAAE,EAAE,CAAC;YAC5D,2BAA2B,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI;YAAE,2BAA2B,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;IAChG,CAAC;IAED;;;;;OAKG;IACH,SAAS,4BAA4B,CACnC,SAAiB,EACjB,OAA+B,EAC/B,cAAqC;QAErC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS,IAAI,wBAAwB,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,OAAO;QAClE,MAAM,QAAQ,GAAG,SAAS,CAAC,YAAY,EAAE,CAAC;QAC1C,MAAM,WAAW,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,2BAA2B,CAAC,WAAW,EAAE;YACvD,SAAS;YACT,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,cAAc;SACf,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YAChB,sEAAsE;YACtE,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;YACvB,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,WAAW,CAAC,YAAY,EAAE,CAAC;QAC9C,MAAM,SAAS,GAAG,4BAA4B,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACtE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;YAClB,uEAAuE;YACvE,qEAAqE;YACrE,KAAK,MAAM,CAAC,GAAG;iBACZ,GAAG,CAAC;gBACH,IAAI,EAAE;oBACJ,OAAO,EAAE,UAAU;oBACnB,KAAK,EAAE,OAAO;oBACd,OAAO,EAAE,0EAA0E;oBACnF,KAAK,EAAE;wBACL,SAAS,EAAE,SAAS;wBACpB,UAAU,EAAE,OAAO,CAAC,UAAU;wBAC9B,OAAO,EAAE,OAAO,CAAC,OAAO;wBACxB,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;qBACrC;iBACF;aACF,CAAC;iBACD,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,qBAAqB,CAAC,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QACvE,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC3C,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QACvB,KAAK,MAAM,CAAC,GAAG;aACZ,GAAG,CAAC;YACH,IAAI,EAAE;gBACJ,OAAO,EAAE,UAAU;gBACnB,KAAK,EAAE,MAAM;gBACb,OAAO,EACL,6FAA6F;gBAC/F,KAAK,EAAE;oBACL,SAAS,EAAE,SAAS;oBACpB,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;oBAC1C,aAAa,EAAE,OAAO,CAAC,aAAa;oBACpC,YAAY,EAAE,OAAO,CAAC,YAAY;iBACnC;aACF;SACF,CAAC;aACD,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC;IAED,SAAS,0BAA0B,CAAC,UAAmC;QACrE,MAAM,IAAI,GAAG,UAAU,CAAC,IAQX,CAAC;QACd,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO;QAC9C,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO;QACzD,MAAM,eAAe,GAAG,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QACxF,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QACzE,IAAI,CAAC,eAAe,IAAI,CAAC,MAAM;YAAE,OAAO;QACxC,MAAM,OAAO,GAAG,uBAAuB,CAAC,GAAG,CAAC,yBAAyB,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;QAChG,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,MAAM,KAAK,GAAG,IAAI,CAAC,KAEN,CAAC;QACd,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO;QAChD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,KAAK,OAAO,CAAC;QACzC,MAAM,QAAQ,GACZ,KAAK,CAAC,QAAQ,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;YAClD,CAAC,CAAE,KAAK,CAAC,QAAoC;YAC7C,CAAC,CAAC,SAAS,CAAC;QAEhB,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,uEAAuE;YACvE,0EAA0E;YAC1E,IAAI,OAAO;gBAAE,2BAA2B,CAAC,OAAO,EAAE,2BAA2B,CAAC,CAAC;YAC/E,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,QAAQ,CAAC,eAAe,CAAC;QAC5C,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;QACrC,IAAI,UAAU,KAAK,eAAe,EAAE,CAAC;YACnC,2BAA2B,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC;YACjE,OAAO;QACT,CAAC;QACD,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC7D,2BAA2B,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QACD,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACzC,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;QACrC,CAAC;aAAM,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YAChD,2BAA2B,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;YAChE,OAAO;QACT,CAAC;QAED,IAAI,QAAQ,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YACjC,2BAA2B,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;YAC5D,OAAO;QACT,CAAC;QACD,IAAI,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,EAAE,EAAE,CAAC;YAChE,2BAA2B,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YACrD,OAAO;QACT,CAAC;QACD,IAAI,QAAQ,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;YAClC,2BAA2B,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;YAC7D,OAAO;QACT,CAAC;QACD,IAAI,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACxC,2BAA2B,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;YACtD,OAAO;QACT,CAAC;QACD,IAAI,OAAO,CAAC,gBAAgB,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,OAAO;YAAE,OAAO;QAC7E,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO;QACtC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;YAAE,OAAO;QAErE,MAAM,cAAc,GAAG,2BAA2B,CAAC;YACjD,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,mBAAmB;SAC5B,CAAC,CAAC;QACH,IAAI,CAAC,cAAc;YAAE,OAAO;QAC5B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,wBAAwB,CAAC,GAAG,CAAC,eAAe,CAAC;YAAE,OAAO;QAC1F,4BAA4B,CAAC,eAAe,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;IACzE,CAAC;IACD,sCAAsC;IAEtC,sCAAsC;IACtC,+EAA+E;IAC/E,sEAAsE;IACtE,2EAA2E;IAC3E,uEAAuE;IACvE,KAAK,UAAU,+BAA+B,CAC5C,KAAyB,EACzB,SAAiB,EACjB,gBAA2D,EAC3D,QAAgB;QAEhB,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CACb,mBAAmB,QAAQ,yBAAyB,yBAAyB,6BAA6B,KAAK,EAAE,IAAI,EAAE,IAAI,eAAe,GAAG,CAC9I,CAAC;QACJ,CAAC;QACD,IACE,gBAAgB,CAAC,QAAQ,KAAK,SAAS;YACvC,gBAAgB,CAAC,QAAQ,KAAK,QAAQ;YACtC,gBAAgB,CAAC,QAAQ,KAAK,oBAAoB,EAClD,CAAC;YACD,MAAM,IAAI,KAAK,CACb,mBAAmB,QAAQ,cAAc,gBAAgB,CAAC,QAAQ,+CAA+C,CAClH,CAAC;QACJ,CAAC;QACD,IACE,gBAAgB,CAAC,QAAQ,KAAK,SAAS;YACvC,gBAAgB,CAAC,SAAS,KAAK,SAAS;YACxC,gBAAgB,CAAC,SAAS,KAAK,SAAS,EACxC,CAAC;YACD,MAAM,IAAI,KAAK,CACb,mBAAmB,QAAQ,cAAc,gBAAgB,CAAC,SAAS,+CAA+C,CACnH,CAAC;QACJ,CAAC;QACD,IAAI,wBAAwB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CACb,wDAAwD,SAAS,iEAAiE,CACnI,CAAC;QACJ,CAAC;QAED,IAAI,QAA4B,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;YACvE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC7C,CAAC;YACD,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,mBAAmB,QAAQ,uCAAuC,SAAS,kCAAmC,KAAe,CAAC,OAAO,EAAE,CACxI,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,EAAE,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CACb,mBAAmB,QAAQ,8CAA8C,SAAS,kBAAkB,QAAQ,GAAG,CAChH,CAAC;QACJ,CAAC;IACH,CAAC;IACD,oCAAoC;IAEpC,iCAAiC;IACjC,iFAAiF;IACjF,SAAS,0BAA0B,CACjC,SAAiB,EACjB,gBAAwB;QAExB,KAAK,MAAM,GAAG,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAC/E,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS;gBAAE,SAAS;YAC1C,KAAK,MAAM,UAAU,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;gBAClD,IAAI,UAAU,CAAC,aAAa,EAAE,gBAAgB,KAAK,gBAAgB,EAAE,CAAC;oBACpE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,CAAC,YAAY,EAAE,CAAC;gBACxD,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,+BAA+B;IAE/B,2BAA2B;IAC3B,wEAAwE;IACxE,wDAAwD;IACxD,MAAM,UAAU,GAAG,mBAAmB,EAAE,CAAC;IACzC,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAC5D,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAC5D,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;IAC9D,MAAM,kBAAkB,GAAG,wBAAwB,CAAC,UAAU,CAAC,CAAC;IAChE,MAAM,kBAAkB,GAAG,wBAAwB,CAAC,UAAU,CAAC,CAAC;IAEhE,OAAO;QACL,IAAI,EAAE;YACJ,cAAc,EAAE,IAAI,CAAC;gBACnB,WAAW,EAAE,gBAAgB,CAAC,WAAW;gBACzC,IAAI,EAAE;oBACJ,KAAK,EAAE,CAAC,CAAC,KAAK,CACZ,CAAC,CAAC,MAAM,CAAC;wBACP,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;wBACf,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;wBACjB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;wBAChB,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;wBACtC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;wBAC1C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;wBAChC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;qBAClC,CAAC,CACH;iBACF;gBACD,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO;oBACzB,wBAAwB,CAAC,OAAO,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;oBAC1D,MAAM,YAAY,GAAG,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;oBACzD,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CACrC,IAAI,EACJ,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,EAChC,YAAY,CACb,CAAC;oBACF,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;oBACnC,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;gBACrC,CAAC;aACF,CAAC;YACF,cAAc,EAAE,IAAI,CAAC;gBACnB,WAAW,EAAE,gBAAgB,CAAC,WAAW;gBACzC,IAAI,EAAE;oBACJ,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;iBACtC;gBACD,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO;oBACzB,wBAAwB,CAAC,OAAO,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;oBAC1D,MAAM,YAAY,GAAG,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;oBACzD,OAAO,mBAAmB,CACxB,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,YAAY,CAAC,CAC/E,CAAC;gBACJ,CAAC;aACF,CAAC;YACF,eAAe,EAAE,IAAI,CAAC;gBACpB,WAAW,EAAE,iBAAiB,CAAC,WAAW;gBAC1C,IAAI,EAAE;oBACJ,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;iBACvB;gBACD,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO;oBACzB,wBAAwB,CAAC,OAAO,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;oBAC3D,MAAM,YAAY,GAAG,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;oBACzD,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,CACtC,IAAI,EACJ,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,EAChC,YAAY,CACb,CAAC;oBACF,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;oBACnC,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;gBACrC,CAAC;aACF,CAAC;YACF,sEAAsE;YACtE,4EAA4E;YAC5E,GAAG,CAAC,sBAAsB;gBACxB,CAAC,CAAC;oBACE,gBAAgB,EAAE,IAAI,CAAC;wBACrB,WAAW,EAAE,kBAAkB,CAAC,WAAW;wBAC3C,IAAI,EAAE;4BACJ,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;4BACtB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;4BAChC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,iBAAiB,EAAE,QAAQ,CAAC,CAAC;4BACzD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;4BACrB,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;4BAC7B,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;4BAC1C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;4BAC5B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;yBACpC;wBACD,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO;4BACzB,iEAAiE;4BACjE,iEAAiE;4BACjE,MAAM,YAAY,GAAG,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;4BACzD,MAAM,+BAA+B,CACnC,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,SAAS,EACjB,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,EAC5D,kBAAkB,CACnB,CAAC;4BACF,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CACxC,IAAI,EACJ,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,EAChC,YAAY,CACb,CAAC;4BACF,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;gCACf,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gCACrD,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;oCAClB,MAAM,IAAI,KAAK,CACb,8EAA8E,SAAS,CAAC,KAAK,EAAE,CAChG,CAAC;gCACJ,CAAC;4BACH,CAAC;4BACD,OAAO,mBAAmB,CAAC,OAAO,CAAC,CAAC;wBACtC,CAAC;qBACF,CAAC;oBACF,eAAe,EAAE,IAAI,CAAC;wBACpB,WAAW,EAAE,kBAAkB,CAAC,WAAW;wBAC3C,IAAI,EAAE;4BACJ,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;4BAC/C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;4BAC/B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;4BAC5B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;4BACnC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;yBACjC;wBACD,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO;4BACzB,iEAAiE;4BACjE,iEAAiE;4BACjE,MAAM,YAAY,GAAG,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;4BACzD,MAAM,+BAA+B,CACnC,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,SAAS,EACjB,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,EAC5D,iBAAiB,CAClB,CAAC;4BACF,MAAM,WAAW,GAAG;gCAClB,SAAS,EAAE,OAAO,CAAC,SAAS;gCAC5B,aAAa,EAAE,oBAAoB;gCACnC,QAAQ,EAAE,KAAK,EAAE,QAAgB,EAAE,aAAqB,EAAE,EAAE;oCAC1D,MAAM,MAAM,GAAG,MAAM,yBAAyB,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,CAAC;oCAC5E,OAAO,MAAM,CAAC,EAAE;wCACd,CAAC,CAAC,MAAM,CAAC,IAAI;wCACb,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;gCACzD,CAAC;6BACF,CAAC;4BACF,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAC7C,EAAE,GAAG,IAAI,EAAE,EACX,WAAW,EACX,YAAY,CACb,CAAC;4BACF,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;gCACd,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gCACrD,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;oCAClB,MAAM,IAAI,KAAK,CACb,uFAAuF,SAAS,CAAC,KAAK,EAAE,CACzG,CAAC;gCACJ,CAAC;4BACH,CAAC;4BACD,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;wBACrC,CAAC;qBACF,CAAC;iBACH;gBACH,CAAC,CAAC,EAAE,CAAC;SACR;QACD,qBAAqB,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC7C,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC1B,OAAO;YACT,CAAC;YAED,wEAAwE;YACxE,yEAAyE;YACzE,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAEnC,MAAM,YAAY,GAAG,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACvD,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,CAAC;gBACrC,OAAO;YACT,CAAC;YAED,MAAM,YAAY,GAAG,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACvD,MAAM,MAAM,GAAG,mBAAmB,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YAChE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;oBACnB,IAAI,EAAE;wBACJ,OAAO,EAAE,UAAU;wBACnB,KAAK,EAAE,MAAM;wBACb,OAAO,EAAE,qEAAqE;wBAC9E,KAAK,EAAE;4BACL,SAAS,EAAE,KAAK,CAAC,SAAS;4BAC1B,KAAK,EAAE,YAAY;4BACnB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;yBAC1B;qBACF;iBACF,CAAC,CAAC;gBACH,MAAM,IAAI,KAAK,CAAC,mCAAmC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7E,CAAC;YAED,MAAM,QAAQ,GAAG,WAAW,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1E,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC7C,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;oBACnB,IAAI,EAAE;wBACJ,OAAO,EAAE,UAAU;wBACnB,KAAK,EAAE,MAAM;wBACb,OAAO,EAAE,qEAAqE;wBAC9E,KAAK,EAAE;4BACL,SAAS,EAAE,KAAK,CAAC,SAAS;4BAC1B,KAAK,EAAE,YAAY;4BACnB,UAAU,EAAE,MAAM,CAAC,KAAK;4BACxB,MAAM,EAAE,oBAAoB;yBAC7B;qBACF;iBACF,CAAC,CAAC;gBACH,MAAM,IAAI,KAAK,CACb,GAAG,wBAAwB,yDAAyD,MAAM,CAAC,KAAK,uFAAuF,CACxL,CAAC;YACJ,CAAC;YAED,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YACzD,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;YAC7C,MAAM,cAAc,GAClB,YAAY,KAAK,gBAAgB,CAAC,CAAC,CAAC,+BAA+B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YAC9F,MAAM,YAAY,GAChB,QAAQ,CAAC,IAAI,KAAK,gBAAgB;gBAClC,YAAY,KAAK,gBAAgB;gBACjC,gBAAgB,CAAC,cAAc,CAAC,CAAC;YAEnC,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;gBACnB,IAAI,EAAE;oBACJ,OAAO,EAAE,UAAU;oBACnB,KAAK,EAAE,MAAM;oBACb,OAAO,EAAE,iEAAiE;oBAC1E,KAAK,EAAE;wBACL,SAAS,EAAE,KAAK,CAAC,SAAS;wBAC1B,UAAU,EAAE,QAAQ,CAAC,UAAU;wBAC/B,KAAK,EAAE,QAAQ,CAAC,KAAK;wBACrB,KAAK,EAAE,YAAY;wBACnB,WAAW;wBACX,cAAc;wBACd,OAAO,EAAE,YAAY;qBACtB;iBACF;aACF,CAAC,CAAC;YAEH,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;oBACnB,IAAI,EAAE;wBACJ,OAAO,EAAE,UAAU;wBACnB,KAAK,EAAE,MAAM;wBACb,OAAO,EAAE,qEAAqE;wBAC9E,KAAK,EAAE;4BACL,SAAS,EAAE,KAAK,CAAC,SAAS;4BAC1B,UAAU,EAAE,QAAQ,CAAC,UAAU;4BAC/B,KAAK,EAAE,YAAY;4BACnB,WAAW;yBACZ;qBACF;iBACF,CAAC,CAAC;gBACH,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;YACrE,CAAC;YAED,MAAM,QAAQ,GAAG,kBAAkB,CAAC,YAAY,EAAE;gBAChD,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,KAAK,EAAE,YAAY;aACpB,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;oBACnB,IAAI,EAAE;wBACJ,OAAO,EAAE,UAAU;wBACnB,KAAK,EAAE,MAAM;wBACb,OAAO,EAAE,qEAAqE;wBAC9E,KAAK,EAAE;4BACL,SAAS,EAAE,KAAK,CAAC,SAAS;4BAC1B,KAAK,EAAE,YAAY;4BACnB,UAAU,EAAE,QAAQ,CAAC,UAAU;4BAC/B,KAAK,EAAE,QAAQ,CAAC,KAAK;4BACrB,iBAAiB;4BACjB,MAAM,EAAE,QAAQ,CAAC,SAAS;yBAC3B;qBACF;iBACF,CAAC,CAAC;gBACH,MAAM,IAAI,KAAK,CACb,GAAG,yBAAyB,wCAAwC,QAAQ,CAAC,UAAU,aAAa,QAAQ,CAAC,KAAK,gBAAgB,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,kBAAkB,KAAK,QAAQ,CAAC,OAAO,EAAE,CACjN,CAAC;YACJ,CAAC;YAED,uCAAuC;YACvC,0EAA0E;YAC1E,yEAAyE;YACzE,qEAAqE;YACrE,sBAAsB;YACtB,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,IAAI,YAAY,KAAK,gBAAgB,EAAE,CAAC;gBACvE,MAAM,IAAI,GAAG,YAAY,CAAC,YAAY,EAAE,CAAC;gBACzC,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;gBAChD,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBACzC,MAAM,OAAO,GAAG,GAAG;wBACjB,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,UAAU,CAAC;wBACjF,CAAC,CAAC,SAAS,CAAC;oBACd,MAAM,cAAc,GAAG,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,CAC/C,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,OAAO,EAAE,MAAM,CAC1C,CAAC;oBACF,IAAI,GAAG,IAAI,cAAc,EAAE,CAAC;wBAC1B,MAAM,OAAO,GAAG,4BAA4B,CAAC,IAAI,EAAE,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;wBACnF,IAAI,OAAO,CAAC,EAAE,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC9C,MAAM,IAAI,KAAK,CACb,uCAAuC,QAAQ,CAAC,UAAU,eAAe,cAAc,CAAC,IAAI,sCAAsC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACjK,CAAC;wBACJ,CAAC;oBACH,CAAC;oBACD,MAAM,WAAW,GAAG,6BAA6B,CAC/C,IAAI,EACJ,SAAS,EACT,QAAQ,CAAC,SAAS,EAAE,UAAU,IAAI,EAAE,CACrC,CAAC;oBACF,IAAI,WAAW,EAAE,CAAC;wBAChB,MAAM,IAAI,KAAK,CACb,gFAAgF,WAAW,uBAAuB,CACnH,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,MAAM,eAAe,GAAG,oBAAoB,CAAC,YAAY,EAAE;oBACzD,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,UAAU,EAAE,QAAQ,CAAC,UAAU;oBAC/B,MAAM,EAAE,KAAK,CAAC,MAAM;iBACrB,CAAC,CAAC;gBACH,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC;oBACxB,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;wBACnB,IAAI,EAAE;4BACJ,OAAO,EAAE,UAAU;4BACnB,KAAK,EAAE,MAAM;4BACb,OAAO,EAAE,qEAAqE;4BAC9E,KAAK,EAAE;gCACL,SAAS,EAAE,KAAK,CAAC,SAAS;gCAC1B,KAAK,EAAE,YAAY;gCACnB,UAAU,EAAE,QAAQ,CAAC,UAAU;gCAC/B,MAAM,EAAE,eAAe,CAAC,SAAS;6BAClC;yBACF;qBACF,CAAC,CAAC;oBACH,MAAM,IAAI,KAAK,CACb,6BAA6B,eAAe,CAAC,SAAS,KAAK,eAAe,CAAC,OAAO,EAAE,CACrF,CAAC;gBACJ,CAAC;gBACD,sEAAsE;gBACtE,uEAAuE;gBACvE,0DAA0D;gBAC1D,MAAM,WAAW,GAAG,8BAA8B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAChE,uBAAuB,CAAC,GAAG,CAAC,yBAAyB,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE;oBACpF,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,UAAU,EAAE,QAAQ,CAAC,UAAU;oBAC/B,OAAO,EAAE,eAAe,CAAC,OAAO;oBAChC,QAAQ,EAAE,WAAW,CAAC,QAAQ;oBAC9B,gBAAgB,EAAE,WAAW,CAAC,MAAM;oBACpC,gBAAgB,EAAE,KAAK;oBACvB,OAAO,EAAE,KAAK;iBACf,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,YAAY,GAAG,uBAAuB,CAAC,YAAY,CAAC,CAAC;gBAC3D,IAAI,YAAY,EAAE,CAAC;oBACjB,MAAM,MAAM,GAAG,0BAA0B,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;oBAChF,IAAI,MAAM,EAAE,CAAC;wBACX,MAAM,KAAK,GAAG,8BAA8B,CAAC,YAAY,EAAE;4BACzD,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK;4BACvB,YAAY,EAAE,MAAM,CAAC,YAAY;4BACjC,QAAQ,EAAE,YAAY;4BACtB,MAAM,EAAE,KAAK,CAAC,MAAM;yBACrB,CAAC,CAAC;wBACH,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;4BACd,oBAAoB,CAAC,YAAY,EAAE;gCACjC,SAAS,EAAE,KAAK,CAAC,SAAS;gCAC1B,UAAU,EAAE,QAAQ,CAAC,UAAU;gCAC/B,KAAK,EAAE,YAAY;6BACpB,CAAC,CAAC;4BACH,MAAM,IAAI,KAAK,CACb,sCAAsC,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,OAAO,EAAE,CAC1E,CAAC;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YACD,qCAAqC;YAErC,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAEjC,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;gBACnB,IAAI,EAAE;oBACJ,OAAO,EAAE,UAAU;oBACnB,KAAK,EAAE,MAAM;oBACb,OAAO,EAAE,sEAAsE;oBAC/E,KAAK,EAAE;wBACL,SAAS,EAAE,KAAK,CAAC,SAAS;wBAC1B,UAAU,EAAE,QAAQ,CAAC,UAAU;wBAC/B,KAAK,EAAE,QAAQ,CAAC,KAAK;wBACrB,KAAK,EAAE,YAAY;wBACnB,WAAW;wBACX,cAAc;wBACd,IAAI,EAAE,QAAQ,CAAC,IAAI;qBACpB;iBACF;aACF,CAAC,CAAC;QACL,CAAC;QACD,oBAAoB,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC5C,wEAAwE;YACxE,oEAAoE;YACpE,2CAA2C;YAC3C,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC1B,qBAAqB,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBACrD,wBAAwB,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC5E,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC1B,OAAO;YACT,CAAC;YAED,MAAM,YAAY,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACtD,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,CAAC;gBACrC,OAAO;YACT,CAAC;YAED,MAAM,MAAM,GAAG,mBAAmB,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/D,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;oBACnB,IAAI,EAAE;wBACJ,OAAO,EAAE,UAAU;wBACnB,KAAK,EAAE,MAAM;wBACb,OAAO,EAAE,8DAA8D;wBACvE,KAAK,EAAE;4BACL,SAAS,EAAE,KAAK,CAAC,SAAS;4BAC1B,KAAK,EAAE,YAAY;4BACnB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;yBAC1B;qBACF;iBACF,CAAC,CAAC;gBACH,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACpE,CAAC;YAED,uEAAuE;YACvE,wEAAwE;YACxE,oEAAoE;YACpE,MAAM,YAAY,GAAG,GAAG,EAAE;gBACxB,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAChD,oBAAoB,CAAC,KAAK,EAAE;oBAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,UAAU,EAAE,MAAM,CAAC,KAAK;oBACxB,KAAK,EAAE,YAAY;iBACpB,CAAC,CAAC;gBACH,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACnC,CAAC,CAAC;YAEF,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACtC,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;oBACnB,IAAI,EAAE;wBACJ,OAAO,EAAE,UAAU;wBACnB,KAAK,EAAE,MAAM;wBACb,OAAO,EAAE,8DAA8D;wBACvE,KAAK,EAAE;4BACL,SAAS,EAAE,KAAK,CAAC,SAAS;4BAC1B,KAAK,EAAE,YAAY;4BACnB,MAAM,EAAE,qBAAqB;yBAC9B;qBACF;iBACF,CAAC,CAAC;gBACH,YAAY,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;YACjF,CAAC;YAED,MAAM,SAAS,GAAG,yBAAyB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC3D,IAAI,yBAAyB,GAAG,SAAS,CAAC,gBAAgB,CAAC;YAC3D,IAAI,MAAM,GAAG,gBAAgB,CAAC;gBAC5B,KAAK,EAAE,YAAY;gBACnB,MAAM,EAAE,yBAAyB;gBACjC,kBAAkB,EAAE,MAAM,CAAC,KAAK;aACjC,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,gBAAgB,GAAG,yBAAyB,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;gBAC/E,IACE,SAAS,CAAC,QAAQ;oBAClB,6BAA6B,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;oBAChD,CAAC,gBAAgB,EACjB,CAAC;oBACD,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;wBACnB,IAAI,EAAE;4BACJ,OAAO,EAAE,UAAU;4BACnB,KAAK,EAAE,MAAM;4BACb,OAAO,EACL,8EAA8E;4BAChF,KAAK,EAAE;gCACL,SAAS,EAAE,KAAK,CAAC,SAAS;gCAC1B,KAAK,EAAE,YAAY;gCACnB,UAAU,EAAE,MAAM,CAAC,KAAK;gCACxB,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,MAAM;gCACjC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;gCACzB,OAAO,EAAE,CAAC;6BACX;yBACF;qBACF,CAAC,CAAC;oBAEH,MAAM,cAAc,GAAG,MAAM,0BAA0B,CAAC;wBACtD,MAAM;wBACN,SAAS;wBACT,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,MAAM;wBACjC,KAAK,EAAE,YAAY;wBACnB,UAAU,EAAE,MAAM,CAAC,KAAK;wBACxB,eAAe,EAAE,SAAS,CAAC,gBAAgB;wBAC3C,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;wBACjC,iBAAiB,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO;qBACxC,CAAC,CAAC;oBAEH,IAAI,cAAc,EAAE,CAAC;wBACnB,yBAAyB,GAAG,cAAc,CAAC;wBAC3C,MAAM,GAAG,gBAAgB,CAAC;4BACxB,KAAK,EAAE,YAAY;4BACnB,MAAM,EAAE,yBAAyB;4BACjC,kBAAkB,EAAE,MAAM,CAAC,KAAK;yBACjC,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,sBAAsB,GAAG,2BAA2B,CAAC;oBACzD,IAAI,EAAE,SAAS,CAAC,gBAAgB;oBAChC,MAAM,EAAE,mBAAmB;iBAC5B,CAAC,CAAC;gBACH,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;oBACnB,IAAI,EAAE;wBACJ,OAAO,EAAE,UAAU;wBACnB,KAAK,EAAE,MAAM;wBACb,OAAO,EAAE,8DAA8D;wBACvE,KAAK,EAAE;4BACL,SAAS,EAAE,KAAK,CAAC,SAAS;4BAC1B,KAAK,EAAE,YAAY;4BACnB,UAAU,EAAE,MAAM,CAAC,KAAK;4BACxB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;yBAC1B;qBACF;iBACF,CAAC,CAAC;gBACH,YAAY,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CACb;oBACE,0BAA0B,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE;oBAChD,2BAA2B,CAAC,sBAAsB,CAAC;iBACpD,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;YACJ,CAAC;YAED,MAAM,aAAa,GAAG,kCAAkC,CAAC;gBACvD,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;gBACvB,gBAAgB,EAAE,yBAAyB;aAC5C,CAAC,CAAC;YAEH,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;gBACnB,IAAI,EAAE;oBACJ,OAAO,EAAE,UAAU;oBACnB,KAAK,EAAE,MAAM;oBACb,OAAO,EAAE,6DAA6D;oBACtE,KAAK,EAAE;wBACL,SAAS,EAAE,KAAK,CAAC,SAAS;wBAC1B,KAAK,EAAE,YAAY;wBACnB,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU;wBACnC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;wBAC3B,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK;qBAC1B;iBACF;aACF,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACvD,MAAM,OAAO,GAAG,WAAW,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACpF,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC3C,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;oBACnB,IAAI,EAAE;wBACJ,OAAO,EAAE,UAAU;wBACnB,KAAK,EAAE,MAAM;wBACb,OAAO,EAAE,8DAA8D;wBACvE,KAAK,EAAE;4BACL,SAAS,EAAE,KAAK,CAAC,SAAS;4BAC1B,KAAK,EAAE,YAAY;4BACnB,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU;4BACnC,MAAM,EAAE,oBAAoB;yBAC7B;qBACF;iBACF,CAAC,CAAC;gBACH,YAAY,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CACb;oBACE,4CAA4C,MAAM,CAAC,KAAK,CAAC,UAAU,yBAAyB;oBAC5F,2BAA2B,CAAC,aAAa,CAAC;iBAC3C,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;YACJ,CAAC;YAED,uCAAuC;YACvC,qEAAqE;YACrE,kEAAkE;YAClE,wEAAwE;YACxE,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,YAAY,KAAK,gBAAgB,EAAE,CAAC;gBACtE,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,YAAY,EAAE;oBAC1D,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU;oBACnC,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,MAId;oBACb,aAAa;iBACd,CAAC,CAAC;gBACH,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC;oBACzB,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;wBACnB,IAAI,EAAE;4BACJ,OAAO,EAAE,UAAU;4BACnB,KAAK,EAAE,MAAM;4BACb,OAAO,EAAE,8DAA8D;4BACvE,KAAK,EAAE;gCACL,SAAS,EAAE,KAAK,CAAC,SAAS;gCAC1B,KAAK,EAAE,YAAY;gCACnB,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU;gCACnC,MAAM,EAAE,gBAAgB,CAAC,SAAS;6BACnC;yBACF;qBACF,CAAC,CAAC;oBACH,MAAM,IAAI,KAAK,CACb;wBACE,0BAA0B,gBAAgB,CAAC,OAAO,EAAE;wBACpD,2BAA2B,CAAC,aAAa,CAAC;qBAC3C,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;gBACJ,CAAC;gBAED,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;oBACnB,IAAI,EAAE;wBACJ,OAAO,EAAE,UAAU;wBACnB,KAAK,EAAE,MAAM;wBACb,OAAO,EAAE,wEAAwE;wBACjF,KAAK,EAAE;4BACL,SAAS,EAAE,KAAK,CAAC,SAAS;4BAC1B,KAAK,EAAE,YAAY;4BACnB,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU;4BACnC,SAAS,EAAE,gBAAgB,CAAC,SAAS;4BACrC,OAAO,EAAE,gBAAgB,CAAC,OAAO;4BACjC,IAAI,EAAE,WAAW;4BACjB,OAAO,EAAE,gBAAgB,CAAC,OAAO;yBAClC;qBACF;iBACF,CAAC,CAAC;gBAEH,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAEjC,IACE,gBAAgB,CAAC,MAAM,CAAC,KAAK,KAAK,eAAe;oBACjD,gBAAgB,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,EAC3C,CAAC;oBACD,MAAM,IAAI,KAAK,CACb,qBAAqB,CAAC;wBACpB,MAAM,EAAE,gBAAgB,CAAC,MAAM;wBAC/B,eAAe,EAAE,YAAY;wBAC7B,gBAAgB,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;wBACrC,iBAAiB,EAAE,aAAa;qBACjC,CAAC,CACH,CAAC;gBACJ,CAAC;gBACD,OAAO;YACT,CAAC;YAED,MAAM,yBAAyB,GAAG,uBAAuB,CAAC,YAAY,CAAC,CAAC;YACxE,IAAI,yBAAyB,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG,0BAA0B,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBACpF,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,QAAQ,GAAG,8BAA8B,CAAC,YAAY,EAAE;wBAC5D,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK;wBACvB,YAAY,EAAE,MAAM,CAAC,YAAY;wBACjC,QAAQ,EAAE,yBAAyB;wBACnC,MAAM,EAAE,KAAK,CAAC,MAAM;wBACpB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAA2C;qBACjE,CAAC,CAAC;oBACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;wBACjB,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;4BACnB,IAAI,EAAE;gCACJ,OAAO,EAAE,UAAU;gCACnB,KAAK,EAAE,MAAM;gCACb,OAAO,EAAE,8DAA8D;gCACvE,KAAK,EAAE;oCACL,SAAS,EAAE,KAAK,CAAC,SAAS;oCAC1B,KAAK,EAAE,YAAY;oCACnB,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU;oCACnC,MAAM,EAAE,QAAQ,CAAC,SAAS;iCAC3B;6BACF;yBACF,CAAC,CAAC;wBACH,YAAY,EAAE,CAAC;wBACf,MAAM,IAAI,KAAK,CACb;4BACE,qCAAqC,MAAM,CAAC,YAAY,kCAAkC,QAAQ,CAAC,OAAO,EAAE;4BAC5G,2BAA2B,CAAC,aAAa,CAAC;yBAC3C,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YACD,qCAAqC;YAErC,MAAM,OAAO,GAAG,kBAAkB,CAAC,YAAY,EAAE;gBAC/C,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU;gBACnC,MAAM,EAAE,MAAM,CAAC,KAAK;gBACpB,aAAa;aACd,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;gBAChB,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;oBACnB,IAAI,EAAE;wBACJ,OAAO,EAAE,UAAU;wBACnB,KAAK,EAAE,MAAM;wBACb,OAAO,EAAE,8DAA8D;wBACvE,KAAK,EAAE;4BACL,SAAS,EAAE,KAAK,CAAC,SAAS;4BAC1B,KAAK,EAAE,YAAY;4BACnB,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU;4BACnC,MAAM,EAAE,OAAO,CAAC,SAAS;yBAC1B;qBACF;iBACF,CAAC,CAAC;gBACH,YAAY,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CACb;oBACE,0BAA0B,OAAO,CAAC,OAAO,EAAE;oBAC3C,2BAA2B,CAAC,aAAa,CAAC;iBAC3C,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;YACJ,CAAC;YAED,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;gBACnB,IAAI,EAAE;oBACJ,OAAO,EAAE,UAAU;oBACnB,KAAK,EAAE,MAAM;oBACb,OAAO,EAAE,wEAAwE;oBACjF,KAAK,EAAE;wBACL,SAAS,EAAE,KAAK,CAAC,SAAS;wBAC1B,KAAK,EAAE,YAAY;wBACnB,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU;wBACnC,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;wBAC7B,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,eAAe;wBAC/C,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,eAAe;wBAC/C,WAAW,EAAE,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC;wBAC3C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;qBAC7C;iBACF;aACF,CAAC,CAAC;YAEH,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAEjC,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBACnF,MAAM,IAAI,KAAK,CACb,qBAAqB,CAAC;oBACpB,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,eAAe,EAAE,YAAY;oBAC7B,gBAAgB,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;oBACrC,iBAAiB,EAAE,aAAa;iBACjC,CAAC,CACH,CAAC;YACJ,CAAC;QACH,CAAC;QACD,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YACvC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChD,OAAO;YACT,CAAC;YAED,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,uBAAuB,CAC7C,MAAM,CAAC,OAAO,CAAC,MAAM,EACrB,yBAAyB,CAC1B,CAAC;QACJ,CAAC;QACD,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACrB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAgE,CAAC;YACrF,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;YAC7B,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC;YAE1C,uEAAuE;YACvE,4DAA4D;YAC5D,IAAI,SAAS,KAAK,sBAAsB,EAAE,CAAC;gBACzC,0BAA0B,CAAC,UAAU,CAAC,CAAC;gBACvC,OAAO;YACT,CAAC;YAED,mEAAmE;YACnE,mEAAmE;YACnE,IAAI,SAAS,KAAK,iBAAiB,EAAE,CAAC;gBACpC,MAAM,WAAW,GAAG,UAAU,CAAC,IAElB,CAAC;gBACd,IACE,WAAW;oBACX,WAAW,CAAC,IAAI,KAAK,MAAM;oBAC3B,OAAO,WAAW,CAAC,SAAS,KAAK,QAAQ,EACzC,CAAC;oBACD,kBAAkB,CAChB,WAAW,CAAC,SAAS,EACrB,OAAO,WAAW,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAChE,CAAC;gBACJ,CAAC;gBACD,OAAO;YACT,CAAC;YAED,MAAM,IAAI,GAAG,UAAU,CAAC,IAAmC,CAAC;YAC5D,MAAM,cAAc,GAAI,UAAU,CAAC,SAAgC,IAAI,IAAI,EAAE,EAAE,CAAC;YAEhF,IAAI,CAAC,cAAc;gBAAE,OAAO;YAE5B,uDAAuD;YACvD,gEAAgE;YAChE,8DAA8D;YAC9D,IAAI,SAAS,KAAK,gBAAgB,EAAE,CAAC;gBACnC,OAAO;YACT,CAAC;YAED,IAAI,SAAS,KAAK,iBAAiB,EAAE,CAAC;gBACpC,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,uBAAuB,EAAE,CAAC;oBACrD,IAAI,OAAO,CAAC,SAAS,KAAK,cAAc,EAAE,CAAC;wBACzC,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACtC,CAAC;gBACH,CAAC;gBACD,qBAAqB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;gBAC7C,oBAAoB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;gBAC5C,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;gBAC9B,MAAM,wBAAwB,CAAC,cAAc,CAAC,CAAC;gBAC/C,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;oBACnB,IAAI,EAAE;wBACJ,OAAO,EAAE,UAAU;wBACnB,KAAK,EAAE,MAAM;wBACb,OAAO,EAAE,2DAA2D;wBACpE,KAAK,EAAE;4BACL,SAAS,EAAE,cAAc;yBAC1B;qBACF;iBACF,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AACF,yBAAyB"}
|
|
@@ -16,6 +16,7 @@ export declare function buildTrackedResultRepairPrompt(options: {
|
|
|
16
16
|
parseErrorCode?: ProtocolErrorCode;
|
|
17
17
|
parseErrorMessage: string;
|
|
18
18
|
}): string;
|
|
19
|
+
export declare function hasExplicitHardStopStatus(output: string): boolean;
|
|
19
20
|
export declare function isTrackedResultRepairEligible(code: ProtocolErrorCode): boolean;
|
|
20
21
|
export declare function attemptTrackedResultRepair(options: {
|
|
21
22
|
client: Parameters<Plugin>[0]["client"];
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// FILE: src/plugins/workflow/repair.ts
|
|
2
2
|
// VERSION: 0.1.2
|
|
3
3
|
// START_MODULE_CONTRACT
|
|
4
|
-
// PURPOSE: Recognize resumable OpenCode task envelopes and perform one bounded
|
|
5
|
-
// SCOPE: OpenCode task envelope parsing, protocol-error-aware
|
|
4
|
+
// PURPOSE: Recognize resumable OpenCode task envelopes and perform one bounded same-session continuation for malformed tracked outputs, letting the original subagent finish unfinished work or truthfully correct its final report.
|
|
5
|
+
// SCOPE: OpenCode task envelope parsing, protocol-error-aware continuation prompt construction that preserves work-item identity while reporting a truthful post-continuation status/route, explicit hard-stop suppression detection, continued-output extraction, and same-session continuation calls for tracked workflow results.
|
|
6
6
|
// DEPENDS: [@opencode-ai/plugin, @opencode-ai/sdk, src/plugins/workflow/protocol.ts]
|
|
7
7
|
// LINKS: [M-WORKFLOW-REPAIR, M-WORKFLOW-PROTOCOL, M-PLUGIN-WORKFLOW]
|
|
8
8
|
// ROLE: RUNTIME
|
|
@@ -12,13 +12,14 @@
|
|
|
12
12
|
// START_MODULE_MAP
|
|
13
13
|
// ResumableTaskEnvelope - Recognized OpenCode resumable task wrapper metadata plus inner tracked result text.
|
|
14
14
|
// unwrapResumableTaskResult - Extracts tracked result text only from known resumable OpenCode task envelopes.
|
|
15
|
-
// buildTrackedResultRepairPrompt - Constructs the strict
|
|
16
|
-
//
|
|
17
|
-
//
|
|
15
|
+
// buildTrackedResultRepairPrompt - Constructs the strict bounded-continuation prompt for the same child session with a truthful post-continuation status/route.
|
|
16
|
+
// hasExplicitHardStopStatus - Detects explicit BLOCKED/NEEDS_CONTEXT protocol status lines before any continuation.
|
|
17
|
+
// isTrackedResultRepairEligible - Restricts the one-shot continuation to safe protocol error classes.
|
|
18
|
+
// attemptTrackedResultRepair - Continues the same child session once and returns corrected tracked result text when possible.
|
|
18
19
|
// END_MODULE_MAP
|
|
19
20
|
//
|
|
20
21
|
// START_CHANGE_SUMMARY
|
|
21
|
-
// LAST_CHANGE: [
|
|
22
|
+
// LAST_CHANGE: [direct fix bounded result continuation - Replaced the format-only repair prompt and disabled-tools override with one bounded same-session continuation that omits the prompt `tools` field, permits finishing original work within scope, reports a truthful post-continuation status/route instead of freezing an outdated one, and suppresses continuation for explicit malformed BLOCKED/NEEDS_CONTEXT output.]
|
|
22
23
|
// END_CHANGE_SUMMARY
|
|
23
24
|
const RESUMABLE_TASK_ID_RE = /^task_id:\s+(\S+)\s+\(for resuming to continue this task if needed\)$/;
|
|
24
25
|
const SAFE_TRACKED_RESULT_REPAIR_CODES = new Set([
|
|
@@ -28,23 +29,13 @@ const SAFE_TRACKED_RESULT_REPAIR_CODES = new Set([
|
|
|
28
29
|
"MISSING_BODY_SEPARATOR",
|
|
29
30
|
]);
|
|
30
31
|
const TASK_ELEMENT_OPEN_RE = /^<task\s+id="([^"]+)"\s+state="([^"]+)"\s*>$/;
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
multi_tool_use: false,
|
|
39
|
-
read: false,
|
|
40
|
-
task: false,
|
|
41
|
-
work_checkpoint: false,
|
|
42
|
-
work_item_close: false,
|
|
43
|
-
work_item_decide: false,
|
|
44
|
-
work_item_list: false,
|
|
45
|
-
work_item_open: false,
|
|
46
|
-
write: false,
|
|
47
|
-
};
|
|
32
|
+
/**
|
|
33
|
+
* Conservative deterministic detector for explicit protocol hard-stop status
|
|
34
|
+
* lines. It matches only a `VVOC_STATUS:` line whose value begins with BLOCKED
|
|
35
|
+
* or NEEDS_CONTEXT, so natural-language text cannot suppress a continuation.
|
|
36
|
+
*/
|
|
37
|
+
const EXPLICIT_HARD_STOP_STATUS_RE = /^\s*VVOC_STATUS\s*:\s*(?:BLOCKED|NEEDS_CONTEXT)\b/;
|
|
38
|
+
const TRACKED_RESULT_CONTINUATION_SYSTEM_PROMPT = "Bounded same-session workflow continuation. Preserve the original work item, assignment, role, and write scope. Finish any unfinished implementation or review work using your existing history and currently permitted tools, or, if it was already complete, correct only the final report. Report the VVOC_STATUS and VVOC_ROUTE that truthfully reflect the result after this continuation.";
|
|
48
39
|
function parseResumableTaskEnvelope(output) {
|
|
49
40
|
const normalizedOutput = output.replace(/\r\n/g, "\n");
|
|
50
41
|
const lines = normalizedOutput.split("\n");
|
|
@@ -144,12 +135,14 @@ export function buildTrackedResultRepairPrompt(options) {
|
|
|
144
135
|
? "Allowed VVOC_STATUS values: DONE | DONE_WITH_CONCERNS | NEEDS_CONTEXT | BLOCKED."
|
|
145
136
|
: "Allowed VVOC_STATUS values: PASS | FAIL | NEEDS_CONTEXT.";
|
|
146
137
|
const routeGuidance = options.agent === "vv-implementer"
|
|
147
|
-
? "Include `VVOC_ROUTE` in the strict top block
|
|
138
|
+
? "Include `VVOC_ROUTE` in the strict top block, consistent with the original assignment; do not invent a route that conflicts with it."
|
|
148
139
|
: "Do not include `VVOC_ROUTE`.";
|
|
149
140
|
const exactFormat = [
|
|
150
141
|
`VVOC_WORK_ITEM_ID: ${options.workItemId}`,
|
|
151
|
-
"VVOC_STATUS: <
|
|
152
|
-
...(options.agent === "vv-implementer"
|
|
142
|
+
"VVOC_STATUS: <truthful status>",
|
|
143
|
+
...(options.agent === "vv-implementer"
|
|
144
|
+
? ["VVOC_ROUTE: <route consistent with the original assignment>"]
|
|
145
|
+
: []),
|
|
153
146
|
"",
|
|
154
147
|
"<brief result handoff>",
|
|
155
148
|
].join("\n");
|
|
@@ -160,8 +153,10 @@ export function buildTrackedResultRepairPrompt(options) {
|
|
|
160
153
|
return [
|
|
161
154
|
`Your previous final response for ${options.workItemId} was malformed for the workflow result protocol.`,
|
|
162
155
|
`Protocol error: ${options.parseErrorMessage}`,
|
|
163
|
-
"
|
|
164
|
-
"
|
|
156
|
+
"This is a bounded continuation in the same session. Preserve the same work item identity and the original assignment, role, and write scope, and use your existing history and currently permitted tools.",
|
|
157
|
+
"Finish any unfinished implementation or review work from that original assignment; if it was already complete, correct only the final report without repeating completed work, inventing evidence, or misrepresenting the established outcome.",
|
|
158
|
+
"Report the VVOC_STATUS that truthfully reflects the result after this continuation; do not freeze a missing or outdated status from before it.",
|
|
159
|
+
"If the honest outcome is BLOCKED or NEEDS_CONTEXT, report that status explicitly in the corrected response instead of continuing.",
|
|
165
160
|
statusGuidance,
|
|
166
161
|
routeGuidance,
|
|
167
162
|
...(missingBodySeparatorGuidance ? [missingBodySeparatorGuidance] : []),
|
|
@@ -173,6 +168,12 @@ export function buildTrackedResultRepairPrompt(options) {
|
|
|
173
168
|
">>>",
|
|
174
169
|
].join("\n");
|
|
175
170
|
}
|
|
171
|
+
export function hasExplicitHardStopStatus(output) {
|
|
172
|
+
return output
|
|
173
|
+
.replace(/\r\n/g, "\n")
|
|
174
|
+
.split("\n")
|
|
175
|
+
.some((line) => EXPLICIT_HARD_STOP_STATUS_RE.test(line));
|
|
176
|
+
}
|
|
176
177
|
export function isTrackedResultRepairEligible(code) {
|
|
177
178
|
return SAFE_TRACKED_RESULT_REPAIR_CODES.has(code);
|
|
178
179
|
}
|
|
@@ -194,8 +195,7 @@ export async function attemptTrackedResultRepair(options) {
|
|
|
194
195
|
},
|
|
195
196
|
body: {
|
|
196
197
|
agent: options.agent,
|
|
197
|
-
system:
|
|
198
|
-
tools: FORMAT_ONLY_REPAIR_DISABLED_TOOLS,
|
|
198
|
+
system: TRACKED_RESULT_CONTINUATION_SYSTEM_PROMPT,
|
|
199
199
|
parts: [
|
|
200
200
|
{
|
|
201
201
|
type: "text",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repair.js","sourceRoot":"","sources":["../../../src/plugins/workflow/repair.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,iBAAiB;AACjB,wBAAwB;AACxB,
|
|
1
|
+
{"version":3,"file":"repair.js","sourceRoot":"","sources":["../../../src/plugins/workflow/repair.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@osovv/vv-opencode",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.2",
|
|
4
4
|
"description": "An opinionated agentic development layer for OpenCode — spec-first when it matters, review-driven execution, portable model roles, safer tools, and long-run safety.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
package/schemas/vvoc/v3.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
-
"$id": "https://cdn.jsdelivr.net/npm/@osovv/vv-opencode@1.4.
|
|
3
|
+
"$id": "https://cdn.jsdelivr.net/npm/@osovv/vv-opencode@1.4.2/schemas/vvoc/v3.json",
|
|
4
4
|
"title": "vvoc config",
|
|
5
5
|
"description": "Canonical vvoc configuration document.",
|
|
6
6
|
"type": "object",
|
|
@@ -32,6 +32,9 @@ Rules:
|
|
|
32
32
|
- Reuse stable repository vocabulary. If the repository already has a canonical term, keep it.
|
|
33
33
|
- If the task context or repository provides project-owned overlays such as architecture notes, boundaries, preferred patterns, verification commands, or examples, treat them as investigation constraints.
|
|
34
34
|
- If a test fails, explain why it fails before considering code changes.
|
|
35
|
+
- Name the violated property explicitly: which expected behavior or established contract was broken, not just the symptom.
|
|
36
|
+
- Anchor the root cause in a supporting diagnostic scenario — the reproduction or experiment that demonstrates the violation — and report directly affected variants or consumers where the same root cause plausibly produces the same violation.
|
|
37
|
+
- Deliver these through the existing result structure: the violated property in `Observed`, the diagnostic scenario in `Strongest evidence`, and the affected variants or consumers alongside `Likely root cause`.
|
|
35
38
|
- If you cannot reproduce the issue, say so clearly and report what evidence is missing.
|
|
36
39
|
- Do not make silent material assumptions about environment, data shape, expected behavior, or verification.
|
|
37
40
|
- If new evidence changes the safest route, say so explicitly.
|
|
@@ -23,6 +23,10 @@ Rules:
|
|
|
23
23
|
|
|
24
24
|
- Inspect the code and diff directly for all findings.
|
|
25
25
|
- Reconstruct the effective task model before reviewing: goal, route when stated, constraints, non-goals, assumptions, verification, and project-owned overlays when present.
|
|
26
|
+
- Reconstruct the expected properties independently from the request, contracts, and surrounding code before judging the diff; do not adopt the author's framing or the author's tests as the definition of correct.
|
|
27
|
+
- Examine the consumers the change touches within the reviewed scope: callers, variants, and data flows that rely on the changed behavior.
|
|
28
|
+
- Judge verdicts by evidence, not by absence: PASS requires no blocking findings and sufficient evidence for the material correctness claims in the reviewed scope; FAIL covers a concrete defect or a material verification gap; NEEDS_CONTEXT covers missing context that prevents safe judgment.
|
|
29
|
+
- A verification finding identifies the property at stake, why it is relevant, the evidence limitation, and the smallest useful check that would close it. Keep material verification gaps specific and actionable — do not demand unspecified missing tests or require a duplicate full-suite run to state one.
|
|
26
30
|
- When the request pins a review snapshot or covered scope, review exactly that snapshot. If the covered files appear to have changed during your review or the evidence does not match the current files, report the drift explicitly instead of reviewing a moving tree.
|
|
27
31
|
- PASS is a review verdict about the pinned snapshot — not task acceptance and not approval of later edits.
|
|
28
32
|
- Review only issues introduced by this change or left unresolved by it.
|
|
@@ -39,8 +43,8 @@ Rules:
|
|
|
39
43
|
- If a bug risk depends on an unstated material assumption, say so explicitly.
|
|
40
44
|
- Treat route or process choices as findings only when they create a concrete engineering risk.
|
|
41
45
|
- Raise cosmetic concerns only when they hide a real engineering risk.
|
|
42
|
-
- If a concern lacks a concrete failure mode, keep it under residual risks.
|
|
43
|
-
- If no
|
|
46
|
+
- If a concern lacks a concrete failure mode, keep it under residual risks; a material verification gap is not a residual risk — report it as a Verification finding.
|
|
47
|
+
- If no blocking findings exist, say `No findings` explicitly and report residual risks and testing gaps; no discovered defect is not proof of correctness, so state what the review did and did not establish.
|
|
44
48
|
|
|
45
49
|
Final response protocol:
|
|
46
50
|
|
|
@@ -59,7 +63,9 @@ Output format after the top block:
|
|
|
59
63
|
- Residual risks / testing gaps
|
|
60
64
|
- Brief assessment
|
|
61
65
|
|
|
62
|
-
|
|
66
|
+
When no blocking findings exist and the evidence supports the material claims in the reviewed scope, use `VVOC_STATUS: PASS` with `- none` under Critical, Important, and Minor.
|
|
67
|
+
When a material correctness claim in the reviewed scope lacks supporting evidence, report it as a Verification finding — a material verification gap — and use `VVOC_STATUS: FAIL` instead of passing on silence.
|
|
68
|
+
When context you need for a safe verdict is missing, use `VVOC_STATUS: NEEDS_CONTEXT` and state exactly what is missing.
|
|
63
69
|
When a finding is present, make the explanation self-contained enough that a follow-up implementer can act on it without re-discovering the area.
|
|
64
70
|
|
|
65
71
|
|
|
@@ -46,6 +46,20 @@ trigger. Keep it current and surface it when blocked, rerouting, or handing off.
|
|
|
46
46
|
conflict.
|
|
47
47
|
</evidence_and_scope>
|
|
48
48
|
|
|
49
|
+
<correctness_leadership>
|
|
50
|
+
- Frame work by deriving its engineering obligations from the request and established contracts: the
|
|
51
|
+
target effect, the material properties that must be preserved, and the directly affected consumers.
|
|
52
|
+
- Challenge incomplete task framing before handing work off: missing acceptance criteria that a
|
|
53
|
+
consumer would notice, verification that cannot exercise the changed behavior, or expectations
|
|
54
|
+
copied from a preferred implementation.
|
|
55
|
+
- When handing off bounded tasks, include the material dependencies and at least one diagnostic
|
|
56
|
+
scenario that exercises the property at risk; a handoff that omits them is incomplete.
|
|
57
|
+
- Treat correctness obligations as yours to enforce: a DONE report, green general checks, or
|
|
58
|
+
reviewer agreement alone is not acceptance. Tie substantive completion claims to observed
|
|
59
|
+
evidence that actually exercises the changed behavior, and distinguish no discovered defect from
|
|
60
|
+
sufficient support for a material claim.
|
|
61
|
+
</correctness_leadership>
|
|
62
|
+
|
|
49
63
|
<editing_workflow>
|
|
50
64
|
- Before editing, understand the relevant local contract, nearby tests, and surrounding code.
|
|
51
65
|
- When editing files, prefer the dedicated edit tool over shell-based rewrites when available.
|
|
@@ -9,7 +9,7 @@ Your job is to execute the assigned task exactly, with the smallest correct chan
|
|
|
9
9
|
|
|
10
10
|
Worker protocol:
|
|
11
11
|
|
|
12
|
-
-
|
|
12
|
+
- Keep writes within the assigned scope. Finish only the work you were given; when the packet declares a write scope, edit only those files unless the controller explicitly broadens it. Investigating directly affected consumers — callers, variants, and contracts your change touches — is part of the task, not a scope violation: read them so your verification covers the actual impact.
|
|
13
13
|
- When dispatched as a delegated worker, complete your own local edit, test, and fix cycle before reporting: run the packet's verification commands yourself and fix your own lint, type, and test failures first. Do not report a partial cycle for the controller to repair.
|
|
14
14
|
- Returning DONE reports a completed attempt. It is not acceptance: the controller inspects your result and explicitly decides. Do not claim your work is accepted, approved, or closing.
|
|
15
15
|
- Return the minimum useful result: what changed, what was verified (with the exact commands and their fresh results), material assumptions, and concerns. Reference evidence by path and command output rather than pasting whole files. Omit filler, repeated tool transcripts, and broad future plans.
|
|
@@ -35,13 +35,14 @@ Rules:
|
|
|
35
35
|
- Prefer semantically meaningful identifiers when adding new names. Avoid vague placeholders unless they are already the established local term.
|
|
36
36
|
- If the task context or repository provides project-owned overlays — vocabulary, preferred patterns, boundaries, verification commands, architecture notes, or examples — follow them over generic defaults.
|
|
37
37
|
- If the task or context requires TDD, follow it literally. Otherwise still add targeted verification for the changed behavior.
|
|
38
|
+
- Derive test expectations from the task contract, the request, and established behavior — never from your implementation's current output. Ground mocks in the dependency's established contract (its types, documentation, tests, or real call shapes), not in whatever makes your change pass.
|
|
38
39
|
|
|
39
40
|
## Handling reviewer findings
|
|
40
41
|
- If the packet includes reviewer findings, start from the provided file paths, line refs, symbols or scopes, fix direction, and evidence before widening search.
|
|
41
42
|
- When fixing reviewer findings, address concrete issues only. Keep within the settled scope and avoid adjacent refactors.
|
|
42
43
|
- Treat a normalized finding packet as the starting map for follow-up edits. Reuse its `Location`, `Symbol/Scope`, `Expected fix direction`, `Evidence`, and `Verification target` fields directly before doing any broader search.
|
|
43
44
|
- If reviewer feedback becomes conflicting, ambiguous, or repetitive after one pass, stop the churn and return `NEEDS_CONTEXT` or `DONE_WITH_CONCERNS` with the tradeoff stated clearly.
|
|
44
|
-
- Widen search
|
|
45
|
+
- Bound investigation to impact, not to the packet. Widen search whenever fresh evidence or a confirmed defect leaves the affected surface unclear — including checking relevant neighboring variants of a confirmed defect when practical, because a defect confirmed in one variant often repeats in its siblings. If the required fix crosses the assigned write scope, stop and report instead of widening writes.
|
|
45
46
|
|
|
46
47
|
## Escalation and anti-drift
|
|
47
48
|
- When new evidence invalidates the current route, stop and reroute.
|
|
@@ -72,7 +73,7 @@ Before reporting back, self-review your work:
|
|
|
72
73
|
- Does the code follow local patterns and stay maintainable?
|
|
73
74
|
- Did I preserve semantic continuity with the task and repository terminology?
|
|
74
75
|
- Did I introduce semantically meaningful identifiers instead of vague placeholders?
|
|
75
|
-
- Do tests or verification actually prove the behavior I am claiming?
|
|
76
|
+
- Do tests or verification actually prove the behavior I am claiming, at the level where the risk arises?
|
|
76
77
|
- Are there obvious regressions, edge cases, or follow-up risks?
|
|
77
78
|
- Am I re-litigating ambiguous reviewer feedback instead of converging on a safe result?
|
|
78
79
|
|
|
@@ -100,6 +101,7 @@ Final response protocol:
|
|
|
100
101
|
- `Concerns: ...`
|
|
101
102
|
|
|
102
103
|
Use DONE_WITH_CONCERNS when the task is complete but you still have a material concern.
|
|
104
|
+
Never use DONE_WITH_CONCERNS to hide an unverified condition of your fix: name the specific unverified property, why it matters, and the smallest check that would verify it. If that check is inside your scope and practical, run it instead of reporting the concern.
|
|
103
105
|
Use NEEDS_CONTEXT when safe completion depends on information that was not provided.
|
|
104
106
|
Use BLOCKED when the task cannot be completed without a different decision or approach.
|
|
105
107
|
|
|
@@ -34,6 +34,9 @@ Method:
|
|
|
34
34
|
- Reconstruct the compact task model before judging compliance.
|
|
35
35
|
- Compare the request against the implementation line by line.
|
|
36
36
|
- Verify claimed behavior in code and tests, not in prose.
|
|
37
|
+
- Distinguish compliance from evidential support: compliance means the implementation matches the requested behavior; evidential support means the tests and verification evidence actually demonstrate the claimed behavior. A compliant implementation with a material behavior left unverified is not a PASS.
|
|
38
|
+
- Never PASS while a material condition is labeled `Unproven`: either the inspected evidence resolves it, or it remains a finding.
|
|
39
|
+
- Surface correctness conditions the specification omitted but the requested behavior cannot hold without — report them as findings for an explicit decision instead of inventing business requirements or silently treating them as satisfied.
|
|
37
40
|
- When the request pins a review snapshot or covered scope, judge exactly that snapshot. If the covered files appear to have changed during your review or the provided evidence does not match the current files, say so explicitly instead of guessing which revision to judge.
|
|
38
41
|
- PASS means the reviewed scope complies with the requested behavior. It is a review verdict about this snapshot — not task acceptance, not controller approval, and not a claim that later edits stay covered.
|
|
39
42
|
- Look for both what is absent and what was added unnecessarily.
|
|
@@ -162,7 +162,7 @@ Do not mutate files until the execution mode is explicit. In classic mode, deleg
|
|
|
162
162
|
</pre-execution>
|
|
163
163
|
|
|
164
164
|
<classic-workflow>
|
|
165
|
-
<principle>Use this workflow only when execution mode is classic. Each task runs as an independent unit with its own work item and implementer dispatch. The implementer receives
|
|
165
|
+
<principle>Use this workflow only when execution mode is classic. Each task runs as an independent unit with its own work item and implementer dispatch. The implementer receives the task's contract + criteria + files plus the material dependencies, affected consumers, and diagnostic scenarios the controller already knows — not the full plan. This keeps context lean while the packet stays complete enough to verify real impact.</principle>
|
|
166
166
|
|
|
167
167
|
<step name="extract">
|
|
168
168
|
Use extract-task to pull the full task content. Collect:
|
|
@@ -180,6 +180,7 @@ Build the vv-implementer assignment. The packet must contain:
|
|
|
180
180
|
<goal>Implement <component> per spec and plan</goal>
|
|
181
181
|
<contract>...task's code snippet...</contract>
|
|
182
182
|
<acceptance>...task's criteria...</acceptance>
|
|
183
|
+
<dependencies>...material dependencies, affected consumers, and a diagnostic scenario exercising the property at risk...</dependencies>
|
|
183
184
|
<verification>Run the tests, verify all criteria pass</verification>
|
|
184
185
|
</assignment>
|
|
185
186
|
</format>
|
|
@@ -213,6 +214,7 @@ The implementer writes code, runs tests, and returns a status. This controller v
|
|
|
213
214
|
Run the acceptance criteria. For each criterion:
|
|
214
215
|
- Can you point to a test that proves it?
|
|
215
216
|
- Does the test pass?
|
|
217
|
+
- Does the check actually exercise the changed behavior at the level the risk arises, or is it a green general check that cannot reach the changed path?
|
|
216
218
|
- Did the implementer miss any edge cases?
|
|
217
219
|
|
|
218
220
|
If all criteria pass → proceed to review.
|
|
@@ -268,14 +270,14 @@ Register the approved plan exactly once with work_checkpoint (action register) u
|
|
|
268
270
|
</step>
|
|
269
271
|
|
|
270
272
|
<step name="dispatch-task">
|
|
271
|
-
For the next dependency-ready task, dispatch one bounded vv-implementer packet using the task's registered work item: VVOC_WORK_ITEM_ID header, the task's contract-level snippet, acceptance criteria, declared write scope, and
|
|
273
|
+
For the next dependency-ready task, dispatch one bounded vv-implementer packet using the task's registered work item: VVOC_WORK_ITEM_ID header, the task's contract-level snippet, acceptance criteria, declared write scope, verification commands, and the material dependencies and diagnostic scenario the controller knows. One active implementation worker is the default. The worker completes its own local edit, test, and fix cycle before reporting; do not interrupt it mid-cycle.
|
|
272
274
|
</step>
|
|
273
275
|
|
|
274
276
|
<step name="decide-acceptance">
|
|
275
277
|
A DONE worker result parks the item in awaiting_acceptance. It is not accepted and cannot close by itself. Inspect the material changed code and evidence yourself, then call work_item_decide:
|
|
276
|
-
- accept with rationale and evidence references when the result matches the task contract.
|
|
278
|
+
- accept with rationale and evidence references when the result matches the task contract and the evidence actually exercises the task's material claims.
|
|
277
279
|
- request_changes with bounded rationale when it does not; the worker returns for one correction attempt before explicit recovery is required.
|
|
278
|
-
DONE_WITH_CONCERNS requires an explicit concernsDisposition — never auto-accept it. Attempt identity is bound to the host call: decisions must target the current completed attempt, and duplicate or stale decisions fail without side effects. The two-attempt budget (initial plus one correction) never resets on retries or re-decisions; only a failed checkpoint's explicit rework authorization grants exactly one more attempt.
|
|
280
|
+
Acceptance requires evidence sufficiency: a DONE report plus green general checks that never reach the changed behavior is not acceptance. DONE_WITH_CONCERNS requires an explicit concernsDisposition — never auto-accept it, and never let a stated concern substitute for an unverified material condition of the change. Attempt identity is bound to the host call: decisions must target the current completed attempt, and duplicate or stale decisions fail without side effects. The two-attempt budget (initial plus one correction) never resets on retries or re-decisions; only a failed checkpoint's explicit rework authorization grants exactly one more attempt.
|
|
279
281
|
</step>
|
|
280
282
|
|
|
281
283
|
<step name="hard-stops">
|
|
@@ -323,6 +325,7 @@ Apply the smallest correct change that satisfies the task contract and acceptanc
|
|
|
323
325
|
Run the acceptance criteria for the task or wave. For each criterion:
|
|
324
326
|
- Can you point to a test, command, or deterministic check that proves it?
|
|
325
327
|
- Does the check pass?
|
|
328
|
+
- Does the check actually exercise the changed behavior at the level the risk arises, or is it a green general check that cannot reach the changed path?
|
|
326
329
|
- Did the inline implementation miss any edge cases?
|
|
327
330
|
|
|
328
331
|
If criteria fail with a clear local cause, fix and rerun verification.
|
|
@@ -66,6 +66,8 @@ You are the vv-plan skill. Your job is to take an approved spec and write an imp
|
|
|
66
66
|
<rule>Every task contains an <acceptance> section with one or more <criterion> elements.</rule>
|
|
67
67
|
<rule>Each criterion is ONE specific, testable condition. If you cannot write a test for it, it is not specific enough.</rule>
|
|
68
68
|
<rule>Criteria cover: success paths, failure paths, edge cases, boundary conditions, concurrency when relevant.</rule>
|
|
69
|
+
<rule>Derive acceptance criteria and verification commands from the spec contract and the directly affected consumers, not from a preferred implementation. Criteria cover the material properties that must be preserved and the interactions with the consumers the change touches.</rule>
|
|
70
|
+
<rule>Choose verification at the level where the risk arises: name the targeted command or scenario that exercises the changed behavior, and do not present a general check that cannot reach the changed path as evidence for a material criterion.</rule>
|
|
69
71
|
<rule>Use plain English assertions: "Returns X when Y", "Throws Z if W", "Handles N concurrent calls without data loss".</rule>
|
|
70
72
|
<rule>Each criterion is a separate child tag: <criterion>...</criterion>. Line breaks between them for readability. No numbered tags.</rule>
|
|
71
73
|
</acceptance_criteria_format>
|
|
@@ -157,7 +159,7 @@ export type CacheStoreOptions = {
|
|
|
157
159
|
<self_review>
|
|
158
160
|
<check>Spec coverage: For each requirement in the spec, identify the task that implements it. List any gaps as issues to fix.</check>
|
|
159
161
|
<check>Contract completeness: Does every task's contract show all public signatures and types? Are edge cases covered by acceptance criteria?</check>
|
|
160
|
-
<check>Acceptance criteria quality: Is every criterion testable? Could a reviewer or implementer write a failing test for it?</check>
|
|
162
|
+
<check>Acceptance criteria quality: Is every criterion testable? Could a reviewer or implementer write a failing test for it? Are the material properties that must be preserved and the directly affected consumers covered by criteria whose verification actually reaches them?</check>
|
|
161
163
|
<check>Type consistency: Do types, signatures, and property names match across tasks? A function called `clearLayers()` in Task 3 but `clearFullLayers()` in Task 7 is a bug.</check>
|
|
162
164
|
<rule>Fix issues inline as you find them. No second review pass needed — just fix and continue.</rule>
|
|
163
165
|
<check>Format compliance: Are there zero XML attributes? Is every snippet in CDATA? Is every task a <TASK-T-NNN> element with identity in the element name and no child id element?</check>
|
|
@@ -18,6 +18,7 @@ You are the vv-review skill. Your job is to route review requests to the appropr
|
|
|
18
18
|
<step>Put the VVOC_WORK_ITEM_ID header as the first line of each reviewer sub-agent prompt.</step>
|
|
19
19
|
<step>Collect findings from each required reviewer. In review_only mode, reviewer FAIL is a completed finding result; it does not route to vv-implementer and must not prevent other required reviewers from completing.</step>
|
|
20
20
|
<step>Findings are the FINAL output. Do NOT proceed to fixes without explicit user confirmation.</step>
|
|
21
|
+
<step>Present findings honestly: "no findings" means no defect was discovered within the reviewed scope, not a guarantee of correctness. Note material verification gaps and what the review could not establish; do not turn an empty findings list into a completion or correctness claim.</step>
|
|
21
22
|
<step>Close the work item with work_item_close after the review is complete.</step>
|
|
22
23
|
<step>When this review is a delegated-execution checkpoint review, the linked review work item is already open with the declared reviewer set: launch exactly those reviewers with the returned header and report the collected findings. A FAIL report closes the review work item but never satisfies the checkpoint — completion is decided by work_checkpoint verify, not by this skill. Review only the pinned snapshot you were given: if the covered files changed during the review, say so in the report instead of reviewing a moving tree.</step>
|
|
23
24
|
</workflow>
|
|
@@ -23,6 +23,7 @@ UX cues (roadmap, progress markers, depth estimates, checkpoints) are TRANSPAREN
|
|
|
23
23
|
<principle>Before asking the user, check whether the question can be answered by exploring the codebase. If the answer exists in existing code, patterns, configs, or docs, explore first and present what you found. Only ask the user when the codebase cannot answer.</principle>
|
|
24
24
|
<principle>Resolve dependencies in order. Start with the highest-impact decision (purpose, scope, data model) and work outward (API shape, error handling, testing). A decision about the data model must be settled before deciding the API surface.</principle>
|
|
25
25
|
<principle>Understand the full landscape: purpose, constraints, success criteria, non-goals, edge cases, existing code patterns.</principle>
|
|
26
|
+
<principle>While walking components and data flow, capture the material properties that must be preserved — existing behavior, contracts, and consumers the change must not break — so testing and error handling can demand their verification instead of covering only the new happy path.</principle>
|
|
26
27
|
<principle>When the decision tree reaches a fork (2-3 viable approaches), present all options with trade-offs. Lead with your recommendation and explain why. The user picks one — that closes the fork and the tree continues from that branch.</principle>
|
|
27
28
|
<principle>When presenting design sections, do it one section at a time. After each section: "Does this look right?" If yes, move to the next. If no, resolve concerns before continuing.</principle>
|
|
28
29
|
<principle>Cover every section of the spec template: goal, architecture, tech_stack, components, data_flow, error_handling, testing, non_goals. The roadmap shown at the start IS the coverage checklist. A section is "closed" only when its template element is fully decidable.</principle>
|
|
@@ -82,7 +83,7 @@ UX cues (roadmap, progress markers, depth estimates, checkpoints) are TRANSPAREN
|
|
|
82
83
|
<check>Placeholder scan: Any TBD, TODO, incomplete sections, or vague requirements? Fix them.</check>
|
|
83
84
|
<check>Internal consistency: Do any sections contradict each other? Does the architecture match the component descriptions?</check>
|
|
84
85
|
<check>Scope check: Is this focused enough for a single implementation plan, or does it need decomposition into sub-projects?</check>
|
|
85
|
-
<check>Ambiguity check: Could any requirement be interpreted two different ways?
|
|
86
|
+
<check>Ambiguity check: Could any requirement be interpreted two different ways? Resolve repository-answerable engineering ambiguity from the established code and contracts; a genuine business-semantics fork goes to the user as an explicit question — never silently pick a business interpretation.</check>
|
|
86
87
|
<rule>Fix issues inline. No need to re-review — just fix and move on.</rule>
|
|
87
88
|
</self_review>
|
|
88
89
|
|