@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 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, plus skill discovery; subagents stay unpolluted. |
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: [v0.6.1 - Added epistemic claim tags, re-encode-first, diagnosis-carrying retry, and delivery discipline to universal primary system contexts.]
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":"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"}
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 repair, 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.
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 inFlightAttempt after failed worker launch - Added live host-call launch bindings so a confirmed foreground vv-implementer task failure is recorded as a failed delegated attempt instead of stranding inFlightAttempt until restart, with sticky exclusions for background/resume/cancellation/after-hook paths and staged checked persistence before retry is exposed.]
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
- if (unwrapped.envelope && isTrackedResultRepairEligible(parsed.error.code)) {
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] repair attempted",
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":"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"}
@@ -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 tracked-result repair attempt in the same child session.
5
- // SCOPE: OpenCode task envelope parsing, protocol-error-aware repair prompt construction, repaired text extraction, and same-session repair calls for tracked workflow results.
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 one-shot repair prompt for the same child session.
16
- // isTrackedResultRepairEligible - Restricts one-shot repair to safe format-only protocol error classes.
17
- // attemptTrackedResultRepair - Resumes the same child session once and returns repaired tracked result text when possible.
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: [C-DELEGATED-WORKFLOW-ASTRA-PRESETS - Denied the two new delegated control tools during format-only repair sessions.]
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
- const FORMAT_ONLY_REPAIR_SYSTEM_PROMPT = "Format-only workflow repair. Do not call tools, do not perform implementation or review work, and do not cause side effects. Return only the corrected final response text.";
32
- const FORMAT_ONLY_REPAIR_DISABLED_TOOLS = {
33
- apply_patch: false,
34
- bash: false,
35
- edit: false,
36
- glob: false,
37
- grep: false,
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 and preserve the route that matches your prior result."
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: <allowed status>",
152
- ...(options.agent === "vv-implementer" ? ["VVOC_ROUTE: <existing route>"] : []),
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
- "Repair only the response format. Do not do additional implementation or review work.",
164
- "Keep the same underlying outcome, same work item, same VVOC_STATUS, and same VVOC_ROUTE when a route applies.",
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: FORMAT_ONLY_REPAIR_SYSTEM_PROMPT,
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":"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"}
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.1",
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",
@@ -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.1/schemas/vvoc/v3.json",
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 issues are found, say `No findings` explicitly and mention any residual risk or testing gap.
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
- If no issues are found, keep `VVOC_STATUS: PASS` and use `- none` under Critical, Important, and Minor.
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
- - Hyperfocus on the assigned scope. Finish only the work you were given. Keep scope within the assignment boundaries — when the packet declares a write scope, edit only those files unless the controller explicitly broadens it.
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 only when the packet is incomplete, inconsistent, or contradicted by fresh evidence.
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 ONLY the task's contract + criteria + files — not the full plan. This keeps context lean and focused.</principle>
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
  &lt;goal&gt;Implement &lt;component&gt; per spec and plan&lt;/goal&gt;
181
181
  &lt;contract&gt;...task's code snippet...&lt;/contract&gt;
182
182
  &lt;acceptance&gt;...task's criteria...&lt;/acceptance&gt;
183
+ &lt;dependencies&gt;...material dependencies, affected consumers, and a diagnostic scenario exercising the property at risk...&lt;/dependencies&gt;
183
184
  &lt;verification&gt;Run the tests, verify all criteria pass&lt;/verification&gt;
184
185
  &lt;/assignment&gt;
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 verification commands. 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.
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 &lt;acceptance&gt; section with one or more &lt;criterion&gt; 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: &lt;criterion&gt;...&lt;/criterion&gt;. 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 &lt;TASK-T-NNN&gt; 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? If so, pick one interpretation and make it explicit.</check>
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