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

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 (156) hide show
  1. package/README.md +52 -4
  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 +23 -0
  5. package/dist/src/alpha6/handoff.js +221 -28
  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 +15 -7
  12. package/dist/src/alpha6/plan-risk.js.map +1 -1
  13. package/dist/src/alpha6/remediation.js +18 -6
  14. package/dist/src/alpha6/remediation.js.map +1 -1
  15. package/dist/src/alpha6/review.d.ts +3 -0
  16. package/dist/src/alpha6/review.js +24 -0
  17. package/dist/src/alpha6/review.js.map +1 -1
  18. package/dist/src/cli.js +473 -45
  19. package/dist/src/cli.js.map +1 -1
  20. package/dist/src/contracts.d.ts +169 -5
  21. package/dist/src/contracts.js +1 -1
  22. package/dist/src/credential-output.d.ts +10 -0
  23. package/dist/src/credential-output.js +73 -0
  24. package/dist/src/credential-output.js.map +1 -0
  25. package/dist/src/dependency-provenance.d.ts +19 -0
  26. package/dist/src/dependency-provenance.js +185 -0
  27. package/dist/src/dependency-provenance.js.map +1 -0
  28. package/dist/src/errors.d.ts +1 -1
  29. package/dist/src/errors.js.map +1 -1
  30. package/dist/src/git.js +5 -4
  31. package/dist/src/git.js.map +1 -1
  32. package/dist/src/index.d.ts +1 -1
  33. package/dist/src/index.js +1 -1
  34. package/dist/src/index.js.map +1 -1
  35. package/dist/src/lifecycle/canonical-hash.d.ts +6 -0
  36. package/dist/src/lifecycle/canonical-hash.js +24 -0
  37. package/dist/src/lifecycle/canonical-hash.js.map +1 -0
  38. package/dist/src/lifecycle/catalog.d.ts +26 -0
  39. package/dist/src/lifecycle/catalog.js +208 -0
  40. package/dist/src/lifecycle/catalog.js.map +1 -0
  41. package/dist/src/lifecycle/compiler-inspection.d.ts +48 -0
  42. package/dist/src/lifecycle/compiler-inspection.js +29 -0
  43. package/dist/src/lifecycle/compiler-inspection.js.map +1 -0
  44. package/dist/src/lifecycle/core-static-readiness.d.ts +6 -0
  45. package/dist/src/lifecycle/core-static-readiness.js +130 -0
  46. package/dist/src/lifecycle/core-static-readiness.js.map +1 -0
  47. package/dist/src/lifecycle/corrective-replan-authority.d.ts +53 -0
  48. package/dist/src/lifecycle/corrective-replan-authority.js +139 -0
  49. package/dist/src/lifecycle/corrective-replan-authority.js.map +1 -0
  50. package/dist/src/lifecycle/corrective-replan-binding-manifest.d.ts +21 -0
  51. package/dist/src/lifecycle/corrective-replan-binding-manifest.js +35 -0
  52. package/dist/src/lifecycle/corrective-replan-binding-manifest.js.map +1 -0
  53. package/dist/src/lifecycle/corrective-replan-credential-core.d.ts +86 -0
  54. package/dist/src/lifecycle/corrective-replan-credential-core.js +563 -0
  55. package/dist/src/lifecycle/corrective-replan-credential-core.js.map +1 -0
  56. package/dist/src/lifecycle/corrective-replan-credential-schema.d.ts +17 -0
  57. package/dist/src/lifecycle/corrective-replan-credential-schema.js +44 -0
  58. package/dist/src/lifecycle/corrective-replan-credential-schema.js.map +1 -0
  59. package/dist/src/lifecycle/corrective-replan-credentials.d.ts +47 -0
  60. package/dist/src/lifecycle/corrective-replan-credentials.js +103 -0
  61. package/dist/src/lifecycle/corrective-replan-credentials.js.map +1 -0
  62. package/dist/src/lifecycle/corrective-replan.d.ts +64 -0
  63. package/dist/src/lifecycle/corrective-replan.js +548 -0
  64. package/dist/src/lifecycle/corrective-replan.js.map +1 -0
  65. package/dist/src/lifecycle/evaluator.d.ts +2 -0
  66. package/dist/src/lifecycle/evaluator.js +35 -0
  67. package/dist/src/lifecycle/evaluator.js.map +1 -0
  68. package/dist/src/lifecycle/fingerprint.d.ts +31 -0
  69. package/dist/src/lifecycle/fingerprint.js +388 -0
  70. package/dist/src/lifecycle/fingerprint.js.map +1 -0
  71. package/dist/src/lifecycle/immutable.d.ts +1 -0
  72. package/dist/src/lifecycle/immutable.js +10 -0
  73. package/dist/src/lifecycle/immutable.js.map +1 -0
  74. package/dist/src/lifecycle/implementation-table.d.ts +29 -0
  75. package/dist/src/lifecycle/implementation-table.js +87 -0
  76. package/dist/src/lifecycle/implementation-table.js.map +1 -0
  77. package/dist/src/lifecycle/index.d.ts +4 -0
  78. package/dist/src/lifecycle/index.js +5 -0
  79. package/dist/src/lifecycle/index.js.map +1 -0
  80. package/dist/src/lifecycle/schema-artifact.d.ts +12 -0
  81. package/dist/src/lifecycle/schema-artifact.js +214 -0
  82. package/dist/src/lifecycle/schema-artifact.js.map +1 -0
  83. package/dist/src/lifecycle/semantic-registry.d.ts +6 -0
  84. package/dist/src/lifecycle/semantic-registry.js +489 -0
  85. package/dist/src/lifecycle/semantic-registry.js.map +1 -0
  86. package/dist/src/lifecycle/types.d.ts +718 -0
  87. package/dist/src/lifecycle/types.js +4 -0
  88. package/dist/src/lifecycle/types.js.map +1 -0
  89. package/dist/src/observation.d.ts +20 -0
  90. package/dist/src/observation.js +171 -0
  91. package/dist/src/observation.js.map +1 -0
  92. package/dist/src/reviewer.d.ts +43 -1
  93. package/dist/src/reviewer.js +203 -50
  94. package/dist/src/reviewer.js.map +1 -1
  95. package/dist/src/state/corrective-replan-executor.d.ts +64 -0
  96. package/dist/src/state/corrective-replan-executor.js +608 -0
  97. package/dist/src/state/corrective-replan-executor.js.map +1 -0
  98. package/dist/src/state/corrective-replan-public-schema.d.ts +3 -0
  99. package/dist/src/state/corrective-replan-public-schema.js +43 -0
  100. package/dist/src/state/corrective-replan-public-schema.js.map +1 -0
  101. package/dist/src/state/corrective-replan-public.d.ts +95 -0
  102. package/dist/src/state/corrective-replan-public.js +665 -0
  103. package/dist/src/state/corrective-replan-public.js.map +1 -0
  104. package/dist/src/state/corrective-replan-transaction.d.ts +160 -0
  105. package/dist/src/state/corrective-replan-transaction.js +730 -0
  106. package/dist/src/state/corrective-replan-transaction.js.map +1 -0
  107. package/dist/src/state/corrective-yield-executor.d.ts +31 -0
  108. package/dist/src/state/corrective-yield-executor.js +236 -0
  109. package/dist/src/state/corrective-yield-executor.js.map +1 -0
  110. package/dist/src/state/corrective-yield-transaction.d.ts +97 -0
  111. package/dist/src/state/corrective-yield-transaction.js +591 -0
  112. package/dist/src/state/corrective-yield-transaction.js.map +1 -0
  113. package/dist/src/state/lock.d.ts +76 -3
  114. package/dist/src/state/lock.js +611 -30
  115. package/dist/src/state/lock.js.map +1 -1
  116. package/dist/src/state/store.d.ts +3 -0
  117. package/dist/src/state/store.js +65 -12
  118. package/dist/src/state/store.js.map +1 -1
  119. package/dist/src/transition-core.d.ts +67 -0
  120. package/dist/src/transition-core.js +318 -0
  121. package/dist/src/transition-core.js.map +1 -0
  122. package/dist/src/version.d.ts +1 -1
  123. package/dist/src/version.js +1 -1
  124. package/dist/src/version.js.map +1 -1
  125. package/dist/src/workflow.d.ts +83 -24
  126. package/dist/src/workflow.js +1255 -187
  127. package/dist/src/workflow.js.map +1 -1
  128. package/docs/autonomy-guardrails.md +40 -1
  129. package/docs/beta2-initial-assembly-navigation-brief.md +616 -0
  130. package/docs/delegated-approval.md +26 -1
  131. package/docs/development-flow.md +32 -2
  132. package/docs/lifecycle/state-machine-stabilization.md +641 -0
  133. package/docs/release.md +17 -2
  134. package/docs/split-required-recovery.md +5 -4
  135. package/docs/stable-release-defect-register.md +465 -3
  136. package/docs/updating-existing-project.md +59 -4
  137. package/docs/validation-report.md +85 -56
  138. package/package.json +5 -1
  139. package/plugins/codex-workflow-gateway/.codex-plugin/plugin.json +10 -3
  140. package/plugins/codex-workflow-gateway/references/protocol.md +74 -3
  141. package/plugins/codex-workflow-gateway/scripts/chat-registry.mjs +376 -0
  142. package/plugins/codex-workflow-gateway/skills/codex-workflow-gateway/SKILL.md +246 -1
  143. package/references/state-machine.md +4 -1
  144. package/roles/delivery-coordinator.md +39 -0
  145. package/schemas/adoption-posture-event.schema.json +1 -1
  146. package/schemas/context-envelope.schema.json +1 -1
  147. package/schemas/corrective-replan-credentials.private.schema.json +98 -0
  148. package/schemas/corrective-replan-execution-event.private.schema.json +53 -0
  149. package/schemas/corrective-replan-public.schema.json +142 -0
  150. package/schemas/corrective-replan-task-transaction.private.schema.json +151 -0
  151. package/schemas/corrective-yield-task-transaction.private.schema.json +98 -0
  152. package/schemas/remediation-event.schema.json +11 -1
  153. package/schemas/task-handoff-event.schema.json +1 -1
  154. package/schemas/task.schema.json +24 -1
  155. package/schemas/transition-definition.schema.json +2609 -0
  156. package/schemas/transition-payloads.schema.json +140 -0
@@ -2,6 +2,7 @@ import { existsSync, lstatSync, readFileSync, realpathSync, readdirSync, rmSync
2
2
  import path from 'node:path';
3
3
  import { WorkflowError } from '../errors.js';
4
4
  import { createEntityId } from '../ulid.js';
5
+ import { readMilestoneAutonomyEvents } from '../alpha7/autonomy.js';
5
6
  import { createJournalSnapshotFromContent, captureJournalTargetSnapshot, listMilestoneTransactionJournals, readJournalSnapshotContent, removeMilestoneTransactionJournal, resolveMilestoneTransactionTargetPath, updateMilestoneTransactionJournalPhase, writeMilestoneTransactionJournal, } from './journal.js';
6
7
  import { assertHash64, assertNoSymlinkPathComponents, canonicalJsonStringify, computeSidecarEventHash, prepareSidecarAppend, sha256Hex, } from './store-sidecars.js';
7
8
  const SCOPE_CHANGE_SIDECAR = 'scope-change-events.jsonl';
@@ -83,6 +84,29 @@ export function readMilestoneWithIntegrity(store, projectId, milestoneId, readTa
83
84
  recoverMilestoneScopeChangeTransactions(store, projectId, milestoneId, readTask);
84
85
  const milestone = store.readMilestone(projectId, milestoneId);
85
86
  assertMilestonePlanAgreement(store, milestone);
87
+ const initialAssembly = assessMilestoneInitialAssembly({
88
+ store,
89
+ projectId,
90
+ milestone,
91
+ ...(listTasks ? { listTasks } : {}),
92
+ });
93
+ if (initialAssembly.eligible)
94
+ return milestone;
95
+ assertMilestoneMembershipIntegrity(milestone, readTask, {}, listTasks);
96
+ return milestone;
97
+ }
98
+ /** Read-only integrity validation for observation APIs. Pending journals must be assessed first. */
99
+ export function inspectMilestoneWithIntegrity(store, projectId, milestoneId, readTask, listTasks) {
100
+ const milestone = store.readMilestone(projectId, milestoneId);
101
+ assertMilestonePlanAgreement(store, milestone);
102
+ const initialAssembly = assessMilestoneInitialAssembly({
103
+ store,
104
+ projectId,
105
+ milestone,
106
+ ...(listTasks ? { listTasks } : {}),
107
+ });
108
+ if (initialAssembly.eligible)
109
+ return milestone;
86
110
  assertMilestoneMembershipIntegrity(milestone, readTask, {}, listTasks);
87
111
  return milestone;
88
112
  }
@@ -90,6 +114,14 @@ export function readMilestoneForScopeChange(store, projectId, milestoneId, readT
90
114
  recoverMilestoneScopeChangeTransactions(store, projectId, milestoneId, readTask);
91
115
  const milestone = store.readMilestone(projectId, milestoneId);
92
116
  assertMilestonePlanAgreement(store, milestone);
117
+ const initialAssembly = assessMilestoneInitialAssembly({
118
+ store,
119
+ projectId,
120
+ milestone,
121
+ ...(listTasks ? { listTasks } : {}),
122
+ });
123
+ if (initialAssembly.eligible)
124
+ return milestone;
93
125
  assertMilestoneMembershipIntegrity(milestone, readTask, { allowRepairableRequiredCancelled: true, allowRepairableReverseOrphans: true }, listTasks);
94
126
  return milestone;
95
127
  }
@@ -102,6 +134,37 @@ export function listMilestonesWithIntegrity(store, projectId, readTask, listTask
102
134
  .map((entry) => readMilestoneWithIntegrity(store, projectId, entry.name, readTask, listTasks))
103
135
  .sort((left, right) => left.createdAt.localeCompare(right.createdAt) || left.id.localeCompare(right.id));
104
136
  }
137
+ export function assessMilestoneInitialAssembly(options) {
138
+ const { milestone, listTasks } = options;
139
+ if (!listTasks)
140
+ return { eligible: false, orphanTaskIds: [] };
141
+ if (milestone.status !== 'planning'
142
+ || milestone.planHash !== null
143
+ || milestone.membershipRevision !== 0
144
+ || milestone.memberships.length !== 0
145
+ || milestone.taskIds.length !== 0
146
+ || milestone.successSignal !== ''
147
+ || milestone.checks.length !== 0
148
+ || milestone.authorizations.length !== 0
149
+ || milestone.resultHash !== null
150
+ || milestone.evidenceHash !== null
151
+ || milestone.acceptedHead !== null
152
+ || milestone.cancellationReason !== null) {
153
+ return { eligible: false, orphanTaskIds: [] };
154
+ }
155
+ const reverseOrphans = listTasks().filter((task) => task.milestoneId === milestone.id);
156
+ if (hasActiveMilestoneScopeChangeTransaction(options.store, options.projectId, milestone.id)) {
157
+ return { eligible: false, orphanTaskIds: reverseOrphans.map((task) => task.id) };
158
+ }
159
+ if (readMilestoneScopeChangeEvents(options.store, options.projectId, milestone.id).length > 0) {
160
+ return { eligible: false, orphanTaskIds: reverseOrphans.map((task) => task.id) };
161
+ }
162
+ if (hasMilestoneAutonomyAuthority(options.store, options.projectId, milestone.id)) {
163
+ return { eligible: false, orphanTaskIds: reverseOrphans.map((task) => task.id) };
164
+ }
165
+ const eligible = reverseOrphans.every((task) => isPristineInitialAssemblyTask(task));
166
+ return { eligible, orphanTaskIds: reverseOrphans.map((task) => task.id) };
167
+ }
105
168
  export function assertMilestoneMembershipIntegrity(milestone, readTask, options = {}, listTasks) {
106
169
  if (!Number.isInteger(milestone.membershipRevision) || milestone.membershipRevision < 0) {
107
170
  throw new WorkflowError('STATE_CORRUPT', `Milestone ${milestone.id} has invalid membershipRevision.`, {
@@ -169,6 +232,45 @@ export function assertMilestoneMembershipIntegrity(milestone, readTask, options
169
232
  }
170
233
  }
171
234
  }
235
+ function hasActiveMilestoneScopeChangeTransaction(store, projectId, milestoneId) {
236
+ const milestoneRoot = resolveAlpha6MilestoneRoot(store, projectId, milestoneId);
237
+ return listMilestoneTransactionJournals(milestoneRoot, { expectedMilestoneId: milestoneId })
238
+ .some((journal) => journal.phase === 'prepared' || journal.phase === 'applying');
239
+ }
240
+ function hasMilestoneAutonomyAuthority(store, projectId, milestoneId) {
241
+ return readMilestoneAutonomyEvents(store, projectId, milestoneId).length > 0;
242
+ }
243
+ function isPristineInitialAssemblyTask(task) {
244
+ return task.status === 'planning'
245
+ && task.workspaceOwner === null
246
+ && task.taskBranch === null
247
+ && task.baseCommit === null
248
+ && task.planHash === null
249
+ && task.planObjective === null
250
+ && task.resultHash === null
251
+ && task.evidenceHash === null
252
+ && task.knowledgeImpact === null
253
+ && task.knowledgeImpactReason === null
254
+ && task.knowledgeTargets.length === 0
255
+ && task.knowledgeMapRevision === null
256
+ && task.knowledgeMapHash === null
257
+ && task.graphUse === null
258
+ && task.steps.length === 0
259
+ && task.authorizations.length === 0
260
+ && task.knowledgeRebinds.length === 0
261
+ && task.review.status === 'pending'
262
+ && task.review.reviewer === ''
263
+ && task.review.recordedAt === null
264
+ && task.review.headCommit === null
265
+ && task.review.briefHash === null
266
+ && task.review.planHash === null
267
+ && task.review.evidenceHash === null
268
+ && task.review.summary === ''
269
+ && task.review.findings.length === 0
270
+ && task.blockReason === null
271
+ && task.mergedCommit === null
272
+ && task.systemCommits.length === 0;
273
+ }
172
274
  export function assertMilestoneScopeChangeStatusAllowed(milestone) {
173
275
  if (!SCOPE_CHANGE_ALLOWED_STATUSES.has(milestone.status)) {
174
276
  throw new WorkflowError('TRANSITION_BLOCKED', `Milestone ${milestone.id} cannot change scope while ${milestone.status}.`, {
@@ -406,7 +508,17 @@ function assertMilestonePlanAgreement(store, milestone) {
406
508
  if (milestone.planHash === null)
407
509
  return;
408
510
  const milestoneRoot = store.milestoneRoot(milestone.projectId, milestone.id);
409
- const currentPlanHash = store.hashArtifact(milestoneRoot, 'plan.json');
511
+ let currentPlanHash;
512
+ try {
513
+ currentPlanHash = store.hashArtifact(milestoneRoot, 'plan.json');
514
+ }
515
+ catch (error) {
516
+ throw new WorkflowError('STATE_CORRUPT', `Milestone ${milestone.id} declares a planHash but plan.json is unavailable.`, {
517
+ milestoneId: milestone.id,
518
+ expectedPlanHash: milestone.planHash,
519
+ cause: error instanceof Error ? error.message : String(error),
520
+ });
521
+ }
410
522
  if (currentPlanHash !== milestone.planHash) {
411
523
  throw new WorkflowError('STATE_CORRUPT', `Milestone ${milestone.id} planHash does not match plan.json.`, {
412
524
  expectedPlanHash: milestone.planHash,
@@ -1 +1 @@
1
- {"version":3,"file":"milestone.js","sourceRoot":"","sources":["../../../src/alpha6/milestone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjG,OAAO,IAAI,MAAM,WAAW,CAAC;AAY7B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EACL,gCAAgC,EAChC,4BAA4B,EAC5B,gCAAgC,EAChC,0BAA0B,EAC1B,iCAAiC,EACjC,qCAAqC,EACrC,sCAAsC,EACtC,gCAAgC,GACjC,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,YAAY,EACZ,6BAA6B,EAC7B,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,SAAS,GACV,MAAM,qBAAqB,CAAC;AAK7B,MAAM,oBAAoB,GAAG,2BAA2B,CAAC;AACzD,MAAM,iBAAiB,GAAG,CAAC,YAAY,EAAE,WAAW,EAAE,oBAAoB,CAAU,CAAC;AACrF,MAAM,6BAA6B,GAAG,IAAI,GAAG,CAA2B;IACtE,UAAU;IACV,kCAAkC;IAClC,QAAQ;IACR,SAAS;CACV,CAAC,CAAC;AAsCH;;;GAGG;AACH,MAAM,UAAU,iCAAiC,CAAC,OAMjD;IACC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAC9D,MAAM,WAAW,GAAG,2BAA2B,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACzE,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;IACxC,IAAI,QAAQ,KAAK,QAAQ,CAAC,iBAAiB,EAAE,CAAC;QAC5C,MAAM,IAAI,aAAa,CAAC,oBAAoB,EAAE,qEAAqE,EAAE;YACnH,gBAAgB,EAAE,QAAQ,CAAC,iBAAiB;YAC5C,cAAc,EAAE,QAAQ;SACzB,CAAC,CAAC;IACL,CAAC;IACD,MAAM,aAAa,GAAG,8BAA8B,CAAC,KAAK,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;IAC/F,MAAM,OAAO,GAAG,oBAAoB,CAA4B,aAAa,EAAE,+BAA+B,CAAC;QAC7G,SAAS;QACT,cAAc,EAAE,QAAQ,CAAC,cAAc;QACvC,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,GAAG;QACH,iBAAiB,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,IAAI,IAAI;QAC1D,iBAAiB,EAAE,QAAQ;QAC3B,2BAA2B,EAAE,QAAQ,CAAC,2BAA2B;QACjE,2BAA2B,EAAE,QAAQ,CAAC,2BAA2B;QACjE,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;QAC7C,yBAAyB,EAAE,QAAQ,CAAC,yBAAyB;KAC9D,CAAC,EAAE,EAAE,aAAa,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,iCAAiC,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAClG,MAAM,KAAK,GAAmB;QAC5B,GAAG,SAAS;QACZ,QAAQ,EAAE,SAAS,CAAC,QAAQ,GAAG,CAAC;QAChC,SAAS,EAAE,GAAG,CAAC,WAAW,EAAE;QAC5B,MAAM,EAAE,kCAAkC;QAC1C,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,OAAO;QACxC,aAAa,EAAE,QAAQ,CAAC,cAAc,CAAC,aAAa;QACpD,UAAU,EAAE,QAAQ,CAAC,cAAc,CAAC,UAAU;QAC9C,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,OAAO;QACxC,WAAW,EAAE,QAAQ,CAAC,cAAc,CAAC,WAAW;QAChD,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM;QACtC,kBAAkB,EAAE,QAAQ,CAAC,2BAA2B;QACxD,cAAc,EAAE,QAAQ,CAAC,cAAc;QACvC,QAAQ;QACR,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,IAAI;QAClB,YAAY,EAAE,IAAI;QAClB,kBAAkB,EAAE,IAAI;KACzB,CAAC;IACF,kCAAkC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACpD,OAAO;QACL,KAAK;QACL,YAAY,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI;QACnD,WAAW;QACX,cAAc,EAAE,OAAO,CAAC,OAAO;KAChC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAwB;IAC7D,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;QAC5B,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;QACxC,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAChC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACjD,GAAG,UAAU;YACb,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE;SACjC,CAAC,CAAC;QACH,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QACxB,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;KACjE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,KAAqB,EACrB,SAAiB,EACjB,WAAmB,EACnB,QAAkB,EAClB,SAAqB;IAErB,uCAAuC,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IACjF,MAAM,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAC9D,4BAA4B,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC/C,kCAAkC,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;IACvE,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,KAAqB,EACrB,SAAiB,EACjB,WAAmB,EACnB,QAAkB,EAClB,SAAqB;IAErB,uCAAuC,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IACjF,MAAM,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAC9D,4BAA4B,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC/C,kCAAkC,CAChC,SAAS,EACT,QAAQ,EACR,EAAE,gCAAgC,EAAE,IAAI,EAAE,6BAA6B,EAAE,IAAI,EAAE,EAC/E,SAAS,CACV,CAAC;IACF,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,KAAqB,EACrB,SAAiB,EACjB,QAAkB,EAClB,SAAqB;IAErB,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,YAAY,CAAC,CAAC;IAC7E,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC;QAAE,OAAO,EAAE,CAAC;IAC3C,OAAO,WAAW,CAAC,cAAc,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;SACxD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;SACtC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,0BAA0B,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;SAC7F,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7G,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,SAAyB,EACzB,QAAkB,EAClB,UAAsC,EAAE,EACxC,SAAqB;IAErB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,kBAAkB,CAAC,IAAI,SAAS,CAAC,kBAAkB,GAAG,CAAC,EAAE,CAAC;QACxF,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,aAAa,SAAS,CAAC,EAAE,kCAAkC,EAAE;YACpG,kBAAkB,EAAE,SAAS,CAAC,kBAAkB;SACjD,CAAC,CAAC;IACL,CAAC;IACD,MAAM,iBAAiB,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACvF,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC3D,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACjD,IAAI,uBAAuB,CAAC,IAAI,KAAK,iBAAiB,CAAC,MAAM,EAAE,CAAC;QAC9D,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,aAAa,SAAS,CAAC,EAAE,0CAA0C,EAAE;YAC5G,OAAO,EAAE,iBAAiB;SAC3B,CAAC,CAAC;IACL,CAAC;IACD,IAAI,aAAa,CAAC,IAAI,KAAK,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpD,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,aAAa,SAAS,CAAC,EAAE,8BAA8B,EAAE;YAChG,OAAO,EAAE,SAAS,CAAC,OAAO;SAC3B,CAAC,CAAC;IACL,CAAC;IACD,IACE,iBAAiB,CAAC,MAAM,KAAK,SAAS,CAAC,OAAO,CAAC,MAAM;WAClD,iBAAiB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;WAC9D,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,uBAAuB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAC3E,CAAC;QACD,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,aAAa,SAAS,CAAC,EAAE,oCAAoC,EAAE;YACtG,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,iBAAiB;SAClB,CAAC,CAAC;IACL,CAAC;IACD,KAAK,MAAM,UAAU,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;QAC/C,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,aAAa,CAAC,oBAAoB,EAAE,QAAQ,IAAI,CAAC,EAAE,qCAAqC,SAAS,CAAC,EAAE,GAAG,EAAE;gBACjH,WAAW,EAAE,SAAS,CAAC,EAAE;gBACzB,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,eAAe,EAAE,IAAI,CAAC,WAAW;aAClC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,UAAU,CAAC,WAAW,KAAK,UAAU,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,CAAC,OAAO,CAAC,gCAAgC,EAAE,CAAC;YACtH,MAAM,IAAI,aAAa,CAAC,oBAAoB,EAAE,2BAA2B,IAAI,CAAC,EAAE,gBAAgB,EAAE;gBAChG,WAAW,EAAE,SAAS,CAAC,EAAE;gBACzB,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,UAAU,EAAE,IAAI,CAAC,MAAM;aACxB,CAAC,CAAC;QACL,CAAC;QACD,IAAI,UAAU,CAAC,WAAW,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAC1E,MAAM,IAAI,aAAa,CACrB,oBAAoB,EACpB,gDAAgD,IAAI,CAAC,EAAE,mBAAmB,EAC1E;gBACE,WAAW,EAAE,SAAS,CAAC,EAAE;gBACzB,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,WAAW,EAAE,UAAU,CAAC,WAAW;gBACnC,UAAU,EAAE,IAAI,CAAC,MAAM;aACxB,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,SAAS,IAAI,CAAC,OAAO,CAAC,6BAA6B,EAAE,CAAC;QACxD,MAAM,cAAc,GAAG,SAAS,EAAE;aAC/B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,EAAE,CAAC;aACnD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC;aAC7C,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3D,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,aAAa,CACrB,oBAAoB,EACpB,aAAa,SAAS,CAAC,EAAE,oEAAoE,EAC7F;gBACE,cAAc,EAAE,4BAA4B;gBAC5C,WAAW,EAAE,SAAS,CAAC,EAAE;gBACzB,aAAa,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpD,cAAc,EAAE,iFAAiF;aAClG,CACF,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,uCAAuC,CAAC,SAAyB;IAC/E,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,aAAa,CAAC,oBAAoB,EAAE,aAAa,SAAS,CAAC,EAAE,8BAA8B,SAAS,CAAC,MAAM,GAAG,EAAE;YACxH,WAAW,EAAE,SAAS,CAAC,EAAE;YACzB,MAAM,EAAE,SAAS,CAAC,MAAM;SACzB,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oCAAoC,CAAC,OAMpD;IACC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IACrD,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAClC,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,aAAa,CAAC,kBAAkB,EAAE,oDAAoD,CAAC,CAAC;IACpG,CAAC;IACD,IAAI,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,CAAC;QAC5E,MAAM,IAAI,aAAa,CAAC,oBAAoB,EAAE,0EAA0E,EAAE;YACxH,KAAK,EAAE,YAAY;SACpB,CAAC,CAAC;IACL,CAAC;IACD,IAAI,OAAO,CAAC,yBAAyB,EAAE,CAAC;QACtC,YAAY,CAAC,OAAO,CAAC,yBAAyB,EAAE,wCAAwC,CAAC,CAAC;IAC5F,CAAC;IACD,MAAM,iBAAiB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAC,oBAA6B,CAAC,CAAC,CAAC,OAAgB,CAAC;IAC/G,MAAM,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,IAAI,IAAI,CAAC;IAC5E,MAAM,cAAc,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,+BAA+B,CAAC,SAAS,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,8BAA8B,CAAC,cAAc,CAAC,CAAC;IAC7D,IAAI,sBAAsB,CAAC,MAAM,CAAC,KAAK,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,aAAa,CAAC,oBAAoB,EAAE,oCAAoC,EAAE;YAClF,WAAW,EAAE,SAAS,CAAC,EAAE;YACzB,QAAQ,EAAE,SAAS,CAAC,QAAQ;SAC7B,CAAC,CAAC;IACL,CAAC;IACD,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC;IACvC,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;QAC7C,MAAM,IAAI,aAAa,CAAC,kBAAkB,EAAE,kDAAkD,CAAC,CAAC;IAClG,CAAC;IACD,MAAM,2BAA2B,GAAG,IAAI,GAAG,CACzC,SAAS,CAAC,WAAW;SAClB,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,WAAW,KAAK,UAAU,CAAC;SAC7D,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;SACtC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAC/D,CAAC;IACF,KAAK,MAAM,UAAU,IAAI,cAAc,CAAC,WAAW,EAAE,CAAC;QACpD,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,aAAa,CAAC,oBAAoB,EAAE,QAAQ,IAAI,CAAC,EAAE,+BAA+B,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC;QAC/G,CAAC;QACD,IAAI,2BAA2B,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,UAAU,CAAC,WAAW,KAAK,WAAW,EAAE,CAAC;YACvF,MAAM,IAAI,aAAa,CACrB,oBAAoB,EACpB,8DAA8D,IAAI,CAAC,EAAE,uCAAuC,EAC5G;gBACE,WAAW,EAAE,SAAS,CAAC,EAAE;gBACzB,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,kBAAkB,EAAE,UAAU;gBAC9B,oBAAoB,EAAE,UAAU,CAAC,WAAW;aAC7C,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IACjC,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;QAC7C,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,SAAS;QAC3C,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,aAAa,CAAC,oBAAoB,EAAE,gBAAgB,IAAI,CAAC,EAAE,sCAAsC,CAAC,CAAC;QAC/G,CAAC;IACH,CAAC;IACD,MAAM,cAAc,GAAG,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,EAAE,CACpE,aAAa,CAAC,IAAI,KAAK,WAAW,IAAI,aAAa,CAAC,QAAQ,KAAK,UAAU;QACzE,CAAC,CAAC,EAAE,GAAG,aAAa,EAAE,QAAQ,EAAE,YAAqB,EAAE;QACvD,CAAC,CAAC,aAAa,CAClB,CAAC;IACF,MAAM,iBAAiB,GAAG,SAAS,CAAC,2BAA2B,CAAC,cAAc,CAAC,CAAC,CAAC;IACjF,MAAM,2BAA2B,GAAG,SAAS,CAAC,kBAAkB,GAAG,CAAC,CAAC;IACrE,MAAM,2BAA2B,GAAG,sCAAsC,CAAC;QACzE,WAAW,EAAE,SAAS,CAAC,EAAE;QACzB,gBAAgB,EAAE,SAAS,CAAC,QAAQ;QACpC,gBAAgB,EAAE,SAAS,CAAC,QAAQ;QACpC,0BAA0B,EAAE,SAAS,CAAC,kBAAkB;QACxD,iBAAiB;QACjB,2BAA2B;QAC3B,KAAK,EAAE,YAAY;QACnB,KAAK;QACL,iBAAiB;QACjB,yBAAyB;KAC1B,CAAC,CAAC;IACH,OAAO;QACL,WAAW,EAAE,SAAS,CAAC,EAAE;QACzB,gBAAgB,EAAE,SAAS,CAAC,QAAQ;QACpC,KAAK,EAAE,YAAY;QACnB,cAAc;QACd,cAAc;QACd,iBAAiB;QACjB,2BAA2B;QAC3B,KAAK;QACL,2BAA2B;QAC3B,gBAAgB,EAAE,oCAAoC,CAAC,2BAA2B,CAAC;QACnF,iBAAiB;QACjB,yBAAyB;KAC1B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oCAAoC,CAAC,OAOpD;IACC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAChF,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;IAC7E,MAAM,mBAAmB,GAAG,0BAA0B,CAAC,KAAK,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;IACjG,MAAM,QAAQ,GAAG,2BAA2B,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACtE,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,CAAC,aAAa,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC7E,IAAI,UAAU,CAAC,IAAI,KAAK,QAAQ,CAAC,iBAAiB,EAAE,CAAC;QACnD,MAAM,IAAI,aAAa,CAAC,oBAAoB,EAAE,wDAAwD,EAAE;YACtG,gBAAgB,EAAE,QAAQ,CAAC,iBAAiB;YAC5C,cAAc,EAAE,UAAU,CAAC,IAAI;SAChC,CAAC,CAAC;IACL,CAAC;IACD,MAAM,aAAa,GAAG,8BAA8B,CAAC,KAAK,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;IAC/F,MAAM,eAAe,GAAG,oBAAoB,CAA4B,aAAa,EAAE,+BAA+B,CAAC;QACrH,SAAS;QACT,cAAc,EAAE,QAAQ,CAAC,cAAc;QACvC,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,GAAG;QACH,iBAAiB,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,IAAI,IAAI;QAC1D,iBAAiB,EAAE,UAAU,CAAC,IAAI;QAClC,2BAA2B,EAAE,QAAQ,CAAC,2BAA2B;QACjE,2BAA2B,EAAE,QAAQ,CAAC,2BAA2B;QACjE,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;QAC7C,yBAAyB,EAAE,QAAQ,CAAC,yBAAyB;KAC9D,CAAC,EAAE,EAAE,aAAa,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,iCAAiC,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAClG,IAAI,eAAe,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnD,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,qEAAqE,EAAE;YAC9G,aAAa,EAAE,QAAQ,CAAC,KAAK;YAC7B,WAAW,EAAE,eAAe,CAAC,KAAK,CAAC,KAAK;SACzC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,eAAe,CAAC,KAAK,CAAC,2BAA2B,KAAK,QAAQ,CAAC,2BAA2B,EAAE,CAAC;QAC/F,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,uEAAuE,EAAE;YAChH,mBAAmB,EAAE,QAAQ,CAAC,2BAA2B;YACzD,iBAAiB,EAAE,eAAe,CAAC,KAAK,CAAC,2BAA2B;SACrE,CAAC,CAAC;IACL,CAAC;IACD,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,aAAa,EAAE,oBAAoB,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;IACxG,MAAM,cAAc,GAAmB;QACrC,GAAG,SAAS;QACZ,QAAQ,EAAE,SAAS,CAAC,QAAQ,GAAG,CAAC;QAChC,SAAS,EAAE,GAAG,CAAC,WAAW,EAAE;QAC5B,MAAM,EAAE,kCAAkC;QAC1C,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,OAAO;QACxC,aAAa,EAAE,QAAQ,CAAC,cAAc,CAAC,aAAa;QACpD,UAAU,EAAE,QAAQ,CAAC,cAAc,CAAC,UAAU;QAC9C,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,OAAO;QACxC,WAAW,EAAE,QAAQ,CAAC,cAAc,CAAC,WAAW;QAChD,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM;QACtC,kBAAkB,EAAE,QAAQ,CAAC,2BAA2B;QACxD,cAAc,EAAE,QAAQ,CAAC,cAAc;QACvC,QAAQ,EAAE,UAAU,CAAC,IAAI;QACzB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,IAAI;QAClB,YAAY,EAAE,IAAI;QAClB,kBAAkB,EAAE,IAAI;KACzB,CAAC;IACF,kCAAkC,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IAC7D,MAAM,WAAW,GAAG,KAAK,CAAC,aAAa,CACrC,aAAa,EACb,YAAY,EACZ,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAC/C,CAAC;IACF,MAAM,aAAa,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;IAClE,MAAM,OAAO,GAAgC;QAC3C,aAAa;QACb,WAAW,EAAE,SAAS,CAAC,EAAE;QACzB,yBAAyB,EAAE,SAAS,CAAC,QAAQ;QAC7C,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,2BAA2B,EAAE,QAAQ,CAAC,2BAA2B;QACjE,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE;YACX;gBACE,IAAI,EAAE,YAAY;gBAClB,QAAQ,EAAE,4BAA4B,CAAC,mBAAmB,EAAE,YAAY,CAAC;gBACzE,MAAM,EAAE,gCAAgC,CAAC,mBAAmB,EAAE,YAAY,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;aACxH;YACD;gBACE,IAAI,EAAE,WAAW;gBACjB,QAAQ,EAAE,4BAA4B,CAAC,mBAAmB,EAAE,WAAW,CAAC;gBACxE,MAAM,EAAE,gCAAgC,CAAC,mBAAmB,EAAE,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;aACvH;YACD;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,QAAQ,EAAE,4BAA4B,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;gBACjF,MAAM,EAAE,gCAAgC,CAAC,mBAAmB,EAAE,YAAY,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;aAC1H;SACF;QACD,UAAU,EAAE,GAAG,CAAC,WAAW,EAAE;QAC7B,SAAS,EAAE,GAAG,CAAC,WAAW,EAAE;KAC7B,CAAC;IACF,IAAI,OAAO,CAAC,KAAK,KAAK,eAAe,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAClD,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,sFAAsF,EAAE;YAC/H,YAAY,EAAE,OAAO,CAAC,KAAK;YAC3B,UAAU,EAAE,eAAe,CAAC,KAAK,CAAC,KAAK;SACxC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,OAAO,CAAC,2BAA2B,KAAK,eAAe,CAAC,KAAK,CAAC,2BAA2B,EAAE,CAAC;QAC9F,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,wFAAwF,EAAE;YACjI,kBAAkB,EAAE,OAAO,CAAC,2BAA2B;YACvD,gBAAgB,EAAE,eAAe,CAAC,KAAK,CAAC,2BAA2B;SACpE,CAAC,CAAC;IACL,CAAC;IACD,gCAAgC,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;IAC/D,IAAI,CAAC;QACH,sCAAsC,CAAC,mBAAmB,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,CAAC,WAAW,EAAE,EAAE;YACxG,mBAAmB,EAAE,SAAS,CAAC,EAAE;SAClC,CAAC,CAAC;QACH,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAClC,KAAK,CAAC,eAAe,CAAC,EAAE,GAAG,aAAa,EAAE,IAAI,EAAE,eAAe,CAAC,WAAW,EAAE,CAAC,CAAC;QAC/E,KAAK,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,4BAA4B,CAAC,KAAK,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC1F,MAAM,KAAK,CAAC;IACd,CAAC;IACD,OAAO,qCAAqC,CAAC,KAAK,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;QACxG,0BAA0B,EAAE,gBAAgB,GAAG,CAAC;KACjD,CAAC,CAAC;AACL,CAAC;AAED,SAAS,uCAAuC,CAC9C,KAAqB,EACrB,SAAiB,EACjB,WAAmB,EACnB,QAAkB;IAElB,MAAM,mBAAmB,GAAG,0BAA0B,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IACtF,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC;IACvE,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC;QAAE,OAAO;IACxC,MAAM,QAAQ,GAAG,gCAAgC,CAAC,mBAAmB,EAAE,EAAE,mBAAmB,EAAE,WAAW,EAAE,CAAC,CAAC;IAC7G,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,mCAAmC,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC;YACH,IAAI,kCAAkC,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;gBACzF,4BAA4B,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAC/E,SAAS;YACX,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,4BAA4B,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC/E,SAAS;QACX,CAAC;QACD,4BAA4B,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IACjF,CAAC;AACH,CAAC;AAED,SAAS,4BAA4B,CAAC,KAAqB,EAAE,SAAyB;IACpF,IAAI,SAAS,CAAC,QAAQ,KAAK,IAAI;QAAE,OAAO;IACxC,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;IAC7E,MAAM,eAAe,GAAG,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IACvE,IAAI,eAAe,KAAK,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC3C,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,aAAa,SAAS,CAAC,EAAE,qCAAqC,EAAE;YACvG,gBAAgB,EAAE,SAAS,CAAC,QAAQ;YACpC,cAAc,EAAE,eAAe;SAChC,CAAC,CAAC;IACL,CAAC;IACD,MAAM,IAAI,GAAG,0BAA0B,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;IACnH,MAAM,aAAa,GAAG,+BAA+B,CAAC,SAAS,CAAC,CAAC;IACjE,MAAM,WAAW,GAAG,8BAA8B,CAAC,IAAI,CAAC,CAAC;IACzD,IAAI,sBAAsB,CAAC,aAAa,CAAC,KAAK,sBAAsB,CAAC,WAAW,CAAC,EAAE,CAAC;QAClF,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,aAAa,SAAS,CAAC,EAAE,qCAAqC,EAAE;YACvG,WAAW,EAAE,SAAS,CAAC,EAAE;YACzB,UAAU,EAAE,aAAa;YACzB,SAAS,EAAE,WAAW;SACvB,CAAC,CAAC;IACL,CAAC;IACD,MAAM,WAAW,GAAG,8BAA8B,CAAC,KAAK,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;IAC7F,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACrC,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC;IACnC,IACE,MAAM,CAAC,iBAAiB,KAAK,SAAS,CAAC,QAAQ;WAC5C,MAAM,CAAC,2BAA2B,KAAK,SAAS,CAAC,kBAAkB;WACnE,sBAAsB,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,sBAAsB,CAAC,aAAa,CAAC,EACjF,CAAC;QACD,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,aAAa,SAAS,CAAC,EAAE,oDAAoD,EAAE;YACtH,WAAW,EAAE,SAAS,CAAC,EAAE;YACzB,aAAa,EAAE,MAAM,CAAC,OAAO;YAC7B,uBAAuB,EAAE,MAAM,CAAC,iBAAiB;YACjD,iBAAiB,EAAE,SAAS,CAAC,QAAQ;YACrC,iCAAiC,EAAE,MAAM,CAAC,2BAA2B;YACrE,2BAA2B,EAAE,SAAS,CAAC,kBAAkB;SAC1D,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,8BAA8B,CACrC,KAAqB,EACrB,SAAiB,EACjB,WAAmB;IAEnB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,oBAAoB,CAAC,CAAC;IAC/G,6BAA6B,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,qCAAqC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAChH,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,EAAE,CAAC;IACxC,OAAO,+BAA+B,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC;AACzF,CAAC;AAED,SAAS,iCAAiC,CAAC,KAAgC,EAAE,mBAA2B;IACtG,IAAI,KAAK,CAAC,WAAW,KAAK,mBAAmB,EAAE,CAAC;QAC9C,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,oDAAoD,EAAE;YAC7F,mBAAmB;YACnB,iBAAiB,EAAE,KAAK,CAAC,WAAW;YACpC,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,yBAAyB,CAAC,IAAI,KAAK,CAAC,yBAAyB,GAAG,CAAC,EAAE,CAAC;QAC9F,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,8DAA8D,EAAE;YACvG,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,yBAAyB,EAAE,KAAK,CAAC,yBAAyB;SAC3D,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,0BAA0B,CAAC,IAAI,KAAK,CAAC,0BAA0B,GAAG,CAAC,EAAE,CAAC;QAChG,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,+DAA+D,EAAE;YACxG,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,0BAA0B,EAAE,KAAK,CAAC,0BAA0B;SAC7D,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,2BAA2B,CAAC,IAAI,KAAK,CAAC,2BAA2B,GAAG,CAAC,EAAE,CAAC;QAClG,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,gEAAgE,EAAE;YACzG,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,2BAA2B,EAAE,KAAK,CAAC,2BAA2B;SAC/D,CAAC,CAAC;IACL,CAAC;IACD,IAAI,KAAK,CAAC,2BAA2B,KAAK,KAAK,CAAC,0BAA0B,GAAG,CAAC,EAAE,CAAC;QAC/E,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,wEAAwE,EAAE;YACjH,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,0BAA0B,EAAE,KAAK,CAAC,0BAA0B;YAC5D,2BAA2B,EAAE,KAAK,CAAC,2BAA2B;SAC/D,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QACxB,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,2CAA2C,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACpH,CAAC;IACD,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,iBAAiB,KAAK,oBAAoB,EAAE,CAAC;QACzF,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,kDAAkD,EAAE;YAC3F,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC,CAAC;IACL,CAAC;IACD,IAAI,KAAK,CAAC,iBAAiB,KAAK,oBAAoB,EAAE,CAAC;QACrD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,yBAAyB,EAAE,CAAC;YAC1E,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,kFAAkF,EAAE;gBAC3H,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC,CAAC;QACL,CAAC;QACD,YAAY,CAAC,KAAK,CAAC,yBAAyB,EAAE,kDAAkD,CAAC,CAAC;IACpG,CAAC;SAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,SAAS,IAAI,KAAK,CAAC,yBAAyB,KAAK,IAAI,EAAE,CAAC;QACrG,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,uEAAuE,CAAC,CAAC;IACpH,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,IAAI,EAAE,EAAE,CAAC;QAC9C,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,iEAAiE,EAAE;YAC1G,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC;IACL,CAAC;IACD,YAAY,CAAC,KAAK,CAAC,2BAA2B,EAAE,oDAAoD,CAAC,CAAC;IACtG,MAAM,mBAAmB,GAAG,sCAAsC,CAAC;QACjE,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,gBAAgB,EAAE,KAAK,CAAC,yBAAyB;QACjD,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;QACxC,0BAA0B,EAAE,KAAK,CAAC,0BAA0B;QAC5D,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;QAC1C,2BAA2B,EAAE,KAAK,CAAC,2BAA2B;QAC9D,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,GAAG,CAAC,KAAK,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAChG,GAAG,CAAC,KAAK,CAAC,yBAAyB,KAAK,SAAS;YAC/C,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,yBAAyB,EAAE,KAAK,CAAC,yBAAyB,EAAE,CAAC;KACpE,CAAC,CAAC;IACH,IAAI,KAAK,CAAC,2BAA2B,KAAK,mBAAmB,EAAE,CAAC;QAC9D,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,qEAAqE,EAAE;YAC9G,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,mBAAmB;YACnB,iBAAiB,EAAE,KAAK,CAAC,2BAA2B;SACrD,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,mCAAmC,CAAC,OAAoC;IAC/E,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IAC9B,IAAI,MAAM,CAAC,IAAI,KAAK,iBAAiB,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,iBAAiB,CAAC,MAAM,EAAE,CAAC;QAC1F,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,yBAAyB,OAAO,CAAC,aAAa,yBAAyB,EAAE;YAChH,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,iBAAiB,EAAE,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,yBAAyB,OAAO,CAAC,aAAa,eAAe,MAAM,GAAG,CAAC,CAAC;QACnH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,kCAAkC,CACzC,KAAqB,EACrB,SAAiB,EACjB,WAAmB,EACnB,OAAoC,EACpC,QAAkB;IAElB,MAAM,MAAM,GAAG,oCAAoC,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IAC5F,MAAM,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACvD,MAAM,OAAO,GAAG,4BAA4B,CAAC,0BAA0B,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QACrH,MAAM,eAAe,GAAG,sBAAsB,CAAC,OAAO,CAAC,KAAK,sBAAsB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACpG,MAAM,aAAa,GAAG,sBAAsB,CAAC,OAAO,CAAC,KAAK,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAChG,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,eAAe,EAAE,aAAa,EAAE,CAAC;IACjE,CAAC,CAAC,CAAC;IACH,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;QAAE,OAAO,KAAK,CAAC;IAChG,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,OAAO,CAAC,WAAW,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,KAAK,OAAO,CAAC,yBAAyB,GAAG,CAAC,EAAE,CAAC;QAC/G,OAAO,KAAK,CAAC;IACf,CAAC;IACD,kCAAkC,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC3D,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,4BAA4B,CACnC,KAAqB,EACrB,SAAiB,EACjB,WAAmB,EACnB,OAAoC,EACpC,QAAkB;IAElB,MAAM,mBAAmB,GAAG,0BAA0B,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IACtF,IAAI,CAAC;QACH,sCAAsC,CAAC,mBAAmB,EAAE,OAAO,CAAC,aAAa,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE;YACvH,mBAAmB,EAAE,WAAW;SACjC,CAAC,CAAC;QACH,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,0BAA0B,CAAC,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE;gBAC7E,mBAAmB,EAAE,WAAW;gBAChC,aAAa,EAAE,OAAO,CAAC,aAAa;aACrC,CAAC,CAAC;YACH,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACrB,MAAM,CAAC,qCAAqC,CAAC,mBAAmB,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBACjG,SAAS;YACX,CAAC;YACD,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,CAChC,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE,WAAW,CAAC,EAC3C,MAAM,CAAC,IAAI,EACX,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CACzB,CAAC;YACF,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,4BAA4B,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC/E,MAAM,KAAK,CAAC;IACd,CAAC;IACD,qCAAqC,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC1F,CAAC;AAED,SAAS,4BAA4B,CACnC,KAAqB,EACrB,SAAiB,EACjB,WAAmB,EACnB,OAAoC,EACpC,QAAkB;IAElB,MAAM,mBAAmB,GAAG,0BAA0B,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IACtF,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,0BAA0B,CAAC,mBAAmB,EAAE,MAAM,CAAC,QAAQ,EAAE;YAC/E,mBAAmB,EAAE,WAAW;YAChC,aAAa,EAAE,OAAO,CAAC,aAAa;SACrC,CAAC,CAAC;QACH,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,MAAM,CAAC,qCAAqC,CAAC,mBAAmB,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACjG,SAAS;QACX,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,CAChC,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE,WAAW,CAAC,EAC3C,MAAM,CAAC,IAAI,EACX,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CACzB,CAAC;QACF,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAC7D,IAAI,QAAQ,CAAC,QAAQ,KAAK,OAAO,CAAC,yBAAyB,EAAE,CAAC;YAC5D,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,aAAa,WAAW,4CAA4C,EAAE;gBAC7G,gBAAgB,EAAE,OAAO,CAAC,yBAAyB;gBACnD,cAAc,EAAE,QAAQ,CAAC,QAAQ;aAClC,CAAC,CAAC;QACL,CAAC;QACD,4BAA4B,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC9C,kCAAkC,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,gCAAgC,EAAE,IAAI,EAAE,CAAC,CAAC;IACrG,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,aAAa,WAAW,8BAA8B,EAAE;YAC/F,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC,CAAC;IACL,CAAC;IACD,sCAAsC,CAAC,mBAAmB,EAAE,OAAO,CAAC,aAAa,EAAE,aAAa,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE;QAC1H,mBAAmB,EAAE,WAAW;KACjC,CAAC,CAAC;IACH,iCAAiC,CAAC,mBAAmB,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,qCAAqC,CAC5C,KAAqB,EACrB,SAAiB,EACjB,WAAmB,EACnB,OAAoC,EACpC,QAAkB,EAClB,UAAmD,EAAE;IAErD,MAAM,mBAAmB,GAAG,0BAA0B,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IACtF,IAAI,KAAqB,CAAC;IAC1B,IAAI,CAAC;QACH,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACpD,IAAI,OAAO,CAAC,0BAA0B,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO,CAAC,0BAA0B,EAAE,CAAC;YAC9G,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,aAAa,WAAW,6CAA6C,EAAE;gBAC9G,gBAAgB,EAAE,OAAO,CAAC,0BAA0B;gBACpD,cAAc,EAAE,KAAK,CAAC,QAAQ;aAC/B,CAAC,CAAC;QACL,CAAC;QACD,4BAA4B,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC3C,kCAAkC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,4BAA4B,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC/E,MAAM,KAAK,CAAC;IACd,CAAC;IACD,sCAAsC,CAAC,mBAAmB,EAAE,OAAO,CAAC,aAAa,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE;QACtH,mBAAmB,EAAE,WAAW;KACjC,CAAC,CAAC;IACH,iCAAiC,CAAC,mBAAmB,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAC9E,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,oCAAoC,CAC3C,KAAqB,EACrB,SAAiB,EACjB,WAAmB,EACnB,OAAoC;IAMpC,MAAM,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY,CAAC,EAAE,MAAM,CAAC;IACjG,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC,EAAE,MAAM,CAAC;IAC/F,MAAM,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC3G,IAAI,CAAC,aAAa,IAAI,CAAC,YAAY,IAAI,CAAC,eAAe,EAAE,CAAC;QACxD,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,yBAAyB,OAAO,CAAC,aAAa,8BAA8B,CAAC,CAAC;IACzH,CAAC;IACD,MAAM,mBAAmB,GAAG,0BAA0B,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IACtF,MAAM,WAAW,GAAG,0BAA0B,CAAC,mBAAmB,EAAE,aAAa,EAAE;QACjF,mBAAmB,EAAE,WAAW;QAChC,aAAa,EAAE,OAAO,CAAC,aAAa;KACrC,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,0BAA0B,CAAC,mBAAmB,EAAE,YAAY,EAAE;QAC/E,mBAAmB,EAAE,WAAW;QAChC,aAAa,EAAE,OAAO,CAAC,aAAa;KACrC,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,0BAA0B,CAAC,mBAAmB,EAAE,eAAe,EAAE;QACrF,mBAAmB,EAAE,WAAW;QAChC,aAAa,EAAE,OAAO,CAAC,aAAa;KACrC,CAAC,CAAC;IACH,IAAI,CAAC,WAAW,IAAI,CAAC,UAAU,IAAI,CAAC,aAAa,EAAE,CAAC;QAClD,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,yBAAyB,OAAO,CAAC,aAAa,mCAAmC,CAAC,CAAC;IAC9H,CAAC;IACD,MAAM,KAAK,GAAG,iCAAiC,CAC7C,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,EAC5B,SAAS,EACT,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,aAAa,CACtB,CAAC;IACF,MAAM,IAAI,GAAG,0BAA0B,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1F,MAAM,MAAM,GAAG,+BAA+B,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACpG,MAAM,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,yBAAyB,OAAO,CAAC,aAAa,oCAAoC,CAAC,CAAC;IAC/H,CAAC;IACD,IACE,WAAW,CAAC,iBAAiB,KAAK,KAAK,CAAC,QAAQ;WAC7C,WAAW,CAAC,2BAA2B,KAAK,KAAK,CAAC,kBAAkB;WACpE,sBAAsB,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,sBAAsB,CAAC,+BAA+B,CAAC,KAAK,CAAC,CAAC;WAC5G,sBAAsB,CAAC,8BAA8B,CAAC,IAAI,CAAC,CAAC,KAAK,sBAAsB,CAAC,+BAA+B,CAAC,KAAK,CAAC,CAAC;WAC/H,WAAW,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK;WACnC,WAAW,CAAC,2BAA2B,KAAK,OAAO,CAAC,2BAA2B,EAClF,CAAC;QACD,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,yBAAyB,OAAO,CAAC,aAAa,iCAAiC,CAAC,CAAC;IAC5H,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO,CAAC,yBAAyB,GAAG,CAAC,EAAE,CAAC;QAC7D,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,yBAAyB,OAAO,CAAC,aAAa,yCAAyC,EAAE;YAChI,gBAAgB,EAAE,OAAO,CAAC,yBAAyB,GAAG,CAAC;YACvD,cAAc,EAAE,KAAK,CAAC,QAAQ;SAC/B,CAAC,CAAC;IACL,CAAC;IACD,IAAI,WAAW,CAAC,yBAAyB,KAAK,OAAO,CAAC,yBAAyB,EAAE,CAAC;QAChF,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,yBAAyB,OAAO,CAAC,aAAa,6DAA6D,EAAE;YACpJ,iCAAiC,EAAE,OAAO,CAAC,yBAAyB;YACpE,+BAA+B,EAAE,WAAW,CAAC,yBAAyB;SACvE,CAAC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AACjC,CAAC;AAED,SAAS,0BAA0B,CAAC,OAAe,EAAE,WAAmB;IACtE,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,aAAa,WAAW,+BAA+B,EAAE;YAChG,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,aAAa,WAAW,+BAA+B,CAAC,CAAC;IACpG,CAAC;IACD,MAAM,MAAM,GAAG,MAAiC,CAAC;IACjD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;IACjG,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7E,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,aAAa,WAAW,wCAAwC,EAAE;YACzG,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QACjE,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,aAAa,WAAW,gDAAgD,CAAC,CAAC;IACrH,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC;QAC7E,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,aAAa,WAAW,sDAAsD,CAAC,CAAC;IAC3H,CAAC;IACD,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,UAAU,EAAE,aAAa,WAAW,uBAAuB,CAAC,CAAC;IACxG,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,WAAW,mBAAmB,CAAC,CAAC;IAC5F,MAAM,WAAW,GAAG,6BAA6B,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACnF,OAAO,sBAAsB,CAAC;QAC5B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,UAAU;QACV,WAAW;QACX,MAAM;KACP,CAAC,CAAC;AACL,CAAC;AAED,SAAS,+BAA+B,CAAC,OAAe,EAAE,WAAmB;IAC3E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,aAAa,WAAW,0CAA0C,CAAC,CAAC;IAC/G,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,GAAG,EAAE,CAAC;IAC3C,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,aAAa,WAAW,8CAA8C,CAAC,CAAC;IACnH,CAAC;IACD,MAAM,MAAM,GAAgC,EAAE,CAAC;IAC/C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,IAAI,iBAAiB,GAAkB,IAAI,CAAC;IAC5C,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;QAClD,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,aAAa,WAAW,0CAA0C,EAAE;gBAC3G,IAAI,EAAE,KAAK,GAAG,CAAC;gBACf,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;QACL,CAAC;QACD,MAAM,KAAK,GAAG,oCAAoC,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QACnF,iCAAiC,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QACtD,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,aAAa,WAAW,oDAAoD,EAAE;gBACrH,IAAI,EAAE,KAAK,GAAG,CAAC;gBACf,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC,CAAC;QACL,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,iBAAiB,KAAK,iBAAiB,EAAE,CAAC;YAClD,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,aAAa,WAAW,wCAAwC,EAAE;gBACzG,IAAI,EAAE,KAAK,GAAG,CAAC;gBACf,yBAAyB,EAAE,iBAAiB;gBAC5C,uBAAuB,EAAE,KAAK,CAAC,iBAAiB;aACjD,CAAC,CAAC;QACL,CAAC;QACD,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;QACzD,IAAI,KAAK,CAAC,SAAS,KAAK,iBAAiB,EAAE,CAAC;YAC1C,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,aAAa,WAAW,mCAAmC,EAAE;gBACpG,IAAI,EAAE,KAAK,GAAG,CAAC;gBACf,iBAAiB;gBACjB,eAAe,EAAE,KAAK,CAAC,SAAS;aACjC,CAAC,CAAC;QACL,CAAC;QACD,iBAAiB,GAAG,KAAK,CAAC,SAAS,CAAC;QACpC,MAAM,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,QAAQ,EAAE,CAAC;YACb,IACE,KAAK,CAAC,yBAAyB,IAAI,QAAQ,CAAC,yBAAyB;mBAClE,KAAK,CAAC,gBAAgB,KAAK,QAAQ,CAAC,iBAAiB;mBACrD,KAAK,CAAC,0BAA0B,KAAK,QAAQ,CAAC,2BAA2B;mBACzE,sBAAsB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAClF,CAAC;gBACD,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,aAAa,WAAW,8CAA8C,EAAE;oBAC/G,IAAI,EAAE,KAAK,GAAG,CAAC;oBACf,eAAe,EAAE,QAAQ,CAAC,OAAO;oBACjC,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,+BAA+B,CAAC,OAWxC;IACC,MAAM,EACJ,SAAS,EACT,cAAc,EACd,KAAK,EACL,GAAG,EACH,iBAAiB,EACjB,iBAAiB,EACjB,2BAA2B,EAC3B,2BAA2B,EAC3B,iBAAiB,EACjB,yBAAyB,GAC1B,GAAG,OAAO,CAAC;IACZ,OAAO;QACL,OAAO,EAAE,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;QAC5C,iBAAiB;QACjB,UAAU,EAAE,GAAG,CAAC,WAAW,EAAE;QAC7B,WAAW,EAAE,SAAS,CAAC,EAAE;QACzB,yBAAyB,EAAE,SAAS,CAAC,QAAQ;QAC7C,gBAAgB,EAAE,SAAS,CAAC,QAAQ;QACpC,0BAA0B,EAAE,SAAS,CAAC,kBAAkB;QACxD,iBAAiB;QACjB,2BAA2B;QAC3B,MAAM,EAAE,+BAA+B,CAAC,SAAS,CAAC;QAClD,KAAK,EAAE,8BAA8B,CAAC,cAAc,CAAC;QACrD,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE;QACnB,2BAA2B;QAC3B,GAAG,CAAC,iBAAiB,KAAK,oBAAoB;YAC5C,CAAC,CAAC,EAAE,iBAAiB,EAAE,yBAAyB,EAAE;YAClD,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED,SAAS,+BAA+B,CAAC,SAAyB;IAChE,OAAO;QACL,OAAO,EAAE,SAAS,CAAC,OAAO;QAC1B,aAAa,EAAE,SAAS,CAAC,aAAa;QACtC,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,OAAO,EAAE,SAAS,CAAC,OAAO;QAC1B,WAAW,EAAE,SAAS,CAAC,WAAW;KACnC,CAAC;AACJ,CAAC;AAED,SAAS,oCAAoC,CAC3C,MAAe,EACf,WAAmB,EACnB,IAAY;IAEZ,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,aAAa,WAAW,wCAAwC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACvH,CAAC;IACD,MAAM,MAAM,GAAG,MAAiC,CAAC;IACjD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;QAC1B,SAAS;QACT,YAAY;QACZ,mBAAmB;QACnB,aAAa;QACb,2BAA2B;QAC3B,kBAAkB;QAClB,4BAA4B;QAC5B,mBAAmB;QACnB,6BAA6B;QAC7B,QAAQ;QACR,OAAO;QACP,OAAO;QACP,6BAA6B;QAC7B,mBAAmB;QACnB,2BAA2B;QAC3B,WAAW;KACZ,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7E,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,aAAa,WAAW,iDAAiD,EAAE;YAClH,IAAI;YACJ,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IACD,MAAM,OAAO,GAAG,qBAAqB,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,WAAW,uBAAuB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACjH,MAAM,UAAU,GAAG,mBAAmB,CAAC,MAAM,CAAC,UAAU,EAAE,aAAa,WAAW,0BAA0B,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACxH,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,MAAM,CAAC,iBAAiB,EAAE,aAAa,WAAW,iCAAiC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/I,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,MAAM,CAAC,WAAW,EAAE,aAAa,WAAW,2BAA2B,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACnI,MAAM,yBAAyB,GAAG,cAAc,CAAC,MAAM,CAAC,yBAAyB,EAAE,aAAa,WAAW,yCAAyC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAChK,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,MAAM,CAAC,gBAAgB,EAAE,aAAa,WAAW,gCAAgC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5I,MAAM,0BAA0B,GAAG,cAAc,CAAC,MAAM,CAAC,0BAA0B,EAAE,aAAa,WAAW,0CAA0C,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACnK,MAAM,iBAAiB,GAAG,aAAa,CAAC,MAAM,CAAC,iBAAiB,EAAE,aAAa,WAAW,iCAAiC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACvI,MAAM,2BAA2B,GAAG,cAAc,CAAC,MAAM,CAAC,2BAA2B,EAAE,aAAa,WAAW,2CAA2C,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACtK,MAAM,MAAM,GAAG,2BAA2B,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACvF,MAAM,KAAK,GAAG,2BAA2B,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACpF,MAAM,KAAK,GAAG,qBAAqB,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,WAAW,qBAAqB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3G,MAAM,2BAA2B,GAAG,aAAa,CAC/C,MAAM,CAAC,2BAA2B,EAClC,aAAa,WAAW,2CAA2C,EACnE,EAAE,IAAI,EAAE,CACT,CAAC;IACF,MAAM,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,KAAK,SAAS;QAC9D,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,4CAA4C,CAAC,MAAM,CAAC,iBAAiB,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;IAC9F,MAAM,yBAAyB,GAAG,MAAM,CAAC,yBAAyB,KAAK,SAAS;QAC9E,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,qBAAqB,CACnB,MAAM,CAAC,yBAAyB,EAChC,aAAa,WAAW,yCAAyC,EACjE,EAAE,IAAI,EAAE,CACT,CAAC;IACN,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,WAAW,yBAAyB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/G,OAAO;QACL,OAAO;QACP,UAAU;QACV,iBAAiB;QACjB,WAAW,EAAE,iBAAiB;QAC9B,yBAAyB;QACzB,gBAAgB;QAChB,0BAA0B;QAC1B,iBAAiB;QACjB,2BAA2B;QAC3B,MAAM;QACN,KAAK;QACL,KAAK;QACL,2BAA2B;QAC3B,GAAG,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC;QACjE,GAAG,CAAC,yBAAyB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,yBAAyB,EAAE,CAAC;QACjF,SAAS;KACV,CAAC;AACJ,CAAC;AAED,SAAS,4CAA4C,CACnD,KAAc,EACd,WAAmB,EACnB,IAAY;IAEZ,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,oBAAoB,EAAE,CAAC;QACxD,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,aAAa,WAAW,6CAA6C,EAAE;YAC9G,IAAI;YACJ,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,2BAA2B,CAClC,KAAc,EACd,WAAmB,EACnB,IAAY,EACZ,KAAyB;IAEzB,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,aAAa,WAAW,iBAAiB,KAAK,8BAA8B,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACnI,CAAC;IACD,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC;IAC5G,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7E,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,aAAa,WAAW,iBAAiB,KAAK,uCAAuC,EAAE;YAC9H,IAAI;YACJ,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IACD,MAAM,QAAQ,GAAG;QACf,OAAO,EAAE,qBAAqB,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,WAAW,iBAAiB,KAAK,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC;QAClH,aAAa,EAAE,qBAAqB,CAAC,MAAM,CAAC,aAAa,EAAE,aAAa,WAAW,iBAAiB,KAAK,gBAAgB,EAAE,EAAE,IAAI,EAAE,CAAC;QACpI,UAAU,EAAE,gBAAgB,CAAC,MAAM,CAAC,UAAU,EAAE,aAAa,WAAW,iBAAiB,KAAK,aAAa,EAAE,EAAE,IAAI,EAAE,CAAC;QACtH,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,WAAW,iBAAiB,KAAK,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC;QAC1G,OAAO,EAAE,gBAAgB,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,WAAW,iBAAiB,KAAK,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC;QAC7G,WAAW,EAAE,6BAA6B,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;KAC7F,CAAC;IACF,qCAAqC,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9E,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,6BAA6B,CACpC,KAAc,EACd,WAAmB,EACnB,UAA6C,EAAE;IAE/C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC;IAC7E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,aAAa,WAAW,IAAI,KAAK,6BAA6B,EAAE,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACrK,CAAC;IACD,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,wBAAwB,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACnH,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACnE,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;QAC7C,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,aAAa,WAAW,IAAI,KAAK,8BAA8B,EAAE,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IACxL,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,wBAAwB,CAC/B,KAAc,EACd,WAAmB,EACnB,KAAa,EACb,IAAa;IAEb,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,aAAa,WAAW,wBAAwB,KAAK,qBAAqB,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACzK,CAAC;IACD,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;IACjE,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7E,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,aAAa,WAAW,yCAAyC,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IACtL,CAAC;IACD,MAAM,MAAM,GAAG,qBAAqB,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,WAAW,oBAAoB,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACpJ,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,MAAM,CAAC,WAAW,EAAE,aAAa,WAAW,yBAAyB,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACxK,IAAI,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACpE,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,aAAa,WAAW,qCAAqC,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC1N,CAAC;IACD,MAAM,WAAW,GAAG,gBAAsD,CAAC;IAC3E,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7E,IAAI,WAAW,KAAK,UAAU,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,aAAa,WAAW,eAAe,WAAW,qBAAqB,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACtK,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;AACzC,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc,EAAE,KAAa,EAAE,UAAmC,EAAE;IAC5F,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,GAAG,KAAK,6BAA6B,EAAE,OAAO,CAAC,CAAC;IAC3F,CAAC;IACD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAChC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YAC/C,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,GAAG,KAAK,IAAI,KAAK,+BAA+B,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACpH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc,EAAE,KAAa,EAAE,UAAmC,EAAE;IAC5F,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACxD,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;QAC7C,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,GAAG,KAAK,8BAA8B,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IAC5G,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc,EAAE,KAAa,EAAE,UAAmC,EAAE;IACjG,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;AACf,CAAC;AAED,SAAS,cAAc,CAAC,KAAc,EAAE,KAAa,EAAE,UAAmC,EAAE;IAC1F,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,GAAG,KAAK,sBAAsB,EAAE,OAAO,CAAC,CAAC;IACpF,CAAC;IACD,OAAO,KAAe,CAAC;AACzB,CAAC;AAED,SAAS,aAAa,CAAC,KAAc,EAAE,KAAa,EAAE,UAAmC,EAAE;IACzF,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,GAAG,KAAK,+BAA+B,EAAE,OAAO,CAAC,CAAC;IAC7F,CAAC;IACD,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc,EAAE,KAAa,EAAE,UAAmC,EAAE;IACjG,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAChC,OAAO,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc,EAAE,KAAa,EAAE,UAAmC,EAAE;IAC/F,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAClF,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,GAAG,KAAK,mCAAmC,EAAE,OAAO,CAAC,CAAC;IACjG,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,8BAA8B,CAAC,IAA6B;IACnE,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,WAAW,EAAE,IAAI,CAAC,WAAW;KAC9B,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAAC,IAA6B;IAChE,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;QACvB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;AAClB,CAAC;AAED,SAAS,oCAAoC,CAAC,WAAmB;IAC/D,OAAO,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;AACzD,CAAC;AAED,SAAS,sCAAsC,CAAC,KAW/C;IACC,OAAO,SAAS,CAAC,sBAAsB,CAAC;QACtC,IAAI,EAAE,2BAA2B;QACjC,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;QACxC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;QACxC,0BAA0B,EAAE,KAAK,CAAC,0BAA0B;QAC5D,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;QAC1C,2BAA2B,EAAE,KAAK,CAAC,2BAA2B;QAC9D,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,GAAG,CAAC,KAAK,CAAC,iBAAiB,KAAK,oBAAoB;YAClD,CAAC,CAAC;gBACE,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;gBAC1C,yBAAyB,EAAE,KAAK,CAAC,yBAAyB;aAC3D;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,qCAAqC,CAC5C,QAAgC,EAChC,WAAmB,EACnB,UAAmC,EAAE;IAErC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACtF,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IACtC,IACE,iBAAiB,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM;WACxC,iBAAiB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;WAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAChE,CAAC;QACD,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,aAAa,WAAW,mDAAmD,EAAE;YACpH,GAAG,OAAO;YACV,OAAO;YACP,iBAAiB;SAClB,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,iCAAiC,CACxC,OAAe,EACf,iBAAyB,EACzB,WAAmB,EACnB,aAAqB;IAErB,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,yBAAyB,aAAa,uCAAuC,EAAE;YACtH,WAAW;YACX,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,yBAAyB,aAAa,uCAAuC,EAAE;YACtH,WAAW;SACZ,CAAC,CAAC;IACL,CAAC;IACD,MAAM,MAAM,GAAG,MAAiC,CAAC;IACjD,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAChC,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,yBAAyB,aAAa,gCAAgC,EAAE;YAC/G,WAAW;YACX,IAAI,EAAE,MAAM,CAAC,IAAI;SAClB,CAAC,CAAC;IACL,CAAC;IACD,IAAI,MAAM,CAAC,EAAE,KAAK,WAAW,IAAI,MAAM,CAAC,SAAS,KAAK,iBAAiB,EAAE,CAAC;QACxE,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,yBAAyB,aAAa,oCAAoC,EAAE;YACnH,WAAW;YACX,iBAAiB;YACjB,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,yBAAyB,aAAa,oCAAoC,EAAE;YACnH,WAAW;YACX,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B,CAAC,CAAC;IACL,CAAC;IACD,IACE,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ;WAC9B,CAAC,CAAC,UAAU,EAAE,kCAAkC,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EACxI,CAAC;QACD,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,yBAAyB,aAAa,kCAAkC,EAAE;YACjH,WAAW;YACX,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;QAClH,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,yBAAyB,aAAa,mCAAmC,EAAE;YAClH,WAAW;SACZ,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAwB,CAAC;AAClC,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAqB,EAAE,SAAiB,EAAE,WAAmB;IAC/F,MAAM,kBAAkB,GAAG,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACxD,MAAM,kBAAkB,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAChI,MAAM,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;IACzE,MAAM,oBAAoB,GAAG,UAAU,CAAC,oBAAoB,CAAC;QAC3D,CAAC,CAAC,YAAY,CAAC,oBAAoB,CAAC;QACpC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;IAChD,MAAM,oBAAoB,GAAG,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACzE,6BAA6B,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAE,8BAA8B,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAClH,IAAI,UAAU,CAAC,oBAAoB,CAAC,IAAI,SAAS,CAAC,oBAAoB,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC;QACzF,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,yCAAyC,oBAAoB,EAAE,CAAC,CAAC;IAC5G,CAAC;IACD,MAAM,qBAAqB,GAAG,UAAU,CAAC,oBAAoB,CAAC;QAC5D,CAAC,CAAC,YAAY,CAAC,oBAAoB,CAAC;QACpC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAC;IACpD,IACE,qBAAqB,KAAK,oBAAoB;WAC3C,CAAC,qBAAqB,CAAC,UAAU,CAAC,GAAG,oBAAoB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,EAC1E,CAAC;QACD,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,4DAA4D,oBAAoB,EAAE,EAAE;YAC3H,oBAAoB;YACpB,qBAAqB;SACtB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,qBAAqB,CAAC;AAC/B,CAAC;AAED,SAAS,cAAc,CAAC,IAAe;IACrC,OAAO,IAAI,CAAC,cAAc,KAAK,IAAI,IAAI;QACrC,aAAa;QACb,YAAY;QACZ,WAAW;QACX,2BAA2B;QAC3B,SAAS;QACT,gBAAgB;QAChB,QAAQ;KACT,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"milestone.js","sourceRoot":"","sources":["../../../src/alpha6/milestone.ts"],"names":[],"mappings":"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"}
@@ -29,5 +29,6 @@ export declare function buildPlanRiskAuditEvent(store: FileStateStore, task: Tas
29
29
  event: Omit<PlanRiskAuditEvent, 'previousEventHash' | 'eventHash'>;
30
30
  };
31
31
  export declare function appendCurrentPlanRiskAudit(store: FileStateStore, task: TaskState, input: RecordPlanRiskAuditInput, now: Date): PlanRiskAuditEvent;
32
+ export declare function validateCorrectiveReplanRiskAuditPayload(task: TaskState, event: Pick<PlanRiskAuditEvent, 'taskId' | 'taskRevision' | 'briefHash' | 'planHash' | 'knowledgeMapRevision' | 'knowledgeMapHash' | 'planner' | 'auditor' | 'summary' | 'decision' | 'splitRationale' | 'stepClassifications'>, expectedStepIds: readonly string[]): void;
32
33
  export declare function appendReboundPlanRiskAudit(store: FileStateStore, sourceTask: TaskState, reboundTask: TaskState, sourceAudit: CurrentPlanRiskAudit, now: Date): PlanRiskAuditEvent;
33
34
  export declare function readPlanRiskAuditEvents(store: FileStateStore, task: TaskState): PlanRiskAuditEvent[];
@@ -174,6 +174,12 @@ export function appendCurrentPlanRiskAudit(store, task, input, now) {
174
174
  validateEvent: (event, context) => validateStoredPlanRiskAuditEvent(event, task, context.file, context.line),
175
175
  });
176
176
  }
177
+ export function validateCorrectiveReplanRiskAuditPayload(task, event, expectedStepIds) {
178
+ validatePlanRiskAuditPayload(task, event, expectedStepIds, 'INVALID_ARGUMENT', { taskId: task.id });
179
+ if (event.decision === 'split-required' || event.decision === 'stop-escalate') {
180
+ throw new WorkflowError('TRANSITION_BLOCKED', `Plan Risk Audit decision ${event.decision} blocks corrective replan.`);
181
+ }
182
+ }
177
183
  export function appendReboundPlanRiskAudit(store, sourceTask, reboundTask, sourceAudit, now) {
178
184
  assertReboundPlanRiskAuditAllowed(store, sourceTask, reboundTask, sourceAudit);
179
185
  return appendCurrentPlanRiskAudit(store, reboundTask, {
@@ -465,9 +471,9 @@ function validateStoredPlanRiskAuditEvent(event, task, file, line) {
465
471
  file,
466
472
  line,
467
473
  eventId: event.eventId,
468
- });
474
+ }, false);
469
475
  }
470
- function validatePlanRiskAuditPayload(task, event, expectedStepIds, errorCode, details) {
476
+ function validatePlanRiskAuditPayload(task, event, expectedStepIds, errorCode, details, requireCurrentStepChecks = true) {
471
477
  if (event.taskId !== task.id) {
472
478
  throw new WorkflowError(errorCode, 'Plan Risk Audit task binding does not match its task root.', {
473
479
  ...details,
@@ -496,9 +502,9 @@ function validatePlanRiskAuditPayload(task, event, expectedStepIds, errorCode, d
496
502
  if (!Array.isArray(event.stepClassifications)) {
497
503
  throw new WorkflowError(errorCode, 'Plan Risk Audit stepClassifications must be an array.', details);
498
504
  }
499
- validateStepClassificationSet(task, event.stepClassifications, event.decision, event.splitRationale, expectedStepIds, errorCode, details);
505
+ validateStepClassificationSet(task, event.stepClassifications, event.decision, event.splitRationale, expectedStepIds, errorCode, details, requireCurrentStepChecks);
500
506
  }
501
- function validateStepClassificationSet(task, classifications, decision, splitRationale, expectedStepIds, errorCode, details) {
507
+ function validateStepClassificationSet(task, classifications, decision, splitRationale, expectedStepIds, errorCode, details, requireCurrentStepChecks = true) {
502
508
  const currentTaskStepIds = new Set(task.steps.map((step) => step.id));
503
509
  const normalizedStepIds = classifications.map((classification) => normalizeNonEmptyString(classification?.stepId, 'Plan Risk Audit classification stepId', {
504
510
  code: errorCode,
@@ -528,7 +534,7 @@ function validateStepClassificationSet(task, classifications, decision, splitRat
528
534
  }
529
535
  if (classification.reviewRequired)
530
536
  reviewRequiredCount += 1;
531
- validateStepClassification(task, classification, errorCode, details);
537
+ validateStepClassification(task, classification, errorCode, details, requireCurrentStepChecks);
532
538
  classification.categories.forEach((category) => guardedCategories.add(category));
533
539
  }
534
540
  if ((decision === 'split-required' || decision === 'stop-escalate') && reviewRequiredCount === 0) {
@@ -623,7 +629,7 @@ function validateCurrentPlanRiskAudit(store, task, audit, expectedStepIds, optio
623
629
  .filter((classification) => classification.reviewRequired)
624
630
  .map((classification) => classification.stepId);
625
631
  }
626
- function validateStepClassification(task, classification, errorCode, details) {
632
+ function validateStepClassification(task, classification, errorCode, details, requireCurrentStepChecks = true) {
627
633
  if (!Array.isArray(classification.categories)) {
628
634
  throw new WorkflowError(errorCode, 'Plan Risk Audit categories must be an array.', {
629
635
  ...details,
@@ -704,7 +710,9 @@ function validateStepClassification(task, classification, errorCode, details) {
704
710
  });
705
711
  }
706
712
  }
707
- const step = task.steps.find((candidate) => candidate.id === classification.stepId);
713
+ const step = requireCurrentStepChecks
714
+ ? task.steps.find((candidate) => candidate.id === classification.stepId)
715
+ : undefined;
708
716
  if (step) {
709
717
  const missingChecks = requiredEvidence.filter((evidence) => !step.checks.includes(evidence));
710
718
  if (missingChecks.length > 0) {