homegraph 0.9.10 → 1.1.1
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.
- package/LICENSE +21 -21
- package/README.md +243 -193
- package/dist/bin/fatal-handler.d.ts +20 -0
- package/dist/bin/fatal-handler.d.ts.map +1 -0
- package/dist/bin/fatal-handler.js +118 -0
- package/dist/bin/fatal-handler.js.map +1 -0
- package/dist/bin/homegraph.d.ts +6 -6
- package/dist/bin/homegraph.js +532 -109
- package/dist/bin/homegraph.js.map +1 -1
- package/dist/bin/node-version-check.d.ts +4 -4
- package/dist/bin/node-version-check.js +12 -12
- package/dist/bin/uninstall.d.ts +1 -1
- package/dist/bin/uninstall.js +1 -1
- package/dist/context/index.d.ts.map +1 -1
- package/dist/context/index.js +8 -1
- package/dist/context/index.js.map +1 -1
- package/dist/db/index.d.ts +22 -1
- package/dist/db/index.d.ts.map +1 -1
- package/dist/db/index.js +48 -2
- package/dist/db/index.js.map +1 -1
- package/dist/db/migrations.d.ts +1 -1
- package/dist/db/migrations.d.ts.map +1 -1
- package/dist/db/migrations.js +26 -17
- package/dist/db/migrations.js.map +1 -1
- package/dist/db/queries.d.ts +21 -1
- package/dist/db/queries.d.ts.map +1 -1
- package/dist/db/queries.js +180 -137
- package/dist/db/queries.js.map +1 -1
- package/dist/db/schema.sql +152 -151
- package/dist/db/sqlite-adapter.d.ts +1 -1
- package/dist/db/sqlite-adapter.js +3 -3
- package/dist/directory.d.ts +87 -6
- package/dist/directory.d.ts.map +1 -1
- package/dist/directory.js +319 -57
- package/dist/directory.js.map +1 -1
- package/dist/errors.d.ts +15 -15
- package/dist/errors.js +20 -20
- package/dist/extraction/astro-extractor.d.ts +79 -0
- package/dist/extraction/astro-extractor.d.ts.map +1 -0
- package/dist/extraction/astro-extractor.js +320 -0
- package/dist/extraction/astro-extractor.js.map +1 -0
- package/dist/extraction/context.d.ts +1 -1
- package/dist/extraction/context.js +1 -1
- package/dist/extraction/extraction-version.d.ts +2 -2
- package/dist/extraction/extraction-version.d.ts.map +1 -1
- package/dist/extraction/extraction-version.js +2 -2
- package/dist/extraction/extraction-version.js.map +1 -1
- package/dist/extraction/function-ref.d.ts +118 -0
- package/dist/extraction/function-ref.d.ts.map +1 -0
- package/dist/extraction/function-ref.js +727 -0
- package/dist/extraction/function-ref.js.map +1 -0
- package/dist/extraction/generated-detection.d.ts.map +1 -1
- package/dist/extraction/generated-detection.js +3 -0
- package/dist/extraction/generated-detection.js.map +1 -1
- package/dist/extraction/grammars.d.ts +15 -5
- package/dist/extraction/grammars.d.ts.map +1 -1
- package/dist/extraction/grammars.js +44 -10
- package/dist/extraction/grammars.js.map +1 -1
- package/dist/extraction/index.d.ts +37 -0
- package/dist/extraction/index.d.ts.map +1 -1
- package/dist/extraction/index.js +562 -70
- package/dist/extraction/index.js.map +1 -1
- package/dist/extraction/languages/arkts-viewtree.d.ts +22 -0
- package/dist/extraction/languages/arkts-viewtree.d.ts.map +1 -0
- package/dist/extraction/languages/arkts-viewtree.js +133 -0
- package/dist/extraction/languages/arkts-viewtree.js.map +1 -0
- package/dist/extraction/languages/arkts.d.ts.map +1 -1
- package/dist/extraction/languages/arkts.js +211 -20
- package/dist/extraction/languages/arkts.js.map +1 -1
- package/dist/extraction/languages/c-cpp.d.ts +8 -0
- package/dist/extraction/languages/c-cpp.d.ts.map +1 -1
- package/dist/extraction/languages/c-cpp.js +104 -2
- package/dist/extraction/languages/c-cpp.js.map +1 -1
- package/dist/extraction/languages/csharp.d.ts.map +1 -1
- package/dist/extraction/languages/csharp.js +58 -3
- package/dist/extraction/languages/csharp.js.map +1 -1
- package/dist/extraction/languages/dart.d.ts.map +1 -1
- package/dist/extraction/languages/dart.js +183 -1
- package/dist/extraction/languages/dart.js.map +1 -1
- package/dist/extraction/languages/go.d.ts.map +1 -1
- package/dist/extraction/languages/go.js +37 -0
- package/dist/extraction/languages/go.js.map +1 -1
- package/dist/extraction/languages/index.d.ts.map +1 -1
- package/dist/extraction/languages/index.js +2 -0
- package/dist/extraction/languages/index.js.map +1 -1
- package/dist/extraction/languages/java.d.ts.map +1 -1
- package/dist/extraction/languages/java.js +241 -0
- package/dist/extraction/languages/java.js.map +1 -1
- package/dist/extraction/languages/javascript.d.ts.map +1 -1
- package/dist/extraction/languages/javascript.js +16 -0
- package/dist/extraction/languages/javascript.js.map +1 -1
- package/dist/extraction/languages/kotlin.d.ts.map +1 -1
- package/dist/extraction/languages/kotlin.js +94 -0
- package/dist/extraction/languages/kotlin.js.map +1 -1
- package/dist/extraction/languages/objc.d.ts.map +1 -1
- package/dist/extraction/languages/objc.js +42 -0
- package/dist/extraction/languages/objc.js.map +1 -1
- package/dist/extraction/languages/pascal.d.ts.map +1 -1
- package/dist/extraction/languages/pascal.js +11 -0
- package/dist/extraction/languages/pascal.js.map +1 -1
- package/dist/extraction/languages/php.d.ts.map +1 -1
- package/dist/extraction/languages/php.js +77 -1
- package/dist/extraction/languages/php.js.map +1 -1
- package/dist/extraction/languages/r.d.ts +3 -0
- package/dist/extraction/languages/r.d.ts.map +1 -0
- package/dist/extraction/languages/r.js +314 -0
- package/dist/extraction/languages/r.js.map +1 -0
- package/dist/extraction/languages/rust.d.ts.map +1 -1
- package/dist/extraction/languages/rust.js +29 -0
- package/dist/extraction/languages/rust.js.map +1 -1
- package/dist/extraction/languages/scala.d.ts.map +1 -1
- package/dist/extraction/languages/scala.js +44 -9
- package/dist/extraction/languages/scala.js.map +1 -1
- package/dist/extraction/languages/swift.d.ts.map +1 -1
- package/dist/extraction/languages/swift.js +61 -0
- package/dist/extraction/languages/swift.js.map +1 -1
- package/dist/extraction/languages/typescript.d.ts +13 -0
- package/dist/extraction/languages/typescript.d.ts.map +1 -1
- package/dist/extraction/languages/typescript.js +38 -0
- package/dist/extraction/languages/typescript.js.map +1 -1
- package/dist/extraction/liquid-extractor.d.ts.map +1 -1
- package/dist/extraction/liquid-extractor.js +4 -1
- package/dist/extraction/liquid-extractor.js.map +1 -1
- package/dist/extraction/parse-worker.js +4 -1
- package/dist/extraction/parse-worker.js.map +1 -1
- package/dist/extraction/svelte-extractor.d.ts.map +1 -1
- package/dist/extraction/svelte-extractor.js +6 -3
- package/dist/extraction/svelte-extractor.js.map +1 -1
- package/dist/extraction/tree-sitter-helpers.d.ts.map +1 -1
- package/dist/extraction/tree-sitter-helpers.js +59 -10
- package/dist/extraction/tree-sitter-helpers.js.map +1 -1
- package/dist/extraction/tree-sitter-types.d.ts +29 -0
- package/dist/extraction/tree-sitter-types.d.ts.map +1 -1
- package/dist/extraction/tree-sitter.d.ts +192 -0
- package/dist/extraction/tree-sitter.d.ts.map +1 -1
- package/dist/extraction/tree-sitter.js +1553 -45
- package/dist/extraction/tree-sitter.js.map +1 -1
- package/dist/extraction/vue-extractor.d.ts.map +1 -1
- package/dist/extraction/vue-extractor.js +6 -3
- package/dist/extraction/vue-extractor.js.map +1 -1
- package/dist/extraction/wasm/tree-sitter-c_sharp.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-pascal.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-r.wasm +0 -0
- package/dist/graph/traversal.d.ts.map +1 -1
- package/dist/graph/traversal.js +11 -2
- package/dist/graph/traversal.js.map +1 -1
- package/dist/index.d.ts +64 -23
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +137 -41
- package/dist/index.js.map +1 -1
- package/dist/installer/config-writer.d.ts +1 -1
- package/dist/installer/config-writer.js +1 -1
- package/dist/installer/index.d.ts +4 -4
- package/dist/installer/index.d.ts.map +1 -1
- package/dist/installer/index.js +100 -73
- package/dist/installer/index.js.map +1 -1
- package/dist/installer/instructions-template.d.ts +34 -11
- package/dist/installer/instructions-template.d.ts.map +1 -1
- package/dist/installer/instructions-template.js +44 -12
- package/dist/installer/instructions-template.js.map +1 -1
- package/dist/installer/targets/antigravity.d.ts +6 -6
- package/dist/installer/targets/antigravity.js +14 -14
- package/dist/installer/targets/claude.d.ts +19 -13
- package/dist/installer/targets/claude.d.ts.map +1 -1
- package/dist/installer/targets/claude.js +97 -29
- package/dist/installer/targets/claude.js.map +1 -1
- package/dist/installer/targets/codebuddy.d.ts +17 -0
- package/dist/installer/targets/codebuddy.d.ts.map +1 -0
- package/dist/installer/targets/codebuddy.js +150 -0
- package/dist/installer/targets/codebuddy.js.map +1 -0
- package/dist/installer/targets/codex.js +5 -7
- package/dist/installer/targets/codex.js.map +1 -1
- package/dist/installer/targets/cursor.d.ts +1 -1
- package/dist/installer/targets/cursor.js +7 -7
- package/dist/installer/targets/deveco.d.ts +23 -0
- package/dist/installer/targets/deveco.d.ts.map +1 -0
- package/dist/installer/targets/deveco.js +217 -0
- package/dist/installer/targets/deveco.js.map +1 -0
- package/dist/installer/targets/gemini.js +5 -7
- package/dist/installer/targets/gemini.js.map +1 -1
- package/dist/installer/targets/hermes.js +15 -15
- package/dist/installer/targets/kiro.d.ts +1 -1
- package/dist/installer/targets/kiro.js +4 -4
- package/dist/installer/targets/opencode.d.ts +9 -1
- package/dist/installer/targets/opencode.d.ts.map +1 -1
- package/dist/installer/targets/opencode.js +92 -41
- package/dist/installer/targets/opencode.js.map +1 -1
- package/dist/installer/targets/registry.d.ts.map +1 -1
- package/dist/installer/targets/registry.js +4 -0
- package/dist/installer/targets/registry.js.map +1 -1
- package/dist/installer/targets/shared.d.ts +28 -4
- package/dist/installer/targets/shared.d.ts.map +1 -1
- package/dist/installer/targets/shared.js +32 -15
- package/dist/installer/targets/shared.js.map +1 -1
- package/dist/installer/targets/types.d.ts +9 -2
- package/dist/installer/targets/types.d.ts.map +1 -1
- package/dist/mcp/daemon-manager.d.ts +42 -0
- package/dist/mcp/daemon-manager.d.ts.map +1 -0
- package/dist/mcp/daemon-manager.js +129 -0
- package/dist/mcp/daemon-manager.js.map +1 -0
- package/dist/mcp/daemon-paths.d.ts +1 -1
- package/dist/mcp/daemon-paths.js +3 -3
- package/dist/mcp/daemon-registry.d.ts +47 -0
- package/dist/mcp/daemon-registry.d.ts.map +1 -0
- package/dist/mcp/daemon-registry.js +229 -0
- package/dist/mcp/daemon-registry.js.map +1 -0
- package/dist/mcp/daemon.d.ts.map +1 -1
- package/dist/mcp/daemon.js +27 -6
- package/dist/mcp/daemon.js.map +1 -1
- package/dist/mcp/dynamic-boundaries.d.ts +41 -0
- package/dist/mcp/dynamic-boundaries.d.ts.map +1 -0
- package/dist/mcp/dynamic-boundaries.js +359 -0
- package/dist/mcp/dynamic-boundaries.js.map +1 -0
- package/dist/mcp/engine.d.ts +4 -4
- package/dist/mcp/engine.d.ts.map +1 -1
- package/dist/mcp/engine.js +32 -24
- package/dist/mcp/engine.js.map +1 -1
- package/dist/mcp/index.d.ts +8 -7
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +39 -18
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/liveness-watchdog.d.ts +18 -0
- package/dist/mcp/liveness-watchdog.d.ts.map +1 -0
- package/dist/mcp/liveness-watchdog.js +207 -0
- package/dist/mcp/liveness-watchdog.js.map +1 -0
- package/dist/mcp/proxy.d.ts +6 -0
- package/dist/mcp/proxy.d.ts.map +1 -1
- package/dist/mcp/proxy.js +75 -18
- package/dist/mcp/proxy.js.map +1 -1
- package/dist/mcp/server-instructions.d.ts +22 -7
- package/dist/mcp/server-instructions.d.ts.map +1 -1
- package/dist/mcp/server-instructions.js +91 -59
- package/dist/mcp/server-instructions.js.map +1 -1
- package/dist/mcp/session.d.ts +3 -1
- package/dist/mcp/session.d.ts.map +1 -1
- package/dist/mcp/session.js +43 -7
- package/dist/mcp/session.js.map +1 -1
- package/dist/mcp/stdin-teardown.d.ts +27 -0
- package/dist/mcp/stdin-teardown.d.ts.map +1 -0
- package/dist/mcp/stdin-teardown.js +49 -0
- package/dist/mcp/stdin-teardown.js.map +1 -0
- package/dist/mcp/tools.d.ts +137 -16
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +1271 -219
- package/dist/mcp/tools.js.map +1 -1
- package/dist/mcp/transport.d.ts +1 -1
- package/dist/mcp/transport.d.ts.map +1 -1
- package/dist/mcp/transport.js +20 -4
- package/dist/mcp/transport.js.map +1 -1
- package/dist/mcp/version.d.ts +1 -1
- package/dist/mcp/version.js +2 -2
- package/dist/project-config.d.ts +36 -0
- package/dist/project-config.d.ts.map +1 -0
- package/dist/project-config.js +235 -0
- package/dist/project-config.js.map +1 -0
- package/dist/reasoning/config.d.ts +45 -0
- package/dist/reasoning/config.d.ts.map +1 -0
- package/dist/reasoning/config.js +171 -0
- package/dist/reasoning/config.js.map +1 -0
- package/dist/reasoning/credentials.d.ts +5 -0
- package/dist/reasoning/credentials.d.ts.map +1 -0
- package/dist/reasoning/credentials.js +83 -0
- package/dist/reasoning/credentials.js.map +1 -0
- package/dist/reasoning/login.d.ts +21 -0
- package/dist/reasoning/login.d.ts.map +1 -0
- package/dist/reasoning/login.js +85 -0
- package/dist/reasoning/login.js.map +1 -0
- package/dist/reasoning/reasoner.d.ts +43 -0
- package/dist/reasoning/reasoner.d.ts.map +1 -0
- package/dist/reasoning/reasoner.js +308 -0
- package/dist/reasoning/reasoner.js.map +1 -0
- package/dist/resolution/c-fnptr-synthesizer.d.ts +33 -0
- package/dist/resolution/c-fnptr-synthesizer.d.ts.map +1 -0
- package/dist/resolution/c-fnptr-synthesizer.js +352 -0
- package/dist/resolution/c-fnptr-synthesizer.js.map +1 -0
- package/dist/resolution/callback-synthesizer.d.ts +6 -1
- package/dist/resolution/callback-synthesizer.d.ts.map +1 -1
- package/dist/resolution/callback-synthesizer.js +1197 -1
- package/dist/resolution/callback-synthesizer.js.map +1 -1
- package/dist/resolution/frameworks/arkts-entry.d.ts +12 -0
- package/dist/resolution/frameworks/arkts-entry.d.ts.map +1 -0
- package/dist/resolution/frameworks/arkts-entry.js +214 -0
- package/dist/resolution/frameworks/arkts-entry.js.map +1 -0
- package/dist/resolution/frameworks/arkts-napi.d.ts +3 -0
- package/dist/resolution/frameworks/arkts-napi.d.ts.map +1 -0
- package/dist/resolution/frameworks/arkts-napi.js +166 -0
- package/dist/resolution/frameworks/arkts-napi.js.map +1 -0
- package/dist/resolution/frameworks/astro.d.ts +9 -0
- package/dist/resolution/frameworks/astro.d.ts.map +1 -0
- package/dist/resolution/frameworks/astro.js +169 -0
- package/dist/resolution/frameworks/astro.js.map +1 -0
- package/dist/resolution/frameworks/goframe.d.ts +41 -0
- package/dist/resolution/frameworks/goframe.d.ts.map +1 -0
- package/dist/resolution/frameworks/goframe.js +112 -0
- package/dist/resolution/frameworks/goframe.js.map +1 -0
- package/dist/resolution/frameworks/index.d.ts +3 -0
- package/dist/resolution/frameworks/index.d.ts.map +1 -1
- package/dist/resolution/frameworks/index.js +17 -1
- package/dist/resolution/frameworks/index.js.map +1 -1
- package/dist/resolution/frameworks/java.js +6 -1
- package/dist/resolution/frameworks/java.js.map +1 -1
- package/dist/resolution/frameworks/react.d.ts.map +1 -1
- package/dist/resolution/frameworks/react.js +32 -63
- package/dist/resolution/frameworks/react.js.map +1 -1
- package/dist/resolution/frameworks/svelte.js +6 -2
- package/dist/resolution/frameworks/svelte.js.map +1 -1
- package/dist/resolution/frameworks/vue.js +24 -27
- package/dist/resolution/frameworks/vue.js.map +1 -1
- package/dist/resolution/goframe-synthesizer.d.ts +28 -0
- package/dist/resolution/goframe-synthesizer.d.ts.map +1 -0
- package/dist/resolution/goframe-synthesizer.js +158 -0
- package/dist/resolution/goframe-synthesizer.js.map +1 -0
- package/dist/resolution/import-resolver.d.ts +10 -0
- package/dist/resolution/import-resolver.d.ts.map +1 -1
- package/dist/resolution/import-resolver.js +125 -2
- package/dist/resolution/import-resolver.js.map +1 -1
- package/dist/resolution/index.d.ts +37 -0
- package/dist/resolution/index.d.ts.map +1 -1
- package/dist/resolution/index.js +306 -3
- package/dist/resolution/index.js.map +1 -1
- package/dist/resolution/name-matcher.d.ts +41 -0
- package/dist/resolution/name-matcher.d.ts.map +1 -1
- package/dist/resolution/name-matcher.js +519 -14
- package/dist/resolution/name-matcher.js.map +1 -1
- package/dist/resolution/strip-comments.d.ts +1 -1
- package/dist/resolution/strip-comments.d.ts.map +1 -1
- package/dist/resolution/strip-comments.js +2 -0
- package/dist/resolution/strip-comments.js.map +1 -1
- package/dist/resolution/types.d.ts +20 -3
- package/dist/resolution/types.d.ts.map +1 -1
- package/dist/search/query-utils.d.ts +17 -1
- package/dist/search/query-utils.d.ts.map +1 -1
- package/dist/search/query-utils.js +79 -10
- package/dist/search/query-utils.js.map +1 -1
- package/dist/sync/git-hooks.d.ts +4 -4
- package/dist/sync/git-hooks.js +5 -5
- package/dist/sync/watcher.d.ts +69 -2
- package/dist/sync/watcher.d.ts.map +1 -1
- package/dist/sync/watcher.js +226 -21
- package/dist/sync/watcher.js.map +1 -1
- package/dist/sync/worktree.d.ts +3 -3
- package/dist/sync/worktree.js +5 -5
- package/dist/telemetry/index.d.ts +143 -0
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/telemetry/index.js +541 -0
- package/dist/telemetry/index.js.map +1 -0
- package/dist/types.d.ts +18 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +3 -1
- package/dist/types.js.map +1 -1
- package/dist/upgrade/index.d.ts.map +1 -1
- package/dist/upgrade/index.js +46 -10
- package/dist/upgrade/index.js.map +1 -1
- package/dist/utils.d.ts +46 -27
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +87 -53
- package/dist/utils.js.map +1 -1
- package/package.json +57 -57
- package/scripts/add-lang/bench.sh +60 -60
- package/scripts/add-lang/check-grammar.mjs +75 -75
- package/scripts/add-lang/dump-ast.mjs +103 -103
- package/scripts/add-lang/verify-extraction.mjs +70 -70
- package/scripts/agent-eval/ab-adoption.sh +91 -0
- package/scripts/agent-eval/ab-hook.sh +86 -0
- package/scripts/agent-eval/ab-impl.sh +78 -0
- package/scripts/agent-eval/ab-new-vs-baseline.sh +102 -0
- package/scripts/agent-eval/ab-sufficiency.sh +78 -0
- package/scripts/agent-eval/arms-F.sh +21 -21
- package/scripts/agent-eval/arms-matrix.sh +37 -37
- package/scripts/agent-eval/audit.sh +68 -68
- package/scripts/agent-eval/bench-readme.sh +28 -28
- package/scripts/agent-eval/bench-why-repo.sh +22 -22
- package/scripts/agent-eval/block-read-hook.sh +19 -19
- package/scripts/agent-eval/hook-settings.json +15 -15
- package/scripts/agent-eval/itrun.sh +120 -120
- package/scripts/agent-eval/offload-eval-3arm.sh +72 -0
- package/scripts/agent-eval/offload-eval-cost.mjs +133 -0
- package/scripts/agent-eval/offload-eval-effort.mjs +108 -0
- package/scripts/agent-eval/offload-eval-frontload-matrix.sh +25 -0
- package/scripts/agent-eval/offload-eval-frontload.sh +47 -0
- package/scripts/agent-eval/offload-eval-ground-truth.json +18 -0
- package/scripts/agent-eval/offload-eval-hook.mjs +84 -0
- package/scripts/agent-eval/offload-eval-judge.mjs +103 -0
- package/scripts/agent-eval/offload-eval-matrix.sh +20 -0
- package/scripts/agent-eval/offload-eval-metrics.mjs +94 -0
- package/scripts/agent-eval/offload-eval-refs1.sh +50 -0
- package/scripts/agent-eval/offload-eval-setup.sh +24 -0
- package/scripts/agent-eval/offload-eval-styles.sh +72 -0
- package/scripts/agent-eval/offload-eval-summarize.mjs +68 -0
- package/scripts/agent-eval/offload-eval.md +76 -0
- package/scripts/agent-eval/parse-arms.mjs +116 -116
- package/scripts/agent-eval/parse-bench-readme.mjs +84 -84
- package/scripts/agent-eval/parse-run.mjs +45 -45
- package/scripts/agent-eval/parse-session.mjs +93 -93
- package/scripts/agent-eval/probe-context.mjs +21 -21
- package/scripts/agent-eval/probe-explore.mjs +40 -40
- package/scripts/agent-eval/probe-node.mjs +20 -20
- package/scripts/agent-eval/probe-sweep.mjs +119 -119
- package/scripts/agent-eval/probe-trace.mjs +20 -20
- package/scripts/agent-eval/redirect-read-hook.sh +38 -0
- package/scripts/agent-eval/run-agent.sh +34 -34
- package/scripts/agent-eval/run-all.sh +69 -67
- package/scripts/agent-eval/run-arms.sh +56 -56
- package/scripts/agent-eval/seq-matrix.mjs +137 -137
- package/scripts/build-bundle.sh +118 -118
- package/scripts/extract-release-notes.mjs +130 -130
- package/scripts/local-install.sh +41 -41
- package/scripts/npm-sdk.js +75 -75
- package/scripts/npm-shim.js +246 -246
- package/scripts/pack-npm.sh +119 -119
- package/scripts/prepare-release.mjs +270 -270
- package/scripts/qa_eval/README.md +400 -0
- package/scripts/qa_eval/agent_runner.py +526 -0
- package/scripts/qa_eval/data/.gitignore +4 -0
- package/scripts/qa_eval/data/test-set.jsonl +22 -0
- package/scripts/qa_eval/eval_metrics.py +233 -0
- package/scripts/qa_eval/external_agent.py +577 -0
- package/scripts/qa_eval/llm_config.py +92 -0
- package/scripts/qa_eval/memory_monitor.py +132 -0
- package/scripts/qa_eval/my_answer_accuracy.py +187 -0
- package/scripts/qa_eval/requirements.txt +2 -0
- package/scripts/qa_eval/run_pipeline.py +702 -0
- package/scripts/qa_eval/stats_efficiency.py +279 -0
- package/scripts/qa_eval/stats_scores.py +207 -0
- package/dist/bin/codegraph.d.ts +0 -26
- package/dist/bin/codegraph.d.ts.map +0 -1
- package/dist/bin/codegraph.js +0 -1572
- package/dist/bin/codegraph.js.map +0 -1
- package/dist/extraction/arkanalyzer-extractor.d.ts +0 -6
- package/dist/extraction/arkanalyzer-extractor.d.ts.map +0 -1
- package/dist/extraction/arkanalyzer-extractor.js +0 -11
- package/dist/extraction/arkanalyzer-extractor.js.map +0 -1
- package/dist/extraction/arkanalyzer-project.d.ts +0 -20
- package/dist/extraction/arkanalyzer-project.d.ts.map +0 -1
- package/dist/extraction/arkanalyzer-project.js +0 -596
- package/dist/extraction/arkanalyzer-project.js.map +0 -1
|
@@ -17,6 +17,8 @@ export declare class ReferenceResolver {
|
|
|
17
17
|
private queries;
|
|
18
18
|
private context;
|
|
19
19
|
private frameworks;
|
|
20
|
+
private deferredChainRefs;
|
|
21
|
+
private deferredThisMemberRefs;
|
|
20
22
|
private razorUsingsCache;
|
|
21
23
|
private nodeCache;
|
|
22
24
|
private fileCache;
|
|
@@ -88,6 +90,20 @@ export declare class ReferenceResolver {
|
|
|
88
90
|
* Resolve and persist edges to database
|
|
89
91
|
*/
|
|
90
92
|
resolveAndPersist(unresolvedRefs: UnresolvedReference[], onProgress?: (current: number, total: number) => void): ResolutionResult;
|
|
93
|
+
/**
|
|
94
|
+
* Second resolution pass for chained static-factory / fluent calls whose
|
|
95
|
+
* chained method is defined on a SUPERTYPE the receiver's type conforms to —
|
|
96
|
+
* a protocol-extension / inherited / default-interface method (#750). The
|
|
97
|
+
* first pass can't resolve these because `implements`/`extends` edges aren't
|
|
98
|
+
* built yet; this runs AFTER edges are persisted, so `context.getSupertypes`
|
|
99
|
+
* (and the conformance fallback in resolveMethodOnType) can walk them.
|
|
100
|
+
*
|
|
101
|
+
* Operates only on the leftover unresolved refs that have the `inner().method`
|
|
102
|
+
* chain shape, for the dotted-chain languages — a small set — and is idempotent
|
|
103
|
+
* (re-resolving an already-resolved ref is a no-op since it's been deleted).
|
|
104
|
+
* Returns the number of newly-created edges.
|
|
105
|
+
*/
|
|
106
|
+
resolveChainedCallsViaConformance(): number;
|
|
91
107
|
/**
|
|
92
108
|
* Resolve and persist in batches to keep memory bounded.
|
|
93
109
|
* Processes unresolved references in chunks, persisting edges and cleaning
|
|
@@ -136,6 +152,27 @@ export declare class ReferenceResolver {
|
|
|
136
152
|
* through to name-matching).
|
|
137
153
|
*/
|
|
138
154
|
private resolveRazorUsing;
|
|
155
|
+
/**
|
|
156
|
+
* Resolve a `this.<member>` function-as-value reference (#756/#808) to the
|
|
157
|
+
* ENCLOSING CLASS's own member — never a same-named symbol elsewhere. The
|
|
158
|
+
* registration idiom (`btn.on('click', this.handleClick)`) names a member
|
|
159
|
+
* of the class being defined, so the only valid target shares the
|
|
160
|
+
* from-symbol's qualified-name scope. Function/method targets only — a
|
|
161
|
+
* property (a data field, post-#808 classification) yields no edge — same
|
|
162
|
+
* file required, no fallback of any kind.
|
|
163
|
+
*/
|
|
164
|
+
private resolveThisMemberFnRef;
|
|
165
|
+
/**
|
|
166
|
+
* Second pass for `this.<member>` refs whose member wasn't on the enclosing
|
|
167
|
+
* class itself (#808): once implements/extends edges exist, walk the
|
|
168
|
+
* class's supertypes (transitively, depth-capped) and resolve the member on
|
|
169
|
+
* the nearest one that declares it — `this.handleSubmit` registered in a
|
|
170
|
+
* subclass resolves to `FormBase::handleSubmit`. Validated targets only
|
|
171
|
+
* (function/method kind, same language family); no match → no edge.
|
|
172
|
+
* Mirrors resolveChainedCallsViaConformance's lifecycle. Returns the number
|
|
173
|
+
* of newly-created edges.
|
|
174
|
+
*/
|
|
175
|
+
resolveDeferredThisMemberRefs(): number;
|
|
139
176
|
private gateLanguage;
|
|
140
177
|
/**
|
|
141
178
|
* Drop a FRAMEWORK-strategy resolution that crosses two *known* language
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resolution/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAQ,mBAAmB,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EACL,aAAa,EACb,WAAW,EACX,gBAAgB,EAIjB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resolution/index.ts"],"names":[],"mappings":"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"}
|
package/dist/resolution/index.js
CHANGED
|
@@ -54,6 +54,19 @@ const go_module_1 = require("./go-module");
|
|
|
54
54
|
const workspace_packages_1 = require("./workspace-packages");
|
|
55
55
|
const errors_1 = require("../errors");
|
|
56
56
|
const lru_cache_1 = require("./lru-cache");
|
|
57
|
+
/** Node kinds that can declare supertypes (extends/implements). */
|
|
58
|
+
const SUPERTYPE_BEARING_KINDS = new Set([
|
|
59
|
+
'class', 'struct', 'interface', 'trait', 'protocol', 'enum',
|
|
60
|
+
]);
|
|
61
|
+
/**
|
|
62
|
+
* Languages whose chained static-factory/fluent calls defer to the conformance
|
|
63
|
+
* second pass. Dotted-receiver languages resolve via matchDottedCallChain; the
|
|
64
|
+
* `::`-receiver ones (Rust) via matchScopedCallChain.
|
|
65
|
+
*/
|
|
66
|
+
const CHAIN_LANGUAGES = new Set(['java', 'kotlin', 'csharp', 'swift', 'rust', 'go', 'scala', 'dart', 'objc', 'pascal']);
|
|
67
|
+
const SCOPED_CHAIN_LANGUAGES = new Set(['rust']);
|
|
68
|
+
/** The extractor's chained-receiver encoding: `<inner>().<method>`. */
|
|
69
|
+
const CHAIN_SHAPE = /^(.+)\(\)\.(\w+)$/;
|
|
57
70
|
/**
|
|
58
71
|
* Cache size limits. Each per-resolver cache is bounded so memory
|
|
59
72
|
* stays flat on large codebases (20k+ files). Sizes were chosen to
|
|
@@ -201,6 +214,17 @@ class ReferenceResolver {
|
|
|
201
214
|
queries;
|
|
202
215
|
context;
|
|
203
216
|
frameworks = [];
|
|
217
|
+
// Chained static-factory/fluent call refs the first pass couldn't resolve,
|
|
218
|
+
// collected in-memory (the batched resolver deletes unresolved refs from the
|
|
219
|
+
// DB, so they can't be re-read). Drained by resolveChainedCallsViaConformance
|
|
220
|
+
// once implements/extends edges exist, to resolve methods on a supertype the
|
|
221
|
+
// receiver conforms to (#750).
|
|
222
|
+
deferredChainRefs = [];
|
|
223
|
+
// `this.<member>` function-as-value refs whose member is NOT on the
|
|
224
|
+
// enclosing class itself — possibly inherited. Collected in-memory for the
|
|
225
|
+
// same reason as deferredChainRefs and drained by
|
|
226
|
+
// resolveDeferredThisMemberRefs once implements/extends edges exist (#808).
|
|
227
|
+
deferredThisMemberRefs = [];
|
|
204
228
|
// Per-`.razor`/`.cshtml`-file `@using` namespace set (own directives + folder
|
|
205
229
|
// `_Imports.razor`, cascading to the project root). Used to disambiguate a
|
|
206
230
|
// markup type ref to the right C# namespace.
|
|
@@ -404,6 +428,29 @@ class ReferenceResolver {
|
|
|
404
428
|
this.lowerNameCache.set(lowerName, result);
|
|
405
429
|
return result;
|
|
406
430
|
},
|
|
431
|
+
getNodeById: (id) => {
|
|
432
|
+
return this.queries.getNodeById(id);
|
|
433
|
+
},
|
|
434
|
+
getSupertypes: (typeName, language) => {
|
|
435
|
+
// Union the `implements`/`extends` targets of every same-named type node.
|
|
436
|
+
// Matching by simple name (not id) reconciles a type declared in one node
|
|
437
|
+
// (`KF::Builder`) with conformance declared in a separate extension node
|
|
438
|
+
// (`KF.Builder: KFOptionSetter`) — both have name `Builder`.
|
|
439
|
+
const typeNodes = this.context
|
|
440
|
+
.getNodesByName(typeName)
|
|
441
|
+
.filter((n) => SUPERTYPE_BEARING_KINDS.has(n.kind) && n.language === language);
|
|
442
|
+
if (typeNodes.length === 0)
|
|
443
|
+
return [];
|
|
444
|
+
const supertypes = new Set();
|
|
445
|
+
for (const tn of typeNodes) {
|
|
446
|
+
for (const edge of this.queries.getOutgoingEdges(tn.id, ['implements', 'extends'])) {
|
|
447
|
+
const target = this.queries.getNodeById(edge.target);
|
|
448
|
+
if (target?.name && target.name !== typeName)
|
|
449
|
+
supertypes.add(target.name);
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
return [...supertypes];
|
|
453
|
+
},
|
|
407
454
|
getImportMappings: (filePath, language) => {
|
|
408
455
|
const cacheKey = filePath;
|
|
409
456
|
const cached = this.importMappingCache.get(cacheKey);
|
|
@@ -612,6 +659,26 @@ class ReferenceResolver {
|
|
|
612
659
|
!this.frameworks.some((f) => f.claimsReference?.(ref.referenceName))) {
|
|
613
660
|
return null;
|
|
614
661
|
}
|
|
662
|
+
// Function-as-value refs (#756) get a dedicated, strictly-gated path:
|
|
663
|
+
// import-based resolution first (an imported callback resolves through its
|
|
664
|
+
// import, the most precise cross-file signal), then matchFunctionRef
|
|
665
|
+
// (same-file first, unique-only cross-file, function/method targets only).
|
|
666
|
+
// They never reach the framework or fuzzy strategies below.
|
|
667
|
+
if (ref.referenceKind === 'function_ref') {
|
|
668
|
+
// `this.<member>` values (TS/JS) resolve ONLY against the enclosing
|
|
669
|
+
// class's own members — never a same-named symbol elsewhere.
|
|
670
|
+
if (ref.referenceName.startsWith('this.')) {
|
|
671
|
+
return this.gateLanguage(this.resolveThisMemberFnRef(ref), ref);
|
|
672
|
+
}
|
|
673
|
+
const viaImport = this.gateLanguage((0, import_resolver_1.resolveViaImport)(ref, this.context), ref);
|
|
674
|
+
if (viaImport) {
|
|
675
|
+
const target = this.queries.getNodeById(viaImport.targetNodeId);
|
|
676
|
+
if (target && (target.kind === 'function' || target.kind === 'method')) {
|
|
677
|
+
return viaImport;
|
|
678
|
+
}
|
|
679
|
+
}
|
|
680
|
+
return this.gateLanguage((0, name_matcher_1.matchFunctionRef)(ref, this.context), ref);
|
|
681
|
+
}
|
|
615
682
|
// JVM FQN imports skip framework/name-matcher: `import com.example.Bar`
|
|
616
683
|
// resolves directly through the qualifiedName index, which is unambiguous
|
|
617
684
|
// even when several `Bar` classes exist in different packages.
|
|
@@ -649,13 +716,31 @@ class ReferenceResolver {
|
|
|
649
716
|
return importResult;
|
|
650
717
|
candidates.push(importResult);
|
|
651
718
|
}
|
|
719
|
+
// PHP include/require paths resolve to files via import resolution only.
|
|
720
|
+
// If that didn't find the file, do NOT fall back to the symbol
|
|
721
|
+
// name-matcher — it would mis-connect e.g. "inc/db.php" to an unrelated
|
|
722
|
+
// db.php elsewhere in the tree (a wrong edge is worse than none, #660).
|
|
723
|
+
if ((0, import_resolver_1.isPhpIncludePathRef)(ref)) {
|
|
724
|
+
return candidates.length > 0
|
|
725
|
+
? candidates.reduce((best, curr) => curr.confidence > best.confidence ? curr : best)
|
|
726
|
+
: null;
|
|
727
|
+
}
|
|
652
728
|
// Strategy 3: Try name matching
|
|
653
729
|
const nameResult = this.gateLanguage((0, name_matcher_1.matchReference)(ref, this.context), ref);
|
|
654
730
|
if (nameResult) {
|
|
655
731
|
candidates.push(nameResult);
|
|
656
732
|
}
|
|
657
|
-
if (candidates.length === 0)
|
|
733
|
+
if (candidates.length === 0) {
|
|
734
|
+
// Defer a chained static-factory/fluent call the first pass couldn't
|
|
735
|
+
// resolve — its method may live on a supertype the receiver conforms to,
|
|
736
|
+
// resolvable once implements/extends edges exist (the conformance pass).
|
|
737
|
+
if (ref.referenceKind === 'calls' &&
|
|
738
|
+
CHAIN_LANGUAGES.has(ref.language) &&
|
|
739
|
+
CHAIN_SHAPE.test(ref.referenceName)) {
|
|
740
|
+
this.deferredChainRefs.push(ref);
|
|
741
|
+
}
|
|
658
742
|
return null;
|
|
743
|
+
}
|
|
659
744
|
// Return highest confidence candidate
|
|
660
745
|
return candidates.reduce((best, curr) => curr.confidence > best.confidence ? curr : best);
|
|
661
746
|
}
|
|
@@ -664,7 +749,12 @@ class ReferenceResolver {
|
|
|
664
749
|
*/
|
|
665
750
|
createEdges(resolved) {
|
|
666
751
|
return resolved.map((ref) => {
|
|
667
|
-
|
|
752
|
+
// `function_ref` (#756) is internal-only: it persists as a `references`
|
|
753
|
+
// edge (the registration site depends on the callback), distinguishable
|
|
754
|
+
// by metadata.resolvedBy === 'function-ref'. callers/impact already
|
|
755
|
+
// traverse `references`, so registration sites surface with no
|
|
756
|
+
// graph-layer changes.
|
|
757
|
+
let kind = ref.original.referenceKind === 'function_ref' ? 'references' : ref.original.referenceKind;
|
|
668
758
|
// Promote "extends" to "implements" when a class/struct targets an interface
|
|
669
759
|
if (kind === 'extends') {
|
|
670
760
|
const targetNode = this.queries.getNodeById(ref.targetNodeId);
|
|
@@ -695,6 +785,11 @@ class ReferenceResolver {
|
|
|
695
785
|
metadata: {
|
|
696
786
|
confidence: ref.confidence,
|
|
697
787
|
resolvedBy: ref.resolvedBy,
|
|
788
|
+
// Uniform marker for function-as-value edges (#756), regardless of
|
|
789
|
+
// which strategy resolved them (import vs matchFunctionRef) — lets
|
|
790
|
+
// tooling label "callback registration" and lets validation diff
|
|
791
|
+
// exactly the edges this feature added.
|
|
792
|
+
...(ref.original.referenceKind === 'function_ref' ? { fnRef: true } : {}),
|
|
698
793
|
},
|
|
699
794
|
};
|
|
700
795
|
});
|
|
@@ -720,6 +815,48 @@ class ReferenceResolver {
|
|
|
720
815
|
}
|
|
721
816
|
return result;
|
|
722
817
|
}
|
|
818
|
+
/**
|
|
819
|
+
* Second resolution pass for chained static-factory / fluent calls whose
|
|
820
|
+
* chained method is defined on a SUPERTYPE the receiver's type conforms to —
|
|
821
|
+
* a protocol-extension / inherited / default-interface method (#750). The
|
|
822
|
+
* first pass can't resolve these because `implements`/`extends` edges aren't
|
|
823
|
+
* built yet; this runs AFTER edges are persisted, so `context.getSupertypes`
|
|
824
|
+
* (and the conformance fallback in resolveMethodOnType) can walk them.
|
|
825
|
+
*
|
|
826
|
+
* Operates only on the leftover unresolved refs that have the `inner().method`
|
|
827
|
+
* chain shape, for the dotted-chain languages — a small set — and is idempotent
|
|
828
|
+
* (re-resolving an already-resolved ref is a no-op since it's been deleted).
|
|
829
|
+
* Returns the number of newly-created edges.
|
|
830
|
+
*/
|
|
831
|
+
resolveChainedCallsViaConformance() {
|
|
832
|
+
const deferred = this.deferredChainRefs;
|
|
833
|
+
this.deferredChainRefs = [];
|
|
834
|
+
if (deferred.length === 0)
|
|
835
|
+
return 0;
|
|
836
|
+
// Read fresh edges (the main pass built the implements/extends edges after
|
|
837
|
+
// these refs were deferred). matchDottedCallChain now resolves a method on a
|
|
838
|
+
// supertype via context.getSupertypes -> resolveMethodOnType's conformance walk.
|
|
839
|
+
this.clearCaches();
|
|
840
|
+
const resolved = [];
|
|
841
|
+
for (const ref of deferred) {
|
|
842
|
+
// `::`-receiver languages (Rust) split on `::` (matchScopedCallChain);
|
|
843
|
+
// dotted-receiver languages on `.` (matchDottedCallChain).
|
|
844
|
+
const chainMatch = SCOPED_CHAIN_LANGUAGES.has(ref.language)
|
|
845
|
+
? (0, name_matcher_1.matchScopedCallChain)(ref, this.context)
|
|
846
|
+
: (0, name_matcher_1.matchDottedCallChain)(ref, this.context);
|
|
847
|
+
const match = this.gateLanguage(chainMatch, ref);
|
|
848
|
+
if (match)
|
|
849
|
+
resolved.push(match);
|
|
850
|
+
}
|
|
851
|
+
if (resolved.length === 0)
|
|
852
|
+
return 0;
|
|
853
|
+
const edges = this.createEdges(resolved);
|
|
854
|
+
if (edges.length > 0) {
|
|
855
|
+
this.queries.insertEdges(edges);
|
|
856
|
+
this.clearCaches();
|
|
857
|
+
}
|
|
858
|
+
return edges.length;
|
|
859
|
+
}
|
|
723
860
|
/**
|
|
724
861
|
* Resolve and persist in batches to keep memory bounded.
|
|
725
862
|
* Processes unresolved references in chunks, persisting edges and cleaning
|
|
@@ -737,6 +874,7 @@ class ReferenceResolver {
|
|
|
737
874
|
};
|
|
738
875
|
// Process in batches. We always read from offset 0 because resolved refs
|
|
739
876
|
// are deleted after each batch, shifting the remaining rows forward.
|
|
877
|
+
let prevRemaining = Number.POSITIVE_INFINITY;
|
|
740
878
|
while (true) {
|
|
741
879
|
const batch = this.queries.getUnresolvedReferencesBatch(0, batchSize);
|
|
742
880
|
if (batch.length === 0)
|
|
@@ -779,6 +917,18 @@ class ReferenceResolver {
|
|
|
779
917
|
if (result.resolved.length === 0 && result.unresolved.length === batch.length) {
|
|
780
918
|
break;
|
|
781
919
|
}
|
|
920
|
+
// Non-progress guard (defense-in-depth). Because we re-read from offset 0
|
|
921
|
+
// each pass, the unresolved_refs table MUST shrink every iteration — both
|
|
922
|
+
// resolved and unresolved refs are deleted above. If it didn't shrink, a
|
|
923
|
+
// resolver returned a match whose `original.referenceName` differs from the
|
|
924
|
+
// stored row, so the keyed delete no-ops, and we'd re-read + re-resolve +
|
|
925
|
+
// re-insert the same rows forever (the runaway that grew a 99-file repo to
|
|
926
|
+
// 5M edges / 1.4 GB before the Go-fallback fix). Stop rather than grow the
|
|
927
|
+
// graph without bound.
|
|
928
|
+
const remaining = this.queries.getUnresolvedReferencesCount();
|
|
929
|
+
if (remaining >= prevRemaining)
|
|
930
|
+
break;
|
|
931
|
+
prevRemaining = remaining;
|
|
782
932
|
}
|
|
783
933
|
// Dynamic-edge synthesis: now that all base `calls` edges are persisted,
|
|
784
934
|
// synthesize observer/callback dispatch edges (dispatcher → registered
|
|
@@ -977,13 +1127,166 @@ class ReferenceResolver {
|
|
|
977
1127
|
const target = found.values().next().value;
|
|
978
1128
|
return { original: ref, targetNodeId: target.id, confidence: 0.9, resolvedBy: 'import' };
|
|
979
1129
|
}
|
|
1130
|
+
/**
|
|
1131
|
+
* Resolve a `this.<member>` function-as-value reference (#756/#808) to the
|
|
1132
|
+
* ENCLOSING CLASS's own member — never a same-named symbol elsewhere. The
|
|
1133
|
+
* registration idiom (`btn.on('click', this.handleClick)`) names a member
|
|
1134
|
+
* of the class being defined, so the only valid target shares the
|
|
1135
|
+
* from-symbol's qualified-name scope. Function/method targets only — a
|
|
1136
|
+
* property (a data field, post-#808 classification) yields no edge — same
|
|
1137
|
+
* file required, no fallback of any kind.
|
|
1138
|
+
*/
|
|
1139
|
+
resolveThisMemberFnRef(ref) {
|
|
1140
|
+
const member = ref.referenceName.slice('this.'.length);
|
|
1141
|
+
if (!member)
|
|
1142
|
+
return null;
|
|
1143
|
+
const fromNode = this.queries.getNodeById(ref.fromNodeId);
|
|
1144
|
+
if (!fromNode)
|
|
1145
|
+
return null;
|
|
1146
|
+
// A hook declared at class-body level (Ruby `before_action :authenticate`)
|
|
1147
|
+
// attributes to the CLASS node itself — its qualified name IS the scope.
|
|
1148
|
+
// For members, strip the member segment.
|
|
1149
|
+
let classPrefix;
|
|
1150
|
+
if (SUPERTYPE_BEARING_KINDS.has(fromNode.kind) || fromNode.kind === 'module') {
|
|
1151
|
+
classPrefix = fromNode.qualifiedName;
|
|
1152
|
+
}
|
|
1153
|
+
else {
|
|
1154
|
+
const sep = fromNode.qualifiedName.lastIndexOf('::');
|
|
1155
|
+
if (sep <= 0)
|
|
1156
|
+
return null; // not inside a class scope
|
|
1157
|
+
classPrefix = fromNode.qualifiedName.slice(0, sep);
|
|
1158
|
+
}
|
|
1159
|
+
const candidates = this.context
|
|
1160
|
+
.getNodesByQualifiedName(`${classPrefix}::${member}`)
|
|
1161
|
+
.filter((n) => (n.kind === 'function' || n.kind === 'method') &&
|
|
1162
|
+
n.filePath === ref.filePath &&
|
|
1163
|
+
n.id !== ref.fromNodeId);
|
|
1164
|
+
if (candidates.length === 0) {
|
|
1165
|
+
// Not on the class itself — possibly INHERITED. implements/extends
|
|
1166
|
+
// edges don't exist yet in this pass, so retry in the supertype pass
|
|
1167
|
+
// (resolveDeferredThisMemberRefs) instead of giving up.
|
|
1168
|
+
this.deferredThisMemberRefs.push(ref);
|
|
1169
|
+
return null;
|
|
1170
|
+
}
|
|
1171
|
+
const target = candidates.reduce((a, b) => (a.startLine <= b.startLine ? a : b));
|
|
1172
|
+
return {
|
|
1173
|
+
original: ref,
|
|
1174
|
+
targetNodeId: target.id,
|
|
1175
|
+
confidence: 0.95,
|
|
1176
|
+
resolvedBy: 'function-ref',
|
|
1177
|
+
};
|
|
1178
|
+
}
|
|
1179
|
+
/**
|
|
1180
|
+
* Second pass for `this.<member>` refs whose member wasn't on the enclosing
|
|
1181
|
+
* class itself (#808): once implements/extends edges exist, walk the
|
|
1182
|
+
* class's supertypes (transitively, depth-capped) and resolve the member on
|
|
1183
|
+
* the nearest one that declares it — `this.handleSubmit` registered in a
|
|
1184
|
+
* subclass resolves to `FormBase::handleSubmit`. Validated targets only
|
|
1185
|
+
* (function/method kind, same language family); no match → no edge.
|
|
1186
|
+
* Mirrors resolveChainedCallsViaConformance's lifecycle. Returns the number
|
|
1187
|
+
* of newly-created edges.
|
|
1188
|
+
*/
|
|
1189
|
+
resolveDeferredThisMemberRefs() {
|
|
1190
|
+
const deferred = this.deferredThisMemberRefs;
|
|
1191
|
+
this.deferredThisMemberRefs = [];
|
|
1192
|
+
if (deferred.length === 0)
|
|
1193
|
+
return 0;
|
|
1194
|
+
this.clearCaches();
|
|
1195
|
+
const resolved = [];
|
|
1196
|
+
for (const ref of deferred) {
|
|
1197
|
+
const member = ref.referenceName.slice('this.'.length);
|
|
1198
|
+
const fromNode = this.queries.getNodeById(ref.fromNodeId);
|
|
1199
|
+
if (!fromNode || !member)
|
|
1200
|
+
continue;
|
|
1201
|
+
// Class-body-level hooks (Ruby) attribute to the CLASS node itself.
|
|
1202
|
+
let className;
|
|
1203
|
+
if (SUPERTYPE_BEARING_KINDS.has(fromNode.kind) || fromNode.kind === 'module') {
|
|
1204
|
+
className = fromNode.name;
|
|
1205
|
+
}
|
|
1206
|
+
else {
|
|
1207
|
+
const sep = fromNode.qualifiedName.lastIndexOf('::');
|
|
1208
|
+
if (sep <= 0)
|
|
1209
|
+
continue;
|
|
1210
|
+
const classPrefix = fromNode.qualifiedName.slice(0, sep);
|
|
1211
|
+
className = classPrefix.includes('::')
|
|
1212
|
+
? classPrefix.slice(classPrefix.lastIndexOf('::') + 2)
|
|
1213
|
+
: classPrefix;
|
|
1214
|
+
}
|
|
1215
|
+
// NODE-anchored BFS up the supertype graph: start from the class node
|
|
1216
|
+
// in the ref's own file (never a same-named class elsewhere — rails has
|
|
1217
|
+
// a dozen `Engine`s), follow implements/extends EDGES to supertype
|
|
1218
|
+
// NODES, and look members up through `contains` edges. No name-based
|
|
1219
|
+
// unions anywhere — a name-keyed getSupertypes('Engine') merged every
|
|
1220
|
+
// Engine's parents and produced a cross-class wrong edge on rails.
|
|
1221
|
+
let frontierNodes = this.context
|
|
1222
|
+
.getNodesByName(className)
|
|
1223
|
+
.filter((n) => SUPERTYPE_BEARING_KINDS.has(n.kind) &&
|
|
1224
|
+
n.filePath === ref.filePath);
|
|
1225
|
+
if (frontierNodes.length === 0) {
|
|
1226
|
+
// The class itself may be declared in another file (partial/reopened
|
|
1227
|
+
// classes); fall back to same-family nodes of that name.
|
|
1228
|
+
frontierNodes = this.context
|
|
1229
|
+
.getNodesByName(className)
|
|
1230
|
+
.filter((n) => SUPERTYPE_BEARING_KINDS.has(n.kind) &&
|
|
1231
|
+
(0, name_matcher_1.sameLanguageFamily)(n.language, ref.language));
|
|
1232
|
+
}
|
|
1233
|
+
const seenNodes = new Set(frontierNodes.map((n) => n.id));
|
|
1234
|
+
let target = null;
|
|
1235
|
+
for (let depth = 0; depth < 5 && frontierNodes.length > 0 && !target; depth++) {
|
|
1236
|
+
const next = [];
|
|
1237
|
+
for (const typeNode of frontierNodes) {
|
|
1238
|
+
for (const edge of this.queries.getOutgoingEdges(typeNode.id, ['implements', 'extends'])) {
|
|
1239
|
+
const superNode = this.queries.getNodeById(edge.target);
|
|
1240
|
+
if (!superNode || seenNodes.has(superNode.id))
|
|
1241
|
+
continue;
|
|
1242
|
+
seenNodes.add(superNode.id);
|
|
1243
|
+
if (!SUPERTYPE_BEARING_KINDS.has(superNode.kind))
|
|
1244
|
+
continue;
|
|
1245
|
+
// Member lookup anchored on the supertype's contains edges.
|
|
1246
|
+
for (const c of this.queries.getOutgoingEdges(superNode.id, ['contains'])) {
|
|
1247
|
+
const m = this.queries.getNodeById(c.target);
|
|
1248
|
+
if (m &&
|
|
1249
|
+
m.name === member &&
|
|
1250
|
+
(m.kind === 'function' || m.kind === 'method') &&
|
|
1251
|
+
(0, name_matcher_1.sameLanguageFamily)(m.language, ref.language)) {
|
|
1252
|
+
target = m;
|
|
1253
|
+
break;
|
|
1254
|
+
}
|
|
1255
|
+
}
|
|
1256
|
+
if (target)
|
|
1257
|
+
break;
|
|
1258
|
+
next.push(superNode);
|
|
1259
|
+
}
|
|
1260
|
+
if (target)
|
|
1261
|
+
break;
|
|
1262
|
+
}
|
|
1263
|
+
frontierNodes = next;
|
|
1264
|
+
}
|
|
1265
|
+
if (target) {
|
|
1266
|
+
resolved.push({
|
|
1267
|
+
original: ref,
|
|
1268
|
+
targetNodeId: target.id,
|
|
1269
|
+
confidence: 0.85,
|
|
1270
|
+
resolvedBy: 'function-ref',
|
|
1271
|
+
});
|
|
1272
|
+
}
|
|
1273
|
+
}
|
|
1274
|
+
if (resolved.length === 0)
|
|
1275
|
+
return 0;
|
|
1276
|
+
const edges = this.createEdges(resolved);
|
|
1277
|
+
if (edges.length > 0) {
|
|
1278
|
+
this.queries.insertEdges(edges);
|
|
1279
|
+
this.clearCaches();
|
|
1280
|
+
}
|
|
1281
|
+
return edges.length;
|
|
1282
|
+
}
|
|
980
1283
|
gateLanguage(result, ref) {
|
|
981
1284
|
if (!result)
|
|
982
1285
|
return result;
|
|
983
1286
|
const tgt = this.getLanguageFromNodeId(result.targetNodeId);
|
|
984
1287
|
if (!tgt || !ref.language)
|
|
985
1288
|
return result;
|
|
986
|
-
if (ref.referenceKind === 'references' && !(0, name_matcher_1.sameLanguageFamily)(tgt, ref.language))
|
|
1289
|
+
if ((ref.referenceKind === 'references' || ref.referenceKind === 'function_ref') && !(0, name_matcher_1.sameLanguageFamily)(tgt, ref.language))
|
|
987
1290
|
return null;
|
|
988
1291
|
if (ref.referenceKind === 'imports' && (0, name_matcher_1.crossesKnownFamily)(tgt, ref.language))
|
|
989
1292
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resolution/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6iCH,wCAIC;AA/iCD,uCAAyB;AACzB,2CAA6B;AAW7B,iDAAwF;AACxF,uDAAoI;AACpI,6CAAgD;AAChD,iEAAiE;AACjE,iDAAmE;AACnE,2CAA0D;AAC1D,6DAAqF;AACrF,sCAAqC;AAErC,2CAAuC;AAEvC;;;;;;;GAOG;AACH,MAAM,mBAAmB,GAAG,KAAK,CAAC;AAClC,SAAS,iBAAiB;IACxB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC;IACtD,IAAI,CAAC,GAAG;QAAE,OAAO,mBAAmB,CAAC;IACrC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACxC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC;IACzD,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED,kBAAkB;AAClB,0CAAwB;AAExB,yFAAyF;AACzF,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;IAC3B,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS;IACpD,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS;IAC3D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK;IACvD,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe;IAC5D,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY;CACnE,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;IAC1B,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa;IAClE,SAAS,EAAE,QAAQ,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,eAAe;CAC/E,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IAC/B,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;IAC9E,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IACtE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO;CAChD,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC;IACpC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM;IAC7D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO;CACrD,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC;IACtC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IACjF,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK;IAC1C,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY;IACvD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO;IACzE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ;IACtE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IACzC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM;CACnE,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;IACjC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC/D,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS;IAClE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS;IAC7D,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU;IAC3D,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS;IAC9D,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;IAChE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;IAC7D,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS;IAC7D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ;IACnD,mCAAmC;IACnC,aAAa,EAAE,UAAU,EAAE,SAAS;CACrC,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;IAC3B,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO;IAChE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM;IACjE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IACvC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IACxC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS;IACxD,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY;IAC/C,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK;CACxC,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG;IAC3B,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW;IAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM;IACpD,QAAQ,EAAE,OAAO,EAAE,OAAO;CAC3B,CAAC;AAEF,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IAC/B,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU;IAChE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,sBAAsB,EAAE,mBAAmB;IAC3E,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,oBAAoB;IACnD,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO;IACjE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU;IAClE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IAChE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY;IAC9D,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY;IAC5D,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;IACnE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW;IAC/C,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO;IAC7C,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ;IACxC,QAAQ,EAAE,SAAS,EAAE,MAAM;IAC3B,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,mBAAmB;IAC3D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa;IAC7E,WAAW,EAAE,QAAQ,EAAE,eAAe,EAAE,kBAAkB;IAC1D,YAAY,EAAE,UAAU;CACzB,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;IAC1B,+BAA+B;IAC/B,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ;IACvE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM;IACrC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ;IACjD,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS;IACvE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ;IACjD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IACxE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ;IACtD,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ;IAChF,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO;IAC9B,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAClF,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS;IACnF,QAAQ,EAAE,OAAO;IACjB,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ;IACjD,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,OAAO;IACjB,QAAQ,EAAE,SAAS;IACnB,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS;IACzC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc;IACnF,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW;IACzD,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IACzC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC7C,MAAM;IACN,gCAAgC;IAChC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAClE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ;IACzE,gBAAgB,EAAE,cAAc,EAAE,oBAAoB,EAAE,sBAAsB;IAC9E,QAAQ,EAAE,OAAO,EAAE,SAAS;CAC7B,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;IAC5B,+DAA+D;IAC/D,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI;IACpD,KAAK,EAAE,mDAAmD;IAC1D,8CAA8C;IAC9C,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ;IACjE,aAAa,EAAE,cAAc,EAAE,kBAAkB,EAAE,YAAY;IAC/D,aAAa,EAAE,aAAa,EAAE,WAAW;IACzC,MAAM,EAAE,SAAS,EAAE,MAAM;CAC1B,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAa,iBAAiB;IACpB,WAAW,CAAS;IACpB,OAAO,CAAe;IACtB,OAAO,CAAoB;IAC3B,UAAU,GAAwB,EAAE,CAAC;IAC7C,8EAA8E;IAC9E,2EAA2E;IAC3E,6CAA6C;IACrC,gBAAgB,GAAG,IAAI,GAAG,EAAoB,CAAC;IACvD,iEAAiE;IACjE,mEAAmE;IACnE,iEAAiE;IACzD,SAAS,CAA2B,CAAC,sBAAsB;IAC3D,SAAS,CAAkC,CAAC,yBAAyB;IACrE,kBAAkB,CAAoC;IACtD,aAAa,CAA+B;IAC5C,SAAS,CAA2B,CAAC,qBAAqB;IAC1D,cAAc,CAA2B,CAAC,4BAA4B;IACtE,kBAAkB,CAA2B,CAAC,+BAA+B;IAC7E,UAAU,GAAuB,IAAI,CAAC,CAAC,gDAAgD;IACvF,UAAU,GAAuB,IAAI,CAAC;IACtC,YAAY,GAAG,KAAK,CAAC;IAC7B,oEAAoE;IACpE,6DAA6D;IAC7D,yEAAyE;IACjE,cAAc,GAAgC,SAAS,CAAC;IAChE,wEAAwE;IAChE,QAAQ,GAAgC,SAAS,CAAC;IAC1D,sEAAsE;IAC9D,iBAAiB,GAAyC,SAAS,CAAC;IAE5E,YAAY,WAAmB,EAAE,OAAqB;QACpD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,MAAM,KAAK,GAAG,iBAAiB,EAAE,CAAC;QAClC,iEAAiE;QACjE,2CAA2C;QAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;QACzD,IAAI,CAAC,SAAS,GAAG,IAAI,oBAAQ,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,IAAI,oBAAQ,CAAC,YAAY,CAAC,CAAC;QAC5C,IAAI,CAAC,kBAAkB,GAAG,IAAI,oBAAQ,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,aAAa,GAAG,IAAI,oBAAQ,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,SAAS,GAAG,IAAI,oBAAQ,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC,cAAc,GAAG,IAAI,oBAAQ,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,kBAAkB,GAAG,IAAI,oBAAQ,CAAC,KAAK,CAAC,CAAC;QAE9C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,UAAU;QACR,IAAI,CAAC,UAAU,GAAG,IAAA,6BAAgB,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED;;;;;;;OAOG;IACH,cAAc;QACZ,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACjC,IAAI,CAAC,EAAE,CAAC,WAAW;gBAAE,SAAS;YAC9B,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBAC9B,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAA,iBAAQ,EAAC,cAAc,EAAE,CAAC,IAAI,sBAAsB,EAAE;oBACpD,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,IAAI,OAAO,GAAG,CAAC;YAAE,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACH,UAAU;QACR,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO;QAE9B,kEAAkE;QAClE,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;QAE1D,wFAAwF;QACxF,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;QAE1D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,WAAW;QACT,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED;;OAEG;IACK,aAAa;QACnB,OAAO;YACL,cAAc,EAAE,CAAC,QAAgB,EAAE,EAAE;gBACnC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAClC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACtE,CAAC;gBACD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;YACvC,CAAC;YAED,cAAc,EAAE,CAAC,IAAY,EAAE,EAAE;gBAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACxC,IAAI,MAAM,KAAK,SAAS;oBAAE,OAAO,MAAM,CAAC;gBACxC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBACjD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACjC,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,uBAAuB,EAAE,CAAC,aAAqB,EAAE,EAAE;gBACjD,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBAC1D,IAAI,MAAM,KAAK,SAAS;oBAAE,OAAO,MAAM,CAAC;gBACxC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,aAAa,CAAC,CAAC;gBACxE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;gBACnD,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,cAAc,EAAE,CAAC,IAAkB,EAAE,EAAE;gBACrC,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC3C,CAAC;YAED,UAAU,EAAE,CAAC,QAAgB,EAAE,EAAE;gBAC/B,+CAA+C;gBAC/C,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpB,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;oBAChD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;wBACrE,OAAO,IAAI,CAAC;oBACd,CAAC;gBACH,CAAC;gBACD,oDAAoD;gBACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;gBACvD,IAAI,CAAC;oBACH,OAAO,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACjC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAA,iBAAQ,EAAC,+BAA+B,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAC9E,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;YAED,QAAQ,EAAE,CAAC,QAAgB,EAAE,EAAE;gBAC7B,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACjC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;gBACvC,CAAC;gBAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;gBACvD,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBACnD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBACtC,OAAO,OAAO,CAAC;gBACjB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAA,iBAAQ,EAAC,oCAAoC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBACnF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;oBACnC,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YAED,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW;YAEtC,WAAW,EAAE,GAAG,EAAE;gBAChB,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;YACxC,CAAC;YAED,eAAe,EAAE,CAAC,YAAoB,EAAE,EAAE;gBACxC,MAAM,MAAM,GAAG,YAAY,KAAK,GAAG,IAAI,YAAY,KAAK,EAAE;oBACxD,CAAC,CAAC,IAAI,CAAC,WAAW;oBAClB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;gBAC9C,IAAI,CAAC;oBACH,OAAO,EAAE;yBACN,WAAW,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;yBAC5C,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;yBACtC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAChC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAA,iBAAQ,EAAC,yCAAyC,EAAE;wBAClD,YAAY;wBACZ,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;qBACrB,CAAC,CAAC;oBACH,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC;YAED,mBAAmB,EAAE,CAAC,SAAiB,EAAE,EAAE;gBACzC,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAClD,IAAI,MAAM,KAAK,SAAS;oBAAE,OAAO,MAAM,CAAC;gBACxC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;gBAC3D,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBAC3C,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,iBAAiB,EAAE,CAAC,QAAgB,EAAE,QAAQ,EAAE,EAAE;gBAChD,MAAM,QAAQ,GAAG,QAAQ,CAAC;gBAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACrD,IAAI,MAAM;oBAAE,OAAO,MAAM,CAAC;gBAE1B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAChD,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;oBAC1C,OAAO,EAAE,CAAC;gBACZ,CAAC;gBAED,MAAM,QAAQ,GAAG,IAAA,uCAAqB,EAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;gBACpE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAChD,OAAO,QAAQ,CAAC;YAClB,CAAC;YAED,iBAAiB,EAAE,GAAG,EAAE;gBACtB,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;oBACtC,IAAI,CAAC,cAAc,GAAG,IAAA,iCAAkB,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC7D,CAAC;gBACD,OAAO,IAAI,CAAC,cAAc,CAAC;YAC7B,CAAC;YAED,WAAW,EAAE,GAAG,EAAE;gBAChB,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAChC,IAAI,CAAC,QAAQ,GAAG,IAAA,wBAAY,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACjD,CAAC;gBACD,OAAO,IAAI,CAAC,QAAQ,CAAC;YACvB,CAAC;YAED,oBAAoB,EAAE,GAAG,EAAE;gBACzB,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;oBACzC,IAAI,CAAC,iBAAiB,GAAG,IAAA,0CAAqB,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACnE,CAAC;gBACD,OAAO,IAAI,CAAC,iBAAiB,CAAC;YAChC,CAAC;YAED,YAAY,EAAE,CAAC,QAAgB,EAAE,QAAQ,EAAE,EAAE;gBAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAChD,IAAI,MAAM;oBAAE,OAAO,MAAM,CAAC;gBAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAChD,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;oBACrC,OAAO,EAAE,CAAC;gBACZ,CAAC;gBACD,iEAAiE;gBACjE,gEAAgE;gBAChE,8DAA8D;gBAC9D,iEAAiE;gBACjE,iEAAiE;gBACjE,mEAAmE;gBACnE,wCAAwC;gBACxC,MAAM,UAAU,GAAG,mCAAmC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACtE,MAAM,SAAS,GAAG,IAAA,kCAAgB,EAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAClF,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;gBAC5C,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,iBAAiB,EAAE,GAAG,EAAE;gBACtB,OAAO,IAAA,oCAAkB,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC9C,CAAC;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,UAAU,CACR,cAAqC,EACrC,UAAqD;QAErD,kDAAkD;QAClD,IAAI,CAAC,UAAU,EAAE,CAAC;QAElB,MAAM,QAAQ,GAAkB,EAAE,CAAC;QACnC,MAAM,UAAU,GAAoB,EAAE,CAAC;QACvC,MAAM,QAAQ,GAA2B,EAAE,CAAC;QAE5C,2EAA2E;QAC3E,MAAM,IAAI,GAAoB,cAAc,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACzD,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC;YACpE,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC;SACrE,CAAC,CAAC,CAAC;QAEJ,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,mBAAmB,GAAG,CAAC,CAAC,CAAC;QAE7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC,4CAA4C;YAClE,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAEpC,IAAI,MAAM,EAAE,CAAC;gBACX,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACtB,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACvE,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvB,CAAC;YAED,qDAAqD;YACrD,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;gBACrD,IAAI,cAAc,GAAG,mBAAmB,EAAE,CAAC;oBACzC,mBAAmB,GAAG,cAAc,CAAC;oBACrC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;QACH,CAAC;QAED,wBAAwB;QACxB,IAAI,UAAU,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YAC5B,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC3B,CAAC;QAED,OAAO;YACL,QAAQ;YACR,UAAU;YACV,KAAK,EAAE;gBACL,KAAK,EAAE,IAAI,CAAC,MAAM;gBAClB,QAAQ,EAAE,QAAQ,CAAC,MAAM;gBACzB,UAAU,EAAE,UAAU,CAAC,MAAM;gBAC7B,QAAQ;aACT;SACF,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,mBAAmB,CAAC,IAAY;QACtC,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC,CAAC,0BAA0B;QAE7D,oBAAoB;QACpB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAE3C,4EAA4E;QAC5E,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC1C,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC9E,+DAA+D;YAC/D,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACzE,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC;gBAAE,OAAO,IAAI,CAAC;YAClD,kEAAkE;YAClE,oEAAoE;YACpE,6BAA6B;YAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,OAAO,GAAG,MAAM,EAAE,CAAC;gBACrB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;gBACzC,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAE,OAAO,IAAI,CAAC;YACrD,CAAC;QACH,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;YAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;YAC5C,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC9E,4DAA4D;YAC5D,wEAAwE;YACxE,uEAAuE;YACvE,0EAA0E;YAC1E,kEAAkE;YAClE,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,SAAS,GAAG,QAAQ,EAAE,CAAC;gBACzB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;gBAC3C,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAE,OAAO,IAAI,CAAC;YACrD,CAAC;QACH,CAAC;QAED,qFAAqF;QACrF,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;YAC9C,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAAE,OAAO,IAAI,CAAC;QACjD,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACK,gBAAgB,CAAC,GAAkB;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACvC,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,IACE,GAAG,CAAC,SAAS,KAAK,GAAG,CAAC,aAAa;gBACnC,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,EACjD,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,GAAkB;QAC3B,oCAAoC;QACpC,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,oEAAoE;QACpE,kEAAkE;QAClE,+DAA+D;QAC/D,oEAAoE;QACpE,wDAAwD;QACxD,gEAAgE;QAChE,IACE,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC;YAC5C,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC;YAC3B,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,EACpE,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,wEAAwE;QACxE,0EAA0E;QAC1E,+DAA+D;QAC/D,MAAM,SAAS,GAAG,IAAA,kCAAgB,EAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACtD,IAAI,SAAS;YAAE,OAAO,SAAS,CAAC;QAEhC,yEAAyE;QACzE,sEAAsE;QACtE,uEAAuE;QACvE,4EAA4E;QAC5E,0EAA0E;QAC1E,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAChD,IAAI,WAAW;gBAAE,OAAO,WAAW,CAAC;QACtC,CAAC;QAED,MAAM,UAAU,GAAkB,EAAE,CAAC;QAErC,wEAAwE;QACxE,wEAAwE;QACxE,0EAA0E;QAC1E,2EAA2E;QAC3E,sBAAsB;QACtB,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;YACrF,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,MAAM,CAAC,UAAU,IAAI,GAAG;oBAAE,OAAO,MAAM,CAAC,CAAC,sCAAsC;gBACnF,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,0CAA0C;QAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAA,kCAAgB,EAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;QACjF,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,YAAY,CAAC,UAAU,IAAI,GAAG;gBAAE,OAAO,YAAY,CAAC;YACxD,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAChC,CAAC;QAED,gCAAgC;QAChC,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,IAAA,6BAAc,EAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7E,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9B,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAEzC,sCAAsC;QACtC,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CACtC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAChD,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,QAAuB;QACjC,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAC1B,IAAI,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC;YAEtC,6EAA6E;YAC7E,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAC9D,IAAI,UAAU,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,WAAW,IAAI,UAAU,CAAC,IAAI,KAAK,UAAU,CAAC,EAAE,CAAC;oBACtF,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;oBACrE,IAAI,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,WAAW,IAAI,UAAU,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;wBACpF,IAAI,GAAG,YAAY,CAAC;oBACtB,CAAC;gBACH,CAAC;YACH,CAAC;YAED,kEAAkE;YAClE,iEAAiE;YACjE,gEAAgE;YAChE,iEAAiE;YACjE,mEAAmE;YACnE,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBACrB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAC9D,IAAI,UAAU,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,OAAO,IAAI,UAAU,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;oBAChF,IAAI,GAAG,cAAc,CAAC;gBACxB,CAAC;YACH,CAAC;YAED,OAAO;gBACL,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,UAAU;gBAC/B,MAAM,EAAE,GAAG,CAAC,YAAY;gBACxB,IAAI;gBACJ,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI;gBACvB,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM;gBAC3B,QAAQ,EAAE;oBACR,UAAU,EAAE,GAAG,CAAC,UAAU;oBAC1B,UAAU,EAAE,GAAG,CAAC,UAAU;iBAC3B;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,iBAAiB,CACf,cAAqC,EACrC,UAAqD;QAErD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAE3D,wCAAwC;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEhD,6BAA6B;QAC7B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;QAED,4EAA4E;QAC5E,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,gCAAgC,CAC3C,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC1B,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU;gBACjC,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,aAAa;gBACvC,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,aAAa;aACxC,CAAC,CAAC,CACJ,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,wBAAwB,CAC5B,UAAqD,EACrD,YAAoB,IAAI;QAExB,IAAI,CAAC,UAAU,EAAE,CAAC;QAElB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,4BAA4B,EAAE,CAAC;QAC1D,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,MAAM,cAAc,GAAG;YACrB,KAAK,EAAE,CAAC;YACR,QAAQ,EAAE,CAAC;YACX,UAAU,EAAE,CAAC;YACb,QAAQ,EAAE,EAA4B;SACvC,CAAC;QAEF,yEAAyE;QACzE,qEAAqE;QACrE,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;YACtE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM;YAE9B,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAEtC,4BAA4B;YAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAChD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;YAED,gEAAgE;YAChE,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,IAAI,CAAC,OAAO,CAAC,gCAAgC,CAC3C,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC1B,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU;oBACjC,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,aAAa;oBACvC,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,aAAa;iBACxC,CAAC,CAAC,CACJ,CAAC;YACJ,CAAC;YAED,uEAAuE;YACvE,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,IAAI,CAAC,OAAO,CAAC,gCAAgC,CAC3C,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC5B,UAAU,EAAE,CAAC,CAAC,UAAU;oBACxB,aAAa,EAAE,CAAC,CAAC,aAAa;oBAC9B,aAAa,EAAE,CAAC,CAAC,aAAa;iBAC/B,CAAC,CAAC,CACJ,CAAC;YACJ,CAAC;YAED,kBAAkB;YAClB,cAAc,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;YAC3C,cAAc,CAAC,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;YACjD,cAAc,CAAC,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;YACrD,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACpE,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC;YACnF,CAAC;YAED,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC;YAC1B,UAAU,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAE/B,kDAAkD;YAClD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;YAEpD,sEAAsE;YACtE,kDAAkD;YAClD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC9E,MAAM;YACR,CAAC;QACH,CAAC;QAED,yEAAyE;QACzE,uEAAuE;QACvE,0EAA0E;QAC1E,2DAA2D;QAC3D,IAAI,CAAC;YACH,cAAc,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,IAAA,8CAAuB,EAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACtG,CAAC;QAAC,MAAM,CAAC;YACP,sDAAsD;QACxD,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,EAAE;YACd,KAAK,EAAE,cAAc;SACtB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,qBAAqB;QACnB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,GAAkB;QAC5C,MAAM,IAAI,GAAG,GAAG,CAAC,aAAa,CAAC;QAC/B,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,KAAK,YAAY,IAAI,GAAG,CAAC,QAAQ,KAAK,YAAY;eACxE,GAAG,CAAC,QAAQ,KAAK,KAAK,IAAI,GAAG,CAAC,QAAQ,KAAK,KAAK,CAAC;QAEtD,kCAAkC;QAClC,IAAI,MAAM,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,mEAAmE;QACnE,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YACpG,OAAO,IAAI,CAAC;QACd,CAAC;QAED,gCAAgC;QAChC,IAAI,MAAM,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,wFAAwF;QACxF,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,gEAAgE;QAChE,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;gBACf,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;gBAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC1C,kEAAkE;gBAClE,IAAI,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACxC,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,iDAAiD;gBACjD,4DAA4D;gBAC5D,uEAAuE;gBACvE,IAAI,uBAAuB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;oBACxC,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBACzE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;wBACvC,OAAO,IAAI,CAAC;oBACd,CAAC;gBACH,CAAC;YACH,CAAC;YACD,2EAA2E;YAC3E,yEAAyE;YACzE,2EAA2E;YAC3E,4EAA4E;YAC5E,2EAA2E;YAC3E,gDAAgD;YAChD,IAAI,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrE,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,sFAAsF;QACtF,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;gBACf,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;gBACtC,IAAI,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBAChC,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YACD,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,qDAAqD;QACrD,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC9B,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/B,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,sEAAsE;QACtE,kEAAkE;QAClE,sEAAsE;QACtE,wEAAwE;QACxE,wEAAwE;QACxE,uEAAuE;QACvE,sEAAsE;QACtE,qEAAqE;QACrE,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,IAAI,GAAG,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YACnD,+DAA+D;YAC/D,6DAA6D;YAC7D,sBAAsB;YACtB,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC1C,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrD,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,MAAc;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC9C,OAAO,IAAI,EAAE,QAAQ,IAAI,EAAE,CAAC;IAC9B,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,MAAc;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC9C,OAAO,IAAI,EAAE,QAAQ,IAAI,SAAS,CAAC;IACrC,CAAC;IAED;;;;;;;;;;;OAWG;IACH;;;;OAIG;IACK,cAAc,CAAC,QAAgB;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAC1B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;QACjC,MAAM,OAAO,GAAG,CAAC,GAAkB,EAAQ,EAAE;YAC3C,IAAI,CAAC,GAAG;gBAAE,OAAO;YACjB,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,gDAAgD,CAAC;gBAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;QACpG,CAAC,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzC,IAAI,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,oEAAoE;QACpE,SAAS,CAAC;YACR,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,iBAAiB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;YACjF,IAAI,CAAC,GAAG;gBAAE,MAAM;YAChB,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACnC,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,CAAC;QACD,MAAM,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;QACxB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACzC,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;OAMG;IACK,iBAAiB,CAAC,GAAkB;QAC1C,IAAI,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACrF,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAgB,CAAC;QACtC,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;YACxB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC;gBACvF,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAClC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAM,CAAC;QAC5C,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;IAC3F,CAAC;IAEO,YAAY,CAAC,MAA0B,EAAE,GAAkB;QACjE,IAAI,CAAC,MAAM;YAAE,OAAO,MAAM,CAAC;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC5D,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ;YAAE,OAAO,MAAM,CAAC;QACzC,IAAI,GAAG,CAAC,aAAa,KAAK,YAAY,IAAI,CAAC,IAAA,iCAAkB,EAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QAC9F,IAAI,GAAG,CAAC,aAAa,KAAK,SAAS,IAAI,IAAA,iCAAkB,EAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QAC1F,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;;;;OAYG;IACK,qBAAqB,CAAC,MAA0B,EAAE,GAAkB;QAC1E,IAAI,CAAC,MAAM;YAAE,OAAO,MAAM,CAAC;QAC3B,IAAI,GAAG,CAAC,aAAa,KAAK,YAAY,IAAI,GAAG,CAAC,aAAa,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC;QACzF,MAAM,GAAG,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC5D,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,IAAI,IAAA,iCAAkB,EAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QAC9E,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAt3BD,8CAs3BC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,WAAmB,EAAE,OAAqB;IACvE,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC7D,QAAQ,CAAC,UAAU,EAAE,CAAC;IACtB,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resolution/index.ts"],"names":[],"mappings":"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"}
|