@diffci.com/diffci 0.1.11 → 0.2.0

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 (76) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +295 -229
  3. package/action.yml +154 -154
  4. package/dist-client/src/client/cli.js +213 -95
  5. package/dist-client/src/client/economics.js +31 -0
  6. package/dist-client/src/client/full-command.js +46 -0
  7. package/dist-client/src/client/mcp.js +196 -0
  8. package/dist-client/src/client/observe.js +40 -9
  9. package/dist-client/src/client/verify-savings.js +8 -2
  10. package/docs/agent-adoption-kit.md +96 -0
  11. package/docs/agent-adoption-targets.md +52 -0
  12. package/docs/ai-agents.md +27 -3
  13. package/docs/claude-code.md +3 -2
  14. package/docs/codex.md +3 -2
  15. package/docs/copilot.md +4 -4
  16. package/docs/cursor.md +4 -4
  17. package/docs/grok.md +3 -2
  18. package/docs/language-support.md +118 -70
  19. package/docs/mcp.md +21 -0
  20. package/docs/npm-adoption.md +6 -0
  21. package/llms.txt +3 -0
  22. package/node_modules/@babel/parser/bin/babel-parser.js +0 -0
  23. package/node_modules/@diffci.com/core/README.md +9 -1
  24. package/node_modules/@diffci.com/core/dist/cache/economics-context.d.ts +2 -0
  25. package/node_modules/@diffci.com/core/dist/cache/economics-context.js +21 -0
  26. package/node_modules/@diffci.com/core/dist/cache/economics-context.js.map +1 -0
  27. package/node_modules/@diffci.com/core/dist/cache/vue-analysis-cache.d.ts +5 -0
  28. package/node_modules/@diffci.com/core/dist/cache/vue-analysis-cache.js +100 -0
  29. package/node_modules/@diffci.com/core/dist/cache/vue-analysis-cache.js.map +1 -0
  30. package/node_modules/@diffci.com/core/dist/planner/test-command.js +32 -0
  31. package/node_modules/@diffci.com/core/dist/planner/test-command.js.map +1 -1
  32. package/node_modules/@diffci.com/core/dist/repo/adapters/go.d.ts +3 -0
  33. package/node_modules/@diffci.com/core/dist/repo/adapters/go.js +24 -6
  34. package/node_modules/@diffci.com/core/dist/repo/adapters/go.js.map +1 -1
  35. package/node_modules/@diffci.com/core/dist/repo/adapters/index.js +2 -1
  36. package/node_modules/@diffci.com/core/dist/repo/adapters/index.js.map +1 -1
  37. package/node_modules/@diffci.com/core/dist/repo/adapters/maven.d.ts +3 -0
  38. package/node_modules/@diffci.com/core/dist/repo/adapters/maven.js +65 -0
  39. package/node_modules/@diffci.com/core/dist/repo/adapters/maven.js.map +1 -0
  40. package/node_modules/@diffci.com/core/dist/repo/adapters/types.d.ts +11 -0
  41. package/node_modules/@diffci.com/core/dist/repo/adapters/types.js.map +1 -1
  42. package/node_modules/@diffci.com/core/dist/repo/adapters/vue.js +142 -14
  43. package/node_modules/@diffci.com/core/dist/repo/adapters/vue.js.map +1 -1
  44. package/node_modules/@diffci.com/core/dist/repo/graph.d.ts +4 -0
  45. package/node_modules/@diffci.com/core/dist/repo/graph.js +169 -19
  46. package/node_modules/@diffci.com/core/dist/repo/graph.js.map +1 -1
  47. package/node_modules/@diffci.com/core/dist/repo/impact.js +22 -5
  48. package/node_modules/@diffci.com/core/dist/repo/impact.js.map +1 -1
  49. package/node_modules/@diffci.com/core/dist/repo/repo-config.d.ts +15 -0
  50. package/node_modules/@diffci.com/core/dist/repo/repo-config.js +13 -2
  51. package/node_modules/@diffci.com/core/dist/repo/repo-config.js.map +1 -1
  52. package/node_modules/@diffci.com/core/dist/repo/test-discovery.js +2 -0
  53. package/node_modules/@diffci.com/core/dist/repo/test-discovery.js.map +1 -1
  54. package/node_modules/@diffci.com/core/dist/repo/types.d.ts +17 -0
  55. package/node_modules/@diffci.com/core/dist/repo/vue-scope.d.ts +4 -0
  56. package/node_modules/@diffci.com/core/dist/repo/vue-scope.js +157 -0
  57. package/node_modules/@diffci.com/core/dist/repo/vue-scope.js.map +1 -0
  58. package/node_modules/@diffci.com/core/src/cache/economics-context.ts +19 -0
  59. package/node_modules/@diffci.com/core/src/cache/vue-analysis-cache.ts +80 -0
  60. package/node_modules/@diffci.com/core/src/planner/test-command.ts +28 -0
  61. package/node_modules/@diffci.com/core/src/repo/adapters/go.ts +24 -5
  62. package/node_modules/@diffci.com/core/src/repo/adapters/index.ts +2 -1
  63. package/node_modules/@diffci.com/core/src/repo/adapters/maven.ts +38 -0
  64. package/node_modules/@diffci.com/core/src/repo/adapters/types.ts +5 -0
  65. package/node_modules/@diffci.com/core/src/repo/adapters/vue.ts +120 -15
  66. package/node_modules/@diffci.com/core/src/repo/graph.ts +146 -20
  67. package/node_modules/@diffci.com/core/src/repo/impact.ts +20 -4
  68. package/node_modules/@diffci.com/core/src/repo/repo-config.ts +20 -2
  69. package/node_modules/@diffci.com/core/src/repo/test-discovery.ts +2 -0
  70. package/node_modules/@diffci.com/core/src/repo/types.ts +11 -0
  71. package/node_modules/@diffci.com/core/src/repo/vue-scope.ts +122 -0
  72. package/node_modules/nanoid/bin/nanoid.cjs +0 -0
  73. package/node_modules/typescript/bin/tsc +0 -0
  74. package/node_modules/typescript/bin/tsserver +0 -0
  75. package/node_modules/yaml/bin.mjs +0 -0
  76. package/package.json +155 -138
@@ -1,10 +1,11 @@
1
- import { existsSync, readdirSync } from "node:fs";
1
+ import { existsSync, readFileSync, readdirSync, realpathSync, statSync } from "node:fs";
2
2
  import { createTestFileMatcher, DEFAULT_TEST_FILE_MATCHER, testFileMatcherForProfile } from "./test-discovery.js";
3
3
  import { isBuiltin } from "node:module";
4
4
  import { dirname, extname, join, normalize, relative, resolve, sep } from "node:path";
5
5
  import ts from "typescript";
6
6
  import { adapterFiles, REPOSITORY_ADAPTERS } from "./adapters/index.js";
7
7
  import { analyzeRepository } from "./analyzer.js";
8
+ import { applyVueScope, inVuePackage } from "./vue-scope.js";
8
9
  const SOURCE_EXTENSIONS = new Set([
9
10
  ".ts",
10
11
  ".tsx",
@@ -325,7 +326,7 @@ export function discoverNestedTsconfigPaths(repoPath) {
325
326
  // merged compiler options reproducible across filesystems (readdir order is OS-dependent).
326
327
  return found.sort();
327
328
  }
328
- function createProgram(repoPath, fallbackSourceRoots = [], additionalSources = []) {
329
+ function createProgram(repoPath, fallbackSourceRoots = [], additionalSources = [], syntaxOnly = false) {
329
330
  // Phase 01 F5 (2026-08-26). This was `ts.findConfigFile(repoPath, ...)`, which starts at repoPath
330
331
  // and walks UP - so a repository cloned beneath any directory containing a tsconfig.json was
331
332
  // silently analysed against that ANCESTOR's project instead of its own. Flagged as a known latent
@@ -448,7 +449,10 @@ function createProgram(repoPath, fallbackSourceRoots = [], additionalSources = [
448
449
  }
449
450
  const program = ts.createProgram({
450
451
  rootNames: fileNames,
451
- options,
452
+ // Scoped analysis already inventories every implementation file. It extracts
453
+ // syntax/import edges, never asks TypeScript for semantic diagnostics. Keep
454
+ // the original options below for explicit module resolution.
455
+ options: syntaxOnly ? { ...options, noResolve: true, noLib: true, types: [] } : options,
452
456
  configFileParsingDiagnostics,
453
457
  });
454
458
  return { program, options, fileNames, resolvedViaProjectReferences };
@@ -527,41 +531,79 @@ function findAssetCandidate(importerAbs, specifier, aliases, repoPath) {
527
531
  }
528
532
  export async function buildDependencyGraph(options = {}) {
529
533
  const start = process.hrtime.bigint();
534
+ const phasesMs = {};
535
+ let phaseStart = start;
536
+ const markPhase = (name) => {
537
+ const now = process.hrtime.bigint();
538
+ phasesMs[name] = Number(now - phaseStart) / 1_000_000;
539
+ phaseStart = now;
540
+ };
530
541
  const repoPath = options.repoPath ? resolve(options.repoPath) : process.cwd();
531
542
  const profile = analyzeRepository(options);
532
- const files = adapterFiles(repoPath, options.excludeDirs);
533
- const context = { repoPath, files, profile };
534
- const contributions = REPOSITORY_ADAPTERS.filter((adapter) => adapter.detect(context)).map((adapter) => adapter.analyze(context));
535
- const adapterBlockers = contributions.flatMap((item) => item.blockers);
543
+ markPhase("repositoryDiscovery");
544
+ const scopeBlockers = applyVueScope(repoPath, profile);
545
+ markPhase("scopeDiscovery");
546
+ const scope = profile.vueScope;
547
+ const physicalRepoRoot = scope ? realpathSync.native(repoPath) : "";
548
+ const physicalPackageRoot = scope ? realpathSync.native(join(repoPath, scope.packageRoot)) : "";
549
+ const scopePathChecks = new Map();
550
+ const outsideScope = (path) => {
551
+ if (!scope)
552
+ return false;
553
+ const cached = scopePathChecks.get(path);
554
+ if (cached !== undefined)
555
+ return cached;
556
+ const lexicalOutside = !inVuePackage(path, scope.packageRoot) && !path.split("/").includes("node_modules");
557
+ let outside = lexicalOutside;
558
+ if (!outside && existsSync(join(repoPath, path))) {
559
+ const physical = realpathSync.native(join(repoPath, path));
560
+ const packageRelative = relative(physicalPackageRoot, physical).replace(/\\/g, "/");
561
+ const repositoryRelative = relative(physicalRepoRoot, physical).replace(/\\/g, "/");
562
+ outside = (packageRelative === ".." || packageRelative.startsWith("../") || /^[A-Za-z]:|^\//.test(packageRelative)) &&
563
+ !(!repositoryRelative.startsWith("../") && !/^[A-Za-z]:|^\//.test(repositoryRelative) && (repositoryRelative.startsWith("node_modules/") || repositoryRelative.includes("/node_modules/")));
564
+ }
565
+ scopePathChecks.set(path, outside);
566
+ return outside;
567
+ };
568
+ const files = adapterFiles(repoPath, options.excludeDirs).filter(path => !scope || inVuePackage(path, scope.packageRoot));
569
+ markPhase("adapterInventory");
570
+ const context = { repoPath, files, profile, vueAnalysisSession: {} };
571
+ const cachedVue = options.vueAnalysisCache ? (await import("../cache/vue-analysis-cache.js")).analyzeVueCached : undefined;
572
+ const contributions = REPOSITORY_ADAPTERS.filter((adapter) => adapter.detect(context)).map((adapter) => adapter.id === "vue" && cachedVue && options.vueAnalysisCache
573
+ ? cachedVue(context, options.vueAnalysisCache.directory, options.vueAnalysisCache.version) : adapter.analyze(context));
574
+ markPhase("adapters");
575
+ const adapterBlockers = [...scopeBlockers, ...contributions.flatMap((item) => item.blockers)];
576
+ if (profile.diffciConfig?.configurationError && !adapterBlockers.includes(profile.diffciConfig.configurationError))
577
+ adapterBlockers.push(profile.diffciConfig.configurationError);
536
578
  if (contributions.some((item) => item.id === "go") && files.some((file) => /\.(?:[cm]?[jt]sx?|vue)$/.test(file))) {
537
579
  adapterBlockers.push("Mixed Go/JavaScript repositories require explicit cross-language dependencies; full validation required");
538
580
  }
539
- if (contributions.length && files.some((file) => /\.(?:py|rs|java|kt|cs|svelte|astro)$/.test(file))) {
581
+ if (contributions.length && files.some((file) => /\.(?:py|rs|cs|svelte|astro)$/.test(file) || !contributions.some((item) => item.id === "maven") && /\.(?:java|kt)$/.test(file))) {
540
582
  adapterBlockers.push("Unmodeled languages alongside an adapter require full validation");
541
583
  }
542
584
  profile.adapters = contributions.map(({ id, version, blockers }) => ({ id, version, blockers }));
543
585
  profile.goTestPackages = Object.assign({}, ...contributions.map((item) => item.testPackages));
544
586
  profile.goTestEnvironment = contributions.find((item) => item.id === "go")?.executionEnv;
587
+ profile.mavenTestModules = Object.assign({}, ...contributions.filter((item) => item.id === "maven").map((item) => item.testPackages));
545
588
  const adapterTests = contributions.flatMap((item) => item.testFiles);
546
589
  profile.testFilePaths = [...new Set([...profile.testFilePaths, ...adapterTests])].sort();
547
590
  if (profile.testUniverse) {
548
591
  profile.testUniverse.discoveredTestFiles = profile.testFilePaths.length;
549
- profile.testUniverse.blindSpot = (profile.testUniverse.declaredFrameworks.length > 0 || contributions.some((item) => item.id === "go")) && profile.testFilePaths.length === 0;
592
+ profile.testUniverse.blindSpot = (profile.testUniverse.declaredFrameworks.length > 0 || contributions.some((item) => item.id === "go" || item.id === "maven")) && profile.testFilePaths.length === 0;
550
593
  }
551
594
  const entryPointPaths = new Set(profile.entryPoints.map((e) => e.path));
552
- const vueSources = contributions.some((item) => item.id === "vue")
595
+ const vueSources = scope || contributions.some((item) => item.id === "vue")
553
596
  ? files.filter((file) => /\.[cm]?[jt]sx?$/.test(file)).map((file) => join(repoPath, file)) : [];
554
- // Compiler include/exclude controls typechecking, not the runner's test universe. Parse every
555
- // discovered JS/TS test so source changes can reach tests outside the compiler's root files.
556
- // Adding those tests only as leaf nodes silently loses their dependency edges (ky, 2026-09-19).
597
+ // Runner tests excluded by tsconfig still need their import edges in the graph.
557
598
  const testSources = profile.testFilePaths
558
599
  .filter((file) => /\.[cm]?[jt]sx?$/.test(file))
559
600
  .map((file) => join(repoPath, file));
560
- let { program, options: compilerOptions, resolvedViaProjectReferences } = createProgram(repoPath, profile.sourceRoots, [...vueSources, ...testSources]);
601
+ let { program, options: compilerOptions, resolvedViaProjectReferences } = createProgram(scope ? join(repoPath, scope.packageRoot) : repoPath, scope ? [] : profile.sourceRoots, [...vueSources, ...testSources], Boolean(scope));
602
+ markPhase("typescriptProgram");
561
603
  let moduleResolutionCache = ts.createModuleResolutionCache(repoPath, (x) => x, compilerOptions);
562
604
  const sourceFiles = program
563
605
  .getSourceFiles()
564
- .filter((sf) => sf.fileName && !sf.fileName.endsWith(".d.ts"));
606
+ .filter((sf) => sf.fileName && !sf.fileName.endsWith(".d.ts") && (!scope || inVuePackage(toRelativeInternal(repoPath, sf.fileName) ?? "", scope.packageRoot)));
565
607
  for (const item of contributions) {
566
608
  for (const virtual of item.virtualSources) {
567
609
  sourceFiles.push(ts.createSourceFile(join(repoPath, virtual.path), virtual.source, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX));
@@ -611,7 +653,8 @@ export async function buildDependencyGraph(options = {}) {
611
653
  assetPaths.add(assetRel);
612
654
  addEdge(importerRel, assetRel, "asset");
613
655
  }
614
- const filesParsed = sourceFiles.length;
656
+ let filesParsed = sourceFiles.length;
657
+ let followedImplementationFiles = 0;
615
658
  for (const sf of sourceFiles) {
616
659
  const importerRel = toRelativeInternal(repoPath, sf.fileName);
617
660
  if (!importerRel || !isSourceFileName(sf.fileName))
@@ -619,6 +662,8 @@ export async function buildDependencyGraph(options = {}) {
619
662
  if (isExcludedPath(importerRel, options.excludeDirs ?? []))
620
663
  continue;
621
664
  const refs = extractImportRefs(sf);
665
+ if (scope && sf.referencedFiles.length)
666
+ adapterBlockers.push(`Triple-slash file references in the scoped suite require full validation: ${importerRel}`);
622
667
  for (const ref of refs) {
623
668
  if (!ref.specifier) {
624
669
  recordUnresolved(importerRel, ref, "empty specifier");
@@ -668,7 +713,36 @@ export async function buildDependencyGraph(options = {}) {
668
713
  }
669
714
  const resolved = resolution.resolvedModule.resolvedFileName;
670
715
  const targetRel = toRelativeInternal(repoPath, resolved);
716
+ // The generic internal-path helper intentionally hides root node_modules.
717
+ // Scope validation must still follow those paths to catch workspace symlinks.
718
+ const scopeTarget = scope ? relative(physicalRepoRoot, realpathSync.native(resolved)).replace(/\\/g, "/") : targetRel;
719
+ if (scopeTarget && outsideScope(scopeTarget)) {
720
+ adapterBlockers.push(`Vue dependency crosses the declared package boundary: ${importerRel} -> ${scopeTarget}`);
721
+ continue;
722
+ }
723
+ if (scope && resolution.resolvedModule.isExternalLibraryImport && (!targetRel || targetRel.split("/").includes("node_modules"))) {
724
+ recordReference("external-package", importerRel, ref);
725
+ continue;
726
+ }
671
727
  if (targetRel && isSourceFileName(resolved)) {
728
+ if (scope && !resolved.endsWith(".d.ts") && !internalSourcePaths.has(targetRel)) {
729
+ // A real import can reach generated implementation excluded from the
730
+ // initial walk. Parse it (and its imports) rather than silently dropping
731
+ // the edge or loading every TypeScript declaration library again.
732
+ try {
733
+ if (isExcludedPath(targetRel, options.excludeDirs ?? []) || followedImplementationFiles >= 500 || statSync(resolved).size > 5 * 1024 * 1024)
734
+ throw new Error("excluded or exceeds parse budget");
735
+ const followed = ts.createSourceFile(resolved, readFileSync(resolved, "utf8"), ts.ScriptTarget.Latest, true);
736
+ if (followed.parseDiagnostics?.length)
737
+ throw new Error("invalid implementation syntax");
738
+ sourceFiles.push(followed);
739
+ followedImplementationFiles++;
740
+ }
741
+ catch {
742
+ adapterBlockers.push(`Resolved implementation cannot be included in the scoped source inventory: ${targetRel}`);
743
+ continue;
744
+ }
745
+ }
672
746
  internalSourcePaths.add(targetRel);
673
747
  addEdge(importerRel, targetRel, ref.kind);
674
748
  recordReference("internal-source", importerRel, ref);
@@ -692,12 +766,83 @@ export async function buildDependencyGraph(options = {}) {
692
766
  }
693
767
  }
694
768
  }
769
+ // Only a verified scoped suite can establish that a component is not executed.
770
+ // Every test and setup/config root must actually have been parsed, not merely
771
+ // added as a leaf test node. Unknown reachable components still block the suite.
772
+ if (scope && scopeBlockers.length === 0 && profile.testFilePaths.length) {
773
+ const roots = [...profile.testFilePaths, ...(profile.vueSetupPaths ?? [])];
774
+ const parsedPaths = new Set(sourceFiles.map(file => toRelativeInternal(repoPath, file.fileName)).filter(Boolean));
775
+ if (roots.every(path => parsedPaths.has(path))) {
776
+ const outgoing = new Map();
777
+ for (const edge of edges)
778
+ outgoing.set(edge.from, [...(outgoing.get(edge.from) ?? []), edge.to]);
779
+ const reachable = new Set(roots);
780
+ const pending = [...roots];
781
+ while (pending.length)
782
+ for (const target of outgoing.get(pending.pop()) ?? [])
783
+ if (!reachable.has(target)) {
784
+ reachable.add(target);
785
+ pending.push(target);
786
+ }
787
+ const vue = contributions.find(item => item.id === "vue");
788
+ const irrelevant = new Set((vue?.fileBlockers ?? []).filter(item => !reachable.has(item.path)).map(item => item.reason));
789
+ const outOfSuiteBlockers = irrelevant.size;
790
+ if (profile.vueRuntimeIsolationVerified) {
791
+ const closure = (starts) => {
792
+ const visited = new Set(starts);
793
+ const queue = [...starts];
794
+ while (queue.length)
795
+ for (const target of outgoing.get(queue.pop()) ?? [])
796
+ if (!visited.has(target)) {
797
+ visited.add(target);
798
+ queue.push(target);
799
+ }
800
+ return visited;
801
+ };
802
+ const shared = closure(profile.vueSetupPaths ?? []);
803
+ const runtime = (vue?.fileBlockers ?? []).filter(item => item.reason === `Vue ${item.path}: runtime component/directive resolution requires full validation` && reachable.has(item.path));
804
+ // Unknown outgoing runtime edges affect every test reaching this component.
805
+ // Run all such isolated test files for EVERY delta, regardless of static impact.
806
+ // Shared setup/configuration uncertainty cannot be confined to those files.
807
+ if (runtime.length && runtime.every(item => !shared.has(item.path))) {
808
+ const targets = new Set(runtime.map(item => item.path));
809
+ profile.vueRuntimeAlwaysRunPaths = profile.testFilePaths.filter(path => [...closure([path])].some(dependency => targets.has(dependency)));
810
+ for (const item of runtime)
811
+ irrelevant.add(item.reason);
812
+ }
813
+ }
814
+ for (let i = adapterBlockers.length - 1; i >= 0; i--)
815
+ if (irrelevant.has(adapterBlockers[i]))
816
+ adapterBlockers.splice(i, 1);
817
+ if (vue?.performance)
818
+ Object.assign(vue.performance.counts, { verifiedSuiteRoots: roots.length, reachablePaths: reachable.size, outOfSuiteBlockers, runtimeAlwaysRunTests: profile.vueRuntimeAlwaysRunPaths?.length ?? 0 });
819
+ }
820
+ }
695
821
  if (unresolved.some((ref) => ref.importer.endsWith(".vue") || stripImportQuery(ref.specifier).endsWith(".vue"))) {
696
822
  adapterBlockers.push("Unresolved Vue dependencies require full validation");
697
823
  }
824
+ filesParsed = sourceFiles.length;
825
+ if (scope && unresolved.length)
826
+ adapterBlockers.push("Unresolved dependencies in the declared Vue suite require full validation");
827
+ if (scope && edges.some(edge => outsideScope(edge.from) || outsideScope(edge.to)))
828
+ adapterBlockers.push("Vue asset or macro dependency crosses the declared package boundary");
698
829
  profile.adapterBlockers = [...adapterBlockers];
699
- // Keep adapter-provided test identities visible as well. JS/TS tests are parsed above; their
700
- // imports must not be replaced by disconnected leaf nodes merely because tsconfig excludes them.
830
+ markPhase("importExtractionAndResolution");
831
+ // Nested-package test visibility (2026-08-24, biomejs/biome finding): `internalSourcePaths` above is
832
+ // strictly the TS PROGRAM's own file list (createProgram()'s `include`/nested-tsconfig-merged
833
+ // fileNames) - so a package whose own tsconfig deliberately excludes its test directory (a real,
834
+ // common pattern; confirmed verbatim on biome: `packages/@biomejs/js-api/tsconfig.json` has
835
+ // `"exclude": ["./tests", "./dist"], "include": ["./src"]`) NEVER contributes those files to the
836
+ // program, so they never became graph nodes and `totalTestsInGraph` stayed 0 even though
837
+ // `profile.testFilePaths` (the separate, tsconfig-agnostic glob walk in analyzer.ts's discoverTests())
838
+ // already found them correctly. Source-ROOT discovery itself was already correct (the 2026-08-21
839
+ // zod/trpc fallback already lists `packages`/`crates` as roots for exactly this monorepo shape) - the
840
+ // gap was narrower: the graph never incorporated what that walk found. Fix: union in any test file
841
+ // discoverTests() found that the TS program's own file list missed, as an ADDITIONAL leaf node
842
+ // (isTest true; no import edges - we have no real resolution info for a file the type-checker was
843
+ // never asked to see, so dependency-graph traversal through it is honestly absent, not guessed at).
844
+ // This does NOT add Rust visibility of any kind - testFilePaths only ever contains files already
845
+ // matched by the JS/TS test-file patterns; a `.rs` test is never in it and stays "unknown" as before.
701
846
  for (const testPath of profile.testFilePaths) {
702
847
  if (!internalSourcePaths.has(testPath) && !assetPaths.has(testPath))
703
848
  internalSourcePaths.add(testPath);
@@ -737,8 +882,11 @@ export async function buildDependencyGraph(options = {}) {
737
882
  unresolved: unresolved.length,
738
883
  };
739
884
  const durationMs = Number(process.hrtime.bigint() - start) / 1_000_000;
885
+ markPhase("graphFinalization");
740
886
  const performance = {
741
887
  durationMs,
888
+ phasesMs,
889
+ adapterMetrics: Object.fromEntries(contributions.filter(item => item.performance).map(item => [item.id, item.performance])),
742
890
  heapUsedMb: heapDuringBuildMb,
743
891
  heapAfterExtractionMb,
744
892
  filesDiscovered: filesParsed,
@@ -770,7 +918,9 @@ export function classifyRepositoryProject(repoPath) {
770
918
  return { capable: true, reason: "Go module (package-level analysis)" };
771
919
  if (files.some((file) => file.endsWith(".vue")))
772
920
  return { capable: true, reason: "Vue single-file components" };
773
- return { capable: false, reason: "No TypeScript project, Vue components, or root Go module found" };
921
+ if (files.includes("pom.xml") && files.some((file) => file.endsWith(".java") || file.endsWith(".kt")))
922
+ return { capable: true, reason: "Maven reactor (module-level Java analysis)" };
923
+ return { capable: false, reason: "No TypeScript project, Vue components, root Go module, or Maven reactor found" };
774
924
  }
775
925
  /**
776
926
  * Can DiffCI build a dependency graph for this repository? (Phase 01 F3, 2026-08-26.)
@@ -1 +1 @@
1
- {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/repo/graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/repo/graph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACxF,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,yBAAyB,EAAwB,MAAM,qBAAqB,CAAC;AACxI,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACtF,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAiC,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAsB7D,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IAChC,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;CACP,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IAC/B,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,QAAQ;IACR,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,MAAM;CACP,CAAC,CAAC;AAEH,SAAS,OAAO,CAAC,CAAS;IACxB,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAgB;IACxC,OAAO,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,eAAe,CAAC,QAAgB;IACvC,OAAO,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,aAAa,CAAC,SAAiB;IACtC,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC;AAC9B,CAAC;AAGD,SAAS,kBAAkB,CACzB,QAAgB,EAChB,YAAoB;IAEpB,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACjE,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3C,IAAI,GAAG,KAAK,cAAc,IAAI,GAAG,CAAC,UAAU,CAAC,eAAe,CAAC;QAAE,OAAO,SAAS,CAAC;IAChF,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,cAAc,CAAC,GAAW,EAAE,WAAqB;IACxD,OAAO,WAAW,CAAC,IAAI,CACrB,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,GAAG,GAAG,CAAC,CAClD,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,UAAyB;IAClD,MAAM,IAAI,GAAgB,EAAE,CAAC;IAE7B,SAAS,KAAK,CAAC,IAAa;QAC1B,IAAI,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC;YACvC,IAAI,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;gBAClC,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE,UAAU,IAAI,KAAK,CAAC;gBAC1D,MAAM,IAAI,GAAuB,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACvE,IAAI,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;aAAM,IAAI,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAChE,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC;YACvC,IAAI,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,GAAuB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC;gBAC/E,IAAI,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;aAAM,IAAI,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACnC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,aAAa,IAAI,QAAQ,EAAE,CAAC;gBACrE,IAAI,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACjC,IAAI,CAAC,IAAI,CAAC;wBACR,SAAS,EAAE,QAAQ,CAAC,IAAI;wBACxB,IAAI,EAAE,gBAAgB;wBACtB,OAAO,EAAE,IAAI;qBACd,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,IAAI,CAAC;wBACR,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;wBACrD,IAAI,EAAE,gBAAgB;wBACtB,OAAO,EAAE,IAAI;qBACd,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBAAM,IACL,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC;gBAChC,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,SAAS;gBAClC,QAAQ;gBACR,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,EAC5B,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC;oBACR,SAAS,EAAE,QAAQ,CAAC,IAAI;oBACxB,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,KAAK;iBACf,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,CAAC;IAClB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,mBAAmB;IAUb;IATD,KAAK,CAAwB;IAC7B,KAAK,CAAmB;IACxB,OAAO,GAA6B,EAAE,CAAC;IACvC,OAAO,GAA6B,EAAE,CAAC;IAEhD,YACE,WAAgC,EAChC,UAA+B,EAC/B,KAAuB,EACf,QAAgB,EACxB,aAA8B,yBAAyB;QAD/C,aAAQ,GAAR,QAAQ,CAAQ;QAGxB,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;QAC/D,IAAI,CAAC,KAAK,GAAG;YACX,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACrC,IAAI,EAAE,CAAC;gBACP,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;gBACrB,YAAY,EAAE,KAAK;aACpB,CAAC,CAAC;YACH,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACpC,IAAI,EAAE,CAAC;gBACP,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;gBACnC,MAAM,EAAE,KAAK;gBACb,YAAY,EAAE,KAAK;aACpB,CAAC,CAAC;SACJ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAE/C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAC/B,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC1C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzC,CAAC;YACD,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC;gBACxC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9D,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9D,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,YAAY,CAAC,CAAiB,EAAE,CAAiB;QAC9D,OAAO,CACL,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;YAC5B,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;YACxB,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAC7B,CAAC;IACJ,CAAC;IAED,cAAc,CAAC,QAAgB;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IACjC,CAAC;IAED,YAAY,CAAC,QAAgB;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IACjC,CAAC;IAED,wBAAwB,CAAC,QAAgB;QACvC,OAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACvD,CAAC;IAED,sBAAsB,CAAC,QAAgB;QACrC,OAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACvD,CAAC;IAEO,mBAAmB,CACzB,QAAgB,EAChB,SAAgC;QAEhC,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,MAAM,KAAK,GAAa,CAAC,GAAG,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;QAExE,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;YAC/B,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;gBAAE,SAAS;YACnC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACrB,IAAI,OAAO,KAAK,GAAG;gBAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1C,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC5C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAEO,cAAc,CAAC,QAAgB;QACrC,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1F,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAED;gGACgG;AAChG,MAAM,UAAU,sBAAsB,CAAC,KAAsB,EAAE,QAAgB,EAAE,YAAgC;IAC/G,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACtF,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACpF,OAAO,IAAI,mBAAmB,CAAC,WAAW,EAAE,UAAU,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC;AACjK,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,6BAA6B,CACpC,UAAkB,EAClB,OAAoB;IAEpB,MAAM,SAAS,GAA+D,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;IACjH,MAAM,UAAU,GAAG,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IACpF,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;QAAE,OAAO,SAAS,CAAC,CAAC,iCAAiC;IAChF,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAExB,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,UAAU,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzE,IAAI,KAAK,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAEvC,MAAM,MAAM,GAAG,EAAE,CAAC,0BAA0B,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IACzG,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IAC9C,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;QAAE,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAE5E,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,iBAAiB,IAAI,EAAE,EAAE,CAAC;QACjD,MAAM,aAAa,GAAG,EAAE,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC;QAC1D,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC;YAAE,SAAS;QAChD,MAAM,MAAM,GAAG,6BAA6B,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QACrE,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAC9C,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AAC1H;6EAC6E;AAC7E,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAEvC;;;;gDAIgD;AAChD,SAAS,2BAA2B,CAAC,QAAgB,EAAE,WAAyB;IAC9E,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,SAAS,IAAI,CAAC,MAAc;QAC1B,IAAI,KAAK,CAAC,MAAM,IAAI,uBAAuB;YAAE,OAAO;QACpD,IAAI,OAAmC,CAAC;QACxC,IAAI,CAAC;YACH,OAAO,GAAG,WAAW,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,wFAAwF;QAClG,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,MAAM,IAAI,uBAAuB;gBAAE,OAAO;YACpD,IAAI,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,SAAS;YACzD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3F,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,WAAW;QAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;2BAM2B;AAC3B,MAAM,4BAA4B,GAAG,0BAA0B,CAAC;AAChE;gGACgG;AAChG,MAAM,yBAAyB,GAAG,KAAK,CAAC;AAExC,MAAM,UAAU,2BAA2B,CAAC,QAAgB;IAC1D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,SAAS,IAAI,CAAC,MAAc;QAC1B,IAAI,KAAK,CAAC,MAAM,IAAI,yBAAyB;YAAE,OAAO;QACtD,IAAI,OAAmC,CAAC;QACxC,IAAI,CAAC;YACH,OAAO,GAAG,WAAW,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,wEAAwE;QAClF,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,MAAM,IAAI,yBAAyB;gBAAE,OAAO;YACtD,IAAI,4BAA4B,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,SAAS;YAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;gBAC5D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,CAAC;IACf,iGAAiG;IACjG,2FAA2F;IAC3F,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;AACtB,CAAC;AAED,SAAS,aAAa,CACpB,QAAgB,EAChB,sBAAoC,EAAE,EACtC,oBAA8B,EAAE,EAChC,UAAU,GAAG,KAAK;IAOlB,kGAAkG;IAClG,6FAA6F;IAC7F,kGAAkG;IAClG,iGAAiG;IACjG,oGAAoG;IACpG,gGAAgG;IAChG,mFAAmF;IACnF,MAAM,mBAAmB,GAAG,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC;IAE5F,IAAI,SAAS,GAAsB,EAAE,CAAC;IACtC,IAAI,OAAO,GAAuB,EAAE,CAAC;IACrC,IAAI,4BAA4B,GAAG,KAAK,CAAC;IACzC,IAAI,4BAA4B,GAA6B,EAAE,CAAC;IAEhE,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,UAAU,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzE,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,EAAE,CAAC,4BAA4B,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;QAC5E,CAAC;QAED,MAAM,MAAM,GAAG,EAAE,CAAC,0BAA0B,CAC1C,MAAM,EACN,EAAE,CAAC,GAAG,EACN,OAAO,CAAC,UAAU,CAAC,EACnB,SAAS,EACT,UAAU,CACX,CAAC;QAEF,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAC7B,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QACzB,4BAA4B,GAAG,MAAM,CAAC,MAAM,CAAC;QAE7C,4FAA4F;QAC5F,oBAAoB;QACpB,EAAE;QACF,8FAA8F;QAC9F,yDAAyD;QACzD,EAAE;QACF,mGAAmG;QACnG,mGAAmG;QACnG,oGAAoG;QACpG,gGAAgG;QAChG,8CAA8C;QAC9C,kGAAkG;QAClG,wFAAwF;QACxF,sEAAsE;QACtE,EAAE;QACF,kGAAkG;QAClG,kGAAkG;QAClG,mDAAmD;QACnD,IAAI,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YACpG,MAAM,SAAS,GAA+D,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;YACjH,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBAC3C,MAAM,aAAa,GAAG,EAAE,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC;gBAC1D,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC;oBAAE,SAAS;gBAChD,MAAM,MAAM,GAAG,6BAA6B,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;gBACrE,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC9C,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;YACpD,CAAC;YACD,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,SAAS,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACxE,8FAA8F;gBAC9F,gGAAgG;gBAChG,mFAAmF;gBACnF,6FAA6F;gBAC7F,0DAA0D;gBAC1D,MAAM,gBAAgB,GAAG,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,EAAwB,CAAC,CAAC;gBAC5H,OAAO,GAAG,EAAE,GAAG,gBAAgB,EAAE,GAAG,OAAO,EAAE,CAAC;gBAC9C,4BAA4B,GAAG,IAAI,CAAC;YACtC,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,8FAA8F;QAC9F,qGAAqG;QACrG,qGAAqG;QACrG,oGAAoG;QACpG,qGAAqG;QACrG,mGAAmG;QACnG,gGAAgG;QAChG,+CAA+C;QAC/C,MAAM,iBAAiB,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC;QAChE,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;YAClC,MAAM,SAAS,GAA+D,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;YACjH,KAAK,MAAM,UAAU,IAAI,iBAAiB,EAAE,CAAC;gBAC3C,MAAM,MAAM,GAAG,6BAA6B,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBAClE,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC9C,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;YACpD,CAAC;YACD,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;gBACrD,OAAO,GAAG,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,EAAwB,CAAC,CAAC;gBAC7G,4BAA4B,GAAG,IAAI,CAAC;YACtC,CAAC;QACH,CAAC;IACH,CAAC;IAED,4FAA4F;IAC5F,qGAAqG;IACrG,sGAAsG;IACtG,kGAAkG;IAClG,qGAAqG;IACrG,sGAAsG;IACtG,8FAA8F;IAC9F,mGAAmG;IACnG,8FAA8F;IAC9F,gGAAgG;IAChG,+FAA+F;IAC/F,qGAAqG;IACrG,6CAA6C;IAC7C,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1G,MAAM,UAAU,GAAG,2BAA2B,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;QAC9E,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,SAAS,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAC/D,4FAA4F;YAC5F,iGAAiG;YACjG,iGAAiG;YACjG,qFAAqF;YACrF,6FAA6F;YAC7F,6FAA6F;YAC7F,oDAAoD;YACpD,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC;QAC7B,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,SAAS,EAAE,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAC/D,OAAO,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,gBAAgB,EAAE,EAAE,CAAC,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3J,CAAC;IACD,MAAM,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC;QAC/B,SAAS,EAAE,SAAS;QACpB,6EAA6E;QAC7E,4EAA4E;QAC5E,6DAA6D;QAC7D,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO;QACvF,4BAA4B;KAC7B,CAAC,CAAC;IAEH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,4BAA4B,EAAE,CAAC;AACvE,CAAC;AAED,SAAS,iBAAiB,CAAC,SAAiB;IAC1C,IAAI,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,UAAU,CAAC;IACnF,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC;QAAE,OAAO,UAAU,CAAC;IACjF,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,UAAU,CAAC;IAClD,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,UAAU,CAAC;IACjD,IAAI,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IAChD,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,OAAO,CAAC;IAC/C,IAAI,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IAChD,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,OAAO,CAAC;IAC/C,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,OAAO,CAAC;IAC/C,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,OAAO,CAAC;IAC9C,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,qBAAqB,CAC5B,SAAiB,EACjB,OAAuD,EACvD,QAAgB;IAEhB,KAAK,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,OAAO,EAAE,CAAC;QACjD,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC5C,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC/B,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;oBACzD,OAAO,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBACvC,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,SAAS,KAAK,OAAO,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,OAAO,GAAG,CAAC,EAAE,CAAC;YACxE,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,gBAAgB,CAAC,SAAiB;IACzC,kHAAkH;IAClH,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACnC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,kBAAkB,CACzB,WAAmB,EACnB,SAAiB,EACjB,OAAuD,EACvD,QAAgB;IAEhB,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;IAC5D,CAAC;SAAM,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;SAAM,CAAC;QACN,UAAU,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;IAC9C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,UAAuC,EAAE;IAEzC,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IACtC,MAAM,QAAQ,GAA2B,EAAE,CAAC;IAC5C,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,EAAE;QACjC,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACpC,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,SAAS,CAAC;QACtD,UAAU,GAAG,GAAG,CAAC;IACnB,CAAC,CAAC;IACF,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IAE9E,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC3C,SAAS,CAAC,qBAAqB,CAAC,CAAC;IACjC,MAAM,aAAa,GAAG,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACvD,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC;IAC/B,MAAM,gBAAgB,GAAG,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpE,MAAM,mBAAmB,GAAG,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChG,MAAM,eAAe,GAAG,IAAI,GAAG,EAAmB,CAAC;IACnD,MAAM,YAAY,GAAG,CAAC,IAAY,EAAW,EAAE;QAC7C,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QACzB,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC;QACxC,MAAM,cAAc,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAC3G,IAAI,OAAO,GAAG,cAAc,CAAC;QAC7B,IAAI,CAAC,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;YACjD,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;YAC3D,MAAM,eAAe,GAAG,QAAQ,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACpF,MAAM,kBAAkB,GAAG,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACpF,OAAO,GAAG,CAAC,eAAe,KAAK,IAAI,IAAI,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBACjH,CAAC,CAAC,CAAC,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,kBAAkB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAChM,CAAC;QACD,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACnC,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IAC1H,SAAS,CAAC,kBAAkB,CAAC,CAAC;IAC9B,MAAM,OAAO,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,EAAE,EAAE,CAAC;IACrE,MAAM,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3H,MAAM,aAAa,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,KAAK,IAAI,SAAS,IAAI,OAAO,CAAC,gBAAgB;QACnK,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IACzH,SAAS,CAAC,UAAU,CAAC,CAAC;IACtB,MAAM,eAAe,GAAG,CAAC,GAAG,aAAa,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9F,IAAI,OAAO,CAAC,YAAY,EAAE,kBAAkB,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,kBAAkB,CAAC;QAAE,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;IAClL,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACjH,eAAe,CAAC,IAAI,CAAC,yGAAyG,CAAC,CAAC;IAClI,CAAC;IACD,IAAI,aAAa,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACjL,eAAe,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;IAC3F,CAAC;IACD,OAAO,CAAC,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IACjG,OAAO,CAAC,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IAC9F,OAAO,CAAC,iBAAiB,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,YAAY,CAAC;IACzF,OAAO,CAAC,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IACtI,MAAM,YAAY,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACrE,OAAO,CAAC,aAAa,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,aAAa,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACzF,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QACzB,OAAO,CAAC,YAAY,CAAC,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC;QACxE,OAAO,CAAC,YAAY,CAAC,SAAS,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC;IACvM,CAAC;IACD,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAExE,MAAM,UAAU,GAAG,KAAK,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,KAAK,CAAC;QACzE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAClG,gFAAgF;IAChF,MAAM,WAAW,GAAG,OAAO,CAAC,aAAa;SACtC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC9C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;IACvC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,4BAA4B,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,GAAG,UAAU,EAAE,GAAG,WAAW,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACjO,SAAS,CAAC,mBAAmB,CAAC,CAAC;IAC/B,IAAI,qBAAqB,GAAG,EAAE,CAAC,2BAA2B,CACxD,QAAQ,EACR,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EACR,eAAe,CAChB,CAAC;IAEF,MAAM,WAAW,GAAG,OAAO;SACxB,cAAc,EAAE;SAChB,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,YAAY,CAAC,kBAAkB,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACjK,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QACjC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAC1C,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QACvI,CAAC;IACH,CAAC;IAED,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;IAE9C,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,kBAAkB,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,GAAG,IAAI,gBAAgB,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,CAAC;YAC5F,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAqB,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5E,MAAM,UAAU,GAA2B,EAAE,CAAC;IAC9C,MAAM,UAAU,GAA0B,EAAE,CAAC;IAC7C,MAAM,UAAU,GAAG,IAAI,GAAG,CAAS,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACrF,KAAK,MAAM,IAAI,IAAI,aAAa;QAAE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,WAAW;YAAE,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACrG,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAS,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAE9F,SAAS,OAAO,CAAC,IAAY,EAAE,EAAU,EAAE,IAAwB;QACjE,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;QACpC,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO;QAC9B,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,SAAS,gBAAgB,CACvB,WAAmB,EACnB,GAAc,EACd,MAAc;QAEd,UAAU,CAAC,IAAI,CAAC;YACd,QAAQ,EAAE,WAAW;YACrB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,MAAM;YACN,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,QAAQ,EAAE,GAAG,CAAC,IAAI,KAAK,aAAa;SACrC,CAAC,CAAC;IACL,CAAC;IAED,SAAS,eAAe,CACtB,UAA6C,EAC7C,QAAgB,EAChB,GAAc;QAEd,UAAU,CAAC,IAAI,CAAC;YACd,UAAU;YACV,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,QAAQ;YACR,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,GAAG,CAAC,OAAO;SACrB,CAAC,CAAC;IACL,CAAC;IAED,SAAS,eAAe,CAAC,WAAmB,EAAE,QAAgB;QAC5D,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzB,OAAO,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC;IACrC,IAAI,2BAA2B,GAAG,CAAC,CAAC;IAEpC,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;QAC7B,MAAM,WAAW,GAAG,kBAAkB,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;QAC9D,IAAI,CAAC,WAAW,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,CAAC;YAAE,SAAS;QAC7D,IAAI,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;YAAE,SAAS;QAErE,MAAM,IAAI,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAC;QACnC,IAAI,KAAK,IAAI,EAAE,CAAC,eAAe,CAAC,MAAM;YAAE,eAAe,CAAC,IAAI,CAAC,6EAA6E,WAAW,EAAE,CAAC,CAAC;QACzJ,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;gBACnB,gBAAgB,CAAC,WAAW,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC;gBACtD,eAAe,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;gBAChD,SAAS;YACX,CAAC;YAED,IAAI,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACjC,eAAe,CAAC,kBAAkB,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;gBACtD,SAAS;YACX,CAAC;YAED,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC3D,MAAM,mBAAmB,GAAG,iBAAiB,KAAK,UAAU,IAAI,iBAAiB,KAAK,UAAU,IAAI,iBAAiB,KAAK,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;YACpL,2FAA2F;YAC3F,IAAI,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzC,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;gBACpI,MAAM,SAAS,GAAG,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,mBAAmB,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,eAAe,CAAC,OAAO,IAAI,QAAQ,CAAC,CAAC;gBAC5K,MAAM,MAAM,GAAG,SAAS,IAAI,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;gBACpE,IAAI,MAAM,IAAI,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC9C,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;oBACvC,eAAe,CAAC,iBAAiB,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;oBACrD,SAAS;gBACX,CAAC;gBACD,gBAAgB,CAAC,WAAW,EAAE,GAAG,EAAE,sDAAsD,CAAC,CAAC;gBAC3F,eAAe,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;gBAChD,SAAS;YACX,CAAC;YACD,MAAM,UAAU,GAAG,EAAE,CAAC,iBAAiB,CACrC,mBAAmB,EACnB,EAAE,CAAC,QAAQ,EACX,eAAe,EACf,EAAE,CAAC,GAAG,EACN,qBAAqB,CACtB,CAAC;YAEF,IAAI,CAAC,UAAU,CAAC,cAAc,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC;gBAC9E,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAClD,IAAI,QAAQ,KAAK,UAAU,IAAI,QAAQ,KAAK,UAAU,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;oBAC/E,MAAM,QAAQ,GAAG,kBAAkB,CACjC,EAAE,CAAC,QAAQ,EACX,mBAAmB,EACnB,OAAO,CAAC,WAAW,EACnB,QAAQ,CACT,CAAC;oBACF,IAAI,QAAQ,EAAE,CAAC;wBACb,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;wBACxD,IAAI,QAAQ,EAAE,CAAC;4BACb,eAAe,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;4BACvC,eAAe,CAAC,gBAAgB,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;4BACpD,SAAS;wBACX,CAAC;oBACH,CAAC;oBACD,gBAAgB,CAAC,WAAW,EAAE,GAAG,EAAE,4BAA4B,CAAC,CAAC;oBACjE,eAAe,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;gBAClD,CAAC;qBAAM,CAAC;oBACN,eAAe,CAAC,kBAAkB,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;gBACxD,CAAC;gBACD,SAAS;YACX,CAAC;YAED,MAAM,QAAQ,GAAG,UAAU,CAAC,cAAc,CAAC,gBAAgB,CAAC;YAC5D,MAAM,SAAS,GAAG,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACzD,0EAA0E;YAC1E,8EAA8E;YAC9E,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,EAAE,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACtH,IAAI,WAAW,IAAI,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC7C,eAAe,CAAC,IAAI,CAAC,yDAAyD,WAAW,OAAO,WAAW,EAAE,CAAC,CAAC;gBAC/G,SAAS;YACX,CAAC;YACD,IAAI,KAAK,IAAI,UAAU,CAAC,cAAc,CAAC,uBAAuB,IAAI,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;gBAChI,eAAe,CAAC,kBAAkB,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;gBACtD,SAAS;YACX,CAAC;YAED,IAAI,SAAS,IAAI,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5C,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;oBAChF,qEAAqE;oBACrE,yEAAyE;oBACzE,kEAAkE;oBAClE,IAAI,CAAC;wBACH,IAAI,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,IAAI,2BAA2B,IAAI,GAAG,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI;4BAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;wBACjM,MAAM,QAAQ,GAAG,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;wBAC7G,IAAK,QAAwD,CAAC,gBAAgB,EAAE,MAAM;4BAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;wBACzI,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;wBAC3B,2BAA2B,EAAE,CAAC;oBAChC,CAAC;oBAAC,MAAM,CAAC;wBACP,eAAe,CAAC,IAAI,CAAC,8EAA8E,SAAS,EAAE,CAAC,CAAC;wBAChH,SAAS;oBACX,CAAC;gBACH,CAAC;gBACD,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACnC,OAAO,CAAC,WAAW,EAAE,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC1C,eAAe,CAAC,iBAAiB,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;gBACrD,SAAS;YACX,CAAC;YAED,IAAI,SAAS,IAAI,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3C,eAAe,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;gBACxC,eAAe,CAAC,gBAAgB,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;gBACpD,SAAS;YACX,CAAC;YAED,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAClD,IAAI,QAAQ,KAAK,UAAU,IAAI,QAAQ,KAAK,UAAU,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;gBAC/E,MAAM,MAAM,GAAG,SAAS;oBACtB,CAAC,CAAC,sCAAsC;oBACxC,CAAC,CAAC,6BAA6B,CAAC;gBAClC,gBAAgB,CAAC,WAAW,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;gBAC3C,eAAe,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;YAClD,CAAC;iBAAM,CAAC;gBACN,eAAe,CAAC,kBAAkB,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;IACH,CAAC;IAED,+EAA+E;IAC/E,8EAA8E;IAC9E,iFAAiF;IACjF,IAAI,KAAK,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;QACxE,MAAM,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3E,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAClH,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAC/C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAoB,CAAC;YAC7C,KAAK,MAAM,IAAI,IAAI,KAAK;gBAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACjG,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;YAAC,MAAM,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;YAC7D,OAAO,OAAO,CAAC,MAAM;gBAAE,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAG,CAAC,IAAI,EAAE;oBAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;wBAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;wBAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAAC,CAAC;YAC5J,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC;YAC1D,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACzH,MAAM,kBAAkB,GAAG,UAAU,CAAC,IAAI,CAAC;YAC3C,IAAI,OAAO,CAAC,2BAA2B,EAAE,CAAC;gBACxC,MAAM,OAAO,GAAG,CAAC,MAAgB,EAAE,EAAE;oBACnC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;oBAAC,MAAM,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;oBAC3D,OAAO,KAAK,CAAC,MAAM;wBAAE,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAG,CAAC,IAAI,EAAE;4BAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gCAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gCAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;4BAAC,CAAC;oBAClJ,OAAO,OAAO,CAAC;gBACjB,CAAC,CAAC;gBACF,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;gBACpD,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,OAAO,IAAI,CAAC,IAAI,mEAAmE,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC1L,4EAA4E;gBAC5E,iFAAiF;gBACjF,4EAA4E;gBAC5E,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;oBACpE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;oBACxD,OAAO,CAAC,wBAAwB,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;oBAC1I,KAAK,MAAM,IAAI,IAAI,OAAO;wBAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC1D,CAAC;YACH,CAAC;YACD,KAAK,IAAI,CAAC,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;gBAAE,IAAI,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;oBAAE,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC3H,IAAI,GAAG,EAAE,WAAW;gBAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,kBAAkB,EAAE,KAAK,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,CAAC,IAAI,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,OAAO,CAAC,wBAAwB,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9N,CAAC;IACH,CAAC;IACD,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QAChH,eAAe,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;IAC9E,CAAC;IACD,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC;IACjC,IAAI,KAAK,IAAI,UAAU,CAAC,MAAM;QAAE,eAAe,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC;IAClI,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAAE,eAAe,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;IAC/K,OAAO,CAAC,eAAe,GAAG,CAAC,GAAG,eAAe,CAAC,CAAC;IAC/C,SAAS,CAAC,+BAA+B,CAAC,CAAC;IAE3C,qGAAqG;IACrG,8FAA8F;IAC9F,iGAAiG;IACjG,4FAA4F;IAC5F,iGAAiG;IACjG,yFAAyF;IACzF,uGAAuG;IACvG,iGAAiG;IACjG,sGAAsG;IACtG,mGAAmG;IACnG,+FAA+F;IAC/F,kGAAkG;IAClG,oGAAoG;IACpG,iGAAiG;IACjG,sGAAsG;IACtG,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAC7C,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzG,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,mBAAmB,CAAC,mBAAmB,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAAC;IAE5H,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,iBAAiB,GAAG,OAAO,CAAC,WAAW;QAC3C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG;QACxE,CAAC,CAAC,SAAS,CAAC;IAEd,qEAAqE;IACrE,OAAO,GAAG,SAAkC,CAAC;IAC7C,qBAAqB,GAAG,SAAgD,CAAC;IACzE,IAAI,OAAO,UAAU,CAAC,EAAE,KAAK,UAAU,EAAE,CAAC;QACxC,IAAI,CAAC;YAAC,UAAU,CAAC,EAAE,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,qBAAqB,GAAG,OAAO,CAAC,WAAW;QAC/C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG;QACxE,CAAC,CAAC,SAAS,CAAC;IAEd,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;IACzE,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;IAErE,MAAM,SAAS,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IACjD,MAAM,sBAAsB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IAC1E,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CACtE,UAAU,CAAC,MAAM,EACjB,sBAAsB,EACtB,SAAS,CAAC,aAAa,EACvB,OAAO,CAAC,KAAK,CAAC,WAAW,EACzB,4BAA4B,CAC7B,CAAC;IAEF,MAAM,kBAAkB,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;IAC1E,MAAM,kBAAkB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,kBAAkB,CAAC,CAAC,MAAM,CAAC;IAChG,MAAM,yBAAyB,GAAG,UAAU,CAAC,MAAM,CACjD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,kBAAkB,CAC3C,CAAC,MAAM,CAAC;IACT,MAAM,MAAM,GAAG;QACb,cAAc,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,iBAAiB,CAAC,CAAC,MAAM;QACnF,aAAa,EAAE,kBAAkB;QACjC,eAAe,EAAE,kBAAkB;QACnC,eAAe,EAAE,yBAAyB;QAC1C,UAAU,EAAE,UAAU,CAAC,MAAM;KAC9B,CAAC;IAEF,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,SAAS,CAAC;IACvE,SAAS,CAAC,mBAAmB,CAAC,CAAC;IAE/B,MAAM,WAAW,GAA4B;QAC3C,UAAU;QACV,QAAQ;QACR,cAAc,EAAE,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,WAAY,CAAC,CAAC,CAAC;QAC5H,UAAU,EAAE,iBAAiB;QAC7B,qBAAqB;QACrB,eAAe,EAAE,WAAW;QAC5B,WAAW,EAAE,WAAW;KACzB,CAAC;IAEF,OAAO;QACL,KAAK;QACL,eAAe;QACf,OAAO;QACP,UAAU;QACV,UAAU;QACV,MAAM;QACN,kBAAkB;QAClB,yBAAyB;QACzB,kBAAkB;QAClB,WAAW;QACX,UAAU;QACV,SAAS;QACT,4BAA4B;KAC7B,CAAC;AACJ,CAAC;AAID,oGAAoG;AACpG,MAAM,UAAU,yBAAyB,CAAC,QAAgB;IACxD,MAAM,UAAU,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IACvD,IAAI,UAAU,CAAC,OAAO;QAAE,OAAO,UAAU,CAAC;IAC1C,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACrC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,oCAAoC,EAAE,CAAC;IACrG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,4BAA4B,EAAE,CAAC;IAChH,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,4CAA4C,EAAE,CAAC;IACtL,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,+EAA+E,EAAE,CAAC;AACrH,CAAC;AAWD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,yBAAyB,CAAC,QAAgB;IACxD,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC;QAChD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,sCAAsC,EAAE,CAAC;IACzG,CAAC;IACD,MAAM,MAAM,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC;IACrD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO;YACL,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,MAAM,CAAC,MAAM;YAC1B,MAAM,EAAE,8BAA8B,MAAM,CAAC,MAAM,6DAA6D;SACjH,CAAC;IACJ,CAAC;IACD,OAAO;QACL,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,CAAC;QACd,MAAM,EAAE,oGAAoG;KAC7G,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAsB;IAC5D,MAAM,QAAQ,GAA4B,EAAE,CAAC;IAC7C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAE1D,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,QAAQ,CAAC,IAAI,CAAC;gBACZ,KAAK,EAAE,UAAU;gBACjB,OAAO,EAAE,+BAA+B,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,EAAE,EAAE;aAClE,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YAC5B,QAAQ,CAAC,IAAI,CAAC;gBACZ,KAAK,EAAE,UAAU;gBACjB,OAAO,EAAE,6BAA6B,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,EAAE,EAAE;aAChE,CAAC,CAAC;QACL,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9D,QAAQ,CAAC,IAAI,CAAC;gBACZ,KAAK,EAAE,UAAU;gBACjB,OAAO,EAAE,iCAAiC,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,EAAE,EAAE;aACpE,CAAC,CAAC;QACL,CAAC;QACD,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1D,QAAQ,CAAC,IAAI,CAAC;gBACZ,KAAK,EAAE,UAAU;gBACjB,OAAO,EAAE,iCAAiC,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,EAAE,EAAE;aACpE,CAAC,CAAC;QACL,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACvD,QAAQ,CAAC,IAAI,CAAC;gBACZ,KAAK,EAAE,UAAU;gBACjB,OAAO,EAAE,iCAAiC,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,EAAE,EAAE;aACpE,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,eAAe,GAA6B,EAAE,CAAC;IACrD,MAAM,eAAe,GAA6B,EAAE,CAAC;IACrD,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3B,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YAC7C,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC;YAC3C,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7D,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;QAC1D,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1D,QAAQ,CAAC,IAAI,CAAC;gBACZ,KAAK,EAAE,UAAU;gBACjB,OAAO,EAAE,kCAAkC,IAAI,EAAE;aAClD,CAAC,CAAC;QACL,CAAC;QACD,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7D,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;QAC1D,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1D,QAAQ,CAAC,IAAI,CAAC;gBACZ,KAAK,EAAE,UAAU;gBACjB,OAAO,EAAE,kCAAkC,IAAI,EAAE;aAClD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/B,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACpD,QAAQ,CAAC,IAAI,CAAC;gBACZ,KAAK,EAAE,SAAS;gBAChB,OAAO,EAAE,kBAAkB,IAAI,CAAC,IAAI,EAAE;aACvC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAC;QACxE,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,QAAQ,CAAC,IAAI,CAAC;gBACZ,KAAK,EAAE,UAAU;gBACjB,OAAO,EAAE,uCAAuC,IAAI,CAAC,IAAI,EAAE;aAC5D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO;QACL,QAAQ;QACR,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,MAAM;QACpE,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,MAAM;QAClE,KAAK,EAAE;YACL,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM;YAC7B,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM;YAC7D,cAAc,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM;YAC3D,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM;YAC7B,cAAc,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,MAAM;SACrE;KACF,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,eAAuB,EACvB,sBAA8B,EAC9B,sBAA8B,EAC9B,eAAuB,EACvB,4BAAqC;IAErC,oFAAoF;IACpF,mFAAmF;IACnF,wFAAwF;IACxF,kEAAkE;IAClE,IAAI,eAAe,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC3C,IAAI,sBAAsB,GAAG,CAAC;QAAE,OAAO,QAAQ,CAAC;IAChD,IAAI,sBAAsB,GAAG,CAAC;QAAE,OAAO,QAAQ,CAAC;IAChD,IAAI,eAAe,GAAG,CAAC;QAAE,OAAO,QAAQ,CAAC;IACzC,uFAAuF;IACvF,sFAAsF;IACtF,qFAAqF;IACrF,4CAA4C;IAC5C,IAAI,4BAA4B;QAAE,OAAO,SAAS,CAAC;IACnD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;gDA0BgD;AAChD,MAAM,UAAU,wBAAwB,CAAC,MAA6B,EAAE,YAAsB;IAC5F,IAAI,MAAM,CAAC,eAAe,EAAE,MAAM;QAAE,OAAO,QAAQ,CAAC;IACpD,mGAAmG;IACnG,mGAAmG;IACnG,+FAA+F;IAC/F,sGAAsG;IACtG,mGAAmG;IACnG,IAAI,MAAM,CAAC,UAAU,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,UAAU,CAAC;IAC7D,wGAAwG;IACxG,iGAAiG;IACjG,0FAA0F;IAC1F,6FAA6F;IAC7F,kEAAkE;IAClE,EAAE;IACF,wGAAwG;IACxG,sGAAsG;IACtG,oGAAoG;IACpG,iGAAiG;IACjG,+FAA+F;IAC/F,IAAI,MAAM,CAAC,SAAS,CAAC,aAAa,GAAG,CAAC;QAAE,OAAO,QAAQ,CAAC;IACxD,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,UAAU,CAAC;IAE7D,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/C,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,IAAI,CAAC;YAAE,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7F,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,IAAI,CAAC;YAAE,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7F,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;IAEzC,MAAM,kBAAkB,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7H,IAAI,kBAAkB;QAAE,OAAO,QAAQ,CAAC;IAExC,gGAAgG;IAChG,yFAAyF;IACzF,uFAAuF;IACvF,OAAO,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAA6B;IACvD,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IACzK,OAAO,IAAI,CAAC,SAAS,CACnB;QACE,OAAO;QACP,KAAK,EAAE;YACL,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB;QACD,UAAU;QACV,UAAU;QACV,MAAM;QACN,kBAAkB;QAClB,yBAAyB;QACzB,kBAAkB;QAClB,WAAW;QACX,UAAU;QACV,SAAS;KACV,EACD,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EACvE,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -1,9 +1,11 @@
1
1
  import { extname, posix } from "node:path";
2
+ import { isGoDiscoveryIgnoredPath } from "./adapters/go.js";
3
+ import { inVuePackage } from "./vue-scope.js";
2
4
  import { refineConfidenceForDelta } from "./graph.js";
3
5
  import { repositoryLayout, UNKNOWN_REPOSITORY_LAYOUT } from "./layout.js";
4
6
  import { DEFAULT_TEST_FILE_MATCHER, matchesGlob as matchesTestGlob, testFileMatcherForProfile } from "./test-discovery.js";
5
7
  import { resolveTestFixtureOwners } from "./test-fixture-ownership.js";
6
- const SOURCE_EXTENSIONS = new Set([".ts", ".tsx", ".js", ".jsx", ".mjs", ".cjs", ".mts", ".cts", ".vue", ".go"]);
8
+ const SOURCE_EXTENSIONS = new Set([".ts", ".tsx", ".js", ".jsx", ".mjs", ".cjs", ".mts", ".cts", ".vue", ".go", ".java", ".kt"]);
7
9
  const ASSET_EXTENSIONS = new Set([".css", ".scss", ".sass", ".less", ".json", ".jsonc", ".svg", ".png", ".jpg", ".jpeg", ".gif", ".webp", ".ico", ".bmp", ".woff", ".woff2", ".ttf", ".otf", ".eot", ".wasm", ".md", ".txt"]);
8
10
  const NEXT_ENTRY_NAMES = new Set(["page", "layout", "route", "api", "loading", "error", "template", "not-found", "middleware", "generatemetadata", "generatestaticparams"]);
9
11
  function isSourceFilePath(filePath) { return SOURCE_EXTENSIONS.has(extname(filePath).toLowerCase()); }
@@ -270,8 +272,23 @@ export class ImpactAnalyzer {
270
272
  const evidence = [];
271
273
  const riskSignals = [];
272
274
  const fallbackReasons = [...(graphResult.adapterBlockers ?? [])];
275
+ if (profile.vueScope) {
276
+ const scope = profile.vueScope;
277
+ if (delta.files.some(file => allChangePaths(file).some(path => !inVuePackage(path, scope.packageRoot))))
278
+ fallbackReasons.push("Changes outside the declared Vue package require full validation");
279
+ const setupDependencies = new Set((profile.vueSetupPaths ?? []).flatMap(path => [path, ...graph.transitiveDependenciesOf(path)]));
280
+ if (delta.files.some(file => allChangePaths(file).some(path => setupDependencies.has(path))))
281
+ fallbackReasons.push("Vue suite configuration or shared setup dependency changed; full validation required");
282
+ }
283
+ if (profile.adapters?.some(adapter => adapter.id === "go") && delta.files.some(file => allChangePaths(file).some(isGoDiscoveryIgnoredPath))) {
284
+ fallbackReasons.push("Changes in Go discovery-excluded paths require full validation, including runtime test data");
285
+ }
286
+ const excludedGoRoots = profile.goExcludedModuleRoots ?? [];
287
+ if (delta.files.some(file => allChangePaths(file).some(path => excludedGoRoots.some(root => path.startsWith(root))))) {
288
+ fallbackReasons.push("Changes in a Go module outside the declared root-module scope require full validation");
289
+ }
273
290
  for (const file of delta.files) {
274
- if (allChangePaths(file).some((path) => /(?:^|\/)(?:go\.(?:mod|sum|work)|go\.work\.sum|(?:vite|vue|nuxt)\.config\.[^/]+)$/.test(path))) {
291
+ if (allChangePaths(file).some((path) => /(?:^|\/)(?:diffci\.json|go\.(?:mod|sum|work)|go\.work\.sum|(?:vite|vue|nuxt)\.config\.[^/]+)$/.test(path))) {
275
292
  fallbackReasons.push(`Language/framework configuration changed: ${file.path}`);
276
293
  }
277
294
  }
@@ -314,7 +331,7 @@ export class ImpactAnalyzer {
314
331
  }
315
332
  this.handleStructuralNextLayout(changedImpacts, profile, affectedEntryPoints, affectedSources, evidence);
316
333
  this.handleAddedEntryPoints(delta, affectedEntryPoints, affectedSources, affectedTests, evidence, fallbackReasons);
317
- this.collectAlwaysRunTests(profile, graph, affectedTests, evidence);
334
+ this.collectAlwaysRunTests(profile, graph, affectedTests, evidence, graphResult.profile.vueRuntimeAlwaysRunPaths ?? []);
318
335
  // Changed-test self-selection invariant (2026-08-24): every executable directly-changed test
319
336
  // (added / modified / renamed-destination / copied-destination) MUST be present in the final
320
337
  // selected-test set. This is a defense-in-depth guard over the traversal above so a selection
@@ -579,8 +596,8 @@ export class ImpactAnalyzer {
579
596
  }
580
597
  return result;
581
598
  }
582
- collectAlwaysRunTests(profile, graph, affectedTests, evidence) {
583
- const alwaysRunPaths = new Set();
599
+ collectAlwaysRunTests(profile, graph, affectedTests, evidence, graphRuntimeTests) {
600
+ const alwaysRunPaths = new Set([...(profile.vueTypeTestPaths ?? []), ...(profile.vueRuntimeAlwaysRunPaths ?? []), ...graphRuntimeTests]);
584
601
  const knownTestPaths = new Set();
585
602
  for (const testLocation of profile.tests) {
586
603
  for (const node of graph.nodes) {