@goodbones/core 0.1.0-beta.1 → 0.1.0-beta.11

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 (150) hide show
  1. package/build/dts/core/coverage.d.ts +20 -0
  2. package/build/dts/core/coverage.d.ts.map +1 -1
  3. package/build/dts/core/graph.d.ts +2 -0
  4. package/build/dts/core/graph.d.ts.map +1 -1
  5. package/build/dts/core/imports.d.ts +3 -1
  6. package/build/dts/core/imports.d.ts.map +1 -1
  7. package/build/dts/core/slack.d.ts +22 -0
  8. package/build/dts/core/slack.d.ts.map +1 -0
  9. package/build/dts/core/structure.d.ts +1 -0
  10. package/build/dts/core/structure.d.ts.map +1 -1
  11. package/build/dts/domain/architecture-config.d.ts +19 -3
  12. package/build/dts/domain/architecture-config.d.ts.map +1 -1
  13. package/build/dts/domain/architecture-error.d.ts +8 -0
  14. package/build/dts/domain/architecture-error.d.ts.map +1 -1
  15. package/build/dts/domain/facts.d.ts +1 -0
  16. package/build/dts/domain/facts.d.ts.map +1 -1
  17. package/build/dts/domain/manifest-location.d.ts +9 -0
  18. package/build/dts/domain/manifest-location.d.ts.map +1 -0
  19. package/build/dts/domain/snapshot.d.ts +356 -0
  20. package/build/dts/domain/snapshot.d.ts.map +1 -0
  21. package/build/dts/domain/violation.d.ts +1 -1
  22. package/build/dts/domain/violation.d.ts.map +1 -1
  23. package/build/dts/index.d.ts +22 -10
  24. package/build/dts/index.d.ts.map +1 -1
  25. package/build/dts/infrastructure/file-system-fake.d.ts.map +1 -1
  26. package/build/dts/infrastructure/file-system-live.d.ts.map +1 -1
  27. package/build/dts/infrastructure/manifest-file.d.ts +11 -2
  28. package/build/dts/infrastructure/manifest-file.d.ts.map +1 -1
  29. package/build/dts/infrastructure/manifest-include.d.ts +16 -0
  30. package/build/dts/infrastructure/manifest-include.d.ts.map +1 -0
  31. package/build/dts/infrastructure/syntax-matcher-fake.d.ts +10 -0
  32. package/build/dts/infrastructure/syntax-matcher-fake.d.ts.map +1 -0
  33. package/build/dts/infrastructure/walk.d.ts +12 -1
  34. package/build/dts/infrastructure/walk.d.ts.map +1 -1
  35. package/build/dts/load/extension.d.ts +33 -0
  36. package/build/dts/load/extension.d.ts.map +1 -0
  37. package/build/dts/load/policy.d.ts +10 -0
  38. package/build/dts/load/policy.d.ts.map +1 -1
  39. package/build/dts/manifest/compile.d.ts +11 -1
  40. package/build/dts/manifest/compile.d.ts.map +1 -1
  41. package/build/dts/manifest/expand.d.ts +27 -0
  42. package/build/dts/manifest/expand.d.ts.map +1 -0
  43. package/build/dts/manifest/extension.d.ts +8 -0
  44. package/build/dts/manifest/extension.d.ts.map +1 -0
  45. package/build/dts/manifest/glob.d.ts +1 -0
  46. package/build/dts/manifest/glob.d.ts.map +1 -1
  47. package/build/dts/manifest/infer.d.ts +55 -0
  48. package/build/dts/manifest/infer.d.ts.map +1 -0
  49. package/build/dts/manifest/json-schema.d.ts +14 -0
  50. package/build/dts/manifest/json-schema.d.ts.map +1 -0
  51. package/build/dts/manifest/manifest.d.ts +26 -1
  52. package/build/dts/manifest/manifest.d.ts.map +1 -1
  53. package/build/dts/ports/file-system.d.ts +1 -0
  54. package/build/dts/ports/file-system.d.ts.map +1 -1
  55. package/build/dts/ports/language.d.ts +4 -0
  56. package/build/dts/ports/language.d.ts.map +1 -1
  57. package/build/dts/ports/syntax-matcher.d.ts +21 -0
  58. package/build/dts/ports/syntax-matcher.d.ts.map +1 -0
  59. package/build/dts/testing.d.ts +1 -0
  60. package/build/dts/testing.d.ts.map +1 -1
  61. package/build/esm/core/coverage.js +107 -32
  62. package/build/esm/core/coverage.js.map +1 -1
  63. package/build/esm/core/graph.js +45 -0
  64. package/build/esm/core/graph.js.map +1 -1
  65. package/build/esm/core/imports.js +14 -9
  66. package/build/esm/core/imports.js.map +1 -1
  67. package/build/esm/core/slack.js +76 -0
  68. package/build/esm/core/slack.js.map +1 -0
  69. package/build/esm/core/structure.js +6 -3
  70. package/build/esm/core/structure.js.map +1 -1
  71. package/build/esm/domain/architecture-config.js +28 -4
  72. package/build/esm/domain/architecture-config.js.map +1 -1
  73. package/build/esm/domain/architecture-error.js +27 -0
  74. package/build/esm/domain/architecture-error.js.map +1 -1
  75. package/build/esm/domain/manifest-location.js +21 -0
  76. package/build/esm/domain/manifest-location.js.map +1 -0
  77. package/build/esm/domain/snapshot.js +181 -0
  78. package/build/esm/domain/snapshot.js.map +1 -0
  79. package/build/esm/domain/violation.js.map +1 -1
  80. package/build/esm/index.js +28 -9
  81. package/build/esm/index.js.map +1 -1
  82. package/build/esm/infrastructure/file-system-fake.js +10 -0
  83. package/build/esm/infrastructure/file-system-fake.js.map +1 -1
  84. package/build/esm/infrastructure/file-system-live.js +9 -1
  85. package/build/esm/infrastructure/file-system-live.js.map +1 -1
  86. package/build/esm/infrastructure/manifest-file.js +158 -7
  87. package/build/esm/infrastructure/manifest-file.js.map +1 -1
  88. package/build/esm/infrastructure/manifest-include.js +187 -0
  89. package/build/esm/infrastructure/manifest-include.js.map +1 -0
  90. package/build/esm/infrastructure/syntax-matcher-fake.js +33 -0
  91. package/build/esm/infrastructure/syntax-matcher-fake.js.map +1 -0
  92. package/build/esm/infrastructure/walk.js +106 -4
  93. package/build/esm/infrastructure/walk.js.map +1 -1
  94. package/build/esm/load/extension.js +2 -0
  95. package/build/esm/load/extension.js.map +1 -0
  96. package/build/esm/load/policy.js +49 -2
  97. package/build/esm/load/policy.js.map +1 -1
  98. package/build/esm/manifest/compile.js +50 -27
  99. package/build/esm/manifest/compile.js.map +1 -1
  100. package/build/esm/manifest/expand.js +116 -0
  101. package/build/esm/manifest/expand.js.map +1 -0
  102. package/build/esm/manifest/extension.js +2 -0
  103. package/build/esm/manifest/extension.js.map +1 -0
  104. package/build/esm/manifest/glob.js +3 -0
  105. package/build/esm/manifest/glob.js.map +1 -1
  106. package/build/esm/manifest/infer.js +455 -0
  107. package/build/esm/manifest/infer.js.map +1 -0
  108. package/build/esm/manifest/json-schema.js +169 -0
  109. package/build/esm/manifest/json-schema.js.map +1 -0
  110. package/build/esm/manifest/manifest.js +127 -5
  111. package/build/esm/manifest/manifest.js.map +1 -1
  112. package/build/esm/ports/syntax-matcher.js +12 -0
  113. package/build/esm/ports/syntax-matcher.js.map +1 -0
  114. package/build/esm/testing.js +1 -0
  115. package/build/esm/testing.js.map +1 -1
  116. package/package.json +9 -3
  117. package/schema/architecture-node.schema.json +1518 -0
  118. package/schema/architecture.schema.json +4498 -0
  119. package/schema/conformance.schema.json +1019 -0
  120. package/src/core/coverage.ts +164 -34
  121. package/src/core/graph.ts +48 -0
  122. package/src/core/imports.ts +29 -13
  123. package/src/core/slack.ts +135 -0
  124. package/src/core/structure.ts +15 -8
  125. package/src/domain/architecture-config.ts +31 -4
  126. package/src/domain/architecture-error.ts +30 -0
  127. package/src/domain/facts.ts +9 -4
  128. package/src/domain/manifest-location.ts +41 -0
  129. package/src/domain/snapshot.ts +402 -0
  130. package/src/domain/violation.ts +4 -1
  131. package/src/index.ts +149 -7
  132. package/src/infrastructure/file-system-fake.ts +12 -0
  133. package/src/infrastructure/file-system-live.ts +8 -1
  134. package/src/infrastructure/manifest-file.ts +204 -8
  135. package/src/infrastructure/manifest-include.ts +318 -0
  136. package/src/infrastructure/syntax-matcher-fake.ts +51 -0
  137. package/src/infrastructure/walk.ts +127 -3
  138. package/src/load/extension.ts +66 -0
  139. package/src/load/policy.ts +77 -2
  140. package/src/manifest/compile.ts +81 -30
  141. package/src/manifest/expand.ts +183 -0
  142. package/src/manifest/extension.ts +41 -0
  143. package/src/manifest/glob.ts +5 -0
  144. package/src/manifest/infer.ts +643 -0
  145. package/src/manifest/json-schema.ts +210 -0
  146. package/src/manifest/manifest.ts +206 -10
  147. package/src/ports/file-system.ts +3 -0
  148. package/src/ports/language.ts +17 -0
  149. package/src/ports/syntax-matcher.ts +42 -0
  150. package/src/testing.ts +1 -0
@@ -66,6 +66,13 @@ const makeRouter = (configPath, repoRoot, routes) => {
66
66
  const makeRoutingExtractor = (routes) => ({
67
67
  factsOf: (file, text) => routeFor(routes, file)?.language.extractor.factsOf(file, text) ?? NOTHING,
68
68
  });
69
+ // One matcher per scope, behind one port that picks the scope by the file. A
70
+ // language without one parses nothing, which a `syntax` term reads as no
71
+ // matches — and which an extension's probe check refuses for a family that
72
+ // depends on it.
73
+ const makeRoutingMatcher = (routes) => ({
74
+ parse: (file, text) => routeFor(routes, file)?.language.syntax?.parse(file, text) ?? null,
75
+ });
69
76
  // The baseline is read through the port, so this tier touches no file itself.
70
77
  // An absent or unreadable one carries nothing, which is the safe direction:
71
78
  // every violation reports.
@@ -87,7 +94,11 @@ const readBaseline = (fileSystem, at) => {
87
94
  // gap reports nothing there and looks exactly like a clean codebase.
88
95
  export const loadPolicy = (input) => {
89
96
  const { configPath, fileSystem, languages, repoRoot } = input;
90
- const decoded = decodeManifest(configPath, input.manifest);
97
+ const extensions = input.extensions ?? [];
98
+ const decoded = decodeManifest(configPath, input.manifest, {
99
+ locate: input.locate,
100
+ extensions,
101
+ });
91
102
  if (Result.isFailure(decoded))
92
103
  return Result.fail(decoded.failure);
93
104
  const config = decoded.success.manifest;
@@ -97,7 +108,7 @@ export const loadPolicy = (input) => {
97
108
  // The manifest is the authoring surface; these flat rules are the machine's.
98
109
  // The languages tell lowering what a source file in each scope is called, so
99
110
  // a synthetic probe is a file of the scope's language.
100
- const rules = lowerManifest(config, languages);
111
+ const rules = lowerManifest(config, languages, { substitutions: decoded.success.substitutions });
101
112
  // The ceilings. A tier that says "not tightened yet" is a sentence someone
102
113
  // wrote; a ceiling on how many may say so is what keeps the backlog from
103
114
  // becoming the architecture. Exceeding it is a policy that broke its own
@@ -155,6 +166,37 @@ export const loadPolicy = (input) => {
155
166
  // reads that file through. The plugin reads through oxlint's tree instead,
156
167
  // and the parity suite is what holds that tree to this one.
157
168
  const extractor = makeRoutingExtractor(routes.success);
169
+ const syntax = makeRoutingMatcher(routes.success);
170
+ const routeOf = (file) => {
171
+ const found = routeFor(routes.success, file);
172
+ return found === undefined ? undefined : { language: found.language, scope: found.scope };
173
+ };
174
+ const now = input.now ?? Date.now();
175
+ // Each family the core does not own compiles and probes its own rules, with
176
+ // the same extractor and matcher the core used for its. Its probe failures
177
+ // join the one refusal below, so a vacuous campaign and a vacuous import
178
+ // rule are reported in the same sentence.
179
+ const loadedExtensions = new Map();
180
+ const extensionVacuous = [];
181
+ for (const extension of extensions) {
182
+ const loaded = extension.load({
183
+ spec: decoded.success.extensions.get(extension.id),
184
+ configPath,
185
+ repoRoot,
186
+ config,
187
+ languages,
188
+ fileSystem,
189
+ extractor,
190
+ syntax,
191
+ routeFor: routeOf,
192
+ now,
193
+ });
194
+ if (Result.isFailure(loaded))
195
+ return Result.fail(loaded.failure);
196
+ loadedExtensions.set(extension.id, loaded.success.value);
197
+ for (const name of loaded.success.vacuous ?? [])
198
+ extensionVacuous.push(name);
199
+ }
158
200
  const parsedBy = (rule) => {
159
201
  const route = routeFor(routes.success, rule.probe.from);
160
202
  return route === undefined
@@ -168,6 +210,7 @@ export const loadPolicy = (input) => {
168
210
  ...surfaceRulesFailingTheirProbe(surfaceRules.success, extractor).map((rule) => rule.name + (rule.probe.source === undefined ? "" : parsedBy(rule))),
169
211
  ...structureRulesFailingTheirProbe(structure.success),
170
212
  ...graphRulesFailingTheirProbe(graph.success),
213
+ ...extensionVacuous,
171
214
  ];
172
215
  if (vacuous.length > 0) {
173
216
  return Result.fail(new ConfigInvalid({
@@ -195,11 +238,15 @@ export const loadPolicy = (input) => {
195
238
  graph: graph.success,
196
239
  adoption: rules.adoption,
197
240
  structure: structure.success,
241
+ extensions: loadedExtensions,
242
+ now,
198
243
  fileSystem,
199
244
  languages,
200
245
  baseline: makeBaselineFilter(readBaseline(fileSystem, config.baseline)),
201
246
  resolver: resolver.success,
202
247
  extractor,
248
+ syntax,
249
+ routeFor: routeOf,
203
250
  ignoreUnresolved: (config.resolve.ignoreUnresolved ?? []).map((pattern) => new RegExp(pattern)),
204
251
  notices: decoded.success.notices,
205
252
  });
@@ -1 +1 @@
1
- {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../src/load/policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../src/load/policy.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { OPEN_LAYOUT, } from "../domain/architecture-config.js";
2
+ import { fragmentOf } from "./expand.js";
2
3
  import { anchored, globToRegexSource, prefixed } from "./glob.js";
3
4
  import { globsOf, } from "./manifest.js";
4
5
  const FOLDER_KEY = /\/$/;
@@ -20,7 +21,7 @@ const alternativesOf = (key) => key
20
21
  .split(ALTERNATIVE)
21
22
  .map(stripSlash)
22
23
  .filter((one) => one !== "");
23
- const expandAliases = (glob, aliases) => {
24
+ export const expandAliases = (glob, aliases) => {
24
25
  for (const [alias, target] of Object.entries(aliases)) {
25
26
  if (glob === alias)
26
27
  return target;
@@ -60,7 +61,7 @@ const probeMemberName = (match) => {
60
61
  };
61
62
  // Each convention pairs the shape a name must have with a name that does not
62
63
  // have it, so the rule's probe is generated rather than written.
63
- const CONVENTIONS = {
64
+ export const CONVENTIONS = {
64
65
  "kebab-case": {
65
66
  source: "^[a-z0-9]+(?:-[a-z0-9]+)*$",
66
67
  violating: "zzProbeStray",
@@ -128,19 +129,31 @@ const namingProbeOf = (patternSource, subject, probe, violating) => {
128
129
  return probe;
129
130
  return probe.slice(0, span[0]) + violating + probe.slice(span[1]);
130
131
  };
131
- const mergeImports = (frame, spec, aliases, captures, nextGroup) => {
132
+ const mergeImports = (frame, spec, aliases, captures, nextGroup, node, provenance) => {
132
133
  if (spec === undefined) {
133
- return {
134
- allow: frame.allow,
135
- externals: frame.externals,
136
- deny: [],
137
- importsMessage: frame.importsMessage,
138
- };
134
+ return { allowances: frame.allowances, deny: [], importsMessage: frame.importsMessage };
139
135
  }
140
136
  const compileAllow = (glob) => prefixed(globToRegexSource(expandAliases(glob, aliases), captures, { declaring: false, nextGroup })
141
137
  .source);
142
- const own = globsOf(spec.allow ?? []).map(compileAllow);
143
- const external = spec.external ?? [];
138
+ const via = (key) => {
139
+ const fragment = provenance(key);
140
+ return fragment === undefined ? {} : { fragment };
141
+ };
142
+ const own = [
143
+ ...globsOf(spec.allow ?? []).map((glob) => ({
144
+ node,
145
+ kind: "allow",
146
+ entry: expandAliases(glob, aliases),
147
+ pattern: compileAllow(glob),
148
+ ...via("allow"),
149
+ })),
150
+ ...(spec.external ?? []).map((name) => ({
151
+ node,
152
+ kind: "external",
153
+ entry: name,
154
+ ...via("external"),
155
+ })),
156
+ ];
144
157
  const deny = (spec.deny ?? []).flatMap((entry) => globsOf(entry.match).map((glob) => ({
145
158
  match: compileAllow(glob),
146
159
  matchNot: globsOf(entry.matchNot ?? []).map(compileAllow),
@@ -153,8 +166,7 @@ const mergeImports = (frame, spec, aliases, captures, nextGroup) => {
153
166
  // a mistake here would be dangerous in.
154
167
  const dropping = spec.reset === true || spec.unrestricted === true;
155
168
  return {
156
- allow: dropping ? own : [...frame.allow, ...own],
157
- externals: dropping ? external : [...frame.externals, ...external],
169
+ allowances: dropping ? own : [...frame.allowances, ...own],
158
170
  // Only what this node declares. A prohibition is emitted once, over its whole
159
171
  // subtree, so descendants neither re-emit it nor can escape it — which is
160
172
  // what makes `reset` structurally unable to make a subtree quieter.
@@ -162,8 +174,9 @@ const mergeImports = (frame, spec, aliases, captures, nextGroup) => {
162
174
  importsMessage: spec.message ?? frame.importsMessage,
163
175
  };
164
176
  };
165
- export const lowerManifest = (manifest, languages = []) => {
177
+ export const lowerManifest = (manifest, languages = [], options = {}) => {
166
178
  const aliases = manifest.aliases ?? {};
179
+ const substitutions = options.substitutions ?? [];
167
180
  // The extension a synthetic probe file carries: the first extension of the
168
181
  // language whose scope covers the probe's folder. A probe is matched by its
169
182
  // folder, so the extension only makes it a file that language would have —
@@ -203,7 +216,10 @@ export const lowerManifest = (manifest, languages = []) => {
203
216
  const folders = [];
204
217
  const parity = [];
205
218
  const namingRules = [];
206
- const walk = (key, node, parent, name, siblings) => {
219
+ const walk = (key, node, parent, name, siblings,
220
+ // Where this node sits in the expanded document, so its `imports` keys
221
+ // can be traced back through any `use` that carried them.
222
+ nodePath) => {
207
223
  const literalSiblings = siblings
208
224
  .filter((sibling) => sibling !== key)
209
225
  .flatMap(alternativesOf)
@@ -244,15 +260,14 @@ export const lowerManifest = (manifest, languages = []) => {
244
260
  const pathSource = parent.pathSource === "" ? guarded : `${parent.pathSource}/${guarded}`;
245
261
  const nextGroup = parent.nextGroup +
246
262
  (Object.keys(compiled.captures).length - Object.keys(parent.captures).length);
247
- const merged = mergeImports(parent, node.imports, aliases, compiled.captures, nextGroup);
263
+ const merged = mergeImports(parent, node.imports, aliases, compiled.captures, nextGroup, name, (field) => fragmentOf(substitutions, [...nodePath, "imports", field]));
248
264
  const ownDenials = merged.deny;
249
265
  const frame = {
250
266
  pathSource,
251
267
  pathGlob: joinedGlob,
252
268
  captures: compiled.captures,
253
269
  nextGroup,
254
- allow: merged.allow,
255
- externals: merged.externals,
270
+ allowances: merged.allowances,
256
271
  importsMessage: merged.importsMessage,
257
272
  naming: node.name ?? parent.naming,
258
273
  };
@@ -369,7 +384,11 @@ export const lowerManifest = (manifest, languages = []) => {
369
384
  }
370
385
  const siblingKeys = childKeys.map(([childKey]) => childKey);
371
386
  for (const [childKey, child] of childKeys) {
372
- walk(childKey, child, frame, `${name}/${alternativesOf(childKey)[0] ?? ""}`, siblingKeys);
387
+ walk(childKey, child, frame, `${name}/${alternativesOf(childKey)[0] ?? ""}`, siblingKeys, [
388
+ ...nodePath,
389
+ "children",
390
+ childKey,
391
+ ]);
373
392
  }
374
393
  }
375
394
  // Outbound. One allowlist stands in for every "may not reach X" rule that
@@ -385,8 +404,12 @@ export const lowerManifest = (manifest, languages = []) => {
385
404
  const ownFolder = isFolder
386
405
  ? probePathOf(joinedGlob, "")
387
406
  : probePathOf(joinedGlob, "").replace(/\/[^/]*$/, "");
388
- const admitsEverything = frame.allow.some((pattern) => pattern === "^.*" || pattern === "^");
389
- const hasAllowlist = (frame.allow.length > 0 || frame.externals.length > 0) && !admitsEverything;
407
+ const allow = frame.allowances.flatMap((one) => one.pattern === undefined ? [] : [one.pattern]);
408
+ const externals = frame.allowances
409
+ .filter((one) => one.kind === "external")
410
+ .map((one) => one.entry);
411
+ const admitsEverything = allow.some((pattern) => pattern === "^.*" || pattern === "^");
412
+ const hasAllowlist = frame.allowances.length > 0 && !admitsEverything;
390
413
  if (emitsOwnImports && node.imports?.unrestricted !== true && !hasAllowlist) {
391
414
  throw new Error(`"${name}" states an \`imports\` policy with no allowlist. If that is deliberate — the ` +
392
415
  `tier is not tightened yet and only its prohibitions apply — say \`unrestricted: true\`, ` +
@@ -401,8 +424,9 @@ export const lowerManifest = (manifest, languages = []) => {
401
424
  probe: { from: scopeProbe, to: probeOutside("nowhere", ownFolder) },
402
425
  from: scope,
403
426
  ...exemptions,
404
- toNot: [...frame.allow],
405
- ...(frame.externals.length > 0 ? { externals: [...frame.externals] } : {}),
427
+ toNot: allow,
428
+ ...(externals.length > 0 ? { externals } : {}),
429
+ allowances: frame.allowances,
406
430
  });
407
431
  }
408
432
  }
@@ -569,15 +593,14 @@ export const lowerManifest = (manifest, languages = []) => {
569
593
  pathGlob: "",
570
594
  captures: {},
571
595
  nextGroup: 1,
572
- allow: [],
573
- externals: [],
596
+ allowances: [],
574
597
  importsMessage: "This import is not on this folder's allowlist.",
575
598
  naming: undefined,
576
599
  };
577
600
  // Repo-wide prohibitions: `from` is every file, so no tier can be written
578
601
  // that escapes them.
579
602
  const globalFrame = { ...emptyFrame };
580
- for (const [index, denial] of mergeImports(globalFrame, { unrestricted: true, deny: manifest.deny ?? [] }, aliases, {}, 1).deny.entries()) {
603
+ for (const [index, denial] of mergeImports(globalFrame, { unrestricted: true, deny: manifest.deny ?? [] }, aliases, {}, 1, "repo", () => undefined).deny.entries()) {
581
604
  imports.push({
582
605
  name: `repo/deny-${String(index)}`,
583
606
  message: denial.message,
@@ -605,7 +628,7 @@ export const lowerManifest = (manifest, languages = []) => {
605
628
  });
606
629
  walk(key, node, emptyFrame, stripSlash(key)
607
630
  .replace(/[^a-zA-Z0-9]+/g, "-")
608
- .replace(/^-|-$/g, ""), Object.keys(manifest.tree));
631
+ .replace(/^-|-$/g, ""), Object.keys(manifest.tree), ["tree", key]);
609
632
  }
610
633
  for (const rule of manifest.exports ?? []) {
611
634
  const asPattern = (glob) => prefixed(globToRegexSource(expandAliases(glob, aliases), {}, { declaring: false, nextGroup: 1 })
@@ -1 +1 @@
1
- {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../../src/manifest/compile.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,WAAW,GAMZ,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAqB,iBAAiB,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrF,OAAO,EACL,OAAO,GAKR,MAAM,eAAe,CAAC;AAyBvB,MAAM,UAAU,GAAG,KAAK,CAAC;AAEzB,+EAA+E;AAC/E,6BAA6B;AAC7B,MAAM,CAAC,MAAM,QAAQ,GAAG,WAAW,CAAC;AAEpC,gFAAgF;AAChF,gCAAgC;AAChC,MAAM,UAAU,GAAG,EAAE,CAAC;AAEtB,wEAAwE;AACxE,iFAAiF;AACjF,8BAA8B;AAC9B,MAAM,WAAW,GAAG,UAAU,CAAC;AAE/B,MAAM,WAAW,GAAG,CAAC,GAAW,EAAW,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEnE,MAAM,UAAU,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAExE,8EAA8E;AAC9E,sCAAsC;AACtC,MAAM,cAAc,GAAG,CAAC,GAAW,EAAyB,EAAE,CAC5D,GAAG;KACA,KAAK,CAAC,WAAW,CAAC;KAClB,GAAG,CAAC,UAAU,CAAC;KACf,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC;AAEjC,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,OAAyC,EAAU,EAAE;IACxF,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACtD,IAAI,IAAI,KAAK,KAAK;YAAE,OAAO,MAAM,CAAC;QAClC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,KAAK,GAAG,CAAC;YAAE,OAAO,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AA6BF,4EAA4E;AAC5E,0EAA0E;AAC1E,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAExD,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAE,IAAY,EAAU,EAAE;IAC7D,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,MAAM,MAAM,GAAG,QAAQ;SACpB,OAAO,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACzC,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC;QAChE,IAAI,IAAI,CAAC,CAAC;QACV,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;SACD,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC;SACxB,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACxB,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,MAAM,CAAC;IAC/B,OAAO,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC;AACpD,CAAC,CAAC;AAEF,gFAAgF;AAChF,oDAAoD;AACpD,MAAM,eAAe,GAAG,CAAC,KAAiD,EAAU,EAAE;IACpF,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,eAAe,CAAC;IAChD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACtC,OAAO,GAAG,KAAK;QACb,0EAA0E;QAC1E,6EAA6E;SAC5E,OAAO,CAAC,uBAAuB,EAAE,IAAI,CAAC;SACtC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC;AACjC,CAAC,CAAC;AAEF,6EAA6E;AAC7E,iEAAiE;AACjE,MAAM,WAAW,GAEb;IACF,YAAY,EAAE;QACZ,MAAM,EAAE,4BAA4B;QACpC,SAAS,EAAE,cAAc;QACzB,KAAK,EAAE,mCAAmC;KAC3C;IACD,SAAS,EAAE;QACT,MAAM,EAAE,qBAAqB;QAC7B,SAAS,EAAE,gBAAgB;QAC3B,KAAK,EAAE,mEAAmE;KAC3E;IACD,UAAU,EAAE;QACV,MAAM,EAAE,qBAAqB;QAC7B,SAAS,EAAE,gBAAgB;QAC3B,KAAK,EAAE,sCAAsC;KAC9C;IACD,UAAU,EAAE;QACV,MAAM,EAAE,4BAA4B;QACpC,SAAS,EAAE,cAAc;QACzB,KAAK,EAAE,uCAAuC;KAC/C;CACF,CAAC;AAEF,+EAA+E;AAC/E,8EAA8E;AAC9E,oBAAoB;AACpB,MAAM,eAAe,GAAG,CAAC,IAAgB,EAAE,OAA0B,EAAU,EAAE;IAC/E,MAAM,IAAI,GACR,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,6CAA6C,CAAC;IAC9F,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,GAAG,IAAI,OAAO,IAAI,WAAW,WAAW,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,EAAE,GAAG,CAAC;IACxE,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC;IACpD,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;QACnB,OAAO,iFAAiF,CAAC;IAC3F,CAAC;IACD,OAAO,GAAG,IAAI,aAAa,IAAI,CAAC,KAAK,SAAS,CAAC;AACjD,CAAC,CAAC;AAEF,+EAA+E;AAC/E,2EAA2E;AAC3E,qDAAqD;AACrD,MAAM,oBAAoB,GAAG,CAAC,cAAc,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;AAEpG,MAAM,kBAAkB,GAAG,CAAC,IAAgB,EAAE,QAAgB,EAAU,EAAE;IACxE,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,UAAU,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,IAAI,GAAG,CAAC,CAAC;QACrF,OAAO,UAAU,CAAC,SAAS,CAAC;IAC9B,CAAC;IACD,IAAI,MAAM,IAAI,IAAI;QAAE,OAAO,cAAc,CAAC;IAC1C,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IACjF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,gBAAgB,QAAQ,aAAa,IAAI,CAAC,KAAK,kCAAkC;YAC/E,uFAAuF,CAC1F,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,iFAAiF;AACjF,gFAAgF;AAChF,uDAAuD;AACvD,MAAM,aAAa,GAAG,CACpB,aAAqB,EACrB,OAAe,EACf,KAAa,EACb,SAAiB,EACT,EAAE;IACV,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzD,MAAM,IAAI,GAAG,KAAK,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACrC,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC,CAAC;AAYF,MAAM,YAAY,GAAG,CACnB,KAAY,EACZ,IAA6B,EAC7B,OAAyC,EACzC,QAAsB,EACtB,SAAiB,EAGjB,EAAE;IACF,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO;YACL,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,IAAI,EAAE,EAAE;YACR,cAAc,EAAE,KAAK,CAAC,cAAc;SACrC,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,CAAC,IAAY,EAAU,EAAE,CAC5C,QAAQ,CACN,iBAAiB,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;SACvF,MAAM,CACV,CAAC;IAEJ,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;IACrC,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAC/C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAClC,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC;QACzB,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC;QACzD,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC;QACrD,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,KAAK,EAAE,WAAW,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC;KACrD,CAAC,CAAC,CACJ,CAAC;IAEF,gFAAgF;IAChF,gFAAgF;IAChF,wCAAwC;IACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC;IACnE,OAAO;QACL,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC;QAChD,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,EAAE,GAAG,QAAQ,CAAC;QAClE,8EAA8E;QAC9E,0EAA0E;QAC1E,oEAAoE;QACpE,IAAI;QACJ,cAAc,EAAE,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,cAAc;KACrD,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,QAAkB,EAClB,SAAS,GAAiC,EAAE,EAC9B,EAAE;IAChB,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;IAEvC,2EAA2E;IAC3E,4EAA4E;IAC5E,2EAA2E;IAC3E,yEAAyE;IACzE,uDAAuD;IACvD,MAAM,YAAY,GAAG,CAAC,MAAc,EAAU,EAAE;QAC9C,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CACjD,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,MAAM,UAAU,CAAC,CAChD,CAAC;QACF,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,KAAK,EAAE,QAAQ,CAAC,CAAC;QACrE,OAAO,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACvC,CAAC,CAAC;IAEF,+EAA+E;IAC/E,qEAAqE;IACrE,MAAM,OAAO,GAAG,CAAC,UAAkB,EAAE,IAAY,EAAU,EAAE,CAC3D,WAAW,CAAC,UAAU,EAAE,GAAG,IAAI,GAAG,YAAY,CAAC,WAAW,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAEjF,yEAAyE;IACzE,sEAAsE;IACtE,+DAA+D;IAC/D,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,UAAU,GAAG,kBAAkB,EAAU,EAAE,CAC7E,oBAAoB,IAAI,GAAG,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;IAExD,4EAA4E;IAC5E,8EAA8E;IAC9E,4EAA4E;IAC5E,MAAM,gBAAgB,GAAG,CACvB,QAA+B,EAC/B,SAAiB,EACjB,QAAgB,EACR,EAAE;QACV,MAAM,UAAU,GAAG,CAAC,gBAAgB,SAAS,EAAE,EAAE,eAAe,EAAE,kBAAkB,CAAC,CAAC;QACtF,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAC9B,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAChF,CAAC;QACF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CACb,IAAI,QAAQ,wEAAwE;gBAClF,sFAAsF,CACzF,CAAC;QACJ,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IACF,MAAM,OAAO,GAAsB,EAAE,CAAC;IACtC,MAAM,OAAO,GAAsB,EAAE,CAAC;IACtC,MAAM,OAAO,GAAsB,EAAE,CAAC;IACtC,MAAM,OAAO,GAAuB,EAAE,CAAC;IACvC,MAAM,iBAAiB,GAAkB,EAAE,CAAC;IAC5C,MAAM,YAAY,GAAkB,EAAE,CAAC;IACvC,MAAM,KAAK,GAAyB,EAAE,CAAC;IACvC,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,MAAM,WAAW,GAA2B,EAAE,CAAC;IAE/C,MAAM,IAAI,GAAG,CACX,GAAW,EACX,IAAkB,EAClB,MAAa,EACb,IAAY,EACZ,QAA+B,EACzB,EAAE;QACR,MAAM,eAAe,GAAG,QAAQ;aAC7B,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,GAAG,CAAC;aACpC,OAAO,CAAC,cAAc,CAAC;aACvB,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9C,MAAM,YAAY,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;QACnF,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,YAAY,CAAC;QAElC,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI;YAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,IAAI,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI;YAAE,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtE,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC7E,MAAM,IAAI,KAAK,CACb,QAAQ,GAAG,8EAA8E;gBACvF,4DAA4D,CAC/D,CAAC;QACJ,CAAC;QACD,2EAA2E;QAC3E,gDAAgD;QAChD,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,IAAI,KAAK,EAAE,CAAC;QAClF,MAAM,aAAa,GAAG,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE;YAC9D,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAC,CAAC;QACH,MAAM,QAAQ,GACZ,YAAY,CAAC,MAAM,KAAK,CAAC;YACvB,CAAC,CAAC,aAAa;YACf,CAAC,CAAC;gBACE,QAAQ,EAAE,aAAa,CAAC,QAAQ;gBAChC,MAAM,EAAE,MAAM,YAAY;qBACvB,GAAG,CACF,CAAC,GAAG,EAAE,EAAE,CACN,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,EAAE;oBACtC,SAAS,EAAE,KAAK;oBAChB,SAAS,EAAE,MAAM,CAAC,SAAS;iBAC5B,CAAC,CAAC,MAAM,CACZ;qBACA,IAAI,CAAC,GAAG,CAAC,GAAG;aAChB,CAAC;QACR,8EAA8E;QAC9E,uCAAuC;QACvC,MAAM,OAAO,GACX,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;YAC9C,CAAC,CAAC,SAAS,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,QAAQ,CAAC,MAAM,EAAE;YAC1H,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QACtB,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,IAAI,OAAO,EAAE,CAAC;QAC1F,MAAM,SAAS,GACb,MAAM,CAAC,SAAS;YAChB,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;QAEhF,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACzF,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;QAC/B,MAAM,KAAK,GAAU;YACnB,UAAU;YACV,QAAQ,EAAE,UAAU;YACpB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,SAAS;YACT,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,MAAM,EAAE,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM;SACnC,CAAC;QAEF,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC;QACjE,MAAM,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;QAEzC,uEAAuE;QACvE,yEAAyE;QACzE,yEAAyE;QACzE,2BAA2B;QAC3B,EAAE;QACF,4EAA4E;QAC5E,+EAA+E;QAC/E,8DAA8D;QAC9D,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,CACxD,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,SAAS,CAC5C,CAAC;YACF,MAAM,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC3D,MAAM,MAAM,GAAG,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,IAAI,MAAM,CAAC;YAE9D,MAAM,IAAI,GAAG,CACX,QAAgB,EAChB,QAA+B,EAC/B,OAAe,EACf,KAAa,EACb,MAAe,EACf,OAAO,GAAsB,MAAM,EAC7B,EAAE;gBACR,WAAW,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC;oBACzC,KAAK,EAAE;wBACL,IAAI,EACF,MAAM,KAAK,SAAS;4BAClB,CAAC,CAAC,aAAa,CACX,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,EACjB,OAAO,EACP,KAAK,EACL,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CACrC;4BACH,CAAC,CAAC,KAAK;qBACZ;oBACD,IAAI,EAAE,QAAQ;oBACd,OAAO;oBACP,GAAG,CAAC,MAAM,KAAK,SAAS;wBACtB,CAAC,CAAC;4BACE,UAAU,EACR,OAAO,MAAM,KAAK,QAAQ;gCACxB,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,IAAI,EAAE,CAAC;gCACrC,CAAC,CAAC,OAAO,IAAI,MAAM;oCACjB,CAAC,CAAC,MAAM,CAAC,KAAK;oCACd,CAAC,CAAC,EAAE;yBACX;wBACH,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;iBAChB,CAAC,CAAC;YACL,CAAC,CAAC;YAEF,IAAI,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;gBACxB,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;oBAC/B,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;oBAChD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;wBAC1B,IAAI,CACF,GAAG,IAAI,gBAAgB,EACvB,CAAC,QAAQ,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC,EAC5B,OAAO,EACP,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,EAC9B,SAAS,EACT,QAAQ,CACT,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,IAAI,CACF,GAAG,IAAI,SAAS,EAChB,CAAC,QAAQ,CAAC,GAAG,UAAU,gBAAgB,CAAC,CAAC,EACzC,SAAS,EACT,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,CAC/B,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,QAAQ,IAAI,MAAM,EAAE,CAAC;gBACxB,MAAM,cAAc,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAC9C,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,EAAE;oBACtC,SAAS,EAAE,IAAI;oBACf,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,SAAS,EAAE,IAAI;iBAChB,CAAC,CACH,CAAC;gBACF,MAAM,CAAC,WAAW,CAAC,GAAG,cAAc,CAAC;gBACrC,MAAM,OAAO,GAAG,WAAW,EAAE,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACzE,MAAM,MAAM,GACV,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,IAAI,MAAM;oBAC5C,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;oBACnD,CAAC,CAAC,SAAS,CAAC;gBAChB,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC3E,MAAM,IAAI,KAAK,CACb,cAAc,GAAG,aAAa,MAAM,CAAC,IAAI,oCAAoC,CAC9E,CAAC;gBACJ,CAAC;gBACD,IAAI,OAAO,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBAClD,IAAI,CACF,GAAG,IAAI,SAAS,EAChB,cAAc,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACzB,QAAQ,CACN,MAAM,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,IAAI,GAAG,CAAC,MAAM,EAAE,CAC7E,CACF,EACD,OAAO,EACP,WAAW,CAAC,UAAU,EAAE,EAAE,CAAC,EAC3B,MAAM,CACP,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;QACzD,uEAAuE;QACvE,0EAA0E;QAC1E,6EAA6E;QAC7E,4EAA4E;QAC5E,MAAM,qBAAqB,GAAG,CAC5B,IAAkB,EAClB,MAAc,EACd,UAAwB,EACxB,OAAe,EACQ,EAAE,CACzB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,CAChE,cAAc,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACvC,6DAA6D;YAC7D,uEAAuE;YACvE,sDAAsD;YACtD,MAAM,aAAa,GAAG,iBAAiB,CAAC,GAAG,EAAE,UAAU,EAAE;gBACvD,SAAS,EAAE,IAAI;gBACf,SAAS,EAAE,OAAO;aACnB,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,GAAG,MAAM,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;YACnD,MAAM,UAAU,GACd,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;YAC1F,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBAChC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;YAC7E,CAAC;YACD,OAAO,WAAW,CAAC,QAAQ,CAAC;gBAC1B,CAAC,CAAC,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,CAAC,QAAQ,EAAE,UAAU,CAAC;gBAC1E,CAAC,CAAC,EAAE,CAAC;QACT,CAAC,CAAC,CACH,CAAC;QAEJ,MAAM,kBAAkB,GAAG,qBAAqB,CAC9C,IAAI,EACJ,UAAU,EACV,QAAQ,CAAC,QAAQ,EACjB,SAAS,CACV,CAAC;QAEF,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,SAAS,GAAG,YAAY,CAAC;YAC/B,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1E,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;gBAC1B,MAAM,QAAQ,GAAG,GAAG,IAAI,SAAS,CAAC;gBAClC,qEAAqE;gBACrE,iEAAiE;gBACjE,MAAM,QAAQ,GACZ,IAAI,CAAC,MAAM,KAAK,MAAM;oBACpB,CAAC,CAAC,CAAC,QAAQ,CAAC;oBACZ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,CAC9B,cAAc,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACnC,QAAQ,CACN,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBACvE,MAAM,CACV,CACF,CACF,CAAC;gBACR,MAAM,WAAW,GAAG,WAAW,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;gBAChD,MAAM,KAAK,GACT,IAAI,CAAC,MAAM,KAAK,MAAM;oBACpB,CAAC,CAAC,gBAAgB,YAAY,CAAC,WAAW,CAAC,EAAE;oBAC7C,CAAC,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAC;gBACtE,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,uCAAuC;oBAChE,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE;oBAC/C,MAAM,EAAE,WAAW;oBACnB,KAAK,EAAE,QAAQ;iBAChB,CAAC,CAAC;YACL,CAAC;YACD,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;YAC5D,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,SAAS,EAAE,CAAC;gBAC1C,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC;YAC5F,CAAC;QACH,CAAC;QAED,0EAA0E;QAC1E,2DAA2D;QAC3D,EAAE;QACF,6EAA6E;QAC7E,4EAA4E;QAC5E,4EAA4E;QAC5E,MAAM,eAAe,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC;QAC3F,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;QAClE,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAC3F,8EAA8E;QAC9E,MAAM,SAAS,GAAG,QAAQ;YACxB,CAAC,CAAC,WAAW,CAAC,UAAU,EAAE,EAAE,CAAC;YAC7B,CAAC,CAAC,WAAW,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAExD,MAAM,gBAAgB,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,GAAG,CAAC,CAAC;QAC7F,MAAM,YAAY,GAChB,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;QAE9E,IAAI,eAAe,IAAI,IAAI,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC5E,MAAM,IAAI,KAAK,CACb,IAAI,IAAI,gFAAgF;gBACtF,0FAA0F;gBAC1F,gFAAgF,CACnF,CAAC;QACJ,CAAC;QAED,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAExF,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,GAAG,IAAI,UAAU;oBACvB,OAAO,EAAE,KAAK,CAAC,cAAc;oBAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE;oBACnE,IAAI,EAAE,KAAK;oBACX,GAAG,UAAU;oBACb,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;oBACvB,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC3E,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,8EAA8E;QAC9E,kEAAkE;QAClE,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;YACnD,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,GAAG,IAAI,SAAS,MAAM,CAAC,KAAK,CAAC,EAAE;gBACrC,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE;gBAC7C,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW;gBACzD,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpE,EAAE,EAAE,MAAM,CAAC,KAAK;gBAChB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACvE,CAAC,CAAC;QACL,CAAC;QAED,yEAAyE;QACzE,0EAA0E;QAC1E,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAClC,uEAAuE;YACvE,kEAAkE;YAClE,yEAAyE;YACzE,wEAAwE;YACxE,iDAAiD;YACjD,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrD,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,IAAI,EAAE,CAAC;gBACpE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,MAAM,IAAI,KAAK,CACb,IAAI,IAAI,YAAY,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,0CAA0C;wBACjF,oFAAoF;wBACpF,uBAAuB,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,2CAA2C;wBACrF,oFAAoF;wBACpF,sEAAsE,CACzE,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,EAAE,CAChC,QAAQ,CACN,iBAAiB,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,QAAQ,EAAE;gBACjE,SAAS,EAAE,KAAK;gBAChB,SAAS;aACV,CAAC,CAAC,MAAM,CACV,CAAC;YACJ,sEAAsE;YACtE,0EAA0E;YAC1E,eAAe;YACf,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAClE,QAAQ,CACN,GAAG,UAAU,IAAI,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CACtG,CACF,CAAC;YACF,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,GAAG,IAAI,cAAc;gBAC3B,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO;gBAChC,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE;gBACpE,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;gBACrD,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW;gBACvD,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChD,CAAC,CAAC;QACL,CAAC;QAED,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;YAC3D,MAAM,OAAO,GAAG,CAAC,KAAqC,EAAE,EAAE,CACxD,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACzB,QAAQ,CACN,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,CAClF,CACF,CAAC;YACJ,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,GAAG,IAAI,YAAY,MAAM,CAAC,KAAK,CAAC,EAAE;gBACxC,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,qEAAqE;gBACrE,mEAAmE;gBACnE,oBAAoB;gBACpB,KAAK,EACH,IAAI,CAAC,KAAK,KAAK,SAAS;oBACtB,CAAC,CAAC;wBACE,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;wBACjC,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,wBAAwB,EAAE,CAAC;wBAClE,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;qBAC5E;oBACH,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;gBAC5E,iEAAiE;gBACjE,sEAAsE;gBACtE,sEAAsE;gBACtE,2BAA2B;gBAC3B,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC1D,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACxE,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnE,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5E,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;aACpE,CAAC,CAAC;QACL,CAAC;QAED,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;YAC3D,MAAM,QAAQ,GAAG,GAAG,IAAI,YAAY,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACpD,MAAM,MAAM,GAAG,CAAC,KAAqC,EAAE,EAAE,CACvD,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACzB,QAAQ,CACN,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,CAClF,CACF,CAAC;YACJ,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE,CAC9B,QAAQ,CACN,iBAAiB,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,QAAQ,EAAE;gBACjE,SAAS,EAAE,KAAK;gBAChB,SAAS;aACV,CAAC,CAAC,MAAM,CACV,CAAC;YAEJ,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAC9D,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,CAC3B,CAAC,MAAM,CAAC;YACT,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CACb,iBAAiB,QAAQ,yDAAyD;oBAChF,sDAAsD,CACzD,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC;YACxC,MAAM,gBAAgB,GACpB,IAAI,CAAC,UAAU,KAAK,SAAS;gBAC3B,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ;oBACnC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,MAAM;oBACtC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;YAE9B,wEAAwE;YACxE,0EAA0E;YAC1E,+DAA+D;YAC/D,MAAM,QAAQ,GACZ,IAAI,KAAK,SAAS;gBAChB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,IAAI,KAAK,WAAW;oBACpB,CAAC,CAAC,GAAG;oBACL,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS;wBAC7B,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC;wBAC/C,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtC,MAAM,OAAO,GAAG;gBACd,IAAI,EAAE,QAAQ;gBACd,IAAI;gBACJ,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3E,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;aACpE,CAAC;YACF,MAAM,UAAU,GAAG,GAAkC,EAAE;gBACrD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;oBAAE,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;gBAChC,IAAI,GAAG,GAAG,CAAC;oBAAE,OAAO,EAAE,CAAC;gBACvB,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;oBACjC,MAAM,IAAI,KAAK,CACb,iBAAiB,QAAQ,mDAAmD;wBAC1E,4BAA4B,CAC/B,CAAC;gBACJ,CAAC;gBACD,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC3D,GAAG,OAAO;oBACV,IAAI,EAAE,GAAG,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE;iBAChC,CAAC,CAAC,CAAC;YACN,CAAC,CAAC;YAEF,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,KAAK,EACH,IAAI,CAAC,KAAK,KAAK,SAAS;oBACtB,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;oBAC3C,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;gBACrD,IAAI,EAAE,KAAK;gBACX,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACnF,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/D,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACxE,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnE,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClE,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3E,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC7D,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClE,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC;gBAC3E,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;aAC3D,CAAC,CAAC;QACL,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5D,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,GAAG,CACzC,CAAC,QAAQ,EAAE,EAAE,CACX,IAAI,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,GAAG,CAChG,CAAC;YACF,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,GAAG,IAAI,WAAW;gBACxB,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,8BAA8B;gBACvD,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE;gBAC5C,IAAI,EAAE,WAAW;gBACjB,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjD,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;aAC7B,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,UAAU,GAAU;QACxB,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,CAAC;QACZ,KAAK,EAAE,EAAE;QACT,SAAS,EAAE,EAAE;QACb,cAAc,EAAE,gDAAgD;QAChE,MAAM,EAAE,SAAS;KAClB,CAAC;IAEF,0EAA0E;IAC1E,qBAAqB;IACrB,MAAM,WAAW,GAAU,EAAE,GAAG,UAAU,EAAE,CAAC;IAC7C,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,YAAY,CACxC,WAAW,EACX,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,EAAE,EAAE,EACjD,OAAO,EACP,EAAE,EACF,CAAC,CACF,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QACjB,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,aAAa,MAAM,CAAC,KAAK,CAAC,EAAE;YAClC,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE;YAC3D,IAAI,EAAE,UAAU;YAChB,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,EAAE,EAAE,MAAM,CAAC,KAAK;YAChB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvE,CAAC,CAAC;IACL,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACxD,2EAA2E;QAC3E,4EAA4E;QAC5E,0DAA0D;QAC1D,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM;YAC7E,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,WAAW;gBACnC,OAAO,EACL,IAAI,CAAC,OAAO;oBACZ,kIAAkI;gBACpI,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE;gBACvF,IAAI,EAAE,QAAQ,CACZ,iBAAiB,CACf,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,EACvC,EAAE,EACF;oBACE,SAAS,EAAE,IAAI;oBACf,SAAS,EAAE,CAAC;iBACb,CACF,CAAC,MAAM,CACT;aACF,CAAC,CAAC;QACL,IAAI,CACF,GAAG,EACH,IAAI,EACJ,UAAU,EACV,UAAU,CAAC,GAAG,CAAC;aACZ,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC;aAC9B,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,EACxB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAC3B,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;QAC1C,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,EAAE,CACjC,QAAQ,CACN,iBAAiB,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;aACpF,MAAM,CACV,CAAC;QACJ,uEAAuE;QACvE,0EAA0E;QAC1E,0EAA0E;QAC1E,0EAA0E;QAC1E,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC;QACxC,MAAM,MAAM,GACV,IAAI,CAAC,KAAK,EAAE,MAAM;YAClB,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YACjF,eAAe,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE;gBACL,IAAI,EAAE,YAAY,CAAC,UAAU,CAAC;gBAC9B,EAAE,EAAE,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC;gBAC1E,MAAM;gBACN,IAAI;gBACJ,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;aACnE;YACD,IAAI,EAAE,UAAU;YAChB,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACtF,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;YACvC,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACrE,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/D,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;SACrD,CAAC,CAAC;IACL,CAAC;IAED,6EAA6E;IAC7E,0EAA0E;IAC1E,oEAAoE;IACpE,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,EAAE,CACtC,QAAQ,CACN,iBAAiB,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;SACpF,MAAM,CACV,CAAC;IACJ,MAAM,eAAe,GAAG,CAAC,KAAiD,EAAE,EAAE,CAC5E,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACvE,2EAA2E;IAC3E,8EAA8E;IAC9E,yEAAyE;IACzE,MAAM,WAAW,GAAG,CAAC,KAAqC,EAAE,IAAY,EAAU,EAAE;QAClF,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;QAC7D,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACpD,OAAO,WAAW,CAChB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAClC,IAAI,CAAC,OAAO,CAAC,+BAA+B,EAAE,IAAI,CAAC,CACpD,CAAC;IACJ,CAAC,CAAC;IACF,MAAM,KAAK,GAAgB;QACzB,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAClD,MAAM,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAC/C,MAAM,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAC9C,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,KAAK,EAAE;oBACL,KAAK,EAAE;wBACL,CAAC,CAAC,EAAE,CAAC,CAAC;wBACN,CAAC,CAAC,EAAE,CAAC,CAAC;qBACP;iBACF;gBACD,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC;gBAChD,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS;oBAC9B,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,SAAS,EAAE,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;aAC1D,CAAC;QACJ,CAAC,CAAC;QACF,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACtD,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,EAAE;YACpE,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC;YAChD,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;YAC7F,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC;SAC/C,CAAC,CAAC;QACH,KAAK,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAClD,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE;gBACL,KAAK,EAAE,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC;aAClF;YACD,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC;YAC5C,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YACvF,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC;YACxC,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YACjF,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;SAC5E,CAAC,CAAC;KACJ,CAAC;IAEF,OAAO;QACL,OAAO;QACP,OAAO;QACP,OAAO;QACP,OAAO;QACP,KAAK;QACL,QAAQ,EAAE,EAAE,YAAY,EAAE,iBAAiB,EAAE,OAAO,EAAE,YAAY,EAAE;QACpE,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE;KAC3D,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../../src/manifest/compile.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,116 @@
1
+ import * as Result from "effect/Result";
2
+ const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
3
+ const isReference = (value) => isRecord(value) && typeof value.use === "string";
4
+ export const expandManifest = (input) => {
5
+ if (!isRecord(input))
6
+ return Result.succeed({ value: input, substitutions: [] });
7
+ // Two keys the file may carry that the schema does not: the fragments, and
8
+ // the `$schema` a JSON author writes for editor validation.
9
+ const { $schema: _schema, defs, ...rest } = input;
10
+ if (defs !== undefined && !isRecord(defs)) {
11
+ return Result.fail({
12
+ path: ["defs"],
13
+ detail: "`defs` must be a map of named fragments.",
14
+ });
15
+ }
16
+ const fragments = defs ?? {};
17
+ const defined = Object.keys(fragments);
18
+ const substitutions = [];
19
+ // `at` is the path in the document being built; `origin` the path in the
20
+ // document as written; `stack` the fragments currently being expanded, for
21
+ // the cycle check.
22
+ const walk = (value, at, origin, stack) => {
23
+ if (isReference(value)) {
24
+ const { use: name, ...overrides } = value;
25
+ if (!(name in fragments)) {
26
+ return Result.fail({
27
+ path: origin,
28
+ detail: `\`use: ${JSON.stringify(name)}\` names no entry in \`defs\`` +
29
+ (defined.length === 0
30
+ ? " — the manifest defines none."
31
+ : ` (defined: ${defined.join(", ")}).`),
32
+ });
33
+ }
34
+ if (stack.includes(name)) {
35
+ return Result.fail({
36
+ path: origin,
37
+ detail: `\`defs\` contains a cycle: ${[...stack, name].join(" → ")}.`,
38
+ });
39
+ }
40
+ substitutions.push({ at, ref: origin, name, overrides: new Set(Object.keys(overrides)) });
41
+ const fragment = walk(fragments[name], at, ["defs", name], [...stack, name]);
42
+ if (Result.isFailure(fragment))
43
+ return fragment;
44
+ if (Object.keys(overrides).length === 0)
45
+ return fragment;
46
+ if (!isRecord(fragment.success)) {
47
+ return Result.fail({
48
+ path: origin,
49
+ detail: `\`use: ${JSON.stringify(name)}\` is written with overrides ` +
50
+ `(${Object.keys(overrides).join(", ")}), but \`defs.${name}\` is not an object, ` +
51
+ `so there is nothing to override.`,
52
+ });
53
+ }
54
+ const merged = { ...fragment.success };
55
+ for (const [key, override] of Object.entries(overrides)) {
56
+ const expanded = walk(override, [...at, key], [...origin, key], stack);
57
+ if (Result.isFailure(expanded))
58
+ return expanded;
59
+ merged[key] = expanded.success;
60
+ }
61
+ return Result.succeed(merged);
62
+ }
63
+ if (Array.isArray(value)) {
64
+ const items = [];
65
+ for (const [index, item] of value.entries()) {
66
+ const expanded = walk(item, [...at, index], [...origin, index], stack);
67
+ if (Result.isFailure(expanded))
68
+ return expanded;
69
+ items.push(expanded.success);
70
+ }
71
+ return Result.succeed(items);
72
+ }
73
+ if (isRecord(value)) {
74
+ const entries = {};
75
+ for (const [key, item] of Object.entries(value)) {
76
+ const expanded = walk(item, [...at, key], [...origin, key], stack);
77
+ if (Result.isFailure(expanded))
78
+ return expanded;
79
+ entries[key] = expanded.success;
80
+ }
81
+ return Result.succeed(entries);
82
+ }
83
+ return Result.succeed(value);
84
+ };
85
+ const expanded = walk(rest, [], [], []);
86
+ if (Result.isFailure(expanded))
87
+ return Result.fail(expanded.failure);
88
+ return Result.succeed({ value: expanded.success, substitutions });
89
+ };
90
+ const isPrefix = (prefix, path) => prefix.length <= path.length && prefix.every((segment, index) => path[index] === segment);
91
+ // Maps a path in the expanded document back to where it was written.
92
+ export const originOf = (substitutions, path) => {
93
+ const crossed = substitutions
94
+ .filter((one) => isPrefix(one.at, path))
95
+ .sort((a, b) => a.at.length - b.at.length);
96
+ const innermost = crossed.at(-1);
97
+ if (innermost === undefined)
98
+ return { path, via: [] };
99
+ const outer = crossed.slice(0, -1).map((one) => ({ at: one.ref, name: one.name }));
100
+ const rest = path.slice(innermost.at.length);
101
+ const first = rest[0];
102
+ // A key written beside `use` belongs to the reference site, not the fragment.
103
+ if (typeof first === "string" && innermost.overrides.has(first)) {
104
+ return { path: [...innermost.ref, ...rest], via: outer };
105
+ }
106
+ return {
107
+ path: ["defs", innermost.name, ...rest],
108
+ via: [...outer, { at: innermost.ref, name: innermost.name }],
109
+ };
110
+ };
111
+ // The fragment a path in the expanded document was written in, when it was:
112
+ // the innermost `use` the path crossed, or nothing when the value at that path
113
+ // was authored where it sits — including a key written beside `use`, which
114
+ // belongs to the reference site.
115
+ export const fragmentOf = (substitutions, path) => originOf(substitutions, path).via.at(-1)?.name;
116
+ //# sourceMappingURL=expand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expand.js","sourceRoot":"","sources":["../../../src/manifest/expand.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=extension.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extension.js","sourceRoot":"","sources":["../../../src/manifest/extension.ts"],"names":[],"mappings":""}
@@ -74,4 +74,7 @@ export const globToRegexSource = (glob, captures, options) => {
74
74
  };
75
75
  export const anchored = (source) => `^${source}$`;
76
76
  export const prefixed = (source) => `^${source}`;
77
+ // A repo-relative glob as the sector discovery compiles a marker's `owns`:
78
+ // anchored at the start, so it names a subtree.
79
+ export const globToRegExp = (glob) => new RegExp(prefixed(globToRegexSource(glob, {}, { declaring: false, nextGroup: 1 }).source));
77
80
  //# sourceMappingURL=glob.js.map