@component-compass/reference-graph 0.1.22 → 0.1.23

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.
@@ -50,17 +50,6 @@ export type EngineOccurrence = {
50
50
  rawOwnerComponentId?: ComponentId;
51
51
  /** Stable id of enclosing component definition. Absent when deferred. */
52
52
  ownerComponentId?: string;
53
- /**
54
- * Cross-link to the underlying custom element this react-component wraps.
55
- * Present only when `wrapCallback` was supplied to `resolve` and returned a
56
- * hit for this occurrence's (packageName, exportName) pair.
57
- * Does NOT participate in componentId hashing.
58
- */
59
- wraps?: {
60
- kind: "custom-element";
61
- tagName: string;
62
- packageName: string;
63
- };
64
53
  };
65
54
  export type ResolvedGraph = {
66
55
  occurrences: EngineOccurrence[];
@@ -91,16 +80,6 @@ export type TagResolverIndex = {
91
80
  * Options for the `resolve` engine pass.
92
81
  */
93
82
  export type ResolveOpts = {
94
- /**
95
- * Optional cross-link callback. Called at each external react-component
96
- * emission with (packageName, exportName). When a hit is returned the engine
97
- * attaches `wraps` to the emitted `EngineOccurrence`. No-op when omitted or
98
- * returns null. Engine never imports CEM types — only consumes the return shape.
99
- */
100
- wrapCallback?: (packageName: string, exportName: string) => {
101
- tagName: string;
102
- packageName: string;
103
- } | null;
104
83
  /**
105
84
  * Optional external leaf resolver. Called when an external
106
85
  * react-component identity is constructed, with the importing graph file,
@@ -111,7 +90,7 @@ export type ResolveOpts = {
111
90
  * so package-of-definition identity is the leaf (external analogue of the
112
91
  * local barrel re-wrap follow). Same-package hits are ignored
113
92
  * (identity already correct); the call is still made so the host can
114
- * terminal-load the leaf manifest as a side effect for `wrapCallback`.
93
+ * terminal-load the leaf manifest as a side effect for the host's wrapper lookup.
115
94
  * Engine never imports resolver types — only this return shape.
116
95
  */
117
96
  resolveExternalLeaf?: (fromFile: string, specifier: string, exportName: string) => {
@@ -126,7 +105,10 @@ export type ResolveOpts = {
126
105
  */
127
106
  tagIndex?: TagResolverIndex;
128
107
  /**
129
- * Sink for engine-emitted diagnostics (currently: low-confidence-tag).
108
+ * Sink for engine-emitted diagnostics: `unresolved-reference`,
109
+ * `unresolved-import` and `lazy-import-unsupported` for a JSX render that
110
+ * produced no occurrence, and `low-confidence-tag` for a tag usage the
111
+ * `tagIndex` does not resolve.
130
112
  * Optional — when omitted, diagnostics are silently dropped.
131
113
  */
132
114
  collector?: DiagnosticCollector;
@@ -118,238 +118,176 @@ export function resolve(graph, opts) {
118
118
  ? { fileUsageIdx, kind, parentUsageIdx }
119
119
  : { fileUsageIdx, kind };
120
120
  }
121
+ return occurrences.length - lengthBefore;
121
122
  };
122
- for (const [filePath, fileGraph] of graph.files) {
123
- for (let usageIdx = 0; usageIdx < fileGraph.jsxUsages.length; usageIdx++) {
124
- const usage = fileGraph.jsxUsages[usageIdx];
125
- if (!usage)
126
- continue;
127
- // Resolve owner symbol ref for this usage (for composition attribution).
128
- const ownerRef = fileGraph.ownership[usageIdx]?.ownerSymbolRef ?? null;
129
- const viaOverride = fileGraph.ownership[usageIdx]?.viaOverride;
130
- const jsxDepth = fileGraph.ownership[usageIdx]?.depth ?? 0;
131
- const jsxParentUsageIdx = fileGraph.ownership[usageIdx]?.parentUsageIdx;
132
- const jsxLengthBefore = occurrences.length;
133
- // Find the import record that introduced the root symbol at module scope.
134
- // We check usage.ref.symbol (the root binding name), not member-chain
135
- // segments, because ImportRecord.local binds the top-level name.
136
- const matchedImport = fileGraph.importsByLocal.get(usage.ref.symbol);
137
- if (!matchedImport) {
138
- // Symbol is locally declared (no import) — emit local identity.
139
- const decl = findLocalDeclaration(fileGraph, usage.ref);
140
- if (!decl) {
141
- if (!isHostElementRoot(usage.ref)) {
142
- // No import record and no declaration in scope: the engine cannot
143
- // attribute this usage. Surface it instead of
144
- // dropping it silently — `info`, because the usual cause is a
145
- // global or macro-provided binding the scan cannot see.
146
- opts?.collector?.emit({
147
- code: "unresolved-reference",
148
- severity: "info",
149
- filePath,
150
- line: usage.loc.line,
151
- column: usage.loc.column,
152
- symbol: usage.ref.symbol,
153
- memberChain: [...usage.ref.memberChain],
154
- });
155
- }
156
- continue;
157
- }
158
- pushLocalOccurrence(occurrences, filePath, usage, decl, graph, fileGraph, argMap, ownerRef, helperIndex, opts, viaOverride);
159
- stampComposition(jsxLengthBefore, "jsx", usageIdx, jsxDepth, jsxParentUsageIdx);
160
- continue;
161
- }
162
- const packageName = packageNameFromSpecifier(matchedImport.specifier);
163
- // Resolve namespace-import members to their export name once, up front —
164
- // every export-name / re-export lookup below keys on this, not the raw
165
- // `imported`. `via.import` keeps the raw `imported` (provenance).
166
- const effectiveImported = effectiveExportName(matchedImport.imported, usage.ref.memberChain);
167
- // Lookups below key on `effectiveImported` (the ROOT); the
168
- // identity stamped on a fallback is the root plus the residual chain.
169
- // A member the walker resolves to its own declaration never reaches a
170
- // fallback, so this only names members with no declaration of their own.
171
- const residual = residualMemberChain(matchedImport.imported, usage.ref.memberChain);
172
- if (!packageName) {
173
- // Relative / absolute specifier — always a local file reference.
174
- // Resolve the target path; normalize absolute → graph-relative if possible.
175
- const resolvedAbsTarget = graph.moduleResolver(filePath, matchedImport.specifier);
176
- if (!resolvedAbsTarget) {
177
- // A JSX usage whose import failed to resolve is a dropped local
178
- // reference — surface it instead of vanishing.
179
- opts?.collector?.emit({
180
- code: "unresolved-import",
181
- severity: "warning",
182
- filePath,
183
- line: usage.loc.line,
184
- column: usage.loc.column,
185
- specifier: matchedImport.specifier,
186
- });
187
- continue;
188
- }
189
- const resolvedTarget = graph.resolveToGraphKey
190
- ? (graph.resolveToGraphKey(resolvedAbsTarget) ?? resolvedAbsTarget)
191
- : resolvedAbsTarget;
192
- // Resolve the type to confirm it's a JSX component. Cross-file resolution
193
- // works when resolveToGraphKey is present (graph keys are repo-relative).
194
- const refType = resolveReference(graph, fileGraph, usage.ref);
195
- const folded = walkWithFolding(graph, fileGraph, refType, argMap);
196
- const jsxTerminals = folded.filter((t) => t.type.kind === "JSX");
197
- if (jsxTerminals.length === 0) {
198
- emitLazyImportUnsupported(opts, filePath, usage.loc, refType);
199
- continue;
200
- }
201
- // Determine the canonical source file + local export name. When the
202
- // target is a re-export barrel (`export { X } from './source'`),
203
- // follow the chain to the actual definition file so JSX edges
204
- // attribute to the source rather than the barrel. Without
205
- // this, two consumers importing the same component through different
206
- // re-export paths fragment across phantom identities.
207
- const chained = followReExportChain(graph, resolvedTarget, effectiveImported);
208
- const canonicalFile = chained?.file ?? resolvedTarget;
209
- let exportName = chained?.localExport ?? effectiveImported;
210
- // When the re-export chain didn't follow (no chain present), still
211
- // look up the local export name at the resolved target to match the
212
- // local-index seed's hash convention.
213
- if (!chained) {
214
- const targetGraph = graph.files.get(resolvedTarget);
215
- if (targetGraph && effectiveImported === "default") {
216
- const defaultExp = targetGraph.exports.find((e) => e.kind === "default");
217
- if (defaultExp && "local" in defaultExp) {
218
- exportName = defaultExp.local;
219
- }
220
- }
221
- else if (targetGraph) {
222
- const namedExp = targetGraph.exports.find((e) => e.kind === "named" && "exportedAs" in e && e.exportedAs === effectiveImported && "local" in e);
223
- if (namedExp && "local" in namedExp) {
224
- exportName = namedExp.local;
225
- }
226
- }
227
- }
228
- const outerVia = viaOverride ?? {
229
- kind: "direct-import",
230
- specifier: matchedImport.specifier,
231
- import: matchedImport.imported,
232
- };
233
- const fallbackComponentId = {
234
- kind: componentKindFor(fileGraph.dialect),
235
- export: compoundExportName(exportName, residual),
236
- source: { type: "local", filePath: canonicalFile },
237
- };
238
- if (viaOverride !== undefined) {
239
- // Prop-forward: parser has pre-decided the owner — single-occurrence path.
240
- const rawOwnerComponentId = ownerIdFromRef(graph, ownerRef, fileGraph.filePath);
241
- for (const ft of jsxTerminals) {
242
- const rawComponentId = componentIdFromIdentity(ft.identity, fallbackComponentId, fileGraph.dialect, {
243
- filePath,
244
- resolveExternalLeaf: opts?.resolveExternalLeaf,
245
- });
246
- const viaChain = [viaOverride];
247
- const provisionalId = serialiseComponentId(rawComponentId);
248
- const occurrenceId = computeOccurrenceId(provisionalId, filePath, usage.loc.line, usage.loc.column, rawOwnerComponentId !== undefined ? serialiseComponentId(rawOwnerComponentId) : undefined);
249
- occurrences.push({
250
- rawComponentId,
251
- filePath,
252
- line: usage.loc.line,
253
- column: usage.loc.column,
254
- via: viaChain[0] ?? outerVia,
255
- viaChain,
256
- props: projectPropUsages(usage.props),
257
- events: usage.events ?? [],
258
- occurrenceId,
259
- depth: 0,
260
- ...(rawOwnerComponentId !== undefined ? { rawOwnerComponentId } : {}),
261
- });
262
- }
263
- }
264
- else {
265
- // Helper-call fanout: resolve owner chain and emit per (terminal × resolution).
266
- const ownerResolutions = resolveOwnerChain(ownerRef, graph, helperIndex, createCycleGuard());
267
- for (const ft of jsxTerminals) {
268
- const rawComponentId = componentIdFromIdentity(ft.identity, fallbackComponentId, fileGraph.dialect, {
269
- filePath,
270
- resolveExternalLeaf: opts?.resolveExternalLeaf,
271
- });
272
- for (const res of ownerResolutions) {
273
- const rawOwnerComponentId = ownerIdFromResolution(graph, res.ownerDecl);
274
- const viaChain = [...res.viaPrefix, outerVia, ...ft.viaTrail];
275
- const provisionalId = serialiseComponentId(rawComponentId);
276
- const occurrenceId = computeOccurrenceId(provisionalId, filePath, usage.loc.line, usage.loc.column, rawOwnerComponentId !== undefined ? serialiseComponentId(rawOwnerComponentId) : undefined);
277
- occurrences.push({
278
- rawComponentId,
279
- filePath,
280
- line: usage.loc.line,
281
- column: usage.loc.column,
282
- via: viaChain[0] ?? outerVia,
283
- viaChain,
284
- props: projectPropUsages(usage.props),
285
- events: usage.events ?? [],
286
- occurrenceId,
287
- depth: 0,
288
- ...(rawOwnerComponentId !== undefined ? { rawOwnerComponentId } : {}),
289
- });
290
- }
291
- }
292
- }
293
- stampComposition(jsxLengthBefore, "jsx", usageIdx, jsxDepth, jsxParentUsageIdx);
294
- continue;
295
- }
296
- // Check whether the import resolves to a local file that IS in the graph.
297
- // If it does, resolve properly to avoid false positives (e.g. importing a
298
- // utility function that happens to be named with a capital letter from a
299
- // workspace sibling). For imports whose target is outside the graph
300
- // (external packages in node_modules), trust the JSX call site directly.
123
+ const pushJsxUsageOccurrences = (filePath, fileGraph, usage, ownership) => {
124
+ // Resolve owner symbol ref for this usage (for composition attribution).
125
+ const ownerRef = ownership?.ownerSymbolRef ?? null;
126
+ const viaOverride = ownership?.viaOverride;
127
+ // Find the import record that introduced the root symbol at module scope.
128
+ // We check usage.ref.symbol (the root binding name), not member-chain
129
+ // segments, because ImportRecord.local binds the top-level name.
130
+ const matchedImport = fileGraph.importsByLocal.get(usage.ref.symbol);
131
+ if (!matchedImport) {
132
+ // Symbol is locally declared (no import) — emit local identity.
133
+ const decl = findLocalDeclaration(fileGraph, usage.ref);
134
+ if (!decl)
135
+ return { kind: "unbound" };
136
+ return {
137
+ kind: "resolved",
138
+ value: pushLocalOccurrence(occurrences, filePath, usage, decl, graph, fileGraph, argMap, ownerRef, helperIndex, opts, viaOverride),
139
+ };
140
+ }
141
+ const packageName = packageNameFromSpecifier(matchedImport.specifier);
142
+ // Resolve namespace-import members to their export name once, up front —
143
+ // every export-name / re-export lookup below keys on this, not the raw
144
+ // `imported`. `via.import` keeps the raw `imported` (provenance).
145
+ const effectiveImported = effectiveExportName(matchedImport.imported, usage.ref.memberChain);
146
+ // Lookups below key on `effectiveImported` (the ROOT); the
147
+ // identity stamped on a fallback is the root plus the residual chain.
148
+ // A member the walker resolves to its own declaration never reaches a
149
+ // fallback, so this only names members with no declaration of their own.
150
+ const residual = residualMemberChain(matchedImport.imported, usage.ref.memberChain);
151
+ const holderDefinition = (file, exportName) => {
152
+ if (residual.length === 0)
153
+ return undefined;
154
+ const loc = graph.files.get(file)?.declarations.get(`${MODULE_SCOPE}::${exportName}`)?.loc;
155
+ return loc === undefined ? undefined : { line: loc.line, column: loc.column };
156
+ };
157
+ if (!packageName) {
158
+ // Relative / absolute specifier — always a local file reference.
159
+ // Resolve the target path; normalize absolute → graph-relative if possible.
301
160
  const resolvedAbsTarget = graph.moduleResolver(filePath, matchedImport.specifier);
302
- // Normalize absolute path → repo-relative graph key when possible.
303
- const resolvedNormTarget = resolvedAbsTarget !== null && graph.resolveToGraphKey
161
+ if (!resolvedAbsTarget)
162
+ return { kind: "import-failed", specifier: matchedImport.specifier };
163
+ const resolvedTarget = graph.resolveToGraphKey
304
164
  ? (graph.resolveToGraphKey(resolvedAbsTarget) ?? resolvedAbsTarget)
305
165
  : resolvedAbsTarget;
306
- const targetInGraph = resolvedNormTarget !== null && graph.files.has(resolvedNormTarget);
307
- if (targetInGraph) {
308
- // Target file is in graph — workspace sibling. Resolve to check
309
- // JSX type, fan out per terminal. The fallback identity is local so
310
- // null-identity terminals still attribute to the sibling file rather
311
- // than a phantom external stub. Terminal identities from deriveIdentity
312
- // are already local when applicable (workspaceSiblingIdentity fires).
313
- const refType = resolveReference(graph, fileGraph, usage.ref);
314
- const foldedTerminals = walkWithFolding(graph, fileGraph, refType, argMap);
315
- const jsxTerminals = foldedTerminals.filter((t) => t.type.kind === "JSX");
316
- if (jsxTerminals.length === 0) {
317
- emitLazyImportUnsupported(opts, filePath, usage.loc, refType);
318
- continue;
166
+ // Resolve the type to confirm it's a JSX component. Cross-file resolution
167
+ // works when resolveToGraphKey is present (graph keys are repo-relative).
168
+ const refType = resolveReference(graph, fileGraph, usage.ref);
169
+ const folded = walkWithFolding(graph, fileGraph, refType, argMap);
170
+ const jsxTerminals = folded.filter((t) => t.type.kind === "JSX");
171
+ if (jsxTerminals.length === 0)
172
+ return { kind: "resolved", value: refType };
173
+ // Determine the canonical source file + local export name. When the
174
+ // target is a re-export barrel (`export { X } from './source'`),
175
+ // follow the chain to the actual definition file so JSX edges
176
+ // attribute to the source rather than the barrel. Without
177
+ // this, two consumers importing the same component through different
178
+ // re-export paths fragment across phantom identities.
179
+ const chained = followReExportChain(graph, resolvedTarget, effectiveImported);
180
+ const canonicalFile = chained?.file ?? resolvedTarget;
181
+ let exportName = chained?.localExport ?? effectiveImported;
182
+ // When the re-export chain didn't follow (no chain present), still
183
+ // look up the local export name at the resolved target to match the
184
+ // local-index seed's hash convention.
185
+ if (!chained) {
186
+ const targetGraph = graph.files.get(resolvedTarget);
187
+ if (targetGraph && effectiveImported === "default") {
188
+ const defaultExp = targetGraph.exports.find((e) => e.kind === "default");
189
+ if (defaultExp && "local" in defaultExp) {
190
+ exportName = defaultExp.local;
191
+ }
319
192
  }
320
- const siblingFallback = workspaceSiblingFallback(graph, resolvedNormTarget, matchedImport, effectiveImported, fileGraph.dialect);
321
- const localFallback = siblingFallback !== undefined && siblingFallback.kind !== "custom-element"
322
- ? { ...siblingFallback, export: compoundExportName(siblingFallback.export, residual) }
323
- : siblingFallback;
324
- for (const ft of jsxTerminals) {
325
- pushOccurrence(occurrences, filePath, usage, matchedImport, compoundExportName(effectiveImported, residual), packageName, graph, fileGraph, ft, ownerRef, helperIndex, opts, localFallback, viaOverride);
193
+ else if (targetGraph) {
194
+ const namedExp = targetGraph.exports.find((e) => e.kind === "named" && "exportedAs" in e && e.exportedAs === effectiveImported && "local" in e);
195
+ if (namedExp && "local" in namedExp) {
196
+ exportName = namedExp.local;
197
+ }
326
198
  }
327
199
  }
328
- else {
329
- // Target not in graph. Workspace membership: a
330
- // resolved target owned by a workspace member is first-party — emit
331
- // LOCAL, pinned to the definition file (bounded re-export resolution)
332
- // so identity is scope-invariant between whole-repo and single-app
333
- // scans. Otherwise: external, trusting the JSX call site (external
334
- // package or unresolvable specifier — identity null →
335
- // matchedImport-based componentId). See `unparsedMemberDefinition`.
336
- const member = resolvedAbsTarget !== null
337
- ? unparsedMemberDefinition(graph, resolvedAbsTarget, effectiveImported)
338
- : null;
339
- const sentinelFt = { type: { kind: "JSX" }, viaTrail: [], identity: null };
340
- if (member !== null) {
341
- const localFallback = {
342
- kind: componentKindFor(fileGraph.dialect),
343
- export: compoundExportName(member.exportName, residual),
344
- source: { type: "local", filePath: member.absFile },
345
- };
346
- pushOccurrence(occurrences, filePath, usage, matchedImport, compoundExportName(effectiveImported, residual), packageName, graph, fileGraph, sentinelFt, ownerRef, helperIndex, opts, localFallback, viaOverride);
347
- }
348
- else {
349
- pushOccurrence(occurrences, filePath, usage, matchedImport, compoundExportName(effectiveImported, residual), packageName, graph, fileGraph, sentinelFt, ownerRef, helperIndex, opts, undefined, viaOverride);
350
- }
200
+ const outerVia = viaOverride ?? {
201
+ kind: "direct-import",
202
+ specifier: matchedImport.specifier,
203
+ import: matchedImport.imported,
204
+ };
205
+ const fallbackComponentId = {
206
+ kind: componentKindFor(fileGraph.dialect),
207
+ export: compoundExportName(exportName, residual),
208
+ source: { type: "local", filePath: canonicalFile },
209
+ };
210
+ const site = usageSite(filePath, usage);
211
+ const owners = usageOwners(graph, helperIndex, ownerRef, viaOverride, fileGraph.filePath);
212
+ const definition = holderDefinition(canonicalFile, exportName);
213
+ for (const ft of jsxTerminals) {
214
+ const rawComponentId = componentIdFromIdentity(ft.identity, fallbackComponentId, fileGraph.dialect, {
215
+ filePath,
216
+ resolveExternalLeaf: opts?.resolveExternalLeaf,
217
+ });
218
+ emitOccurrence(occurrences, site, rawComponentId, owners, viaOverride !== undefined ? [viaOverride] : [outerVia, ...ft.viaTrail], ft.identity === null ? definition : undefined);
219
+ }
220
+ return { kind: "resolved", value: refType };
221
+ }
222
+ // Check whether the import resolves to a local file that IS in the graph.
223
+ // If it does, resolve properly to avoid false positives (e.g. importing a
224
+ // utility function that happens to be named with a capital letter from a
225
+ // workspace sibling). For imports whose target is outside the graph
226
+ // (external packages in node_modules), trust the JSX call site directly.
227
+ const resolvedAbsTarget = graph.moduleResolver(filePath, matchedImport.specifier);
228
+ // Normalize absolute path → repo-relative graph key when possible.
229
+ const resolvedNormTarget = resolvedAbsTarget !== null && graph.resolveToGraphKey
230
+ ? (graph.resolveToGraphKey(resolvedAbsTarget) ?? resolvedAbsTarget)
231
+ : resolvedAbsTarget;
232
+ const targetInGraph = resolvedNormTarget !== null && graph.files.has(resolvedNormTarget);
233
+ if (targetInGraph) {
234
+ // Target file is in graph — workspace sibling. Resolve to check
235
+ // JSX type, fan out per terminal. The fallback identity is local so
236
+ // null-identity terminals still attribute to the sibling file rather
237
+ // than a phantom external stub. Terminal identities from deriveIdentity
238
+ // are already local when applicable (workspaceSiblingIdentity fires).
239
+ const refType = resolveReference(graph, fileGraph, usage.ref);
240
+ const foldedTerminals = walkWithFolding(graph, fileGraph, refType, argMap);
241
+ const jsxTerminals = foldedTerminals.filter((t) => t.type.kind === "JSX");
242
+ if (jsxTerminals.length === 0)
243
+ return { kind: "resolved", value: refType };
244
+ const siblingFallback = workspaceSiblingFallback(graph, resolvedNormTarget, matchedImport, effectiveImported, fileGraph.dialect);
245
+ const localFallback = siblingFallback !== undefined && siblingFallback.kind !== "custom-element"
246
+ ? { ...siblingFallback, export: compoundExportName(siblingFallback.export, residual) }
247
+ : siblingFallback;
248
+ const definition = siblingFallback !== undefined && siblingFallback.kind !== "custom-element" && siblingFallback.source.type === "local"
249
+ ? holderDefinition(siblingFallback.source.filePath, siblingFallback.export)
250
+ : undefined;
251
+ for (const ft of jsxTerminals) {
252
+ pushOccurrence(occurrences, filePath, usage, matchedImport, compoundExportName(effectiveImported, residual), packageName, graph, fileGraph, ft, ownerRef, helperIndex, opts, localFallback, viaOverride, ft.identity === null ? definition : undefined);
351
253
  }
352
- stampComposition(jsxLengthBefore, "jsx", usageIdx, jsxDepth, jsxParentUsageIdx);
254
+ return { kind: "resolved", value: refType };
255
+ }
256
+ // Target not in graph. Workspace membership: a
257
+ // resolved target owned by a workspace member is first-party — emit
258
+ // LOCAL, pinned to the definition file (bounded re-export resolution)
259
+ // so identity is scope-invariant between whole-repo and single-app
260
+ // scans. Otherwise: external, trusting the JSX call site (external
261
+ // package or unresolvable specifier — identity null →
262
+ // matchedImport-based componentId). See `unparsedMemberDefinition`.
263
+ const member = resolvedAbsTarget !== null
264
+ ? unparsedMemberDefinition(graph, resolvedAbsTarget, effectiveImported)
265
+ : null;
266
+ const sentinelFt = { type: { kind: "JSX" }, viaTrail: [], identity: null };
267
+ if (member !== null) {
268
+ const localFallback = {
269
+ kind: componentKindFor(fileGraph.dialect),
270
+ export: compoundExportName(member.exportName, residual),
271
+ source: { type: "local", filePath: member.absFile },
272
+ };
273
+ pushOccurrence(occurrences, filePath, usage, matchedImport, compoundExportName(effectiveImported, residual), packageName, graph, fileGraph, sentinelFt, ownerRef, helperIndex, opts, localFallback, viaOverride);
274
+ }
275
+ else {
276
+ pushOccurrence(occurrences, filePath, usage, matchedImport, compoundExportName(effectiveImported, residual), packageName, graph, fileGraph, sentinelFt, ownerRef, helperIndex, opts, undefined, viaOverride);
277
+ }
278
+ return { kind: "resolved", value: null };
279
+ };
280
+ for (const [filePath, fileGraph] of graph.files) {
281
+ for (let usageIdx = 0; usageIdx < fileGraph.jsxUsages.length; usageIdx++) {
282
+ const usage = fileGraph.jsxUsages[usageIdx];
283
+ if (!usage)
284
+ continue;
285
+ const ownership = fileGraph.ownership[usageIdx];
286
+ const lengthBefore = occurrences.length;
287
+ const outcome = pushJsxUsageOccurrences(filePath, fileGraph, usage, ownership);
288
+ const admitted = stampComposition(lengthBefore, "jsx", usageIdx, ownership?.depth ?? 0, ownership?.parentUsageIdx);
289
+ if (admitted === 0)
290
+ reportDroppedRender(opts, filePath, fileGraph.dialect, usage, outcome);
353
291
  }
354
292
  // Tag-usage resolution (Vue auto-imports, Lit tag-only references, HTML).
355
293
  for (let i = 0; i < fileGraph.tagUsages.length; i++) {
@@ -470,10 +408,7 @@ export function resolve(graph, opts) {
470
408
  loc: { line: 0, column: 0 },
471
409
  originFile: filePath,
472
410
  };
473
- const owners = () => resolveOwnerChain(ownerRef, graph, helperIndex, createCycleGuard()).map((res) => ({
474
- rawOwnerComponentId: ownerIdFromResolution(graph, res.ownerDecl),
475
- viaPrefix: res.viaPrefix,
476
- }));
411
+ const owners = () => chainOwners(graph, helperIndex, ownerRef);
477
412
  const lengthBefore = occurrences.length;
478
413
  pushCallArgumentOccurrences(occurrences, filePath, call, owners, graph, fileGraph, argMap, opts);
479
414
  compactSlice(lengthBefore);
@@ -696,29 +631,65 @@ effectiveImported, consumerDialect) {
696
631
  };
697
632
  }
698
633
  /**
699
- * Derive the `wraps` cross-link for a given component identity by calling the
700
- * optional `wrapCallback`. Only fires for external react-component identities —
701
- * local components are user-written code, not wrappers. Returns undefined when
702
- * the callback is absent, returns null, or the identity is not an external
703
- * react-component.
634
+ * THE occurrence constructor: one occurrence per owner, `viaChain` being the
635
+ * owner's prefix followed by `chain`. Every emission path calls it; never
636
+ * build an `EngineOccurrence` literal anywhere else. The `occurrenceId` it
637
+ * computes is provisional, keyed on the serialised componentId; scan.ts
638
+ * re-derives it from the hashed componentId.
704
639
  */
705
- function computeWraps(rawComponentId, wrapCallback) {
706
- if (wrapCallback === undefined ||
707
- rawComponentId.kind !== "react-component" ||
708
- rawComponentId.source.type !== "external") {
709
- return undefined;
640
+ function emitOccurrence(occurrences, site, rawComponentId, owners, chain, definition) {
641
+ const provisionalId = serialiseComponentId(rawComponentId);
642
+ for (const { rawOwnerComponentId, viaPrefix } of owners) {
643
+ const viaChain = [...viaPrefix, ...chain];
644
+ occurrences.push({
645
+ rawComponentId,
646
+ filePath: site.filePath,
647
+ line: site.line,
648
+ column: site.column,
649
+ via: viaChain[0] ?? chain[0],
650
+ viaChain,
651
+ props: site.props,
652
+ events: site.events,
653
+ occurrenceId: computeOccurrenceId(provisionalId, site.filePath, site.line, site.column, rawOwnerComponentId !== undefined ? serialiseComponentId(rawOwnerComponentId) : undefined),
654
+ depth: 0,
655
+ ...(definition !== undefined ? { definition } : {}),
656
+ ...(rawOwnerComponentId !== undefined ? { rawOwnerComponentId } : {}),
657
+ });
710
658
  }
711
- const hit = wrapCallback(rawComponentId.source.package, rawComponentId.export);
712
- if (!hit)
713
- return undefined;
714
- return { kind: "custom-element", tagName: hit.tagName, packageName: hit.packageName };
659
+ }
660
+ function usageSite(filePath, usage) {
661
+ return {
662
+ filePath,
663
+ line: usage.loc.line,
664
+ column: usage.loc.column,
665
+ props: projectPropUsages(usage.props),
666
+ events: usage.events ?? [],
667
+ };
668
+ }
669
+ /** The owner chain of `ownerRef`, one owner per resolution with its `helper-call` prefix. */
670
+ function chainOwners(graph, helperIndex, ownerRef) {
671
+ return resolveOwnerChain(ownerRef, graph, helperIndex, createCycleGuard()).map((res) => ({
672
+ rawOwnerComponentId: ownerIdFromResolution(graph, res.ownerDecl),
673
+ viaPrefix: res.viaPrefix,
674
+ }));
675
+ }
676
+ /**
677
+ * Owners of a JSX usage. A `viaOverride` means the parser pre-decided the
678
+ * owner (prop-forward): one owner, no prefix. Otherwise the owner chain fans
679
+ * out, each resolution contributing its `helper-call` prefix.
680
+ */
681
+ function usageOwners(graph, helperIndex, ownerRef, viaOverride, fallbackFile) {
682
+ if (viaOverride !== undefined) {
683
+ return [{ rawOwnerComponentId: ownerIdFromRef(graph, ownerRef, fallbackFile), viaPrefix: [] }];
684
+ }
685
+ return chainOwners(graph, helperIndex, ownerRef);
715
686
  }
716
687
  function pushOccurrence(occurrences, filePath, usage, matchedImport,
717
688
  /** Export name for the fallback identity — the root export resolved via
718
689
  * `effectiveExportName` joined with the residual member chain via
719
690
  * `compoundExportName`. Distinct from `matchedImport.imported`,
720
691
  * which stays raw for `via` provenance. */
721
- effectiveImported, packageName, graph, fileGraph, ft, ownerRef, helperIndex, opts, fallbackOverride, viaOverride) {
692
+ effectiveImported, packageName, graph, fileGraph, ft, ownerRef, helperIndex, opts, fallbackOverride, viaOverride, definition) {
722
693
  const fallback = fallbackOverride ?? {
723
694
  kind: componentKindFor(fileGraph.dialect),
724
695
  export: effectiveImported,
@@ -729,81 +700,55 @@ effectiveImported, packageName, graph, fileGraph, ft, ownerRef, helperIndex, opt
729
700
  fallbackSpecifier: matchedImport.specifier,
730
701
  resolveExternalLeaf: opts?.resolveExternalLeaf,
731
702
  });
732
- // Derive wraps cross-link for external react-component occurrences.
733
- // wrapCallback only fires for external packages — local react-components are
734
- // user-written, not wrappers. Does NOT affect rawComponentId or hashing.
735
- const wraps = computeWraps(rawComponentId, opts?.wrapCallback);
736
703
  const outerVia = viaOverride ?? {
737
704
  kind: "direct-import",
738
705
  specifier: matchedImport.specifier,
739
706
  import: matchedImport.imported,
740
707
  };
741
- if (viaOverride !== undefined) {
742
- // Prop-forward: parser has pre-decided the owner — single-occurrence path.
743
- const rawOwnerComponentId = ownerIdFromRef(graph, ownerRef, filePath);
744
- const viaChain = [viaOverride];
745
- const provisionalId = serialiseComponentId(rawComponentId);
746
- const occurrenceId = computeOccurrenceId(provisionalId, filePath, usage.loc.line, usage.loc.column, rawOwnerComponentId !== undefined ? serialiseComponentId(rawOwnerComponentId) : undefined);
747
- occurrences.push({
748
- rawComponentId,
749
- filePath,
750
- line: usage.loc.line,
751
- column: usage.loc.column,
752
- via: viaChain[0] ?? outerVia,
753
- viaChain,
754
- props: projectPropUsages(usage.props),
755
- events: usage.events ?? [],
756
- occurrenceId,
757
- depth: 0,
758
- ...(rawOwnerComponentId !== undefined ? { rawOwnerComponentId } : {}),
759
- ...(wraps !== undefined ? { wraps } : {}),
760
- });
761
- return;
762
- }
763
- // Helper-call fanout: resolve owner chain and emit per resolution.
764
- const ownerResolutions = resolveOwnerChain(ownerRef, graph, helperIndex, createCycleGuard());
765
- for (const res of ownerResolutions) {
766
- const rawOwnerComponentId = ownerIdFromResolution(graph, res.ownerDecl);
767
- const viaChain = [...res.viaPrefix, outerVia, ...ft.viaTrail];
768
- // Provisional occurrenceId keyed on the serialised (human-readable) form.
769
- // Scan.ts re-derives the final occurrenceId using the hashed componentId.
770
- const provisionalId = serialiseComponentId(rawComponentId);
771
- const occurrenceId = computeOccurrenceId(provisionalId, filePath, usage.loc.line, usage.loc.column, rawOwnerComponentId !== undefined ? serialiseComponentId(rawOwnerComponentId) : undefined);
772
- occurrences.push({
773
- rawComponentId,
774
- filePath,
775
- line: usage.loc.line,
776
- column: usage.loc.column,
777
- via: viaChain[0] ?? outerVia,
778
- viaChain,
779
- props: projectPropUsages(usage.props),
780
- events: usage.events ?? [],
781
- occurrenceId,
782
- depth: 0,
783
- ...(rawOwnerComponentId !== undefined ? { rawOwnerComponentId } : {}),
784
- ...(wraps !== undefined ? { wraps } : {}),
785
- });
786
- }
708
+ emitOccurrence(occurrences, usageSite(filePath, usage), rawComponentId, usageOwners(graph, helperIndex, ownerRef, viaOverride, filePath), viaOverride !== undefined ? [viaOverride] : [outerVia, ...ft.viaTrail], definition);
787
709
  }
788
710
  /**
789
- * A fold that reached no JSX while an import() sits in the walked value is a
790
- * lazy shape the pipeline could not resolve to a component: a `.then` callback
791
- * that does more than pick a property, or a target whose component shape could
792
- * not be confirmed. Report it at the render site so the miss is visible, and
793
- * name the file the `import()` is declared in when that is not the render file.
711
+ * The one reporter for a JSX usage that produced no occurrence. A host-element
712
+ * root reports nothing. A failed import is `unresolved-import`. A walked value
713
+ * holding an `import()` is `lazy-import-unsupported`, naming the file the
714
+ * `import()` is declared in when that is not the render file. Anything else is
715
+ * `unresolved-reference`, except for a resolved Vue-dialect usage (#621).
794
716
  */
795
- function emitLazyImportUnsupported(opts, filePath, loc, value) {
796
- const di = opts?.collector ? firstDynamicImport(value) : null;
797
- if (!di)
717
+ function reportDroppedRender(opts, filePath, dialect, usage, outcome) {
718
+ const collector = opts?.collector;
719
+ if (collector === undefined)
798
720
  return;
799
- opts?.collector?.emit({
800
- code: "lazy-import-unsupported",
801
- severity: "warning",
802
- filePath,
803
- line: loc.line,
804
- column: loc.column,
805
- specifier: di.specifier,
806
- detail: `the import() target could not be resolved to a component${di.originFile === filePath ? "" : ` (declared in ${di.originFile})`}`,
721
+ if (isHostElementRoot(usage.ref))
722
+ return;
723
+ const at = { filePath, line: usage.loc.line, column: usage.loc.column };
724
+ if (outcome.kind === "import-failed") {
725
+ collector.emit({ code: "unresolved-import", severity: "warning", ...at, specifier: outcome.specifier });
726
+ return;
727
+ }
728
+ if (outcome.kind === "resolved") {
729
+ // An import() in the walked value is a lazy shape the pipeline could not
730
+ // resolve to a component: a `.then` callback that does more than pick a
731
+ // property, or a target whose component shape could not be confirmed.
732
+ const di = outcome.value === null ? null : firstDynamicImport(outcome.value);
733
+ if (di) {
734
+ collector.emit({
735
+ code: "lazy-import-unsupported",
736
+ severity: "warning",
737
+ ...at,
738
+ specifier: di.specifier,
739
+ detail: `the import() target could not be resolved to a component${di.originFile === filePath ? "" : ` (declared in ${di.originFile})`}`,
740
+ });
741
+ return;
742
+ }
743
+ if (dialect !== "react")
744
+ return;
745
+ }
746
+ collector.emit({
747
+ code: "unresolved-reference",
748
+ severity: "info",
749
+ ...at,
750
+ symbol: usage.ref.symbol,
751
+ memberChain: [...usage.ref.memberChain],
807
752
  });
808
753
  }
809
754
  /**
@@ -819,80 +764,25 @@ function pushLocalOccurrence(occurrences, filePath, usage, decl, graph, fileGrap
819
764
  const value = usage.ref.memberChain.length > 0 ? resolveReference(graph, fileGraph, usage.ref) : decl.value;
820
765
  const folded = walkWithFolding(graph, fileGraph, value, argMap);
821
766
  const jsxTerminals = folded.filter((t) => t.type.kind === "JSX");
822
- // A reference that resolves to no JSX terminal — a function parameter
823
- // (`<Component/>` inside a factory body), a hook-return destructure, or an
824
- // unresolvable alias — emits no occurrence.
825
- if (jsxTerminals.length === 0) {
826
- emitLazyImportUnsupported(opts, filePath, usage.loc, value);
827
- return;
828
- }
767
+ if (jsxTerminals.length === 0)
768
+ return value;
829
769
  const outerVia = viaOverride ?? { kind: "local-component" };
830
- if (viaOverride !== undefined) {
831
- // Prop-forward: parser has pre-decided the owner — single-occurrence path.
832
- const rawOwnerComponentId = ownerIdFromRef(graph, ownerRef, fileGraph.filePath);
833
- for (const ft of jsxTerminals) {
834
- const fallback = {
835
- kind: componentKindFor(fileGraph.dialect),
836
- export: compoundExportName(usage.ref.symbol, usage.ref.memberChain),
837
- source: { type: "local", filePath },
838
- };
839
- const rawComponentId = componentIdFromIdentity(ft.identity, fallback, fileGraph.dialect, {
840
- filePath,
841
- resolveExternalLeaf: opts?.resolveExternalLeaf,
842
- });
843
- const viaChain = [viaOverride];
844
- const provisionalId = serialiseComponentId(rawComponentId);
845
- const occurrenceId = computeOccurrenceId(provisionalId, filePath, usage.loc.line, usage.loc.column, rawOwnerComponentId !== undefined ? serialiseComponentId(rawOwnerComponentId) : undefined);
846
- occurrences.push({
847
- rawComponentId,
848
- filePath,
849
- line: usage.loc.line,
850
- column: usage.loc.column,
851
- via: viaChain[0] ?? outerVia,
852
- viaChain,
853
- props: projectPropUsages(usage.props),
854
- events: usage.events ?? [],
855
- occurrenceId,
856
- depth: 0,
857
- definition: { line: decl.loc.line, column: decl.loc.column },
858
- ...(rawOwnerComponentId !== undefined ? { rawOwnerComponentId } : {}),
859
- });
860
- }
861
- return;
862
- }
863
- // Helper-call fanout: resolve owner chain and emit per (terminal × resolution).
864
- const ownerResolutions = resolveOwnerChain(ownerRef, graph, helperIndex, createCycleGuard());
770
+ const site = usageSite(filePath, usage);
771
+ const owners = usageOwners(graph, helperIndex, ownerRef, viaOverride, fileGraph.filePath);
772
+ const fallback = {
773
+ kind: componentKindFor(fileGraph.dialect),
774
+ export: compoundExportName(usage.ref.symbol, usage.ref.memberChain),
775
+ source: { type: "local", filePath },
776
+ };
777
+ const definition = { line: decl.loc.line, column: decl.loc.column };
865
778
  for (const ft of jsxTerminals) {
866
- const fallback = {
867
- kind: componentKindFor(fileGraph.dialect),
868
- export: compoundExportName(usage.ref.symbol, usage.ref.memberChain),
869
- source: { type: "local", filePath },
870
- };
871
779
  const rawComponentId = componentIdFromIdentity(ft.identity, fallback, fileGraph.dialect, {
872
780
  filePath,
873
781
  resolveExternalLeaf: opts?.resolveExternalLeaf,
874
782
  });
875
- for (const res of ownerResolutions) {
876
- const rawOwnerComponentId = ownerIdFromResolution(graph, res.ownerDecl);
877
- const viaChain = [...res.viaPrefix, outerVia, ...ft.viaTrail];
878
- const provisionalId = serialiseComponentId(rawComponentId);
879
- const occurrenceId = computeOccurrenceId(provisionalId, filePath, usage.loc.line, usage.loc.column, rawOwnerComponentId !== undefined ? serialiseComponentId(rawOwnerComponentId) : undefined);
880
- occurrences.push({
881
- rawComponentId,
882
- filePath,
883
- line: usage.loc.line,
884
- column: usage.loc.column,
885
- via: viaChain[0] ?? outerVia,
886
- viaChain,
887
- props: projectPropUsages(usage.props),
888
- events: usage.events ?? [],
889
- occurrenceId,
890
- depth: 0,
891
- definition: { line: decl.loc.line, column: decl.loc.column },
892
- ...(rawOwnerComponentId !== undefined ? { rawOwnerComponentId } : {}),
893
- });
894
- }
783
+ emitOccurrence(occurrences, site, rawComponentId, owners, viaOverride !== undefined ? [viaOverride] : [outerVia, ...ft.viaTrail], ft.identity === null ? definition : undefined);
895
784
  }
785
+ return value;
896
786
  }
897
787
  /**
898
788
  * A holder is folded away iff its fold reaches JSX and EVERY JSX
@@ -1028,27 +918,8 @@ function pushCallArgumentOccurrences(occurrences, filePath, call, owners, graph,
1028
918
  filePath,
1029
919
  resolveExternalLeaf: opts?.resolveExternalLeaf,
1030
920
  });
1031
- const wraps = computeWraps(rawComponentId, opts?.wrapCallback);
1032
921
  resolvedOwners ??= owners();
1033
- for (const { rawOwnerComponentId, viaPrefix } of resolvedOwners) {
1034
- const viaChain = [...viaPrefix, outerVia, ...hops, ...ft.viaTrail];
1035
- const occurrenceId = computeOccurrenceId(serialiseComponentId(rawComponentId), filePath, arg.ref.loc.line, arg.ref.loc.column, rawOwnerComponentId !== undefined ? serialiseComponentId(rawOwnerComponentId) : undefined);
1036
- occurrences.push({
1037
- rawComponentId,
1038
- filePath,
1039
- line: arg.ref.loc.line,
1040
- column: arg.ref.loc.column,
1041
- via: viaChain[0] ?? outerVia,
1042
- viaChain,
1043
- props: {},
1044
- events: [],
1045
- occurrenceId,
1046
- depth: 0,
1047
- ...(argDecl !== null ? { definition: { line: argDecl.loc.line, column: argDecl.loc.column } } : {}),
1048
- ...(rawOwnerComponentId !== undefined ? { rawOwnerComponentId } : {}),
1049
- ...(wraps !== undefined ? { wraps } : {}),
1050
- });
1051
- }
922
+ emitOccurrence(occurrences, { filePath, line: arg.ref.loc.line, column: arg.ref.loc.column, props: {}, events: [] }, rawComponentId, resolvedOwners, [outerVia, ...hops, ...ft.viaTrail], argDecl !== null ? { line: argDecl.loc.line, column: argDecl.loc.column } : undefined);
1052
923
  }
1053
924
  };
1054
925
  const seedArguments = (site, siteDepth) => {
@@ -1098,27 +969,10 @@ function findTagOwnership(ownership, usageIdx) {
1098
969
  */
1099
970
  function pushTagOccurrence(occurrences, filePath, usage, rawComponentId, ownerRef, viaOverride, graph, helperIndex) {
1100
971
  const via = viaOverride ?? { kind: "html-tag" };
1101
- // Owner-chain fanout uses the same machinery as JsxUsage.
1102
- const ownerResolutions = resolveOwnerChain(ownerRef, graph, helperIndex, createCycleGuard());
1103
- for (const res of ownerResolutions) {
1104
- const rawOwnerComponentId = ownerIdFromResolution(graph, res.ownerDecl);
1105
- const viaChain = [...res.viaPrefix, via];
1106
- const provisionalId = serialiseComponentId(rawComponentId);
1107
- const occurrenceId = computeOccurrenceId(provisionalId, filePath, usage.loc.line, usage.loc.column, rawOwnerComponentId !== undefined ? serialiseComponentId(rawOwnerComponentId) : undefined);
1108
- occurrences.push({
1109
- rawComponentId,
1110
- filePath,
1111
- line: usage.loc.line,
1112
- column: usage.loc.column,
1113
- via: viaChain[0] ?? via,
1114
- viaChain,
1115
- props: projectPropUsages(usage.props),
1116
- events: usage.events ?? [],
1117
- occurrenceId,
1118
- depth: 0,
1119
- ...(rawOwnerComponentId !== undefined ? { rawOwnerComponentId } : {}),
1120
- });
1121
- }
972
+ // Owner-chain fanout uses the same machinery as JsxUsage, a `viaOverride`
973
+ // notwithstanding.
974
+ const owners = chainOwners(graph, helperIndex, ownerRef);
975
+ emitOccurrence(occurrences, usageSite(filePath, usage), rawComponentId, owners, [via]);
1122
976
  }
1123
977
  /**
1124
978
  * Decide the `kind` for a JSX-emitted ComponentId. A concrete
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/engine/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAC9I,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAoB,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,cAAc,EAA8C,MAAM,sBAAsB,CAAC;AACvI,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAA8B,MAAM,qBAAqB,CAAC;AAC3G,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC9H,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,QAAQ,EAA6C,MAAM,eAAe,CAAC;AAC3J,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AA2H1D;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,GAAc;IACvC,OAAO,GAAG,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,KAAY,EAAE,IAAkB;IACtD,MAAM,WAAW,GAAuB,EAAE,CAAC;IAC3C,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;IACnC,yDAAyD;IACzD,mEAAmE;IACnE,2EAA2E;IAC3E,8CAA8C;IAC9C,MAAM,QAAQ,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;IAExF,2CAA2C;IAC3C,wEAAwE;IACxE,yEAAyE;IACzE,wEAAwE;IACxE,wEAAwE;IACxE,0EAA0E;IAC1E,0EAA0E;IAC1E,4EAA4E;IAC5E,aAAa;IACb,EAAE;IACF,yDAAyD;IACzD,yEAAyE;IACzE,yEAAyE;IACzE,+DAA+D;IAC/D,qEAAqE;IACrE,sEAAsE;IACtE,0EAA0E;IAC1E,qCAAqC;IACrC,MAAM,QAAQ,GAAG,0BAA0B,CAAC;IAC5C,MAAM,OAAO,GAAG,aAAa,CAAC;IAC9B,MAAM,KAAK,GAAG,CAAC,EAAe,EAAW,EAAE;QACzC,IAAI,EAAE,CAAC,IAAI,KAAK,iBAAiB,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO,IAAI,CAAC;QAC7E,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC;QAC/B,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,SAAS,KAAK,SAAS;YAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvF,IAAI,SAAS,CAAC,OAAO,KAAK,KAAK;YAAE,OAAO,IAAI,CAAC;QAC7C,OAAO,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IACzD,CAAC,CAAC;IAEF,8EAA8E;IAC9E,4EAA4E;IAC5E,4EAA4E;IAC5E,0EAA0E;IAC1E,4EAA4E;IAC5E,wEAAwE;IACxE,wEAAwE;IACxE,wEAAwE;IACxE,MAAM,WAAW,GAEb,EAAE,CAAC;IAEP,iEAAiE;IACjE,sEAAsE;IACtE,0EAA0E;IAC1E,sEAAsE;IACtE,iDAAiD;IACjD,EAAE;IACF,qEAAqE;IACrE,yEAAyE;IACzE,0EAA0E;IAC1E,0EAA0E;IAC1E,oEAAoE;IACpE,sEAAsE;IACtE,4EAA4E;IAC5E,yEAAyE;IACzE,kEAAkE;IAClE,4EAA4E;IAC5E,uDAAuD;IACvD,oEAAoE;IACpE,0EAA0E;IAC1E,2EAA2E;IAC3E,aAAa;IACb,MAAM,YAAY,GAAG,CAAC,YAAoB,EAAQ,EAAE;QAClD,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC5C,IAAI,KAAK,GAAG,YAAY,CAAC;QACzB,KAAK,IAAI,IAAI,GAAG,YAAY,EAAE,IAAI,GAAG,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;YAChE,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,GAAG,KAAK,SAAS;gBAAE,SAAS;YAChC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC;gBAAE,SAAS;YACzC,IAAI,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC;gBAAE,SAAS;YACtD,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YACxC,WAAW,CAAC,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC;QAC7B,CAAC;QACD,WAAW,CAAC,MAAM,GAAG,KAAK,CAAC;IAC7B,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,CACvB,YAAoB,EACpB,IAAe,EACf,YAAoB,EACpB,KAAa,EACb,cAAkC,EAC5B,EAAE;QACR,YAAY,CAAC,YAAY,CAAC,CAAC;QAE3B,KAAK,IAAI,CAAC,GAAG,YAAY,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvD,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAC3B,IAAI,CAAC,GAAG;gBAAE,SAAS;YACnB,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;YAClB,WAAW,CAAC,CAAC,CAAC,GAAG,cAAc,KAAK,SAAS;gBAC3C,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE;gBACxC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC;IAEF,KAAK,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAChD,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC;YACzE,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAC5C,IAAI,CAAC,KAAK;gBAAE,SAAS;YAErB,yEAAyE;YACzE,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,cAAc,IAAI,IAAI,CAAC;YACvE,MAAM,WAAW,GAAG,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC;YAC/D,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;YAC3D,MAAM,iBAAiB,GAAG,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC;YACxE,MAAM,eAAe,GAAG,WAAW,CAAC,MAAM,CAAC;YAE3C,0EAA0E;YAC1E,sEAAsE;YACtE,iEAAiE;YACjE,MAAM,aAAa,GAAG,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAErE,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,gEAAgE;gBAChE,MAAM,IAAI,GAAG,oBAAoB,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;gBACxD,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;wBAClC,kEAAkE;wBAClE,8CAA8C;wBAC9C,8DAA8D;wBAC9D,wDAAwD;wBACxD,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC;4BACpB,IAAI,EAAE,sBAAsB;4BAC5B,QAAQ,EAAE,MAAM;4BAChB,QAAQ;4BACR,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI;4BACpB,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM;4BACxB,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM;4BACxB,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC;yBACxC,CAAC,CAAC;oBACL,CAAC;oBACD,SAAS;gBACX,CAAC;gBAED,mBAAmB,CACjB,WAAW,EACX,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,KAAK,EACL,SAAS,EACT,MAAM,EACN,QAAQ,EACR,WAAW,EACX,IAAI,EACJ,WAAW,CACZ,CAAC;gBACF,gBAAgB,CAAC,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;gBAChF,SAAS;YACX,CAAC;YAED,MAAM,WAAW,GAAG,wBAAwB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YACtE,yEAAyE;YACzE,uEAAuE;YACvE,kEAAkE;YAClE,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC7F,2DAA2D;YAC3D,sEAAsE;YACtE,sEAAsE;YACtE,yEAAyE;YACzE,MAAM,QAAQ,GAAG,mBAAmB,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACpF,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,iEAAiE;gBACjE,4EAA4E;gBAC5E,MAAM,iBAAiB,GAAG,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;gBAClF,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACvB,gEAAgE;oBAChE,+CAA+C;oBAC/C,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC;wBACpB,IAAI,EAAE,mBAAmB;wBACzB,QAAQ,EAAE,SAAS;wBACnB,QAAQ;wBACR,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI;wBACpB,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM;wBACxB,SAAS,EAAE,aAAa,CAAC,SAAS;qBACnC,CAAC,CAAC;oBACH,SAAS;gBACX,CAAC;gBAED,MAAM,cAAc,GAAG,KAAK,CAAC,iBAAiB;oBAC5C,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,iBAAiB,CAAC;oBACnE,CAAC,CAAC,iBAAiB,CAAC;gBAEtB,0EAA0E;gBAC1E,0EAA0E;gBAC1E,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC9D,MAAM,MAAM,GAAqB,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;gBACpF,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;gBACjE,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC9B,yBAAyB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;oBAC9D,SAAS;gBACX,CAAC;gBAED,oEAAoE;gBACpE,iEAAiE;gBACjE,8DAA8D;gBAC9D,0DAA0D;gBAC1D,qEAAqE;gBACrE,sDAAsD;gBACtD,MAAM,OAAO,GAAG,mBAAmB,CAAC,KAAK,EAAE,cAAc,EAAE,iBAAiB,CAAC,CAAC;gBAC9E,MAAM,aAAa,GAAG,OAAO,EAAE,IAAI,IAAI,cAAc,CAAC;gBACtD,IAAI,UAAU,GAAG,OAAO,EAAE,WAAW,IAAI,iBAAiB,CAAC;gBAC3D,mEAAmE;gBACnE,oEAAoE;gBACpE,sCAAsC;gBACtC,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;oBACpD,IAAI,WAAW,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;wBACnD,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;wBACzE,IAAI,UAAU,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;4BACxC,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC;wBAChC,CAAC;oBACH,CAAC;yBAAM,IAAI,WAAW,EAAE,CAAC;wBACvB,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CACvC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,YAAY,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,iBAAiB,IAAI,OAAO,IAAI,CAAC,CACrG,CAAC;wBACF,IAAI,QAAQ,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;4BACpC,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC;wBAC9B,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,MAAM,QAAQ,GAAkB,WAAW,IAAI;oBAC7C,IAAI,EAAE,eAAe;oBACrB,SAAS,EAAE,aAAa,CAAC,SAAS;oBAClC,MAAM,EAAE,aAAa,CAAC,QAAQ;iBAC/B,CAAC;gBACF,MAAM,mBAAmB,GAAgB;oBACvC,IAAI,EAAE,gBAAgB,CAAC,SAAS,CAAC,OAAO,CAAC;oBACzC,MAAM,EAAE,kBAAkB,CAAC,UAAU,EAAE,QAAQ,CAAC;oBAChD,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE;iBACnD,CAAC;gBAEF,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;oBAC9B,2EAA2E;oBAC3E,MAAM,mBAAmB,GAAG,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;oBAChF,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;wBAC9B,MAAM,cAAc,GAAG,uBAAuB,CAAC,EAAE,CAAC,QAAQ,EAAE,mBAAmB,EAAE,SAAS,CAAC,OAAO,EAAE;4BAClG,QAAQ;4BACR,mBAAmB,EAAE,IAAI,EAAE,mBAAmB;yBAC/C,CAAC,CAAC;wBACH,MAAM,QAAQ,GAAoB,CAAC,WAAW,CAAC,CAAC;wBAChD,MAAM,aAAa,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC;wBAC3D,MAAM,YAAY,GAAG,mBAAmB,CACtC,aAAa,EACb,QAAQ,EACR,KAAK,CAAC,GAAG,CAAC,IAAI,EACd,KAAK,CAAC,GAAG,CAAC,MAAM,EAChB,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,CAC1F,CAAC;wBACF,WAAW,CAAC,IAAI,CAAC;4BACf,cAAc;4BACd,QAAQ;4BACR,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI;4BACpB,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM;4BACxB,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ;4BAC5B,QAAQ;4BACR,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC;4BACrC,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE;4BAC1B,YAAY;4BACZ,KAAK,EAAE,CAAC;4BACR,GAAG,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;yBACtE,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,gFAAgF;oBAChF,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,CAAC;oBAC7F,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;wBAC9B,MAAM,cAAc,GAAG,uBAAuB,CAAC,EAAE,CAAC,QAAQ,EAAE,mBAAmB,EAAE,SAAS,CAAC,OAAO,EAAE;4BAClG,QAAQ;4BACR,mBAAmB,EAAE,IAAI,EAAE,mBAAmB;yBAC/C,CAAC,CAAC;wBACH,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;4BACnC,MAAM,mBAAmB,GAAG,qBAAqB,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;4BACxE,MAAM,QAAQ,GAAoB,CAAC,GAAG,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC;4BAC/E,MAAM,aAAa,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC;4BAC3D,MAAM,YAAY,GAAG,mBAAmB,CACtC,aAAa,EACb,QAAQ,EACR,KAAK,CAAC,GAAG,CAAC,IAAI,EACd,KAAK,CAAC,GAAG,CAAC,MAAM,EAChB,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,CAC1F,CAAC;4BACF,WAAW,CAAC,IAAI,CAAC;gCACf,cAAc;gCACd,QAAQ;gCACR,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI;gCACpB,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM;gCACxB,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ;gCAC5B,QAAQ;gCACR,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC;gCACrC,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE;gCAC1B,YAAY;gCACZ,KAAK,EAAE,CAAC;gCACR,GAAG,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;6BACtE,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,gBAAgB,CAAC,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;gBAChF,SAAS;YACX,CAAC;YAED,0EAA0E;YAC1E,0EAA0E;YAC1E,yEAAyE;YACzE,oEAAoE;YACpE,yEAAyE;YACzE,MAAM,iBAAiB,GAAG,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;YAClF,mEAAmE;YACnE,MAAM,kBAAkB,GAAG,iBAAiB,KAAK,IAAI,IAAI,KAAK,CAAC,iBAAiB;gBAC9E,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,iBAAiB,CAAC;gBACnE,CAAC,CAAC,iBAAiB,CAAC;YACtB,MAAM,aAAa,GAAG,kBAAkB,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YAEzF,IAAI,aAAa,EAAE,CAAC;gBAClB,gEAAgE;gBAChE,oEAAoE;gBACpE,qEAAqE;gBACrE,wEAAwE;gBACxE,sEAAsE;gBACtE,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC9D,MAAM,eAAe,GAAqB,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC7F,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;gBAC1E,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC9B,yBAAyB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;oBAC9D,SAAS;gBACX,CAAC;gBACD,MAAM,eAAe,GAAG,wBAAwB,CAAC,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,iBAAiB,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;gBACjI,MAAM,aAAa,GACjB,eAAe,KAAK,SAAS,IAAI,eAAe,CAAC,IAAI,KAAK,gBAAgB;oBACxE,CAAC,CAAC,EAAE,GAAG,eAAe,EAAE,MAAM,EAAE,kBAAkB,CAAC,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE;oBACtF,CAAC,CAAC,eAAe,CAAC;gBACtB,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;oBAC9B,cAAc,CAAC,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,kBAAkB,CAAC,iBAAiB,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;gBAC3M,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,+CAA+C;gBAC/C,oEAAoE;gBACpE,sEAAsE;gBACtE,mEAAmE;gBACnE,mEAAmE;gBACnE,sDAAsD;gBACtD,oEAAoE;gBACpE,MAAM,MAAM,GACV,iBAAiB,KAAK,IAAI;oBACxB,CAAC,CAAC,wBAAwB,CAAC,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,CAAC;oBACvE,CAAC,CAAC,IAAI,CAAC;gBACX,MAAM,UAAU,GAAmB,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;gBAC3F,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;oBACpB,MAAM,aAAa,GAAgB;wBACjC,IAAI,EAAE,gBAAgB,CAAC,SAAS,CAAC,OAAO,CAAC;wBACzC,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC;wBACvD,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE;qBACpD,CAAC;oBACF,cAAc,CAAC,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,kBAAkB,CAAC,iBAAiB,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;gBACnN,CAAC;qBAAM,CAAC;oBACN,cAAc,CAAC,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,kBAAkB,CAAC,iBAAiB,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;gBAC/M,CAAC;YACH,CAAC;YACD,gBAAgB,CAAC,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QAClF,CAAC;QAED,0EAA0E;QAC1E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpD,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACrC,IAAI,CAAC,KAAK;gBAAE,SAAS;YAErB,MAAM,cAAc,GAAG,gBAAgB,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YAChE,MAAM,QAAQ,GAAG,cAAc,EAAE,cAAc,IAAI,IAAI,CAAC;YACxD,MAAM,WAAW,GAAG,cAAc,EAAE,WAAW,CAAC;YAChD,MAAM,QAAQ,GAAG,cAAc,EAAE,KAAK,IAAI,CAAC,CAAC;YAC5C,MAAM,iBAAiB,GAAG,cAAc,EAAE,cAAc,CAAC;YACzD,MAAM,eAAe,GAAG,WAAW,CAAC,MAAM,CAAC;YAE3C,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,EAAE,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC9D,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,cAAc,GAAgB;oBAClC,IAAI,EAAE,gBAAgB;oBACtB,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC;oBACjC,MAAM,EAAE,QAAQ,CAAC,UAAU;wBACzB,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE;wBACtF,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,WAAW,EAAE;iBACxD,CAAC;gBACF,iBAAiB,CACf,WAAW,EACX,QAAQ,EACR,KAAK,EACL,cAAc,EACd,QAAQ,EACR,WAAW,EACX,KAAK,EACL,WAAW,CACZ,CAAC;gBACF,gBAAgB,CAAC,eAAe,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;gBACzE,SAAS;YACX,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACxD,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,cAAc,GAAgB;oBAClC,IAAI,EAAE,gBAAgB;oBACtB,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC;oBACjC,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE;iBAClF,CAAC;gBACF,iBAAiB,CACf,WAAW,EACX,QAAQ,EACR,KAAK,EACL,cAAc,EACd,QAAQ,EACR,WAAW,EACX,KAAK,EACL,WAAW,CACZ,CAAC;gBACF,gBAAgB,CAAC,eAAe,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;gBACzE,SAAS;YACX,CAAC;YACD,4EAA4E;YAC5E,MAAM,kBAAkB,GAAgB;gBACtC,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC;gBACjC,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAC5B,CAAC;YACF,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC;gBACpB,IAAI,EAAE,oBAAoB;gBAC1B,QAAQ,EAAE,MAAM;gBAChB,QAAQ;gBACR,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI;gBACpB,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM;gBACxB,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC,CAAC;YACH,iBAAiB,CACf,WAAW,EACX,QAAQ,EACR,KAAK,EACL,kBAAkB,EAClB,QAAQ,EACR,WAAW,EACX,KAAK,EACL,WAAW,CACZ,CAAC;YACF,gBAAgB,CAAC,eAAe,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED,mCAAmC;IACnC,yEAAyE;IACzE,2EAA2E;IAC3E,0EAA0E;IAC1E,6BAA6B;IAC7B,iEAAiE;IACjE,yEAAyE;IACzE,6EAA6E;IAC7E,6EAA6E;IAC7E,2CAA2C;IAC3C,0DAA0D;IAC1D,2EAA2E;IAC3E,2EAA2E;IAC3E,0EAA0E;IAC1E,wEAAwE;IACxE,UAAU;IACV,6DAA6D;IAC7D,uEAAuE;IACvE,2EAA2E;IAC3E,mEAAmE;IACnE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC/C,KAAK,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAChD,IAAI,SAAS,CAAC,OAAO,KAAK,KAAK;YAAE,SAAS;QAC1C,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC;YACnD,IAAI,IAAI,CAAC,KAAK,KAAK,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,cAAc;gBAAE,SAAS;YAChF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC;gBAAE,SAAS;YACxD,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;YAC7G,MAAM,UAAU,GAAG,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YACrD,IAAI,UAAU,KAAK,IAAI;gBAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC;YACjF,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC;YACxC,2BAA2B,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;YAChH,YAAY,CAAC,YAAY,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,oEAAoE;IACpE,0EAA0E;IAC1E,0EAA0E;IAC1E,wEAAwE;IACxE,2EAA2E;IAC3E,0DAA0D;IAC1D,0EAA0E;IAC1E,uEAAuE;IACvE,2EAA2E;IAC3E,gEAAgE;IAChE,KAAK,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAChD,IAAI,SAAS,CAAC,OAAO,KAAK,KAAK;YAAE,SAAS;QAC1C,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;YAC3C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YACpF,MAAM,IAAI,GAAoD;gBAC5D,IAAI,EAAE,cAAc;gBACpB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,CAAC,MAAM,EAAE;gBAChD,IAAI,EAAE,QAAQ,CAAC,IAAI;aACpB,CAAC;YACF,MAAM,QAAQ,GAAc;gBAC1B,MAAM,EAAE,QAAQ,CAAC,WAAW;gBAC5B,KAAK,EAAE,YAAY;gBACnB,WAAW,EAAE,EAAE;gBACf,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;gBAC3B,UAAU,EAAE,QAAQ;aACrB,CAAC;YACF,MAAM,MAAM,GAAG,GAAwB,EAAE,CACvC,iBAAiB,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAChF,mBAAmB,EAAE,qBAAqB,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC;gBAChE,SAAS,EAAE,GAAG,CAAC,SAAS;aACzB,CAAC,CAAC,CAAC;YACN,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC;YACxC,2BAA2B,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;YACjG,YAAY,CAAC,YAAY,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,6EAA6E;IAC7E,4EAA4E;IAC5E,uEAAuE;IACvE,wEAAwE;IACxE,2EAA2E;IAC3E,MAAM,wBAAwB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG;YAAE,SAAS;QAC5B,wBAAwB,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC;IACvF,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS;YAAE,SAAS;QACjE,MAAM,SAAS,GAAG,GAAG,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QACxE,MAAM,SAAS,GAAG,wBAAwB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC1D,IAAI,SAAS,KAAK,SAAS;YAAE,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;IACzD,CAAC;IAED,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,uBAAuB,CAAC,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;AAC3G,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,oBAAoB,CAC3B,QAAgB,EAChB,MAAc,EACd,WAAoB;IAEpB,OAAO;QACL,IAAI,EAAE,gBAAgB,CAAC,WAAW,CAAC;QACnC,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE;KACpC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,KAAY,EAAE,QAAgB;IACpD,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,OAAO,IAAI,OAAO,CAAC;AACvD,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,cAAc,CACrB,KAAY,EACZ,QAA0B,EAC1B,YAAoB;IAEpB,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChC,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,IAAI,YAAY,CAAC;IACjD,OAAO,oBAAoB,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AAClF,CAAC;AAED;;;GAGG;AACH,SAAS,qBAAqB,CAC5B,KAAY,EACZ,SAAuD;IAEvD,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IACjC,OAAO,oBAAoB,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AACvG,CAAC;AAwBD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,SAAS,uBAAuB,CAC9B,QAA0B,EAC1B,QAAqB,EACrB,WAAoB,EACpB,GAAoB;IAEpB,MAAM,cAAc,GAAG,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IACzE,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,cAAc,CAAC;IAC7C,MAAM,SAAS,GAAG,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC;IACjH,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,cAAc,CAAC;IACnD,OAAO,mBAAmB,CAAC,cAAc,EAAE,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAC/F,CAAC;AAED,SAAS,gBAAgB,CAAC,QAA0B,EAAE,QAAqB,EAAE,WAAoB;IAC/F,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,QAAQ,CAAC;IACvC,MAAM,IAAI,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAC3C,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC9B,OAAO;YACL,IAAI;YACJ,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE;SACvD,CAAC;IACJ,CAAC;IACD,sEAAsE;IACtE,MAAM,GAAG,GAAG,wBAAwB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACzD,IAAI,GAAG,EAAE,CAAC;QACR,OAAO;YACL,IAAI;YACJ,MAAM,EAAE,QAAQ,CAAC,QAAQ;YACzB,MAAM,EAAE,cAAc,CAAC,GAAG,EAAE,QAAQ,CAAC,SAAS,CAAC;SAChD,CAAC;IACJ,CAAC;IACD,yEAAyE;IACzE,4EAA4E;IAC5E,OAAO;QACL,IAAI;QACJ,MAAM,EAAE,QAAQ,CAAC,QAAQ;QACzB,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,SAAS,EAAE;KACjF,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,cAAc,CAAC,GAAW,EAAE,SAAiB;IACpD,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IACnD,OAAO,UAAU,KAAK,SAAS;QAC7B,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE;QAChD,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;AACzC,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,mBAAmB,CAC1B,cAA2B,EAC3B,QAAgB,EAChB,SAAiB,EACjB,mBAAuD;IAEvD,IACE,mBAAmB,KAAK,SAAS;QACjC,cAAc,CAAC,IAAI,KAAK,iBAAiB;QACzC,cAAc,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,EACzC,CAAC;QACD,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,iEAAiE;IACjE,yEAAyE;IACzE,qCAAqC;IACrC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,mBAAmB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAClE,MAAM,GAAG,GAAG,mBAAmB,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IAC3D,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,KAAK,cAAc,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,cAAc,CAAC;IACrF,OAAO;QACL,IAAI,EAAE,cAAc,CAAC,IAAI;QACzB,MAAM,EAAE,kBAAkB,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC;QAChD,MAAM,EAAE,cAAc,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;KAChF,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,wBAAwB,CAC/B,KAAY,EACZ,cAA6B,EAC7B,aAA2B;AAC3B,wEAAwE;AACxE,iBAAyB,EACzB,eAAwB;IAExB,IAAI,CAAC,cAAc;QAAE,OAAO,SAAS,CAAC;IACtC,+DAA+D;IAC/D,MAAM,OAAO,GAAG,mBAAmB,CAAC,KAAK,EAAE,cAAc,EAAE,iBAAiB,CAAC,CAAC;IAC9E,MAAM,aAAa,GAAG,OAAO,EAAE,IAAI,IAAI,cAAc,CAAC;IACtD,IAAI,UAAU,GAAG,OAAO,EAAE,WAAW,IAAI,iBAAiB,CAAC;IAC3D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC;QAC9B,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;YAC7D,IAAI,GAAG,IAAI,OAAO,IAAI,GAAG;gBAAE,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAC/B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,YAAY,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,iBAAiB,IAAI,OAAO,IAAI,CAAC,CACrG,CAAC;YACF,IAAI,KAAK,IAAI,OAAO,IAAI,KAAK;gBAAE,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1D,CAAC;IACH,CAAC;IACD,OAAO;QACL,IAAI,EAAE,gBAAgB,CAAC,eAAe,CAAC;QACvC,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE;KACnD,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,YAAY,CACnB,cAA2B,EAC3B,YAAyC;IAEzC,IACE,YAAY,KAAK,SAAS;QAC1B,cAAc,CAAC,IAAI,KAAK,iBAAiB;QACzC,cAAc,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,EACzC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,GAAG,GAAG,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAC/E,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,OAAO,EAAE,IAAI,EAAE,gBAAyB,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC;AACjG,CAAC;AAED,SAAS,cAAc,CACrB,WAA+B,EAC/B,QAAgB,EAChB,KAAe,EACf,aAA2B;AAC3B;;;4CAG4C;AAC5C,iBAAyB,EACzB,WAAmB,EACnB,KAAY,EACZ,SAAoB,EACpB,EAAkB,EAClB,QAA0B,EAC1B,WAAkC,EAClC,IAAkB,EAClB,gBAA8B,EAC9B,WAA2B;IAE3B,MAAM,QAAQ,GAAgB,gBAAgB,IAAI;QAChD,IAAI,EAAE,gBAAgB,CAAC,SAAS,CAAC,OAAO,CAAC;QACzC,MAAM,EAAE,iBAAiB;QACzB,MAAM,EAAE,cAAc,CAAC,WAAW,EAAE,aAAa,CAAC,SAAS,CAAC;KAC7D,CAAC;IACF,MAAM,cAAc,GAAG,uBAAuB,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,OAAO,EAAE;QACvF,QAAQ;QACR,iBAAiB,EAAE,aAAa,CAAC,SAAS;QAC1C,mBAAmB,EAAE,IAAI,EAAE,mBAAmB;KAC/C,CAAC,CAAC;IAEH,oEAAoE;IACpE,6EAA6E;IAC7E,yEAAyE;IACzE,MAAM,KAAK,GAAG,YAAY,CAAC,cAAc,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;IAE/D,MAAM,QAAQ,GAAkB,WAAW,IAAI;QAC7C,IAAI,EAAE,eAAe;QACrB,SAAS,EAAE,aAAa,CAAC,SAAS;QAClC,MAAM,EAAE,aAAa,CAAC,QAAQ;KAC/B,CAAC;IAEF,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,2EAA2E;QAC3E,MAAM,mBAAmB,GAAG,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACtE,MAAM,QAAQ,GAAoB,CAAC,WAAW,CAAC,CAAC;QAChD,MAAM,aAAa,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC;QAC3D,MAAM,YAAY,GAAG,mBAAmB,CACtC,aAAa,EACb,QAAQ,EACR,KAAK,CAAC,GAAG,CAAC,IAAI,EACd,KAAK,CAAC,GAAG,CAAC,MAAM,EAChB,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,CAC1F,CAAC;QACF,WAAW,CAAC,IAAI,CAAC;YACf,cAAc;YACd,QAAQ;YACR,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI;YACpB,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM;YACxB,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ;YAC5B,QAAQ;YACR,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC;YACrC,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE;YAC1B,YAAY;YACZ,KAAK,EAAE,CAAC;YACR,GAAG,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1C,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,mEAAmE;IACnE,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC7F,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACnC,MAAM,mBAAmB,GAAG,qBAAqB,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QACxE,MAAM,QAAQ,GAAoB,CAAC,GAAG,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC;QAE/E,0EAA0E;QAC1E,0EAA0E;QAC1E,MAAM,aAAa,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC;QAC3D,MAAM,YAAY,GAAG,mBAAmB,CACtC,aAAa,EACb,QAAQ,EACR,KAAK,CAAC,GAAG,CAAC,IAAI,EACd,KAAK,CAAC,GAAG,CAAC,MAAM,EAChB,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,CAC1F,CAAC;QACF,WAAW,CAAC,IAAI,CAAC;YACf,cAAc;YACd,QAAQ;YACR,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI;YACpB,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM;YACxB,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ;YAC5B,QAAQ;YACR,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC;YACrC,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE;YAC1B,YAAY;YACZ,KAAK,EAAE,CAAC;YACR,GAAG,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1C,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,yBAAyB,CAChC,IAA6B,EAC7B,QAAgB,EAChB,GAAqC,EACrC,KAAmB;IAEnB,MAAM,EAAE,GAAG,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9D,IAAI,CAAC,EAAE;QAAE,OAAO;IAChB,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC;QACpB,IAAI,EAAE,yBAAyB;QAC/B,QAAQ,EAAE,SAAS;QACnB,QAAQ;QACR,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,SAAS,EAAE,EAAE,CAAC,SAAS;QACvB,MAAM,EAAE,2DACN,EAAE,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,UAAU,GAClE,EAAE;KACH,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAS,mBAAmB,CAC1B,WAA+B,EAC/B,QAAgB,EAChB,KAAe,EACf,IAAiB,EACjB,KAAY,EACZ,SAAoB,EACpB,MAAmB,EACnB,QAA0B,EAC1B,WAAkC,EAClC,IAAkB,EAClB,WAA2B;IAE3B,uEAAuE;IACvE,wEAAwE;IACxE,oEAAoE;IACpE,uDAAuD;IACvD,sEAAsE;IACtE,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IAC5G,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAChE,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;IACjE,sEAAsE;IACtE,2EAA2E;IAC3E,4CAA4C;IAC5C,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,yBAAyB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC5D,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAkB,WAAW,IAAI,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;IAE3E,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,2EAA2E;QAC3E,MAAM,mBAAmB,GAAG,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;QAChF,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAgB;gBAC5B,IAAI,EAAE,gBAAgB,CAAC,SAAS,CAAC,OAAO,CAAC;gBACzC,MAAM,EAAE,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC;gBACnE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE;aACpC,CAAC;YACF,MAAM,cAAc,GAAG,uBAAuB,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,OAAO,EAAE;gBACvF,QAAQ;gBACR,mBAAmB,EAAE,IAAI,EAAE,mBAAmB;aAC/C,CAAC,CAAC;YACH,MAAM,QAAQ,GAAoB,CAAC,WAAW,CAAC,CAAC;YAChD,MAAM,aAAa,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC;YAC3D,MAAM,YAAY,GAAG,mBAAmB,CACtC,aAAa,EACb,QAAQ,EACR,KAAK,CAAC,GAAG,CAAC,IAAI,EACd,KAAK,CAAC,GAAG,CAAC,MAAM,EAChB,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,CAC1F,CAAC;YACF,WAAW,CAAC,IAAI,CAAC;gBACf,cAAc;gBACd,QAAQ;gBACR,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI;gBACpB,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM;gBACxB,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ;gBAC5B,QAAQ;gBACR,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC;gBACrC,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE;gBAC1B,YAAY;gBACZ,KAAK,EAAE,CAAC;gBACR,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;gBAC5D,GAAG,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtE,CAAC,CAAC;QACL,CAAC;QACD,OAAO;IACT,CAAC;IAED,gFAAgF;IAChF,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC7F,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAgB;YAC5B,IAAI,EAAE,gBAAgB,CAAC,SAAS,CAAC,OAAO,CAAC;YACzC,MAAM,EAAE,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC;YACnE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE;SACpC,CAAC;QACF,MAAM,cAAc,GAAG,uBAAuB,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,OAAO,EAAE;YACvF,QAAQ;YACR,mBAAmB,EAAE,IAAI,EAAE,mBAAmB;SAC/C,CAAC,CAAC;QACH,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;YACnC,MAAM,mBAAmB,GAAG,qBAAqB,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;YACxE,MAAM,QAAQ,GAAoB,CAAC,GAAG,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC;YAC/E,MAAM,aAAa,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC;YAC3D,MAAM,YAAY,GAAG,mBAAmB,CACtC,aAAa,EACb,QAAQ,EACR,KAAK,CAAC,GAAG,CAAC,IAAI,EACd,KAAK,CAAC,GAAG,CAAC,MAAM,EAChB,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,CAC1F,CAAC;YACF,WAAW,CAAC,IAAI,CAAC;gBACf,cAAc;gBACd,QAAQ;gBACR,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI;gBACpB,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM;gBACxB,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ;gBAC5B,QAAQ;gBACR,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC;gBACrC,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE;gBAC1B,YAAY;gBACZ,KAAK,EAAE,CAAC;gBACR,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;gBAC5D,GAAG,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtE,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,YAAY,CAAC,SAA2B,EAAE,QAAgB;IACjE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACtF,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC;IACrC,MAAM,cAAc,GAClB,KAAK,KAAK,SAAS;QACnB,KAAK,KAAK,IAAI;QACd,KAAK,CAAC,IAAI,KAAK,OAAO;QACtB,KAAK,CAAC,QAAQ,KAAK,QAAQ;QAC3B,SAAS,CAAC,KAAK,CACb,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CACpI,CAAC;IACJ,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAChF,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,2BAA2B,CAClC,WAA+B,EAC/B,QAAgB,EAChB,MAAmB,EACnB,IAAqD,EACrD,SAA2B,EAC3B,KAAY,EACZ,SAAoB,EACpB,MAAmB,EACnB,IAAkB,EAClB,KAAK,GAAG,CAAC;IAET,iEAAiE;IACjE,2EAA2E;IAC3E,yDAAyD;IACzD,2EAA2E;IAC3E,+DAA+D;IAC/D,yEAAyE;IACzE,uEAAuE;IACvE,kBAAkB;IAClB,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IACvC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,IAAI,KAAK,IAAI,uBAAuB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC;YAAE,OAAO;QAClG,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QACzE,IAAI,MAAM,EAAE,GAAG,CAAC,IAAI,KAAK,cAAc;YAAE,OAAO;QAChD,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;QAC5G,2BAA2B,CAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QAC5H,OAAO;IACT,CAAC;IACD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO;IAEhC,MAAM,SAAS,GAAc;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,UAAU,EAAE,QAAQ;KACrB,CAAC;IACF,+DAA+D;IAC/D,yEAAyE;IACzE,sEAAsE;IACtE,qEAAqE;IACrE,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;QAC3E,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC/C,2BAA2B,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,mBAAmB,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAClJ,CAAC;AAED,4EAA4E;AAC5E,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAElC;;;;;;GAMG;AACH,SAAS,aAAa,CAAC,GAAqB;IAC1C,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC;IACnH,IAAI,QAAQ,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACrC,OAAO,QAAQ,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;AACpD,CAAC;AAED,oFAAoF;AACpF,MAAM,SAAS,GAAG,cAAc,CAAC;AAMjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,SAAS,2BAA2B,CAClC,WAA+B,EAC/B,QAAgB,EAChB,IAAqD,EACrD,MAAiC,EACjC,KAAY,EACZ,SAAoB,EACpB,MAAmB,EACnB,IAAkB,EAClB,KAAK,GAAG,CAAC;IAGT,IAAI,cAA+C,CAAC;IAEpD,MAAM,cAAc,GAAG,CAAC,IAAU,EAAE,KAAa,EAAE,GAA8C,EAAE,IAAqB,EAAQ,EAAE;QAChI,IAAI,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO;QAC9C,MAAM,QAAQ,GAAkB,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,GAAG,kBAAkB,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC;QACnH,MAAM,OAAO,GAAG,oBAAoB,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QACzD,wEAAwE;QACxE,uEAAuE;QACvE,6DAA6D;QAC7D,MAAM,cAAc,GAAG,oBAAoB,CAAC,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;QACzF,KAAK,MAAM,EAAE,IAAI,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC;YAChE,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC,QAAQ,KAAK,IAAI;gBAAE,SAAS;YAC7D,MAAM,cAAc,GAAG,uBAAuB,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,EAAE,SAAS,CAAC,OAAO,EAAE;gBAC7F,QAAQ;gBACR,mBAAmB,EAAE,IAAI,EAAE,mBAAmB;aAC/C,CAAC,CAAC;YACH,MAAM,KAAK,GAAG,YAAY,CAAC,cAAc,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;YAC/D,cAAc,KAAK,MAAM,EAAE,CAAC;YAC5B,KAAK,MAAM,EAAE,mBAAmB,EAAE,SAAS,EAAE,IAAI,cAAc,EAAE,CAAC;gBAChE,MAAM,QAAQ,GAAoB,CAAC,GAAG,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC;gBACpF,MAAM,YAAY,GAAG,mBAAmB,CACtC,oBAAoB,CAAC,cAAc,CAAC,EACpC,QAAQ,EACR,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAChB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAClB,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,CAC1F,CAAC;gBACF,WAAW,CAAC,IAAI,CAAC;oBACf,cAAc;oBACd,QAAQ;oBACR,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI;oBACtB,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM;oBAC1B,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ;oBAC5B,QAAQ;oBACR,KAAK,EAAE,EAAE;oBACT,MAAM,EAAE,EAAE;oBACV,YAAY;oBACZ,KAAK,EAAE,CAAC;oBACR,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnG,GAAG,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrE,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC1C,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,IAAU,EAAE,SAAiB,EAAQ,EAAE;QAC5D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;IACnF,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,IAAU,EAAE,KAAa,EAAE,GAAiB,EAAE,IAAqB,EAAE,SAAiB,EAAQ,EAAE;QACpH,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1B,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YACvC,OAAO;QACT,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,IAAI,SAAS,IAAI,uBAAuB;YAAE,OAAO;QAChF,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;QACnG,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,aAAa,CAAC,GAAG,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;YAClC,OAAO;QACT,CAAC;QACD,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO;QAChC,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACrE,IAAI,MAAM,KAAK,IAAI;YAAE,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;IACnG,CAAC,CAAC;IAEF,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CACvB,SAAiC,EACjC,QAAgB;IAEhB,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;AAC5E,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,iBAAiB,CACxB,WAA+B,EAC/B,QAAgB,EAChB,KAAe,EACf,cAA2B,EAC3B,QAA0B,EAC1B,WAAsC,EACtC,KAAY,EACZ,WAAkC;IAElC,MAAM,GAAG,GAAkB,WAAW,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC/D,0DAA0D;IAC1D,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC7F,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACnC,MAAM,mBAAmB,GAAG,qBAAqB,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QACxE,MAAM,QAAQ,GAAoB,CAAC,GAAG,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,aAAa,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC;QAC3D,MAAM,YAAY,GAAG,mBAAmB,CACtC,aAAa,EACb,QAAQ,EACR,KAAK,CAAC,GAAG,CAAC,IAAI,EACd,KAAK,CAAC,GAAG,CAAC,MAAM,EAChB,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,CAC1F,CAAC;QACF,WAAW,CAAC,IAAI,CAAC;YACf,cAAc;YACd,QAAQ;YACR,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI;YACpB,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM;YACxB,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG;YACvB,QAAQ;YACR,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC;YACrC,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE;YAC1B,YAAY;YACZ,KAAK,EAAE,CAAC;YACR,GAAG,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtE,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAMD;;;;;;GAMG;AACH,SAAS,gBAAgB,CACvB,WAAoB,EACpB,gBAAmC;IAEnC,IAAI,gBAAgB,KAAK,SAAS;QAAE,OAAO,gBAAgB,CAAC;IAC5D,OAAO,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,iBAAiB,CAAC;AACrE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/engine/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@component-compass/reference-graph",
3
- "version": "0.1.22",
3
+ "version": "0.1.23",
4
4
  "description": "Project-wide reference graph + cross-module resolution engine for component-compass parsers.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -24,7 +24,7 @@
24
24
  "clean": "rm -rf dist .turbo"
25
25
  },
26
26
  "dependencies": {
27
- "@component-compass/plugin-core": "0.1.22"
27
+ "@component-compass/plugin-core": "0.1.23"
28
28
  },
29
29
  "devDependencies": {
30
30
  "@types/node": "24.12.2",