codex-workflow-v2 2.0.0-beta.1 → 2.0.0-beta.4

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.
Files changed (139) hide show
  1. package/README.md +47 -3
  2. package/dist/src/alpha6/adoption.js +13 -3
  3. package/dist/src/alpha6/adoption.js.map +1 -1
  4. package/dist/src/alpha6/handoff.d.ts +21 -0
  5. package/dist/src/alpha6/handoff.js +100 -19
  6. package/dist/src/alpha6/handoff.js.map +1 -1
  7. package/dist/src/alpha6/milestone.d.ts +12 -0
  8. package/dist/src/alpha6/milestone.js +113 -1
  9. package/dist/src/alpha6/milestone.js.map +1 -1
  10. package/dist/src/alpha6/plan-risk.d.ts +1 -0
  11. package/dist/src/alpha6/plan-risk.js +6 -0
  12. package/dist/src/alpha6/plan-risk.js.map +1 -1
  13. package/dist/src/cli.js +383 -43
  14. package/dist/src/cli.js.map +1 -1
  15. package/dist/src/contracts.d.ts +111 -5
  16. package/dist/src/contracts.js +1 -1
  17. package/dist/src/credential-output.d.ts +10 -0
  18. package/dist/src/credential-output.js +73 -0
  19. package/dist/src/credential-output.js.map +1 -0
  20. package/dist/src/errors.d.ts +1 -1
  21. package/dist/src/errors.js.map +1 -1
  22. package/dist/src/index.d.ts +1 -1
  23. package/dist/src/index.js +1 -1
  24. package/dist/src/index.js.map +1 -1
  25. package/dist/src/lifecycle/canonical-hash.d.ts +6 -0
  26. package/dist/src/lifecycle/canonical-hash.js +24 -0
  27. package/dist/src/lifecycle/canonical-hash.js.map +1 -0
  28. package/dist/src/lifecycle/catalog.d.ts +26 -0
  29. package/dist/src/lifecycle/catalog.js +208 -0
  30. package/dist/src/lifecycle/catalog.js.map +1 -0
  31. package/dist/src/lifecycle/compiler-inspection.d.ts +48 -0
  32. package/dist/src/lifecycle/compiler-inspection.js +29 -0
  33. package/dist/src/lifecycle/compiler-inspection.js.map +1 -0
  34. package/dist/src/lifecycle/core-static-readiness.d.ts +6 -0
  35. package/dist/src/lifecycle/core-static-readiness.js +130 -0
  36. package/dist/src/lifecycle/core-static-readiness.js.map +1 -0
  37. package/dist/src/lifecycle/corrective-replan-authority.d.ts +53 -0
  38. package/dist/src/lifecycle/corrective-replan-authority.js +139 -0
  39. package/dist/src/lifecycle/corrective-replan-authority.js.map +1 -0
  40. package/dist/src/lifecycle/corrective-replan-binding-manifest.d.ts +21 -0
  41. package/dist/src/lifecycle/corrective-replan-binding-manifest.js +35 -0
  42. package/dist/src/lifecycle/corrective-replan-binding-manifest.js.map +1 -0
  43. package/dist/src/lifecycle/corrective-replan-credential-core.d.ts +86 -0
  44. package/dist/src/lifecycle/corrective-replan-credential-core.js +534 -0
  45. package/dist/src/lifecycle/corrective-replan-credential-core.js.map +1 -0
  46. package/dist/src/lifecycle/corrective-replan-credential-schema.d.ts +17 -0
  47. package/dist/src/lifecycle/corrective-replan-credential-schema.js +44 -0
  48. package/dist/src/lifecycle/corrective-replan-credential-schema.js.map +1 -0
  49. package/dist/src/lifecycle/corrective-replan-credentials.d.ts +47 -0
  50. package/dist/src/lifecycle/corrective-replan-credentials.js +103 -0
  51. package/dist/src/lifecycle/corrective-replan-credentials.js.map +1 -0
  52. package/dist/src/lifecycle/corrective-replan.d.ts +64 -0
  53. package/dist/src/lifecycle/corrective-replan.js +548 -0
  54. package/dist/src/lifecycle/corrective-replan.js.map +1 -0
  55. package/dist/src/lifecycle/evaluator.d.ts +2 -0
  56. package/dist/src/lifecycle/evaluator.js +35 -0
  57. package/dist/src/lifecycle/evaluator.js.map +1 -0
  58. package/dist/src/lifecycle/fingerprint.d.ts +31 -0
  59. package/dist/src/lifecycle/fingerprint.js +388 -0
  60. package/dist/src/lifecycle/fingerprint.js.map +1 -0
  61. package/dist/src/lifecycle/immutable.d.ts +1 -0
  62. package/dist/src/lifecycle/immutable.js +10 -0
  63. package/dist/src/lifecycle/immutable.js.map +1 -0
  64. package/dist/src/lifecycle/implementation-table.d.ts +29 -0
  65. package/dist/src/lifecycle/implementation-table.js +87 -0
  66. package/dist/src/lifecycle/implementation-table.js.map +1 -0
  67. package/dist/src/lifecycle/index.d.ts +4 -0
  68. package/dist/src/lifecycle/index.js +5 -0
  69. package/dist/src/lifecycle/index.js.map +1 -0
  70. package/dist/src/lifecycle/schema-artifact.d.ts +12 -0
  71. package/dist/src/lifecycle/schema-artifact.js +214 -0
  72. package/dist/src/lifecycle/schema-artifact.js.map +1 -0
  73. package/dist/src/lifecycle/semantic-registry.d.ts +6 -0
  74. package/dist/src/lifecycle/semantic-registry.js +489 -0
  75. package/dist/src/lifecycle/semantic-registry.js.map +1 -0
  76. package/dist/src/lifecycle/types.d.ts +718 -0
  77. package/dist/src/lifecycle/types.js +4 -0
  78. package/dist/src/lifecycle/types.js.map +1 -0
  79. package/dist/src/observation.d.ts +20 -0
  80. package/dist/src/observation.js +171 -0
  81. package/dist/src/observation.js.map +1 -0
  82. package/dist/src/reviewer.d.ts +4 -0
  83. package/dist/src/reviewer.js +24 -7
  84. package/dist/src/reviewer.js.map +1 -1
  85. package/dist/src/state/corrective-replan-executor.d.ts +64 -0
  86. package/dist/src/state/corrective-replan-executor.js +598 -0
  87. package/dist/src/state/corrective-replan-executor.js.map +1 -0
  88. package/dist/src/state/corrective-replan-public-schema.d.ts +3 -0
  89. package/dist/src/state/corrective-replan-public-schema.js +43 -0
  90. package/dist/src/state/corrective-replan-public-schema.js.map +1 -0
  91. package/dist/src/state/corrective-replan-public.d.ts +95 -0
  92. package/dist/src/state/corrective-replan-public.js +618 -0
  93. package/dist/src/state/corrective-replan-public.js.map +1 -0
  94. package/dist/src/state/corrective-replan-transaction.d.ts +158 -0
  95. package/dist/src/state/corrective-replan-transaction.js +723 -0
  96. package/dist/src/state/corrective-replan-transaction.js.map +1 -0
  97. package/dist/src/state/corrective-yield-executor.d.ts +31 -0
  98. package/dist/src/state/corrective-yield-executor.js +236 -0
  99. package/dist/src/state/corrective-yield-executor.js.map +1 -0
  100. package/dist/src/state/corrective-yield-transaction.d.ts +97 -0
  101. package/dist/src/state/corrective-yield-transaction.js +591 -0
  102. package/dist/src/state/corrective-yield-transaction.js.map +1 -0
  103. package/dist/src/state/lock.d.ts +75 -3
  104. package/dist/src/state/lock.js +582 -30
  105. package/dist/src/state/lock.js.map +1 -1
  106. package/dist/src/state/store.d.ts +3 -0
  107. package/dist/src/state/store.js +65 -12
  108. package/dist/src/state/store.js.map +1 -1
  109. package/dist/src/transition-core.d.ts +67 -0
  110. package/dist/src/transition-core.js +318 -0
  111. package/dist/src/transition-core.js.map +1 -0
  112. package/dist/src/version.d.ts +1 -1
  113. package/dist/src/version.js +1 -1
  114. package/dist/src/workflow.d.ts +51 -21
  115. package/dist/src/workflow.js +667 -144
  116. package/dist/src/workflow.js.map +1 -1
  117. package/docs/autonomy-guardrails.md +8 -1
  118. package/docs/beta2-initial-assembly-navigation-brief.md +616 -0
  119. package/docs/development-flow.md +17 -2
  120. package/docs/lifecycle/state-machine-stabilization.md +641 -0
  121. package/docs/release.md +11 -2
  122. package/docs/split-required-recovery.md +5 -4
  123. package/docs/stable-release-defect-register.md +330 -1
  124. package/docs/updating-existing-project.md +11 -0
  125. package/package.json +4 -1
  126. package/plugins/codex-workflow-gateway/references/protocol.md +56 -1
  127. package/plugins/codex-workflow-gateway/skills/codex-workflow-gateway/SKILL.md +44 -0
  128. package/references/state-machine.md +4 -1
  129. package/schemas/adoption-posture-event.schema.json +1 -1
  130. package/schemas/context-envelope.schema.json +1 -1
  131. package/schemas/corrective-replan-credentials.private.schema.json +98 -0
  132. package/schemas/corrective-replan-execution-event.private.schema.json +53 -0
  133. package/schemas/corrective-replan-public.schema.json +142 -0
  134. package/schemas/corrective-replan-task-transaction.private.schema.json +151 -0
  135. package/schemas/corrective-yield-task-transaction.private.schema.json +98 -0
  136. package/schemas/remediation-event.schema.json +11 -1
  137. package/schemas/task-handoff-event.schema.json +1 -1
  138. package/schemas/transition-definition.schema.json +2609 -0
  139. package/schemas/transition-payloads.schema.json +140 -0
package/README.md CHANGED
@@ -36,7 +36,7 @@ cross-machine synchronization are not part of its contract.
36
36
  Node.js 22 or newer is required. Consumers pin the exact package version:
37
37
 
38
38
  ```bash
39
- npm install --save-dev --save-exact codex-workflow-v2@2.0.0-beta.1
39
+ npm install --save-dev --save-exact codex-workflow-v2@2.0.0-beta.4
40
40
  npx codex-workflow gateway handshake --repo .
41
41
  npx codex-workflow doctor --repo .
42
42
  ```
@@ -91,6 +91,12 @@ codex-workflow task step-complete --repo . --id TASK-... --step STEP-001 \
91
91
  `task step-complete` runs configured checks, creates the workflow-owned atomic commit, and
92
92
  either records completion immediately or leaves the Step non-terminal for `task step-review`
93
93
  when the current Plan Risk Audit marks it for strict review.
94
+ When `next` includes `gitMutationPolicy`, obtain bounded permission to write Git metadata
95
+ before the first call of that exact transition. For `task start`, the policy applies only when
96
+ you invoke `--workspace-owner local`; for `task step-complete`, `task merge`, and
97
+ `task sync-base`, the advertised transition itself is Git-writing.
98
+ For `task step-review`, keep `--actor` equal to the exact C1 claimant or required actor from
99
+ `next`; the independent reviewer runs inside Core and is not passed as `--actor`.
94
100
 
95
101
  The Plan Risk Audit is mandatory for every new alpha.7 Task before execution authorization,
96
102
  including a positive `approved` decision for a Plan with no guarded Steps. The audit sidecar
@@ -101,12 +107,46 @@ the hostile `counterexample`, expected safe result, and an exact executable evid
101
107
  `split-required` and `stop-escalate` block authorization. Historical alpha.6 audit sidecars
102
108
  remain readable for strict-review recovery, but newly recorded audits must use proof obligations.
103
109
 
104
- `task review-launch` starts the strict read-only reviewer after submission. If a completed Step changes approved project
110
+ `task review-launch` starts the strict read-only reviewer after submission and atomically records
111
+ the returned review. If C1 handoff is active, keep `--actor` equal to the current claimant or
112
+ required actor from `next`; the reviewer identity remains internal to the compound route. If a completed Step changes approved project
105
113
  knowledge, reconcile and approve the map, then run `task knowledge-rebind --repo . --id
106
114
  TASK-... --expected-revision ...`. The rebind changes no Step definition, preserves runtime
107
115
  status and evidence, supersedes execution authorization, and requires `task authorize`
108
116
  before another Step or submission. Use `next` after transitions.
109
117
 
118
+ ### Protocol-v2 corrective replan
119
+
120
+ When strict review records an exact `replan-required` decision, legacy `task plan-set` is no
121
+ longer an executor for that posture. Follow the command returned by `next`:
122
+
123
+ ```bash
124
+ # Required first when the Task still has a C1 claimant/writer lease.
125
+ codex-workflow task corrective-yield --repo . --id TASK-... \
126
+ --expected-revision ... --actor agent:claimant --writer-token <TOKEN> --reason "..."
127
+
128
+ codex-workflow task corrective-replan-prepare --repo . --id TASK-... \
129
+ --file corrective-candidate.json
130
+ # Show the returned candidate-bound code to the Human principal. Then persist only the returned
131
+ # gate object and submit the same candidate again.
132
+ codex-workflow task corrective-replan-confirm --repo . --id TASK-... \
133
+ --file corrective-candidate.json --gate-file human-gate.json --confirmation-code <CODE>
134
+ codex-workflow task corrective-replan-execute --repo . --id TASK-... \
135
+ --file corrective-candidate.json --credential-file corrective-credential.json
136
+ ```
137
+
138
+ Prepare and failed confirmation are non-mutating. Execution uses a Task-exclusive journal,
139
+ apply-or-confirm roll-forward and two readbacks. A nonterminal journal makes `status`/`next`
140
+ return the exact `task corrective-replan-recover` or `task corrective-yield-recover` command;
141
+ read-only routes never recover implicitly. Protocol and lifecycle epoch are `2`, transition
142
+ definition/catalog format is `4`, and state schema remains `2`. Intact protocol-v1 adoption
143
+ evidence remains readable without rewriting it; new adoption events are always protocol v2.
144
+
145
+ An active writer lease without a C1 claim does not make corrective replan executable: `next`
146
+ returns a blocked diagnostic instead of advertising prepare. Let the lease expire, run the
147
+ explicit lock repair reported by `doctor`, then request `next` again. Corrective yield is reserved
148
+ for the exact claimed-C1 posture and is not a general lease-release command.
149
+
110
150
  When repository `next` returns top-level `action: task context-refresh` with an exact delegated
111
151
  option, the coordinator must use that atomic action instead of standalone reconcile:
112
152
 
@@ -126,7 +166,8 @@ Alpha.7 keeps canonical entity JSON unchanged and stores guardrail evidence in a
126
166
  sidecars:
127
167
 
128
168
  - project: `adoption-posture.jsonl`
129
- - task: `plan-risk-audits.jsonl`, `step-review-events.jsonl`,
169
+ - task: `plan-risk-audits.jsonl`, `plan-validations.jsonl`,
170
+ `corrective-replan-executions.jsonl`, `step-review-events.jsonl`,
130
171
  `reviewer-attestations.jsonl`, `remediation-events.jsonl`,
131
172
  `corrective-decisions.jsonl`, `corrective-decision-recoveries.jsonl`,
132
173
  `remediation-mode-recoveries.jsonl`, `handoffs.jsonl`
@@ -170,6 +211,9 @@ not extend this allow-list. A separate Milestone Autonomy Contract may authorize
170
211
  evolution and the `project_memory.approve` half of an atomic, content-only Task context refresh
171
212
  for the same Milestone. It cannot approve Project Memory as a standalone operation. Outcome,
172
213
  success signal, acceptance, checks, discovery, and base branch remain cryptographically fixed.
214
+ Pass `--delegation-grant` only when the same `next` response exposes an exact eligible
215
+ `delegatedApprovalOptions` entry for that transition. Ordinary C1 handoff, claim, run,
216
+ step-complete, step-review, merge, and sync-base do not inherit a Milestone approval grant.
173
217
  Adoption apply and semantic scope changes stay human-only. Revocation is immediate for future
174
218
  uses. The original human path remains available and unchanged.
175
219
 
@@ -3,6 +3,7 @@ import { WorkflowError } from '../errors.js';
3
3
  import { createUlid } from '../ulid.js';
4
4
  import { assertHash64, canonicalJsonStringify, computeSidecarEventHash, sha256Hex, } from './store-sidecars.js';
5
5
  const ADOPTION_POSTURE_SIDECAR = 'adoption-posture.jsonl';
6
+ const READABLE_ADOPTION_PROTOCOL_VERSIONS = new Set([1, PROTOCOL_VERSION]);
6
7
  const ACTIVE_TASK_BASELINE_STATUSES = new Set([
7
8
  'planning',
8
9
  'awaiting_execution_authorization',
@@ -323,7 +324,7 @@ function validateAdoptionPostureEvent(event, expectedProjectId, file, line) {
323
324
  });
324
325
  }
325
326
  requireNonEmptyString(event.packageVersion, 'Adoption posture packageVersion', { file, line, eventId: event.eventId });
326
- if (event.protocolVersion !== PROTOCOL_VERSION) {
327
+ if (!READABLE_ADOPTION_PROTOCOL_VERSIONS.has(event.protocolVersion)) {
327
328
  throw new WorkflowError('STATE_CORRUPT', 'Adoption posture protocolVersion is invalid.', {
328
329
  file,
329
330
  line,
@@ -447,6 +448,15 @@ function validateAdoptionPostureHistory(events, projectId, file) {
447
448
  eventId: event.eventId,
448
449
  });
449
450
  }
451
+ if (event.protocolVersion !== previous.protocolVersion) {
452
+ throw new WorkflowError('STATE_CORRUPT', `Adoption posture protocolVersion changed across history: ${file}`, {
453
+ line: index + 1,
454
+ eventId: event.eventId,
455
+ previousEventId: previous.eventId,
456
+ expectedProtocolVersion: previous.protocolVersion,
457
+ actualProtocolVersion: event.protocolVersion,
458
+ });
459
+ }
450
460
  if (previous.eventType === 'adoption-apply') {
451
461
  throw new WorkflowError('STATE_CORRUPT', `Adoption posture cannot append events after adoption-apply: ${file}`, {
452
462
  line: index + 1,
@@ -565,7 +575,7 @@ function normalizePreparationInput(input) {
565
575
  requireNonEmptyString(input.projectId, 'Adoption projectId', { projectId: input.projectId });
566
576
  requireNonEmptyString(input.packageVersion, 'Adoption packageVersion', { packageVersion: input.packageVersion });
567
577
  if (input.protocolVersion !== PROTOCOL_VERSION) {
568
- throw new WorkflowError('TRANSITION_BLOCKED', 'Alpha.6 adoption helper requires protocol version 1.', {
578
+ throw new WorkflowError('TRANSITION_BLOCKED', `Alpha.6 adoption helper requires protocol version ${PROTOCOL_VERSION}.`, {
569
579
  protocolVersion: input.protocolVersion,
570
580
  expectedProtocolVersion: PROTOCOL_VERSION,
571
581
  });
@@ -590,7 +600,7 @@ function normalizeProjectRegistrationInput(input) {
590
600
  requireInvalidArgumentNonEmptyString(input.projectId, 'Adoption projectId', { projectId: input.projectId });
591
601
  requireInvalidArgumentNonEmptyString(input.packageVersion, 'Adoption packageVersion', { packageVersion: input.packageVersion });
592
602
  if (input.protocolVersion !== PROTOCOL_VERSION) {
593
- throw new WorkflowError('TRANSITION_BLOCKED', 'Alpha.6 adoption helper requires protocol version 1.', {
603
+ throw new WorkflowError('TRANSITION_BLOCKED', `Alpha.6 adoption helper requires protocol version ${PROTOCOL_VERSION}.`, {
594
604
  protocolVersion: input.protocolVersion,
595
605
  expectedProtocolVersion: PROTOCOL_VERSION,
596
606
  });
@@ -1 +1 @@
1
- {"version":3,"file":"adoption.js","sourceRoot":"","sources":["../../../src/alpha6/adoption.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adoption.js","sourceRoot":"","sources":["../../../src/alpha6/adoption.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG7C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EACL,YAAY,EACZ,sBAAsB,EACtB,uBAAuB,EACvB,SAAS,GACV,MAAM,qBAAqB,CAAC;AAE7B,MAAM,wBAAwB,GAAG,wBAAwB,CAAC;AAC1D,MAAM,mCAAmC,GAAG,IAAI,GAAG,CAAS,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC;AACnF,MAAM,6BAA6B,GAAG,IAAI,GAAG,CAAa;IACxD,UAAU;IACV,kCAAkC;IAClC,OAAO;IACP,aAAa;IACb,YAAY;IACZ,WAAW;IACX,2BAA2B;IAC3B,gBAAgB;IAChB,SAAS;IACT,SAAS;CACV,CAAC,CAAC;AACH,MAAM,WAAW,GAAG,IAAI,GAAG,CAAoC,CAAC,sBAAsB,EAAE,gBAAgB,CAAC,CAAC,CAAC;AAoD3G,MAAM,UAAU,0BAA0B,CACxC,KAAqB,EACrB,SAAiB;IAEjB,MAAM,WAAW,GAAG,KAAK,CAAC,kBAAkB,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;IAClF,MAAM,MAAM,GAAG,KAAK,CAAC,iBAAiB,CACpC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,EAC5B,wBAAwB,EACxB;QACE,aAAa,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,4BAA4B,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;KAC9G,CACF,CAAC;IACF,8BAA8B,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAC/D,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,KAA+B,EAAE,cAA4C;IAClG,MAAM,QAAQ,GAAG,wBAAwB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IACjE,OAAO;QACL,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,cAAc,EAAE,QAAQ,CAAC,cAAc;QACvC,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;QAC/C,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB;KAClD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,KAA+B,EAC/B,cAA4C;IAE5C,MAAM,UAAU,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,cAAc,IAAI,IAAI,CAAC;IACvC,MAAM,mBAAmB,GAAG,0BAA0B,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IACpF,MAAM,kBAAkB,GAAG,UAAU,CAAC,UAAU;SAC7C,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,KAAK,UAAU,IAAI,SAAS,CAAC,MAAM,KAAK,WAAW,CAAC;SAC1F,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACnB,WAAW,EAAE,SAAS,CAAC,EAAE;QACzB,QAAQ,EAAE,SAAS,CAAC,QAAQ;QAC5B,MAAM,EAAE,SAAS,CAAC,MAAkC;KACrD,CAAC,CAAC;SACF,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC;IACpC,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK;SACnC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC;SACzE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACd,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,MAAM,EAAE,IAAI,CAAC,MAAgC;KAC9C,CAAC,CAAC;SACF,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/B,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK;SACjC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,6BAA6B,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAChE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;SAC5C,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/B,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK;SAClC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAClF,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/B,MAAM,iBAAiB,GAAG,UAAU,CAAC,UAAU;SAC5C,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;SAC3G,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC;IACpC,MAAM,kBAAkB,GAAG,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IACxD,MAAM,kBAAkB,GAAG,SAAS,CAAC,sBAAsB,CAAC;QAC1D,OAAO,EAAE,6BAA6B;QACtC,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,kBAAkB,EAAE,UAAU,CAAC,kBAAkB;QACjD,cAAc,EAAE,UAAU,CAAC,cAAc;QACzC,eAAe,EAAE,UAAU,CAAC,eAAe;QAC3C,kBAAkB,EAAE,UAAU,CAAC,kBAAkB;QACjD,mBAAmB;QACnB,kBAAkB;QAClB,aAAa;QACb,WAAW;QACX,YAAY;QACZ,iBAAiB;KAClB,CAAC,CAAC,CAAC;IACJ,IAAI,OAAO,EAAE,CAAC;QACZ,+BAA+B,CAAC,OAAO,EAAE,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;QAClF,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YACtC,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,cAAc,EAAE,OAAO;YACvB,kBAAkB;YAClB,mBAAmB;YACnB,2BAA2B,EAAE,IAAI;YACjC,gBAAgB,EAAE,IAAI;YACtB,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IACD,MAAM,cAAc,GAAG,0BAA0B,CAAC;QAChD,SAAS,EAAE,gBAAgB;QAC3B,KAAK,EAAE,IAAI;QACX,cAAc,EAAE,UAAU,CAAC,cAAc;QACzC,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,eAAe,EAAE,UAAU,CAAC,eAAe;QAC3C,kBAAkB,EAAE,UAAU,CAAC,kBAAkB;QACjD,kBAAkB;QAClB,kBAAkB;QAClB,mBAAmB;QACnB,kBAAkB,EAAE,UAAU,CAAC,kBAAkB;QACjD,kBAAkB;QAClB,aAAa;QACb,WAAW;QACX,iBAAiB,EAAE,IAAI;QACvB,GAAG,EAAE,UAAU,CAAC,GAAG;QACnB,2BAA2B,EAAE,IAAI;KAClC,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,sCAAsC,CAAC,cAAc,CAAC,CAAC;IAC3E,cAAc,CAAC,2BAA2B,GAAG,WAAW,CAAC;IACzD,cAAc,CAAC,SAAS,GAAG,uBAAuB,CAAC,cAAc,CAAC,CAAC;IACnE,OAAO;QACL,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QAC9D,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;QACtC,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,cAAc,EAAE,IAAI;QACpB,kBAAkB;QAClB,mBAAmB;QACnB,2BAA2B,EAAE,WAAW;QACxC,gBAAgB,EAAE,wBAAwB,CAAC,WAAW,CAAC;QACvD,cAAc;KACf,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qCAAqC,CACnD,KAAqB,EACrB,KAAuC;IAEvC,MAAM,UAAU,GAAG,iCAAiC,CAAC,KAAK,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,0BAA0B,CAAC,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IACxE,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC;IAC5B,MAAM,KAAK,GAAG,qCAAqC,CAAC;QAClD,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,kBAAkB,EAAE,UAAU,CAAC,kBAAkB;QACjD,cAAc,EAAE,UAAU,CAAC,cAAc;QACzC,eAAe,EAAE,UAAU,CAAC,eAAe;QAC3C,kBAAkB,EAAE,UAAU,CAAC,kBAAkB;QACjD,KAAK,EAAE,EAAE;QACT,UAAU,EAAE,EAAE;QACd,gBAAgB,EAAE,EAAE;QACpB,QAAQ,EAAE,EAAE;QACZ,GAAG,EAAE,UAAU,CAAC,GAAG;KACpB,CAAC,CAAC;IACH,OAAO,KAAK,CAAC,kBAAkB,CAC7B,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,EACvC,wBAAwB,EACxB,KAAK,EACL;QACE,aAAa,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,CAAC,4BAA4B,CAAC,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;KACjI,CACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,KAAqB,EACrB,KAA+B,EAC/B,KAAa,EACb,gBAAwB;IAExB,MAAM,eAAe,GAAG,mBAAmB,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;IAC3E,MAAM,cAAc,GAAG,0BAA0B,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC1E,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,IAAI,aAAa,CAAC,oBAAoB,EAAE,WAAW,KAAK,CAAC,SAAS,mCAAmC,EAAE;YAC3G,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,SAAS,EAAE,cAAc,CAAC,SAAS;YACnC,OAAO,EAAE,cAAc,CAAC,OAAO;SAChC,CAAC,CAAC;IACL,CAAC;IACD,MAAM,QAAQ,GAAG,wBAAwB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IACjE,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,cAAc,IAAI,CAAC,QAAQ,CAAC,2BAA2B,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;QACrI,MAAM,IAAI,aAAa,CAAC,oBAAoB,EAAE,WAAW,KAAK,CAAC,SAAS,8CAA8C,EAAE;YACtH,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,MAAM,EAAE,QAAQ,CAAC,MAAM;SACxB,CAAC,CAAC;IACL,CAAC;IACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,aAAa,CAAC,oBAAoB,EAAE,kDAAkD,EAAE;YAChG,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;SAC5B,CAAC,CAAC;IACL,CAAC;IACD,IAAI,gBAAgB,CAAC,IAAI,EAAE,KAAK,QAAQ,CAAC,gBAAgB,EAAE,CAAC;QAC1D,MAAM,IAAI,aAAa,CAAC,oBAAoB,EAAE,oEAAoE,EAAE;YAClH,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,wBAAwB,EAAE,QAAQ,CAAC,gBAAgB;YACnD,sBAAsB,EAAE,gBAAgB,CAAC,IAAI,EAAE;YAC/C,2BAA2B,EAAE,QAAQ,CAAC,2BAA2B;SAClE,CAAC,CAAC;IACL,CAAC;IACD,MAAM,KAAK,GAAG;QACZ,GAAG,QAAQ,CAAC,cAAc;QAC1B,kBAAkB,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE;QAC3C,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE;QACnC,KAAK,EAAE,eAAe;QACtB,2BAA2B,EAAE,QAAQ,CAAC,2BAA2B;KAClE,CAAC;IACF,KAAK,CAAC,SAAS,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACvD,OAAO,KAAK,CAAC,kBAAkB,CAC7B,WAAW,EACX,wBAAwB,EACxB,KAAK,EACL;QACE,aAAa,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,CAAC,4BAA4B,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;KAC5H,CACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qCAAqC,CACnD,KAA+B;IAE/B,MAAM,UAAU,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,cAAc,GAAG,IAAI,CAAC;IAC5B,MAAM,QAAQ,GAAG,wBAAwB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IACtE,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,IAAI,aAAa,CAAC,oBAAoB,EAAE,WAAW,UAAU,CAAC,SAAS,2CAA2C,EAAE;YACxH,SAAS,EAAE,UAAU,CAAC,SAAS;SAChC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,0BAA0B,CAAC;QAChC,SAAS,EAAE,sBAAsB;QACjC,KAAK,EAAE,IAAI;QACX,cAAc,EAAE,UAAU,CAAC,cAAc;QACzC,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,eAAe,EAAE,UAAU,CAAC,eAAe;QAC3C,kBAAkB,EAAE,UAAU,CAAC,kBAAkB;QACjD,kBAAkB,EAAE,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE;QAChD,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;QAC/C,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB;QACjD,kBAAkB,EAAE,UAAU,CAAC,kBAAkB;QACjD,kBAAkB,EAAE,EAAE;QACtB,aAAa,EAAE,EAAE;QACjB,WAAW,EAAE,EAAE;QACf,iBAAiB,EAAE,IAAI;QACvB,GAAG,EAAE,UAAU,CAAC,GAAG;QACnB,2BAA2B,EAAE,IAAI;KAClC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC7C,OAA6B,EAC7B,KAAkB,EAClB,UAA4B;IAE5B,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAChE,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACzF,KAAK,MAAM,iBAAiB,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAC3D,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAClE,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,iBAAiB,CAAC,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,iBAAiB,CAAC,MAAM,EAAE,CAAC;YAC/G,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,iFAAiF,EAAE;gBAC1H,WAAW,EAAE,iBAAiB,CAAC,WAAW;gBAC1C,gBAAgB,EAAE,iBAAiB,CAAC,QAAQ;gBAC5C,cAAc,EAAE,OAAO,EAAE,QAAQ,IAAI,IAAI;gBACzC,cAAc,EAAE,iBAAiB,CAAC,MAAM;gBACxC,YAAY,EAAE,OAAO,EAAE,MAAM,IAAI,IAAI;aACtC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,KAAK,MAAM,YAAY,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QACjD,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,YAAY,CAAC,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,EAAE,CAAC;YACrG,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,4EAA4E,EAAE;gBACrH,MAAM,EAAE,YAAY,CAAC,MAAM;gBAC3B,gBAAgB,EAAE,YAAY,CAAC,QAAQ;gBACvC,cAAc,EAAE,OAAO,EAAE,QAAQ,IAAI,IAAI;gBACzC,cAAc,EAAE,YAAY,CAAC,MAAM;gBACnC,YAAY,EAAE,OAAO,EAAE,MAAM,IAAI,IAAI;aACtC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,0EAA0E,EAAE;gBACnH,MAAM,EAAE,QAAQ,CAAC,MAAM;aACxB,CAAC,CAAC;QACL,CAAC;QACD,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;YAChD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC;YAClF,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,4EAA4E,EAAE;oBACrH,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,MAAM,EAAE,SAAS,CAAC,MAAM;iBACzB,CAAC,CAAC;YACL,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;gBACrC,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,qFAAqF,EAAE;oBAC9H,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,MAAM,EAAE,SAAS,CAAC,MAAM;oBACxB,cAAc,EAAE,SAAS,CAAC,MAAM;oBAChC,YAAY,EAAE,IAAI,CAAC,MAAM;iBAC1B,CAAC,CAAC;YACL,CAAC;YACD,MAAM,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACnG,IAAI,kBAAkB,KAAK,SAAS,CAAC,YAAY,EAAE,CAAC;gBAClD,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,mFAAmF,EAAE;oBAC5H,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,MAAM,EAAE,SAAS,CAAC,MAAM;oBACxB,oBAAoB,EAAE,SAAS,CAAC,YAAY;oBAC5C,kBAAkB;iBACnB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,4BAA4B,CACnC,KAA2B,EAC3B,iBAAyB,EACzB,IAAY,EACZ,IAAY;IAEZ,iBAAiB,CAAC,KAAK,EAAE,wBAAwB,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/D,eAAe,CAAC,KAA2C,EAAE;QAC3D,SAAS;QACT,WAAW;QACX,WAAW;QACX,OAAO;QACP,gBAAgB;QAChB,iBAAiB;QACjB,oBAAoB;QACpB,oBAAoB;QACpB,oBAAoB;QACpB,qBAAqB;QACrB,6BAA6B;QAC7B,oBAAoB;QACpB,oBAAoB;QACpB,eAAe;QACf,aAAa;QACb,mBAAmB;QACnB,YAAY;QACZ,WAAW;KACZ,EAAE,oDAAoD,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACrE,qBAAqB,CAAC,KAAK,CAAC,OAAO,EAAE,0BAA0B,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACjF,IAAI,KAAK,CAAC,SAAS,KAAK,iBAAiB,EAAE,CAAC;QAC1C,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,yEAAyE,EAAE;YAClH,IAAI;YACJ,IAAI;YACJ,iBAAiB;YACjB,eAAe,EAAE,KAAK,CAAC,SAAS;YAChC,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,wCAAwC,EAAE;YACjF,IAAI;YACJ,IAAI;YACJ,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B,CAAC,CAAC;IACL,CAAC;IACD,qBAAqB,CAAC,KAAK,CAAC,cAAc,EAAE,iCAAiC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACvH,IAAI,CAAC,mCAAmC,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;QACpE,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,8CAA8C,EAAE;YACvF,IAAI;YACJ,IAAI;YACJ,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,eAAe,EAAE,KAAK,CAAC,eAAe;SACvC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,KAAK,CAAC,kBAAkB,KAAK,oBAAoB,EAAE,CAAC;QACtD,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,iDAAiD,EAAE;YAC1F,IAAI;YACJ,IAAI;YACJ,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;SAC7C,CAAC,CAAC;IACL,CAAC;IACD,mBAAmB,CAAC,KAAK,CAAC,kBAAkB,EAAE,qCAAqC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7H,mBAAmB,CAAC,KAAK,CAAC,UAAU,EAAE,6BAA6B,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7G,IAAI,OAAO,KAAK,CAAC,kBAAkB,KAAK,QAAQ,EAAE,CAAC;QACjD,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,qDAAqD,EAAE;YAC9F,IAAI;YACJ,IAAI;YACJ,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC;IACL,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,mBAAmB,KAAK,QAAQ,EAAE,CAAC;QAClD,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,sDAAsD,EAAE;YAC/F,IAAI;YACJ,IAAI;YACJ,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC;IACL,CAAC;IACD,YAAY,CAAC,KAAK,CAAC,kBAAkB,EAAE,qCAAqC,CAAC,CAAC;IAC9E,YAAY,CAAC,KAAK,CAAC,mBAAmB,EAAE,sCAAsC,CAAC,CAAC;IAChF,IAAI,KAAK,CAAC,2BAA2B,KAAK,IAAI,EAAE,CAAC;QAC/C,IAAI,OAAO,KAAK,CAAC,2BAA2B,KAAK,QAAQ,EAAE,CAAC;YAC1D,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,sEAAsE,EAAE;gBAC/G,IAAI;gBACJ,IAAI;gBACJ,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC,CAAC;QACL,CAAC;QACD,YAAY,CAAC,KAAK,CAAC,2BAA2B,EAAE,8CAA8C,CAAC,CAAC;IAClG,CAAC;IACD,IAAI,KAAK,CAAC,iBAAiB,KAAK,IAAI,EAAE,CAAC;QACrC,IAAI,OAAO,KAAK,CAAC,iBAAiB,KAAK,QAAQ,EAAE,CAAC;YAChD,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,4DAA4D,EAAE;gBACrG,IAAI;gBACJ,IAAI;gBACJ,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC,CAAC;QACL,CAAC;QACD,YAAY,CAAC,KAAK,CAAC,iBAAiB,EAAE,oCAAoC,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,4CAA4C,EAAE;YACrF,IAAI;YACJ,IAAI;YACJ,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC;IACL,CAAC;IACD,YAAY,CAAC,KAAK,CAAC,SAAS,EAAE,4BAA4B,CAAC,CAAC;IAC5D,0BAA0B,CAAC,KAAK,CAAC,kBAAkB,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAChF,0BAA0B,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9C,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACzC,mBAAmB,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACvC,IAAI,KAAK,CAAC,SAAS,KAAK,sBAAsB,EAAE,CAAC;QAC/C,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,2BAA2B,KAAK,IAAI,EAAE,CAAC;YACvE,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,sFAAsF,EAAE;gBAC/H,IAAI;gBACJ,IAAI;gBACJ,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;SAAM,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QAChC,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,qDAAqD,EAAE;YAC9F,IAAI;YACJ,IAAI;YACJ,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,wBAAwB,CAAC,KAAK,CAAC,KAAK,EAAE,sBAAsB,EAAE;YAC5D,IAAI;YACJ,IAAI;YACJ,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC;QACH,IAAI,KAAK,CAAC,2BAA2B,KAAK,IAAI,EAAE,CAAC;YAC/C,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,iEAAiE,EAAE;gBAC1G,IAAI;gBACJ,IAAI;gBACJ,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,8BAA8B,CACrC,MAAuC,EACvC,SAAiB,EACjB,IAAY;IAEZ,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QAC9C,MAAM,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACvD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,KAAK,CAAC,iBAAiB,KAAK,IAAI,EAAE,CAAC;gBACrC,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,iEAAiE,IAAI,EAAE,EAAE;oBAChH,IAAI,EAAE,KAAK,GAAG,CAAC;oBACf,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,KAAK,CAAC,iBAAiB,KAAK,QAAQ,CAAC,SAAS,EAAE,CAAC;gBACnD,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,qCAAqC,IAAI,EAAE,EAAE;oBACpF,IAAI,EAAE,KAAK,GAAG,CAAC;oBACf,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,eAAe,EAAE,QAAQ,CAAC,OAAO;iBAClC,CAAC,CAAC;YACL,CAAC;YACD,IAAI,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,SAAS,EAAE,CAAC;gBAC3C,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,oDAAoD,IAAI,EAAE,EAAE;oBACnG,IAAI,EAAE,KAAK,GAAG,CAAC;oBACf,SAAS;oBACT,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB,CAAC,CAAC;YACL,CAAC;YACD,IAAI,KAAK,CAAC,eAAe,KAAK,QAAQ,CAAC,eAAe,EAAE,CAAC;gBACvD,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,4DAA4D,IAAI,EAAE,EAAE;oBAC3G,IAAI,EAAE,KAAK,GAAG,CAAC;oBACf,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,eAAe,EAAE,QAAQ,CAAC,OAAO;oBACjC,uBAAuB,EAAE,QAAQ,CAAC,eAAe;oBACjD,qBAAqB,EAAE,KAAK,CAAC,eAAe;iBAC7C,CAAC,CAAC;YACL,CAAC;YACD,IAAI,QAAQ,CAAC,SAAS,KAAK,gBAAgB,EAAE,CAAC;gBAC5C,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,+DAA+D,IAAI,EAAE,EAAE;oBAC9G,IAAI,EAAE,KAAK,GAAG,CAAC;oBACf,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,eAAe,EAAE,QAAQ,CAAC,OAAO;iBAClC,CAAC,CAAC;YACL,CAAC;YACD,IAAI,KAAK,CAAC,SAAS,KAAK,sBAAsB,EAAE,CAAC;gBAC/C,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,sEAAsE,IAAI,EAAE,EAAE;oBACrH,IAAI,EAAE,KAAK,GAAG,CAAC;oBACf,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,IAAI,KAAK,CAAC,SAAS,KAAK,gBAAgB;YAAE,SAAS,GAAG,IAAI,CAAC;QAC3D,IAAI,SAAS,IAAI,KAAK,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,gEAAgE,IAAI,EAAE,EAAE;gBAC/G,IAAI,EAAE,KAAK,GAAG,CAAC;gBACf,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC,CAAC;QACL,CAAC;QACD,IAAI,KAAK,CAAC,SAAS,KAAK,gBAAgB,EAAE,CAAC;YACzC,MAAM,eAAe,GAAG,sCAAsC,CAAC,KAAK,CAAC,CAAC;YACtE,IAAI,KAAK,CAAC,2BAA2B,KAAK,eAAe,EAAE,CAAC;gBAC1D,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,+DAA+D,EAAE;oBACxG,IAAI,EAAE,KAAK,GAAG,CAAC;oBACf,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,mBAAmB,EAAE,eAAe;oBACpC,iBAAiB,EAAE,KAAK,CAAC,2BAA2B;iBACrD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B,CAAC,OAiBnC;IACC,MAAM,KAAK,GAAyB;QAClC,OAAO,EAAE,OAAO,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,EAAE;QACnD,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,eAAe,EAAE,OAAO,CAAC,eAA0C;QACnE,kBAAkB,EAAE,OAAO,CAAC,kBAAiD;QAC7E,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;QAC9C,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;QAC9C,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;QAChD,2BAA2B,EAAE,OAAO,CAAC,2BAA2B;QAChE,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;QAC9C,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;QAC9C,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE;QACrC,SAAS,EAAE,EAAE;KACd,CAAC;IACF,KAAK,CAAC,SAAS,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IACjD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,sCAAsC,CAAC,KAA2B;IACzE,OAAO,SAAS,CAAC,sBAAsB,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAClF,CAAC;AAED,SAAS,wBAAwB,CAAC,WAAmB;IACnD,OAAO,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;AACzD,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAe;IAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClD,mBAAmB,CAAC,OAAO,EAAE,qDAAqD,EAAE;QAClF,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,OAAO;KACR,CAAC,CAAC;IACH,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK;SAC9B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC;SAC1E,GAAG,CAA2B,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACxC,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,MAAM,EAAE,IAAI,CAAC,MAAiC;QAC9C,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;KACtF,CAAC,CAAC;SACF,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/B,MAAM,gBAAgB,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnE,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK;SAChC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC;SAC1E,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;SACtB,IAAI,EAAE,CAAC;IACV,mBAAmB,CAAC,gBAAgB,EAAE,6CAA6C,EAAE;QACnF,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,gBAAgB;KACjB,CAAC,CAAC;IACH,mBAAmB,CAAC,gBAAgB,EAAE,6CAA6C,EAAE;QACnF,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,gBAAgB;KACjB,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACvF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,sEAAsE,EAAE;YAC/G,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,kBAAkB,EAAE,OAAO;SAC5B,CAAC,CAAC;IACL,CAAC;IACD,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,YAAY,EAAE,IAAI,CAAC,QAAQ;QAC3B,MAAM,EAAE,IAAI,CAAC,MAAwC;QACrD,cAAc;QACd,gBAAgB;KACjB,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CAAC,OAAwC;IAC1E,MAAM,UAAU,GAAG,OAAO;SACvB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,KAAK,wBAAwB,CAAC;SACjE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC;SACrD,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACjC,OAAO,SAAS,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,yBAAyB,CAAC,KAA+B;IAKhE,qBAAqB,CAAC,KAAK,CAAC,SAAS,EAAE,oBAAoB,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;IAC7F,qBAAqB,CAAC,KAAK,CAAC,cAAc,EAAE,yBAAyB,EAAE,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;IACjH,IAAI,KAAK,CAAC,eAAe,KAAK,gBAAgB,EAAE,CAAC;QAC/C,MAAM,IAAI,aAAa,CAAC,oBAAoB,EAAE,qDAAqD,gBAAgB,GAAG,EAAE;YACtH,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,uBAAuB,EAAE,gBAAgB;SAC1C,CAAC,CAAC;IACL,CAAC;IACD,IAAI,KAAK,CAAC,kBAAkB,KAAK,oBAAoB,EAAE,CAAC;QACtD,MAAM,IAAI,aAAa,CAAC,oBAAoB,EAAE,oEAAoE,EAAE;YAClH,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;YAC5C,0BAA0B,EAAE,oBAAoB;SACjD,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,YAAY,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,aAAa,CAAC,kBAAkB,EAAE,oCAAoC,CAAC,CAAC;IACpF,CAAC;IACD,OAAO;QACL,GAAG,KAAK;QACR,kBAAkB,EAAE,2BAA2B,CAAC,KAAK,CAAC,kBAAkB,CAAC;QACzE,QAAQ,EAAE,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC3C,gBAAgB,EAAE,yBAAyB,CAAC,KAAK,CAAC,gBAAgB,CAAC;KACpE,CAAC;AACJ,CAAC;AAED,SAAS,iCAAiC,CACxC,KAAuC;IAEvC,oCAAoC,CAAC,KAAK,CAAC,SAAS,EAAE,oBAAoB,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;IAC5G,oCAAoC,CAAC,KAAK,CAAC,cAAc,EAAE,yBAAyB,EAAE,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;IAChI,IAAI,KAAK,CAAC,eAAe,KAAK,gBAAgB,EAAE,CAAC;QAC/C,MAAM,IAAI,aAAa,CAAC,oBAAoB,EAAE,qDAAqD,gBAAgB,GAAG,EAAE;YACtH,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,uBAAuB,EAAE,gBAAgB;SAC1C,CAAC,CAAC;IACL,CAAC;IACD,IAAI,KAAK,CAAC,kBAAkB,KAAK,oBAAoB,EAAE,CAAC;QACtD,MAAM,IAAI,aAAa,CAAC,oBAAoB,EAAE,oEAAoE,EAAE;YAClH,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;YAC5C,0BAA0B,EAAE,oBAAoB;SACjD,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,YAAY,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,aAAa,CAAC,kBAAkB,EAAE,oCAAoC,CAAC,CAAC;IACpF,CAAC;IACD,OAAO;QACL,GAAG,KAAK;QACR,kBAAkB,EAAE,2BAA2B,CAAC,KAAK,CAAC,kBAAkB,CAAC;KAC1E,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAAC,QAAyD;IAC5F,OAAO;QACL,cAAc,EAAE,qBAAqB,CAAC,QAAQ,CAAC,cAAc,EAAE,yBAAyB,EAAE,EAAE,cAAc,EAAE,QAAQ,CAAC,cAAc,EAAE,CAAC;QACtI,YAAY,EAAE,qBAAqB,CAAC,QAAQ,CAAC,YAAY,EAAE,uBAAuB,EAAE,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAC;KAC7H,CAAC;AACJ,CAAC;AAED,SAAS,8BAA8B,CAAC,KAAoC;IAC1E,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,aAAa,CAAC,kBAAkB,EAAE,qDAAqD,CAAC,CAAC;IACrG,CAAC;IACD,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,IAAI,KAAK,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;QACvF,MAAM,IAAI,aAAa,CAAC,kBAAkB,EAAE,8CAA8C,EAAE;YAC1F,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC,CAAC;IACL,CAAC;IACD,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,CAAC,OAAO,EAAE,oCAAoC,EAAE;QACzF,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,KAAK,EAAE,KAAK,CAAC,KAAK;KACnB,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,qBAAqB,CAAC,KAAK,CAAC,WAAW,EAAE,wCAAwC,EAAE;QACrG,OAAO;QACP,KAAK,EAAE,KAAK,CAAC,KAAK;KACnB,CAAC,CAAC;IACH,YAAY,CAAC,KAAK,CAAC,WAAW,EAAE,wCAAwC,CAAC,CAAC;IAC1E,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;AACtF,CAAC;AAED,SAAS,yBAAyB,CAAC,OAAwC;IACzE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,aAAa,CAAC,kBAAkB,EAAE,8CAA8C,CAAC,CAAC;IAC9F,CAAC;IACD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC,CAAC;IACjF,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,SAAS,KAAK,CAAC,OAAO,SAAS,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IACjH,IAAI,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,MAAM,EAAE,CAAC;QACvD,MAAM,IAAI,aAAa,CAAC,kBAAkB,EAAE,mEAAmE,EAAE;YAC/G,UAAU,EAAE,YAAY;SACzB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAkB;IAC3C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,aAAa,CAAC,kBAAkB,EAAE,qCAAqC,CAAC,CAAC;IACrF,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,qBAAqB,CAAC,OAAO,EAAE,kBAAkB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACzH,CAAC;AAED,SAAS,0BAA0B,CACjC,kBAA8C,EAC9C,IAAY,EACZ,IAAY,EACZ,OAAe;IAEf,iBAAiB,CAAC,kBAAkB,EAAE,qCAAqC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACzF,eAAe,CAAC,kBAAwD,EAAE,CAAC,gBAAgB,EAAE,cAAc,CAAC,EAAE,iEAAiE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7L,qBAAqB,CAAC,kBAAkB,CAAC,cAAc,EAAE,iCAAiC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACrH,qBAAqB,CAAC,kBAAkB,CAAC,YAAY,EAAE,+BAA+B,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;AACnH,CAAC;AAED,SAAS,0BAA0B,CAAC,KAA2B,EAAE,IAAY,EAAE,IAAY;IACzF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,uDAAuD,EAAE;YAChG,IAAI;YACJ,IAAI;YACJ,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC;IACL,CAAC;IACD,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAC9C,iBAAiB,CAAC,MAAM,EAAE,oCAAoC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5E,eAAe,CAAC,MAAiC,EAAE,CAAC,aAAa,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,gEAAgE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACxK,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,WAAW,EAAE,yCAAyC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAChJ,sBAAsB,CAAC,MAAM,CAAC,QAAQ,EAAE,sCAAsC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACxH,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAClE,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,gDAAgD,EAAE;gBACzF,IAAI;gBACJ,IAAI;gBACJ,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,mBAAmB,CAAC,YAAY,EAAE,iDAAiD,EAAE;QACnF,IAAI;QACJ,IAAI;QACJ,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,YAAY;KACb,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAAC,KAA2B,EAAE,IAAY,EAAE,IAAY;IACpF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,kDAAkD,EAAE;YAC3F,IAAI;YACJ,IAAI;YACJ,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC;IACL,CAAC;IACD,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;QACzC,iBAAiB,CAAC,MAAM,EAAE,+BAA+B,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACvE,eAAe,CAAC,MAAiC,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,2DAA2D,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9J,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,MAAM,EAAE,+BAA+B,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC5H,sBAAsB,CAAC,MAAM,CAAC,QAAQ,EAAE,iCAAiC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACnH,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAChE,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,2CAA2C,EAAE;gBACpF,IAAI;gBACJ,IAAI;gBACJ,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,mBAAmB,CAAC,OAAO,EAAE,4CAA4C,EAAE;QACzE,IAAI;QACJ,IAAI;QACJ,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,OAAO;KACR,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,KAA2B,EAAE,IAAY,EAAE,IAAY;IAClF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,gDAAgD,EAAE;YACzF,IAAI;YACJ,IAAI;YACJ,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC;IACL,CAAC;IACD,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACpF,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACzC,iBAAiB,CAAC,QAAQ,EAAE,+BAA+B,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACzE,eAAe,CAAC,QAA8C,EAAE,CAAC,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,EAAE,2DAA2D,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACrN,MAAM,MAAM,GAAG,qBAAqB,CAAC,QAAQ,CAAC,MAAM,EAAE,sCAAsC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACtI,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3B,IAAI,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,6EAA6E,EAAE;gBACtH,IAAI;gBACJ,IAAI;gBACJ,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,MAAM;aACP,CAAC,CAAC;QACL,CAAC;QACD,sBAAsB,CAAC,QAAQ,CAAC,YAAY,EAAE,4CAA4C,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5I,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,kDAAkD,EAAE;gBAC3F,IAAI;gBACJ,IAAI;gBACJ,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,MAAM;gBACN,MAAM,EAAE,QAAQ,CAAC,MAAM;aACxB,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,gEAAgE,EAAE;gBACzG,IAAI;gBACJ,IAAI;gBACJ,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,MAAM;aACP,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,kEAAkE,EAAE;gBAC3G,IAAI;gBACJ,IAAI;gBACJ,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,MAAM;aACP,CAAC,CAAC;QACL,CAAC;QACD,MAAM,gBAAgB,GAAa,EAAE,CAAC;QACtC,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;YAChD,iBAAiB,CAAC,SAAS,EAAE,kCAAkC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAC7E,eAAe,CAAC,SAA+C,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,cAAc,CAAC,EAAE,8DAA8D,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YACnL,MAAM,MAAM,GAAG,qBAAqB,CAAC,SAAS,CAAC,MAAM,EAAE,gCAAgC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACzI,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9B,IAAI,SAAS,CAAC,MAAM,KAAK,WAAW,IAAI,SAAS,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACvE,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,4CAA4C,EAAE;oBACrF,IAAI;oBACJ,IAAI;oBACJ,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,MAAM;oBACN,MAAM;oBACN,MAAM,EAAE,SAAS,CAAC,MAAM;iBACzB,CAAC,CAAC;YACL,CAAC;YACD,IAAI,SAAS,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;gBACpC,IAAI,OAAO,SAAS,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;oBAC/C,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,8DAA8D,EAAE;wBACvG,IAAI;wBACJ,IAAI;wBACJ,OAAO,EAAE,KAAK,CAAC,OAAO;wBACtB,MAAM;wBACN,MAAM;qBACP,CAAC,CAAC;gBACL,CAAC;gBACD,YAAY,CAAC,SAAS,CAAC,YAAY,EAAE,sCAAsC,CAAC,CAAC;YAC/E,CAAC;QACH,CAAC;QACD,mBAAmB,CAAC,gBAAgB,EAAE,6CAA6C,EAAE;YACnF,IAAI;YACJ,IAAI;YACJ,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM;YACN,gBAAgB;SACjB,CAAC,CAAC;QACH,MAAM,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAChE,qBAAqB,CAAC,MAAM,EAAE,4BAA4B,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAC/G,mBAAmB,CAAC,gBAAgB,EAAE,6CAA6C,EAAE;YACnF,IAAI;YACJ,IAAI;YACJ,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM;YACN,gBAAgB;SACjB,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACvF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,6EAA6E,EAAE;gBACtH,IAAI;gBACJ,IAAI;gBACJ,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,MAAM;gBACN,kBAAkB,EAAE,OAAO;aAC5B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,mBAAmB,CAAC,aAAa,EAAE,0CAA0C,EAAE;QAC7E,IAAI;QACJ,IAAI;QACJ,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,aAAa;KACd,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa,EAAE,KAAa;IACvD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAC/C,MAAM,IAAI,aAAa,CAAC,kBAAkB,EAAE,GAAG,KAAK,8BAA8B,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACxG,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,aAAa,CAAC,oBAAoB,EAAE,GAAG,KAAK,yBAAyB,EAAE;YAC/E,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAc,EAAE,KAAa,EAAE,OAAgC;IAC/F,MAAM,KAAK,GAAG,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC3D,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,GAAG,KAAK,yBAAyB,EAAE;YAC1E,GAAG,OAAO;YACV,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc,EAAE,KAAa,EAAE,OAAgC;IAC5F,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAC/C,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,GAAG,KAAK,8BAA8B,EAAE,OAAO,CAAC,CAAC;IAC5F,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;AACtB,CAAC;AAED,SAAS,oCAAoC,CAAC,KAAc,EAAE,KAAa,EAAE,OAAgC;IAC3G,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAC/C,MAAM,IAAI,aAAa,CAAC,kBAAkB,EAAE,GAAG,KAAK,8BAA8B,EAAE,OAAO,CAAC,CAAC;IAC/F,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;AACtB,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc,EAAE,KAAa,EAAE,OAAgC;IAC1F,MAAM,SAAS,GAAG,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC/D,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,GAAG,KAAK,4BAA4B,EAAE,OAAO,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc,EAAE,KAAa,EAAE,OAAgC;IAC7F,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAK,KAAgB,GAAG,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,GAAG,KAAK,8BAA8B,EAAE,OAAO,CAAC,CAAC;IAC5F,CAAC;IACD,OAAO,KAAe,CAAC;AACzB,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc,EAAE,KAAa,EAAE,IAAY,EAAE,IAAY;IAClF,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,GAAG,KAAK,qBAAqB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1F,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CACtB,MAA+B,EAC/B,WAAqB,EACrB,OAAe,EACf,IAAY,EACZ,IAAY;IAEZ,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACzE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IAC/E,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAgB,EAAE,OAAe,EAAE,OAAgC;IAC9F,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;QAC3C,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAmC,EAAE,KAAoC;IACxG,OAAO,GAAG,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,OAAO,SAAS,IAAI,CAAC,WAAW,SAAS,IAAI,CAAC,WAAW,EAAE;SAC1F,aAAa,CAAC,GAAG,KAAK,CAAC,KAAK,SAAS,KAAK,CAAC,OAAO,SAAS,KAAK,CAAC,WAAW,SAAS,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AAC/G,CAAC;AAED,SAAS,WAAW,CAAqB,GAAQ;IAC/C,OAAO,CAAgC,IAAO,EAAE,KAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AACnG,CAAC;AAED,SAAS,8BAA8B,CAAC,KAA2B;IACjE,OAAO;QACL,OAAO,EAAE,iCAAiC;QAC1C,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;QAC5C,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;QAC5C,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;QAC5C,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;QAC9C,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;QAC5C,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,WAAW,EAAE,KAAK,CAAC,WAAW;KAC/B,CAAC;AACJ,CAAC"}
@@ -28,6 +28,20 @@ export interface PrepareTaskHandoffInput {
28
28
  grantId: string | null;
29
29
  expiresAt: string;
30
30
  }
31
+ export interface PreparedTaskCorrectiveYield {
32
+ readonly event: TaskHandoffEvent;
33
+ readonly postimage: Buffer;
34
+ }
35
+ /**
36
+ * Materializes the exact append-only coordination effect without writing it. The caller must own
37
+ * the resulting bytes in a durable Task transaction before publishing them.
38
+ */
39
+ export declare function prepareTaskCorrectiveYield(store: FileStateStore, task: TaskState, input: {
40
+ actor: string;
41
+ writerToken: string;
42
+ reason: string;
43
+ eventId: string;
44
+ }, now: Date): PreparedTaskCorrectiveYield;
31
45
  export declare function defaultTaskWorkerActor(taskId: string): string;
32
46
  export declare function readTaskHandoffEvents(store: FileStateStore, task: TaskState): TaskHandoffEvent[];
33
47
  export declare function readTaskC1Posture(store: FileStateStore, task: TaskState): TaskC1Posture;
@@ -36,5 +50,12 @@ export declare function appendTaskHandoff(store: FileStateStore, task: TaskState
36
50
  bundle: TaskHandoffBundle;
37
51
  };
38
52
  export declare function appendTaskClaim(store: FileStateStore, task: TaskState, actor: string, claimToken: string, writerToken: string | null, now: Date): TaskHandoffEvent;
53
+ /**
54
+ * Validates every deterministic Task/handoff blocker without mutating the writer lease or sidecars.
55
+ * Callers may then acquire/renew a lease and use appendTaskClaim as a defensive race re-check.
56
+ */
57
+ export declare function assertTaskClaimAllowed(store: FileStateStore, task: TaskState, actor: string, claimToken: string, now: Date): Extract<TaskC1Posture, {
58
+ state: 'pending';
59
+ }>;
39
60
  export declare function appendTaskHandback(store: FileStateStore, task: TaskState, actor: string, reason: string, writerToken: string | null, limitations: readonly string[], recommendedNext: string, now: Date): TaskHandoffEvent;
40
61
  export declare function assertTaskMutationAllowedByC1(store: FileStateStore, task: TaskState, authority: TaskMutationAuthority): void;
@@ -4,7 +4,7 @@ import { existsSync, lstatSync, readFileSync, realpathSync } from 'node:fs';
4
4
  import path from 'node:path';
5
5
  import { WorkflowError } from '../errors.js';
6
6
  import { createUlid } from '../ulid.js';
7
- import { assertNoSymlinkPathComponents, computeSidecarEventHash, sha256Hex, } from './store-sidecars.js';
7
+ import { assertNoSymlinkPathComponents, computeSidecarEventHash, prepareSidecarAppend, sha256Hex, } from './store-sidecars.js';
8
8
  const HANDOFF_SIDECAR = 'handoffs.jsonl';
9
9
  const NON_TERMINAL_TASK_STATUSES = new Set([
10
10
  'planning',
@@ -18,8 +18,64 @@ const NON_TERMINAL_TASK_STATUSES = new Set([
18
18
  'ready_to_merge',
19
19
  'merging',
20
20
  ]);
21
- const HANDOFF_EVENT_TYPES = new Set(['handoff', 'claim', 'handback']);
21
+ const HANDOFF_EVENT_TYPES = new Set(['handoff', 'claim', 'yield', 'handback']);
22
22
  const COORDINATION_LEVEL = 'C1';
23
+ /**
24
+ * Materializes the exact append-only coordination effect without writing it. The caller must own
25
+ * the resulting bytes in a durable Task transaction before publishing them.
26
+ */
27
+ export function prepareTaskCorrectiveYield(store, task, input, now) {
28
+ assertTaskSupportsC1Handoff(task);
29
+ if (task.steps.some((step) => step.status === 'in_progress')) {
30
+ throw new WorkflowError('TRANSITION_BLOCKED', `Task ${task.id} cannot yield while a Step is in progress.`, {
31
+ taskId: task.id,
32
+ });
33
+ }
34
+ const actor = normalizeActor(input.actor, 'Yield actor');
35
+ const reason = normalizeReason(input.reason);
36
+ if (typeof input.writerToken !== 'string' || input.writerToken.length === 0) {
37
+ throw new WorkflowError('INVALID_ARGUMENT', 'Corrective yield requires the claimant writer token.');
38
+ }
39
+ if (typeof input.eventId !== 'string' || !/^HOF-[a-f0-9]{64}$/.test(input.eventId)) {
40
+ throw new WorkflowError('INVALID_ARGUMENT', 'Corrective yield eventId must bind the transaction SHA-256.');
41
+ }
42
+ const events = readTaskHandoffEvents(store, task);
43
+ const posture = readTaskC1Posture(store, task);
44
+ const writerLeaseTokenHash = sha256Hex(input.writerToken);
45
+ if (posture.state !== 'claimed' || posture.claimant !== actor
46
+ || posture.writerLeaseTokenHash !== writerLeaseTokenHash) {
47
+ throw new WorkflowError('TRANSITION_BLOCKED', `Task ${task.id} corrective yield requires the exact active claimant and lease.`, {
48
+ taskId: task.id,
49
+ posture: posture.state,
50
+ actor,
51
+ });
52
+ }
53
+ const prepared = prepareSidecarAppend(events, {
54
+ eventId: input.eventId,
55
+ recordedAt: now.toISOString(),
56
+ ...contextFromEvent(posture.latestEvent),
57
+ taskId: task.id,
58
+ taskRevision: task.revision,
59
+ eventType: 'yield',
60
+ coordinationLevel: COORDINATION_LEVEL,
61
+ actor,
62
+ targetActor: null,
63
+ machineEvidence: {
64
+ hostname: os.hostname(),
65
+ pid: process.pid,
66
+ platform: process.platform,
67
+ arch: process.arch,
68
+ nodeVersion: process.version,
69
+ },
70
+ writerLeaseTokenHash,
71
+ reason,
72
+ handback: null,
73
+ }, {
74
+ validateEvent: (event, context) => validateStoredTaskHandoffEvent(event, task, context.file, context.line),
75
+ });
76
+ validateTaskHandoffHistory([...events, prepared.event], task);
77
+ return { event: structuredClone(prepared.event), postimage: Buffer.from(prepared.content, 'utf8') };
78
+ }
23
79
  export function defaultTaskWorkerActor(taskId) {
24
80
  if (!/^TASK-[0-9A-HJKMNP-TV-Z]{26}$/.test(taskId)) {
25
81
  throw new WorkflowError('INVALID_ARGUMENT', `Cannot derive a C1 Worker actor from invalid Task ID ${taskId}.`);
@@ -144,14 +200,32 @@ export function appendTaskHandoff(store, task, input, now) {
144
200
  };
145
201
  }
146
202
  export function appendTaskClaim(store, task, actor, claimToken, writerToken, now) {
147
- assertTaskSupportsC1Handoff(task);
148
- const normalizedActor = normalizeActor(actor, 'Claim actor');
149
203
  if (writerToken === null) {
204
+ const normalizedActor = normalizeActor(actor, 'Claim actor');
150
205
  throw new WorkflowError('TRANSITION_BLOCKED', `Task ${task.id} claim requires a bound writer lease token.`, {
151
206
  taskId: task.id,
152
207
  actor: normalizedActor,
153
208
  });
154
209
  }
210
+ const posture = assertTaskClaimAllowed(store, task, actor, claimToken, now);
211
+ const normalizedActor = normalizeActor(actor, 'Claim actor');
212
+ return appendTaskHandoffEvent(store, task, {
213
+ eventType: 'claim',
214
+ actor: normalizedActor,
215
+ targetActor: null,
216
+ writerLeaseTokenHash: sha256Hex(writerToken),
217
+ reason: `Claimed pending C1 handoff from ${posture.latestEvent.actor}.`,
218
+ context: contextFromEvent(posture.latestEvent),
219
+ handback: null,
220
+ }, now);
221
+ }
222
+ /**
223
+ * Validates every deterministic Task/handoff blocker without mutating the writer lease or sidecars.
224
+ * Callers may then acquire/renew a lease and use appendTaskClaim as a defensive race re-check.
225
+ */
226
+ export function assertTaskClaimAllowed(store, task, actor, claimToken, now) {
227
+ assertTaskSupportsC1Handoff(task);
228
+ const normalizedActor = normalizeActor(actor, 'Claim actor');
155
229
  const posture = readTaskC1Posture(store, task);
156
230
  if (posture.state !== 'pending') {
157
231
  throw new WorkflowError('TRANSITION_BLOCKED', `Task ${task.id} does not have a pending C1 handoff to claim.`, {
@@ -178,7 +252,15 @@ export function appendTaskClaim(store, task, actor, claimToken, writerToken, now
178
252
  currentTaskRevision: task.revision,
179
253
  });
180
254
  }
181
- if (Date.parse(posture.latestEvent.expiresAt) <= now.getTime()) {
255
+ const handoffExpiresAt = Date.parse(posture.latestEvent.expiresAt);
256
+ if (!Number.isFinite(handoffExpiresAt)) {
257
+ throw new WorkflowError('STATE_CORRUPT', `C1 handoff ${posture.latestEvent.handoffId} expiry is malformed.`, {
258
+ taskId: task.id,
259
+ handoffId: posture.latestEvent.handoffId,
260
+ expiresAt: posture.latestEvent.expiresAt,
261
+ });
262
+ }
263
+ if (handoffExpiresAt <= now.getTime()) {
182
264
  throw new WorkflowError('TRANSITION_BLOCKED', `C1 handoff ${posture.latestEvent.handoffId} has expired.`, {
183
265
  taskId: task.id,
184
266
  handoffId: posture.latestEvent.handoffId,
@@ -191,15 +273,7 @@ export function appendTaskClaim(store, task, actor, claimToken, writerToken, now
191
273
  handoffId: posture.latestEvent.handoffId,
192
274
  });
193
275
  }
194
- return appendTaskHandoffEvent(store, task, {
195
- eventType: 'claim',
196
- actor: normalizedActor,
197
- targetActor: null,
198
- writerLeaseTokenHash: writerToken ? sha256Hex(writerToken) : null,
199
- reason: `Claimed pending C1 handoff from ${posture.latestEvent.actor}.`,
200
- context: contextFromEvent(posture.latestEvent),
201
- handback: null,
202
- }, now);
276
+ return posture;
203
277
  }
204
278
  export function appendTaskHandback(store, task, actor, reason, writerToken, limitations, recommendedNext, now) {
205
279
  const normalizedActor = normalizeActor(actor, 'Handback actor');
@@ -426,8 +500,8 @@ function validateStoredTaskHandoffEvent(event, task, file, line) {
426
500
  file, line, taskId: task.id, targetActor: event.targetActor, delegate: event.delegate,
427
501
  });
428
502
  }
429
- if ((event.eventType === 'claim' || event.eventType === 'handback') && event.targetActor !== null) {
430
- throw new WorkflowError('STATE_CORRUPT', 'Task claim/handback events must not record targetActor.', {
503
+ if ((event.eventType === 'claim' || event.eventType === 'yield' || event.eventType === 'handback') && event.targetActor !== null) {
504
+ throw new WorkflowError('STATE_CORRUPT', 'Task claim/yield/handback events must not record targetActor.', {
431
505
  file,
432
506
  line,
433
507
  taskId: task.id,
@@ -551,15 +625,16 @@ function validateTaskHandoffHistory(events, task) {
551
625
  };
552
626
  break;
553
627
  case 'handback':
628
+ case 'yield':
554
629
  if (previous.state !== 'claimed') {
555
- throw new WorkflowError('STATE_CORRUPT', 'Task handback requires an active claim.', {
630
+ throw new WorkflowError('STATE_CORRUPT', `Task ${event.eventType} requires an active claim.`, {
556
631
  taskId: task.id,
557
632
  eventId: event.eventId,
558
633
  previousState: previous.state,
559
634
  });
560
635
  }
561
636
  if (previous.claimant !== event.actor.trim()) {
562
- throw new WorkflowError('STATE_CORRUPT', 'Task handback actor must equal the active claimant.', {
637
+ throw new WorkflowError('STATE_CORRUPT', `Task ${event.eventType} actor must equal the active claimant.`, {
563
638
  taskId: task.id,
564
639
  eventId: event.eventId,
565
640
  claimant: previous.claimant,
@@ -567,7 +642,7 @@ function validateTaskHandoffHistory(events, task) {
567
642
  });
568
643
  }
569
644
  if (previous.writerLeaseTokenHash !== event.writerLeaseTokenHash) {
570
- throw new WorkflowError('STATE_CORRUPT', 'Task handback must preserve the claimant lease-token binding.', {
645
+ throw new WorkflowError('STATE_CORRUPT', `Task ${event.eventType} must preserve the claimant lease-token binding.`, {
571
646
  taskId: task.id,
572
647
  eventId: event.eventId,
573
648
  expectedWriterLeaseTokenHash: previous.writerLeaseTokenHash,
@@ -575,6 +650,12 @@ function validateTaskHandoffHistory(events, task) {
575
650
  });
576
651
  }
577
652
  assertSameHandoffContext(previous.latestEvent, event, task);
653
+ if (event.eventType === 'yield' && event.handback !== null) {
654
+ throw new WorkflowError('STATE_CORRUPT', 'Task yield must not contain a terminal handback bundle.', {
655
+ taskId: task.id,
656
+ eventId: event.eventId,
657
+ });
658
+ }
578
659
  posture = { state: 'none', latestEvent: event };
579
660
  break;
580
661
  default: