@superbee/core 0.2.0-pre.20 → 0.2.0-pre.22

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 (60) hide show
  1. package/README.md +50 -0
  2. package/dist/connector-request.d.ts +87 -0
  3. package/dist/connector-request.d.ts.map +1 -0
  4. package/dist/connector-request.js +370 -0
  5. package/dist/connector-request.js.map +1 -0
  6. package/dist/connectors.d.ts +32 -0
  7. package/dist/connectors.d.ts.map +1 -1
  8. package/dist/connectors.js +30 -1
  9. package/dist/connectors.js.map +1 -1
  10. package/dist/recipe-lifecycle/errors.d.ts +3 -1
  11. package/dist/recipe-lifecycle/errors.d.ts.map +1 -1
  12. package/dist/recipe-lifecycle/errors.js.map +1 -1
  13. package/dist/recipe-lifecycle/evolution.d.ts +36 -3
  14. package/dist/recipe-lifecycle/evolution.d.ts.map +1 -1
  15. package/dist/recipe-lifecycle/evolution.js +160 -29
  16. package/dist/recipe-lifecycle/evolution.js.map +1 -1
  17. package/dist/recipe-lifecycle/index.d.ts +7 -5
  18. package/dist/recipe-lifecycle/index.d.ts.map +1 -1
  19. package/dist/recipe-lifecycle/index.js +6 -4
  20. package/dist/recipe-lifecycle/index.js.map +1 -1
  21. package/dist/recipe-lifecycle/install.d.ts +1 -0
  22. package/dist/recipe-lifecycle/install.d.ts.map +1 -1
  23. package/dist/recipe-lifecycle/install.js +25 -10
  24. package/dist/recipe-lifecycle/install.js.map +1 -1
  25. package/dist/recipe-lifecycle/stamp.d.ts +2 -0
  26. package/dist/recipe-lifecycle/stamp.d.ts.map +1 -1
  27. package/dist/recipe-lifecycle/stamp.js +8 -4
  28. package/dist/recipe-lifecycle/stamp.js.map +1 -1
  29. package/dist/source-engine/guard.d.ts +4 -8
  30. package/dist/source-engine/guard.d.ts.map +1 -1
  31. package/dist/source-engine/guard.js +32 -5
  32. package/dist/source-engine/guard.js.map +1 -1
  33. package/dist/source-engine/index.d.ts +2 -0
  34. package/dist/source-engine/index.d.ts.map +1 -1
  35. package/dist/source-engine/index.js +1 -0
  36. package/dist/source-engine/index.js.map +1 -1
  37. package/dist/source-engine/observe.d.ts.map +1 -1
  38. package/dist/source-engine/observe.js +29 -7
  39. package/dist/source-engine/observe.js.map +1 -1
  40. package/dist/source-engine/overlay.d.ts +49 -0
  41. package/dist/source-engine/overlay.d.ts.map +1 -0
  42. package/dist/source-engine/overlay.js +114 -0
  43. package/dist/source-engine/overlay.js.map +1 -0
  44. package/dist/source-engine/types.d.ts +2 -0
  45. package/dist/source-engine/types.d.ts.map +1 -1
  46. package/dist/source-harness/conformance.d.ts.map +1 -1
  47. package/dist/source-harness/conformance.js +13 -12
  48. package/dist/source-harness/conformance.js.map +1 -1
  49. package/dist/source-harness/fixture.d.ts.map +1 -1
  50. package/dist/source-harness/fixture.js +30 -18
  51. package/dist/source-harness/fixture.js.map +1 -1
  52. package/dist/source-profiles/index.d.ts +32 -0
  53. package/dist/source-profiles/index.d.ts.map +1 -0
  54. package/dist/source-profiles/index.js +326 -0
  55. package/dist/source-profiles/index.js.map +1 -0
  56. package/dist/source-profiles/link-header.d.ts +6 -0
  57. package/dist/source-profiles/link-header.d.ts.map +1 -0
  58. package/dist/source-profiles/link-header.js +131 -0
  59. package/dist/source-profiles/link-header.js.map +1 -0
  60. package/package.json +6 -1
@@ -13,6 +13,7 @@ import { resolveContentType } from "../content-type.js";
13
13
  import { DocumentNotFoundError, mutateDocument } from "../document-mutation.js";
14
14
  import { applyV02MutationMetadata } from "../document-write-policy.js";
15
15
  import { InvalidInputError, OkfActorError } from "../errors.js";
16
+ import { normalizeDocumentBodyForStorage } from "../frontmatter.js";
16
17
  import { CONVENTIONS_PREFIX, buildKindRegistry, parseConventionDoc, projectKindValidationWarnings, validateAgainstKind, } from "../kinds.js";
17
18
  import { collectLinkDeclarations } from "../link-types.js";
18
19
  import { parseLinksFromDoc } from "../links.js";
@@ -20,7 +21,7 @@ import { okfValuesEqual } from "../okf-authored-values.js";
20
21
  import { VersionConflict, blobVersion, contentVersion, sha256Hex } from "../versioning.js";
21
22
  import { RecipeEditionChanged, RecipeEvolutionBlocked, RecipeEvolutionInterrupted, RecipeEvolutionPlanChanged, RecipeEvolutionPostcondition, } from "./errors.js";
22
23
  import { materializeRecipeForEdition, recipeDocumentForApply, sameInstalledDoc, } from "./install.js";
23
- import { RECIPE_STAMP_KEY, conventionStampState, definitionDigest, recipeStampIdentity, recipeStampState, withRecipeStamp, } from "./stamp.js";
24
+ import { RECIPE_STAMP_KEY, conventionStampState, definitionDigest, normalizeDefinitionBody, recipeStampIdentity, recipeStampState, withRecipeStamp, } from "./stamp.js";
24
25
  const RECIPE_EVOLUTION_WRITE_REGISTRY = { kinds: new Map(), warnings: [] };
25
26
  function plainRecord(value) {
26
27
  return value !== null && typeof value === "object" && !Array.isArray(value)
@@ -59,14 +60,32 @@ function setOwn(record, key, value) {
59
60
  writable: true,
60
61
  });
61
62
  }
63
+ /** The ordered declaration lists the Kind parser consumes; extension arrays keep their policy. */
64
+ function isOrderedDeclarationList(pointer) {
65
+ return pointer === "/frontmatter/sections"
66
+ || /^\/frontmatter\/fields\/(?:required|optional)$/.test(pointer)
67
+ || /^\/frontmatter\/fields\/(?:values|terminal)\/[^/]+$/.test(pointer);
68
+ }
69
+ /** Each installed occurrence must survive in the same relative order, including duplicates. */
70
+ function isOccurrenceSubsequence(current, next) {
71
+ let index = 0;
72
+ for (const value of next) {
73
+ if (index < current.length && okfValuesEqual(current[index], value))
74
+ index += 1;
75
+ }
76
+ return index === current.length;
77
+ }
62
78
  /**
63
79
  * Merge recipe declarations into a user-owned convention without deleting or replacing any
64
- * existing semantic value. Arrays are declaration sets: additions append, while omissions are
65
- * blockers. Root mutation/provenance metadata is preserved by the shared write policy instead of
66
- * being treated as recipe-owned schema.
80
+ * existing semantic value, except field guidance whose whole-definition stamp proves recipe
81
+ * ownership. Kind declaration lists follow recipe order when existing occurrences can be
82
+ * preserved or the stamp proves an unchanged recipe baseline; omitted values remain blockers.
83
+ * Extension arrays retain their append-only merge. Root mutation/provenance metadata is preserved
84
+ * by the shared write policy instead of being treated as recipe-owned schema.
67
85
  */
68
- function additiveConventionCandidate(existing, desired, blockers) {
86
+ function additiveConventionCandidate(existing, desired, blockers, hasUnchangedRecipeBaseline) {
69
87
  const addedPaths = [];
88
+ const descriptionReplacements = [];
70
89
  const merge = (current, next, pointer) => {
71
90
  if (current === undefined) {
72
91
  addedPaths.push(pointer);
@@ -78,13 +97,34 @@ function additiveConventionCandidate(existing, desired, blockers) {
78
97
  }
79
98
  if (okfValuesEqual(current, next))
80
99
  return current;
100
+ if (hasUnchangedRecipeBaseline
101
+ && /^\/frontmatter\/fields\/descriptions\/[^/]+$/.test(pointer)
102
+ && typeof current === "string"
103
+ && typeof next === "string") {
104
+ descriptionReplacements.push({ path: pointer, old: current, new: next });
105
+ return next;
106
+ }
81
107
  if (Array.isArray(current) && Array.isArray(next)) {
82
108
  const merged = [...current];
109
+ let removesValue = false;
83
110
  for (const value of current) {
84
111
  if (!next.some((candidate) => okfValuesEqual(candidate, value))) {
112
+ removesValue = true;
85
113
  evolutionBlocker(blockers, "RECIPE_EVOLUTION_REMOVAL_UNSUPPORTED", desired.id, `automatic evolution preserves the existing declaration value at '${pointer}'`, pointer);
86
114
  }
87
115
  }
116
+ if (isOrderedDeclarationList(pointer) && !removesValue) {
117
+ if (!hasUnchangedRecipeBaseline && !isOccurrenceSubsequence(current, next)) {
118
+ evolutionBlocker(blockers, "RECIPE_EVOLUTION_LIST_ORDER_UNPROVEN", desired.id, `automatic evolution cannot reorder or remove installed occurrences at '${pointer}' without an unchanged recipe baseline; existing order and duplicates are preserved`, pointer);
119
+ return current;
120
+ }
121
+ for (const value of next) {
122
+ if (!current.some((candidate) => okfValuesEqual(candidate, value))) {
123
+ addedPaths.push(`${pointer}/${pointerSegment(String(value))}`);
124
+ }
125
+ }
126
+ return next;
127
+ }
88
128
  for (const value of next) {
89
129
  if (merged.some((candidate) => okfValuesEqual(candidate, value)))
90
130
  continue;
@@ -118,24 +158,27 @@ function additiveConventionCandidate(existing, desired, blockers) {
118
158
  setOwn(candidateFrontmatter, key, merge(currentFrontmatter[key], desiredFrontmatter[key], `/frontmatter/${pointerSegment(key)}`));
119
159
  }
120
160
  let body = existing.body;
121
- if (existing.body === "" && desired.body !== "") {
161
+ const existingBody = normalizeDefinitionBody(existing.body);
162
+ const desiredBody = normalizeDefinitionBody(desired.body);
163
+ if (existingBody === "\n" && desiredBody !== "\n") {
122
164
  body = desired.body;
123
165
  addedPaths.push("/body");
124
166
  }
125
- else if (existing.body !== desired.body) {
167
+ else if (existingBody !== desiredBody) {
126
168
  evolutionBlocker(blockers, "RECIPE_EVOLUTION_BODY_REPLACEMENT_UNSUPPORTED", desired.id, "automatic evolution will not replace an existing convention body; update it manually after review", "/body");
127
169
  }
128
170
  return {
129
171
  candidate: { id: desired.id, frontmatter: candidateFrontmatter, body },
130
172
  addedPaths: [...new Set(addedPaths)].sort(),
173
+ descriptionReplacements: descriptionReplacements.sort((a, b) => a.path.localeCompare(b.path)),
131
174
  };
132
175
  }
133
176
  /**
134
- * The recipe's Connector as the replacement of the installed one: every content key and the body
177
+ * A recipe-owned Connector or Reference as the replacement of the installed one: every content key and the body
135
178
  * from the recipe, the root metadata and a bundle-local `order` from the installed document, as a
136
179
  * convention update keeps them.
137
180
  */
138
- function connectorReplacement(existing, desired) {
181
+ function ownedAssetReplacement(existing, desired) {
139
182
  const frontmatter = {};
140
183
  for (const [key, value] of Object.entries(desired.frontmatter)) {
141
184
  if (!PRESERVED_ROOT_METADATA.has(key))
@@ -248,7 +291,10 @@ function monotonicEvolutionBlockers(current, desired, blockers) {
248
291
  if (!okfValuesEqual(current.expectsInbound ?? {}, desired.expectsInbound ?? {})) {
249
292
  evolutionBlocker(blockers, "RECIPE_EVOLUTION_RELATIONSHIP_CHANGE", desired.id, `automatic evolution does not change inbound relationship expectations for '${desired.governs}'`, "expects_inbound");
250
293
  }
251
- if (!okfValuesEqual(current.fields.terminal, desired.fields.terminal)) {
294
+ const sameTerminalOccurrences = Object.keys(current.fields.terminal).length === Object.keys(desired.fields.terminal).length
295
+ && Object.entries(current.fields.terminal).every(([field, values]) => Object.hasOwn(desired.fields.terminal, field)
296
+ && okfValuesEqual([...values].sort(), [...desired.fields.terminal[field]].sort()));
297
+ if (!sameTerminalOccurrences) {
252
298
  evolutionBlocker(blockers, "RECIPE_EVOLUTION_TERMINAL_CHANGE", desired.id, `automatic evolution does not change terminal workflow values for '${desired.governs}' because open-work visibility can change`, "fields.terminal");
253
299
  }
254
300
  }
@@ -330,6 +376,7 @@ async function prepareRecipeEvolution(bundle, sourceRecipe) {
330
376
  ...(warning.field ? { field: warning.field } : {}),
331
377
  }));
332
378
  const definitions = [];
379
+ const references = [];
333
380
  const writes = new Map();
334
381
  const proofs = [];
335
382
  const desiredKinds = new Map();
@@ -399,7 +446,11 @@ async function prepareRecipeEvolution(bundle, sourceRecipe) {
399
446
  ? `existing '${target.id}' is not a valid convention: ${parsedCurrent.reason}`
400
447
  : `existing '${target.id}' governs '${parsedCurrent.kind.governs}', not '${parsedDesired.kind.governs}'`, "governs");
401
448
  }
402
- const merged = additiveConventionCandidate(existing.doc, target, blockers);
449
+ const identityState = recipeStampState(existing.doc, identity);
450
+ // A whole-definition stamp proves an unchanged baseline, not individual field history.
451
+ const hasUnchangedRecipeBaseline = (identityState === "current" || identityState === "stale")
452
+ && conventionStampState(existing.doc) === "current";
453
+ const merged = additiveConventionCandidate(existing.doc, target, blockers, hasUnchangedRecipeBaseline);
403
454
  let candidate = merged.candidate;
404
455
  if (okfVersion === "0.2") {
405
456
  try {
@@ -424,7 +475,7 @@ async function prepareRecipeEvolution(bundle, sourceRecipe) {
424
475
  }
425
476
  else {
426
477
  desiredKinds.set(parsedCandidate.kind.governs, parsedCandidate.kind);
427
- // Additive evolution preserves local declarations that are absent from the recipe.
478
+ // Omitted declarations remain in the candidate even when they block applying the plan.
428
479
  for (const warning of parsedCandidate.warnings) {
429
480
  if (warning.code !== "OKF_WORKFLOW_STATUS_COLLISION" || blockers.some(blocker => blocker.id === target.id && blocker.code === warning.code))
430
481
  continue;
@@ -435,9 +486,8 @@ async function prepareRecipeEvolution(bundle, sourceRecipe) {
435
486
  const unchanged = sameInstalledDoc(existing.doc, candidate, okfVersion);
436
487
  // A current identity whose definition disagrees with the stored content is re-stamped only when
437
488
  // that content's definition digest equals the digest of the recipe's own convention: a fresh
438
- // stamp is then the honest record. The merge treats lists as sets, so `unchanged` alone would
439
- // also re-baseline a local reorder or duplicate.
440
- const identityState = recipeStampState(existing.doc, identity);
489
+ // stamp is then the honest record. `unchanged` alone must not re-baseline preserved local
490
+ // content that differs from the selected recipe.
441
491
  const stamp = unchanged &&
442
492
  identityState === "current" &&
443
493
  conventionStampState(existing.doc) === "diverged" &&
@@ -452,6 +502,7 @@ async function prepareRecipeEvolution(bundle, sourceRecipe) {
452
502
  expected_version: existing.version,
453
503
  desired_version: desiredVersion,
454
504
  added_paths: unchanged ? [] : merged.addedPaths,
505
+ ...(merged.descriptionReplacements.length > 0 ? { description_replacements: merged.descriptionReplacements } : {}),
455
506
  });
456
507
  // The write set: a content update (which takes ownership of a foreign stamp), or a stale or
457
508
  // missing stamp on unchanged content. A foreign stamp alone is another recipe's to keep.
@@ -512,7 +563,7 @@ async function prepareRecipeEvolution(bundle, sourceRecipe) {
512
563
  evolutionBlocker(blockers, "RECIPE_EVOLUTION_ASSET_MISSING", target.id, `recipe Connector '${target.id}' is not installed; install the complete recipe with 'recipe add' first`);
513
564
  continue;
514
565
  }
515
- let candidate = connectorReplacement(existing.doc, target);
566
+ let candidate = ownedAssetReplacement(existing.doc, target);
516
567
  if (okfVersion === "0.2") {
517
568
  try {
518
569
  const withMetadata = applyV02MutationMetadata({
@@ -561,11 +612,63 @@ async function prepareRecipeEvolution(bundle, sourceRecipe) {
561
612
  evolutionBlocker(blockers, "RECIPE_EVOLUTION_ASSET_MISSING", target.id, `recipe asset '${target.id}' is not installed; install the complete recipe with 'recipe add' first`);
562
613
  }
563
614
  else if (!sameInstalledDoc(existing.doc, target, okfVersion)) {
564
- evolutionBlocker(blockers, "RECIPE_EVOLUTION_ASSET_CHANGE_UNSUPPORTED", target.id, `recipe evolution does not replace an existing ${kind === "reference" ? "Reference" : "View registry"} asset`);
615
+ evolutionBlocker(blockers, "RECIPE_EVOLUTION_ASSET_CHANGE_UNSUPPORTED", target.id, "recipe evolution does not replace an existing View registry asset");
565
616
  }
566
617
  };
567
- for (const reference of recipe.references)
568
- await assetDocProof("reference", reference.doc);
618
+ for (const reference of recipe.references) {
619
+ const target = recipeDocumentForApply({ ...reference.doc, body: normalizeDocumentBodyForStorage(reference.doc.body) }, okfVersion, "1970-01-01T00:00:00.000Z");
620
+ const existing = await readRecipeDocIfPresent(bundle, target.id);
621
+ let candidate = existing ? ownedAssetReplacement(existing.doc, target) : target;
622
+ if (existing && okfVersion === "0.2") {
623
+ const producer = plainRecord(existing.doc.frontmatter.generated)?.by;
624
+ try {
625
+ candidate = { id: target.id, ...applyV02MutationMetadata({
626
+ existing: existing.doc,
627
+ candidate: { frontmatter: candidate.frontmatter, body: candidate.body },
628
+ ...(typeof producer === "string" ? { producer } : {}),
629
+ meaningfulChangeAt: "1970-01-01T00:00:00.000Z",
630
+ allowGeneratedProvenanceSeed: false,
631
+ }) };
632
+ }
633
+ catch (error) {
634
+ if (!(error instanceof InvalidInputError))
635
+ throw error;
636
+ evolutionBlocker(blockers, "RECIPE_EVOLUTION_WRITE_POLICY_INVALID", target.id, `prospective Reference cannot satisfy the OKF v0.2 write policy: ${error.message}`);
637
+ }
638
+ }
639
+ const wanted = contentVersion(comparableRecipeDoc(candidate, okfVersion));
640
+ const stamp = recipeStampState(existing?.doc ?? null, identity);
641
+ const unchanged = existing !== null && sameInstalledDoc(existing.doc, candidate, okfVersion);
642
+ references.push({ id: target.id, action: !existing ? "missing" : unchanged ? "unchanged" : "update", stamp, expected_version: existing?.version ?? null, desired_version: wanted });
643
+ proofs.push({ kind: "reference", id: target.id, current_version: existing?.version ?? null, desired_version: wanted });
644
+ if (!existing) {
645
+ evolutionBlocker(blockers, "RECIPE_EVOLUTION_ASSET_MISSING", target.id, `recipe asset '${target.id}' is not installed; install the complete recipe with 'recipe add' first`);
646
+ continue;
647
+ }
648
+ let reason;
649
+ if (existing.doc.frontmatter.type !== "Reference" || target.frontmatter.type !== "Reference")
650
+ reason = "is not a Reference";
651
+ else if (stamp === "foreign")
652
+ reason = "belongs to another recipe";
653
+ else if (stamp === "missing") {
654
+ if (Object.hasOwn(existing.doc.frontmatter, RECIPE_STAMP_KEY))
655
+ reason = "has an unreadable recipe stamp";
656
+ // Adoption proves equality with selected source NOW, not an inferred historical install.
657
+ else if (!sameInstalledDoc(existing.doc, target, okfVersion))
658
+ reason = "has no ownership stamp and differs from the selected source";
659
+ }
660
+ else if (conventionStampState(existing.doc) !== "current")
661
+ reason = "has locally changed content or unreadable digest rules";
662
+ if (reason) {
663
+ evolutionBlocker(blockers, "RECIPE_EVOLUTION_REFERENCE_UNPROVEN", target.id, `Reference '${target.id}' ${reason}; evolution cannot prove recipe ownership and leaves it untouched`);
664
+ continue;
665
+ }
666
+ if (!unchanged)
667
+ writes.set(target.id, withRecipeStamp(candidate, identity));
668
+ else if (stamp === "missing" || stamp === "stale")
669
+ writes.set(target.id, withRecipeStamp(existing.doc, identity));
670
+ }
671
+ references.sort((a, b) => a.id.localeCompare(b.id));
569
672
  for (const page of recipe.pages) {
570
673
  await assetDocProof("view-registry", page.registry);
571
674
  const existing = await readBlob(bundle, page.entry);
@@ -657,6 +760,7 @@ async function prepareRecipeEvolution(bundle, sourceRecipe) {
657
760
  recipe: { id: recipe.id, version: recipe.version, source: recipe.source, source_digest: identity.source_digest },
658
761
  okfVersion,
659
762
  definitions,
763
+ ...(references.length > 0 ? { references } : {}),
660
764
  proofs,
661
765
  blockers,
662
766
  });
@@ -672,10 +776,19 @@ async function prepareRecipeEvolution(bundle, sourceRecipe) {
672
776
  source: recipe.source,
673
777
  okf_version: okfVersion,
674
778
  ready: blockers.length === 0,
675
- changed: updates > 0,
779
+ changed: updates > 0 || references.some(row => row.action === "update"),
676
780
  writes: writes.size,
677
781
  plan_token: token,
678
782
  definitions,
783
+ ...(references.length > 0 ? { reference_assets: {
784
+ rows: references,
785
+ counts: {
786
+ updates: references.filter(row => row.action === "update").length,
787
+ stamp_writes: references.filter(row => writes.has(row.id) && row.action !== "update").length,
788
+ unchanged: references.filter(row => row.action === "unchanged").length,
789
+ missing: references.filter(row => row.action === "missing").length,
790
+ },
791
+ } } : {}),
679
792
  counts: {
680
793
  definitions: definitions.length,
681
794
  updates,
@@ -690,7 +803,7 @@ async function prepareRecipeEvolution(bundle, sourceRecipe) {
690
803
  writes,
691
804
  };
692
805
  }
693
- /** Build a read-only, state-bound preflight for installed recipe convention evolution. */
806
+ /** Build a read-only, state-bound preflight for recipe definitions and Reference ownership. */
694
807
  export async function planRecipeEvolution(bundle, recipe) {
695
808
  return (await prepareRecipeEvolution(bundle, recipe)).plan;
696
809
  }
@@ -706,15 +819,18 @@ export async function applyRecipeEvolution(bundle, recipe, expectedPlanToken, op
706
819
  throw new RecipeEvolutionBlocked(plan.id, plan.blockers);
707
820
  }
708
821
  const completed = [];
709
- const pending = plan.definitions.filter((definition) => prepared.writes.has(definition.id)).map((definition) => definition.id);
710
- for (const definition of plan.definitions) {
822
+ const targets = [...plan.definitions, ...(plan.reference_assets?.rows ?? []).map(row => ({ ...row, asset_kind: "reference" }))];
823
+ const pending = targets.filter((definition) => prepared.writes.has(definition.id)).map((definition) => definition.id);
824
+ for (const definition of targets) {
825
+ const asset = "asset_kind" in definition ? { asset_kind: definition.asset_kind } : {};
711
826
  const planned = prepared.writes.get(definition.id);
712
827
  if (planned === undefined) {
713
- completed.push({ id: definition.id, changed: false, stamped: false, version: definition.expected_version });
828
+ completed.push({ id: definition.id, ...asset, changed: false, stamped: false, version: definition.expected_version });
714
829
  continue;
715
830
  }
716
831
  const now = new Date().toISOString();
717
832
  const desired = recipeDocumentForApply(planned, plan.okf_version, now);
833
+ const sourceProducer = "asset_kind" in definition ? plainRecord(desired.frontmatter.generated)?.by : undefined;
718
834
  try {
719
835
  const result = await mutateDocument({
720
836
  bundle,
@@ -729,7 +845,9 @@ export async function applyRecipeEvolution(bundle, recipe, expectedPlanToken, op
729
845
  // explicitly opts out of seeding provenance when the installed definition has none.
730
846
  seedGenerationClock: false,
731
847
  // Evolution preserves source-comparable attribution; the backend still records its writer.
732
- persistActor: false,
848
+ persistActor: "asset_kind" in definition,
849
+ // Reference replacement retains its existing content producer; actor is advisory.
850
+ ...(typeof sourceProducer === "string" ? { producer: sourceProducer } : {}),
733
851
  actor,
734
852
  now: () => now,
735
853
  buildCandidate: (_existing, context) => {
@@ -741,6 +859,7 @@ export async function applyRecipeEvolution(bundle, recipe, expectedPlanToken, op
741
859
  });
742
860
  completed.push({
743
861
  id: definition.id,
862
+ ...asset,
744
863
  changed: definition.action === "update" && result.changed,
745
864
  stamped: true,
746
865
  version: result.version,
@@ -770,10 +889,10 @@ export async function applyRecipeEvolution(bundle, recipe, expectedPlanToken, op
770
889
  postcondition = await prepareRecipeEvolution(bundle, recipe);
771
890
  }
772
891
  catch (error) {
773
- throw new RecipeEvolutionPostcondition("unverifiable", `recipe evolution wrote ${written} definition(s), but its postcondition could not be verified: ${error instanceof Error ? error.message : String(error)}`, completed, { cause: error });
892
+ throw new RecipeEvolutionPostcondition("unverifiable", `recipe evolution wrote ${written} ${plan.reference_assets ? "target(s)" : "definition(s)"}, but its postcondition could not be verified: ${error instanceof Error ? error.message : String(error)}`, completed, { cause: error });
774
893
  }
775
894
  if (!postcondition.plan.ready || postcondition.plan.changed || postcondition.plan.writes > 0) {
776
- throw new RecipeEvolutionPostcondition("changed", `recipe evolution wrote ${written} definition(s), but the bundle changed (a definition or its stamp) before the postcondition check; a fresh recipe evolve plan shows the current state`, completed, { blockers: postcondition.plan.blockers, postcondition_plan: postcondition.plan.plan_token });
895
+ throw new RecipeEvolutionPostcondition("changed", `recipe evolution wrote ${written} ${plan.reference_assets ? "target(s)" : "definition(s)"}, but the bundle changed (${plan.reference_assets ? "a target" : "a definition"} or its stamp) before the postcondition check; a fresh recipe evolve plan shows the current state`, completed, { blockers: postcondition.plan.blockers, postcondition_plan: postcondition.plan.plan_token });
777
896
  }
778
897
  return {
779
898
  recipe: updated > 0 ? "evolved" : stamped > 0 ? "stamped" : "already current",
@@ -782,8 +901,20 @@ export async function applyRecipeEvolution(bundle, recipe, expectedPlanToken, op
782
901
  source: plan.source,
783
902
  changed: written > 0,
784
903
  plan_token: plan.plan_token,
785
- definitions: completed,
786
- counts: { updated, stamped, unchanged: completed.length - written },
904
+ definitions: completed.filter(row => row.asset_kind !== "reference"),
905
+ ...(plan.reference_assets ? { reference_assets: {
906
+ rows: completed.filter(row => row.asset_kind === "reference"),
907
+ counts: {
908
+ updated: completed.filter(row => row.asset_kind === "reference" && row.changed).length,
909
+ stamped: completed.filter(row => row.asset_kind === "reference" && row.stamped && !row.changed).length,
910
+ unchanged: completed.filter(row => row.asset_kind === "reference" && !row.stamped).length,
911
+ },
912
+ } } : {}),
913
+ counts: {
914
+ updated: completed.filter(row => row.asset_kind !== "reference" && row.changed).length,
915
+ stamped: completed.filter(row => row.asset_kind !== "reference" && row.stamped && !row.changed).length,
916
+ unchanged: completed.filter(row => row.asset_kind !== "reference" && !row.stamped).length,
917
+ },
787
918
  };
788
919
  }
789
920
  //# sourceMappingURL=evolution.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"evolution.js","sourceRoot":"","sources":["../../src/recipe-lifecycle/evolution.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,EAAE;AACF,iGAAiG;AACjG,iGAAiG;AACjG,mGAAmG;AACnG,mGAAmG;AACnG,qGAAqG;AACrG,iGAAiG;AACjG,gFAAgF;AAChF,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC3F,OAAO,EAAE,0BAA0B,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,6BAA6B,EAC7B,mBAAmB,GAGpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,uBAAuB,EAA4B,MAAM,kBAAkB,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAG3D,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC3F,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,4BAA4B,GAE7B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,GAEhB,MAAM,YAAY,CAAC;AAEpB,MAAM,+BAA+B,GAAiB,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AAEzF,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACzE,CAAC,CAAC,KAAgC;QAClC,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AA+ED,SAAS,mBAAmB,CAAC,GAAgB,EAAE,UAAkB;IAC/D,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC;IAC9F,MAAM,SAAS,GAAG,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACrD,IAAI,UAAU,KAAK,KAAK,IAAI,SAAS,EAAE,CAAC;QACtC,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,SAAS,CAAC;QACvC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC;;YAC1D,OAAO,WAAW,CAAC,SAAS,CAAC;IACpC,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;AACrD,CAAC;AAED,gGAAgG;AAChG,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,qBAAqB,EAAE,gBAAgB,CAAC,CAAC,CAAC;AAClI;;;;;GAKG;AACH,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AAOlD,SAAS,cAAc,CAAC,KAAa;IACnC,OAAO,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,MAAM,CAAC,MAA+B,EAAE,GAAW,EAAE,KAAc;IAC1E,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE;QACjC,KAAK;QACL,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,IAAI;QAClB,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,SAAS,2BAA2B,CAClC,QAAqB,EACrB,OAAoB,EACpB,QAAkC;IAElC,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,MAAM,KAAK,GAAG,CAAC,OAAgB,EAAE,IAAa,EAAE,OAAe,EAAW,EAAE;QAC1E,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,gBAAgB,CACd,QAAQ,EACR,sCAAsC,EACtC,OAAO,CAAC,EAAE,EACV,8DAA8D,OAAO,yDAAyD,EAC9H,OAAO,CACR,CAAC;YACF,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,IAAI,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC;YAAE,OAAO,OAAO,CAAC;QAClD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAClD,MAAM,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;YAC5B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;oBAChE,gBAAgB,CACd,QAAQ,EACR,sCAAsC,EACtC,OAAO,CAAC,EAAE,EACV,oEAAoE,OAAO,GAAG,EAC9E,OAAO,CACR,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;gBACzB,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;oBAAE,SAAS;gBAC3E,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACnB,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,IAAI,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YACjE,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,aAAa,IAAI,UAAU,EAAE,CAAC;YAChC,MAAM,MAAM,GAA4B,EAAE,GAAG,aAAa,EAAE,CAAC;YAC7D,KAAK,MAAM,GAAG,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvF,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CACvB,aAAa,CAAC,GAAG,CAAC,EAClB,UAAU,CAAC,GAAG,CAAC,EACf,GAAG,OAAO,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CACpC,CAAC,CAAC;YACL,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,gBAAgB,CACd,QAAQ,EACR,0CAA0C,EAC1C,OAAO,CAAC,EAAE,EACV,qEAAqE,OAAO,GAAG,EAC/E,OAAO,CACR,CAAC;QACF,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,QAAQ,CAAC,WAAW,CAAC;IAChD,MAAM,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC;IAC/C,MAAM,oBAAoB,GAA4B,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAChF,KAAK,MAAM,GAAG,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;QACpG,6FAA6F;QAC7F,8FAA8F;QAC9F,IAAI,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC/C,IAAI,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,GAAG,CAAC,KAAK,SAAS;YAAE,SAAS;QACvF,MAAM,CAAC,oBAAoB,EAAE,GAAG,EAAE,KAAK,CACrC,kBAAkB,CAAC,GAAG,CAAC,EACvB,kBAAkB,CAAC,GAAG,CAAC,EACvB,gBAAgB,cAAc,CAAC,GAAG,CAAC,EAAE,CACtC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IACzB,IAAI,QAAQ,CAAC,IAAI,KAAK,EAAE,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;QAChD,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACpB,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;SAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;QAC1C,gBAAgB,CACd,QAAQ,EACR,+CAA+C,EAC/C,OAAO,CAAC,EAAE,EACV,mGAAmG,EACnG,OAAO,CACR,CAAC;IACJ,CAAC;IAED,OAAO;QACL,SAAS,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,WAAW,EAAE,oBAAkD,EAAE,IAAI,EAAE;QACpG,UAAU,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE;KAC5C,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,oBAAoB,CAAC,QAAqB,EAAE,OAAoB;IACvE,MAAM,WAAW,GAA4B,EAAE,CAAC;IAChD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/D,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,MAAM,CAAC,WAAW,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IACzE,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,uBAAuB,EAAE,GAAG,sBAAsB,CAAC,EAAE,CAAC;QAC1E,IAAI,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,SAAS;YAAE,SAAS;QACxF,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC;YAAE,MAAM,CAAC,WAAW,EAAE,GAAG,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IACpG,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,WAAW,EAAE,WAAyC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;AACxG,CAAC;AAED;;;;;;GAMG;AACH,SAAS,qBAAqB,CAC5B,QAAqB,EACrB,KAAuB,EACvB,SAAkB;IAElB,MAAM,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;IACvB,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QACjD,OAAO;YACL,IAAI,EAAE,oCAAoC;YAC1C,OAAO,EAAE,aAAa,EAAE,eAAe,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,cAAc,GAAG;SACrG,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO;YACL,IAAI,EAAE,0CAA0C;YAChD,OAAO,EAAE,cAAc,EAAE,iDAAiD,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,EAAE,EAAE,CAAC,sEAAsE;SAChN,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACxB,IAAI,EAAE,0CAA0C;YAChD,OAAO,EAAE,cAAc,EAAE,6LAA6L;SACvN,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAClD,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;QAC9B,OAAO;YACL,IAAI,EAAE,0CAA0C;YAChD,OAAO,EAAE,cAAc,EAAE,yKAAyK;SACnM,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO;YACL,IAAI,EAAE,0CAA0C;YAChD,OAAO,EAAE,cAAc,EAAE,uGAAuG;SACjI,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,MAAc,EACd,EAAa;IAEb,IAAI,CAAC;QACH,OAAO,MAAM,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,qBAAqB,IAAK,KAA+B,EAAE,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC/G,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CACvB,QAAkC,EAClC,IAAY,EACZ,EAAU,EACV,OAAe,EACf,KAAc;IAEd,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,0BAA0B,CACjC,OAAuB,EACvB,OAAuB,EACvB,QAAkC;IAElC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACzD,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC5C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,gBAAgB,CACd,QAAQ,EACR,gCAAgC,EAChC,OAAO,CAAC,EAAE,EACV,6CAA6C,KAAK,UAAU,OAAO,CAAC,OAAO,uCAAuC,EAClH,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;IAED,gGAAgG;IAChG,kGAAkG;IAClG,iGAAiG;IACjG,gEAAgE;IAChE,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1F,KAAK,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3E,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,SAAS;YACzC,gBAAgB,CACd,QAAQ,EACR,gCAAgC,EAChC,OAAO,CAAC,EAAE,EACV,0DAA0D,KAAK,UAAU,OAAO,CAAC,OAAO,eAAe,KAAK,+CAA+C,EAC3J,KAAK,CACN,CAAC;YACF,SAAS;QACX,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QACrE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,gBAAgB,CACd,QAAQ,EACR,gCAAgC,EAChC,OAAO,CAAC,EAAE,EACV,8CAA8C,KAAK,mBAAmB,OAAO,CAAC,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAC/G,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IACxD,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;QAC7C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,gBAAgB,CACd,QAAQ,EACR,gCAAgC,EAChC,OAAO,CAAC,EAAE,EACV,mDAAmD,OAAO,kBAAkB,OAAO,CAAC,OAAO,GAAG,EAC9F,OAAO,CACR,CAAC;QACJ,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,iGAAiG;IACjG,+FAA+F;IAC/F,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;IACzC,KAAK,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;QACrE,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,MAAM;YAAE,SAAS;QACzF,gBAAgB,CACd,QAAQ,EACR,sCAAsC,EACtC,OAAO,CAAC,EAAE,EACV,2EAA2E,QAAQ,UAAU,OAAO,CAAC,OAAO,GAAG,EAC/G,SAAS,QAAQ,EAAE,CACpB,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,EAAE,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC,EAAE,CAAC;QAChF,gBAAgB,CACd,QAAQ,EACR,sCAAsC,EACtC,OAAO,CAAC,EAAE,EACV,8EAA8E,OAAO,CAAC,OAAO,GAAG,EAChG,iBAAiB,CAClB,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtE,gBAAgB,CACd,QAAQ,EACR,kCAAkC,EAClC,OAAO,CAAC,EAAE,EACV,qEAAqE,OAAO,CAAC,OAAO,2CAA2C,EAC/H,iBAAiB,CAClB,CAAC;IACJ,CAAC;AACH,CAAC;AAYD,SAAS,sBAAsB,CAAC,OAAuB,EAAE,OAAuB;IAC9E,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;QACvE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE,KAAK,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAChF,CAAC;IACD,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1F,MAAM,MAAM,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC3C,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACrE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/E,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAC3B,CAAC;AAED,kFAAkF;AAClF,MAAM,2BAA2B,GAAG,EAAE,CAAC;AAEvC,0FAA0F;AAC1F,SAAS,cAAc,CAAC,OAAuB,EAAE,OAAuB;IACtE,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;IACzC,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;AACvG,CAAC;AAED;;;;;GAKG;AACH,SAAS,wBAAwB,CAC/B,IAA4B,EAC5B,UAA+B,EAC/B,eAA6B,EAC7B,QAAsB,EACtB,QAAkC;IAElC,MAAM,YAAY,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IACvD,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,eAAe,CAAC,CAAC;IACrE,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,CAAC,GAAgB,EAAU,EAAE,CAAC,OAAO,GAAG,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACnH,MAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,KAAK,MAAM,IAAI,IAAI,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,SAAS;YACzC,OAAO,GAAG,IAAI,CAAC;YACf,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACrC,IAAI,CAAC,MAAM;gBAAE,SAAS,CAAC,kDAAkD;YACzE,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YAChC,MAAM,QAAQ,GAAG,CAAC,QAAwC,EAA8B,EAAE;gBACxF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,IAAI,CAAC;gBACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC;gBACnF,OAAO,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,QAAQ,CAAC,CAAC,CAAE,CAAC;YACxF,CAAC,CAAC;YACF,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7D,IAAI,CAAC,QAAQ;gBAAE,SAAS;YACxB,qFAAqF;YACrF,4DAA4D;YAC5D,IAAI,QAAQ,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBAAE,SAAS;YACjE,gBAAgB,CACd,QAAQ,EACR,mCAAmC,EACnC,GAAG,CAAC,EAAE,EACN,wBAAwB,IAAI,CAAC,IAAI,6BAA6B,IAAI,CAAC,EAAE,2BAA2B,QAAQ,CAAC,OAAO,OAAO,QAAQ,CAAC,MAAM,WAAW,UAAU,IAAI,SAAS,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,SAAS,GAAG,EAC9M,SAAS,IAAI,CAAC,IAAI,EAAE,CACrB,CAAC;QACJ,CAAC;QACD,IAAI,OAAO;YAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,OAAO,UAAU,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;AACtD,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,MAAc,EAAE,YAA0B;IAC9E,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC;IAC/D,MAAM,MAAM,GAAG,2BAA2B,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACrE,MAAM,QAAQ,GAAG,mBAAmB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAA6B,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC3E,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnD,CAAC,CAAC,CAAC;IACJ,MAAM,WAAW,GAAgC,EAAE,CAAC;IACpD,MAAM,MAAM,GAAG,IAAI,GAAG,EAA0B,CAAC;IACjD,MAAM,MAAM,GAAqB,EAAE,CAAC;IACpC,MAAM,YAAY,GAAG,IAAI,GAAG,EAA0B,CAAC;IAEvD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IACzC,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAkC,CAAC;IACpE,MAAM,kBAAkB,GAA6C,EAAE,CAAC;IACxE,MAAM,oBAAoB,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE;QACnG,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC;KACtD,CAAC,CAAC;IACH,KAAK,MAAM,OAAO,IAAI,kBAAkB,EAAE,CAAC;QACzC,gBAAgB,CACd,QAAQ,EACR,wCAAwC,EACxC,OAAO,CAAC,EAAE,EACV,2DAA2D,OAAO,CAAC,EAAE,oBAAoB,OAAO,CAAC,MAAM,EAAE,CAC1G,CAAC;IACJ,CAAC;IACD,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAClF,MAAM,eAAe,GAAG,iBAAiB,CAAC,oBAAoB,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;IAEpF,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,sBAAsB,CAAC,QAAQ,EAAE,UAAU,EAAE,0BAA0B,CAAC,CAAC;QACxF,MAAM,aAAa,GAAG,kBAAkB,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC;YACtB,gBAAgB,CACd,QAAQ,EACR,qCAAqC,EACrC,MAAM,CAAC,EAAE,EACT,sBAAsB,MAAM,CAAC,EAAE,mBAAmB,aAAa,CAAC,MAAM,EAAE,CACzE,CAAC;YACF,SAAS;QACX,CAAC;QACD,KAAK,MAAM,OAAO,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;YAC7C,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACtF,CAAC;QACD,IAAI,aAAa,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnD,gBAAgB,CACd,QAAQ,EACR,qBAAqB,EACrB,MAAM,CAAC,EAAE,EACT,sDAAsD,aAAa,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EACtG,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAC3C,CAAC;QACJ,CAAC;QACD,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,wBAAwB,CAAC;oBACvB,SAAS,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE;oBACjE,kBAAkB,EAAE,0BAA0B;oBAC9C,4BAA4B,EAAE,KAAK;iBACpC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,CAAC,KAAK,YAAY,iBAAiB,CAAC;oBAAE,MAAM,KAAK,CAAC;gBACvD,gBAAgB,CACd,QAAQ,EACR,uCAAuC,EACvC,MAAM,CAAC,EAAE,EACT,+DAA+D,KAAK,CAAC,OAAO,EAAE,CAC/E,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YACvC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;YACjE,MAAM,cAAc,GAAG,cAAc,CAAC,mBAAmB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;YAC/E,WAAW,CAAC,IAAI,CAAC;gBACf,EAAE,EAAE,MAAM,CAAC,EAAE;gBACb,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,OAAO;gBACnC,MAAM,EAAE,SAAS;gBACjB,KAAK,EAAE,SAAS;gBAChB,gBAAgB,EAAE,IAAI;gBACtB,eAAe,EAAE,cAAc;gBAC/B,WAAW,EAAE,EAAE;aAChB,CAAC,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC,CAAC;YAC3G,gBAAgB,CACd,QAAQ,EACR,qCAAqC,EACrC,MAAM,CAAC,EAAE,EACT,0GAA0G,CAC3G,CAAC;YACF,SAAS;QACX,CAAC;QAED,MAAM,aAAa,GAAG,kBAAkB,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;QACvE,IACE,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,KAAK,YAAY;eAC3C,CAAC,aAAa,CAAC,EAAE;eACjB,aAAa,CAAC,IAAI,CAAC,OAAO,KAAK,aAAa,CAAC,IAAI,CAAC,OAAO,EAC5D,CAAC;YACD,gBAAgB,CACd,QAAQ,EACR,oCAAoC,EACpC,MAAM,CAAC,EAAE,EACT,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,KAAK,YAAY;gBAC5C,CAAC,CAAC,aAAa,MAAM,CAAC,EAAE,eAAe,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,qBAAqB;gBACjG,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE;oBACnB,CAAC,CAAC,aAAa,MAAM,CAAC,EAAE,gCAAgC,aAAa,CAAC,MAAM,EAAE;oBAC9E,CAAC,CAAC,aAAa,MAAM,CAAC,EAAE,cAAc,aAAa,CAAC,IAAI,CAAC,OAAO,WAAW,aAAa,CAAC,IAAI,CAAC,OAAO,GAAG,EAC1G,SAAS,CACV,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,2BAA2B,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC3E,IAAI,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QACjC,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,YAAY,GAAG,wBAAwB,CAAC;oBAC5C,QAAQ,EAAE,QAAQ,CAAC,GAAG;oBACtB,SAAS,EAAE,EAAE,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE;oBACvE,kBAAkB,EAAE,0BAA0B;oBAC9C,4BAA4B,EAAE,KAAK;iBACpC,CAAC,CAAC;gBACH,SAAS,GAAG,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,GAAG,YAAY,EAAE,CAAC;YACpD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,CAAC,KAAK,YAAY,iBAAiB,CAAC;oBAAE,MAAM,KAAK,CAAC;gBACvD,gBAAgB,CACd,QAAQ,EACR,uCAAuC,EACvC,MAAM,CAAC,EAAE,EACT,oEAAoE,KAAK,CAAC,OAAO,EAAE,CACpF,CAAC;YACJ,CAAC;QACH,CAAC;QACD,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QAC1C,MAAM,eAAe,GAAG,kBAAkB,CAAC,SAAS,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;QACtE,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC;YACxB,gBAAgB,CACd,QAAQ,EACR,qCAAqC,EACrC,MAAM,CAAC,EAAE,EACT,2BAA2B,MAAM,CAAC,EAAE,mBAAmB,eAAe,CAAC,MAAM,EAAE,CAChF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;YACrE,mFAAmF;YACnF,KAAK,MAAM,OAAO,IAAI,eAAe,CAAC,QAAQ,EAAE,CAAC;gBAC/C,IAAI,OAAO,CAAC,IAAI,KAAK,+BAA+B,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC;oBAAE,SAAS;gBACtJ,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YACtF,CAAC;QACH,CAAC;QAED,MAAM,cAAc,GAAG,cAAc,CAAC,mBAAmB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;QAClF,MAAM,SAAS,GAAG,gBAAgB,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QACxE,gGAAgG;QAChG,6FAA6F;QAC7F,8FAA8F;QAC9F,iDAAiD;QACjD,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC/D,MAAM,KAAK,GACT,SAAS;YACT,aAAa,KAAK,SAAS;YAC3B,oBAAoB,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,UAAU;YACjD,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,gBAAgB,CAAC,MAAM,CAAC;YACzD,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,aAAa,CAAC;QACpB,WAAW,CAAC,IAAI,CAAC;YACf,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,OAAO;YACnC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ;YAC1C,KAAK;YACL,gBAAgB,EAAE,QAAQ,CAAC,OAAO;YAClC,eAAe,EAAE,cAAc;YAC/B,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU;SAChD,CAAC,CAAC;QACH,4FAA4F;QAC5F,yFAAyF;QACzF,IAAI,CAAC,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,eAAe,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;aACvE,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,eAAe,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;QAClH,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,YAAY;YAClB,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,eAAe,EAAE,QAAQ,CAAC,OAAO;YACjC,eAAe,EAAE,cAAc;SAChC,CAAC,CAAC;QACH,IACE,CAAC,SAAS;eACP,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,KAAK,YAAY;eAC9C,aAAa,CAAC,EAAE;eAChB,eAAe,CAAC,EAAE;eAClB,aAAa,CAAC,IAAI,CAAC,OAAO,KAAK,eAAe,CAAC,IAAI,CAAC,OAAO,EAC9D,CAAC;YACD,0BAA0B,CAAC,aAAa,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC/E,iBAAiB,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,sBAAsB,CAAC,aAAa,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACtH,KAAK,MAAM,QAAQ,IAAI,cAAc,CAAC,aAAa,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC;gBAAE,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChH,CAAC;IACH,CAAC;IAED,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;IACjG,KAAK,MAAM,OAAO,IAAI,mBAAmB,CAAC,QAAQ,EAAE,CAAC;QACnD,IAAI,OAAO,CAAC,IAAI,KAAK,wBAAwB,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,SAAS;QAC9G,gBAAgB,CACd,QAAQ,EACR,oCAAoC,EACpC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAE,CAAC,EAAE,EACnC,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,KAAK,CACd,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,YAAY,EAAE,CAAC;QAC3C,IAAI,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;YAC3D,gBAAgB,CACd,QAAQ,EACR,oCAAoC,EACpC,IAAI,CAAC,EAAE,EACP,+BAA+B,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,MAAM,2BAA2B,OAAO,WAAW,IAAI,CAAC,EAAE,GAAG,EAC1I,OAAO,CACR,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,GAAG,EAAa,CAAC;IAC1C,KAAK,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,MAAM,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;QACnE,MAAM,MAAM,GAAG,sBAAsB,CAAC,QAAQ,EAAE,UAAU,EAAE,0BAA0B,CAAC,CAAC;QACxF,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5B,6FAA6F;QAC7F,+DAA+D;QAC/D,KAAK,MAAM,KAAK,IAAI,0BAA0B,CAAC,SAAS,EAAE,mBAAmB,CAAC,EAAE,CAAC;YAC/E,gBAAgB,CAAC,QAAQ,EAAE,mCAAmC,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5H,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,cAAc,GAAG,cAAc,CAAC,mBAAmB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;YAC/E,WAAW,CAAC,IAAI,CAAC;gBACf,EAAE,EAAE,MAAM,CAAC,EAAE;gBACb,OAAO,EAAE,cAAc;gBACvB,MAAM,EAAE,SAAS;gBACjB,KAAK,EAAE,SAAS;gBAChB,gBAAgB,EAAE,IAAI;gBACtB,eAAe,EAAE,cAAc;gBAC/B,WAAW,EAAE,EAAE;aAChB,CAAC,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC,CAAC;YAC1G,gBAAgB,CACd,QAAQ,EACR,gCAAgC,EAChC,MAAM,CAAC,EAAE,EACT,qBAAqB,MAAM,CAAC,EAAE,yEAAyE,CACxG,CAAC;YACF,SAAS;QACX,CAAC;QACD,IAAI,SAAS,GAAG,oBAAoB,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC3D,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,YAAY,GAAG,wBAAwB,CAAC;oBAC5C,QAAQ,EAAE,QAAQ,CAAC,GAAG;oBACtB,SAAS,EAAE,EAAE,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE;oBACvE,kBAAkB,EAAE,0BAA0B;oBAC9C,4BAA4B,EAAE,KAAK;iBACpC,CAAC,CAAC;gBACH,SAAS,GAAG,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,GAAG,YAAY,EAAE,CAAC;YACpD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,CAAC,KAAK,YAAY,iBAAiB,CAAC;oBAAE,MAAM,KAAK,CAAC;gBACvD,gBAAgB,CACd,QAAQ,EACR,uCAAuC,EACvC,MAAM,CAAC,EAAE,EACT,mEAAmE,KAAK,CAAC,OAAO,EAAE,CACnF,CAAC;YACJ,CAAC;QACH,CAAC;QACD,MAAM,cAAc,GAAG,cAAc,CAAC,mBAAmB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;QAClF,MAAM,SAAS,GAAG,gBAAgB,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QACxE,MAAM,KAAK,GAAG,gBAAgB,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACvD,WAAW,CAAC,IAAI,CAAC;YACf,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,OAAO,EAAE,cAAc;YACvB,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ;YAC1C,KAAK;YACL,gBAAgB,EAAE,QAAQ,CAAC,OAAO;YAClC,eAAe,EAAE,cAAc;YAC/B,WAAW,EAAE,EAAE;SAChB,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,eAAe,EAAE,QAAQ,CAAC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC,CAAC;QACtH,MAAM,OAAO,GAAG,qBAAqB,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QACtE,IAAI,OAAO,EAAE,CAAC;YACZ,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAC1E,SAAS;QACX,CAAC;QACD,IAAI,CAAC,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,eAAe,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;aACvE,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,eAAe,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;IACpH,CAAC;IAED,MAAM,aAAa,GAAG,KAAK,EACzB,IAAmC,EACnC,QAAqB,EACN,EAAE;QACjB,MAAM,MAAM,GAAG,sBAAsB,CAAC,QAAQ,EAAE,UAAU,EAAE,0BAA0B,CAAC,CAAC;QACxF,MAAM,MAAM,GAAG,cAAc,CAAC,mBAAmB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QACjE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,IAAI,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,CAAC;QAC1G,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,gBAAgB,CACd,QAAQ,EACR,gCAAgC,EAChC,MAAM,CAAC,EAAE,EACT,iBAAiB,MAAM,CAAC,EAAE,yEAAyE,CACpG,CAAC;QACJ,CAAC;aAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC;YAC/D,gBAAgB,CACd,QAAQ,EACR,2CAA2C,EAC3C,MAAM,CAAC,EAAE,EACT,iDAAiD,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,QAAQ,CAC9G,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;IAEF,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,UAAU;QAAE,MAAM,aAAa,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;IAC3F,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAChC,MAAM,aAAa,CAAC,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACpD,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,IAAI,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,CAAC;QACzH,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,gBAAgB,CACd,QAAQ,EACR,gCAAgC,EAChC,IAAI,CAAC,KAAK,EACV,sBAAsB,IAAI,CAAC,KAAK,yEAAyE,CAC1G,CAAC;QACJ,CAAC;aAAM,IACL,QAAQ,CAAC,OAAO,KAAK,MAAM,IAAI,QAAQ,CAAC,WAAW,KAAK,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,EACtF,CAAC;YACD,gBAAgB,CACd,QAAQ,EACR,2CAA2C,EAC3C,IAAI,CAAC,KAAK,EACV,yGAAyG,CAC1G,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,aAAa,GAAG,WAAW;SAC9B,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;SAC1F,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;SACzD,MAAM,CAAC,CAAC,IAAI,EAA0B,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IAChE,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,MAAM,cAAc,GAAqB,EAAE,CAAC;IAC5C,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,gBAAgB,GAA6C,EAAE,CAAC;QACtE,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC9F,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE,CAAC;YACvC,gBAAgB,CACd,QAAQ,EACR,sCAAsC,EACtC,OAAO,CAAC,EAAE,EACV,8CAA8C,OAAO,CAAC,EAAE,oBAAoB,OAAO,CAAC,MAAM,EAAE,CAC7F,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAClD,4FAA4F;YAC5F,mFAAmF;YACnF,MAAM,UAAU,GAAG,IAAI,GAAG,EAAwD,CAAC;YACnF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,IAAI,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO;oBAAE,SAAS;gBAC5D,gBAAgB,IAAI,CAAC,CAAC;gBACtB,cAAc,CAAC,IAAI,CAAC;oBAClB,IAAI,EAAE,UAAU;oBAChB,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,eAAe,EAAE,cAAc,CAAC,GAAG,CAAC;iBACrC,CAAC,CAAC;gBACH,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAC9C,MAAM,SAAS,GAAG,6BAA6B,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;gBAC1E,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;oBACnD,wFAAwF;oBACxF,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAE,CAAC,KAAK,IAAI,EAAE,CAAC;oBACzC,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,KAAK,iBAAiB,IAAI,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;wBAC/E,CAAC,CAAC,gBAAgB,KAAK,EAAE;wBACzB,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,kBAAkB,IAAI,OAAO,CAAC,IAAI,KAAK,kBAAkB,CAAC,IAAI,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;4BAC1G,CAAC,CAAC,iBAAiB,KAAK,EAAE;4BAC1B,CAAC,CAAC,SAAS,CAAC;oBACd,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;wBAC9B,gBAAgB,CACd,QAAQ,EACR,mCAAmC,EACnC,GAAG,CAAC,EAAE,EACN,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,KAAK,CACd,CAAC;wBACF,SAAS;oBACX,CAAC;oBACD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,GAAG,EAAkB,EAAE,CAAC;oBACxF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;wBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;oBACrE,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;YACD,KAAK,MAAM,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC;gBACnE,MAAM,GAAG,GAAG,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBACzC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,2BAA2B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnE,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,GAAG,2BAA2B,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,MAAM,GAAG,2BAA2B,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtH,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,CAAC,eAAe,CAAC;oBACtD,CAAC,CAAC,SAAS,KAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG;oBACrC,CAAC,CAAC,mBAAmB,KAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;gBAC/D,gBAAgB,CACd,QAAQ,EACR,uCAAuC,EACvC,IAAI,CAAC,EAAE,EACP,UAAU,QAAQ,QAAQ,KAAK,UAAU,IAAI,CAAC,OAAO,gBAAgB,GAAG,CAAC,MAAM,kCAAkC,KAAK,GAAG,IAAI,0BAA0B,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,GAAG,EAC3L,WAAW,CACZ,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,cAAc,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YAChE,KAAK,MAAM,GAAG,IAAI,wBAAwB,CAAC,IAAI,EAAE,cAAc,EAAE,eAAe,EAAE,mBAAmB,EAAE,QAAQ,CAAC,EAAE,CAAC;gBACjH,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBAAE,SAAS;gBACjC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACnB,gBAAgB,IAAI,CAAC,CAAC;gBACtB,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,eAAe,EAAE,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC9F,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAExE,gGAAgG;IAChG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxH,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC9E,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IAClH,4FAA4F;IAC5F,mFAAmF;IACnF,MAAM,KAAK,GAAG,kBAAkB,CAAC;QAC/B,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,aAAa,EAAE;QAChH,UAAU;QACV,WAAW;QACX,MAAM;QACN,QAAQ;KACT,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAC;IAC1F,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC;IAC/F,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;IAC3F,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAC;IAC3H,OAAO;QACL,IAAI,EAAE;YACJ,MAAM,EAAE,gBAAgB;YACxB,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,WAAW,EAAE,UAAU;YACvB,KAAK,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC;YAC5B,OAAO,EAAE,OAAO,GAAG,CAAC;YACpB,MAAM,EAAE,MAAM,CAAC,IAAI;YACnB,UAAU,EAAE,KAAK;YACjB,WAAW;YACX,MAAM,EAAE;gBACN,WAAW,EAAE,WAAW,CAAC,MAAM;gBAC/B,OAAO;gBACP,YAAY,EAAE,WAAW;gBACzB,SAAS;gBACT,OAAO;gBACP,iBAAiB,EAAE,gBAAgB;gBACnC,QAAQ,EAAE,QAAQ,CAAC,MAAM;aAC1B;YACD,QAAQ;SACT;QACD,MAAM;KACP,CAAC;AACJ,CAAC;AAED,0FAA0F;AAC1F,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAc,EACd,MAAoB;IAEpB,OAAO,CAAC,MAAM,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7D,CAAC;AAED,sEAAsE;AACtE,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAAc,EACd,MAAoB,EACpB,iBAAyB,EACzB,UAA8B,EAAE;IAEhC,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAC1B,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9D,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;IAC1B,IAAI,IAAI,CAAC,UAAU,KAAK,iBAAiB,EAAE,CAAC;QAC1C,MAAM,IAAI,0BAA0B,CAAC,iBAAiB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAChB,MAAM,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,SAAS,GAAyC,EAAE,CAAC;IAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAC/H,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACnD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,gBAAiB,EAAE,CAAC,CAAC;YAC7G,SAAS;QACX,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,sBAAsB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QACvE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC;gBAClC,MAAM;gBACN,EAAE,EAAE,UAAU,CAAC,EAAE;gBACjB,IAAI,EAAE,kBAAkB;gBACxB,QAAQ,EAAE,MAAM;gBAChB,eAAe,EAAE,UAAU,CAAC,gBAAiB;gBAC7C,WAAW,EAAE,CAAC;gBACd,QAAQ,EAAE,+BAA+B;gBACzC,MAAM,EAAE,KAAK;gBACb,2FAA2F;gBAC3F,oFAAoF;gBACpF,mBAAmB,EAAE,KAAK;gBAC1B,2FAA2F;gBAC3F,YAAY,EAAE,KAAK;gBACnB,KAAK;gBACL,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG;gBACd,cAAc,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE;oBACrC,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;wBAC5C,MAAM,IAAI,oBAAoB,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;oBACpF,CAAC;oBACD,OAAO,EAAE,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;gBACzE,CAAC;aACF,CAAC,CAAC;YACH,SAAS,CAAC,IAAI,CAAC;gBACb,EAAE,EAAE,UAAU,CAAC,EAAE;gBACjB,OAAO,EAAE,UAAU,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO;gBACzD,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,MAAM,CAAC,OAAO;aACxB,CAAC,CAAC;YACH,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,oBAAoB,EAAE,CAAC;gBAC1C,MAAM,IAAI,0BAA0B,CAAC,iBAAiB,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YACpG,CAAC;YACD,IAAI,KAAK,YAAY,eAAe,IAAI,KAAK,YAAY,qBAAqB,EAAE,CAAC;gBAC/E,MAAM,IAAI,0BAA0B,CAClC,MAAM,EACN,oDAAoD,UAAU,CAAC,EAAE,oCAAoC,EACrG,SAAS,EACT,OAAO,EACP,KAAK,CACN,CAAC;YACJ,CAAC;YACD,wFAAwF;YACxF,4FAA4F;YAC5F,IAAI,KAAK,YAAY,iBAAiB,IAAI,CAAC,CAAC,KAAK,YAAY,aAAa,CAAC,EAAE,CAAC;gBAC5E,MAAM,IAAI,0BAA0B,CAClC,cAAc,EACd,2CAA2C,UAAU,CAAC,EAAE,sBAAsB,KAAK,CAAC,OAAO,EAAE,EAC7F,SAAS,EACT,OAAO,EACP,KAAK,CACN,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,0BAA0B,CAClC,OAAO,EACP,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACtD,SAAS,EACT,OAAO,EACP,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IAC5E,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IACnG,MAAM,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;IAClC,IAAI,aAAsC,CAAC;IAC3C,IAAI,CAAC;QACH,aAAa,GAAG,MAAM,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,4BAA4B,CACpC,cAAc,EACd,0BAA0B,OAAO,gEAAgE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EACzJ,SAAS,EACT,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7F,MAAM,IAAI,4BAA4B,CACpC,SAAS,EACT,0BAA0B,OAAO,uJAAuJ,EACxL,SAAS,EACT,EAAE,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,kBAAkB,EAAE,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,CAC7F,CAAC;IACJ,CAAC;IACD,OAAO;QACL,MAAM,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB;QAC7E,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,OAAO,EAAE,OAAO,GAAG,CAAC;QACpB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,WAAW,EAAE,SAAS;QACtB,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM,GAAG,OAAO,EAAE;KACpE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"evolution.js","sourceRoot":"","sources":["../../src/recipe-lifecycle/evolution.ts"],"names":[],"mappings":"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"}
@@ -4,19 +4,21 @@
4
4
  * `installRecipe` creates a recipe's conventions, Connectors, View pairs and References
5
5
  * create-only, never overwriting what a bundle already holds, after checking every Connector
6
6
  * against the Kinds the bundle will hold. `planRecipeEvolution` is a read-only, state-bound
7
- * preflight of an additive upgrade to installed conventions and of the replacement of Connectors
7
+ * preflight of an additive upgrade to installed conventions and of the replacement of Connectors and References
8
8
  * this recipe wrote and nobody changed since, and `applyRecipeEvolution` applies exactly the plan
9
- * whose token the caller observed, one exact-version CAS write per changed definition. The caller acquires the recipe (`@superbee/core/recipes` parses files into a
9
+ * whose token the caller observed, one exact-version CAS write per changed target. The caller acquires the recipe (`@superbee/core/recipes` parses files into a
10
10
  * `LoadedRecipe`) and presents results and typed errors. Storage-neutral: it runs in Node,
11
11
  * Workers and browsers over any `StorageBackend`.
12
12
  *
13
- * Every convention and Connector either path writes carries an `x_recipe` stamp in the same write;
14
- * `installedRecipes` derives each recipe's install state from those stamps alone.
13
+ * Every convention, Connector and Reference either path writes carries an `x_recipe` stamp in the
14
+ * same write. Exact-source unstamped References may be explicitly adopted without replacing content.
15
+ * `installedRecipes` retains its convention/Connector projection; Reference ownership is inspected
16
+ * through evolution's optional `reference_assets` rows.
15
17
  */
16
18
  export { installRecipe, installedConnectorDocs, installedConventionDocs, isRecipeApplied, materializeRecipeForEdition, recipeDrifts, } from "./install.js";
17
19
  export type { RecipeConnectorResult, RecipeDocResult, RecipeInstallCounts, RecipeInstallResult, RecipePageResult, RecipeReferenceResult, } from "./install.js";
18
20
  export { applyRecipeEvolution, planRecipeEvolution } from "./evolution.js";
19
- export type { RecipeEvolutionApplyResult, RecipeEvolutionBlocker, RecipeEvolutionDefinition, RecipeEvolutionPlan, } from "./evolution.js";
21
+ export type { RecipeEvolutionApplyResult, RecipeEvolutionBlocker, RecipeEvolutionDefinition, RecipeEvolutionReference, RecipeEvolutionReferenceAssets, RecipeEvolutionPlan, } from "./evolution.js";
20
22
  export { ConnectorTargetUnsatisfied, RecipeAssetConflict, RecipeEditionChanged, RecipeEvolutionBlocked, RecipeEvolutionInterrupted, RecipeEvolutionPlanChanged, RecipeEvolutionPostcondition, RecipeInputError, RecipeLifecycleError, } from "./errors.js";
21
23
  export type { RecipeEvolutionCompletedDefinition, RecipeEvolutionInterruptionReason } from "./errors.js";
22
24
  export { DEFINITION_DIGEST_RULES, RECIPE_STAMP_KEY, definitionDigest, installedRecipes, readRecipeStamp, recipeSourceDigest, } from "./stamp.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/recipe-lifecycle/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,uBAAuB,EACvB,eAAe,EACf,2BAA2B,EAC3B,YAAY,GACb,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,qBAAqB,EACrB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC3E,YAAY,EACV,0BAA0B,EAC1B,sBAAsB,EACtB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,0BAA0B,EAC1B,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,4BAA4B,EAC5B,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,kCAAkC,EAAE,iCAAiC,EAAE,MAAM,aAAa,CAAC;AACzG,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACX,gBAAgB,GACjB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/recipe-lifecycle/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,uBAAuB,EACvB,eAAe,EACf,2BAA2B,EAC3B,YAAY,GACb,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,qBAAqB,EACrB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC3E,YAAY,EACV,0BAA0B,EAC1B,sBAAsB,EACtB,yBAAyB,EACzB,wBAAwB,EACxB,8BAA8B,EAC9B,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,0BAA0B,EAC1B,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,4BAA4B,EAC5B,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,kCAAkC,EAAE,iCAAiC,EAAE,MAAM,aAAa,CAAC;AACzG,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACX,gBAAgB,GACjB,MAAM,YAAY,CAAC"}
@@ -4,14 +4,16 @@
4
4
  * `installRecipe` creates a recipe's conventions, Connectors, View pairs and References
5
5
  * create-only, never overwriting what a bundle already holds, after checking every Connector
6
6
  * against the Kinds the bundle will hold. `planRecipeEvolution` is a read-only, state-bound
7
- * preflight of an additive upgrade to installed conventions and of the replacement of Connectors
7
+ * preflight of an additive upgrade to installed conventions and of the replacement of Connectors and References
8
8
  * this recipe wrote and nobody changed since, and `applyRecipeEvolution` applies exactly the plan
9
- * whose token the caller observed, one exact-version CAS write per changed definition. The caller acquires the recipe (`@superbee/core/recipes` parses files into a
9
+ * whose token the caller observed, one exact-version CAS write per changed target. The caller acquires the recipe (`@superbee/core/recipes` parses files into a
10
10
  * `LoadedRecipe`) and presents results and typed errors. Storage-neutral: it runs in Node,
11
11
  * Workers and browsers over any `StorageBackend`.
12
12
  *
13
- * Every convention and Connector either path writes carries an `x_recipe` stamp in the same write;
14
- * `installedRecipes` derives each recipe's install state from those stamps alone.
13
+ * Every convention, Connector and Reference either path writes carries an `x_recipe` stamp in the
14
+ * same write. Exact-source unstamped References may be explicitly adopted without replacing content.
15
+ * `installedRecipes` retains its convention/Connector projection; Reference ownership is inspected
16
+ * through evolution's optional `reference_assets` rows.
15
17
  */
16
18
  export { installRecipe, installedConnectorDocs, installedConventionDocs, isRecipeApplied, materializeRecipeForEdition, recipeDrifts, } from "./install.js";
17
19
  export { applyRecipeEvolution, planRecipeEvolution } from "./evolution.js";