agentera 3.0.0-dev.22 → 3.0.0-dev.25

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 (274) hide show
  1. package/README.md +9 -5
  2. package/bundle/.cursor/agents/agentera.md +1 -1
  3. package/bundle/.opencode/agents/agentera.md +1 -1
  4. package/bundle/CHANGELOG.md +15 -5
  5. package/bundle/README.md +9 -8
  6. package/bundle/UPGRADE.md +10 -24
  7. package/bundle/agents/openai.yaml +1 -1
  8. package/bundle/references/adapters/package-manifest-interface-model.yaml +2 -0
  9. package/bundle/references/adapters/package-registry.yaml +9 -0
  10. package/bundle/references/artifacts/state-storage-authority.yaml +842 -15
  11. package/bundle/references/cli/agent-ready-state-contract.yaml +25 -17
  12. package/bundle/references/cli/prime-consumer-compatibility.yaml +676 -0
  13. package/bundle/references/cli/update-channels.yaml +4 -2
  14. package/bundle/references/cli/vocabulary-index.yaml +3 -3
  15. package/bundle/references/cli/vocabulary.md +14 -7
  16. package/bundle/skills/agentera/SKILL.md +35 -20
  17. package/bundle/skills/agentera/agents/audit.toml +1 -1
  18. package/bundle/skills/agentera/agents/build.toml +1 -1
  19. package/bundle/skills/agentera/agents/design.toml +1 -1
  20. package/bundle/skills/agentera/agents/discuss.toml +1 -1
  21. package/bundle/skills/agentera/agents/document.toml +1 -1
  22. package/bundle/skills/agentera/agents/optimize.toml +1 -1
  23. package/bundle/skills/agentera/agents/orchestrate.toml +1 -1
  24. package/bundle/skills/agentera/agents/plan.toml +1 -1
  25. package/bundle/skills/agentera/agents/profile.toml +1 -1
  26. package/bundle/skills/agentera/agents/research.toml +1 -1
  27. package/bundle/skills/agentera/agents/status.toml +1 -1
  28. package/bundle/skills/agentera/agents/vision.toml +1 -1
  29. package/bundle/skills/agentera/capabilities/audit/schemas/artifacts.yaml +12 -12
  30. package/bundle/skills/agentera/capabilities/audit/schemas/validation.yaml +2 -2
  31. package/bundle/skills/agentera/capabilities/build/schemas/artifacts.yaml +12 -12
  32. package/bundle/skills/agentera/capabilities/build/schemas/validation.yaml +8 -8
  33. package/bundle/skills/agentera/capabilities/design/schemas/artifacts.yaml +6 -6
  34. package/bundle/skills/agentera/capabilities/discuss/schemas/artifacts.yaml +7 -7
  35. package/bundle/skills/agentera/capabilities/document/schemas/artifacts.yaml +12 -12
  36. package/bundle/skills/agentera/capabilities/optimize/schemas/artifacts.yaml +9 -9
  37. package/bundle/skills/agentera/capabilities/orchestrate/schemas/artifacts.yaml +11 -11
  38. package/bundle/skills/agentera/capabilities/plan/schemas/artifacts.yaml +9 -9
  39. package/bundle/skills/agentera/capabilities/profile/schemas/artifacts.yaml +2 -2
  40. package/bundle/skills/agentera/capabilities/research/schemas/artifacts.yaml +3 -3
  41. package/bundle/skills/agentera/capabilities/status/schemas/artifacts.yaml +11 -11
  42. package/bundle/skills/agentera/capabilities/vision/schemas/artifacts.yaml +8 -8
  43. package/bundle/skills/agentera/schemas/artifacts/decisions.yaml +15 -2
  44. package/bundle/skills/agentera/schemas/artifacts/docs.yaml +4 -1
  45. package/bundle/skills/agentera/schemas/artifacts/experiments.yaml +21 -21
  46. package/bundle/skills/agentera/schemas/artifacts/health.yaml +15 -2
  47. package/bundle/skills/agentera/schemas/artifacts/plan.yaml +36 -15
  48. package/bundle/skills/agentera/schemas/artifacts/progress.yaml +15 -2
  49. package/bundle/skills/agentera/schemas/artifacts/todo.yaml +4 -4
  50. package/dist/capabilities/audit/instructions.js +13 -1
  51. package/dist/capabilities/audit/instructions.js.map +1 -1
  52. package/dist/capabilities/build/instructions.js +14 -1
  53. package/dist/capabilities/build/instructions.js.map +1 -1
  54. package/dist/capabilities/discuss/instructions.js +11 -1
  55. package/dist/capabilities/discuss/instructions.js.map +1 -1
  56. package/dist/capabilities/document/instructions.js +9 -1
  57. package/dist/capabilities/document/instructions.js.map +1 -1
  58. package/dist/capabilities/index.js +9 -8
  59. package/dist/capabilities/index.js.map +1 -1
  60. package/dist/capabilities/optimize/instructions.js +10 -1
  61. package/dist/capabilities/optimize/instructions.js.map +1 -1
  62. package/dist/capabilities/orchestrate/instructions.js +13 -2
  63. package/dist/capabilities/orchestrate/instructions.js.map +1 -1
  64. package/dist/capabilities/plan/instructions.js +10 -1
  65. package/dist/capabilities/plan/instructions.js.map +1 -1
  66. package/dist/capabilities/status/startupInstructions.js +35 -0
  67. package/dist/capabilities/status/startupInstructions.js.map +1 -0
  68. package/dist/cli/capabilityContext/build.js +3 -3
  69. package/dist/cli/capabilityContext/build.js.map +1 -1
  70. package/dist/cli/capabilityContext/closeout.js +5 -5
  71. package/dist/cli/capabilityContext/closeout.js.map +1 -1
  72. package/dist/cli/capabilityContext/contract.js +14 -19
  73. package/dist/cli/capabilityContext/contract.js.map +1 -1
  74. package/dist/cli/capabilityContext/evidence.js +7 -7
  75. package/dist/cli/capabilityContext/evidence.js.map +1 -1
  76. package/dist/cli/capabilityContext/planState.js +12 -11
  77. package/dist/cli/capabilityContext/planState.js.map +1 -1
  78. package/dist/cli/capabilityContext/progress.js +1 -1
  79. package/dist/cli/capabilityContext/progress.js.map +1 -1
  80. package/dist/cli/capabilityContext/shared.js +8 -2
  81. package/dist/cli/capabilityContext/shared.js.map +1 -1
  82. package/dist/cli/capabilityContext/slim.js +2 -1
  83. package/dist/cli/capabilityContext/slim.js.map +1 -1
  84. package/dist/cli/capabilityContext/startup.js +22 -11
  85. package/dist/cli/capabilityContext/startup.js.map +1 -1
  86. package/dist/cli/capabilityContext/types.js +4 -4
  87. package/dist/cli/capabilityContext/types.js.map +1 -1
  88. package/dist/cli/commands/backfill.js +39 -2
  89. package/dist/cli/commands/backfill.js.map +1 -1
  90. package/dist/cli/commands/durability.js +34 -1
  91. package/dist/cli/commands/durability.js.map +1 -1
  92. package/dist/cli/commands/entityMigrate.js +128 -0
  93. package/dist/cli/commands/entityMigrate.js.map +1 -0
  94. package/dist/cli/commands/migrate.js +4 -0
  95. package/dist/cli/commands/migrate.js.map +1 -1
  96. package/dist/cli/commands/prime/briefOrientation.js +584 -0
  97. package/dist/cli/commands/prime/briefOrientation.js.map +1 -0
  98. package/dist/cli/commands/prime/collectEntityOrientation.js +148 -0
  99. package/dist/cli/commands/prime/collectEntityOrientation.js.map +1 -0
  100. package/dist/cli/commands/prime/collectOrientationState.js +21 -27
  101. package/dist/cli/commands/prime/collectOrientationState.js.map +1 -1
  102. package/dist/cli/commands/prime/orientationOutput.js +118 -24
  103. package/dist/cli/commands/prime/orientationOutput.js.map +1 -1
  104. package/dist/cli/commands/prime.js +32 -3
  105. package/dist/cli/commands/prime.js.map +1 -1
  106. package/dist/cli/commands/query.js +41 -15
  107. package/dist/cli/commands/query.js.map +1 -1
  108. package/dist/cli/commands/schema.js +10 -34
  109. package/dist/cli/commands/schema.js.map +1 -1
  110. package/dist/cli/commands/state/decisions.js +13 -0
  111. package/dist/cli/commands/state/decisions.js.map +1 -1
  112. package/dist/cli/commands/state/docs.js +38 -0
  113. package/dist/cli/commands/state/docs.js.map +1 -1
  114. package/dist/cli/commands/state/experimentRecords.js +82 -0
  115. package/dist/cli/commands/state/experimentRecords.js.map +1 -1
  116. package/dist/cli/commands/state/experiments.js +13 -0
  117. package/dist/cli/commands/state/experiments.js.map +1 -1
  118. package/dist/cli/commands/state/get.js +69 -2
  119. package/dist/cli/commands/state/get.js.map +1 -1
  120. package/dist/cli/commands/state/health.js +13 -0
  121. package/dist/cli/commands/state/health.js.map +1 -1
  122. package/dist/cli/commands/state/index.js +9 -0
  123. package/dist/cli/commands/state/index.js.map +1 -1
  124. package/dist/cli/commands/state/list.js +40 -7
  125. package/dist/cli/commands/state/list.js.map +1 -1
  126. package/dist/cli/commands/state/objective.js +24 -0
  127. package/dist/cli/commands/state/objective.js.map +1 -1
  128. package/dist/cli/commands/state/plan.js +17 -2
  129. package/dist/cli/commands/state/plan.js.map +1 -1
  130. package/dist/cli/commands/state/planTasks.js +38 -25
  131. package/dist/cli/commands/state/planTasks.js.map +1 -1
  132. package/dist/cli/commands/state/plans.js +32 -16
  133. package/dist/cli/commands/state/plans.js.map +1 -1
  134. package/dist/cli/commands/state/progress.js +12 -0
  135. package/dist/cli/commands/state/progress.js.map +1 -1
  136. package/dist/cli/commands/state/shared.js.map +1 -1
  137. package/dist/cli/commands/state/todo.js +30 -0
  138. package/dist/cli/commands/state/todo.js.map +1 -1
  139. package/dist/cli/commands/state/write.js +79 -4
  140. package/dist/cli/commands/state/write.js.map +1 -1
  141. package/dist/cli/commands/upgrade.js +65 -31
  142. package/dist/cli/commands/upgrade.js.map +1 -1
  143. package/dist/cli/commands/upgradeVerify.js +46 -14
  144. package/dist/cli/commands/upgradeVerify.js.map +1 -1
  145. package/dist/cli/commands/validate.js +65 -0
  146. package/dist/cli/commands/validate.js.map +1 -1
  147. package/dist/cli/dispatch/check.js +8 -1
  148. package/dist/cli/dispatch/check.js.map +1 -1
  149. package/dist/cli/dispatch/index.js +6 -0
  150. package/dist/cli/dispatch/index.js.map +1 -1
  151. package/dist/cli/dispatch/lifecycle.js +2 -5
  152. package/dist/cli/dispatch/lifecycle.js.map +1 -1
  153. package/dist/cli/dispatch/prime.js +15 -0
  154. package/dist/cli/dispatch/prime.js.map +1 -1
  155. package/dist/cli/dispatch/state.js +7 -1
  156. package/dist/cli/dispatch/state.js.map +1 -1
  157. package/dist/cli/help.js +79 -21
  158. package/dist/cli/help.js.map +1 -1
  159. package/dist/cli/migrationRequired.js +84 -0
  160. package/dist/cli/migrationRequired.js.map +1 -0
  161. package/dist/cli/orientation/attention.js +2 -2
  162. package/dist/cli/orientation/attention.js.map +1 -1
  163. package/dist/cli/orientation.js +13 -10
  164. package/dist/cli/orientation.js.map +1 -1
  165. package/dist/cli/planArtifacts.js +192 -42
  166. package/dist/cli/planArtifacts.js.map +1 -1
  167. package/dist/cli/prime-blob.js +5 -5
  168. package/dist/cli/prime-blob.js.map +1 -1
  169. package/dist/cli/startupCompletenessContract.js +3 -3
  170. package/dist/cli/startupCompletenessContract.js.map +1 -1
  171. package/dist/cli/stateQuery.js +42 -5
  172. package/dist/cli/stateQuery.js.map +1 -1
  173. package/dist/hooks/compaction/status.js +25 -1
  174. package/dist/hooks/compaction/status.js.map +1 -1
  175. package/dist/hooks/cursorSessionStart.js +6 -0
  176. package/dist/hooks/cursorSessionStart.js.map +1 -1
  177. package/dist/hooks/sessionStart.js +62 -0
  178. package/dist/hooks/sessionStart.js.map +1 -1
  179. package/dist/registries/artifactRegistry.js +23 -14
  180. package/dist/registries/artifactRegistry.js.map +1 -1
  181. package/dist/registries/packageRegistry.js +1 -1
  182. package/dist/registries/packageRegistry.js.map +1 -1
  183. package/dist/state/archivePublication.js +3 -2
  184. package/dist/state/archivePublication.js.map +1 -1
  185. package/dist/state/decisionEntities.js +279 -0
  186. package/dist/state/decisionEntities.js.map +1 -0
  187. package/dist/state/decisionLegacyValidation.js +185 -0
  188. package/dist/state/decisionLegacyValidation.js.map +1 -0
  189. package/dist/state/decisionOverlay.js +26 -3
  190. package/dist/state/decisionOverlay.js.map +1 -1
  191. package/dist/state/decisionRevision.js +632 -0
  192. package/dist/state/decisionRevision.js.map +1 -0
  193. package/dist/state/decisionRevisionPublication.js +532 -0
  194. package/dist/state/decisionRevisionPublication.js.map +1 -0
  195. package/dist/state/directRetrieval.js +55 -4
  196. package/dist/state/directRetrieval.js.map +1 -1
  197. package/dist/state/durability.js +92 -1
  198. package/dist/state/durability.js.map +1 -1
  199. package/dist/state/entityCutover.js +390 -0
  200. package/dist/state/entityCutover.js.map +1 -0
  201. package/dist/state/entityCutoverGit.js +128 -0
  202. package/dist/state/entityCutoverGit.js.map +1 -0
  203. package/dist/state/entityMigrationPreview.js +803 -0
  204. package/dist/state/entityMigrationPreview.js.map +1 -0
  205. package/dist/state/entityPublicationContext.js +612 -0
  206. package/dist/state/entityPublicationContext.js.map +1 -0
  207. package/dist/state/entityStorage.js +807 -0
  208. package/dist/state/entityStorage.js.map +1 -0
  209. package/dist/state/experimentIdentity.js +23 -11
  210. package/dist/state/experimentIdentity.js.map +1 -1
  211. package/dist/state/gitBackfill.js.map +1 -1
  212. package/dist/state/healthEntities.js +227 -0
  213. package/dist/state/healthEntities.js.map +1 -0
  214. package/dist/state/healthEntityValidation.js +6 -0
  215. package/dist/state/healthEntityValidation.js.map +1 -0
  216. package/dist/state/legacyEntityCutoverEvidence.js +66 -0
  217. package/dist/state/legacyEntityCutoverEvidence.js.map +1 -0
  218. package/dist/state/listRetrieval.js +42 -11
  219. package/dist/state/listRetrieval.js.map +1 -1
  220. package/dist/state/objectiveExperimentEntities.js +321 -0
  221. package/dist/state/objectiveExperimentEntities.js.map +1 -0
  222. package/dist/state/planEntities.js +358 -0
  223. package/dist/state/planEntities.js.map +1 -0
  224. package/dist/state/progressEntities.js +382 -0
  225. package/dist/state/progressEntities.js.map +1 -0
  226. package/dist/state/projectRoot.js +63 -0
  227. package/dist/state/projectRoot.js.map +1 -0
  228. package/dist/state/projectionRecovery.js +458 -0
  229. package/dist/state/projectionRecovery.js.map +1 -0
  230. package/dist/state/retrievalAuthority.js +13 -6
  231. package/dist/state/retrievalAuthority.js.map +1 -1
  232. package/dist/state/safeProjectFile.js +153 -0
  233. package/dist/state/safeProjectFile.js.map +1 -0
  234. package/dist/state/startupProjection.js +68 -1
  235. package/dist/state/startupProjection.js.map +1 -1
  236. package/dist/state/stateMode.js +76 -0
  237. package/dist/state/stateMode.js.map +1 -0
  238. package/dist/state/todoDocsEntities.js +223 -0
  239. package/dist/state/todoDocsEntities.js.map +1 -0
  240. package/dist/state/todoDocsEntityValidation.js +26 -0
  241. package/dist/state/todoDocsEntityValidation.js.map +1 -0
  242. package/dist/state/write/candidateMutation.js +281 -0
  243. package/dist/state/write/candidateMutation.js.map +1 -0
  244. package/dist/state/write/explain.js +156 -33
  245. package/dist/state/write/explain.js.map +1 -1
  246. package/dist/state/write/helpers.js +22 -0
  247. package/dist/state/write/helpers.js.map +1 -1
  248. package/dist/state/write/lock.js +794 -87
  249. package/dist/state/write/lock.js.map +1 -1
  250. package/dist/state/write/mutation.js +47 -2
  251. package/dist/state/write/mutation.js.map +1 -1
  252. package/dist/state/write/operations.js +99 -6
  253. package/dist/state/write/operations.js.map +1 -1
  254. package/dist/state/write/planEvaluation.js +107 -0
  255. package/dist/state/write/planEvaluation.js.map +1 -0
  256. package/dist/state/write/planPublication.js +11 -55
  257. package/dist/state/write/planPublication.js.map +1 -1
  258. package/dist/state/write/transaction.js +111 -358
  259. package/dist/state/write/transaction.js.map +1 -1
  260. package/dist/upgrade/compatibility.js +4 -4
  261. package/dist/upgrade/compatibility.js.map +1 -1
  262. package/dist/upgrade/migrateArtifactsV2ToV3.js +13 -14
  263. package/dist/upgrade/migrateArtifactsV2ToV3.js.map +1 -1
  264. package/dist/upgrade/upgradeOrchestrator.js +126 -23
  265. package/dist/upgrade/upgradeOrchestrator.js.map +1 -1
  266. package/dist/validate/crossCapability.js +2 -2
  267. package/dist/validate/crossCapability.js.map +1 -1
  268. package/dist/validate/lifecycleAdapters/lifecycleMain.js +154 -0
  269. package/dist/validate/lifecycleAdapters/lifecycleMain.js.map +1 -0
  270. package/dist/validate/lifecycleAdapters.js +5 -156
  271. package/dist/validate/lifecycleAdapters.js.map +1 -1
  272. package/package.json +3 -3
  273. package/dist/upgrade/upgradeSnapshot.js +0 -93
  274. package/dist/upgrade/upgradeSnapshot.js.map +0 -1
@@ -0,0 +1,66 @@
1
+ import { createHash } from "node:crypto";
2
+ import path from "node:path";
3
+ import { loadYamlMapping } from "../core/yaml.js";
4
+ import { validateRealProjectRoot } from "./projectRoot.js";
5
+ import { readProjectFileSnapshot } from "./safeProjectFile.js";
6
+ function hash(bytes) {
7
+ return createHash("sha256").update(bytes).digest("hex");
8
+ }
9
+ function mapping(value) {
10
+ return value !== null && typeof value === "object" && !Array.isArray(value);
11
+ }
12
+ function read(project, relative) {
13
+ const observed = readProjectFileSnapshot(validateRealProjectRoot(project), relative);
14
+ if (observed.kind !== "file")
15
+ throw new Error(`historical entity cutover evidence '${relative}' is missing or unsafe`);
16
+ return observed.bytes;
17
+ }
18
+ function safeTarget(value) {
19
+ return value.startsWith(".agentera/entities/")
20
+ && !path.isAbsolute(value)
21
+ && value.split("/").every((part) => part !== "" && part !== "." && part !== "..");
22
+ }
23
+ /** Minimal read-only compatibility required by public state validation. */
24
+ export function loadLegacyEntityCutoverTargets(projectRoot, markerBytes) {
25
+ const project = validateRealProjectRoot(projectRoot).path;
26
+ const marker = loadYamlMapping(markerBytes.toString("utf8"));
27
+ const id = marker.migration_id;
28
+ if (typeof id !== "string" || !/^[a-f0-9]{20}$/.test(id))
29
+ throw new Error("entity marker has no valid historical migration binding");
30
+ const root = `.agentera/migrations/entities/${id}`;
31
+ const journalBytes = read(project, `${root}/journal.yaml`);
32
+ const manifestBytes = read(project, `${root}/manifest.yaml`);
33
+ const journal = loadYamlMapping(journalBytes.toString("utf8"));
34
+ const manifest = loadYamlMapping(manifestBytes.toString("utf8"));
35
+ if (journal.schemaVersion !== "agentera.entityMigrationJournal.v1"
36
+ || journal.migration_id !== id
37
+ || journal.phase !== "cutover_complete"
38
+ || journal.manifest_sha256 !== hash(manifestBytes)
39
+ || manifest.schemaVersion !== "agentera.entityMigrationManifest.v1"
40
+ || manifest.migration_id !== id
41
+ || journal.source_fingerprint !== marker.source_fingerprint
42
+ || journal.preview_digest !== marker.preview_digest
43
+ || manifest.source_fingerprint !== marker.source_fingerprint
44
+ || manifest.preview_digest !== marker.preview_digest) {
45
+ throw new Error(`historical entity cutover evidence '${id}' does not match its marker`);
46
+ }
47
+ const receipts = mapping(manifest.receipts) ? manifest.receipts : {};
48
+ const markerReceipt = mapping(receipts[".agentera/state-mode.yaml"]) ? receipts[".agentera/state-mode.yaml"] : null;
49
+ if (!markerReceipt || markerReceipt.sha256 !== hash(markerBytes))
50
+ throw new Error(`historical entity cutover marker '${id}' diverges from its manifest`);
51
+ if (!Array.isArray(manifest.entries))
52
+ throw new Error(`historical entity cutover manifest '${id}' has no target inventory`);
53
+ const targets = manifest.entries.map((value) => {
54
+ const entry = mapping(value) ? value : {};
55
+ const target = mapping(entry.proposed_target) ? entry.proposed_target : {};
56
+ if (typeof target.path !== "string" || !safeTarget(target.path) || typeof target.id !== "string" || typeof entry.artifact !== "string" || typeof entry.target_sha256 !== "string" || !/^[a-f0-9]{64}$/.test(entry.target_sha256)) {
57
+ throw new Error(`historical entity cutover manifest '${id}' has an invalid target`);
58
+ }
59
+ return { path: target.path, sha256: entry.target_sha256, id: target.id, artifact: entry.artifact };
60
+ });
61
+ if (new Set(targets.map(({ path: target }) => target)).size !== targets.length) {
62
+ throw new Error(`historical entity cutover manifest '${id}' target inventory is duplicated`);
63
+ }
64
+ return targets;
65
+ }
66
+ //# sourceMappingURL=legacyEntityCutoverEvidence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacyEntityCutoverEvidence.js","sourceRoot":"","sources":["../../src/state/legacyEntityCutoverEvidence.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ import { resolveSourceRoot } from "../core/sourceRoot.js";
6
6
  import { assertRealpathBoundary } from "../registries/artifactRegistry.js";
7
7
  import { canonicalRecordJson, decisionOverlayContract, discoverNumberedArchives, numberedArchiveContract, stateCurrentProjectionPath, validateStateRecord, } from "./archiveDiscovery.js";
8
8
  import { decisionOverlayPath, loadDecisionOverlay } from "./decisionOverlay.js";
9
+ import { decisionRevisionPath, loadDecisionRevisionSnapshot, decisionRevisionFields, composedRevisionRecord, } from "./decisionRevision.js";
9
10
  import { loadProjectionPolicy, serializedProjectionBytes } from "./projectionPolicy.js";
10
11
  import { StateRetrievalFailure } from "./directRetrieval.js";
11
12
  import { physicalCounts, provenanceCounts } from "./listAccounting.js";
@@ -272,6 +273,18 @@ function overlayState(projectRoot, artifactId, sourceRoot) {
272
273
  mutablePaths: contract.mutablePaths,
273
274
  };
274
275
  }
276
+ function revisionState(projectRoot, artifactId, sourceRoot) {
277
+ if (artifactId !== "decisions")
278
+ return null;
279
+ let snapshot;
280
+ try {
281
+ snapshot = loadDecisionRevisionSnapshot(projectRoot, sourceRoot);
282
+ }
283
+ catch (error) {
284
+ throw listFailure(1, "corrupt", error.message, artifactId, "Repair the decision revision document, then retry the list command.", { path: decisionRevisionPath(projectRoot, sourceRoot) });
285
+ }
286
+ return snapshot ? { path: snapshot.path, revision: hashValue(snapshot.document), snapshot } : null;
287
+ }
275
288
  function rejectionNumber(rejected, artifactId) {
276
289
  const expected = path.join(`${path.sep}${artifactId}`, "");
277
290
  if (!rejected.path.includes(expected))
@@ -439,12 +452,13 @@ function validateListFilters(artifactId, filters) {
439
452
  }
440
453
  }
441
454
  }
442
- function snapshotId(candidates, artifactId, filters, overlayRevision) {
455
+ function snapshotId(candidates, artifactId, filters, overlayRevision, revisionRevision) {
443
456
  const identity = {
444
457
  artifact_id: artifactId,
445
458
  order: LIST_ORDER,
446
459
  filters,
447
460
  overlay_revision: overlayRevision,
461
+ revision_revision: revisionRevision,
448
462
  candidates: candidates.map((candidate) => ({
449
463
  stable_id: candidate.stableId,
450
464
  sort_key: candidate.sortKey,
@@ -495,13 +509,14 @@ function recordStatus(candidate, overlay) {
495
509
  return satisfaction.state;
496
510
  return "unknown";
497
511
  }
498
- function listEntry(candidate, overlay, projectRoot, contract) {
512
+ function listEntry(candidate, overlay, revision, projectRoot, contract) {
499
513
  const archivePath = candidate.archive?.path ?? candidate.corruptArchive?.path ?? path.join(path.resolve(projectRoot), contract.archiveRoot, candidate.artifactId, `${candidate.entryNumber ?? "unaddressable"}${contract.archiveExtension}`);
500
514
  const hasArchive = candidate.archive !== undefined;
501
515
  const currentStatus = candidate.current ? (candidate.current.representation === "full" ? "active" : "summary") : "archive_only";
502
516
  const source = hasArchive ? "archive" : candidate.corruptArchive ? "archive" : candidate.current?.representation === "full" ? "legacy_full" : "legacy_summary";
503
517
  const detailAvailability = hasArchive ? "full" : candidate.current?.representation === "full" ? "full" : candidate.current ? "summary" : candidate.rows[0]?.representation ?? "unavailable";
504
- const fields = overlayFields(overlay, candidate.stableId ?? "");
518
+ const overlayFieldsForEntry = overlayFields(overlay, candidate.stableId ?? "");
519
+ const revisionForEntry = decisionRevisionFields(revision?.snapshot ?? null, candidate.stableId ?? "");
505
520
  const addressable = candidate.stableId !== null;
506
521
  const physicalRows = candidate.rows.map((row) => ({
507
522
  row_id: row.rowKey,
@@ -549,14 +564,28 @@ function listEntry(candidate, overlay, projectRoot, contract) {
549
564
  : { retrieval: { available: false, reason: "unaddressable", message: "No stable ID was inferred from this physical row; list output is the only supported view." } }),
550
565
  };
551
566
  if (overlay && addressable) {
552
- entry.overlay_applied = fields.length > 0;
567
+ entry.overlay_applied = overlayFieldsForEntry.length > 0;
568
+ entry.provenance = {
569
+ ...entry.provenance,
570
+ overlay: { path: overlay.path, applied: overlayFieldsForEntry.length > 0, fields: overlayFieldsForEntry, revision: overlay.revision },
571
+ };
572
+ }
573
+ if (revision && addressable) {
574
+ entry.revision_applied = revisionForEntry.applied;
553
575
  entry.provenance = {
554
576
  ...entry.provenance,
555
- overlay: { path: overlay.path, applied: fields.length > 0, fields, revision: overlay.revision },
577
+ revision: {
578
+ path: revision.path,
579
+ applied: revisionForEntry.applied,
580
+ fields: revisionForEntry.fields,
581
+ revisions: revisionForEntry.count,
582
+ base_provenance: hasArchive && !candidate.corruptArchive ? "historical_archive" : "degraded_projection",
583
+ },
556
584
  };
557
585
  }
558
- const sourceValue = candidate.current?.summary ?? candidate.archive?.record ?? candidate.current?.record;
559
- const summary = compactSummary(sourceValue);
586
+ const baseSourceValue = candidate.current?.summary ?? candidate.archive?.record ?? candidate.current?.record;
587
+ const effectiveSourceValue = revisionForEntry.applied && baseSourceValue && candidate.stableId ? composedRevisionRecord(revision?.snapshot ?? null, candidate.stableId, baseSourceValue) : baseSourceValue;
588
+ const summary = compactSummary(effectiveSourceValue);
560
589
  if (summary !== undefined)
561
590
  entry.summary = summary;
562
591
  return entry;
@@ -620,14 +649,16 @@ export function listStateEntries(projectRoot, artifactId, limit, filters = {}, c
620
649
  const parsed = cursor !== undefined ? parseCursor(artifactId, cursor, normalizedFilters, projectRoot, sourceRoot) : null;
621
650
  const built = buildCandidates(projectRoot, artifactId, contract, sourceRoot);
622
651
  const overlay = overlayState(projectRoot, artifactId, sourceRoot);
652
+ const revision = revisionState(projectRoot, artifactId, sourceRoot);
623
653
  const allCandidates = built.candidates.filter((candidate) => matchesFilter(candidate, filters));
624
654
  const overlayRevision = overlay?.revision ?? "not_applicable";
625
- const currentSnapshotId = snapshotId(allCandidates, artifactId, normalizedFilters, overlayRevision);
655
+ const revisionRevision = revision?.revision ?? "not_applicable";
656
+ const currentSnapshotId = snapshotId(allCandidates, artifactId, normalizedFilters, overlayRevision, revisionRevision);
626
657
  let snapshotCandidates = allCandidates;
627
658
  let firstPage = parsed === null;
628
659
  if (parsed) {
629
660
  const oldCandidates = allCandidates.filter((candidate) => candidate.sortKey >= parsed.payload.candidate_start_key && candidate.sortKey <= parsed.payload.candidate_end_key);
630
- const oldSnapshotId = snapshotId(oldCandidates, artifactId, normalizedFilters, overlayRevision);
661
+ const oldSnapshotId = snapshotId(oldCandidates, artifactId, normalizedFilters, overlayRevision, revisionRevision);
631
662
  if (oldSnapshotId !== parsed.payload.snapshot_id ||
632
663
  oldCandidates.length !== parsed.payload.candidate_count ||
633
664
  (oldCandidates.length > 0 && oldCandidates[0].sortKey !== parsed.payload.candidate_start_key)) {
@@ -639,10 +670,10 @@ export function listStateEntries(projectRoot, artifactId, limit, filters = {}, c
639
670
  snapshotCandidates = oldCandidates;
640
671
  firstPage = false;
641
672
  }
642
- const snapshot = snapshotId(snapshotCandidates, artifactId, normalizedFilters, overlayRevision);
673
+ const snapshot = snapshotId(snapshotCandidates, artifactId, normalizedFilters, overlayRevision, revisionRevision);
643
674
  const pageCandidates = parsed ? snapshotCandidates.filter((candidate) => candidate.sortKey > parsed.payload.after_key) : snapshotCandidates;
644
675
  const selected = pageCandidates.slice(0, limit);
645
- const rows = selected.map((candidate) => listEntry(candidate, overlay, projectRoot, contract));
676
+ const rows = selected.map((candidate) => listEntry(candidate, overlay, revision, projectRoot, contract));
646
677
  const remaining = pageCandidates.length - selected.length;
647
678
  const nextAfterCandidate = selected.at(-1);
648
679
  const nextAfterKey = nextAfterCandidate?.sortKey ?? parsed?.payload.after_key ?? "";
@@ -1 +1 @@
1
- {"version":3,"file":"listRetrieval.js","sourceRoot":"","sources":["../../src/state/listRetrieval.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"listRetrieval.js","sourceRoot":"","sources":["../../src/state/listRetrieval.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,0BAA0B,EAC1B,mBAAmB,GAIpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,EACL,oBAAoB,EACpB,4BAA4B,EAC5B,sBAAsB,EACtB,sBAAsB,GAEvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACxF,OAAO,EAAE,qBAAqB,EAA0B,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,cAAc,EAA2B,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAA4B,MAAM,yBAAyB,CAAC;AAEtF,MAAM,cAAc,GAAG,CAAC,CAAC;AACzB,MAAM,UAAU,GAAG,mBAAmB,CAAC;AACvC,MAAM,cAAc,GAAG,mDAAmD,CAAC;AAmF3E,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC5F,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACtE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,MAAM,GAAgB,EAAE,CAAC;QAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,SAAS,KAAK,SAAS;gBAAE,OAAO,SAAS,CAAC;YAC9C,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,MAAM,GAAe,EAAE,CAAC;QAC9B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;YACnC,IAAI,SAAS,KAAK,SAAS;gBAAE,OAAO,SAAS,CAAC;YAC9C,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;QAC1B,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACxF,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7D,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7B,OAAO,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IACpE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QACzF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACxC,MAAM,QAAQ,GAAe,EAAE,CAAC;IAChC,KAAK,MAAM,GAAG,IAAI;QAChB,QAAQ;QACR,MAAM;QACN,WAAW;QACX,SAAS;QACT,MAAM;QACN,QAAQ;QACR,UAAU;QACV,YAAY;QACZ,MAAM;QACN,OAAO;KACR,EAAE,CAAC;QACF,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACxC,IAAI,SAAS,KAAK,SAAS,IAAI,CAAC,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAClH,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;AACjE,CAAC;AAED,SAAS,SAAS,CAAC,KAAgB;IACjC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACvF,CAAC;AAED,SAAS,UAAU,CAAC,UAAU,GAAG,eAAe;IAC9C,OAAO,kBAAkB,UAAU,kDAAkD,CAAC;AACxF,CAAC;AAED,SAAS,WAAW,CAAC,UAAkB,EAAE,MAAM,GAAG,KAAK;IACrD,OAAO,MAAM;QACX,CAAC,CAAC,kBAAkB,UAAU,+CAA+C;QAC7E,CAAC,CAAC,kBAAkB,UAAU,gCAAgC,CAAC;AACnE,CAAC;AAED,SAAS,WAAW,CAClB,QAAe,EACf,SAA4B,EAC5B,OAAe,EACf,UAAkB,EAClB,QAAgB,EAChB,OAAoB,EACpB,WAAsB;IAEtB,OAAO,IAAI,qBAAqB,CAC9B;QACE,aAAa,EAAE,0BAA0B;QACzC,MAAM,EAAE,MAAM;QACd,KAAK,EAAE;YACL,KAAK,EAAE,SAAS;YAChB,OAAO;YACP,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC;YAC9B,OAAO,EAAE,WAAW,CAAC,UAAU,EAAE,SAAS,KAAK,gBAAgB,IAAI,SAAS,KAAK,6BAA6B,CAAC;YAC/G,QAAQ;YACR,WAAW,EAAE,UAAU;YACvB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/B,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtD;KACF,EACD,QAAQ,CACT,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,WAAmB,EAAE,UAAkB;IACxD,OAAO,UAAU,CAAC,QAAQ,CAAC;SACxB,MAAM,CAAC,+BAA+B,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC;SACvG,MAAM,EAAE,CAAC;AACd,CAAC;AAED,SAAS,eAAe,CAAC,OAAsB,EAAE,WAAmB,EAAE,UAAkB;IACtF,OAAO,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;SAC5D,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;SAC5C,MAAM,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC;AAED,SAAS,YAAY,CAAC,OAAsB,EAAE,WAAmB,EAAE,UAAkB;IACnF,MAAM,MAAM,GAAG,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,CAAC;IAC5F,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,aAAa,CACpB,UAAkB,EAClB,OAAe,EACf,WAAmB,EACnB,UAAkB;IAElB,OAAO,WAAW,CAChB,CAAC,EACD,gBAAgB,EAChB,OAAO,EACP,UAAU,EACV,kFAAkF,EAClF,EAAE,MAAM,EAAE,iDAAiD,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAC9I,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAClB,UAAkB,EAClB,KAAa,EACb,OAAmB,EACnB,WAAmB,EACnB,UAAkB;IAElB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACpF,MAAM,aAAa,CAAC,UAAU,EAAE,oCAAoC,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;IACjG,CAAC;IACD,IAAI,OAAgB,CAAC;IACrB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAC9C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACxH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,aAAa,CAAC,UAAU,EAAE,oCAAoC,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;IACjG,CAAC;IACD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;QAAE,MAAM,aAAa,CAAC,UAAU,EAAE,4CAA4C,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;IAChI,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACpC,MAAM,QAAQ,GAA4B,EAAE,GAAG,OAAO,EAAE,CAAC;IACzD,OAAO,QAAQ,CAAC,SAAS,CAAC;IAC1B,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACvE,MAAM,aAAa,CAAC,UAAU,EAAE,0CAA0C,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;IACvG,CAAC;IACD,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAoC,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;IAChG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;QAClF,MAAM,aAAa,CAAC,UAAU,EAAE,uFAAuF,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;IACpJ,CAAC;IACD,MAAM,OAAO,GAAG,QAAoC,CAAC;IACrD,IACE,OAAO,CAAC,OAAO,KAAK,cAAc;QAClC,OAAO,CAAC,WAAW,KAAK,UAAU;QAClC,OAAO,CAAC,KAAK,KAAK,UAAU;QAC5B,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;QAC3B,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,mBAAmB,CAAC,OAAO,CAAC;QACrE,OAAO,OAAO,CAAC,WAAW,KAAK,QAAQ;QACvC,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;QAC3C,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,eAAe,CAAC;QAC9C,OAAO,CAAC,eAAe,GAAG,CAAC;QAC3B,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC;QAC5C,OAAO,CAAC,aAAa,GAAG,CAAC;QACzB,OAAO,OAAO,CAAC,mBAAmB,KAAK,QAAQ;QAC/C,OAAO,OAAO,CAAC,iBAAiB,KAAK,QAAQ;QAC7C,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ;QACrC,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC;QACpC,OAAO,CAAC,KAAK,GAAG,CAAC;QACjB,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,aAAa,GAAG,CAAC,EACzC,CAAC;QACD,MAAM,aAAa,CAAC,UAAU,EAAE,wDAAwD,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;IACrH,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,CAAC;AACrB,CAAC;AAED,SAAS,cAAc,CAAC,OAAwB;IAC9C,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,qBAAqB,CAC5B,WAAmB,EACnB,UAAkB,EAClB,QAAiC,EACjC,UAAkB;IAElB,MAAM,cAAc,GAAG,0BAA0B,CAAC,WAAW,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IACvF,IAAI,CAAC;QACH,sBAAsB,CAAC,WAAW,EAAE,cAAc,EAAE,GAAG,UAAU,aAAa,CAAC,CAAC;IAClF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,WAAW,CAAC,CAAC,EAAE,SAAS,EAAE,WAAW,UAAU,4BAA4B,EAAE,UAAU,EAAE,2EAA2E,EAAE;YAC1K,IAAI,EAAE,cAAc;YACpB,MAAM,EAAG,KAAe,CAAC,OAAO;SACjC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,IAAc,CAAC;IACnB,IAAI,CAAC;QACH,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QACpH,MAAM,WAAW,CAAC,CAAC,EAAE,SAAS,EAAE,uBAAuB,UAAU,aAAa,EAAE,UAAU,EAAE,gEAAgE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;IAC1L,CAAC;IACD,IAAI,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QAC5C,MAAM,WAAW,CAAC,CAAC,EAAE,SAAS,EAAE,WAAW,UAAU,mCAAmC,EAAE,UAAU,EAAE,+FAA+F,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;IACnO,CAAC;IAED,IAAI,QAAiC,CAAC;IACtC,IAAI,CAAC;QACH,QAAQ,GAAG,eAAe,CAAC,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;IACtE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,WAAW,CAAC,CAAC,EAAE,SAAS,EAAE,wBAAwB,UAAU,gBAAiB,KAAe,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,gEAAgE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;IACxN,CAAC;IACD,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACtD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,MAAM,WAAW,CAAC,CAAC,EAAE,SAAS,EAAE,WAAW,UAAU,+BAA+B,QAAQ,CAAC,eAAe,cAAc,EAAE,UAAU,EAAE,2EAA2E,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;IACjP,CAAC;IAED,MAAM,OAAO,GAAsB,EAAE,CAAC;IACtC,KAAK,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;QACtD,MAAM,QAAQ,GAAG,cAAc,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QAClF,IAAI,cAAc,GAAsC,SAAS,CAAC;QAClE,IAAI,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,mBAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;gBAC1E,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5I,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,WAAW,CAAC,CAAC,EAAE,mBAAmB,EAAE,WAAW,UAAU,uCAAwC,KAAe,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,oHAAoH,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;YAChS,CAAC;QACH,CAAC;QACD,MAAM,OAAO,GAAoB;YAC/B,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,GAAG,cAAc,IAAI,QAAQ,CAAC,eAAe,IAAI,KAAK,EAAE;YAChE,MAAM,EAAE,QAAQ;YAChB,QAAQ,EAAE,QAAQ,CAAC,IAAI;YACvB,WAAW,EAAE,QAAQ,CAAC,MAAM;YAC5B,cAAc;YACd,GAAG,CAAC,cAAc,KAAK,MAAM,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;YACvH,cAAc,EAAE,EAAE;SACnB,CAAC;QACF,OAAO,CAAC,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;IACjC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,KAAK,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YACnD,MAAM,QAAQ,GAAG,cAAc,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAClF,MAAM,OAAO,GAAoB;gBAC/B,IAAI,EAAE,cAAc;gBACpB,MAAM,EAAE,GAAG,cAAc,YAAY,KAAK,EAAE;gBAC5C,MAAM,EAAE,SAAS;gBACjB,QAAQ,EAAE,QAAQ,CAAC,IAAI;gBACvB,WAAW,EAAE,QAAQ,CAAC,MAAM;gBAC5B,cAAc,EAAE,SAAS;gBACzB,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC;gBAClC,cAAc,EAAE,EAAE;aACnB,CAAC;YACF,OAAO,CAAC,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;YACjD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AACzD,CAAC;AAED,SAAS,YAAY,CAAC,WAAmB,EAAE,UAAkB,EAAE,UAAkB;IAC/E,IAAI,UAAU,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAC5C,MAAM,QAAQ,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;IACrD,MAAM,WAAW,GAAG,mBAAmB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACjE,IAAI,QAAoC,CAAC;IACzC,IAAI,CAAC;QACH,QAAQ,GAAG,mBAAmB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAC1D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,WAAW,CAAC,CAAC,EAAE,SAAS,EAAE,iCAAkC,KAAe,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,8EAA8E,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IAClN,CAAC;IACD,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,QAAQ,EAAE,SAAS,CAAC,QAAiC,CAAC;QACtD,QAAQ;QACR,YAAY,EAAE,QAAQ,CAAC,YAAY;KACpC,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,WAAmB,EAAE,UAAkB,EAAE,UAAkB;IAChF,IAAI,UAAU,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAC5C,IAAI,QAAyC,CAAC;IAC9C,IAAI,CAAC;QACH,QAAQ,GAAG,4BAA4B,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACnE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,WAAW,CAAC,CAAC,EAAE,SAAS,EAAG,KAAe,CAAC,OAAO,EAAE,UAAU,EAAE,qEAAqE,EAAE,EAAE,IAAI,EAAE,oBAAoB,CAAC,WAAW,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;IACxM,CAAC;IACD,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,QAAiC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9H,CAAC;AAED,SAAS,eAAe,CAAC,QAA0B,EAAE,UAAkB;IACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IACnD,MAAM,KAAK,GAAG,iCAAiC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACpE,OAAO,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACjD,CAAC;AAED,SAAS,0BAA0B,CAAC,QAA0B,EAAE,UAAkB;IAChF,OAAO,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAwB;IACtD,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,MAAM,EAAE,oBAAoB;QAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACvE,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,KAA2B;IACzD,OAAO;QACL,MAAM,EAAE,KAAK,CAAC,IAAI;QAClB,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,kBAAkB;QAC1B,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,QAAQ,EAAE,kBAAkB;QAC5B,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,cAAc,EAAE,MAAM;QACtB,cAAc,EAAE,KAAK,CAAC,YAAY;QAClC,MAAM,EAAE,KAAK,CAAC,MAAM;KACrB,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,QAA0B,EAAE,WAA0B;IACtF,OAAO;QACL,MAAM,EAAE,QAAQ,CAAC,IAAI;QACrB,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,kBAAkB;QAC1B,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,QAAQ,EAAE,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,kBAAkB;QACrE,WAAW;QACX,cAAc,EAAE,aAAa;QAC7B,cAAc,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;QACtG,SAAS,EAAE,QAAQ;KACpB,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,UAAkB,EAAE,WAA0B,EAAE,MAAc;IAC7E,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,GAAG,WAAW,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QACnF,OAAO,KAAK,UAAU,IAAI,UAAU,IAAI,WAAW,EAAE,CAAC;IACxD,CAAC;IACD,OAAO,KAAK,MAAM,EAAE,CAAC;AACvB,CAAC;AAED,SAAS,eAAe,CACtB,WAAmB,EACnB,UAAkB,EAClB,QAAiC,EACjC,UAAkB;IAElB,MAAM,OAAO,GAAG,qBAAqB,CAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACrF,MAAM,SAAS,GAAG,wBAAwB,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;IACpF,MAAM,OAAO,GAAG,IAAI,GAAG,EAAsG,CAAC;IAC9H,MAAM,aAAa,GAAkB,EAAE,CAAC;IACxC,MAAM,MAAM,GAAG,CAAC,GAAgB,EAAE,OAA8B,EAAE,cAAiC,EAAQ,EAAE;QAC3G,IAAI,GAAG,CAAC,WAAW,KAAK,IAAI,IAAI,GAAG,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;YAC7D,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxB,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QAC3D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,IAAI,OAAO;YAAE,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QACrC,IAAI,cAAc;YAAE,KAAK,CAAC,cAAc,GAAG,cAAc,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC,CAAC;IAEF,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,OAAO;QAAE,MAAM,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;IACpF,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC1C,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,UAAU,CAAC;YAAE,SAAS;QAChE,MAAM,MAAM,GAAG,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACrD,MAAM,CAAC,wBAAwB,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACxG,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO;QAAE,MAAM,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;IAE3E,MAAM,UAAU,GAAoB,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,oBAAoB,CAAC,CAAC;QAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,KAAK,6BAA6B,CAAC,EAAE,QAAQ,IAAI,kBAAkB,CAAC;QACpH,UAAU,CAAC,IAAI,CAAC;YACd,QAAQ,EAAE,GAAG,UAAU,IAAI,WAAW,EAAE;YACxC,UAAU;YACV,WAAW;YACX,QAAQ;YACR,cAAc,EAAE,iBAAiB,CAAC,IAAI,CAAC;YACvC,IAAI;YACJ,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,EAAE,CAAC;YAChE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxG,CAAC,CAAC;IACL,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QAChC,UAAU,CAAC,IAAI,CAAC;YACd,QAAQ,EAAE,IAAI;YACd,UAAU;YACV,WAAW,EAAE,IAAI;YACjB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,cAAc,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe;YACxG,IAAI,EAAE,CAAC,GAAG,CAAC;YACX,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC;SAC/C,CAAC,CAAC;IACL,CAAC;IACD,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5E,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC;AAClH,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7D,IAAI,SAAS,CAAC,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5G,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,aAAa,CAAC,SAAwB,EAAE,OAAyB;IACxE,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,EAAE,MAAM,IAAI,SAAS,CAAC,OAAO,EAAE,MAAM,IAAI,SAAS,CAAC,OAAO,EAAE,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;IACjI,IAAI,OAAO,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAClI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;QACjF,IAAI,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE;YAAE,OAAO,KAAK,CAAC;IACxF,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;QAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC7B,MAAM,OAAO,GAAG,MAAM,CAAC,iBAAiB,CAAC;QACzC,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9G,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACtJ,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW;YAAE,OAAO,KAAK,CAAC;IAChD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,aAAa,CAAC,UAAkB,EAAE,OAAyB;IAClE,IAAI,UAAU,KAAK,UAAU;QAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;IACvG,IAAI,UAAU,KAAK,WAAW;QAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;IACxE,IAAI,UAAU,KAAK,QAAQ;QAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;IAC7E,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,mBAAmB,CAAC,UAAkB,EAAE,OAAyB;IACxE,MAAM,OAAO,GAAG,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IACzH,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QACpD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9E,MAAM,WAAW,CAAC,CAAC,EAAE,iBAAiB,EAAE,qCAAqC,GAAG,SAAS,UAAU,oBAAoB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,UAAU,CAAC,UAAU,CAAC,gCAAgC,CAAC,CAAC;QAC1N,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,UAA2B,EAAE,UAAkB,EAAE,OAAmB,EAAE,eAAuB,EAAE,gBAAwB;IACzI,MAAM,QAAQ,GAAG;QACf,WAAW,EAAE,UAAU;QACvB,KAAK,EAAE,UAAU;QACjB,OAAO;QACP,gBAAgB,EAAE,eAAe;QACjC,iBAAiB,EAAE,gBAAgB;QACnC,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YACzC,SAAS,EAAE,SAAS,CAAC,QAAQ;YAC7B,QAAQ,EAAE,SAAS,CAAC,OAAO;YAC3B,aAAa,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAC1C,OAAO,EAAE,GAAG,CAAC,MAAM;gBACnB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,YAAY,EAAE,GAAG,CAAC,WAAW;gBAC7B,IAAI,EAAE,GAAG,CAAC,cAAc;gBACxB,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,MAAM,IAAI,IAAI;aACzC,CAAC,CAAC;SACJ,CAAC,CAAC;KACJ,CAAC;IACF,OAAO,SAAS,CAAC,QAAiC,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,aAAa,CAAC,OAA4B,EAAE,QAAgB;IACnE,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,CAAC;IACvD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC5C,OAAO,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3C,IAAI,KAAK,GAAY,QAAQ,CAAC;QAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YACpC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;QACD,OAAO,KAAK,KAAK,SAAS,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,SAAwB,EAAE,OAA4B;IAC1E,IAAI,OAAO,IAAI,SAAS,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC3C,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1F,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;IAC9C,CAAC;IACD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,MAAM,IAAI,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IACtE,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC;IAC5D,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC;IACxD,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,UAAU,CAAC;IACpE,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;IACzC,IAAI,SAAS,CAAC,YAAY,CAAC,IAAI,OAAO,YAAY,CAAC,KAAK,KAAK,QAAQ;QAAE,OAAO,YAAY,CAAC,KAAK,CAAC;IACjG,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,SAAS,CAAC,SAAwB,EAAE,OAA4B,EAAE,QAA8B,EAAE,WAAmB,EAAE,QAAiC;IAC/J,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,IAAI,SAAS,CAAC,cAAc,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,UAAU,EAAE,GAAG,SAAS,CAAC,WAAW,IAAI,eAAe,GAAG,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC7O,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,KAAK,SAAS,CAAC;IACnD,MAAM,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;IAChI,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,cAAc,KAAK,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,gBAAgB,CAAC;IAC/J,MAAM,kBAAkB,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,cAAc,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,cAAc,IAAI,aAAa,CAAC;IAC5L,MAAM,qBAAqB,GAAG,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IAC/E,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,IAAI,IAAI,EAAE,SAAS,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IACtG,MAAM,WAAW,GAAG,SAAS,CAAC,QAAQ,KAAK,IAAI,CAAC;IAChD,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAChD,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,YAAY,EAAE,GAAG,CAAC,WAAW;QAC7B,cAAc,EAAE,GAAG,CAAC,cAAc;QAClC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9D,CAAC,CAAC,CAAC;IACJ,MAAM,KAAK,GAAe;QACxB,SAAS,EAAE,SAAS,CAAC,QAAQ;QAC7B,WAAW,EAAE,SAAS,CAAC,UAAU;QACjC,YAAY,EAAE,SAAS,CAAC,WAAW;QACnC,WAAW;QACX,QAAQ,EAAE,SAAS,CAAC,QAAQ;QAC5B,cAAc,EAAE,SAAS,CAAC,cAAc;QACxC,cAAc,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM;QACrC,UAAU,EAAE,SAAS,CAAC,OAAO;QAC7B,cAAc,EAAE,aAAa;QAC7B,mBAAmB,EAAE,kBAAkB;QACvC,MAAM;QACN,aAAa,EAAE,SAAS,CAAC,cAAc,KAAK,UAAU,IAAI,SAAS,CAAC,cAAc,KAAK,WAAW,IAAI,SAAS,CAAC,cAAc,KAAK,SAAS;YAC1I,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU;QACrE,aAAa,EAAE,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC;QAC/C,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,WAAW;gBACjB,SAAS,EAAE,UAAU,IAAI,SAAS,CAAC,cAAc,KAAK,SAAS;gBAC/D,QAAQ,EAAE,UAAU;gBACpB,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/E,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpF;YACD,kBAAkB,EAAE;gBAClB,IAAI,EAAE,SAAS,CAAC,OAAO,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,aAAa,SAAS,CAAC,UAAU,OAAO,CAAC;gBAC/G,OAAO,EAAE,SAAS,CAAC,OAAO,KAAK,SAAS;gBACxC,cAAc,EAAE,SAAS,CAAC,OAAO,EAAE,cAAc,IAAI,SAAS;aAC/D;YACD,aAAa,EAAE,YAAY;SAC5B;QACD,GAAG,CAAC,WAAW;YACb,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,kBAAkB,SAAS,CAAC,UAAU,iBAAiB,SAAS,CAAC,WAAW,gBAAgB,EAAE,SAAS,EAAE,SAAS,CAAC,cAAc,KAAK,UAAU,IAAI,SAAS,CAAC,cAAc,KAAK,WAAW,IAAI,SAAS,CAAC,cAAc,KAAK,SAAS,EAAE,EAAE;YACpQ,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,2FAA2F,EAAE,EAAE,CAAC;KACxK,CAAC;IACF,IAAI,OAAO,IAAI,WAAW,EAAE,CAAC;QAC3B,KAAK,CAAC,eAAe,GAAG,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC;QACzD,KAAK,CAAC,UAAU,GAAG;YACjB,GAAI,KAAK,CAAC,UAAyB;YACnC,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,MAAM,EAAE,qBAAqB,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE;SACtI,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,IAAI,WAAW,EAAE,CAAC;QAC5B,KAAK,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,OAAO,CAAC;QAClD,KAAK,CAAC,UAAU,GAAG;YACjB,GAAI,KAAK,CAAC,UAAyB;YACnC,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,OAAO,EAAE,gBAAgB,CAAC,OAAO;gBACjC,MAAM,EAAE,gBAAgB,CAAC,MAAM;gBAC/B,SAAS,EAAE,gBAAgB,CAAC,KAAK;gBACjC,eAAe,EAAE,UAAU,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,qBAAqB;aACxG;SACF,CAAC;IACJ,CAAC;IACD,MAAM,eAAe,GAAG,SAAS,CAAC,OAAO,EAAE,OAAO,IAAI,SAAS,CAAC,OAAO,EAAE,MAAM,IAAI,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC7G,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,OAAO,IAAI,eAAe,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,IAAI,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,eAA6B,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;IACzN,MAAM,OAAO,GAAG,cAAc,CAAC,oBAAoB,CAAC,CAAC;IACrD,IAAI,OAAO,KAAK,SAAS;QAAE,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IACnD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,QAAQ,CAAC,KAAiB;IACjC,MAAM,KAAK,GAAG;QACZ,YAAY,KAAK,CAAC,OAAO,EAAE;QAC3B,WAAW,KAAK,CAAC,MAAM,EAAE;QACzB,aAAa,MAAM,CAAE,KAAK,CAAC,QAAuB,CAAC,EAAE,CAAC,GAAI,KAAK,CAAC,QAAuB,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;QACnH,WAAW,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;QACzC,YAAY,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;QAC3C,UAAU;KACX,CAAC;IACF,KAAK,MAAM,GAAG,IAAK,KAAK,CAAC,OAAuB,IAAI,EAAE,EAAE,CAAC;QACvD,MAAM,KAAK,GAAG,GAAiB,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,SAAS,YAAY,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,mBAAmB,WAAW,KAAK,CAAC,MAAM,kBAAkB,KAAK,CAAC,aAAa,WAAW,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC;QACjM,KAAK,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAChE,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7F,CAAC;IACD,IAAI,KAAK,CAAC,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IACvE,IAAI,KAAK,CAAC,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,aAAa,KAAK,KAAK,CAAC,eAAe,GAAG,CAAC,CAAC;IAC5F,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AACjC,CAAC;AAED,SAAS,aAAa,CAAC,KAAwB,EAAE,MAAgC;IAC/E,OAAO,MAAM,KAAK,MAAM;QACtB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,KAA8B,CAAC,EAAE,MAAM,CAAC;QACrE,CAAC,CAAC,yBAAyB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,+BAA+B,CAAC,KAAiB;IACxD,MAAM,IAAI,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;IAC1B,OAAO,IAAI,CAAC,OAAO,CAAC;IACpB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC1B,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,gBAAgB,CACvB,OAAe,EACf,KAAa,EACb,OAAqB;IAErB,OAAO;QACL,OAAO,EAAE,KAAK,GAAG,CAAC;QAClB,aAAa,EAAE,KAAK;QACpB,eAAe,EAAE,yBAAyB;QAC1C,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,OAAO,iCAAiC,EAAE;QAC7F,mBAAmB,EAAE,gBAAgB,CAAC,OAAO,CAAC;KAC/C,CAAC;AACJ,CAAC;AAcD,MAAM,UAAU,gBAAgB,CAC9B,WAAmB,EACnB,UAAkB,EAClB,KAAa,EACb,UAA4B,EAAE,EAC9B,MAA0B,EAC1B,UAA4B,EAAE;IAE9B,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,iBAAiB,EAAE,CAAC;IAC7D,IAAI,QAAiC,CAAC;IACtC,IAAI,CAAC;QACH,QAAQ,GAAG,uBAAuB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAC7D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,WAAW,CAAC,CAAC,EAAE,sBAAsB,EAAE,+BAA+B,UAAU,GAAG,EAAE,UAAU,EAAE,uEAAuE,EAAE,EAAE,MAAM,EAAG,KAAe,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC7P,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;QAC7D,MAAM,WAAW,CAAC,CAAC,EAAE,iBAAiB,EAAE,kDAAkD,EAAE,UAAU,EAAE,gFAAgF,CAAC,CAAC;IAC5L,CAAC;IACD,mBAAmB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACzC,MAAM,iBAAiB,GAAG,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzH,MAAM,KAAK,GAAG,eAAe,CAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC7E,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAClE,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IACpE,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAChG,MAAM,eAAe,GAAG,OAAO,EAAE,QAAQ,IAAI,gBAAgB,CAAC;IAC9D,MAAM,gBAAgB,GAAG,QAAQ,EAAE,QAAQ,IAAI,gBAAgB,CAAC;IAChE,MAAM,iBAAiB,GAAG,UAAU,CAAC,aAAa,EAAE,UAAU,EAAE,iBAAiB,EAAE,eAAe,EAAE,gBAAgB,CAAC,CAAC;IACtH,IAAI,kBAAkB,GAAG,aAAa,CAAC;IACvC,IAAI,SAAS,GAAG,MAAM,KAAK,IAAI,CAAC;IAChC,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,CACxC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,mBAAmB,IAAI,SAAS,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAChI,CAAC;QACF,MAAM,aAAa,GAAG,UAAU,CAAC,aAAa,EAAE,UAAU,EAAE,iBAAiB,EAAE,eAAe,EAAE,gBAAgB,CAAC,CAAC;QAClH,IACE,aAAa,KAAK,MAAM,CAAC,OAAO,CAAC,WAAW;YAC5C,aAAa,CAAC,MAAM,KAAK,MAAM,CAAC,OAAO,CAAC,eAAe;YACvD,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAC7F,CAAC;YACD,MAAM,WAAW,CAAC,CAAC,EAAE,6BAA6B,EAAE,6BAA6B,UAAU,uEAAuE,EAAE,UAAU,EAAE,uEAAuE,EAAE;gBACvP,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW;gBACvC,mBAAmB,EAAE,iBAAiB;aACvC,CAAC,CAAC;QACL,CAAC;QACD,kBAAkB,GAAG,aAAa,CAAC;QACnC,SAAS,GAAG,KAAK,CAAC;IACpB,CAAC;IACD,MAAM,QAAQ,GAAG,UAAU,CAAC,kBAAkB,EAAE,UAAU,EAAE,iBAAiB,EAAE,eAAe,EAAE,gBAAgB,CAAC,CAAC;IAClH,MAAM,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;IAC5I,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;IACzG,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC1D,MAAM,kBAAkB,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAG,kBAAkB,EAAE,OAAO,IAAI,MAAM,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;IACpF,MAAM,SAAS,GAAG,kBAAkB,EAAE,WAAW,IAAI,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC;IAChF,MAAM,UAAU,GAAG,SAAS,GAAG,CAAC;QAC9B,CAAC,CAAC,YAAY,CACV;YACE,OAAO,EAAE,cAAc;YACvB,WAAW,EAAE,UAAU;YACvB,OAAO,EAAE,iBAAiB;YAC1B,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,QAAQ;YACrB,eAAe,EAAE,kBAAkB,CAAC,MAAM;YAC1C,aAAa,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,WAAW,IAAI,CAAC;YACtD,mBAAmB,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,EAAE;YACzD,iBAAiB,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,EAAE;YAC3D,SAAS,EAAE,YAAY;YACvB,KAAK,EAAE,SAAS;SACjB,EACD,WAAW,EACX,UAAU,CACX;QACH,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,SAAS,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;IAC7D,KAAK,MAAM,SAAS,IAAI,kBAAkB,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;QACxH,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IACD,MAAM,iBAAiB,GAAG,cAAc,CAAC,kBAAkB,CAAC,CAAC;IAC7D,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACjG,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,UAAU,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;IAChI,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,cAAc,KAAK,WAAW,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACxH,OAAO;QACL,OAAO,EAAE,SAAS,UAAU,OAAO;QACnC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI;QACjE,OAAO,EAAE,IAAI;QACb,MAAM,EAAE;YACN,KAAK,EAAE,kBAAkB,CAAC,MAAM;YAChC,QAAQ,EAAE,IAAI,CAAC,MAAM;YACrB,SAAS;YACT,GAAG,iBAAiB;YACpB,iBAAiB,EAAE,gBAAgB;YACnC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,gBAAgB,CAAC;YAChF,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,YAAY,EAAE,SAAS,CAAC,YAAY;SACrC;QACD,MAAM,EAAE;YACN,QAAQ,EAAE,UAAU;YACpB,kBAAkB,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE;YACnF,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC,EAAE,iBAAiB,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,kBAAkB,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE;SAC3R;QACD,OAAO,EAAE,iBAAiB;QAC1B,QAAQ,EAAE;YACR,EAAE,EAAE,QAAQ;YACZ,UAAU,EAAE,SAAS;YACrB,KAAK,EAAE,UAAU;YACjB,QAAQ,EAAE,SAAS,GAAG,CAAC;YACvB,eAAe,EAAE,kBAAkB,CAAC,MAAM;YAC1C,aAAa,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,WAAW,IAAI,CAAC;YACtD,mBAAmB,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,EAAE;YACzD,iBAAiB,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,EAAE;YAC3D,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC;YAClF,eAAe,EAAE,mDAAmD;SACrE;QACD,eAAe,EAAE;YACf,SAAS,EAAE,cAAc;YACzB,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU;YACvE,MAAM,EAAE,mMAAmM;YAC3M,SAAS,EAAE,kBAAkB,UAAU,+BAA+B;YACtE,MAAM,EAAE,qGAAqG;SAC9G;QACD,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,QAA2B,EAC3B,MAAgC,EAChC,aAAqB,iBAAiB,EAAE,EACxC,cAAsB,OAAO,CAAC,GAAG,EAAE;IAEnC,MAAM,MAAM,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAChD,IAAI,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,YAAY;QAAE,OAAO,QAAQ,CAAC;IAE5E,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAmB,CAAC,CAAC;IAC7E,MAAM,6BAA6B,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,+BAA+B,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7G,MAAM,qBAAqB,GAAG,eAAe,CAAC,MAAM,CAClD,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CACzG,CAAC,MAAM,CAAC;IAET,MAAM,WAAW,GAAG,CAAC,OAAqB,EAAE,WAAmB,EAAqB,EAAE;QACpF,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;QACnC,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAC;QAC/D,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC;QACzD,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,eAAe,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;QACtF,MAAM,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACrF,MAAM,OAAO,GAAG,OAAO,SAAS,EAAE,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;QACxF,MAAM,YAAY,GAAG,WAAW,GAAG,CAAC,IAAI,OAAO,KAAK,IAAI;YACtD,CAAC,CAAC,YAAY,CACV;gBACE,OAAO,EAAE,cAAc;gBACvB,WAAW,EAAE,UAAU;gBACvB,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,KAAK,EAAE,UAAU;gBACjB,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAChC,eAAe,EAAE,cAAc;gBAC/B,aAAa,EAAE,YAAY;gBAC3B,mBAAmB,EAAE,MAAM,CAAC,QAAQ,CAAC,mBAAmB,IAAI,EAAE,CAAC;gBAC/D,iBAAiB,EAAE,MAAM,CAAC,QAAQ,CAAC,iBAAiB,IAAI,EAAE,CAAC;gBAC3D,SAAS,EAAE,OAAO;gBAClB,KAAK,EAAE,UAAU,IAAI,CAAC;aACvB,EACD,WAAW,EACX,UAAU,CACX;YACH,CAAC,CAAC,WAAW,KAAK,CAAC;gBACjB,CAAC,CAAC,QAAQ,CAAC,WAAW;gBACtB,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,OAAO,GAAG;YACd,GAAG,QAAQ;YACX,MAAM,EAAE,qBAAqB,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM;YAC9E,OAAO;YACP,MAAM,EAAE;gBACN,GAAG,QAAQ,CAAC,MAAM;gBAClB,QAAQ,EAAE,OAAO,CAAC,MAAM;gBACxB,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,WAAW;gBAC/D,iBAAiB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;gBACjG,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aACtK;YACD,QAAQ,EAAE,EAAE,GAAG,QAAQ,EAAE,QAAQ,EAAE,YAAY,KAAK,SAAS,EAAE;YAC/D,GAAG,CAAC,qBAAqB,GAAG,WAAW,GAAG,CAAC;gBACzC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,EAAE,qBAAqB,GAAG,WAAW,EAAE,OAAO,CAAC;gBAClF,CAAC,CAAC,EAAE,CAAC;SACa,CAAC;QACvB,OAAO,OAAO,CAAC,WAAW,CAAC;QAC3B,IAAI,YAAY;YAAE,OAAO,CAAC,WAAW,GAAG,YAAY,CAAC;QACrD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,KAAK,IAAI,aAAa,GAAG,6BAA6B,CAAC,MAAM,EAAE,aAAa,GAAG,CAAC,EAAE,aAAa,IAAI,CAAC,EAAE,CAAC;QACrG,MAAM,OAAO,GAAG,6BAA6B,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;QACtE,MAAM,WAAW,GAAG,6BAA6B,CAAC,MAAM,GAAG,aAAa,CAAC;QACzE,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAClD,IAAI,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,YAAY;YAAE,OAAO,OAAO,CAAC;IAC5E,CAAC;IAED,MAAM,WAAW,CACf,CAAC,EACD,mBAAmB,EACnB,4DAA4D,MAAM,CAAC,YAAY,SAAS,MAAM,mBAAmB,EACjH,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,IAAI,OAAO,CAAC,EAC3C,8IAA8I,EAC9I,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,CACrG,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,QAA2B;IAC7D,OAAO,QAAQ,CAAC,QAAiC,CAAC,CAAC;AACrD,CAAC"}