codegraph-java 0.1.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 (866) hide show
  1. package/README.md +131 -0
  2. package/dist/base-graph/index.d.ts +57 -0
  3. package/dist/base-graph/index.d.ts.map +1 -0
  4. package/dist/base-graph/index.js +175 -0
  5. package/dist/base-graph/index.js.map +1 -0
  6. package/dist/bin/codegraph.d.ts +28 -0
  7. package/dist/bin/codegraph.d.ts.map +1 -0
  8. package/dist/bin/codegraph.js +2615 -0
  9. package/dist/bin/codegraph.js.map +1 -0
  10. package/dist/bin/command-supervision.d.ts +49 -0
  11. package/dist/bin/command-supervision.d.ts.map +1 -0
  12. package/dist/bin/command-supervision.js +95 -0
  13. package/dist/bin/command-supervision.js.map +1 -0
  14. package/dist/bin/fatal-handler.d.ts +20 -0
  15. package/dist/bin/fatal-handler.d.ts.map +1 -0
  16. package/dist/bin/fatal-handler.js +118 -0
  17. package/dist/bin/fatal-handler.js.map +1 -0
  18. package/dist/bin/node-version-check.d.ts +45 -0
  19. package/dist/bin/node-version-check.d.ts.map +1 -0
  20. package/dist/bin/node-version-check.js +98 -0
  21. package/dist/bin/node-version-check.js.map +1 -0
  22. package/dist/bin/uninstall.d.ts +14 -0
  23. package/dist/bin/uninstall.d.ts.map +1 -0
  24. package/dist/bin/uninstall.js +36 -0
  25. package/dist/bin/uninstall.js.map +1 -0
  26. package/dist/context/formatter.d.ts +36 -0
  27. package/dist/context/formatter.d.ts.map +1 -0
  28. package/dist/context/formatter.js +269 -0
  29. package/dist/context/formatter.js.map +1 -0
  30. package/dist/context/index.d.ts +131 -0
  31. package/dist/context/index.d.ts.map +1 -0
  32. package/dist/context/index.js +1378 -0
  33. package/dist/context/index.js.map +1 -0
  34. package/dist/context/markers.d.ts +19 -0
  35. package/dist/context/markers.d.ts.map +1 -0
  36. package/dist/context/markers.js +22 -0
  37. package/dist/context/markers.js.map +1 -0
  38. package/dist/db/index.d.ts +380 -0
  39. package/dist/db/index.d.ts.map +1 -0
  40. package/dist/db/index.js +854 -0
  41. package/dist/db/index.js.map +1 -0
  42. package/dist/db/migrations.d.ts +44 -0
  43. package/dist/db/migrations.d.ts.map +1 -0
  44. package/dist/db/migrations.js +255 -0
  45. package/dist/db/migrations.js.map +1 -0
  46. package/dist/db/queries.d.ts +1060 -0
  47. package/dist/db/queries.d.ts.map +1 -0
  48. package/dist/db/queries.js +3191 -0
  49. package/dist/db/queries.js.map +1 -0
  50. package/dist/db/schema.sql +209 -0
  51. package/dist/db/sqlite-adapter.d.ts +55 -0
  52. package/dist/db/sqlite-adapter.d.ts.map +1 -0
  53. package/dist/db/sqlite-adapter.js +135 -0
  54. package/dist/db/sqlite-adapter.js.map +1 -0
  55. package/dist/db/wal-valve.d.ts +119 -0
  56. package/dist/db/wal-valve.d.ts.map +1 -0
  57. package/dist/db/wal-valve.js +290 -0
  58. package/dist/db/wal-valve.js.map +1 -0
  59. package/dist/directory.d.ts +213 -0
  60. package/dist/directory.d.ts.map +1 -0
  61. package/dist/directory.js +781 -0
  62. package/dist/directory.js.map +1 -0
  63. package/dist/errors.d.ts +150 -0
  64. package/dist/errors.d.ts.map +1 -0
  65. package/dist/errors.js +234 -0
  66. package/dist/errors.js.map +1 -0
  67. package/dist/extraction/extraction-version.d.ts +25 -0
  68. package/dist/extraction/extraction-version.d.ts.map +1 -0
  69. package/dist/extraction/extraction-version.js +28 -0
  70. package/dist/extraction/extraction-version.js.map +1 -0
  71. package/dist/extraction/function-ref.d.ts +118 -0
  72. package/dist/extraction/function-ref.d.ts.map +1 -0
  73. package/dist/extraction/function-ref.js +746 -0
  74. package/dist/extraction/function-ref.js.map +1 -0
  75. package/dist/extraction/generated-detection.d.ts +66 -0
  76. package/dist/extraction/generated-detection.d.ts.map +1 -0
  77. package/dist/extraction/generated-detection.js +248 -0
  78. package/dist/extraction/generated-detection.js.map +1 -0
  79. package/dist/extraction/grammars.d.ts +148 -0
  80. package/dist/extraction/grammars.d.ts.map +1 -0
  81. package/dist/extraction/grammars.js +558 -0
  82. package/dist/extraction/grammars.js.map +1 -0
  83. package/dist/extraction/index.d.ts +367 -0
  84. package/dist/extraction/index.d.ts.map +1 -0
  85. package/dist/extraction/index.js +2833 -0
  86. package/dist/extraction/index.js.map +1 -0
  87. package/dist/extraction/kernel/decode.d.ts +9 -0
  88. package/dist/extraction/kernel/decode.d.ts.map +1 -0
  89. package/dist/extraction/kernel/decode.js +162 -0
  90. package/dist/extraction/kernel/decode.js.map +1 -0
  91. package/dist/extraction/kernel/index.d.ts +64 -0
  92. package/dist/extraction/kernel/index.d.ts.map +1 -0
  93. package/dist/extraction/kernel/index.js +204 -0
  94. package/dist/extraction/kernel/index.js.map +1 -0
  95. package/dist/extraction/kernel/layout.d.ts +101 -0
  96. package/dist/extraction/kernel/layout.d.ts.map +1 -0
  97. package/dist/extraction/kernel/layout.js +104 -0
  98. package/dist/extraction/kernel/layout.js.map +1 -0
  99. package/dist/extraction/kernel/loader.d.ts +103 -0
  100. package/dist/extraction/kernel/loader.d.ts.map +1 -0
  101. package/dist/extraction/kernel/loader.js +146 -0
  102. package/dist/extraction/kernel/loader.js.map +1 -0
  103. package/dist/extraction/languages/c-cpp.d.ts +124 -0
  104. package/dist/extraction/languages/c-cpp.d.ts.map +1 -0
  105. package/dist/extraction/languages/c-cpp.js +1689 -0
  106. package/dist/extraction/languages/c-cpp.js.map +1 -0
  107. package/dist/extraction/languages/index.d.ts +11 -0
  108. package/dist/extraction/languages/index.d.ts.map +1 -0
  109. package/dist/extraction/languages/index.js +15 -0
  110. package/dist/extraction/languages/index.js.map +1 -0
  111. package/dist/extraction/languages/java.d.ts +3 -0
  112. package/dist/extraction/languages/java.d.ts.map +1 -0
  113. package/dist/extraction/languages/java.js +315 -0
  114. package/dist/extraction/languages/java.js.map +1 -0
  115. package/dist/extraction/languages/rust.d.ts +23 -0
  116. package/dist/extraction/languages/rust.d.ts.map +1 -0
  117. package/dist/extraction/languages/rust.js +169 -0
  118. package/dist/extraction/languages/rust.js.map +1 -0
  119. package/dist/extraction/parse-pool.d.ts +167 -0
  120. package/dist/extraction/parse-pool.d.ts.map +1 -0
  121. package/dist/extraction/parse-pool.js +421 -0
  122. package/dist/extraction/parse-pool.js.map +1 -0
  123. package/dist/extraction/parse-worker.d.ts +8 -0
  124. package/dist/extraction/parse-worker.d.ts.map +1 -0
  125. package/dist/extraction/parse-worker.js +138 -0
  126. package/dist/extraction/parse-worker.js.map +1 -0
  127. package/dist/extraction/store-worker.d.ts +24 -0
  128. package/dist/extraction/store-worker.d.ts.map +1 -0
  129. package/dist/extraction/store-worker.js +139 -0
  130. package/dist/extraction/store-worker.js.map +1 -0
  131. package/dist/extraction/store-writer.d.ts +63 -0
  132. package/dist/extraction/store-writer.d.ts.map +1 -0
  133. package/dist/extraction/store-writer.js +174 -0
  134. package/dist/extraction/store-writer.js.map +1 -0
  135. package/dist/extraction/syntax-tokens.d.ts +103 -0
  136. package/dist/extraction/syntax-tokens.d.ts.map +1 -0
  137. package/dist/extraction/syntax-tokens.js +381 -0
  138. package/dist/extraction/syntax-tokens.js.map +1 -0
  139. package/dist/extraction/tree-sitter-helpers.d.ts +28 -0
  140. package/dist/extraction/tree-sitter-helpers.d.ts.map +1 -0
  141. package/dist/extraction/tree-sitter-helpers.js +153 -0
  142. package/dist/extraction/tree-sitter-helpers.js.map +1 -0
  143. package/dist/extraction/tree-sitter-types.d.ts +260 -0
  144. package/dist/extraction/tree-sitter-types.d.ts.map +1 -0
  145. package/dist/extraction/tree-sitter-types.js +10 -0
  146. package/dist/extraction/tree-sitter-types.js.map +1 -0
  147. package/dist/extraction/tree-sitter.d.ts +745 -0
  148. package/dist/extraction/tree-sitter.d.ts.map +1 -0
  149. package/dist/extraction/tree-sitter.js +6725 -0
  150. package/dist/extraction/tree-sitter.js.map +1 -0
  151. package/dist/extraction/wasm/tree-sitter-java.wasm +0 -0
  152. package/dist/extraction/wasm-runtime-flags.d.ts +53 -0
  153. package/dist/extraction/wasm-runtime-flags.d.ts.map +1 -0
  154. package/dist/extraction/wasm-runtime-flags.js +130 -0
  155. package/dist/extraction/wasm-runtime-flags.js.map +1 -0
  156. package/dist/graph/branch-guards.d.ts +248 -0
  157. package/dist/graph/branch-guards.d.ts.map +1 -0
  158. package/dist/graph/branch-guards.js +2231 -0
  159. package/dist/graph/branch-guards.js.map +1 -0
  160. package/dist/graph/dead-code.d.ts +251 -0
  161. package/dist/graph/dead-code.d.ts.map +1 -0
  162. package/dist/graph/dead-code.js +756 -0
  163. package/dist/graph/dead-code.js.map +1 -0
  164. package/dist/graph/dynamic-boundary-report.d.ts +121 -0
  165. package/dist/graph/dynamic-boundary-report.d.ts.map +1 -0
  166. package/dist/graph/dynamic-boundary-report.js +283 -0
  167. package/dist/graph/dynamic-boundary-report.js.map +1 -0
  168. package/dist/graph/index.d.ts +12 -0
  169. package/dist/graph/index.d.ts.map +1 -0
  170. package/dist/graph/index.js +28 -0
  171. package/dist/graph/index.js.map +1 -0
  172. package/dist/graph/named-symbol-flow.d.ts +153 -0
  173. package/dist/graph/named-symbol-flow.d.ts.map +1 -0
  174. package/dist/graph/named-symbol-flow.js +609 -0
  175. package/dist/graph/named-symbol-flow.js.map +1 -0
  176. package/dist/graph/queries.d.ts +106 -0
  177. package/dist/graph/queries.d.ts.map +1 -0
  178. package/dist/graph/queries.js +341 -0
  179. package/dist/graph/queries.js.map +1 -0
  180. package/dist/graph/traversal.d.ts +127 -0
  181. package/dist/graph/traversal.d.ts.map +1 -0
  182. package/dist/graph/traversal.js +599 -0
  183. package/dist/graph/traversal.js.map +1 -0
  184. package/dist/graph/type-hierarchy.d.ts +155 -0
  185. package/dist/graph/type-hierarchy.d.ts.map +1 -0
  186. package/dist/graph/type-hierarchy.js +382 -0
  187. package/dist/graph/type-hierarchy.js.map +1 -0
  188. package/dist/index.d.ts +886 -0
  189. package/dist/index.d.ts.map +1 -0
  190. package/dist/index.js +2019 -0
  191. package/dist/index.js.map +1 -0
  192. package/dist/installer/beta-signup.d.ts +54 -0
  193. package/dist/installer/beta-signup.d.ts.map +1 -0
  194. package/dist/installer/beta-signup.js +178 -0
  195. package/dist/installer/beta-signup.js.map +1 -0
  196. package/dist/installer/config-writer.d.ts +28 -0
  197. package/dist/installer/config-writer.d.ts.map +1 -0
  198. package/dist/installer/config-writer.js +91 -0
  199. package/dist/installer/config-writer.js.map +1 -0
  200. package/dist/installer/index.d.ts +143 -0
  201. package/dist/installer/index.d.ts.map +1 -0
  202. package/dist/installer/index.js +632 -0
  203. package/dist/installer/index.js.map +1 -0
  204. package/dist/installer/instructions-template.d.ts +41 -0
  205. package/dist/installer/instructions-template.d.ts.map +1 -0
  206. package/dist/installer/instructions-template.js +53 -0
  207. package/dist/installer/instructions-template.js.map +1 -0
  208. package/dist/installer/targets/antigravity.d.ts +57 -0
  209. package/dist/installer/targets/antigravity.d.ts.map +1 -0
  210. package/dist/installer/targets/antigravity.js +308 -0
  211. package/dist/installer/targets/antigravity.js.map +1 -0
  212. package/dist/installer/targets/claude.d.ts +62 -0
  213. package/dist/installer/targets/claude.d.ts.map +1 -0
  214. package/dist/installer/targets/claude.js +486 -0
  215. package/dist/installer/targets/claude.js.map +1 -0
  216. package/dist/installer/targets/codex.d.ts +32 -0
  217. package/dist/installer/targets/codex.d.ts.map +1 -0
  218. package/dist/installer/targets/codex.js +202 -0
  219. package/dist/installer/targets/codex.js.map +1 -0
  220. package/dist/installer/targets/copilot-cli.d.ts +32 -0
  221. package/dist/installer/targets/copilot-cli.d.ts.map +1 -0
  222. package/dist/installer/targets/copilot-cli.js +209 -0
  223. package/dist/installer/targets/copilot-cli.js.map +1 -0
  224. package/dist/installer/targets/copilot-jetbrains.d.ts +42 -0
  225. package/dist/installer/targets/copilot-jetbrains.d.ts.map +1 -0
  226. package/dist/installer/targets/copilot-jetbrains.js +238 -0
  227. package/dist/installer/targets/copilot-jetbrains.js.map +1 -0
  228. package/dist/installer/targets/copilot-vscode.d.ts +47 -0
  229. package/dist/installer/targets/copilot-vscode.d.ts.map +1 -0
  230. package/dist/installer/targets/copilot-vscode.js +219 -0
  231. package/dist/installer/targets/copilot-vscode.js.map +1 -0
  232. package/dist/installer/targets/cursor.d.ts +35 -0
  233. package/dist/installer/targets/cursor.d.ts.map +1 -0
  234. package/dist/installer/targets/cursor.js +254 -0
  235. package/dist/installer/targets/cursor.js.map +1 -0
  236. package/dist/installer/targets/gemini.d.ts +26 -0
  237. package/dist/installer/targets/gemini.d.ts.map +1 -0
  238. package/dist/installer/targets/gemini.js +165 -0
  239. package/dist/installer/targets/gemini.js.map +1 -0
  240. package/dist/installer/targets/hermes.d.ts +18 -0
  241. package/dist/installer/targets/hermes.d.ts.map +1 -0
  242. package/dist/installer/targets/hermes.js +359 -0
  243. package/dist/installer/targets/hermes.js.map +1 -0
  244. package/dist/installer/targets/kiro.d.ts +27 -0
  245. package/dist/installer/targets/kiro.d.ts.map +1 -0
  246. package/dist/installer/targets/kiro.js +178 -0
  247. package/dist/installer/targets/kiro.js.map +1 -0
  248. package/dist/installer/targets/opencode.d.ts +38 -0
  249. package/dist/installer/targets/opencode.d.ts.map +1 -0
  250. package/dist/installer/targets/opencode.js +288 -0
  251. package/dist/installer/targets/opencode.js.map +1 -0
  252. package/dist/installer/targets/registry.d.ts +35 -0
  253. package/dist/installer/targets/registry.d.ts.map +1 -0
  254. package/dist/installer/targets/registry.js +101 -0
  255. package/dist/installer/targets/registry.js.map +1 -0
  256. package/dist/installer/targets/shared.d.ts +101 -0
  257. package/dist/installer/targets/shared.d.ts.map +1 -0
  258. package/dist/installer/targets/shared.js +264 -0
  259. package/dist/installer/targets/shared.js.map +1 -0
  260. package/dist/installer/targets/toml.d.ts +53 -0
  261. package/dist/installer/targets/toml.d.ts.map +1 -0
  262. package/dist/installer/targets/toml.js +226 -0
  263. package/dist/installer/targets/toml.js.map +1 -0
  264. package/dist/installer/targets/trae.d.ts +30 -0
  265. package/dist/installer/targets/trae.d.ts.map +1 -0
  266. package/dist/installer/targets/trae.js +164 -0
  267. package/dist/installer/targets/trae.js.map +1 -0
  268. package/dist/installer/targets/types.d.ts +108 -0
  269. package/dist/installer/targets/types.d.ts.map +1 -0
  270. package/dist/installer/targets/types.js +16 -0
  271. package/dist/installer/targets/types.js.map +1 -0
  272. package/dist/installer/targets/workbuddy.d.ts +29 -0
  273. package/dist/installer/targets/workbuddy.d.ts.map +1 -0
  274. package/dist/installer/targets/workbuddy.js +163 -0
  275. package/dist/installer/targets/workbuddy.js.map +1 -0
  276. package/dist/mcp/daemon-manager.d.ts +42 -0
  277. package/dist/mcp/daemon-manager.d.ts.map +1 -0
  278. package/dist/mcp/daemon-manager.js +129 -0
  279. package/dist/mcp/daemon-manager.js.map +1 -0
  280. package/dist/mcp/daemon-paths.d.ts +79 -0
  281. package/dist/mcp/daemon-paths.d.ts.map +1 -0
  282. package/dist/mcp/daemon-paths.js +219 -0
  283. package/dist/mcp/daemon-paths.js.map +1 -0
  284. package/dist/mcp/daemon-registry.d.ts +57 -0
  285. package/dist/mcp/daemon-registry.d.ts.map +1 -0
  286. package/dist/mcp/daemon-registry.js +281 -0
  287. package/dist/mcp/daemon-registry.js.map +1 -0
  288. package/dist/mcp/daemon.d.ts +293 -0
  289. package/dist/mcp/daemon.d.ts.map +1 -0
  290. package/dist/mcp/daemon.js +864 -0
  291. package/dist/mcp/daemon.js.map +1 -0
  292. package/dist/mcp/dynamic-boundaries.d.ts +41 -0
  293. package/dist/mcp/dynamic-boundaries.d.ts.map +1 -0
  294. package/dist/mcp/dynamic-boundaries.js +360 -0
  295. package/dist/mcp/dynamic-boundaries.js.map +1 -0
  296. package/dist/mcp/early-ppid.d.ts +26 -0
  297. package/dist/mcp/early-ppid.d.ts.map +1 -0
  298. package/dist/mcp/early-ppid.js +29 -0
  299. package/dist/mcp/early-ppid.js.map +1 -0
  300. package/dist/mcp/engine.d.ts +125 -0
  301. package/dist/mcp/engine.d.ts.map +1 -0
  302. package/dist/mcp/engine.js +392 -0
  303. package/dist/mcp/engine.js.map +1 -0
  304. package/dist/mcp/explore-dedup.d.ts +137 -0
  305. package/dist/mcp/explore-dedup.d.ts.map +1 -0
  306. package/dist/mcp/explore-dedup.js +236 -0
  307. package/dist/mcp/explore-dedup.js.map +1 -0
  308. package/dist/mcp/explore-diagnostics.d.ts +289 -0
  309. package/dist/mcp/explore-diagnostics.d.ts.map +1 -0
  310. package/dist/mcp/explore-diagnostics.js +558 -0
  311. package/dist/mcp/explore-diagnostics.js.map +1 -0
  312. package/dist/mcp/explore-session-state.d.ts +217 -0
  313. package/dist/mcp/explore-session-state.d.ts.map +1 -0
  314. package/dist/mcp/explore-session-state.js +322 -0
  315. package/dist/mcp/explore-session-state.js.map +1 -0
  316. package/dist/mcp/index.d.ts +137 -0
  317. package/dist/mcp/index.d.ts.map +1 -0
  318. package/dist/mcp/index.js +567 -0
  319. package/dist/mcp/index.js.map +1 -0
  320. package/dist/mcp/liveness-watchdog.d.ts +35 -0
  321. package/dist/mcp/liveness-watchdog.d.ts.map +1 -0
  322. package/dist/mcp/liveness-watchdog.js +269 -0
  323. package/dist/mcp/liveness-watchdog.js.map +1 -0
  324. package/dist/mcp/ppid-watchdog.d.ts +62 -0
  325. package/dist/mcp/ppid-watchdog.d.ts.map +1 -0
  326. package/dist/mcp/ppid-watchdog.js +64 -0
  327. package/dist/mcp/ppid-watchdog.js.map +1 -0
  328. package/dist/mcp/proxy.d.ts +87 -0
  329. package/dist/mcp/proxy.d.ts.map +1 -0
  330. package/dist/mcp/proxy.js +672 -0
  331. package/dist/mcp/proxy.js.map +1 -0
  332. package/dist/mcp/query-pool.d.ts +108 -0
  333. package/dist/mcp/query-pool.d.ts.map +1 -0
  334. package/dist/mcp/query-pool.js +315 -0
  335. package/dist/mcp/query-pool.js.map +1 -0
  336. package/dist/mcp/query-worker.d.ts +24 -0
  337. package/dist/mcp/query-worker.d.ts.map +1 -0
  338. package/dist/mcp/query-worker.js +87 -0
  339. package/dist/mcp/query-worker.js.map +1 -0
  340. package/dist/mcp/server-instructions.d.ts +34 -0
  341. package/dist/mcp/server-instructions.d.ts.map +1 -0
  342. package/dist/mcp/server-instructions.js +111 -0
  343. package/dist/mcp/server-instructions.js.map +1 -0
  344. package/dist/mcp/session.d.ts +109 -0
  345. package/dist/mcp/session.d.ts.map +1 -0
  346. package/dist/mcp/session.js +380 -0
  347. package/dist/mcp/session.js.map +1 -0
  348. package/dist/mcp/startup-handshake.d.ts +44 -0
  349. package/dist/mcp/startup-handshake.d.ts.map +1 -0
  350. package/dist/mcp/startup-handshake.js +73 -0
  351. package/dist/mcp/startup-handshake.js.map +1 -0
  352. package/dist/mcp/stdin-teardown.d.ts +27 -0
  353. package/dist/mcp/stdin-teardown.d.ts.map +1 -0
  354. package/dist/mcp/stdin-teardown.js +49 -0
  355. package/dist/mcp/stdin-teardown.js.map +1 -0
  356. package/dist/mcp/tools.d.ts +877 -0
  357. package/dist/mcp/tools.d.ts.map +1 -0
  358. package/dist/mcp/tools.js +6371 -0
  359. package/dist/mcp/tools.js.map +1 -0
  360. package/dist/mcp/transport.d.ts +188 -0
  361. package/dist/mcp/transport.d.ts.map +1 -0
  362. package/dist/mcp/transport.js +377 -0
  363. package/dist/mcp/transport.js.map +1 -0
  364. package/dist/mcp/version.d.ts +19 -0
  365. package/dist/mcp/version.d.ts.map +1 -0
  366. package/dist/mcp/version.js +71 -0
  367. package/dist/mcp/version.js.map +1 -0
  368. package/dist/project-config.d.ts +158 -0
  369. package/dist/project-config.d.ts.map +1 -0
  370. package/dist/project-config.js +489 -0
  371. package/dist/project-config.js.map +1 -0
  372. package/dist/resolution/c-fnptr-synthesizer.d.ts +6 -0
  373. package/dist/resolution/c-fnptr-synthesizer.d.ts.map +1 -0
  374. package/dist/resolution/c-fnptr-synthesizer.js +1506 -0
  375. package/dist/resolution/c-fnptr-synthesizer.js.map +1 -0
  376. package/dist/resolution/callback-synthesizer.d.ts +59 -0
  377. package/dist/resolution/callback-synthesizer.d.ts.map +1 -0
  378. package/dist/resolution/callback-synthesizer.js +4066 -0
  379. package/dist/resolution/callback-synthesizer.js.map +1 -0
  380. package/dist/resolution/cooperative-yield.d.ts +40 -0
  381. package/dist/resolution/cooperative-yield.d.ts.map +1 -0
  382. package/dist/resolution/cooperative-yield.js +44 -0
  383. package/dist/resolution/cooperative-yield.js.map +1 -0
  384. package/dist/resolution/expo-router-synthesizer.d.ts +32 -0
  385. package/dist/resolution/expo-router-synthesizer.d.ts.map +1 -0
  386. package/dist/resolution/expo-router-synthesizer.js +189 -0
  387. package/dist/resolution/expo-router-synthesizer.js.map +1 -0
  388. package/dist/resolution/frameworks/astro.d.ts +9 -0
  389. package/dist/resolution/frameworks/astro.d.ts.map +1 -0
  390. package/dist/resolution/frameworks/astro.js +169 -0
  391. package/dist/resolution/frameworks/astro.js.map +1 -0
  392. package/dist/resolution/frameworks/cargo-workspace.d.ts +18 -0
  393. package/dist/resolution/frameworks/cargo-workspace.d.ts.map +1 -0
  394. package/dist/resolution/frameworks/cargo-workspace.js +225 -0
  395. package/dist/resolution/frameworks/cargo-workspace.js.map +1 -0
  396. package/dist/resolution/frameworks/cics.d.ts +20 -0
  397. package/dist/resolution/frameworks/cics.d.ts.map +1 -0
  398. package/dist/resolution/frameworks/cics.js +90 -0
  399. package/dist/resolution/frameworks/cics.js.map +1 -0
  400. package/dist/resolution/frameworks/csharp.d.ts +8 -0
  401. package/dist/resolution/frameworks/csharp.d.ts.map +1 -0
  402. package/dist/resolution/frameworks/csharp.js +335 -0
  403. package/dist/resolution/frameworks/csharp.js.map +1 -0
  404. package/dist/resolution/frameworks/drupal.d.ts +51 -0
  405. package/dist/resolution/frameworks/drupal.d.ts.map +1 -0
  406. package/dist/resolution/frameworks/drupal.js +367 -0
  407. package/dist/resolution/frameworks/drupal.js.map +1 -0
  408. package/dist/resolution/frameworks/expo-modules.d.ts +3 -0
  409. package/dist/resolution/frameworks/expo-modules.d.ts.map +1 -0
  410. package/dist/resolution/frameworks/expo-modules.js +148 -0
  411. package/dist/resolution/frameworks/expo-modules.js.map +1 -0
  412. package/dist/resolution/frameworks/expo-router.d.ts +189 -0
  413. package/dist/resolution/frameworks/expo-router.d.ts.map +1 -0
  414. package/dist/resolution/frameworks/expo-router.js +785 -0
  415. package/dist/resolution/frameworks/expo-router.js.map +1 -0
  416. package/dist/resolution/frameworks/express.d.ts +8 -0
  417. package/dist/resolution/frameworks/express.d.ts.map +1 -0
  418. package/dist/resolution/frameworks/express.js +540 -0
  419. package/dist/resolution/frameworks/express.js.map +1 -0
  420. package/dist/resolution/frameworks/fabric.d.ts +3 -0
  421. package/dist/resolution/frameworks/fabric.d.ts.map +1 -0
  422. package/dist/resolution/frameworks/fabric.js +354 -0
  423. package/dist/resolution/frameworks/fabric.js.map +1 -0
  424. package/dist/resolution/frameworks/go.d.ts +8 -0
  425. package/dist/resolution/frameworks/go.d.ts.map +1 -0
  426. package/dist/resolution/frameworks/go.js +184 -0
  427. package/dist/resolution/frameworks/go.js.map +1 -0
  428. package/dist/resolution/frameworks/goframe.d.ts +41 -0
  429. package/dist/resolution/frameworks/goframe.d.ts.map +1 -0
  430. package/dist/resolution/frameworks/goframe.js +112 -0
  431. package/dist/resolution/frameworks/goframe.js.map +1 -0
  432. package/dist/resolution/frameworks/index.d.ts +30 -0
  433. package/dist/resolution/frameworks/index.d.ts.map +1 -0
  434. package/dist/resolution/frameworks/index.js +72 -0
  435. package/dist/resolution/frameworks/index.js.map +1 -0
  436. package/dist/resolution/frameworks/java.d.ts +8 -0
  437. package/dist/resolution/frameworks/java.d.ts.map +1 -0
  438. package/dist/resolution/frameworks/java.js +517 -0
  439. package/dist/resolution/frameworks/java.js.map +1 -0
  440. package/dist/resolution/frameworks/laravel.d.ts +13 -0
  441. package/dist/resolution/frameworks/laravel.d.ts.map +1 -0
  442. package/dist/resolution/frameworks/laravel.js +257 -0
  443. package/dist/resolution/frameworks/laravel.js.map +1 -0
  444. package/dist/resolution/frameworks/nestjs.d.ts +26 -0
  445. package/dist/resolution/frameworks/nestjs.d.ts.map +1 -0
  446. package/dist/resolution/frameworks/nestjs.js +690 -0
  447. package/dist/resolution/frameworks/nestjs.js.map +1 -0
  448. package/dist/resolution/frameworks/nextjs.d.ts +76 -0
  449. package/dist/resolution/frameworks/nextjs.d.ts.map +1 -0
  450. package/dist/resolution/frameworks/nextjs.js +328 -0
  451. package/dist/resolution/frameworks/nextjs.js.map +1 -0
  452. package/dist/resolution/frameworks/object-literal.d.ts +32 -0
  453. package/dist/resolution/frameworks/object-literal.d.ts.map +1 -0
  454. package/dist/resolution/frameworks/object-literal.js +139 -0
  455. package/dist/resolution/frameworks/object-literal.js.map +1 -0
  456. package/dist/resolution/frameworks/package-deps.d.ts +14 -0
  457. package/dist/resolution/frameworks/package-deps.d.ts.map +1 -0
  458. package/dist/resolution/frameworks/package-deps.js +78 -0
  459. package/dist/resolution/frameworks/package-deps.js.map +1 -0
  460. package/dist/resolution/frameworks/play.d.ts +19 -0
  461. package/dist/resolution/frameworks/play.d.ts.map +1 -0
  462. package/dist/resolution/frameworks/play.js +111 -0
  463. package/dist/resolution/frameworks/play.js.map +1 -0
  464. package/dist/resolution/frameworks/python.d.ts +10 -0
  465. package/dist/resolution/frameworks/python.d.ts.map +1 -0
  466. package/dist/resolution/frameworks/python.js +566 -0
  467. package/dist/resolution/frameworks/python.js.map +1 -0
  468. package/dist/resolution/frameworks/react-native.d.ts +29 -0
  469. package/dist/resolution/frameworks/react-native.d.ts.map +1 -0
  470. package/dist/resolution/frameworks/react-native.js +549 -0
  471. package/dist/resolution/frameworks/react-native.js.map +1 -0
  472. package/dist/resolution/frameworks/react-router.d.ts +46 -0
  473. package/dist/resolution/frameworks/react-router.d.ts.map +1 -0
  474. package/dist/resolution/frameworks/react-router.js +187 -0
  475. package/dist/resolution/frameworks/react-router.js.map +1 -0
  476. package/dist/resolution/frameworks/react.d.ts +9 -0
  477. package/dist/resolution/frameworks/react.d.ts.map +1 -0
  478. package/dist/resolution/frameworks/react.js +257 -0
  479. package/dist/resolution/frameworks/react.js.map +1 -0
  480. package/dist/resolution/frameworks/ruby.d.ts +8 -0
  481. package/dist/resolution/frameworks/ruby.d.ts.map +1 -0
  482. package/dist/resolution/frameworks/ruby.js +302 -0
  483. package/dist/resolution/frameworks/ruby.js.map +1 -0
  484. package/dist/resolution/frameworks/rust.d.ts +8 -0
  485. package/dist/resolution/frameworks/rust.d.ts.map +1 -0
  486. package/dist/resolution/frameworks/rust.js +304 -0
  487. package/dist/resolution/frameworks/rust.js.map +1 -0
  488. package/dist/resolution/frameworks/svelte.d.ts +9 -0
  489. package/dist/resolution/frameworks/svelte.d.ts.map +1 -0
  490. package/dist/resolution/frameworks/svelte.js +258 -0
  491. package/dist/resolution/frameworks/svelte.js.map +1 -0
  492. package/dist/resolution/frameworks/sveltekit-router.d.ts +36 -0
  493. package/dist/resolution/frameworks/sveltekit-router.d.ts.map +1 -0
  494. package/dist/resolution/frameworks/sveltekit-router.js +156 -0
  495. package/dist/resolution/frameworks/sveltekit-router.js.map +1 -0
  496. package/dist/resolution/frameworks/swift-objc.d.ts +37 -0
  497. package/dist/resolution/frameworks/swift-objc.d.ts.map +1 -0
  498. package/dist/resolution/frameworks/swift-objc.js +252 -0
  499. package/dist/resolution/frameworks/swift-objc.js.map +1 -0
  500. package/dist/resolution/frameworks/swift.d.ts +10 -0
  501. package/dist/resolution/frameworks/swift.d.ts.map +1 -0
  502. package/dist/resolution/frameworks/swift.js +410 -0
  503. package/dist/resolution/frameworks/swift.js.map +1 -0
  504. package/dist/resolution/frameworks/tanstack-router.d.ts +84 -0
  505. package/dist/resolution/frameworks/tanstack-router.d.ts.map +1 -0
  506. package/dist/resolution/frameworks/tanstack-router.js +437 -0
  507. package/dist/resolution/frameworks/tanstack-router.js.map +1 -0
  508. package/dist/resolution/frameworks/terraform.d.ts +38 -0
  509. package/dist/resolution/frameworks/terraform.d.ts.map +1 -0
  510. package/dist/resolution/frameworks/terraform.js +277 -0
  511. package/dist/resolution/frameworks/terraform.js.map +1 -0
  512. package/dist/resolution/frameworks/vue-router.d.ts +82 -0
  513. package/dist/resolution/frameworks/vue-router.d.ts.map +1 -0
  514. package/dist/resolution/frameworks/vue-router.js +377 -0
  515. package/dist/resolution/frameworks/vue-router.js.map +1 -0
  516. package/dist/resolution/frameworks/vue.d.ts +9 -0
  517. package/dist/resolution/frameworks/vue.d.ts.map +1 -0
  518. package/dist/resolution/frameworks/vue.js +303 -0
  519. package/dist/resolution/frameworks/vue.js.map +1 -0
  520. package/dist/resolution/go-module.d.ts +26 -0
  521. package/dist/resolution/go-module.d.ts.map +1 -0
  522. package/dist/resolution/go-module.js +78 -0
  523. package/dist/resolution/go-module.js.map +1 -0
  524. package/dist/resolution/goframe-synthesizer.d.ts +29 -0
  525. package/dist/resolution/goframe-synthesizer.d.ts.map +1 -0
  526. package/dist/resolution/goframe-synthesizer.js +163 -0
  527. package/dist/resolution/goframe-synthesizer.js.map +1 -0
  528. package/dist/resolution/import-resolver.d.ts +84 -0
  529. package/dist/resolution/import-resolver.d.ts.map +1 -0
  530. package/dist/resolution/import-resolver.js +2240 -0
  531. package/dist/resolution/import-resolver.js.map +1 -0
  532. package/dist/resolution/index.d.ts +343 -0
  533. package/dist/resolution/index.d.ts.map +1 -0
  534. package/dist/resolution/index.js +2352 -0
  535. package/dist/resolution/index.js.map +1 -0
  536. package/dist/resolution/lru-cache.d.ts +24 -0
  537. package/dist/resolution/lru-cache.d.ts.map +1 -0
  538. package/dist/resolution/lru-cache.js +62 -0
  539. package/dist/resolution/lru-cache.js.map +1 -0
  540. package/dist/resolution/memory-budget.d.ts +48 -0
  541. package/dist/resolution/memory-budget.d.ts.map +1 -0
  542. package/dist/resolution/memory-budget.js +162 -0
  543. package/dist/resolution/memory-budget.js.map +1 -0
  544. package/dist/resolution/name-matcher.d.ts +153 -0
  545. package/dist/resolution/name-matcher.d.ts.map +1 -0
  546. package/dist/resolution/name-matcher.js +2412 -0
  547. package/dist/resolution/name-matcher.js.map +1 -0
  548. package/dist/resolution/next-router-synthesizer.d.ts +27 -0
  549. package/dist/resolution/next-router-synthesizer.d.ts.map +1 -0
  550. package/dist/resolution/next-router-synthesizer.js +113 -0
  551. package/dist/resolution/next-router-synthesizer.js.map +1 -0
  552. package/dist/resolution/path-aliases.d.ts +70 -0
  553. package/dist/resolution/path-aliases.d.ts.map +1 -0
  554. package/dist/resolution/path-aliases.js +346 -0
  555. package/dist/resolution/path-aliases.js.map +1 -0
  556. package/dist/resolution/react-router-synthesizer.d.ts +33 -0
  557. package/dist/resolution/react-router-synthesizer.d.ts.map +1 -0
  558. package/dist/resolution/react-router-synthesizer.js +126 -0
  559. package/dist/resolution/react-router-synthesizer.js.map +1 -0
  560. package/dist/resolution/resolver-pool.d.ts +106 -0
  561. package/dist/resolution/resolver-pool.d.ts.map +1 -0
  562. package/dist/resolution/resolver-pool.js +344 -0
  563. package/dist/resolution/resolver-pool.js.map +1 -0
  564. package/dist/resolution/resolver-worker.d.ts +17 -0
  565. package/dist/resolution/resolver-worker.d.ts.map +1 -0
  566. package/dist/resolution/resolver-worker.js +141 -0
  567. package/dist/resolution/resolver-worker.js.map +1 -0
  568. package/dist/resolution/strip-comments.d.ts +27 -0
  569. package/dist/resolution/strip-comments.d.ts.map +1 -0
  570. package/dist/resolution/strip-comments.js +492 -0
  571. package/dist/resolution/strip-comments.js.map +1 -0
  572. package/dist/resolution/sveltekit-synthesizer.d.ts +58 -0
  573. package/dist/resolution/sveltekit-synthesizer.d.ts.map +1 -0
  574. package/dist/resolution/sveltekit-synthesizer.js +173 -0
  575. package/dist/resolution/sveltekit-synthesizer.js.map +1 -0
  576. package/dist/resolution/swift-objc-bridge.d.ts +134 -0
  577. package/dist/resolution/swift-objc-bridge.d.ts.map +1 -0
  578. package/dist/resolution/swift-objc-bridge.js +256 -0
  579. package/dist/resolution/swift-objc-bridge.js.map +1 -0
  580. package/dist/resolution/synth-utils.d.ts +26 -0
  581. package/dist/resolution/synth-utils.d.ts.map +1 -0
  582. package/dist/resolution/synth-utils.js +75 -0
  583. package/dist/resolution/synth-utils.js.map +1 -0
  584. package/dist/resolution/tanstack-router-synthesizer.d.ts +31 -0
  585. package/dist/resolution/tanstack-router-synthesizer.d.ts.map +1 -0
  586. package/dist/resolution/tanstack-router-synthesizer.js +114 -0
  587. package/dist/resolution/tanstack-router-synthesizer.js.map +1 -0
  588. package/dist/resolution/tier-synthesizer.d.ts +48 -0
  589. package/dist/resolution/tier-synthesizer.d.ts.map +1 -0
  590. package/dist/resolution/tier-synthesizer.js +907 -0
  591. package/dist/resolution/tier-synthesizer.js.map +1 -0
  592. package/dist/resolution/types.d.ts +290 -0
  593. package/dist/resolution/types.d.ts.map +1 -0
  594. package/dist/resolution/types.js +8 -0
  595. package/dist/resolution/types.js.map +1 -0
  596. package/dist/resolution/vue-router-synthesizer.d.ts +30 -0
  597. package/dist/resolution/vue-router-synthesizer.d.ts.map +1 -0
  598. package/dist/resolution/vue-router-synthesizer.js +115 -0
  599. package/dist/resolution/vue-router-synthesizer.js.map +1 -0
  600. package/dist/resolution/workspace-packages.d.ts +58 -0
  601. package/dist/resolution/workspace-packages.d.ts.map +1 -0
  602. package/dist/resolution/workspace-packages.js +346 -0
  603. package/dist/resolution/workspace-packages.js.map +1 -0
  604. package/dist/search/identifier-segments.d.ts +70 -0
  605. package/dist/search/identifier-segments.d.ts.map +1 -0
  606. package/dist/search/identifier-segments.js +205 -0
  607. package/dist/search/identifier-segments.js.map +1 -0
  608. package/dist/search/query-parser.d.ts +57 -0
  609. package/dist/search/query-parser.d.ts.map +1 -0
  610. package/dist/search/query-parser.js +177 -0
  611. package/dist/search/query-parser.js.map +1 -0
  612. package/dist/search/query-paths.d.ts +57 -0
  613. package/dist/search/query-paths.d.ts.map +1 -0
  614. package/dist/search/query-paths.js +298 -0
  615. package/dist/search/query-paths.js.map +1 -0
  616. package/dist/search/query-utils.d.ts +102 -0
  617. package/dist/search/query-utils.d.ts.map +1 -0
  618. package/dist/search/query-utils.js +487 -0
  619. package/dist/search/query-utils.js.map +1 -0
  620. package/dist/sync/git-hooks.d.ts +45 -0
  621. package/dist/sync/git-hooks.d.ts.map +1 -0
  622. package/dist/sync/git-hooks.js +227 -0
  623. package/dist/sync/git-hooks.js.map +1 -0
  624. package/dist/sync/index.d.ts +19 -0
  625. package/dist/sync/index.d.ts.map +1 -0
  626. package/dist/sync/index.js +35 -0
  627. package/dist/sync/index.js.map +1 -0
  628. package/dist/sync/watch-policy.d.ts +48 -0
  629. package/dist/sync/watch-policy.d.ts.map +1 -0
  630. package/dist/sync/watch-policy.js +124 -0
  631. package/dist/sync/watch-policy.js.map +1 -0
  632. package/dist/sync/watcher.d.ts +401 -0
  633. package/dist/sync/watcher.d.ts.map +1 -0
  634. package/dist/sync/watcher.js +967 -0
  635. package/dist/sync/watcher.js.map +1 -0
  636. package/dist/sync/worktree.d.ts +63 -0
  637. package/dist/sync/worktree.d.ts.map +1 -0
  638. package/dist/sync/worktree.js +182 -0
  639. package/dist/sync/worktree.js.map +1 -0
  640. package/dist/telemetry/index.d.ts +143 -0
  641. package/dist/telemetry/index.d.ts.map +1 -0
  642. package/dist/telemetry/index.js +541 -0
  643. package/dist/telemetry/index.js.map +1 -0
  644. package/dist/types.d.ts +486 -0
  645. package/dist/types.d.ts.map +1 -0
  646. package/dist/types.js +118 -0
  647. package/dist/types.js.map +1 -0
  648. package/dist/ui/color.d.ts +21 -0
  649. package/dist/ui/color.d.ts.map +1 -0
  650. package/dist/ui/color.js +42 -0
  651. package/dist/ui/color.js.map +1 -0
  652. package/dist/ui/glyphs.d.ts +67 -0
  653. package/dist/ui/glyphs.d.ts.map +1 -0
  654. package/dist/ui/glyphs.js +125 -0
  655. package/dist/ui/glyphs.js.map +1 -0
  656. package/dist/ui/shimmer-progress.d.ts +11 -0
  657. package/dist/ui/shimmer-progress.d.ts.map +1 -0
  658. package/dist/ui/shimmer-progress.js +164 -0
  659. package/dist/ui/shimmer-progress.js.map +1 -0
  660. package/dist/ui/shimmer-worker.d.ts +2 -0
  661. package/dist/ui/shimmer-worker.d.ts.map +1 -0
  662. package/dist/ui/shimmer-worker.js +126 -0
  663. package/dist/ui/shimmer-worker.js.map +1 -0
  664. package/dist/ui/types.d.ts +15 -0
  665. package/dist/ui/types.d.ts.map +1 -0
  666. package/dist/ui/types.js +3 -0
  667. package/dist/ui/types.js.map +1 -0
  668. package/dist/ui-server/api/deadcode.d.ts +84 -0
  669. package/dist/ui-server/api/deadcode.d.ts.map +1 -0
  670. package/dist/ui-server/api/deadcode.js +136 -0
  671. package/dist/ui-server/api/deadcode.js.map +1 -0
  672. package/dist/ui-server/api/effects.d.ts +87 -0
  673. package/dist/ui-server/api/effects.d.ts.map +1 -0
  674. package/dist/ui-server/api/effects.js +499 -0
  675. package/dist/ui-server/api/effects.js.map +1 -0
  676. package/dist/ui-server/api/entrypoints.d.ts +86 -0
  677. package/dist/ui-server/api/entrypoints.d.ts.map +1 -0
  678. package/dist/ui-server/api/entrypoints.js +279 -0
  679. package/dist/ui-server/api/entrypoints.js.map +1 -0
  680. package/dist/ui-server/api/events.d.ts +183 -0
  681. package/dist/ui-server/api/events.d.ts.map +1 -0
  682. package/dist/ui-server/api/events.js +430 -0
  683. package/dist/ui-server/api/events.js.map +1 -0
  684. package/dist/ui-server/api/file.d.ts +66 -0
  685. package/dist/ui-server/api/file.d.ts.map +1 -0
  686. package/dist/ui-server/api/file.js +222 -0
  687. package/dist/ui-server/api/file.js.map +1 -0
  688. package/dist/ui-server/api/filecode.d.ts +126 -0
  689. package/dist/ui-server/api/filecode.d.ts.map +1 -0
  690. package/dist/ui-server/api/filecode.js +205 -0
  691. package/dist/ui-server/api/filecode.js.map +1 -0
  692. package/dist/ui-server/api/flow.d.ts +226 -0
  693. package/dist/ui-server/api/flow.d.ts.map +1 -0
  694. package/dist/ui-server/api/flow.js +611 -0
  695. package/dist/ui-server/api/flow.js.map +1 -0
  696. package/dist/ui-server/api/hierarchy.d.ts +81 -0
  697. package/dist/ui-server/api/hierarchy.d.ts.map +1 -0
  698. package/dist/ui-server/api/hierarchy.js +92 -0
  699. package/dist/ui-server/api/hierarchy.js.map +1 -0
  700. package/dist/ui-server/api/index.d.ts +90 -0
  701. package/dist/ui-server/api/index.d.ts.map +1 -0
  702. package/dist/ui-server/api/index.js +332 -0
  703. package/dist/ui-server/api/index.js.map +1 -0
  704. package/dist/ui-server/api/map.d.ts +187 -0
  705. package/dist/ui-server/api/map.d.ts.map +1 -0
  706. package/dist/ui-server/api/map.js +498 -0
  707. package/dist/ui-server/api/map.js.map +1 -0
  708. package/dist/ui-server/api/node.d.ts +81 -0
  709. package/dist/ui-server/api/node.d.ts.map +1 -0
  710. package/dist/ui-server/api/node.js +388 -0
  711. package/dist/ui-server/api/node.js.map +1 -0
  712. package/dist/ui-server/api/nodes.d.ts +25 -0
  713. package/dist/ui-server/api/nodes.d.ts.map +1 -0
  714. package/dist/ui-server/api/nodes.js +45 -0
  715. package/dist/ui-server/api/nodes.js.map +1 -0
  716. package/dist/ui-server/api/program.d.ts +139 -0
  717. package/dist/ui-server/api/program.d.ts.map +1 -0
  718. package/dist/ui-server/api/program.js +315 -0
  719. package/dist/ui-server/api/program.js.map +1 -0
  720. package/dist/ui-server/api/respond.d.ts +76 -0
  721. package/dist/ui-server/api/respond.d.ts.map +1 -0
  722. package/dist/ui-server/api/respond.js +186 -0
  723. package/dist/ui-server/api/respond.js.map +1 -0
  724. package/dist/ui-server/api/route-roots.d.ts +39 -0
  725. package/dist/ui-server/api/route-roots.d.ts.map +1 -0
  726. package/dist/ui-server/api/route-roots.js +96 -0
  727. package/dist/ui-server/api/route-roots.js.map +1 -0
  728. package/dist/ui-server/api/routes.d.ts +59 -0
  729. package/dist/ui-server/api/routes.d.ts.map +1 -0
  730. package/dist/ui-server/api/routes.js +112 -0
  731. package/dist/ui-server/api/routes.js.map +1 -0
  732. package/dist/ui-server/api/screens.d.ts +117 -0
  733. package/dist/ui-server/api/screens.d.ts.map +1 -0
  734. package/dist/ui-server/api/screens.js +611 -0
  735. package/dist/ui-server/api/screens.js.map +1 -0
  736. package/dist/ui-server/api/search.d.ts +29 -0
  737. package/dist/ui-server/api/search.d.ts.map +1 -0
  738. package/dist/ui-server/api/search.js +232 -0
  739. package/dist/ui-server/api/search.js.map +1 -0
  740. package/dist/ui-server/api/session.d.ts +52 -0
  741. package/dist/ui-server/api/session.d.ts.map +1 -0
  742. package/dist/ui-server/api/session.js +196 -0
  743. package/dist/ui-server/api/session.js.map +1 -0
  744. package/dist/ui-server/api/source.d.ts +200 -0
  745. package/dist/ui-server/api/source.d.ts.map +1 -0
  746. package/dist/ui-server/api/source.js +419 -0
  747. package/dist/ui-server/api/source.js.map +1 -0
  748. package/dist/ui-server/api/stats.d.ts +27 -0
  749. package/dist/ui-server/api/stats.d.ts.map +1 -0
  750. package/dist/ui-server/api/stats.js +164 -0
  751. package/dist/ui-server/api/stats.js.map +1 -0
  752. package/dist/ui-server/api/steps.d.ts +274 -0
  753. package/dist/ui-server/api/steps.d.ts.map +1 -0
  754. package/dist/ui-server/api/steps.js +1446 -0
  755. package/dist/ui-server/api/steps.js.map +1 -0
  756. package/dist/ui-server/api/trail-store.d.ts +142 -0
  757. package/dist/ui-server/api/trail-store.d.ts.map +1 -0
  758. package/dist/ui-server/api/trail-store.js +323 -0
  759. package/dist/ui-server/api/trail-store.js.map +1 -0
  760. package/dist/ui-server/api/trails.d.ts +163 -0
  761. package/dist/ui-server/api/trails.d.ts.map +1 -0
  762. package/dist/ui-server/api/trails.js +369 -0
  763. package/dist/ui-server/api/trails.js.map +1 -0
  764. package/dist/ui-server/api/when.d.ts +125 -0
  765. package/dist/ui-server/api/when.d.ts.map +1 -0
  766. package/dist/ui-server/api/when.js +251 -0
  767. package/dist/ui-server/api/when.js.map +1 -0
  768. package/dist/ui-server/api/wire.d.ts +179 -0
  769. package/dist/ui-server/api/wire.d.ts.map +1 -0
  770. package/dist/ui-server/api/wire.js +231 -0
  771. package/dist/ui-server/api/wire.js.map +1 -0
  772. package/dist/ui-server/assets.d.ts +40 -0
  773. package/dist/ui-server/assets.d.ts.map +1 -0
  774. package/dist/ui-server/assets.js +110 -0
  775. package/dist/ui-server/assets.js.map +1 -0
  776. package/dist/ui-server/constants.d.ts +32 -0
  777. package/dist/ui-server/constants.d.ts.map +1 -0
  778. package/dist/ui-server/constants.js +35 -0
  779. package/dist/ui-server/constants.js.map +1 -0
  780. package/dist/ui-server/highlight/index.d.ts +113 -0
  781. package/dist/ui-server/highlight/index.d.ts.map +1 -0
  782. package/dist/ui-server/highlight/index.js +307 -0
  783. package/dist/ui-server/highlight/index.js.map +1 -0
  784. package/dist/ui-server/highlight/languages.d.ts +36 -0
  785. package/dist/ui-server/highlight/languages.d.ts.map +1 -0
  786. package/dist/ui-server/highlight/languages.js +50 -0
  787. package/dist/ui-server/highlight/languages.js.map +1 -0
  788. package/dist/ui-server/index.d.ts +92 -0
  789. package/dist/ui-server/index.d.ts.map +1 -0
  790. package/dist/ui-server/index.js +399 -0
  791. package/dist/ui-server/index.js.map +1 -0
  792. package/dist/ui-server/open-browser.d.ts +31 -0
  793. package/dist/ui-server/open-browser.d.ts.map +1 -0
  794. package/dist/ui-server/open-browser.js +79 -0
  795. package/dist/ui-server/open-browser.js.map +1 -0
  796. package/dist/ui-server/security.d.ts +127 -0
  797. package/dist/ui-server/security.d.ts.map +1 -0
  798. package/dist/ui-server/security.js +332 -0
  799. package/dist/ui-server/security.js.map +1 -0
  800. package/dist/ui-server/static.d.ts +45 -0
  801. package/dist/ui-server/static.d.ts.map +1 -0
  802. package/dist/ui-server/static.js +165 -0
  803. package/dist/ui-server/static.js.map +1 -0
  804. package/dist/upgrade/index.d.ts +177 -0
  805. package/dist/upgrade/index.d.ts.map +1 -0
  806. package/dist/upgrade/index.js +665 -0
  807. package/dist/upgrade/index.js.map +1 -0
  808. package/dist/upgrade/remove-binary.d.ts +87 -0
  809. package/dist/upgrade/remove-binary.d.ts.map +1 -0
  810. package/dist/upgrade/remove-binary.js +289 -0
  811. package/dist/upgrade/remove-binary.js.map +1 -0
  812. package/dist/upgrade/update-check.d.ts +92 -0
  813. package/dist/upgrade/update-check.d.ts.map +1 -0
  814. package/dist/upgrade/update-check.js +258 -0
  815. package/dist/upgrade/update-check.js.map +1 -0
  816. package/dist/utils.d.ts +224 -0
  817. package/dist/utils.d.ts.map +1 -0
  818. package/dist/utils.js +583 -0
  819. package/dist/utils.js.map +1 -0
  820. package/dist/viewer/assets/archivo-latin-ext-wght-normal-C4zznr8T.woff2 +0 -0
  821. package/dist/viewer/assets/archivo-latin-wght-normal-E0tuGl4L.woff2 +0 -0
  822. package/dist/viewer/assets/archivo-vietnamese-wght-normal-XAtsl5Q_.woff2 +0 -0
  823. package/dist/viewer/assets/ibm-plex-mono-cyrillic-400-italic-2syK4fUT.woff +0 -0
  824. package/dist/viewer/assets/ibm-plex-mono-cyrillic-400-italic-CBJ8pzag.woff2 +0 -0
  825. package/dist/viewer/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2 +0 -0
  826. package/dist/viewer/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff +0 -0
  827. package/dist/viewer/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff +0 -0
  828. package/dist/viewer/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2 +0 -0
  829. package/dist/viewer/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2 +0 -0
  830. package/dist/viewer/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff +0 -0
  831. package/dist/viewer/assets/ibm-plex-mono-cyrillic-ext-400-italic-B4oTjJdl.woff +0 -0
  832. package/dist/viewer/assets/ibm-plex-mono-cyrillic-ext-400-italic-CBjNughH.woff2 +0 -0
  833. package/dist/viewer/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff +0 -0
  834. package/dist/viewer/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2 +0 -0
  835. package/dist/viewer/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff +0 -0
  836. package/dist/viewer/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2 +0 -0
  837. package/dist/viewer/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.woff +0 -0
  838. package/dist/viewer/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2 +0 -0
  839. package/dist/viewer/assets/ibm-plex-mono-latin-400-italic-66oory27.woff +0 -0
  840. package/dist/viewer/assets/ibm-plex-mono-latin-400-italic-BqAiT5Ww.woff2 +0 -0
  841. package/dist/viewer/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff +0 -0
  842. package/dist/viewer/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2 +0 -0
  843. package/dist/viewer/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff +0 -0
  844. package/dist/viewer/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2 +0 -0
  845. package/dist/viewer/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2 +0 -0
  846. package/dist/viewer/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff +0 -0
  847. package/dist/viewer/assets/ibm-plex-mono-latin-ext-400-italic-B7_fu1kp.woff2 +0 -0
  848. package/dist/viewer/assets/ibm-plex-mono-latin-ext-400-italic-Bg0ZHwF4.woff +0 -0
  849. package/dist/viewer/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2 +0 -0
  850. package/dist/viewer/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff +0 -0
  851. package/dist/viewer/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2 +0 -0
  852. package/dist/viewer/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff +0 -0
  853. package/dist/viewer/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2 +0 -0
  854. package/dist/viewer/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff +0 -0
  855. package/dist/viewer/assets/ibm-plex-mono-vietnamese-400-italic-D6eaYXMU.woff +0 -0
  856. package/dist/viewer/assets/ibm-plex-mono-vietnamese-400-italic-DRuN92E5.woff2 +0 -0
  857. package/dist/viewer/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2 +0 -0
  858. package/dist/viewer/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff +0 -0
  859. package/dist/viewer/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff +0 -0
  860. package/dist/viewer/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2 +0 -0
  861. package/dist/viewer/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2 +0 -0
  862. package/dist/viewer/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.woff +0 -0
  863. package/dist/viewer/assets/index-2IPslW5t.js +13 -0
  864. package/dist/viewer/assets/index-DSwi2Seu.css +1 -0
  865. package/dist/viewer/index.html +16 -0
  866. package/package.json +67 -0
@@ -0,0 +1,13 @@
1
+ (function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))s(o);new MutationObserver(o=>{for(const a of o)if(a.type==="childList")for(const i of a.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&s(i)}).observe(document,{childList:!0,subtree:!0});function n(o){const a={};return o.integrity&&(a.integrity=o.integrity),o.referrerPolicy&&(a.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?a.credentials="include":o.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function s(o){if(o.ep)return;o.ep=!0;const a=n(o);fetch(o.href,a)}})();const vh=!1;var bl=Array.isArray,Om=Array.prototype.indexOf,zi=Array.prototype.includes,wl=Array.from,hh=Object.defineProperty,ms=Object.getOwnPropertyDescriptor,ph=Object.getOwnPropertyDescriptors,gh=Object.prototype,Dm=Array.prototype,xl=Object.getPrototypeOf,zu=Object.isExtensible;function Wo(e){return typeof e=="function"}const cn=()=>{};function Rm(e){return e()}function Fi(e){for(var t=0;t<e.length;t++)e[t]()}function mh(){var e,t,n=new Promise((s,o)=>{e=s,t=o});return{promise:n,resolve:e,reject:t}}function Ln(e,t,n=!1){return e===void 0?n?t():t:e}function Da(e,t){if(Array.isArray(e))return e;if(t===void 0||!(Symbol.iterator in e))return Array.from(e);const n=[];for(const s of e)if(n.push(s),n.length===t)break;return n}function Hm(e,t){var n={};for(var s in e)t.includes(s)||(n[s]=e[s]);for(var o of Object.getOwnPropertySymbols(e))Object.propertyIsEnumerable.call(e,o)&&!t.includes(o)&&(n[o]=e[o]);return n}const En=2,go=4,Ra=8,Ld=1<<24,fr=16,er=32,Dr=64,Yc=128,Jn=512,yn=1024,vn=2048,gr=4096,Dn=8192,Wn=16384,Oo=32768,Xc=1<<25,_s=65536,qi=1<<17,zm=1<<18,Xs=1<<19,yh=1<<20,Tr=1<<25,js=65536,$i=1<<21,co=1<<22,ys=1<<23,Ar=Symbol("$state"),_h=Symbol("legacy props"),Fm=Symbol(""),bh=Symbol("attributes"),Zc=Symbol("class"),Qc=Symbol("style"),Jc=Symbol("text"),Si=Symbol("form reset"),Ha=new class extends Error{name="StaleReactionError";message="The reaction that called `getAbortSignal()` was re-run or destroyed"},Od=!!globalThis.document?.contentType&&globalThis.document.contentType.includes("xml");function Dd(e){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function qm(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function $m(e,t,n){throw new Error("https://svelte.dev/e/each_key_duplicate")}function jm(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function Bm(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function Vm(e){throw new Error("https://svelte.dev/e/effect_orphan")}function Wm(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function Km(e){throw new Error("https://svelte.dev/e/props_invalid_value")}function Gm(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function Um(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function Ym(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function Xm(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const Zm=1,Qm=2,wh=4,Jm=8,ey=16,ty=1,ny=2,ry=4,sy=8,oy=16,xh=1,ay=2,fn=Symbol("uninitialized"),kh="http://www.w3.org/1999/xhtml",iy="http://www.w3.org/2000/svg",ly="http://www.w3.org/1998/Math/MathML",cy="@attach";function dy(){console.warn("https://svelte.dev/e/derived_inert")}function uy(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function fy(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function Eh(e){return e===this.v}function Rd(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function Sh(e){return!Rd(e,this.v)}let Do=!1,vy=!1;function hy(){Do=!0}const py=[];function Th(e,t=!1,n=!1){return Ti(e,new Map,"",py,null,n)}function Ti(e,t,n,s,o=null,a=!1){if(typeof e=="object"&&e!==null){var i=t.get(e);if(i!==void 0)return i;if(e instanceof Map)return new Map(e);if(e instanceof Set)return new Set(e);if(bl(e)){var l=Array(e.length);t.set(e,l),o!==null&&t.set(o,l);for(var c=0;c<e.length;c+=1){var d=e[c];c in e&&(l[c]=Ti(d,t,n,s,null,a))}return l}if(xl(e)===gh){l={},t.set(e,l),o!==null&&t.set(o,l);for(var u of Object.keys(e))l[u]=Ti(e[u],t,n,s,null,a);return l}if(e instanceof Date)return structuredClone(e);if(typeof e.toJSON=="function"&&!a)return Ti(e.toJSON(),t,n,s,e)}if(e instanceof EventTarget)return e;try{return structuredClone(e)}catch{return e}}function gy(e){let t=e.p;for(;t!==null&&t.c===null;)t=t.p;return t?.c??null}function Hd(e,t){return e===null&&Dd(),e.c??=new Map(gy(e)||void 0)}let Vt=null;function mo(e){Vt=e}function zd(e){return Hd(Vt).get(e)}function Ch(e,t){return Hd(Vt).set(e,t),t}function my(e){return Hd(Vt).has(e)}function Re(e,t=!1,n){Vt={p:Vt,i:!1,c:null,e:null,s:e,x:null,r:yt,l:Do&&!t?{s:null,u:null,$:[]}:null}}function He(e){var t=Vt,n=t.e;if(n!==null){t.e=null;for(var s of n)Xh(s)}return e!==void 0&&(t.x=e),t.i=!0,Vt=t.p,e??{}}function za(){return!Do||Vt!==null&&Vt.l===null}let Is=[];function Mh(){var e=Is;Is=[],Fi(e)}function Cr(e){if(Is.length===0&&!pa){var t=Is;queueMicrotask(()=>{t===Is&&Mh()})}Is.push(e)}function yy(){for(;Is.length>0;)Mh()}function Nh(e){var t=yt;if(t===null)return St.f|=ys,e;if(!(t.f&Oo)&&!(t.f&go))throw e;ps(e,t)}function ps(e,t){if(!(t!==null&&t.f&Wn)){for(;t!==null;){if(t.f&Yc){if(!(t.f&Oo))throw e;try{t.b.error(e);return}catch(n){e=n}}t=t.parent}throw e}}const _y=-7169;function nn(e,t){e.f=e.f&_y|t}function Fd(e){e.f&Jn||e.deps===null?nn(e,yn):nn(e,gr)}function Ah(e){if(e!==null)for(const t of e)!(t.f&En)||!(t.f&js)||(t.f^=js,Ah(t.deps))}function Ih(e,t,n){e.f&vn?t.add(e):e.f&gr&&n.add(e),Ah(e.deps),nn(e,yn)}function qd(e,t,n){if(e==null)return t(void 0),n&&n(void 0),cn;const s=rn(()=>e.subscribe(t,n));return s.unsubscribe?()=>s.unsubscribe():s}const eo=[];function by(e,t){return{subscribe:Ph(e,t).subscribe}}function Ph(e,t=cn){let n=null;const s=new Set;function o(l){if(Rd(e,l)&&(e=l,n)){const c=!eo.length;for(const d of s)d[1](),eo.push(d,e);if(c){for(let d=0;d<eo.length;d+=2)eo[d][0](eo[d+1]);eo.length=0}}}function a(l){o(l(e))}function i(l,c=cn){const d=[l,c];return s.add(d),s.size===1&&(n=t(o,a)||cn),l(e),()=>{s.delete(d),s.size===0&&n&&(n(),n=null)}}return{set:o,update:a,subscribe:i}}function wy(e,t,n){const s=!Array.isArray(e),o=s?[e]:e;if(!o.every(Boolean))throw new Error("derived() expects stores as input, got a falsy value");const a=t.length<2;return by(n,(i,l)=>{let c=!1;const d=[];let u=0,h=cn;const v=()=>{if(u)return;h();const g=t(s?d[0]:d,i,l);a?i(g):h=typeof g=="function"?g:cn},y=o.map((g,w)=>qd(g,k=>{d[w]=k,u&=~(1<<w),c&&v()},()=>{u|=1<<w}));return c=!0,v(),function(){Fi(y),h(),c=!1}})}function $d(e){let t;return qd(e,n=>t=n)(),t}let si=!1,ed=Symbol("unmounted");function Ct(e,t,n){const s=n[t]??={store:null,source:jh(void 0),unsubscribe:cn};if(s.store!==e&&!(ed in n))if(s.unsubscribe(),s.store=e??null,e==null)s.source.v=void 0,s.unsubscribe=cn;else{var o=!0;s.unsubscribe=qd(e,a=>{o?s.source.v=a:R(s.source,a)}),o=!1}return e&&ed in n?$d(e):r(s.source)}function Pt(){const e={};function t(){kl(()=>{for(var n in e)e[n].unsubscribe();hh(e,ed,{enumerable:!1,value:!0})})}return[e,t]}function xy(e){var t=si;try{return si=!1,[e(),si]}finally{si=t}}function ky(e,t){if(t){const n=document.body;e.autofocus=!0,Cr(()=>{document.activeElement===n&&e.focus()})}}let Fu=!1;function Ey(){Fu||(Fu=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{if(!e.defaultPrevented)for(const t of e.target.elements)t[Si]?.()})},{capture:!0}))}function Ro(e){var t=St,n=yt;tr(null),Rr(null);try{return e()}finally{tr(t),Rr(n)}}function Sy(e,t,n,s=n){e.addEventListener(t,()=>Ro(n));const o=e[Si];o?e[Si]=()=>{o(),s(!0)}:e[Si]=()=>s(!0),Ey()}function Lh(e){let t=0,n=Bs(0),s;return()=>{Kd()&&(r(n),El(()=>(t===0&&(s=rn(()=>e(()=>ga(n)))),t+=1,()=>{Cr(()=>{t-=1,t===0&&(s?.(),s=void 0,ga(n))})})))}}var Ty=_s|Xs;function Cy(e,t,n,s){new My(e,t,n,s)}class My{parent;is_pending=!1;transform_error;#e;#n=null;#t;#i;#s;#a=null;#r=null;#l=null;#o=null;#p=0;#c=0;#d=!1;#f=new Set;#g=new Set;#u=null;#y=Lh(()=>(this.#u=Bs(this.#p),()=>{this.#u=null}));constructor(t,n,s,o){this.#e=t,this.#t=n,this.#i=a=>{var i=yt;i.b=this,i.f|=Yc,s(a)},this.parent=yt.b,this.transform_error=o??this.parent?.transform_error??(a=>a),this.#s=$a(()=>{this.#v()},Ty)}#m(){try{this.#a=Fn(()=>this.#i(this.#e))}catch(t){this.error(t)}}#w(t){const n=this.#t.failed,{reset:s,invoke_onerror:o}=this.#_(t);Cr(o),n&&(this.#l=Fn(()=>{n(this.#e,()=>t,()=>s)}))}#_(t){var n=!1,s=!1;const o=()=>{if(n){fy();return}n=!0,s&&Xm(),this.#l!==null&&zs(this.#l,()=>{this.#l=null}),this.#h(()=>{this.#v()})};return{reset:o,invoke_onerror:()=>{try{s=!0,this.#t.onerror?.(t,o),s=!1}catch(i){ps(i,this.#s&&this.#s.parent)}}}}#x(){const t=this.#t.pending;t&&(this.is_pending=!0,this.#r=Fn(()=>t(this.#e)),Cr(()=>{var n=this.#o=document.createDocumentFragment(),s=Yr();n.append(s),this.#a=this.#h(()=>Fn(()=>this.#i(s))),this.#c===0&&(this.#e.before(n),this.#o=null,zs(this.#r,()=>{this.#r=null}),this.#b(mt))}))}#v(){try{if(this.is_pending=this.has_pending_snippet(),this.#c=0,this.#p=0,this.#a=Fn(()=>{this.#i(this.#e)}),this.#c>0){var t=this.#o=document.createDocumentFragment();Ud(this.#a,t);const n=this.#t.pending;this.#r=Fn(()=>n(this.#e))}else this.#b(mt)}catch(n){this.error(n)}}#b(t){this.is_pending=!1,t.transfer_effects(this.#f,this.#g)}defer_effect(t){Ih(t,this.#f,this.#g)}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!this.#t.pending}#h(t){var n=yt,s=St,o=Vt;Rr(this.#s),tr(this.#s),mo(this.#s.ctx);try{return Qr.ensure(),t()}catch(a){return Nh(a),null}finally{Rr(n),tr(s),mo(o)}}#k(t,n){if(!this.has_pending_snippet()){this.parent&&this.parent.#k(t,n);return}this.#c+=t,this.#c===0&&(this.#b(n),this.#r&&zs(this.#r,()=>{this.#r=null}),this.#o&&(this.#e.before(this.#o),this.#o=null))}update_pending_count(t,n){this.#k(t,n),this.#p+=t,!(!this.#u||this.#d)&&(this.#d=!0,Cr(()=>{this.#d=!1,this.#u&&_o(this.#u,this.#p)}))}get_effect_pending(){return this.#y(),r(this.#u)}error(t){if(!this.#t.onerror&&!this.#t.failed)throw t;mt?.is_fork?(this.#a&&mt.skip_effect(this.#a),this.#r&&mt.skip_effect(this.#r),this.#l&&mt.skip_effect(this.#l),mt.oncommit(()=>{this.#E(t)})):this.#E(t)}#E(t){this.#a&&(Sn(this.#a),this.#a=null),this.#r&&(Sn(this.#r),this.#r=null),this.#l&&(Sn(this.#l),this.#l=null);let n=this.#t.failed;const s=o=>{const{reset:a,invoke_onerror:i}=this.#_(o);i(),n&&(this.#l=this.#h(()=>{try{return Fn(()=>{var l=yt;l.b=this,l.f|=Yc,n(this.#e,()=>o,()=>a)})}catch(l){return ps(l,this.#s.parent),null}}))};Cr(()=>{var o;try{o=this.transform_error(t)}catch(a){ps(a,this.#s&&this.#s.parent);return}o!==null&&typeof o=="object"&&typeof o.then=="function"?o.then(s,a=>ps(a,this.#s&&this.#s.parent)):s(o)})}}function Oh(e,t,n,s){const o=za()?yo:jd;var a=e.filter(y=>!y.settled),i=t.map(o);if(n.length===0&&a.length===0){s(i);return}var l=yt,c=Ny(),d=a.length===1?a[0].promise:a.length>1?Promise.all(a.map(y=>y.promise)):null;function u(y){if(!(l.f&Wn)){c();try{s([...i,...y])}catch(g){ps(g,l)}ji()}}var h=Dh();if(n.length===0){d.then(()=>u([])).finally(h);return}function v(){Promise.all(n.map(y=>Ay(y))).then(u).catch(y=>ps(y,l)).finally(h)}d?d.then(()=>{c(),v(),ji()}):v()}function Ny(){var e=yt,t=St,n=Vt,s=mt;return function(a=!0){Rr(e),tr(t),mo(n),a&&!(e.f&Wn)&&(s?.activate(),s?.apply())}}function ji(e=!0){Rr(null),tr(null),mo(null),e&&mt?.deactivate()}function Dh(){var e=yt,t=e.b,n=mt,s=!!t?.is_rendered();return t?.update_pending_count(1,n),n.increment(s,e),()=>{t?.update_pending_count(-1,n),n.decrement(s,e)}}function yo(e){var t=En|vn;return yt!==null&&(yt.f|=Xs),{ctx:Vt,deps:null,effects:null,equals:Eh,f:t,fn:e,reactions:null,rv:0,v:fn,wv:0,parent:yt,ac:null}}const ia=Symbol("obsolete");function Ay(e,t,n){let s=yt;s===null&&qm();var o=void 0,a=Bs(fn),i=!St,l=new Set;return jy(()=>{var c=yt,d=mh();o=d.promise;try{Promise.resolve(e()).then(d.resolve,y=>{y!==Ha&&d.reject(y)}).finally(ji)}catch(y){d.reject(y),ji()}var u=mt;if(i){if(c.f&Oo)var h=Dh();if(s.b?.is_rendered())u.async_deriveds.get(c)?.reject(ia);else for(const y of l.values())y.reject(ia);l.add(d),u.async_deriveds.set(c,d)}const v=(y,g=void 0)=>{h?.(),l.delete(d),g!==ia&&(u.activate(),g?(a.f|=ys,_o(a,g)):(a.f&ys&&(a.f^=ys),_o(a,y)),u.deactivate())};d.promise.then(v,y=>v(null,y||"unknown"))}),kl(()=>{for(const c of l)c.reject(ia)}),new Promise(c=>{function d(u){function h(){u===o?c(a):d(o)}u.then(h,h)}d(o)})}function N(e){const t=yo(e);return op(t),t}function jd(e){const t=yo(e);return t.equals=Sh,t}function Iy(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n<t.length;n+=1)Sn(t[n])}}function Bd(e){var t,n=yt,s=e.parent;if(!Jr&&s!==null&&e.v!==fn&&s.f&(Wn|Dn))return dy(),e.v;Rr(s);try{e.f&=~js,Iy(e),t=cp(e)}finally{Rr(n)}return t}function Rh(e){var t=Bd(e);if(!e.equals(t)&&(e.wv=ip(),(!mt?.is_fork||e.deps===null)&&(mt!==null?(mt.capture(e,t,!0),td?.capture(e,t,!0)):e.v=t,e.deps===null))){nn(e,yn);return}Jr||(vr!==null?(Kd()||mt?.is_fork)&&vr.set(e,t):Fd(e))}function Py(e){if(e.effects!==null)for(const t of e.effects)(t.teardown||t.ac)&&(t.teardown?.(),t.ac!==null&&Ro(()=>{t.ac.abort(Ha),t.ac=null}),t.fn!==null&&(t.teardown=cn),Ea(t,0),Gd(t))}function Hh(e){if(e.effects!==null)for(const t of e.effects)t.teardown&&t.fn!==null&&bo(t)}let oc=null,to=null,mt=null,td=null,vr=null,nd=null,pa=!1,ac=!1,oo=null,Ci=null;var qu=0;let Ly=1;class Qr{id=Ly++;#e=!1;linked=!0;#n=null;#t=null;async_deriveds=new Map;current=new Map;previous=new Map;#i=new Set;#s=new Set;#a=0;#r=new Map;#l=null;#o=[];#p=[];#c=new Set;#d=new Set;#f=new Map;#g=new Set;is_fork=!1;#u=!1;constructor(){to===null?oc=to=this:(to.#t=this,this.#n=to),to=this}#y(){if(this.is_fork)return!0;for(const s of this.#r.keys()){for(var t=s,n=!1;t.parent!==null;){if(this.#f.has(t)){n=!0;break}t=t.parent}if(!n)return!0}return!1}skip_effect(t){this.#f.has(t)||this.#f.set(t,{d:[],m:[]}),this.#g.delete(t)}unskip_effect(t,n=s=>this.schedule(s)){var s=this.#f.get(t);if(s){this.#f.delete(t);for(var o of s.d)nn(o,vn),n(o);for(o of s.m)nn(o,gr),n(o)}this.#g.add(t)}#m(){this.#e=!0,qu++>1e3&&(this.#h(),Dy());for(const c of this.#c)this.#d.delete(c),nn(c,vn),this.schedule(c);for(const c of this.#d)nn(c,gr),this.schedule(c);const t=this.#o;this.#o=[],this.apply();var n=oo=[],s=[],o=Ci=[];for(const c of t)try{this.#w(c,n,s)}catch(d){throw qh(c),this.#y()||this.discard(),d}if(mt=null,o.length>0){var a=Qr.ensure();for(const c of o)a.schedule(c)}if(oo=null,Ci=null,this.#y()){this.#v(s),this.#v(n);for(const[c,d]of this.#f)Fh(c,d);o.length>0&&mt.#m();return}const i=this.#_();if(i){this.#v(s),this.#v(n),i.#x(this);return}this.#c.clear(),this.#d.clear();for(const c of this.#i)c(this);this.#i.clear(),td=this,$u(s),$u(n),td=null,this.#l?.resolve();var l=mt;if(this.#a===0&&(this.#o.length===0||l!==null)&&this.#h(),this.#o.length>0)if(l!==null){const c=l;c.#o.push(...this.#o.filter(d=>!c.#o.includes(d)))}else l=this;l!==null&&(Ir.clear(),l.#m())}#w(t,n,s){t.f^=yn;for(var o=t.first;o!==null;){var a=o.f,i=(a&(er|Dr))!==0,l=i&&(a&yn)!==0,c=l||(a&Dn)!==0||this.#f.has(o);if(!c&&o.fn!==null){i?o.f^=yn:a&go?n.push(o):ja(o)&&(a&fr&&this.#d.add(o),bo(o));var d=o.first;if(d!==null){o=d;continue}}for(;o!==null;){var u=o.next;if(u!==null){o=u;break}o=o.parent}}}#_(){for(var t=this.#n;t!==null;){if(!t.is_fork){for(const[n,[,s]]of this.current)if(t.current.has(n)&&!s)return t}t=t.#n}return null}#x(t){for(const[s,o]of t.current)!this.previous.has(s)&&t.previous.has(s)&&this.previous.set(s,t.previous.get(s)),this.current.set(s,o);for(const[s,o]of t.async_deriveds){const a=this.async_deriveds.get(s);a&&o.promise.then(a.resolve).catch(a.reject)}t.async_deriveds.clear(),this.transfer_effects(t.#c,t.#d);const n=s=>{var o=s.reactions;if(o!==null&&!(s.f&En&&!(s.f&(vn|gr))))for(const l of o){var a=l.f;if(a&En)n(l);else{var i=l;a&(co|fr)&&!this.async_deriveds.has(i)&&(this.#d.delete(i),nn(i,vn),this.schedule(i))}}};for(const s of this.current.keys())n(s);this.oncommit(()=>t.discard()),t.#h(),mt=this,this.#m()}#v(t){for(var n=0;n<t.length;n+=1)Ih(t[n],this.#c,this.#d)}capture(t,n,s=!1){t.v!==fn&&!this.previous.has(t)&&this.previous.set(t,t.v),t.f&ys||(this.current.set(t,[n,s]),vr?.set(t,n)),this.is_fork||(t.v=n)}activate(){mt=this}deactivate(){mt=null,vr=null}flush(){try{ac=!0,mt=this,this.#m()}finally{qu=0,nd=null,oo=null,Ci=null,ac=!1,mt=null,vr=null,Ir.clear()}}discard(){for(const t of this.#s)t(this);this.#s.clear();for(const t of this.async_deriveds.values())t.reject(ia);this.#h(),this.#l?.resolve()}register_created_effect(t){this.#p.push(t)}#b(){for(let h=oc;h!==null;h=h.#t){var t=h.id<this.id,n=[];for(const[v,[y,g]]of this.current){if(h.current.has(v)){var s=h.current.get(v)[0];if(t&&y!==s)h.current.set(v,[y,g]);else continue}n.push(v)}if(t)for(const[v,y]of this.async_deriveds){const g=h.async_deriveds.get(v);g&&y.promise.then(g.resolve).catch(g.reject)}var o=[...h.current.keys()].filter(v=>!h.current.get(v)[1]);if(!(!h.#e||o.length===0)){var a=o.filter(v=>!this.current.has(v));if(a.length===0)t&&h.discard();else if(n.length>0){if(t)for(const v of this.#g)h.unskip_effect(v,y=>{y.f&(fr|co)?h.schedule(y):h.#v([y])});h.activate();var i=new Set,l=new Map;for(var c of n)zh(c,a,i,l);l=new Map;var d=[...h.current].filter(([v,y])=>{const g=this.current.get(v);return g?g[0]!==y[0]||g[1]!==y[1]:!0}).map(([v])=>v);if(d.length>0)for(const v of this.#p)!(v.f&(Wn|Dn|qi))&&Vd(v,d,l)&&(v.f&(co|fr)?(nn(v,vn),h.schedule(v)):h.#c.add(v));if(h.#o.length>0&&!h.#u){h.apply();for(var u of h.#o)h.#w(u,[],[]);h.#o=[]}h.deactivate()}}}}increment(t,n){if(this.#a+=1,t){let s=this.#r.get(n)??0;this.#r.set(n,s+1)}}decrement(t,n){if(this.#a-=1,t){let s=this.#r.get(n)??0;s===1?this.#r.delete(n):this.#r.set(n,s-1)}this.#u||(this.#u=!0,Cr(()=>{this.#u=!1,this.linked&&this.flush()}))}transfer_effects(t,n){for(const s of t)this.#c.add(s);for(const s of n)this.#d.add(s);t.clear(),n.clear()}oncommit(t){this.#i.add(t)}ondiscard(t){this.#s.add(t)}settled(){return(this.#l??=mh()).promise}static ensure(){if(mt===null){const t=mt=new Qr;!ac&&!pa&&Cr(()=>{t.#e||t.flush()})}return mt}apply(){{vr=null;return}}schedule(t){if(nd=t,t.b?.is_pending&&t.f&(go|Ra|Ld)&&!(t.f&Oo)){t.b.defer_effect(t);return}for(var n=t;n.parent!==null;){n=n.parent;var s=n.f;if(oo!==null&&n===yt&&(St===null||!(St.f&En)))return;if(s&(Dr|er)){if(!(s&yn))return;n.f^=yn}}this.#o.push(n)}#h(){if(this.linked){var t=this.#n,n=this.#t;t===null?oc=n:t.#t=n,n===null?to=t:n.#n=t,this.linked=!1}}}function Oy(e){var t=pa;pa=!0;try{for(var n;;){if(yy(),mt===null)return n;mt.flush()}}finally{pa=t}}function Dy(){try{Wm()}catch(e){ps(e,nd)}}let Wr=null;function $u(e){var t=e.length;if(t!==0){for(var n=0;n<t;){var s=e[n++];if(!(s.f&(Wn|Dn))&&ja(s)&&(Wr=new Set,bo(s),s.deps===null&&s.first===null&&s.nodes===null&&s.teardown===null&&s.ac===null&&np(s),Wr?.size>0)){Ir.clear();for(const o of Wr){if(o.f&(Wn|Dn))continue;const a=[o];let i=o.parent;for(;i!==null;)Wr.has(i)&&(Wr.delete(i),a.push(i)),i=i.parent;for(let l=a.length-1;l>=0;l--){const c=a[l];c.f&(Wn|Dn)||bo(c)}}Wr.clear()}}Wr=null}}function zh(e,t,n,s){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(const o of e.reactions){const a=o.f;a&En?zh(o,t,n,s):a&(co|fr)&&!(a&vn)&&Vd(o,t,s)&&(nn(o,vn),Wd(o))}}function Vd(e,t,n){const s=n.get(e);if(s!==void 0)return s;if(e.deps!==null)for(const o of e.deps){if(zi.call(t,o))return!0;if(o.f&En&&Vd(o,t,n))return n.set(o,!0),!0}return n.set(e,!1),!1}function Wd(e){mt.schedule(e)}function Fh(e,t){if(!(e.f&er&&e.f&yn)){e.f&vn?t.d.push(e):e.f&gr&&t.m.push(e),nn(e,yn);for(var n=e.first;n!==null;)Fh(n,t),n=n.next}}function qh(e){nn(e,yn);for(var t=e.first;t!==null;)qh(t),t=t.next}let Bi=new Set;const Ir=new Map;let $h=!1;function Bs(e,t){var n={f:0,v:e,reactions:null,equals:Eh,rv:0,wv:0};return n}function ve(e,t){const n=Bs(e);return op(n),n}function jh(e,t=!1,n=!0){const s=Bs(e);return t||(s.equals=Sh),Do&&n&&Vt!==null&&Vt.l!==null&&(Vt.l.s??=[]).push(s),s}function R(e,t,n=!1){St!==null&&(!hr||St.f&qi)&&za()&&St.f&(En|fr|co|qi)&&(Pr===null||!Pr.has(e))&&Ym();let s=n?kn(t):t;return _o(e,s,Ci)}function _o(e,t,n=null){if(!e.equals(t)){Jr?Ir.set(e,t):Ir.has(e)||Ir.set(e,e.v);var s=Qr.ensure();if(s.capture(e,t),e.f&En){const o=e;e.f&vn&&Bd(o),vr===null&&Fd(o)}e.wv=ip(),Bh(e,vn,n),za()&&yt!==null&&yt.f&yn&&!(yt.f&(er|Dr))&&(Zn===null?Vy([e]):Zn.push(e)),!s.is_fork&&Bi.size>0&&!$h&&Ry()}return t}function Ry(){$h=!1;for(const e of Bi){e.f&yn&&nn(e,gr);let t;try{t=ja(e)}catch{t=!0}t&&bo(e)}Bi.clear()}function ga(e){R(e,e.v+1)}function Bh(e,t,n){var s=e.reactions;if(s!==null)for(var o=za(),a=s.length,i=0;i<a;i++){var l=s[i],c=l.f;if(!(!o&&l===yt)){var d=(c&vn)===0;if(d&&nn(l,t),c&qi)Bi.add(l);else if(c&En){var u=l;vr?.delete(u),c&js||(c&Jn&&(yt===null||!(yt.f&$i))&&(l.f|=js),Bh(u,gr,n))}else if(d){var h=l;c&fr&&Wr!==null&&Wr.add(h),n!==null?n.push(h):Wd(h)}}}}function kn(e){if(typeof e!="object"||e===null||Ar in e)return e;const t=xl(e);if(t!==gh&&t!==Dm)return e;var n=new Map,s=bl(e),o=ve(0),a=Fs,i=l=>{if(Fs===a)return l();var c=St,d=Fs;tr(null),Vu(a);var u=l();return tr(c),Vu(d),u};return s&&n.set("length",ve(e.length)),new Proxy(e,{defineProperty(l,c,d){(!("value"in d)||d.configurable===!1||d.enumerable===!1||d.writable===!1)&&Gm();var u=n.get(c);return u===void 0?i(()=>{var h=ve(d.value);return n.set(c,h),h}):R(u,d.value,!0),!0},deleteProperty(l,c){var d=n.get(c);if(d===void 0){if(c in l){const u=i(()=>ve(fn));n.set(c,u),ga(o)}}else R(d,fn),ga(o);return!0},get(l,c,d){if(c===Ar)return e;var u=n.get(c),h=c in l;if(u===void 0&&(!h||ms(l,c)?.writable)&&(u=i(()=>{var y=kn(h?l[c]:fn),g=ve(y);return g}),n.set(c,u)),u!==void 0){var v=r(u);return v===fn?void 0:v}return Reflect.get(l,c,d)},getOwnPropertyDescriptor(l,c){var d=Reflect.getOwnPropertyDescriptor(l,c);if(d&&"value"in d){var u=n.get(c);u&&(d.value=r(u))}else if(d===void 0){var h=n.get(c),v=h?.v;if(h!==void 0&&v!==fn)return{enumerable:!0,configurable:!0,value:v,writable:!0}}return d},has(l,c){if(c===Ar)return!0;var d=n.get(c),u=d!==void 0&&d.v!==fn||Reflect.has(l,c);if(d!==void 0||yt!==null&&(!u||ms(l,c)?.writable)){d===void 0&&(d=i(()=>{var v=u?kn(l[c]):fn,y=ve(v);return y}),n.set(c,d));var h=r(d);if(h===fn)return!1}return u},set(l,c,d,u){var h=n.get(c),v=c in l;if(s&&c==="length")for(var y=d;y<h.v;y+=1){var g=n.get(y+"");g!==void 0?R(g,fn):y in l&&(g=i(()=>ve(fn)),n.set(y+"",g))}if(h===void 0)(!v||ms(l,c)?.writable)&&(h=i(()=>ve(void 0)),R(h,kn(d)),n.set(c,h));else{v=h.v!==fn;var w=i(()=>kn(d));R(h,w)}var k=Reflect.getOwnPropertyDescriptor(l,c);if(k?.set&&k.set.call(u,d),!v){if(s&&typeof c=="string"){var A=n.get("length"),L=Number(c);Number.isInteger(L)&&L>=A.v&&R(A,L+1)}ga(o)}return!0},ownKeys(l){r(o);var c=Reflect.ownKeys(l).filter(h=>{var v=n.get(h);return v===void 0||v.v!==fn});for(var[d,u]of n)u.v!==fn&&!(d in l)&&c.push(d);return c},setPrototypeOf(){Um()}})}function ju(e){try{if(e!==null&&typeof e=="object"&&Ar in e)return e[Ar]}catch{}return e}function Hy(e,t){return Object.is(ju(e),ju(t))}var xn,Vh,Wh,Kh;function zy(){if(xn===void 0){xn=window,Vh=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;Wh=ms(t,"firstChild").get,Kh=ms(t,"nextSibling").get,zu(e)&&(e[Zc]=void 0,e[bh]=null,e[Qc]=void 0,e.__e=void 0),zu(n)&&(n[Jc]=void 0)}}function Yr(e=""){return document.createTextNode(e)}function Vn(e){return Wh.call(e)}function Fa(e){return Kh.call(e)}function f(e,t){return Vn(e)}function xe(e,t=!1){{var n=Vn(e);return n instanceof Comment&&n.data===""?Fa(n):n}}function p(e,t=1,n=!1){let s=e;for(;t--;)s=Fa(s);return s}function Fy(e){e.textContent=""}function Gh(){return!1}function Uh(e,t,n){return t==null||t===kh?n?document.createElement(e,{is:n}):document.createElement(e):n?document.createElementNS(t,e,{is:n}):document.createElementNS(t,e)}function Yh(e){yt===null&&(St===null&&Vm(),Bm()),Jr&&jm()}function qy(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function sr(e,t){var n=yt;n!==null&&n.f&Dn&&(e|=Dn);var s={ctx:Vt,deps:null,nodes:null,f:e|vn|Jn,first:null,fn:t,last:null,next:null,parent:n,b:n&&n.b,prev:null,teardown:null,wv:0,ac:null};mt?.register_created_effect(s);var o=s;if(e&go)oo!==null?oo.push(s):Qr.ensure().schedule(s);else if(t!==null){try{bo(s)}catch(i){throw Sn(s),i}o.deps===null&&o.teardown===null&&o.nodes===null&&o.first===o.last&&!(o.f&Xs)&&(o=o.first,e&fr&&e&_s&&o!==null&&(o.f|=_s))}if(o!==null&&(o.parent=n,n!==null&&qy(o,n),St!==null&&St.f&En&&!(e&Dr))){var a=St;(a.effects??=[]).push(o)}return s}function Kd(){return St!==null&&!hr}function kl(e){const t=sr(Ra,null);return nn(t,yn),t.teardown=e,t}function it(e){Yh();var t=yt.f,n=!St&&(t&er)!==0&&Vt!==null&&!Vt.i;if(n){var s=Vt;(s.e??=[]).push(e)}else return Xh(e)}function Xh(e){return sr(go|yh,e)}function Zh(e){return Yh(),sr(Ra|yh,e)}function Qh(e){Qr.ensure();const t=sr(Dr|Xs,e);return()=>{Sn(t)}}function $y(e){Qr.ensure();const t=sr(Dr|Xs,e);return(n={})=>new Promise(s=>{n.outro?zs(t,()=>{Sn(t),s(void 0)}):(Sn(t),s(void 0))})}function qa(e){return sr(go,e)}function jy(e){return sr(co|Xs,e)}function El(e,t=0){return sr(Ra|t,e)}function C(e,t=[],n=[],s=[]){Oh(s,t,n,o=>{sr(Ra,()=>{e(...o.map(r))})})}function $a(e,t=0){var n=sr(fr|t,e);return n}function Jh(e,t=0){var n=sr(Ld|t,e);return n}function Fn(e){return sr(er|Xs,e)}function ep(e){var t=e.teardown;if(t!==null){const n=Jr,s=St;Bu(!0),tr(null);try{t.call(null)}finally{Bu(n),tr(s)}}}function Gd(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){const o=n.ac;o!==null&&Ro(()=>{o.abort(Ha)});var s=n.next;n.f&Dr?n.parent=null:Sn(n,t),n=s}}function By(e){for(var t=e.first;t!==null;){var n=t.next;t.f&er||Sn(t),t=n}}function Sn(e,t=!0){var n=!1;(t||e.f&zm)&&e.nodes!==null&&e.nodes.end!==null&&(tp(e.nodes.start,e.nodes.end),n=!0),e.f|=Xc,Gd(e,t&&!n),Ea(e,0);var s=e.nodes&&e.nodes.t;if(s!==null)for(const a of s)a.stop();ep(e),e.f^=Xc,e.f|=Wn;var o=e.parent;o!==null&&o.first!==null&&np(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=e.b=null}function tp(e,t){for(;e!==null;){var n=e===t?null:Fa(e);e.remove(),e=n}}function np(e){var t=e.parent,n=e.prev,s=e.next;n!==null&&(n.next=s),s!==null&&(s.prev=n),t!==null&&(t.first===e&&(t.first=s),t.last===e&&(t.last=n))}function zs(e,t,n=!0){var s=[];rp(e,s,!0);var o=()=>{n&&Sn(e),t&&t()},a=s.length;if(a>0){var i=()=>--a||o();for(var l of s)l.out(i)}else o()}function rp(e,t,n){if(!(e.f&Dn)){e.f^=Dn;var s=e.nodes&&e.nodes.t;if(s!==null)for(const l of s)(l.is_global||n)&&t.push(l);for(var o=e.first;o!==null;){var a=o.next;if(!(o.f&Dr)){var i=(o.f&_s)!==0||(o.f&er)!==0&&(e.f&fr)!==0;rp(o,t,i?n:!1)}o=a}}}function Vi(e){sp(e,!0)}function sp(e,t){if(e.f&Dn){e.f^=Dn,e.f&yn||(nn(e,vn),Qr.ensure().schedule(e));for(var n=e.first;n!==null;){var s=n.next,o=(n.f&_s)!==0||(n.f&er)!==0;sp(n,o?t:!1),n=s}var a=e.nodes&&e.nodes.t;if(a!==null)for(const i of a)(i.is_global||t)&&i.in()}}function Ud(e,t){if(e.nodes)for(var n=e.nodes.start,s=e.nodes.end;n!==null;){var o=n===s?null:Fa(n);t.append(n),n=o}}let Mi=!1,Jr=!1;function Bu(e){Jr=e}let St=null,hr=!1;function tr(e){St=e}let yt=null;function Rr(e){yt=e}let Pr=null;function op(e){St!==null&&(Pr??=new Set).add(e)}let zn=null,Bn=0,Zn=null;function Vy(e){Zn=e}let ap=1,Ps=0,Fs=Ps;function Vu(e){Fs=e}function ip(){return++ap}function ja(e){var t=e.f;if(t&vn)return!0;if(t&En&&(e.f&=~js),t&gr){for(var n=e.deps,s=n.length,o=0;o<s;o++){var a=n[o];if(ja(a)&&Rh(a),a.wv>e.wv)return!0}t&Jn&&vr===null&&nn(e,yn)}return!1}function lp(e,t,n=!0){var s=e.reactions;if(s!==null&&!(Pr!==null&&Pr.has(e)))for(var o=0;o<s.length;o++){var a=s[o];a.f&En?lp(a,t,!1):t===a&&(n?nn(a,vn):a.f&yn&&nn(a,gr),Wd(a))}}function cp(e){var t=zn,n=Bn,s=Zn,o=St,a=Pr,i=Vt,l=hr,c=Fs,d=e.f;zn=null,Bn=0,Zn=null,St=d&(er|Dr)?null:e,Pr=null,mo(e.ctx),hr=!1,Fs=++Ps,e.ac!==null&&(Ro(()=>{e.ac.abort(Ha)}),e.ac=null);try{e.f|=$i;var u=e.fn,h=u();e.f|=Oo;var v=e.deps,y=mt?.is_fork;if(zn!==null){var g;if(y||Ea(e,Bn),v!==null&&Bn>0)for(v.length=Bn+zn.length,g=0;g<zn.length;g++)v[Bn+g]=zn[g];else e.deps=v=zn;if(Kd()&&e.f&Jn)for(g=Bn;g<v.length;g++)(v[g].reactions??=[]).push(e)}else!y&&v!==null&&Bn<v.length&&(Ea(e,Bn),v.length=Bn);if(za()&&Zn!==null&&!hr&&v!==null&&!(e.f&(En|gr|vn)))for(g=0;g<Zn.length;g++)lp(Zn[g],e);if(o!==null&&o!==e){if(Ps++,o.deps!==null)for(let w=0;w<n;w+=1)o.deps[w].rv=Ps;if(t!==null)for(const w of t)w.rv=Ps;Zn!==null&&(s===null?s=Zn:s.push(...Zn))}return e.f&ys&&(e.f^=ys),h}catch(w){return Nh(w)}finally{e.f^=$i,zn=t,Bn=n,Zn=s,St=o,Pr=a,mo(i),hr=l,Fs=c}}function Wy(e,t){let n=t.reactions;if(n!==null){var s=Om.call(n,e);if(s!==-1){var o=n.length-1;o===0?n=t.reactions=null:(n[s]=n[o],n.pop())}}if(n===null&&t.f&En&&(zn===null||!zi.call(zn,t))){var a=t;a.f&Jn&&(a.f^=Jn,a.f&=~js),a.v!==fn&&Fd(a),a.ac!==null&&Ro(()=>{a.ac.abort(Ha),a.ac=null,nn(a,vn)}),Py(a),Ea(a,0)}}function Ea(e,t){var n=e.deps;if(n!==null)for(var s=t;s<n.length;s++)Wy(e,n[s])}function bo(e){var t=e.f;if(!(t&Wn)){nn(e,yn);var n=yt,s=Mi;yt=e,Mi=(t&(er|Dr))===0;try{t&(fr|Ld)?By(e):Gd(e),ep(e);var o=cp(e);e.teardown=typeof o=="function"?o:null,e.wv=ap;var a;vh&&vy&&e.f&vn&&e.deps}finally{Mi=s,yt=n}}}async function Wi(){await Promise.resolve(),Oy()}function r(e){var t=e.f,n=(t&En)!==0;if(St!==null&&!hr){var s=yt!==null&&(yt.f&Wn)!==0;if(!s&&(Pr===null||!Pr.has(e))){var o=St.deps;if(St.f&$i)e.rv<Ps&&(e.rv=Ps,zn===null&&o!==null&&o[Bn]===e?Bn++:zn===null?zn=[e]:zn.push(e));else{St.deps??=[],zi.call(St.deps,e)||St.deps.push(e);var a=e.reactions;a===null?e.reactions=[St]:zi.call(a,St)||a.push(St)}}}if(Jr&&Ir.has(e))return Ir.get(e);if(n){var i=e;if(Jr){var l=i.v;return(!(i.f&yn)&&i.reactions!==null||up(i))&&(l=Bd(i)),Ir.set(i,l),l}var c=(i.f&Jn)===0&&!hr&&St!==null&&(Mi||(St.f&Jn)!==0),d=(i.f&Oo)===0;ja(i)&&(c&&(i.f|=Jn),Rh(i)),c&&!d&&(Hh(i),dp(i))}if(vr?.has(e))return vr.get(e);if(e.f&ys)throw e.v;return e.v}function dp(e){if(e.f|=Jn,e.deps!==null)for(const t of e.deps)(t.reactions??=[]).push(e),t.f&En&&!(t.f&Jn)&&(Hh(t),dp(t))}function up(e){if(e.v===fn)return!0;if(e.deps===null)return!1;for(const t of e.deps)if(Ir.has(t)||t.f&En&&up(t))return!0;return!1}function rn(e){var t=hr;try{return hr=!0,e()}finally{hr=t}}function fp(e){if(!(typeof e!="object"||!e||e instanceof EventTarget)){if(Ar in e)rd(e);else if(!Array.isArray(e))for(let t in e){const n=e[t];typeof n=="object"&&n&&Ar in n&&rd(n)}}}function rd(e,t=new Set){if(typeof e=="object"&&e!==null&&!(e instanceof EventTarget)&&!t.has(e)){t.add(e),e instanceof Date&&e.getTime();for(let s in e)try{rd(e[s],t)}catch{}const n=xl(e);if(n!==Object.prototype&&n!==Array.prototype&&n!==Map.prototype&&n!==Set.prototype&&n!==Date.prototype){const s=ph(n);for(let o in s){const a=s[o].get;if(a)try{a.call(e)}catch{}}}}}function Ky(e){return e.endsWith("capture")&&e!=="gotpointercapture"&&e!=="lostpointercapture"}const Gy=["beforeinput","click","change","dblclick","contextmenu","focusin","focusout","input","keydown","keyup","mousedown","mousemove","mouseout","mouseover","mouseup","pointerdown","pointermove","pointerout","pointerover","pointerup","touchend","touchmove","touchstart"];function Uy(e){return Gy.includes(e)}const Yy={formnovalidate:"formNoValidate",ismap:"isMap",nomodule:"noModule",playsinline:"playsInline",readonly:"readOnly",defaultvalue:"defaultValue",defaultchecked:"defaultChecked",srcobject:"srcObject",novalidate:"noValidate",allowfullscreen:"allowFullscreen",disablepictureinpicture:"disablePictureInPicture",disableremoteplayback:"disableRemotePlayback"};function Xy(e){return e=e.toLowerCase(),Yy[e]??e}const Zy=["touchstart","touchmove"];function Qy(e){return Zy.includes(e)}const la=Symbol("events"),vp=new Set,sd=new Set;function Yd(e,t,n,s={}){function o(a){if(s.capture||ad.call(t,a),!a.cancelBubble)return Ro(()=>n?.call(this,a))}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?Cr(()=>{t.addEventListener(e,o,s)}):t.addEventListener(e,o,s),o}function od(e,t,n,s={}){var o=Yd(t,e,n,s);return()=>{e.removeEventListener(t,o,s)}}function st(e,t,n,s,o){var a={capture:s,passive:o},i=Yd(e,t,n,a);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&kl(()=>{t.removeEventListener(e,i,a)})}function Ce(e,t,n){(t[la]??={})[e]=n}function Mt(e){for(var t=0;t<e.length;t++)vp.add(e[t]);for(var n of sd)n(e)}let ic=null,lc=!1;function ad(e){var t=this,n=t.ownerDocument,s=e.type,o=e.composedPath?.()||[],a=o[0]||e.target;ic=e,lc||(lc=!0,setTimeout(()=>{lc=!1,ic=null}));var i=0,l=ic===e&&e[la];if(l){var c=o.indexOf(l);if(c!==-1&&(t===document||t===window)){e[la]=t;return}var d=o.indexOf(t);if(d===-1)return;c<=d&&(i=c)}if(a=o[i]||e.target,a!==t){hh(e,"currentTarget",{configurable:!0,get(){return a||n}});var u=St,h=yt;tr(null),Rr(null);try{for(var v,y=[];a!==null&&a!==t;){try{var g=a[la]?.[s];g!=null&&(!a.disabled||e.target===a)&&g.call(a,e)}catch(w){v?y.push(w):v=w}if(e.cancelBubble)break;i++,a=i<o.length?o[i]:null}if(v){for(let w of y)queueMicrotask(()=>{throw w});throw v}}finally{e[la]=t,delete e.currentTarget,tr(u),Rr(h)}}}const Jy=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:e=>e});function e_(e){return Jy?.createHTML(e)??e}function hp(e){var t=Uh("template");return t.innerHTML=e_(e.replaceAll("<!>","<!---->")),t.content}function bs(e,t){var n=yt;n.nodes===null&&(n.nodes={start:e,end:t,a:null,t:null})}function O(e,t){var n=(t&xh)!==0,s=(t&ay)!==0,o,a=!e.startsWith("<!>");return()=>{o===void 0&&(o=hp(a?e:"<!>"+e),n||(o=Vn(o)));var i=s||Vh?document.importNode(o,!0):o.cloneNode(!0);if(n){var l=Vn(i),c=i.lastChild;bs(l,c)}else bs(i,i);return i}}function t_(e,t,n="svg"){var s=!e.startsWith("<!>"),o=(t&xh)!==0,a=`<${n}>${s?e:"<!>"+e}</${n}>`,i;return()=>{if(!i){var l=hp(a),c=Vn(l);if(o)for(i=document.createDocumentFragment();Vn(c);)i.appendChild(Vn(c));else i=Vn(c)}var d=i.cloneNode(!0);if(o){var u=Vn(d),h=d.lastChild;bs(u,h)}else bs(d,d);return d}}function tn(e,t){return t_(e,t,"svg")}function xt(e=""){{var t=Yr(e+"");return bs(t,t),t}}function Tt(){var e=document.createDocumentFragment(),t=document.createComment(""),n=Yr();return e.append(t,n),bs(t,n),e}function b(e,t){e!==null&&e.before(t)}function _(e,t){var n=t==null?"":typeof t=="object"?`${t}`:t;n!==(e[Jc]??=e.nodeValue)&&(e[Jc]=n,e.nodeValue=`${n}`)}function n_(e,t){return r_(e,t)}const oi=new Map;function r_(e,{target:t,anchor:n,props:s={},events:o,context:a,intro:i=!0,transformError:l}){zy();var c=void 0,d=$y(()=>{var u=n??t.appendChild(Yr());Cy(u,{pending:()=>{}},y=>{Re({});var g=Vt;a&&(g.c=a),o&&(s.$$events=o),c=e(y,s)||{},He()},l);var h=new Set,v=y=>{for(var g=0;g<y.length;g++){var w=y[g];if(!h.has(w)){h.add(w);var k=Qy(w);for(const M of[t,document]){var A=oi.get(M);A===void 0&&(A=new Map,oi.set(M,A));var L=A.get(w);L===void 0?(M.addEventListener(w,ad,{passive:k}),A.set(w,1)):A.set(w,L+1)}}}};return v(wl(vp)),sd.add(v),()=>{for(var y of h)for(const k of[t,document]){var g=oi.get(k),w=g.get(y);--w==0?(k.removeEventListener(y,ad),g.delete(y),g.size===0&&oi.delete(k)):g.set(y,w)}sd.delete(v),u!==n&&u.parentNode?.removeChild(u)}});return s_.set(c,d),c}let s_=new WeakMap;class Xd{anchor;#e=new Map;#n=new Map;#t=new Map;#i=new Set;#s=!0;constructor(t,n=!0){this.anchor=t,this.#s=n}#a=t=>{if(this.#e.has(t)){var n=this.#e.get(t),s=this.#n.get(n);if(s)Vi(s),this.#i.delete(n);else{var o=this.#t.get(n);o&&(Vi(o.effect),this.#n.set(n,o.effect),this.#t.delete(n),o.fragment.lastChild.remove(),this.anchor.before(o.fragment),s=o.effect)}for(const[a,i]of this.#e){if(this.#e.delete(a),a===t)break;const l=this.#t.get(i);l&&(Sn(l.effect),this.#t.delete(i))}for(const[a,i]of this.#n){if(a===n||this.#i.has(a))continue;const l=()=>{if(Array.from(this.#e.values()).includes(a)){var d=document.createDocumentFragment();Ud(i,d),d.append(Yr()),this.#t.set(a,{effect:i,fragment:d})}else Sn(i);this.#i.delete(a),this.#n.delete(a)};this.#s||!s?(this.#i.add(a),zs(i,l,!1)):l()}}};#r=t=>{this.#e.delete(t);const n=Array.from(this.#e.values());for(const[s,o]of this.#t)n.includes(s)||(Sn(o.effect),this.#t.delete(s))};ensure(t,n){var s=mt,o=Gh();if(n&&!this.#n.has(t)&&!this.#t.has(t))if(o){var a=document.createDocumentFragment(),i=Yr();a.append(i),this.#t.set(t,{effect:Fn(()=>n(i)),fragment:a})}else this.#n.set(t,Fn(()=>n(this.anchor)));if(this.#e.set(s,t),o){for(const[l,c]of this.#n)l===t?s.unskip_effect(c):s.skip_effect(c);for(const[l,c]of this.#t)l===t?s.unskip_effect(c.effect):s.skip_effect(c.effect);s.oncommit(this.#a),s.ondiscard(this.#r)}else this.#a(s)}}function B(e,t,n=!1){var s=new Xd(e),o=n?_s:0;function a(i,l){s.ensure(i,l)}$a(()=>{var i=!1;t((l,c=0)=>{i=!0,a(c,l)}),i||a(-1,null)},o)}function nr(e,t){return t}function o_(e,t,n){for(var s=[],o=t.length,a,i=t.length,l=0;l<o;l++){let h=t[l];zs(h,()=>{if(a){if(a.pending.delete(h),a.done.add(h),a.pending.size===0){var v=e.outrogroups;id(e,wl(a.done)),v.delete(a),v.size===0&&(e.outrogroups=null)}}else i-=1},!1)}if(i===0){var c=s.length===0&&n!==null&&e.pending.size===0;if(c){var d=n,u=d.parentNode;Fy(u),u.append(d),e.items.clear()}id(e,t,!c)}else a={pending:new Set(t),done:new Set},(e.outrogroups??=new Set).add(a)}function id(e,t,n=!0){var s;if(e.pending.size>0){s=new Set;for(const i of e.pending.values())for(const l of i)s.add(e.items.get(l).e)}for(var o=0;o<t.length;o++){var a=t[o];if(s?.has(a)){a.f|=Tr;const i=document.createDocumentFragment();Ud(a,i)}else Sn(t[o],n)}}var Wu;function Te(e,t,n,s,o,a=null){var i=e,l=new Map,c=(t&wh)!==0;if(c){var d=e;i=d.appendChild(Yr())}var u=null,h=jd(()=>{var M=n();return bl(M)?M:M==null?[]:wl(M)}),v,y=new Map,g=!0;function w(M){L.effect.f&Wn||(L.pending.delete(M),L.fallback=u,a_(L,v,i,t,s),u!==null&&(v.length===0?u.f&Tr?(u.f^=Tr,ca(u,null,i)):Vi(u):zs(u,()=>{u=null})))}function k(M){L.pending.delete(M)}var A=$a(()=>{v=r(h);for(var M=v.length,D=new Set,j=mt,W=Gh(),K=0;K<M;K+=1){var Z=v[K],z=s(Z,K),U=g?null:l.get(z);U?(U.v&&_o(U.v,Z),U.i&&_o(U.i,K),W&&j.unskip_effect(U.e)):(U=i_(l,g?i:Wu??=Yr(),Z,z,K,o,t,n),g||(U.e.f|=Tr),l.set(z,U)),D.add(z)}if(M===0&&a&&!u&&(g?u=Fn(()=>a(i)):(u=Fn(()=>a(Wu??=Yr())),u.f|=Tr)),M>D.size&&$m(),!g)if(y.set(j,D),W){for(const[$,H]of l)D.has($)||j.skip_effect(H.e);j.oncommit(w),j.ondiscard(k)}else w(j);r(h)}),L={effect:A,items:l,pending:y,outrogroups:null,fallback:u};g=!1}function Ko(e){for(;e!==null&&!(e.f&er);)e=e.next;return e}function a_(e,t,n,s,o){var a=(s&Jm)!==0,i=t.length,l=e.items,c=Ko(e.effect.first),d,u=null,h,v=[],y=[],g,w,k,A;if(a)for(A=0;A<i;A+=1)g=t[A],w=o(g,A),k=l.get(w).e,k.f&Tr||(k.nodes?.a?.measure(),(h??=new Set).add(k));for(A=0;A<i;A+=1){if(g=t[A],w=o(g,A),k=l.get(w).e,e.outrogroups!==null)for(const U of e.outrogroups)U.pending.delete(k),U.done.delete(k);if(k.f&Dn&&(Vi(k),a&&(k.nodes?.a?.unfix(),(h??=new Set).delete(k))),k.f&Tr)if(k.f^=Tr,k===c)ca(k,null,n);else{var L=u?u.next:c;k===e.effect.last&&(e.effect.last=k.prev),k.prev&&(k.prev.next=k.next),k.next&&(k.next.prev=k.prev),ss(e,u,k),ss(e,k,L),ca(k,L,n),u=k,v=[],y=[],c=Ko(u.next);continue}if(k!==c){if(d!==void 0&&d.has(k)){if(v.length<y.length){var M=y[0],D;u=M.prev;var j=v[0],W=v[v.length-1];for(D=0;D<v.length;D+=1)ca(v[D],M,n);for(D=0;D<y.length;D+=1)d.delete(y[D]);ss(e,j.prev,W.next),ss(e,u,j),ss(e,W,M),c=M,u=W,A-=1,v=[],y=[]}else d.delete(k),ca(k,c,n),ss(e,k.prev,k.next),ss(e,k,u===null?e.effect.first:u.next),ss(e,u,k),u=k;continue}for(v=[],y=[];c!==null&&c!==k;)(d??=new Set).add(c),y.push(c),c=Ko(c.next);if(c===null)continue}k.f&Tr||v.push(k),u=k,c=Ko(k.next)}if(e.outrogroups!==null){for(const U of e.outrogroups)U.pending.size===0&&(id(e,wl(U.done)),e.outrogroups?.delete(U));e.outrogroups.size===0&&(e.outrogroups=null)}if(c!==null||d!==void 0){var K=[];if(d!==void 0)for(k of d)k.f&Dn||K.push(k);for(;c!==null;)!(c.f&Dn)&&c!==e.fallback&&K.push(c),c=Ko(c.next);var Z=K.length;if(Z>0){var z=s&wh&&i===0?n:null;if(a){for(A=0;A<Z;A+=1)K[A].nodes?.a?.measure();for(A=0;A<Z;A+=1)K[A].nodes?.a?.fix()}o_(e,K,z)}}a&&Cr(()=>{if(h!==void 0)for(k of h)k.nodes?.a?.apply()})}function i_(e,t,n,s,o,a,i,l){var c=i&Zm?i&ey?Bs(n):jh(n,!1,!1):null,d=i&Qm?Bs(o):null;return{v:c,i:d,e:Fn(()=>(a(t,c??n,d??o,l),()=>{e.delete(s)}))}}function ca(e,t,n){if(e.nodes)for(var s=e.nodes.start,o=e.nodes.end,a=t&&!(t.f&Tr)?t.nodes.start:n;s!==null;){var i=Fa(s);if(a.before(s),s===o)return;s=i}}function ss(e,t,n){t===null?e.effect.first=n:t.next=n,n===null?e.effect.last=t:n.prev=t}function Gt(e,t,n=!1,s=!1,o=!1,a=!1){var i=e,l="";if(n)var c=e;C(()=>{var d=yt;if(l!==(l=t()??"")){if(n){d.nodes=null,c.innerHTML=l,l!==""&&bs(Vn(c),c.lastChild);return}if(d.nodes!==null&&(tp(d.nodes.start,d.nodes.end),d.nodes=null),l!==""){var u=s?iy:o?ly:void 0,h=Uh(s?"svg":o?"math":"template",u);h.innerHTML=l;var v=s||o?h:h.content;if(bs(Vn(v),v.lastChild),s||o)for(;Vn(v);)i.before(Vn(v));else i.before(v)}}})}function jn(e,t,...n){var s=new Xd(e);$a(()=>{const o=t()??null;s.ensure(o,o&&(a=>o(a,...n)))},_s)}function Zd(e,t,n){var s=new Xd(e);$a(()=>{var o=t()??null;s.ensure(o,o&&(a=>n(a,o)))},_s)}function On(e,t,n){qa(()=>{var s=rn(()=>t(e,n?.())||{});if(n&&s?.update){var o=!1,a={};El(()=>{var i=n();fp(i),o&&Rd(a,i)&&(a=i,s.update(i))}),o=!0}if(s?.destroy)return()=>s.destroy()})}function l_(e,t){var n=void 0,s;Jh(()=>{n!==(n=t())&&(s&&(Sn(s),s=null),n&&(s=Fn(()=>{qa(()=>n(e))})))})}function pp(e){var t,n,s="";if(typeof e=="string"||typeof e=="number")s+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(n=pp(e[t]))&&(s&&(s+=" "),s+=n)}else for(n in e)e[n]&&(s&&(s+=" "),s+=n);return s}function c_(){for(var e,t,n=0,s="",o=arguments.length;n<o;n++)(e=arguments[n])&&(t=pp(e))&&(s&&(s+=" "),s+=t);return s}function Zs(e){return typeof e=="object"?c_(e):e??""}const Ku=[...`
2
+ \r\f \v\uFEFF`];function d_(e,t,n){var s=e==null?"":""+e;if(t&&(s=s?s+" "+t:t),n){for(var o of Object.keys(n))if(n[o])s=s?s+" "+o:o;else if(s.length)for(var a=o.length,i=0;(i=s.indexOf(o,i))>=0;){var l=i+a;(i===0||Ku.includes(s[i-1]))&&(l===s.length||Ku.includes(s[l]))?s=(i===0?"":s.substring(0,i))+s.substring(l+1):i=l}}return s===""?null:s}function Gu(e,t=!1){var n=t?" !important;":";",s="";for(var o of Object.keys(e)){var a=e[o];a!=null&&a!==""&&(s+=" "+o+": "+a+n)}return s}function cc(e){return e[0]!=="-"||e[1]!=="-"?e.toLowerCase():e}function u_(e,t){if(t){var n="",s,o;if(Array.isArray(t)?(s=t[0],o=t[1]):s=t,e){e=String(e).replaceAll(/\/\*.*?\*\//g,"").trim();var a=!1,i=0,l=!1,c=[];s&&c.push(...Object.keys(s).map(cc)),o&&c.push(...Object.keys(o).map(cc));var d=0,u=-1;const w=e.length;for(var h=0;h<w;h++){var v=e[h];if(l?v==="/"&&e[h-1]==="*"&&(l=!1):a?a===v&&(a=!1):v==="/"&&e[h+1]==="*"?l=!0:v==='"'||v==="'"?a=v:v==="("?i++:v===")"&&i--,!l&&a===!1&&i===0){if(v===":"&&u===-1)u=h;else if(v===";"||h===w-1){if(u!==-1){var y=cc(e.substring(d,u).trim());if(!c.includes(y)){v!==";"&&h++;var g=e.substring(d,h).trim();n+=" "+g+";"}}d=h+1,u=-1}}}}return s&&(n+=Gu(s)),o&&(n+=Gu(o,!0)),n=n.trim(),n===""?null:n}return e==null?null:String(e)}function De(e,t,n,s,o,a){var i=e[Zc];if(i!==n||i===void 0){var l=d_(n,s,a);l==null?e.removeAttribute("class"):t?e.className=l:e.setAttribute("class",l),e[Zc]=n}else if(a&&o!==a)for(var c in a){var d=!!a[c];(o==null||d!==!!o[c])&&e.classList.toggle(c,d)}return a}function dc(e,t={},n,s){for(var o in n){var a=n[o];t[o]!==a&&(n[o]==null?e.style.removeProperty(o):e.style.setProperty(o,a,s))}}function ht(e,t,n,s){var o=e[Qc];if(o!==t){var a=u_(t,s);a==null?e.removeAttribute("style"):e.style.cssText=a,e[Qc]=t}else s&&(Array.isArray(s)?(dc(e,n?.[0],s[0]),dc(e,n?.[1],s[1],"important")):dc(e,n,s));return s}function wo(e,t,n=!1){if(e.multiple){if(t==null)return;if(!bl(t))return uy();for(var s of e.options)s.selected=t.includes(Uu(s));return}for(s of e.options){var o=Uu(s);if(Hy(o,t)){s.selected=!0;return}}(!n||t!==void 0)&&(e.selectedIndex=-1)}function Sl(e){var t=new MutationObserver(()=>{"__value"in e&&wo(e,e.__value)});t.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),kl(()=>{t.disconnect()})}function Uu(e){return"__value"in e?e.__value:e.value}const us=Symbol("class"),kr=Symbol("style"),gp=Symbol("is custom element"),mp=Symbol("is html"),f_=Od?"input":"INPUT",v_=Od?"option":"OPTION",h_=Od?"select":"SELECT";function yp(e,t){var n=Qd(e);n.checked!==(n.checked=t??void 0)&&(e.checked=t)}function p_(e,t){t?e.hasAttribute("selected")||e.setAttribute("selected",""):e.removeAttribute("selected")}function ae(e,t,n,s){var o=Qd(e);o[t]!==(o[t]=n)&&(t==="loading"&&(e[Fm]=n),n==null?e.removeAttribute(t):typeof n!="string"&&_p(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function g_(e,t,n,s,o=!1,a=!1){var i=Qd(e),l=i[gp],c=!i[mp],d=t||{},u=e.nodeName===v_;for(var h in t)!(h in n)&&h[0]+h[1]!=="$$"&&(n[h]=null);n.class?n.class=Zs(n.class):(s||n[us])&&(n.class=null),n[kr]&&(n.style??=null);var v=_p(e);if(e.nodeName===f_&&"type"in n&&("value"in n||"__value"in n)){var y=n.type;(y!==d.type||y===void 0&&e.hasAttribute("type"))&&(d.type=y,ae(e,"type",y))}for(const j in n){let W=n[j];if(u&&j==="value"&&W==null){e.value=e.__value="",d[j]=W;continue}if(j==="class"){var g=e.namespaceURI==="http://www.w3.org/1999/xhtml";De(e,g,W,s,t?.[us],n[us]),d[j]=W,d[us]=n[us];continue}if(j==="style"){ht(e,W,t?.[kr],n[kr]),d[j]=W,d[kr]=n[kr];continue}var w=d[j];if(!(W===w&&!(W===void 0&&e.hasAttribute(j)))){d[j]=W;var k=j[0]+j[1];if(k!=="$$")if(k==="on"){const K={},Z="$$"+j;let z=j.slice(2);var A=Uy(z);if(Ky(z)&&(z=z.slice(0,-7),K.capture=!0),!A&&w){if(W!=null)continue;e.removeEventListener(z,d[Z],K),d[Z]=null}if(A)Ce(z,e,W),Mt([z]);else if(W!=null){let U=function($){d[j].call(this,$)};var D=U;d[Z]=Yd(z,e,U,K)}}else if(j==="style")ae(e,j,W);else if(j==="autofocus")ky(e,!!W);else if(!l&&(j==="__value"||j==="value"&&W!=null))e.value=e.__value=W;else if(j==="selected"&&u)p_(e,W);else{var L=j;c||(L=Xy(L));var M=L==="defaultValue"||L==="defaultChecked";if(W==null&&!l&&!M)if(i[j]=null,L==="value"||L==="checked"){let K=e;const Z=t===void 0;if(L==="value"){let z=K.defaultValue;K.removeAttribute(L),K.defaultValue=z,K.value=K.__value=Z?z:null}else{let z=K.defaultChecked;K.removeAttribute(L),K.defaultChecked=z,K.checked=Z?z:!1}}else e.removeAttribute(j);else M||v.includes(L)&&(l||typeof W!="string")?(e[L]=W,L in i&&(i[L]=fn)):typeof W!="function"&&ae(e,L,W)}}}return d}function ts(e,t,n=[],s=[],o=[],a,i=!1,l=!1){Oh(o,n,s,c=>{var d=void 0,u={},h=e.nodeName===h_,v=!1;if(Jh(()=>{var g=t(...c.map(r)),w=g_(e,d,g,a,i,l);v&&h&&"value"in g&&wo(e,g.value);for(let A of Object.getOwnPropertySymbols(u))g[A]||Sn(u[A]);for(let A of Object.getOwnPropertySymbols(g)){var k=g[A];A.description===cy&&(!d||k!==d[A])&&(u[A]&&Sn(u[A]),u[A]=Fn(()=>l_(e,()=>k))),w[A]=k}d=w}),h){var y=e;qa(()=>{wo(y,d.value,!0),Sl(y)})}v=!0})}function Qd(e){return e[bh]??={[gp]:e.nodeName.includes("-"),[mp]:e.namespaceURI===kh}}var Yu=new Map;function _p(e){var t=e.getAttribute("is")||e.nodeName,n=Yu.get(t);if(n)return n;Yu.set(t,n=[]);for(var s,o=e,a=Element.prototype;a!==o;){s=ph(o);for(var i in s)s[i].set&&i!=="innerHTML"&&i!=="textContent"&&i!=="innerText"&&n.push(i);o=xl(o)}return n}function Jd(e,t,n=t){var s=new WeakSet;Sy(e,"input",async o=>{var a=o?e.defaultValue:e.value;if(a=uc(e)?fc(a):a,n(a),mt!==null&&s.add(mt),await Wi(),a!==(a=t())){var i=e.selectionStart,l=e.selectionEnd,c=e.value.length;if(e.value=a??"",l!==null){var d=e.value.length;i===l&&l===c&&d>c?(e.selectionStart=d,e.selectionEnd=d):(e.selectionStart=i,e.selectionEnd=Math.min(l,d))}}}),rn(t)==null&&e.value&&(n(uc(e)?fc(e.value):e.value),mt!==null&&s.add(mt)),El(()=>{var o=t();if(e===document.activeElement){var a=mt;if(s.has(a))return}uc(e)&&o===fc(e.value)||e.type==="date"&&!o&&!e.value||o!==e.value&&(e.value=o??"")})}function uc(e){var t=e.type;return t==="number"||t==="range"}function fc(e){return e===""?null:+e}class eu{#e=new WeakMap;#n;#t;static entries=new WeakMap;constructor(t){this.#t=t}observe(t,n){var s=this.#e.get(t)||new Set;return s.add(n),this.#e.set(t,s),this.#i().observe(t,this.#t),()=>{var o=this.#e.get(t);o.delete(n),o.size===0&&(this.#e.delete(t),this.#n.unobserve(t))}}#i(){return this.#n??(this.#n=new ResizeObserver(t=>{for(var n of t){eu.entries.set(n.target,n);for(var s of this.#e.get(n.target)||[])s(n)}}))}}var m_=new eu({box:"border-box"});function Xu(e,t,n){var s=m_.observe(e,()=>n(e[t]));qa(()=>(rn(()=>n(e[t])),s))}function vc(e,t){return e===t||e?.[Ar]===t}function Zt(e={},t,n,s){var o=Vt.r,a=yt;return qa(()=>{var i,l;return El(()=>{i=l,l=[],rn(()=>{vc(n(...l),e)||(t(e,...l),i&&vc(n(...i),e)&&t(null,...i))})}),()=>{let c=a;for(;c!==o&&c.parent!==null&&c.parent.f&Xc;)c=c.parent;const d=()=>{l&&vc(n(...l),e)&&t(null,...l)},u=c.teardown;c.teardown=()=>{d(),u?.()}}}),e}function bp(e=!1){const t=Vt,n=t.l.u;if(!n)return;let s=()=>fp(t.s);if(e){let o=0,a={};const i=yo(()=>{let l=!1;const c=t.s;for(const d in c)c[d]!==a[d]&&(a[d]=c[d],l=!0);return l&&o++,o});s=()=>r(i)}n.b.length&&Zh(()=>{Zu(t,s),Fi(n.b)}),it(()=>{const o=rn(()=>n.m.map(Rm));return()=>{for(const a of o)typeof a=="function"&&a()}}),n.a.length&&it(()=>{Zu(t,s),Fi(n.a)})}function Zu(e,t){if(e.l.s)for(const n of e.l.s)r(n);t()}const y_={get(e,t){if(!e.exclude.has(t))return e.props[t]},set(e,t){return!1},getOwnPropertyDescriptor(e,t){if(!e.exclude.has(t)&&t in e.props)return{enumerable:!0,configurable:!0,value:e.props[t]}},has(e,t){return e.exclude.has(t)?!1:t in e.props},ownKeys(e){return Reflect.ownKeys(e.props).filter(t=>!e.exclude.has(t))}};function ws(e,t,n){return new Proxy({props:e,exclude:t},y_)}const __={get(e,t){let n=e.props.length;for(;n--;){let s=e.props[n];if(Wo(s)&&(s=s()),typeof s=="object"&&s!==null&&t in s)return s[t]}},set(e,t,n){let s=e.props.length;for(;s--;){let o=e.props[s];Wo(o)&&(o=o());const a=ms(o,t);if(a&&a.set)return a.set(n),!0}return!1},getOwnPropertyDescriptor(e,t){let n=e.props.length;for(;n--;){let s=e.props[n];if(Wo(s)&&(s=s()),typeof s=="object"&&s!==null&&t in s){const o=ms(s,t);return o&&!o.configurable&&(o.configurable=!0),o}}},has(e,t){if(t===Ar||t===_h)return!1;for(let n of e.props)if(Wo(n)&&(n=n()),n!=null&&t in n)return!0;return!1},ownKeys(e){const t=[];for(let n of e.props)if(Wo(n)&&(n=n()),!!n){for(const s in n)t.includes(s)||t.push(s);for(const s of Object.getOwnPropertySymbols(n))t.includes(s)||t.push(s)}return t}};function fs(...e){return new Proxy({props:e},__)}function Ne(e,t,n,s){var o=!Do||(n&ny)!==0,a=(n&sy)!==0,i=(n&oy)!==0,l=s,c=!0,d=void 0,u=()=>i&&o?(d??=yo(s),r(d)):(c&&(c=!1,l=i?rn(s):s),l);let h;if(a){var v=Ar in e||_h in e;h=ms(e,t)?.set??(v&&t in e?D=>e[t]=D:void 0)}var y,g=!1;a?[y,g]=xy(()=>e[t]):y=e[t],y===void 0&&s!==void 0&&(y=u(),h&&(o&&Km(),h(y)));var w;if(o?w=()=>{var D=e[t];return D===void 0?u():(c=!0,D)}:w=()=>{var D=e[t];return D!==void 0&&(l=void 0),D===void 0?l:D},o&&!(n&ry))return w;if(h){var k=e.$$legacy;return function(D,j){return arguments.length>0?((!o||!j||k||g)&&h(j?w():D),D):w()}}var A=!1,L=(n&ty?yo:jd)(()=>(A=!1,w()));a&&r(L);var M=yt;return function(D,j){if(arguments.length>0){const W=j?r(L):o&&a?kn(D):D;return R(L,W),A=!0,l!==void 0&&(l=W),D}return Jr&&A||M.f&Wn?L.v:r(L)}}function b_(e){Vt===null&&Dd(),Do&&Vt.l!==null?w_(Vt).m.push(e):it(()=>{const t=rn(e);if(typeof t=="function")return t})}function Tl(e){Vt===null&&Dd(),b_(()=>()=>rn(e))}function w_(e){var t=e.l;return t.u??={a:[],b:[],m:[]}}const x_="5";typeof window<"u"&&((window.__svelte??={}).v??=new Set).add(x_);function Qu(e){return e.split("/").map(encodeURIComponent).join("/")}function no(e){const t=e.toString();return t?`?${t}`:""}const k_={symbolHref(e,t={}){const n=new URLSearchParams;return t.trail&&n.set("t",t.trail),t.line&&n.set("hl",String(t.line)),`#/s/${Qu(e)}${no(n)}`},fileHref(e,t={}){const n=new URLSearchParams;return t.source&&n.set("src","1"),t.line&&n.set("hl",String(t.line)),`#/file/${Qu(e)}${no(n)}`},mapHref(e={}){const t=new URLSearchParams;return e.root!==void 0&&e.root!==null&&t.set("root",e.root),e.depth&&e.depth!==1&&t.set("depth",String(e.depth)),e.tests&&t.set("tests","1"),`#/map${no(t)}`},flowHref(e={}){const t=new URLSearchParams;return e.from&&t.set("from",e.from),e.to&&t.set("to",e.to),e.symbols&&t.set("symbols",e.symbols),e.trail&&t.set("t",e.trail),`#/flow${no(t)}`},entryHref(){return"#/entry"},screensHref(){return"#/screens"},stepsHref(e={}){const t=new URLSearchParams;return e.anchor?t.set("anchor",e.anchor):e.symbol&&t.set("symbol",e.symbol),e.depth&&t.set("depth",String(e.depth)),e.through&&t.set("through","1"),e.view&&t.set("view",e.view),`#/steps${no(t)}`},deadHref(e={}){const t=new URLSearchParams;return e.exported&&t.set("exported","1"),`#/dead${no(t)}`},navigate(e,t={}){const n=e.startsWith("#")?e:`#${e}`;if(t.replace){history.replaceState(history.state,"",n),ld();return}location.hash!==n&&(location.hash=n,ld())},back(){history.back()}};let ld=()=>{};function E_(e){ld=e}let zr=k_;function _n(e,t={}){return zr.symbolHref(e,t)}function hn(e,t={}){return zr.fileHref(e,t)}function Ki(e={}){return zr.mapHref(e)}function Qs(e={}){return zr.flowHref(e)}function tu(){return zr.entryHref()}function wp(){return zr.screensHref()}function wr(e={}){return zr.stepsHref(e)}function Gi(e={}){return zr.deadHref(e)}function $t(e,t={}){zr.navigate(e,t)}function S_(){zr.back()}function T_(e){try{return decodeURIComponent(e)}catch{return e}}function C_(e){const t=e.get("hl");if(t===null)return null;const n=Number.parseInt(t,10);return Number.isFinite(n)&&n>0?n:null}function xp(e){const t=e.startsWith("#")?e.slice(1):e,n=t.indexOf("?"),s=n<0?t:t.slice(0,n),o=new URLSearchParams(n<0?"":t.slice(n+1)),a=s.split("/").filter(Boolean).map(T_),i=C_(o),[l,...c]=a;let d;if(l===void 0)d={view:"home"};else if(l==="s"&&c.length>0)d={view:"symbol",id:c.join("/"),line:i};else if(l==="file"&&c.length>0)d={view:"file",path:c.join("/"),line:i,source:o.get("src")==="1"};else if(l==="map"&&c.length===0){const u=o.get("root"),h=Number.parseInt(o.get("depth")??"",10);d={view:"map",root:u===null?null:u,depth:Number.isFinite(h)&&h>=1&&h<=4?h:1,tests:o.get("tests")==="1"}}else if(l==="entry"&&c.length===0)d={view:"entry"};else if(l==="screens"&&c.length===0)d={view:"screens"};else if(l==="steps"&&c.length===0){const u=Number.parseInt(o.get("depth")??"",10),h=o.get("view");d={view:"steps",anchor:o.get("anchor"),symbol:o.get("symbol"),depth:Number.isFinite(u)&&u>=1&&u<=14?u:null,through:o.get("through")==="1",reading:h==="order"||h==="tree"?h:null}}else l==="dead"&&c.length===0?d={view:"dead",exported:o.get("exported")==="1"}:l==="flow"&&c.length===0?d={view:"flow",from:o.get("from"),to:o.get("to"),symbols:o.get("symbols"),trail:o.get("t")}:d={view:"unknown",path:s};return{route:d,params:o,raw:t}}const M_=xp(typeof location>"u"?"":location.hash);let Ui=ve(kn(M_));function hc(){const e=xp(location.hash);e.raw!==r(Ui).raw&&R(Ui,e,!0)}typeof window<"u"&&(window.addEventListener("hashchange",hc),window.addEventListener("popstate",hc),E_(hc));const ma={get route(){return r(Ui).route},get params(){return r(Ui).params}};class rr extends Error{status;code;guidance;constructor(t,n,s,o){super(s),this.name="ApiFailure",this.status=t,this.code=n,this.guidance=o}}function pc(e){return e.split("/").map(encodeURIComponent).join("/")}function Br(e){const t=e.toString();return t?`?${t}`:""}const N_="X-CodeGraph-UI";function A_(e={}){const t=e.baseUrl??"",n=e.fetch??((...i)=>globalThis.fetch(...i));async function s(i,l,c){let d;try{d=await n(`${t}${i}`,{...l,signal:c})}catch(h){throw c?.aborted?h:new rr(0,"unreachable","The cg ui server is not answering.","It may have been stopped — restart it with `cg ui` and reload this page.")}const u=await d.json().catch(()=>null);if(!d.ok){const h=u??{};throw new rr(d.status,h.code??"error",h.error??`The server answered ${d.status}.`,h.hint??null)}return u}function o(i,l){return s(i,{headers:{accept:"application/json"}},l)}function a(i,l,c,d){const u={accept:"application/json",[N_]:"1"};return c!==void 0&&(u["content-type"]="application/json"),s(i,{method:l,headers:u,...c===void 0?{}:{body:JSON.stringify(c)}},d)}return{stats:i=>o("api/stats",i),search(i,l={},c){const d=new URLSearchParams({q:i});return l.limit&&d.set("limit",String(l.limit)),o(`api/search${Br(d)}`,c)},node:(i,l)=>o(`api/node/${pc(i)}`,l),nodes(i,l){const c=new URLSearchParams;for(const d of i)c.append("id",d);return o(`api/nodes${Br(c)}`,l)},source(i,l){const c=new URLSearchParams({file:i.file,from:String(i.from)});return i.to!==void 0&&i.to>0&&c.set("to",String(i.to)),i.ondrift&&c.set("ondrift",i.ondrift),o(`api/source${Br(c)}`,l)},file:(i,l)=>o(`api/file/${pc(i)}`,l),fileCode:(i,l)=>o(`api/filecode/${pc(i)}`,l),flow(i,l){const c=new URLSearchParams;i.from&&c.set("from",i.from),i.to&&c.set("to",i.to),i.symbols&&c.set("symbols",i.symbols);for(const d of i.trail??[])c.append("hop",d);return o(`api/flow${Br(c)}`,l)},map(i={},l){const c=new URLSearchParams;return i.root!==void 0&&i.root!==null&&c.set("root",i.root),i.depth&&c.set("depth",String(i.depth)),o(`api/map${Br(c)}`,l)},routes(i={},l){const c=new URLSearchParams;return i.limit&&c.set("limit",String(i.limit)),o(`api/routes${Br(c)}`,l)},screens(i){return o("api/screens",i)},steps(i={},l){const c=new URLSearchParams;return i.anchor?c.set("anchor",i.anchor):i.symbol&&c.set("symbol",i.symbol),i.depth&&c.set("depth",String(i.depth)),i.limit&&c.set("limit",String(i.limit)),i.through&&c.set("through","1"),o(`api/steps${Br(c)}`,l)},entryPoints(i={},l){const c=new URLSearchParams;return i.limit&&c.set("limit",String(i.limit)),i.routes&&c.set("routes",String(i.routes)),o(`api/entrypoints${Br(c)}`,l)},deadCode(i={},l){const c=new URLSearchParams;return i.limit&&c.set("limit",String(i.limit)),i.kinds?.length&&c.set("kinds",i.kinds.join(",")),i.includeExported&&c.set("exported","1"),i.includeTests&&c.set("tests","1"),i.includeGenerated&&c.set("generated","1"),o(`api/deadcode${Br(c)}`,l)},trails:i=>o("api/trails",i),saveTrail:(i,l)=>a("api/trails","POST",i,l),deleteTrail:(i,l)=>a(`api/trails/${encodeURIComponent(i)}`,"DELETE",void 0,l),events(i){if(typeof EventSource>"u")return()=>{};const l=new EventSource(`${t}api/events`);return l.addEventListener("hello",c=>i.hello(ai(c))),l.addEventListener("changed",c=>i.changed(ai(c))),l.addEventListener("index",c=>i.index(ai(c))),l.addEventListener("degraded",c=>i.degraded(ai(c))),l.addEventListener("error",()=>i.error()),()=>l.close()}}}function ai(e){const t=e.data;if(typeof t!="string")return null;try{return JSON.parse(t)}catch{return null}}let gc=null;function pn(){return gc===null&&(gc=A_()),gc}function I_(e){return pn().stats(e)}function P_(e,t){return pn().node(e,t)}function L_(e,t={},n){return pn().search(e,t,n)}function O_(e,t){return pn().nodes(e,t)}function D_(e={},t){return pn().entryPoints(e,t)}function R_(e={},t){return pn().deadCode(e,t)}function H_(e={},t){return pn().routes(e,t)}function kp(e,t){return pn().file(e,t)}function z_(e,t){return pn().fileCode(e,t)}function cd(e,t,n,s,o){return pn().source({file:e,from:t,to:n,ondrift:o},s)}function Ep(e){return pn().screens(e)}function F_(e,t){const n=pn();return typeof n.steps!="function"?Promise.reject(new rr(0,"refused","This viewer cannot draw steps.",null)):n.steps(e,t)}function q_(){return typeof pn().steps=="function"}function $_(e={},t){return pn().map(e,t)}function j_(e,t){return pn().flow(e,t)}function B_(e){return pn().trails(e)}function Ju(){const e=pn();return typeof e.saveTrail=="function"&&typeof e.deleteTrail=="function"}function V_(e,t){const n=pn();return n.saveTrail?n.saveTrail(e,t):Promise.reject(new rr(0,"refused","This viewer cannot save trails.",null))}function W_(e,t){const n=pn();return n.deleteTrail?n.deleteTrail(e,t):Promise.reject(new rr(0,"refused","This viewer cannot delete trails.",null))}const K_={start:"s",down:"d",up:"u"},G_={s:"start",d:"down",u:"up"};function U_(e){if(e.name)return e.name;const t=e.id.includes(":")?e.id.slice(e.id.indexOf(":")+1):e.id,n=t.slice(t.lastIndexOf("/")+1);return n.length===0||n.length>40?`${t.slice(0,8)}…`:/^[0-9a-f]{16,}$/.test(n)?`${n.slice(0,8)}…`:n}function Xr(e){return e.map(t=>K_[t.dir]+encodeURIComponent(t.id)).join(",")}function nu(e){if(!e)return[];const t=[];for(const n of e.split(",")){if(n.length<2)continue;const s=G_[n[0]];if(!s)continue;let o;try{o=decodeURIComponent(n.slice(1))}catch{o=n.slice(1)}o&&t.push({id:o,name:null,kind:null,dir:s})}return t}let Xt=ve(kn([]));const Yi=new Map;function mc(e,t){if(!t.name&&!t.kind)return;const n=Yi.get(e)??{name:null,kind:null};t.name&&(n.name=t.name),t.kind&&(n.kind=t.kind),Yi.set(e,n)}const Ut={get hops(){return r(Xt)},get current(){return r(Xt).length>0?r(Xt)[r(Xt).length-1]:null},get encoded(){return Xr(r(Xt))},push(e){mc(e.id,e);const t=r(Xt).findIndex(n=>n.id===e.id);if(t>=0){R(Xt,r(Xt).slice(0,t+1),!0);const n=r(Xt)[t];e.name&&(n.name=e.name),e.kind&&(n.kind=e.kind);return}R(Xt,[...r(Xt),{id:e.id,name:e.name??null,kind:e.kind??null,dir:e.dir??(r(Xt).length===0?"start":"down")}],!0)},rename(e,t){const n=r(Xt).findIndex(o=>o.id===e);if(n<0)return;mc(t.id,t);const s=r(Xt)[n];R(Xt,[...r(Xt).slice(0,n),{...s,id:t.id,name:t.name??s.name,kind:t.kind??s.kind},...r(Xt).slice(n+1)],!0)},truncateTo(e){e<0||e>=r(Xt).length||R(Xt,r(Xt).slice(0,e+1),!0)},resolve(e,t){mc(e,t);const n=r(Xt).find(s=>s.id===e);n&&(t.name&&(n.name=t.name),t.kind&&(n.kind=t.kind))},clear(){R(Xt,[],!0)},hydrate(e){const t=nu(e);Xr(t)!==Xr(r(Xt))&&R(Xt,t.map(n=>{const s=Yi.get(n.id);return s?{...n,name:s.name,kind:s.kind}:n}),!0)}},ef=new Set;async function Y_(){const e=r(Xt).filter(t=>!t.name&&!Yi.get(t.id)?.name&&!ef.has(t.id)).map(t=>t.id);if(e.length!==0)try{const{items:t,missing:n}=await O_(e);for(const s of t)Ut.resolve(s.id,{name:s.kind==="file"?s.file:s.name,kind:s.kind});for(const s of n)ef.add(s)}catch{}}const X_={"nav.screens":"Screens","nav.steps":"Steps","nav.entry":"Entry points","nav.map":"Map","nav.symbol":"Symbol","nav.flow":"Flow","nav.deadCode":"Dead code","nav.project":"Indexed project","nav.switchToEn":"Switch to English","nav.switchToZh":"Switch to Chinese","live.off":"Live updates off","live.offTitle":e=>`${e} This page no longer refreshes itself — reload it after a sync.`,"live.disconnected":"Not live","live.disconnectedTitle":"Lost the connection to cg ui and stopped retrying. Focus this tab to try again, or reload the page.","trail.label":"Trail","trail.saveBtn":"Save","trail.empty":"Step into a call on the right, or up to a caller on the left — the trail records the path.","trail.hopUp":"stepped up to a caller","trail.hopDown":"stepped down into a call","trail.hopJump":"jumped here","trail.readAsFlow":"Read as flow","trail.save":"Save trail","trail.clear":"Clear","trail.saveFormLabel":"Name this trail","trail.savePlaceholder":"How a request reaches the handler","trail.saving":"Saving…","trail.replace":"Replace","trail.cancel":"Cancel","trail.saveSuccess":e=>`Trail saved · ${String(e).trim()}`,"trail.replaceSuccess":e=>`Trail replaced · ${String(e).trim()}`,"trail.replacesHint":"Replaces the saved trail of the same name.","trail.savedHint":(e,t)=>`${e} hop${e===1?"":"s"} · saved to ${t}`,"trail.stepsHint":e=>`${e} hop${e===1?"":"s"}`,"trail.searchHint":e=>`${e} hop${e===1?"":"s"}`,"export.copyImage":"Copy image","export.rendering":"Rendering…","export.downloadSvg":"Download SVG","export.copied":"Image copied · paste it into a comment","export.clipboardFallback":"Clipboard unavailable · image saved instead","export.imageFail":"The image could not be made.","export.svgSaved":"SVG saved","export.saveFail":"The file could not be saved.","trails.title":"Saved trails","trails.loading":"Reading saved trails…","trails.empty":"No saved trails yet. Walk a path through the code, then press <strong>Save trail</strong> on the trail bar to keep it.","trails.onlyFirst":"Only the first trails in the directory are listed.","trails.export":"Export","trails.delete":"Delete","trails.deleteConfirm":"Delete?","search.placeholder":'Search a symbol or file, or ask "how does execute reach getFile" — press / to focus',"search.label":"Search symbols and files","search.searching":"Searching…",paletteSearching:"Searching…",drift:e=>`<code>${e}</code> changed on disk after the last index sync — `,"notfound.title":"Page not found","notfound.msg":e=>`<span class="mono">#${e}</span> does not match a view. Try <a class="mono link" href="#/">the start</a>.`,"deadCode.title":"Dead code","deadCode.desc":"Symbols no import, call or reference in this index reaches, largest first. Everything below is what the graph can see; the notes under the list are what it cannot.","deadCode.toggleExported":"Including exported","deadCode.toggleInternal":"Internal only","deadCode.toggleTitleExported":"Back to symbols nothing outside this repository could import either","deadCode.toggleTitleInternal":"Also list symbols something outside this repository could import — the index cannot check those","deadCode.readFailed":e=>`Could not read the list — ${e}`,"deadCode.loading":"Reading the graph…","deadCode.exportedWarning":"Exported symbols are on this list. Nothing in this repository references them, but anything outside it can — a published package, another service, a script. Read each one before you believe it.","deadCode.notCorroborated":"The rows were not checked against the text of the files that can reach them, so a reference the extractor did not record would not have been caught.","deadCode.bounded":"The scan stopped at its cap — this index holds more unreferenced symbols than were considered.","deadCode.truncated":(e,t)=>`Showing ${e} of ${t} — the rest are in the index, not on this list.`,"symbol.testReached":(e,t)=>`Reached by tests · ${e} file${e===1?"":"s"} within ${t} hop${t===1?"":"s"}`,"symbol.testMissedExhaustive":e=>`No test reaches this within ${e} caller hops`,"symbol.testMissedDirect":"No test calls this directly","symbol.testMissedExhaustiveTitle":"No test file reaches this symbol within the caller hops searched.","symbol.testMissedDirectTitle":"The caller search ran out of budget — only direct callers were checked.","symbol.hub":e=>`hub · ${e} caller${e===1?"":"s"}`,"symbol.hubTitle":"Changing this reaches a lot of the repo","symbol.extends":"extends","symbol.implements":"implements","symbol.extendedBy":"extended by","symbol.implementedBy":"implemented by","symbol.usesTypes":"uses types","symbol.lines":e=>`${e} line${e===1?"":"s"}`,"symbol.in":"in","kind.function":"function","kind.method":"method","kind.class":"class","kind.interface":"interface","kind.struct":"struct","kind.type_alias":"type alias","kind.enum":"enum","kind.enum_member":"enum member","kind.constant":"constant","kind.variable":"variable","kind.property":"property","kind.field":"field","kind.file":"file","kind.route":"route","kind.component":"component","kind.namespace":"namespace","kind.module":"module","kind.trait":"trait","kind.union":"union","kind.protocol":"protocol","kind.parameter":"parameter","kind.import":"import","kind.export":"export","kind.unknown":"symbol","kind.typeAliasShort":"type","symbol.edgeCreates":"creates","symbol.edgeNavigates":"navigates to","symbol.edgePassesValue":"passes as value","symbol.edgeUsesType":"uses type","symbol.edgeImplements":"implements","symbol.edgeSynthesized":"synthesized","symbol.refOutside":e=>`${e} is not in the index — nothing here resolves it`,"symbol.refEdgeTitle":(e,t,n,s)=>`${e} ${t} — ${n}:${s}`,"symbol.refConfidence":e=>` · confidence ${e}`,"symbol.refResolvedBy":e=>` · resolved by ${e}`,deadCodeCaveat:"No static reference in the index — dynamic use is possible.",deadCodeHeadlineNothing:"Nothing on this list.",deadCodeHeadline:(e,t,n,s,o)=>`${t?`${n} of ${e} symbols`:`${e} symbol${e===1?"":"s"}`} in ${s} file${s===1?"":"s"} · ${o} line${o===1?"":"s"}`,deadCodeScale:(e,t)=>`${Number(e).toLocaleString()} symbol${e===1?"":"s"} in this index carry no incoming reference at all; ${Number(t).toLocaleString()} of them were left off this list.`,deadCodeRowMetaLine:e=>`${e} line${e===1?"":"s"}`,deadCodeRowMetaMemberUnreachable:e=>`${e} member${e===1?"":"s"} unreachable with it`,deadCodeGroupMeta:(e,t)=>`${e} symbol${e===1?"":"s"} · ${t} line${t===1?"":"s"}`,deadCodeGroupGenerated:"generated",deadCodeEmptyAllReferenced:"Every symbol in this index is referenced by something. Nothing to show.",deadCodeEmptyExported:e=>`Every one of the ${e} symbols with no incoming reference has a reason to be reachable anyway — see the list of exclusions below.`,deadCodeEmptyDefault:e=>`All ${e} symbols with no incoming reference are either reachable from outside this repository or excluded for the reasons below. Turn on "including exported" to see the ones the index cannot check.`,flowBoundaryLead:"Where the graph stops.",flowBoundaryIntro:e=>`${e} chooses its next call at runtime.`,flowBoundaryLast:e=>`${e} is the last symbol on this path.`,flowBoundaryQuiet:"No dynamic-dispatch site was detected in its body, so nothing here explains the break.",flowBoundaryUncertain:e=>`${e} name-only match${e===1?"":"es"} not followed (confidence < 0.6)`,flowBoundaryFurther:e=>`It makes ${e} further resolved call${e===1?"":"s"} this path does not need.`,flowBoundaryMissed:e=>`Never reaches ${Array.isArray(e)?e.join(", "):e}${Array.isArray(e)&&e.length>1?"…":"."}`,flowBoundarySiteHeadline:(e,t)=>`${e} at line ${t}`,flowBoundarySiteRuntimeKey:"the key is a runtime value",flowBoundarySiteMore:e=>`+${e} more such site${e===1?"":"s"} here`,flowBoundaryCandidateHeading:e=>`${e} candidate target${e===1?"":"s"} ›`,flowBoundaryEndLabel:"end of static path",flowBoundaryLine:e=>`line ${e}`,trailOpensNone:"None of this trail resolves in the current index.",trailOpensRange:(e,t,n)=>`Opens hops ${e}–${t} of ${n}.`,trailNameEmpty:"Give the trail a name.",trailNameTooLong:e=>`That name is too long (max ${e} characters).`,trailMeta:(e,t)=>`${e} hop${e===1?"":"s"}${t?` · ${t}`:""}`,trailDecayMovedRenamed:(e,t)=>`${e} moved or renamed since this was saved — ${t} no longer in the index.`,trailDecayAmbiguous:(e,t)=>`${e} now ${t===1?"names":"name"} more than one symbol — showing the closest match.`,trailDecayMoved:e=>`${e} moved to another file since this was saved.`,trailNameListAnd:(e,t)=>`${e} and ${t} more`,trailTitleSaved:e=>` — saved ${e}`,"trail.statusStillHere":"still here","trail.statusMoved":"moved","trail.statusAmbiguous":"ambiguous","trail.statusMissing":"gone",searchEmpty:"No symbol or file in the index matches that.","palette.flowTitle":"Flow","palette.flowNote":"The call path between them, one card per hop.","palette.flowLocation":"read as a flow","palette.flowHint":(e,t)=>`Reading the path from ${e} to ${t}. Below it, what each name matches.`,"palette.entryNote":"Where a flow starts — routes, files that run something, tests.","palette.routesTitle":"Routes","palette.routesNoteScreen":"A screen of the app.","palette.routesNoteRequest":"A request from outside arrives here.","palette.filesTitle":"Files that run something","palette.filesNote":"Statements at the top level of the file — a CLI, a worker entry, a script.","palette.testsTitle":"Tests","palette.testsNote":"What already exercises this code, widest reach first.","palette.hubsTitle":"Most depended on","palette.hubsNote":"The symbols a change radiates furthest from.",entryEmpty:"This index has no routes, no file that runs anything, no test that reaches outside itself, and nothing depended on yet.","entry.routesTitle":"Routes","entry.routesNoteScreen":"A screen of the app — its path, and the component that renders it.","entry.routesNoteRequest":"A request from outside arrives here — the URL, and the symbol that serves it.","entry.filesTitle":"Top-level files with calls","entry.filesNote":"Statements at the top level of the file — a CLI, a worker entry, a script.","entry.testsTitle":"Tests","entry.testsNote":"What already exercises this code, widest reach first.","entry.hubsTitle":"Most depended on","entry.hubsNote":"Not where the project starts — where a change radiates furthest.","entry.empty":"This index has no routes, no file that runs anything at module level, no test that reaches outside itself, and nothing depended on yet.","entry.notInIndex":"not in the index","entry.registeredAt":e=>`registered at ${e}`,"entry.metaCalls":e=>`${e} call${e===1?"":"s"} at module level`,"entry.metaReaches":e=>`reaches ${e} file${e===1?"":"s"}`,"entry.metaExercises":e=>`exercises ${e} file${e===1?"":"s"}`,"entry.metaDependents":e=>`${e} dependent${e===1?"":"s"}`,"entry.metaReferences":e=>`${e} reference${e===1?"":"s"}`,"entry.nothingImports":"nothing imports it","entry.projectRoot":"project root","entry.countOf":"of","entry.atLeast":"at least","entry.frameworkAnd":"and","entry.originRoute":"route","entry.originFile":"runs at module level","entry.originTest":"test","entry.originHub":"depended on",homeNothingSelected:"Nothing selected",homeSearchHint:"Type a name or search box to begin.",entryTitle:"Entry points",entryCancel:"Cancel",screensTitle:"Screens",mostConnected:"Most connected",flowTitle:"Flow",mapShowing:"Showing",membersTitle:"Members",outlineTitle:"Outline",fileModeOutline:"Outline",fileModeSource:"Source",stepsKeyName:"Name","key.title":"Key","key.startOrder":"Where the picture starts; below it, what it does in the code’s own order","key.startRegions":e=>`Where the picture starts; below it, the parts of the ${e}, each with what happens there`,"key.startTree":"Where the picture starts; each row down is one more step away","key.regionDesc":e=>`A region — the component that owns the boxes under its rule, a box above what it sets in motion. One line from the start into each region stands in for the ${e}’s whole fan-out; every other line draws where it leads`,"key.noLine":"no line","key.noLineDesc":e=>`A box nothing points at is the region’s own doing — run on render or mount, or from a binding written inline. Select it and its line from the ${e} lights, with what fires it`,"key.endpoint":"An endpoint — its verb and path — or a handler: a function a request, a job, an event or a schedule fires; its line says which","key.tierApi":"The code crosses a tier: a call into another service or a job put on a queue (⇢), or a job, an event, a message arriving (⇠)","key.dataCall":"A data call — a function in a store or state file","key.effectDb":"A call that leaves the index: the database, the response, a queue, email, payments, a cache, auth, the network","key.page":"A page, an endpoint, or a handler — a function an event, a request or a page load fires; its line says which","key.tierWeb":"The code crosses to the server (⇢ a request, a server action) or comes back from it (⇠ a push, a stream)","key.storeAction":"A store action — a function in a store file","key.effectApi":"A call that leaves the index: the network, the database, the response, storage, a queue, email","key.screen":"A screen, or a handler — a function fired from a tap, an option, a listener; its line says the event","key.tierNative":"The code crosses into native (⇢ a bridge call) or comes back from it (⇠ an event)","key.effectNative":"A call that leaves the index: the network, storage, the device, telemetry","key.then":"And then — the step at the other end happens after this one; the plumbing between them is folded into the line","key.fork":'A decision both of whose ways are drawn: the box asks the condition once and each line out answers — <span class="mono">yes</span>, <span class="mono">no</span>, a case. An arm that answers or leaves ends there',"key.guard":'A lone guard — an early exit, an <span class="mono">if</span> with one drawn side: what has to hold for the step at the other end. No label = it happens either way',"key.viaHelper":'Written inside a helper drawn where it is called; <span class="mono">later</span> runs after this returns, <span class="mono">together</span> starts at once, <span class="mono">for each</span> repeats',"key.synthHop":"Established by a synthesized hop (an event channel, a callback, a helper’s return value)","key.notEntered":e=>`Not entered: another ${e} (a chapter of its own), or a cap the walk hit — start there to see on`,"key.leadsTo":"Leads to — the plumbing between the two is folded into the line","key.back":"Goes back up the picture — leaves the top of its box, arrives at the bottom of the other","key.forkOnCanvas":'A decision made inside a box, both of whose ways are drawn: the condition is said once under the box and each line out of it answers — <span class="mono">yes</span>, <span class="mono">no</span>, a case. These are the only lines labelled before you select anything',"key.lastCondition":"The last condition checked before the step, beside the box at the other end of the selected step’s line; ← when it arrives there. None = always","key.notEnteredCanvas":"Not entered: another screen (a chapter of its own), or a cap the walk hit — start there to see on","hier.title":"Type hierarchy","hier.hint":"supertypes above · subtypes below","hier.above":e=>`${e} above`,"hier.below":e=>`${e} below`,"hier.via":e=>`via ${e}`,"hier.resolver":"resolver","hier.hiddenBelow":e=>`+${e} below`,"hier.sameFile":"same file","hier.fold":"Fold","hier.more":(e,t)=>`+${e} more ${t}`,"hier.titleWiring":(e,t)=>` — matched by ${e}${t?` at ${t}`:""}`,"members.satisfies":"satisfies","members.overrides":"overrides","members.overrideImplements":e=>`Declares a member ${e} requires — matched by name.`,"members.overrideRedeclares":e=>`Redeclares a member of ${e} — matched by name.`,"members.truncated":(e,t)=>`Showing ${e} of ${t} members — open the file to see the rest.`,"symbol.exported":"exported","rails.calls":"Calls","rails.calledBy":"Called by","rails.stepDown":"step down →","rails.stepUp":"← step up","rails.sameFile":"same file","rails.whenTitle":"The call runs only under this condition — read from the source as it is now","rails.when":"when","rails.via":e=>`via ${e}`,"rails.viaTitle":"A synthesized edge — dynamic dispatch the parser cannot see","rails.openAtLine":(e,t)=>`Open ${e} at line ${t}`,"rails.cameFromHere":"you came from here","rails.topLevel":e=>`${e} (top level)`,"rails.tests":"Tests","rails.testsHint":(e,t)=>` · ${e===1?"1 call":`${e} calls`} from ${t===1?"1 file":`${t} files`}`,"rails.uncertain":"Uncertain","rails.uncertainHint":e=>` · ${e} name-only match${e===1?"":"es"}, confidence < 0.6`,"rails.callersEmpty":e=>`Nothing in the graph calls or references this symbol${e?" — it is exported, so callers may live outside the index (or it is an entry point).":"."}`,"rails.hub":"hub","rails.outsideCalls":(e,t)=>`+${e===1?"1 more call":`${e} more calls`} into symbols outside the index${t?` · ${t}`:""}.`,"rails.outsideTypeRefs":e=>`${e===1?"1 type reference":`${e} type references`} into symbols outside the index.`,"rails.moreCallees":e=>`+${e===1?"1 more callee":`${e} more callees`} not shown.`,"rails.hiddenCallers":e=>`+${e===1?"1 more caller":`${e} more callers`} not shown — this symbol has more than the rail lists.`,"rails.typeReference":e=>`${e===1?"1 type reference":`${e} type references`}`,"blast.title":"Blast radius","blast.direct":e=>`${e} direct dependent${e===1?"":"s"}`,"blast.within":(e,t)=>`${e} within ${t} hop${t===1?"":"s"}`,"blast.files":e=>`${e} file${e===1?"":"s"}`,"blast.testFiles":e=>`${e} test file${e===1?"":"s"}`,"blast.routes":e=>`${e} route${e===1?"":"s"}`,"blast.barTitle":(e,t)=>`Scaled to the widest radius in the index: ${e} symbols within ${t} hops.`,"blast.legend":e=>`dark: direct dependents · light: within ${e} hops — scaled to the widest radius in the index`,"blast.sampled":e=>` (measured across its ${e} most-depended-on symbols)`,"blast.recheck":"What would need re-checking if this changed","blast.moreFiles":e=>`+${e} more files`,"blast.testNote":(e,t)=>`plus ${e===1?"1 call":`${e} calls`} from ${t===1?"1 test file":`${t} test files`} — the tests that would catch a regression.`,"flow.siteKey":"key","outline.sourceOrder":"in source order","outline.lineTitle":(e,t)=>`${e} — line ${t}`,"file.calledFrom":e=>` · called from line ${e}`,"file.importedAt":e=>`imported at line ${e}`,"file.arcTitle":(e,t,n,s)=>`line ${e} calls ${t}, defined ${n} at line ${s}`,"file.above":"above","file.below":"below","file.outsideIndex":"Outside the index","file.outsideNote":"Packages and runtime modules — nothing was indexed for them, so this viewer cannot open them.","file.testFilesEnd":e=>`${e===1?"1 test file":`${e} test files`} at the end of the list.`,"fileMode.aria":"File view mode","map.title":"Architecture map","map.desc":"Derived from the graph, not drawn by hand: each module sits one layer above the modules it depends on, so reading top to bottom follows the dependency direction. Line weight is how many calls, imports and type references cross the link.","map.optionFiles":e=>`${e} file${e===1?"":"s"}`,"map.includeTests":"Include test modules","map.thinLinks":(e,t)=>`${e} link${e===1?"":"s"} carrying fewer than ${t} reference${t===1?"":"s"} ${e===1?"is":"are"} hidden until you select a module ${e===1?"it":"they"} touch.`,"map.layeringDeclared":(e,t)=>`The layering uses the ${e} of ${t} links with an import, a qualified name, an inheritance clause or a typed receiver behind them. Bare name matches still count toward line weight, but they do not decide what sits above what.`,"map.layeringRaw":"Too few links here carry an import or a declared type, so the layering uses raw reference counts. A name shared by two unrelated modules can move a box.","map.excludedUncertain":(e,t)=>`${e} cross-module reference${e===1?"":"s"} below confidence ${t} ${e===1?"is":"are"} excluded from every count on this screen — they are name-only guesses.`,"map.mutual":"Mutual dependencies","map.mutualHint":e=>` · ${e===1?"1 pair":`${e} pairs`} — the lighter direction, dashed when selected`,"map.backRefs":e=>`(${e} back-reference${e===1?"":"s"})`,"map.more":e=>`+${e} more`,"map.cycles":"Dependency cycles","map.cyclesHint":e=>` · ${e===1?"1 loop":`${e} loops`} of three or more modules`,"map.circularImports":"Circular imports between files","map.groups":e=>` · ${e===1?"1 group":`${e} groups`}`,"map.groupFiles":e=>`${e} file${e===1?"":"s"} ·`,"map.moreFilesInGroup":e=>`+${e} more files in this group`,"map.moreGroups":e=>`+${e} more groups`,"map.clear":"clear","map.modStats":(e,t)=>`${e===1?"1 symbol":`${e} symbols`} in ${t===1?"1 file":`${t} files`}`,"map.allGenerated":"all tool-generated","map.nGenerated":e=>`${e} tool-generated`,"map.island":"Nothing in the index depends on this module — no import, call or reference crosses into it. It may be an entry point, or reached in a way the graph cannot see.","map.dependsOn":"depends on","map.dependedOnBy":"depended on by","map.files":"files","map.generatedTitle":e=>`${e} — tool-generated`,"map.noFiles":"no files in the index for this module","map.nothing":"nothing","map.hover":"Hover a link to see what crosses it — the counts by kind and the symbol pairs behind the weight. Click a module to isolate its links and list its files.","file.arcSummaryNone":"No calls in this file reach another symbol in it.","file.arcSummary":e=>`${e} call${e===1?"":"s"} stay${e===1?"s":""} within this file`,"map.islandMeta":"nothing depends on this","map.moduleMeta":(e,t)=>`${e} symbol${e===1?"":"s"} · ${t} file${t===1?"":"s"}`,"map.layerEntry":"entry points","map.layerFoundations":"foundations — depend on nothing below",toastIndexUpdated:"Index updated · reloaded","steps.noCanvasTitle":"This viewer cannot draw steps","steps.noCanvasDesc":"The host it runs in has not wired the steps question. The Screens and Flow views still work.","steps.fromWhereTitle":"What happens from where?","steps.fromHere":"What happens from here","steps.chooserRoutes":e=>`Pick an endpoint and this view draws everything it sets in motion — its handler and what runs before it, the calls into the database, a queue, another service, and every response it can send — one box per step, an arrow for every way one leads to the next, and on each arrow the condition under which it happens. Or search a symbol and choose <i>${e}</i>.`,"steps.chooserScreens":e=>`Pick a screen and this view draws everything it sets in motion — its handlers, the calls that cross into native code, the events that come back, the state it writes, the requests that leave the app — one box per step, an arrow for every way one leads to the next, and on each arrow the condition under which it happens. Or search a symbol and choose <i>${e}</i>.`,"steps.readingScreens":"Reading screens…","steps.readingEndpoints":"Reading endpoints…","steps.noScreensOrEndpoints":e=>`No screens or endpoints in this graph. Open a symbol from the search box and follow <i>${e}</i>, or link here directly with <span class="mono">#/steps?symbol=&lt;name&gt;</span>.`,"steps.readFailedTitle":"The steps could not be read","steps.walking":"Walking from the anchor…","steps.noOrderTitle":"This has no body to read in order","steps.noOrderDesc":"Nothing the picture holds is written inside this symbol — a screen renders handlers that fire on events, and they have no order between them. Read it as what it sets in motion instead.","steps.treeCta":"What it sets in motion →","steps.readAs":"Read as:","steps.tabOrder":"in order","steps.tabTree":"what it sets in motion","steps.wherePictureStarts":"where the picture starts","steps.startHere":"Start here →","steps.openFlow":"Open as a flow →","steps.cutScreen":(e,t)=>`Another ${e} — a chapter of its own. Start here (or double-click its box) to see what happens on it, or continue through ${t} from the summary.`,"steps.cutComponent":"The event lands in a component of another screen — a picture of its own. Start here (or double-click its box) to see it, or continue through screens from the summary.","steps.cutDepth":"The walk was cut at this step (the picture’s depth). Start here to see on.","steps.cutFanOut":"The walk was cut at this step (more calls than the walk follows from one node). Start here to see on.","steps.cutFolded":"The walk was cut at this step (as much plumbing as it folds from one step). Start here to see on.","steps.cutSize":"The walk was cut at this step (the picture’s size). Start here to see on.","steps.effectAnswers":"One way the endpoint answers — each row below is a site that sends it, with the condition it answers under; its other outcomes are the boxes beside it.","steps.effectStatusUnknown":"Replies whose status the code does not spell out — each row below is one, with the condition it answers under.","steps.hiddenConditions":e=>`${e} condition${e===1?"":"s"} not drawn on the picture for want of room — hover a row below to see ${e===1?"it":"each"} on its line.`,"steps.arrivesFrom":"Arrives from","steps.leadsTo":"Leads to","steps.anchorStart":"The anchor — the picture starts here.","steps.nothingLeadsHere":"Nothing in the picture leads here.","steps.outsideIndexLeads":"Outside the index: the graph cannot follow it further.","steps.notEnteredLeads":"Not entered — a boundary. Start here for its own picture, or continue through from the summary.","steps.noLeaves":"Nothing the walk follows leaves this step.","steps.whatHappensFromName":e=>`What happens from <span class="mono">${e}</span>`,"steps.ambiguous":e=>`${e} other symbol${e===1?"":"s"} share this name:`,"steps.ambiguousItem":(e,t)=>`${e} in ${t}`,"steps.summary":(e,t)=>`<b>${e}</b> steps · <b>${t}</b> links · depth `,"steps.continueThrough":e=>`Continue through ${e}`,"steps.boundaryOther":e=>`— otherwise another ${e} is drawn as a boundary, and is a click from being the next anchor.`,"steps.orderIntro":`The anchor is at the top, and each row down is what happens next: a line means <b>and then</b>. Where the code forks both ways, a small box asks the condition once and each line out of it answers — <span class="mono">yes</span>, <span class="mono">no</span>, a case; a lone guard rides its line as <span class="mono">WHEN</span>. A call written inside another call's arguments happens first — the token is signed before the reply that carries it — and an arm that answers, returns or throws simply has nothing leaving it. Click a step for its sites and the whole condition; a step is the next anchor.`,"steps.treeIntro":"The anchor is at the top; each row down is one more step away from it. Click a step and each of its links is labelled at the far end of its line with the last condition checked before it happens; hover the line, or its row here, for the whole chain and the plumbing it travels through. A step is the next anchor, and any link opens as a Flow strip.","steps.notDrawnLead":"Not drawn:","steps.notDrawnSteps":e=>` <b>${e}</b> step${e===1?"":"s"} past the picture’s size limit;`,"steps.notDrawnHubs":e=>` <b>${e}</b> walk${e===1?"":"s"} that reached a hub;`,"steps.notDrawnChrome":e=>` <b>${e}</b> into shared chrome.`,"steps.firesFrom":"FIRES FROM","steps.in":"in","steps.inside":e=>`inside ${e}(…)`,"steps.ways":e=>`${e} ways`,"steps.more":e=>`+${e} more`,"steps.clear":"clear","screens.readFailedTitle":"The screens could not be read","screens.reading":"Reading screens and transitions…","screens.noRoutingTitle":"No screen navigation in this graph","screens.noRoutingDesc":e=>`This view draws the routes a UI framework binds to components and the navigation calls that reach them. The index has ${Number(e)===0?"no routes":"routes"} but no navigation between them — it is not an app with screens, or its router is one CodeGraph does not read yet.`,"screens.originNote":"navigates from outside any screen","screens.whatHappensHere":"What happens here →","screens.opensFrom":"Opens from","screens.noIncomingEntry":"The entry screen — the app starts here.","screens.noIncoming":"Nothing in the graph navigates here.","screens.goesTo":"Goes to","screens.noOutgoing":"No navigation leaves this screen.","screens.summary":(e,t,n)=>`<b>${e}</b> screens · <b>${t}</b> transitions${Number(n)>0?` · <b>${n}</b> triggered outside a screen`:""}.`,"screens.intro":"The entry screen is at the top; each row down is one more transition away from it. Click a screen and each of its transitions is labelled at the far end of its line — beside the screen it leads to or comes from — with the last condition checked before it happens; hover the line, or its row here, for the whole chain and the calls it travels through.","screens.styleLegend":"Solid: the destination is written at the call. Dashed grey: it comes back from a helper's return value (inferred). Dashed accent: a transition back up the picture (returning), drawn around the boxes rather than through them. Dashed box: a trigger that is not a screen — shared chrome, or code no screen's render chain reaches.","screens.unreached":e=>`<b>${e}</b> screen${e===1?"":"s"} in the band at the bottom: no transition in the graph reaches ${e===1?"it":"them"} from the entry — opened by something the graph cannot see (a layout's initial route, a deep link), or unused.`,"screens.dropped":e=>`${e} navigation${e===1?"":"s"} could not be attributed: the walk back to a screen hit a hub.`,"screens.legendTransition":"Transition — the destination is written at the call","screens.legendInferred":"Destination inferred from a helper's return value","screens.legendBack":"Goes back up the picture (returning) — leaves the top of its box, arrives at the bottom of the other","screens.legendCondition":"The last condition checked before the transition, beside the screen at the other end of the selected screen's line; ← when it arrives there. None = always","screens.legendScreen":"A screen — its path and the component that renders it","screens.legendEntry":"The entry screen; each row down is one more transition away","screens.legendOrigin":"Not a screen: shared chrome, or a trigger no screen reaches — a row above what it opens","screens.legendUnreached":"Nothing reaches it from the entry (bottom band)",loading:"Loading…","home.startHint":e=>`Search for a symbol or a file to start reading${e?` in ${e}`:""}. Press <code>/</code> to focus the search box.`,"home.howToRead":"Every symbol you open shows who calls it on the left, its verbatim source in the middle, and what it calls on the right — each callee lined up with the line that makes the call.","home.whereToStart":"Where to start","home.allEntryPoints":"All entry points ›","map.buildFailed":"The map could not be built","map.aggregating":"Aggregating the graph by module…","map.nothingTitle":"Nothing to draw here","map.emptyRootTests":"No indexed files sit under this root. Pick another root on the right.","map.emptyRootNoTests":"No indexed files sit under this root, or every module under it is test code. Pick another root on the right.","map.nEdges":e=>`${e} edges`,"map.declaredThrough":e=>`${e} through an import or a declared type`,"flow.pathAria":"Which path to draw","flow.nHops":e=>` · ${e} hops`,"flow.allPaths":e=>`All ${e} paths`,"flow.noteTrail":"Your trail, read as a flow: each card is opened at the line that carried you to the next one.","flow.noteNoPath":"No static path connects them. The card is where the looking stopped — a call whose target is chosen at runtime — and the cap names the form, the key and who could be on the other side.","flow.noteDirected":"Every card is a call the graph recorded. A dashed link is a hop no one can see in the source — a callback, an interface, a re-render — and it names where it was wired.","flow.noteNamed":"The longest call path among the symbols you named, the same one codegraph_explore leads with.","flow.buildFailed":"The flow could not be built","flow.following":"Following the calls…","flow.nothingTitle":"Nothing to follow yet","flow.nothingDesc":'Ask for a path in the search box — “how does execute reach getFile”, or <span class="mono">execute -&gt; getFile</span> — or walk a trail and read it as a flow.',"flow.noPathTitle":"No path between them","flow.asked":(e,t)=>`Asked: <span class="mono">${e}</span> to <span class="mono">${t}</span>.`,"flow.ambDefs":(e,t)=>`<span class="mono">${e}</span> names ${t} definitions.`,"flow.ambRunsThrough":e=>`This path runs through the one in <span class="mono">${e}</span>.`,"flow.ambNone":"None of them are on this path.","flow.ambUnresolved":e=>`<span class="mono">${e}</span> names nothing in this index.`,"entry.heading":e=>`Where a flow starts${e?` in ${e}`:""} — every list below is read out of the graph, not guessed from a filename. Open a row to read the code, or use <span class="chiplike">Flow ›</span> to draw the path from it to a second symbol.`,"entry.armGroupAria":"Draw a flow","entry.reachesPlaceholder":"a symbol it reaches","entry.armedAria":e=>`The symbol ${e} should reach`,"entry.drawFlow":"Draw the flow","entry.armHint":'or pick the other end with <span class="chiplike">→ here</span>',"entry.readFailed":e=>`Could not read the entry points — ${e}`,"deadCode.listReadFailed":"The list could not be read.","deadCode.moreMembers":e=>`+${e} more`,"file.notFoundTitle":"Not in the index","file.loadFailed":"Could not load this file","file.importedBy":"Imported by","file.importedByEmpty":"Nothing in the index reaches into this file. It is either an entry point, or nothing depends on it yet.","file.importsTitle":"Imports","file.importsEmpty":"This file reaches nothing else in the index — it depends on nothing the graph holds.","file.runsTopLevel":e=>`Runs ${e} call${e===1?"":"s"} at the top level —`,"file.seeCalls":"see what it calls","file.generated":"generated","file.testLabel":"test","file.extractionErrors":e=>`${e} extraction error${e===1?"":"s"} — the outline may be incomplete`,"file.driftOutline":"indexed line ranges may be shifted, so the outline below is the shape the file had when it was indexed —","file.driftReadCurrent":"read its current source","file.driftNextSync":" The next sync picks it up.","file.driftCode":"indexed line ranges may be shifted; showing the file's current source, with the call arcs, ports and rail switched off — they are drawn from lines this file no longer has. The next sync picks it up.","file.unreadableDisk":"it could not be read from disk.","file.lengthUnknown":"length unknown","file.nLines":e=>`${e} line${e===1?"":"s"}`,"file.nSymbols":e=>`${e} symbol${e===1?"":"s"}`,"file.arcCrowd":"— showing the ones the symbol under the pointer takes part in","file.railPairTitle":"One row per pair: a symbol in this file, and a symbol it reaches.","file.callsShowing":e=>` · showing ${e}`,"file.outsideRefs":e=>` · ${e} reference${e===1?"":"s"} outside the index`,"file.sourceUnavailable":"Source is not available for this file.","symbol.notFoundTitle":"No such symbol","symbol.loadFailed":"Could not load this symbol","symbol.emptyCalleeNoBody":e=>`A ${e} makes no calls itself — its members do. Open one from the outline.`,"symbol.emptyCalleeLeaf":"This symbol makes no resolved calls — a leaf.","symbol.sourceUnavailable":"Source is not available for this symbol.","symbol.driftTooLong":"indexed line ranges may be shifted, and the file is too long to stand in for this symbol's body here —","symbol.driftOpen":"open its current source","symbol.driftNext":" The next sync picks it up.","symbol.driftShort":"indexed line ranges may be shifted; showing the file's current source. The next sync picks it up.","flowCard.sourceDrift":"Changed on disk after the last index sync — source is not shown.","flowCard.sourceUnavailable":"Source outside this slice or this index.","fork.title":"The code forks here; each line out is one arm.","fork.titleWith":e=>`${e} — the code forks here; each line out is one arm.`,"entry.flowFrom":"Flow ›","entry.flowCancel":"Cancel","entry.flowHere":"→ here","entry.flowStartTitle":e=>`Start a flow from ${e}`,"entry.flowStopTitle":"Stop drawing a flow from here","entry.flowEndTitle":e=>`Draw the path that ends at ${e}`,"entry.truncatedNote":(e,t,n)=>`Showing ${e} of ${t?"at least ":""}${n} — the rest are in the index, not on this list.`,"palette.ariaResults":"Search results","nav.homeAria":"CodeGraph home","nav.viewsAria":"Views"},Z_={"nav.screens":"屏幕","nav.steps":"步骤","nav.entry":"入口","nav.map":"地图","nav.symbol":"符号","nav.flow":"流程","nav.deadCode":"死代码","nav.project":"已索引的项目","nav.switchToEn":"切换到英文","nav.switchToZh":"切换到中文","live.off":"实时更新已关闭","live.offTitle":e=>`${e} 本页面不再自动刷新——请在同步后刷新页面。`,"live.disconnected":"未连接","live.disconnectedTitle":"与 CodeGraph UI 的连接已断开,停止重试。聚焦此标签页重试,或刷新页面。","trail.label":"轨迹","trail.saveBtn":"保存","trail.empty":"向右进入调用,或向上到达调用者——轨迹会记录路径。","trail.hopUp":"上移至调用者","trail.hopDown":"下移至调用","trail.hopJump":"跳转至此","trail.readAsFlow":"以流程查看","trail.save":"保存轨迹","trail.clear":"清除","trail.saveFormLabel":"命名此轨迹","trail.savePlaceholder":"请求如何到达处理器","trail.saving":"正在保存…","trail.replace":"替换","trail.cancel":"取消","trail.saveSuccess":e=>`轨迹已保存 · ${String(e).trim()}`,"trail.replaceSuccess":e=>`轨迹已替换 · ${String(e).trim()}`,"trail.replacesHint":"将替换同名的已保存轨迹。","trail.savedHint":(e,t)=>`${e} 步 · 已保存到 ${t}`,"trail.stepsHint":e=>`${e} 步`,"trail.searchHint":e=>`${e} 步`,"export.copyImage":"复制图片","export.rendering":"正在渲染…","export.downloadSvg":"下载 SVG","export.copied":"图片已复制 · 粘贴到评论中","export.clipboardFallback":"剪贴板不可用 · 图片已保存","export.imageFail":"无法生成图片。","export.svgSaved":"SVG 已保存","export.saveFail":"无法保存文件。","trails.title":"已保存的轨迹","trails.loading":"正在读取已保存的轨迹…","trails.empty":"还没有保存的轨迹。在代码中走一遍路径,然后按轨迹栏上的 <strong>保存轨迹</strong> 保存。","trails.onlyFirst":"仅列出目录中的前几条轨迹。","trails.export":"导出","trails.delete":"删除","trails.deleteConfirm":"删除?","search.placeholder":'搜索符号或文件,或输入 "execute 如何到达 getFile"——按 / 聚焦',"search.label":"搜索符号和文件","search.searching":"正在搜索…",paletteSearching:"正在搜索…",drift:e=>`<code>${e}</code> 在上次索引同步后已更改——`,"notfound.title":"页面不存在","notfound.msg":e=>`<span class="mono">#${e}</span> 不是一个有效视图。请尝试 <a class="mono link" href="#/">首页</a>。`,"deadCode.title":"死代码","deadCode.desc":"索引中没有任何导入、调用或引用触及的符号,按数量从大到小排列。下方列出的是图形所能看到的;列表下方的说明是它看不到的。","deadCode.toggleExported":"含导出","deadCode.toggleInternal":"仅内部","deadCode.toggleTitleExported":"回到只显示仓库内任何代码都不可导入的符号","deadCode.toggleTitleInternal":"同时列出仓库外部代码可导入的符号——索引无法确认这些","deadCode.readFailed":e=>`无法读取列表——${e}`,"deadCode.loading":"正在读取图形…","deadCode.exportedWarning":"已导出的符号也在列表中。本仓库中没有任何代码引用它们,但外部可以——发布的包、其他服务或脚本都可能使用。在相信你看到的内容之前,请逐个查阅。","deadCode.notCorroborated":"这些行未与可以触及它们的文件文本进行核对,因此提取器未记录的引用不会被捕获。","deadCode.bounded":"扫描在限制处停止——此索引包含的未被引用的符号多于已检查的数量。","deadCode.truncated":(e,t)=>`显示 ${e} / ${t} 个——其余在索引中,不在此列表上。`,"symbol.testReached":(e,t)=>`被测试覆盖 · ${e} 个文件 · ${t} 跳以内`,"symbol.testMissedExhaustive":e=>`${e} 跳内无测试触及`,"symbol.testMissedDirect":"无测试直接调用","symbol.testMissedExhaustiveTitle":"在搜索范围内,没有测试文件触及该符号。","symbol.testMissedDirectTitle":"调用搜索已达上限,仅检查了直接调用者。","symbol.hub":e=>`枢纽 · ${e} 调用者`,"symbol.hubTitle":"修改此项会影响仓库中大量代码","symbol.extends":"继承","symbol.implements":"实现","symbol.extendedBy":"被继承","symbol.implementedBy":"被实现","symbol.usesTypes":"使用类型","symbol.lines":e=>`${e} 行`,"symbol.in":"位于","kind.function":"函数","kind.method":"方法","kind.class":"类","kind.interface":"接口","kind.struct":"结构体","kind.type_alias":"类型别名","kind.enum":"枚举","kind.enum_member":"枚举成员","kind.constant":"常量","kind.variable":"变量","kind.property":"属性","kind.field":"字段","kind.file":"文件","kind.route":"路由","kind.component":"组件","kind.namespace":"命名空间","kind.module":"模块","kind.trait":"特质","kind.union":"联合","kind.protocol":"协议","kind.parameter":"参数","kind.import":"导入","kind.export":"导出","kind.unknown":"符号","kind.typeAliasShort":"类型","symbol.edgeCreates":"创建","symbol.edgeNavigates":"导航至","symbol.edgePassesValue":"作为值传递","symbol.edgeUsesType":"使用类型","symbol.edgeImplements":"实现","symbol.edgeSynthesized":"合成","symbol.refOutside":e=>`${e} 不在索引中——此处无法解析`,"symbol.refEdgeTitle":(e,t,n,s)=>`${e} ${t} — ${n}:${s}`,"symbol.refConfidence":e=>` · 置信度 ${e}`,"symbol.refResolvedBy":e=>` · 由 ${e} 解析`,deadCodeCaveat:"索引中无静态引用——动态使用是可能的。",deadCodeHeadlineNothing:"列表为空。",deadCodeHeadline:(e,t,n,s,o)=>`${t?`${n}/${e}`:e} 个符号 · ${s} 个文件 · ${o} 行`,deadCodeScale:(e,t)=>`索引中 ${Number(e).toLocaleString()} 个符号没有任何传入引用;其中 ${Number(t).toLocaleString()} 个被排除在此列表之外。`,deadCodeRowMetaLine:e=>`${e} 行`,deadCodeRowMetaMemberUnreachable:e=>`${e} 个成员随其不可达`,deadCodeGroupMeta:(e,t)=>`${e} 个符号 · ${t} 行`,deadCodeGroupGenerated:"生成代码",deadCodeEmptyAllReferenced:"索引中所有符号均有引用,无可显示内容。",deadCodeEmptyExported:e=>`${e} 个无调用符号均可达——详见下方的排除理由列表。`,deadCodeEmptyDefault:e=>`${e} 个无调用符号中,部分来自仓库外部可访问,其余因以下原因被排除。开启"含导出"可查看索引无法确认的部分。`,flowBoundaryLead:"图形在此停止。",flowBoundaryIntro:e=>`${e} 在运行时选择下一个调用。`,flowBoundaryLast:e=>`${e} 是该路径上的最后一个符号。`,flowBoundaryQuiet:"未检测到动态分发站点,此处无法解释该断裂。",flowBoundaryUncertain:e=>`${e} 个仅凭名称的匹配项未追踪(置信度 < 0.6)`,flowBoundaryFurther:e=>`本路径未需要的额外解析调用:${e}`,flowBoundaryMissed:e=>`从未到达 ${Array.isArray(e)?e.join("、"):e}${Array.isArray(e)&&e.length>1?"…":"。"}`,flowBoundarySiteHeadline:(e,t)=>`${e} · 第 ${t} 行`,flowBoundarySiteRuntimeKey:"键是运行时值",flowBoundarySiteMore:e=>`此处还有 ${e} 个此类站点`,flowBoundaryCandidateHeading:e=>`${e} 个候选目标 ›`,flowBoundaryEndLabel:"静态路径的终点",flowBoundaryLine:e=>`第 ${e} 行`,trailOpensNone:"该轨迹在当前索引中无法解析。",trailOpensRange:(e,t,n)=>`可打开第 ${e}–${t} 步,共 ${n} 步。`,trailNameEmpty:"请为轨迹命名。",trailNameTooLong:e=>`名称过长(最多 ${e} 个字符)。`,trailMeta:(e,t)=>`${e} 步${t?` · ${t}`:""}`,trailDecayMovedRenamed:(e,t)=>`保存后 ${e} 已移动或重命名——${t} 已不在索引中。`,trailDecayAmbiguous:(e,t)=>`${e} 现在匹配到多个符号——显示最接近的匹配。`,trailDecayMoved:e=>`${e} 自保存以来已移至另一个文件。`,trailNameListAnd:(e,t)=>`${e} 等 ${t} 个`,trailTitleSaved:e=>` — 保存于 ${e}`,"trail.statusStillHere":"仍在此处","trail.statusMoved":"已移动","trail.statusAmbiguous":"有歧义","trail.statusMissing":"已消失",searchEmpty:"索引中无匹配该条件的符号或文件。","palette.flowTitle":"流程","palette.flowNote":"两者之间的调用路径,每跳一张卡片。","palette.flowLocation":"以流程阅读","palette.flowHint":(e,t)=>`正在阅读从 ${e} 到 ${t} 的路径。下方是每个名称的匹配项。`,"palette.entryNote":"流程的起点——路由、运行代码的文件、测试。","palette.routesTitle":"路由","palette.routesNoteScreen":"应用的一个界面。","palette.routesNoteRequest":"来自外部的请求在此到达。","palette.filesTitle":"运行某些代码的文件","palette.filesNote":"文件顶层的语句——CLI、工作进程入口、脚本。","palette.testsTitle":"测试","palette.testsNote":"已覆盖此代码的内容,按影响范围从大到小。","palette.hubsTitle":"被依赖最多","palette.hubsNote":"变更影响最远的符号。",entryEmpty:"此索引没有路由、没有运行模块级别代码的文件、没有触及外部的测试,也没有被依赖的代码。","entry.routesTitle":"路由","entry.routesNoteScreen":"应用的一个界面——其路径及渲染它的组件。","entry.routesNoteRequest":"来自外部的请求在此到达——URL 及为其服务的符号。","entry.filesTitle":"带调用的顶层文件","entry.filesNote":"文件顶层的语句——CLI、工作进程入口、脚本。","entry.testsTitle":"测试","entry.testsNote":"已覆盖此代码的内容,按影响范围从大到小。","entry.hubsTitle":"被依赖最多","entry.hubsNote":"不是项目起点——而是变更影响最远的地方。","entry.empty":"此索引没有路由、没有运行模块级代码的文件、没有触及外部的测试,也没有被依赖的代码。","entry.notInIndex":"不在索引中","entry.registeredAt":e=>`注册于 ${e}`,"entry.metaCalls":e=>`${e} 个模块级调用`,"entry.metaReaches":e=>`覆盖 ${e} 个文件`,"entry.metaExercises":e=>`覆盖 ${e} 个文件`,"entry.metaDependents":e=>`${e} 个依赖者`,"entry.metaReferences":e=>`${e} 个引用`,"entry.nothingImports":"没有导入它","entry.projectRoot":"项目根目录","entry.countOf":"/","entry.atLeast":"至少","entry.frameworkAnd":"和","entry.originRoute":"路由","entry.originFile":"在模块级运行","entry.originTest":"测试","entry.originHub":"被依赖",homeNothingSelected:"未选择任何内容",homeSearchHint:"输入名称或搜索框以开始。",entryTitle:"入口",entryCancel:"取消",screensTitle:"屏幕",mostConnected:"连接最多",flowTitle:"流程",mapShowing:"显示中",membersTitle:"成员",outlineTitle:"大纲",fileModeOutline:"大纲",fileModeSource:"源码",stepsKeyName:"名称","key.title":"图例","key.startOrder":"图片从哪里开始;下方按其代码自身的顺序说明它所做的事","key.startRegions":e=>`图片从哪里开始;下方是${e}的各个部分,并注明每处发生了什么`,"key.startTree":"图片从哪里开始;每往下一行就离得更远一步","key.regionDesc":e=>`区域——拥有其规则下各方块的组件,上方的方块代表它所触发的内容。从起点到每个区域的一条线代表整个${e}的分支扇出;其余每条线都画出它所通向的地方`,"key.noLine":"无线","key.noLineDesc":e=>`没有线条指向的方块是该区域自身的动作——在渲染或挂载时运行,或由内联编写的绑定触发。选中它后,它在${e}中的线条与触发原因会亮起`,"key.endpoint":"端点——它的方法和路径——或处理器:由请求、任务、事件或计划触发的函数;其线条注明是哪种","key.tierApi":"代码跨越层级:调用另一服务或向队列放入任务(⇢),或任务、事件、消息到达(⇠)","key.dataCall":"数据调用——存储或状态文件中的函数","key.effectDb":"离开索引的调用:数据库、响应、队列、邮件、支付、缓存、认证、网络","key.page":"页面、端点或处理器——由事件、请求或页面加载触发的函数;其线条注明是哪种","key.tierWeb":"代码跨越到服务器(⇢ 请求、服务器操作),或从服务器返回(⇠ 推送、流)","key.storeAction":"存储操作——存储文件中的函数","key.effectApi":"离开索引的调用:网络、数据库、响应、存储、队列、邮件","key.screen":"界面或处理器——由点击、选项或监听器触发的函数;其线条注明事件","key.tierNative":"代码跨越到原生(⇢ 桥接调用),或从原生返回(⇠ 事件)","key.effectNative":"离开索引的调用:网络、存储、设备、遥测","key.then":"接下来——另一端的步骤在此步骤之后发生;两者之间的管道被折叠进线条","key.fork":'两个方向都被画出的决策:方块只判断一次条件,每条向外的线给出答案——<span class="mono">是</span>、<span class="mono">否</span>或某个分支。给出答案或离开的臂在此结束',"key.guard":'孤立守卫——提前退出,或只画出一侧的 <span class="mono">if</span>:另一端步骤成立所需的条件。无标签 = 无论如何都会发生',"key.viaHelper":'写在辅助函数内部,并在调用处画出;<span class="mono">later</span> 在此返回后运行,<span class="mono">together</span> 立即开始,<span class="mono">for each</span> 重复执行',"key.synthHop":"由合成的跳转建立(事件通道、回调、辅助函数的返回值)","key.notEntered":e=>`未进入:另一个${e}(独立的一章),或漫游到达的上限——从那里开始以继续查看`,"key.leadsTo":"通向——两者之间的管道被折叠进线条","key.back":"沿图片向上返回——从方块的顶部离开,到达另一个方块的底部","key.forkOnCanvas":'在方块内部做出的决策,两个方向都被画出:条件在方块下方只声明一次,每条向外的线给出答案——<span class="mono">是</span>、<span class="mono">否</span>或某个分支。这些是选中任何内容之前唯一被标注的线条',"key.lastCondition":"步骤之前检查的最后一个条件,位于选中步骤线条另一端方块旁;← 表示到达该处时。无 = 始终发生","key.notEnteredCanvas":"未进入:另一个界面(独立的一章),或漫游到达的上限——从那里开始以继续查看","hier.title":"类型层级","hier.hint":"上方为父类型 · 下方为子类型","hier.above":e=>`上方 ${e} 个`,"hier.below":e=>`下方 ${e} 个`,"hier.via":e=>`经由 ${e}`,"hier.resolver":"解析器","hier.hiddenBelow":e=>`下方还有 ${e} 个`,"hier.sameFile":"同一文件","hier.fold":"折叠","hier.more":(e,t)=>`还有 ${e} 个${t}`,"hier.titleWiring":(e,t)=>` — 按名称与 ${e} 匹配${t?`,注册于 ${t}`:""}`,"members.satisfies":"满足","members.overrides":"覆写","members.overrideImplements":e=>`声明 ${e} 所需的成员——按名称匹配。`,"members.overrideRedeclares":e=>`重新声明 ${e} 的成员——按名称匹配。`,"members.truncated":(e,t)=>`显示 ${e} / ${t} 个成员——打开文件查看其余部分。`,"symbol.exported":"已导出","rails.calls":"调用","rails.calledBy":"被调用","rails.stepDown":"向下进入 →","rails.stepUp":"← 向上返回","rails.sameFile":"同一文件","rails.whenTitle":"该调用仅在满足此条件时运行——依据当前源码判断","rails.when":"当","rails.via":e=>`经由 ${e}`,"rails.viaTitle":"合成的边——解析器无法看到的动态分发","rails.openAtLine":(e,t)=>`在第 ${t} 行打开 ${e}`,"rails.cameFromHere":"你从这里的调用而来","rails.topLevel":e=>`${e}(顶层)`,"rails.tests":"测试","rails.testsHint":(e,t)=>` · ${e===1?"1 个调用":`${e} 个调用`}来自 ${t===1?"1 个文件":`${t} 个文件`}`,"rails.uncertain":"不确定","rails.uncertainHint":e=>` · ${e} 个仅凭名称的匹配项,置信度 < 0.6`,"rails.callersEmpty":e=>`图中没有任何内容调用或引用此符号${e?"——它已导出,调用方可能位于索引之外(或者它是入口)。":"。"}`,"rails.hub":"枢纽","rails.outsideCalls":(e,t)=>`另有 ${e===1?"1 个调用":`${e} 个调用`}指向索引之外的符号${t?` · ${t}`:""}。`,"rails.outsideTypeRefs":e=>`${e===1?"1 个类型引用":`${e} 个类型引用`}指向索引之外的符号。`,"rails.moreCallees":e=>`另有 ${e===1?"1 个被调用者":`${e} 个被调用者`}未显示。`,"rails.hiddenCallers":e=>`另有 ${e===1?"1 个调用者":`${e} 个调用者`}未显示——此符号的调用者多于轨道所列。`,"rails.typeReference":e=>`${e===1?"1 个类型引用":`${e} 个类型引用`}`,"blast.title":"影响范围","blast.direct":e=>`${e} 个直接依赖者`,"blast.within":(e,t)=>`${t} 跳内 ${e} 个`,"blast.files":e=>`${e} 个文件`,"blast.testFiles":e=>`${e} 个测试文件`,"blast.routes":e=>`${e} 个路由`,"blast.barTitle":(e,t)=>`按索引中最大的影响范围缩放:${t} 跳内 ${e} 个符号。`,"blast.legend":e=>`深色:直接依赖者 · 浅色:${e} 跳以内——按索引中最大的影响范围缩放`,"blast.sampled":e=>`(按其中 ${e} 个被依赖最多的符号测量)`,"blast.recheck":"此内容变更时需要重新检查的内容","blast.moreFiles":e=>`另有 ${e} 个文件`,"blast.testNote":(e,t)=>`另有来自 ${t===1?"1 个测试文件":`${t} 个测试文件`}的 ${e===1?"1 个调用":`${e} 个调用`}——这些测试会捕获回归。`,"flow.siteKey":"键","outline.sourceOrder":"按源码顺序","outline.lineTitle":(e,t)=>`${e} — 第 ${t} 行`,"file.calledFrom":e=>` · 调用自第 ${e} 行`,"file.importedAt":e=>`导入自第 ${e} 行`,"file.arcTitle":(e,t,n,s)=>`第 ${e} 行调用 ${t},定义在${n}第 ${s} 行`,"file.above":"上方","file.below":"下方","file.outsideIndex":"索引之外","file.outsideNote":"包和运行时模块——索引未收录它们,因此本查看器无法打开。","file.testFilesEnd":e=>`${e===1?"1 个测试文件":`${e} 个测试文件`}位于列表末尾。`,"fileMode.aria":"文件视图模式","map.title":"架构图","map.desc":"由关系图派生,而非手工绘制:每个模块位于它所依赖模块上方一层,因此自上而下阅读即依赖方向。线条粗细表示跨越该连接的调用、导入与类型引用数量。","map.optionFiles":e=>`${e} 个文件`,"map.includeTests":"包含测试模块","map.thinLinks":(e,t)=>`承载少于 ${t} 个引用的 ${e} 条连接会被隐藏,直到你选中它们所触及的模块。`,"map.layeringDeclared":(e,t)=>`分层使用了 ${t} 条连接中的 ${e} 条——这些连接背后有导入、限定名、继承子句或类型化接收者。仅凭名称的匹配仍计入线条粗细,但不会决定谁在上谁在下。`,"map.layeringRaw":"这里的连接大多没有导入或声明类型,因此分层使用原始引用计数。两个无关模块共用名称可能使方块移动。","map.excludedUncertain":(e,t)=>`置信度低于 ${t} 的 ${e} 条跨模块引用不计入本屏所有统计——它们只是名称猜测。`,"map.mutual":"相互依赖","map.mutualHint":e=>` · ${e===1?"1 对":`${e} 对`}——较轻的方向选中后以虚线显示`,"map.backRefs":e=>`(${e} 个反向引用)`,"map.more":e=>`还有 ${e} 个`,"map.cycles":"依赖环","map.cyclesHint":e=>` · 三个及以上模块构成的 ${e===1?"1 个环":`${e} 个环`}`,"map.circularImports":"文件间的循环导入","map.groups":e=>` · ${e===1?"1 组":`${e} 组`}`,"map.groupFiles":e=>`${e} 个文件 ·`,"map.moreFilesInGroup":e=>`该组另有 ${e} 个文件`,"map.moreGroups":e=>`另有 ${e} 组`,"map.clear":"清除","map.modStats":(e,t)=>`${e===1?"1 个符号":`${e} 个符号`}位于 ${t===1?"1 个文件":`${t} 个文件`}`,"map.allGenerated":"全部为工具生成","map.nGenerated":e=>`${e} 个为工具生成`,"map.island":"索引中没有任何内容依赖此模块——没有导入、调用或引用进入它。它可能是入口,或通过图无法看到的方式被触及。","map.dependsOn":"依赖","map.dependedOnBy":"被依赖","map.files":"文件","map.generatedTitle":e=>`${e} — 工具生成`,"map.noFiles":"索引中此模块没有文件","map.nothing":"无","map.hover":"悬停连接查看跨越它的内容——按种类统计及线条粗细背后的符号对。点击模块以隔离其连接并列出其文件。","file.arcSummaryNone":"此文件中的调用未触及文件内的其他符号。","file.arcSummary":e=>`${e} 个调用留在本文件内`,"map.islandMeta":"无依赖此模块","map.moduleMeta":(e,t)=>`${e} 个符号 · ${t} 个文件`,"map.layerEntry":"入口","map.layerFoundations":"基础——不依赖下方任何内容",toastIndexUpdated:"索引已更新 · 已重新加载","steps.noCanvasTitle":"此查看器无法绘制步骤图","steps.noCanvasDesc":"运行它的主机尚未接入 steps 查询能力。Screens 与 Flow 视图仍然可用。","steps.fromWhereTitle":"从哪里会发生什么?","steps.fromHere":"从这里会发生什么","steps.chooserRoutes":e=>`选择一个端点,此视图将绘制它引发的一切——它的处理器与在其之前运行的逻辑、对数据库的调用、队列、另一项服务,以及它能发送的每个响应——每个步骤一个方框,从一步通向下一步的每条路径都有一条箭头,每条箭头上标注发生该路径所依赖的条件。或者搜索符号并选择 <i>${e}</i>。`,"steps.chooserScreens":e=>`选择一个界面,此视图将绘制它引发的一切——它的处理器、跨入原生代码的调用、返回的事件、它写入的状态、离开应用的请求——每个步骤一个方框,从一步通向下一步的每条路径都有一条箭头,每条箭头上标注发生该路径所依赖的条件。或者搜索符号并选择 <i>${e}</i>。`,"steps.readingScreens":"正在读取屏幕…","steps.readingEndpoints":"正在读取端点…","steps.noScreensOrEndpoints":e=>`此图中没有屏幕或端点。请从搜索框打开某个符号并选择 <i>${e}</i>,或使用 <span class="mono">#/steps?symbol=&lt;name&gt;</span> 直接链接至此。`,"steps.readFailedTitle":"无法读取步骤","steps.walking":"正在从锚点出发遍历…","steps.noOrderTitle":"此符号没有可按顺序阅读的函数体","steps.noOrderDesc":"图片中呈现的内容都没有写在这个符号内部——界面渲染的处理器由事件触发,它们之间没有先后顺序。不如改按它引发的效果来阅读。","steps.treeCta":"按它引发的效果查看 →","steps.readAs":"阅读方式:","steps.tabOrder":"按顺序","steps.tabTree":"按引发的效果","steps.wherePictureStarts":"图片从这里开始","steps.startHere":"从这里开始 →","steps.openFlow":"以流程打开 →","steps.cutScreen":(e,t)=>`另一个 ${e}——它是独立的一章。从这里开始(或双击它的方框)可查看其上发生的事,或从摘要中继续进入 ${t}。`,"steps.cutComponent":"事件落在另一个界面的组件中——它自成一图。从这里开始(或双击它的方框)可查看它,或从摘要中继续进入各界面。","steps.cutDepth":"遍历在此步骤被截断(到达图片的深度上限)。从这里开始继续查看。","steps.cutFanOut":"遍历在此步骤被截断(从一个节点出发的调用超过了遍历跟随的数量)。从这里开始继续查看。","steps.cutFolded":"遍历在此步骤被截断(从一个步骤折叠的管道达到上限)。从这里开始继续查看。","steps.cutSize":"遍历在此步骤被截断(达到图片的规模上限)。从这里开始继续查看。","steps.effectAnswers":"端点的一种应答方式——下面的每一行都是发出该应答的调用点及其应答所依赖的条件;它的其他结果就是旁边的那些方框。","steps.effectStatusUnknown":"代码没有写明状态码的应答——下面的每一行就是其中一条,以及它应答所依赖的条件。","steps.hiddenConditions":e=>`${e} 个条件因版面没有空间而未画在图上——将鼠标悬停到下面的某一行,即可在其线条上查看${e===1?"它":"每一条"}。`,"steps.arrivesFrom":"来自","steps.leadsTo":"通向","steps.anchorStart":"锚点——图片从这里开始。","steps.nothingLeadsHere":"图片中没有通向这里的内容。","steps.outsideIndexLeads":"在索引之外:图形无法继续追踪它。","steps.notEnteredLeads":"未进入——它是一个边界。从这里开始可查看它自己的图,或从摘要中继续深入。","steps.noLeaves":"遍历跟随的内容都没有离开此步骤。","steps.whatHappensFromName":e=>`从 <span class="mono">${e}</span> 开始会发生什么`,"steps.ambiguous":e=>`另有 ${e} 个其他符号与此同名:`,"steps.ambiguousItem":(e,t)=>`在 ${t} 中的 ${e}`,"steps.summary":(e,t)=>`<b>${e}</b> 个步骤 · <b>${t}</b> 条连接 · 深度 `,"steps.continueThrough":e=>`继续深入 ${e}`,"steps.boundaryOther":e=>`——否则,另一个 ${e} 会作为边界绘制,只需一次点击即可成为下一个锚点。`,"steps.orderIntro":'锚点位于顶部,向下每一行都是接下来会发生的事:一条线表示<b>然后</b>。在代码同时向两边分叉之处,一个小方框只把条件询问一次,从它出去的每条线各自作答——<span class="mono">是</span>、<span class="mono">否</span>,或某个分支;孤立的守卫以 <span class="mono">WHEN</span> 标注在它自己的线上。写在另一个调用的实参内部的调用会先发生——令牌在携带它的应答之前就已签名——而作答、返回或抛出的分支则没有任何引出。点击某个步骤可查看它的调用点与完整条件;任何步骤都可成为下一个锚点。',"steps.treeIntro":"锚点位于顶部;每向下一行就离它更远一步。点击某个步骤后,它的每条链接都会在线条远端标出发生前检查的最后一个条件;将鼠标悬停在线条上,或悬停在此处的对应行上,可查看整条条件链与它经过的管道。任何步骤都可成为下一个锚点,任何链接也都可以作为流程条打开。","steps.notDrawnLead":"未绘制:","steps.notDrawnSteps":e=>` <b>${e}</b> 个步骤超过图片规模上限;`,"steps.notDrawnHubs":e=>` <b>${e}</b> 次遍历到达了枢纽;`,"steps.notDrawnChrome":e=>` <b>${e}</b> 个进入共享界面外壳。`,"steps.firesFrom":"触发自","steps.in":"于","steps.inside":e=>`在 ${e}(…) 中`,"steps.ways":e=>`${e} 种方式`,"steps.more":e=>`还有 ${e} 条`,"steps.clear":"清除","screens.readFailedTitle":"无法读取屏幕","screens.reading":"正在读取屏幕与跳转…","screens.noRoutingTitle":"此图中没有屏幕间导航","screens.noRoutingDesc":e=>`此视图绘制的是 UI 框架绑定到组件的路由,以及到达这些组件的导航调用。索引${Number(e)===0?"中没有任何路由":"中有路由"},但路由之间没有导航——它不是带屏幕的应用,或者它的路由器是 CodeGraph 尚无法读取的一种。`,"screens.originNote":"从任意屏幕之外发起导航","screens.whatHappensHere":"从这里会发生什么 →","screens.opensFrom":"来自","screens.noIncomingEntry":"入口屏幕——应用从这里开始。","screens.noIncoming":"图中没有任何内容导航到这里。","screens.goesTo":"通向","screens.noOutgoing":"没有离开此屏幕的导航。","screens.summary":(e,t,n)=>`<b>${e}</b> 个屏幕 · <b>${t}</b> 个跳转${Number(n)>0?` · <b>${n}</b> 个在屏幕外触发`:""}。`,"screens.intro":"入口屏幕位于顶部;每往下一行就与它多隔一次跳转。点击某个屏幕后,它的每一条跳转都会在其线条最远端标注——位于它所通向或来自的屏幕旁——标注的是跳转发生前检查的最后一个条件;将鼠标悬停在线条上,或悬停在此处的对应行上,可查看整条条件链以及它所经过的调用。","screens.styleLegend":"实线:目标写在调用处。灰色虚线:目标来自辅助函数的返回值(推断)。强调色虚线:沿图向上返回的跳转(返回),绕方块外侧绘制而不是穿过它们。虚线框:不是屏幕的触发器——共享界面外壳,或没有任何屏幕的渲染链能到达的代码。","screens.unreached":e=>`<b>${e}</b> 个屏幕位于底部带区:图中没有任何跳转能从入口到达${e===1?"它":"它们"}——由图中看不到的东西打开(布局的初始路由、深层链接),或未被使用。`,"screens.dropped":e=>`${e} 个导航调用无法归属:回溯到某个屏幕的路径遇到了枢纽。`,"screens.legendTransition":"跳转——目标写在调用位置","screens.legendInferred":"从辅助函数的返回值推断出目标","screens.legendBack":"沿图向上返回的跳转(返回)——离开其方块的顶部,到达另一个方块的底部","screens.legendCondition":"跳转发生前检查的最后一个条件,位于所选屏幕线条另一端的屏幕旁;← 表示到达该处时。无 = 始终发生","screens.legendScreen":"屏幕——其路径及渲染它的组件","screens.legendEntry":"入口屏幕;每往下一行就多隔一次跳转","screens.legendOrigin":"不是屏幕:共享界面外壳,或没有屏幕会触达的触发器——位于其打开内容的上方","screens.legendUnreached":"从入口没有任何内容到达它(底部带区)",loading:"加载中…","home.startHint":e=>`搜索符号或文件以开始阅读${e?`(位于 ${e})`:""}。按 <code>/</code> 聚焦搜索框。`,"home.howToRead":"你打开的每个符号都会在左侧显示谁调用了它、中间是其逐字源码、右侧是它调用了什么——每个被调用项都与发起该调用的那一行对齐。","home.whereToStart":"从何处开始","home.allEntryPoints":"所有入口点 ›","map.buildFailed":"无法构建地图","map.aggregating":"正在按模块聚合图形…","map.nothingTitle":"这里没有可绘制的内容","map.emptyRootTests":"此根目录下没有任何已索引的文件。请在右侧选择另一个根目录。","map.emptyRootNoTests":"此根目录下没有任何已索引的文件,或者其下每个模块都是测试代码。请在右侧选择另一个根目录。","map.nEdges":e=>`${e} 条连接`,"map.declaredThrough":e=>`${e} 条经由导入或声明类型建立`,"flow.pathAria":"绘制哪条路径","flow.nHops":e=>` · ${e} 跳`,"flow.allPaths":e=>`全部 ${e} 条路径`,"flow.noteTrail":"你的轨迹,以流程方式阅读:每张卡片都打开在把你带到下一张卡片的那一行。","flow.noteNoPath":"没有静态路径连接它们。卡片处即查找停止之处——其目标在运行时才选定——端帽会标出形式、键以及可能位于另一侧的内容。","flow.noteDirected":"每张卡片都是图形记录下来的调用。虚线连接是源码中看不到的一跳——回调、接口或重渲染——它会标明在哪里接线。","flow.noteNamed":"在你指定的符号之间最长的调用路径,与 codegraph_explore 首先给出的那条相同。","flow.buildFailed":"无法构建流程","flow.following":"正在追踪调用…","flow.nothingTitle":"还没有可追踪的内容","flow.nothingDesc":'在搜索框中请求一条路径——“execute 如何到达 getFile”,或 <span class="mono">execute -&gt; getFile</span>——或走一条轨迹并按流程阅读。',"flow.noPathTitle":"它们之间没有路径","flow.asked":(e,t)=>`询问:<span class="mono">${e}</span> 到 <span class="mono">${t}</span>。`,"flow.ambDefs":(e,t)=>`<span class="mono">${e}</span> 对应 ${t} 个定义。`,"flow.ambRunsThrough":e=>`此路径经由 <span class="mono">${e}</span> 中的那个定义运行。`,"flow.ambNone":"它们都不在此路径上。","flow.ambUnresolved":e=>`<span class="mono">${e}</span> 在索引中没有对应任何内容。`,"entry.heading":e=>`流程的起点${e?`,位于 ${e}`:""}——下面每个列表都直接读取自图形,而非依据文件名猜测。打开一行即可阅读代码,或使用 <span class="chiplike">流程 ›</span> 绘制从它到第二个符号的路径。`,"entry.armGroupAria":"绘制一条流程","entry.reachesPlaceholder":"它要到达的符号","entry.armedAria":e=>`符号 ${e} 应到达`,"entry.drawFlow":"绘制流程","entry.armHint":'或点击 <span class="chiplike">→ 此处</span> 选择另一端',"entry.readFailed":e=>`无法读取入口点——${e}`,"deadCode.listReadFailed":"无法读取列表。","deadCode.moreMembers":e=>`还有 ${e} 个`,"file.notFoundTitle":"不在索引中","file.loadFailed":"无法加载此文件","file.importedBy":"被导入","file.importedByEmpty":"索引中没有任何内容进入此文件。它要么是入口点,要么还没有任何内容依赖它。","file.importsTitle":"导入","file.importsEmpty":"此文件未触及索引中的其他任何内容——它不依赖图形所持有的任何东西。","file.runsTopLevel":e=>`顶层运行 ${e} 个调用 —`,"file.seeCalls":"查看它调用了什么","file.generated":"生成的","file.testLabel":"测试","file.extractionErrors":e=>`${e} 个提取错误 — 大纲可能不完整`,"file.driftOutline":"索引的行范围可能已偏移,因此下方大纲是文件被索引时的形状 —","file.driftReadCurrent":"查看其当前源码","file.driftNextSync":" 下次同步会将其纳入。","file.driftCode":"索引的行范围可能已偏移;现显示文件的当前源码,调用弧、端口与轨道均被关闭——它们依据的行号该文件已不复存在。下次同步会将其纳入。","file.unreadableDisk":"无法从磁盘读取。","file.lengthUnknown":"长度未知","file.nLines":e=>`${e} 行`,"file.nSymbols":e=>`${e} 个符号`,"file.arcCrowd":"— 显示指针所指符号参与的那些","file.railPairTitle":"每一行代表一对:此文件中的一个符号,以及它所到达的符号。","file.callsShowing":e=>` · 显示 ${e}`,"file.outsideRefs":e=>` · 索引之外 ${e} 个引用`,"file.sourceUnavailable":"此文件的源码不可用。","symbol.notFoundTitle":"没有此符号","symbol.loadFailed":"无法加载此符号","symbol.emptyCalleeNoBody":e=>`此 ${e} 自身不产生任何调用——产生调用的是它的成员。请从大纲中打开一个。`,"symbol.emptyCalleeLeaf":"此符号没有可解析的调用——它是一个叶子。","symbol.sourceUnavailable":"此符号的源码不可用。","symbol.driftTooLong":"索引的行范围可能已偏移,且该文件过长,无法在此代替此符号的正文 —","symbol.driftOpen":"打开其当前源码","symbol.driftNext":" 下次同步会将其纳入。","symbol.driftShort":"索引的行范围可能已偏移;现显示文件的当前源码。下次同步会将其纳入。","flowCard.sourceDrift":"磁盘上的此文件在上次索引同步后已更改——因此不显示源码。","flowCard.sourceUnavailable":"此切片之外或此索引之外的源码。","fork.title":"代码在此处分支;每条向外的线代表一个分支。","fork.titleWith":e=>`${e} — 代码在此处分支;每条向外的线代表一个分支。`,"entry.flowFrom":"流程 ›","entry.flowCancel":"取消","entry.flowHere":"→ 此处","entry.flowStartTitle":e=>`从 ${e} 开始流程`,"entry.flowStopTitle":"停止从此处绘制流程","entry.flowEndTitle":e=>`绘制到 ${e} 结束的路径`,"entry.truncatedNote":(e,t,n)=>`显示 ${e} / ${t?"至少 ":""}${n} — 其余在索引中,不在此列表上。`,"palette.ariaResults":"搜索结果","nav.homeAria":"CodeGraph 首页","nav.viewsAria":"视图"},tf=X_,Q_=Z_,nf="en";function J_(){if(globalThis.process?.env?.VITEST)return nf;try{const t=document.cookie.split("; ").find(n=>n.startsWith("cg_lang="))?.split("=")[1];if(t&&["en","zh"].includes(t))return t}catch{}return typeof navigator<"u"&&navigator.language?.startsWith("zh")?"zh":nf}const Ba=Ph(J_());function Sp(e,t,n){const o=(e==="zh"?Q_:tf)[t]??tf[t];return typeof o=="function"?o(...n):typeof o=="string"?o:t}const Lt=wy(Ba,e=>(t,...n)=>Sp(e,t,n));function he(e,...t){return Sp($d(Ba),e,t)}function ru(){return $d(Ba)==="zh"}function e1(e){if(["en","zh"].includes(e)){Ba.set(e);try{document.cookie=`cg_lang=${e};max-age=31536000;path=/`}catch{}}}const t1={function:"ƒ",method:"m",class:"C",interface:"I",struct:"S",type_alias:"T",enum:"E",enum_member:"e",constant:"k",variable:"v",property:"p",field:"p",file:"≡",route:"R",component:"⟨⟩",namespace:"N",module:"M",trait:"Tr",union:"U",protocol:"P",parameter:"pm",import:"im",export:"ex"},Tp=new Set(["class","interface","struct","type_alias","trait","protocol","union","enum"]);function Cp(e){return e?t1[e]??e.slice(0,1).toUpperCase():""}function Va(e){if(!e)return he("kind.unknown");const t=`kind.${e}`,n=he(t);return n===t?e.replace(/_/g," "):n}var n1=O("<span> </span>");function Bt(e,t){Re(t,!0);let n=Ne(t,"titled",3,!1),s=N(()=>t.kind?Cp(t.kind):""),o=N(()=>t.kind?Tp.has(t.kind):!1),a=N(()=>t.kind==="file");var i=n1();let l;var c=f(i);C(d=>{l=De(i,1,"k svelte-rzcbio",null,l,{filled:r(o),dashed:r(a),wide:r(s).length>1}),ae(i,"title",d),ae(i,"aria-hidden",n()?void 0:"true"),_(c,r(s))},[()=>n()?Va(t.kind):void 0]),b(e,i),He()}var r1=O('<span class="head-note svelte-14dv3uy"> </span>'),s1=O('<!> <span class="mid svelte-14dv3uy"><span class="nm svelte-14dv3uy"> </span> <span class="sig svelte-14dv3uy"> </span></span>',1),o1=O('<!> <span class="mid svelte-14dv3uy"><span class="nm svelte-14dv3uy"> </span></span>',1),rf=O('<span class="sig svelte-14dv3uy"> </span>'),a1=O('<!> <span class="mid svelte-14dv3uy"><span class="nm svelte-14dv3uy"> </span> <!></span>',1),i1=O('<!> <span class="mid svelte-14dv3uy"><span> </span> <!></span>',1),l1=O('<button type="button"><!> <span class="loc svelte-14dv3uy"> </span></button>'),c1=O('<div class="head svelte-14dv3uy"><span class="head-title"> </span> <!></div> <!>',1);function Mp(e,t){Re(t,!0);let n=Ne(t,"selected",19,()=>-1),s=Ne(t,"rowRole",3,void 0),o=Ne(t,"idPrefix",3,"palette-row");function a(c,d){let u=0;for(let h=0;h<c;h+=1)u+=t.palette.sections[h]?.items.length??0;return u+d}var i=Tt(),l=xe(i);Te(l,19,()=>t.palette.sections,c=>c.title,(c,d,u)=>{var h=c1(),v=xe(h),y=f(v),g=f(y),w=p(y,2);{var k=L=>{var M=r1(),D=f(M);C(()=>_(D,r(d).note)),b(L,M)};B(w,L=>{r(d).note&&L(k)})}var A=p(v,2);Te(A,19,()=>r(d).items,L=>L.id,(L,M,D)=>{const j=N(()=>a(r(u),r(D)));var W=l1();let K;var Z=f(W);{var z=S=>{var T=s1(),E=xe(T);Bt(E,{kind:"route"});var I=p(E,2),F=f(I),q=f(F),Y=p(F,2),ne=f(Y);C(()=>{_(q,r(M).url),_(ne,r(M).handler)}),b(S,T)},U=S=>{var T=o1(),E=xe(T);Bt(E,{kind:"route"});var I=p(E,2),F=f(I),q=f(F);C(()=>_(q,r(M).name)),b(S,T)},$=S=>{var T=a1(),E=xe(T);Bt(E,{get kind(){return r(M).row.kind}});var I=p(E,2),F=f(I),q=f(F),Y=p(F,2);{var ne=ie=>{var G=rf(),P=f(G);C(()=>_(P,r(M).meta)),b(ie,G)};B(Y,ie=>{r(M).meta&&ie(ne)})}C(()=>{ae(I,"title",r(M).row.title),_(q,r(M).name)}),b(S,T)},H=S=>{var T=i1(),E=xe(T);Bt(E,{get kind(){return r(M).node.kind}});var I=p(E,2),F=f(I);let q;var Y=f(F),ne=p(F,2);{var ie=G=>{var P=rf(),Q=f(P);C(()=>_(Q,r(M).meta)),b(G,P)};B(ne,G=>{r(M).meta&&G(ie)})}C(()=>{ae(I,"title",r(M).node.generated?`${r(M).name} — tool-generated`:void 0),q=De(F,1,"nm svelte-14dv3uy",null,q,{gen:r(M).node.generated}),_(Y,r(M).name)}),b(S,T)};B(Z,S=>{r(M).type==="route"?S(z):r(M).type==="flow"?S(U,1):r(M).type==="entry"?S($,2):S(H,-1)})}var x=p(Z,2),m=f(x);C(()=>{K=De(W,1,"row svelte-14dv3uy",null,K,{sel:r(j)===n()}),ae(W,"data-palette-row",r(j)),ae(W,"id",`${o()}-${r(j)}`),ae(W,"role",s()),ae(W,"aria-selected",s()?r(j)===n():void 0),_(m,r(M).location)}),Ce("mousedown",W,S=>{S.preventDefault(),t.onpick(r(M))}),st("mouseenter",W,()=>t.onhover?.(r(j))),b(L,W)}),C(()=>_(g,r(d).title)),b(c,h)}),b(e,i),He()}Mt(["mousedown"]);const d1=260,u1=80,sf=4,f1=2,v1=30,h1=80,p1=new Set(["file","module","namespace","class","struct","interface","trait","protocol","enum","union"]),g1=new Set(["property","field","enum_member","constant","variable"]);function Np(e){switch(e.kind){case"calls":return"";case"instantiates":return he("symbol.edgeCreates");case"navigates":return he("symbol.edgeNavigates");case"references":return e.valueRef?he("symbol.edgePassesValue"):he("symbol.edgeUsesType");case"implements":return he("symbol.edgeImplements");default:return e.kind}}function Cl(e){const t=[];for(const n of e.edges){const s=Np(n);s&&!t.includes(s)&&t.push(s)}return t}function Ap(e){const t=[];for(const n of e.edges)if(n.when&&!t.includes(n.when)&&t.push(n.when),t.length===3)break;return t}function Wa(e){if(!e.synthesized)return null;const t=e.edges.find(n=>n.provenance==="heuristic");return t?.synthesizedBy??t?.via??"synthesized"}function Cn(e){return e.slice(e.lastIndexOf("/")+1)}function su(e){const t=e.lastIndexOf(".");return t<0?e:e.slice(t+1)}function of(e,t,n){const s=e+t.length-1,o=(y,g)=>({start:y,lines:t.slice(y-e,g-e+1)});if(t.length<=d1)return{windows:t.length>0?[o(e,s)]:[],gapsAfter:[],tailGap:0,whole:!0};const a=Math.min(s,e+u1-1),i=[[e,a]],l=[...new Set(n)].filter(y=>y>a&&y<=s).sort((y,g)=>y-g);for(const y of l)i.push([Math.max(e,y-sf),Math.min(s,y+sf)]);const c=[];for(const y of i){const g=c[c.length-1];g&&y[0]<=g[1]+f1?g[1]=Math.max(g[1],y[1]):c.push([...y])}const d=c.slice(0,v1),u=d.map(([y,g])=>o(y,g)),h=d.slice(0,-1).map((y,g)=>d[g+1][0]-y[1]-1),v=d[d.length-1]?.[1]??s;return{windows:u,gapsAfter:h,tailGap:Math.max(0,s-v),whole:!1}}function m1(e){const t=new Map,n=(s,o)=>{const a=t.get(s);a?a.push(o):t.set(s,[o])};for(const s of[...e.outgoing.items,...e.typesUsed])for(const o of s.edges){if(!o.line)continue;const a=Np(o);n(o.line,{ident:su(s.node.name),col:typeof o.col=="number"?o.col:null,targetId:s.node.id,uncertain:s.uncertain,outside:!1,title:he("symbol.refEdgeTitle",a||"calls",s.node.qualifiedName,s.node.file,s.node.line)+(o.confidence!=null?he("symbol.refConfidence",o.confidence):"")+(o.resolvedBy?he("symbol.refResolvedBy",o.resolvedBy):"")})}for(const s of _1(e.outsideIndex))n(s.line,s.ref);return t}function y1(e){const t=new Set;for(const n of[...e.outgoing.items,...e.typesUsed])for(const s of n.lines)t.add(s);return[...t].sort((n,s)=>n-s)}function _1(e){const t=[];for(const n of e.samples){if(!n.line)continue;const s=su(n.name??"");/^[A-Za-z_$][\w$]*$/.test(s)&&t.push({line:n.line,ref:{ident:s,col:typeof n.col=="number"?n.col:null,targetId:null,uncertain:!1,outside:!0,title:he("symbol.refOutside",n.name)}})}return t}function Ml(e,t){const n=new Map;for(const s of t){const o=[];if(e.forEach((i,l)=>{i.cls==="comment"||i.cls==="string"||i.text===s.ident&&o.push(l)}),o.length===0)continue;let a;if(s.col!==null){const i=s.col;a=o.find(l=>{const c=e[l];return c.col<=i&&i<c.col+c.text.length}),a===void 0&&(a=o.find(l=>e[l].col>=i))}a===void 0&&(a=o.find(i=>!n.has(i))),a===void 0&&(a=o[o.length-1]),!(a===void 0||n.has(a))&&n.set(a,s)}return n}function b1(e){const t=[],n=[];for(const o of e.outgoing.items){const a={relation:o,anchor:o.lines[0]??null,lines:o.lines,words:Cl(o),via:Wa(o),when:Ap(o)};o.uncertain?n.push(a):t.push(a)}const s=e.outsideIndex.byKind.references??0;return{rows:t,uncertain:n,hiddenGroups:e.outgoing.total-e.outgoing.shown,outsideCalls:Math.max(0,e.outsideIndex.total-s),outsideTypeRefs:s}}function w1(e){const t=e.node.file,n=new Map,s=[],o=[];for(const i of e.incoming.items){const l={relation:i,words:Cl(i),lines:i.lines,via:Wa(i),when:Ap(i)};if(i.uncertain){s.push(l);continue}if(i.node.test){o.push(l);continue}const c=n.get(i.node.file);c?c.push(l):n.set(i.node.file,[l])}return{groups:[...n.entries()].map(([i,l])=>({file:i,same:i===t,rows:l})).sort((i,l)=>i.same?-1:l.same?1:i.file.localeCompare(l.file)),uncertain:s,tests:{rows:o,calls:o.reduce((i,l)=>i+l.relation.edgeCount,0),files:[...new Set(o.map(i=>i.relation.node.file))].sort()},total:e.incoming.total,hiddenGroups:e.incoming.total-e.incoming.shown}}function x1(e){return e.members.items.map(t=>({member:t,nested:t.depth>1,dimmed:g1.has(t.kind)}))}function af(e,t){return!(p1.has(e)&&t>h1)}function k1(e){const n=[e.kind==="type_alias"?he("kind.typeAliasShort"):Va(e.kind)];return e.async&&n.push("async"),e.static&&n.push("static"),e.abstract&&n.push("abstract"),e.visibility&&e.visibility!=="public"&&n.push(e.visibility),n.join(" · ")}function E1(e,t,n=`${t}s`){return`${e} ${e===1?t:n}`}function lf(e){const t=e.lastIndexOf("/");return t<0?he("entry.projectRoot"):e.slice(0,t)}function ii(e){const t=[],n=new Map;for(const{row:s,path:o,file:a}of e){let i=n.get(o);i||(i={path:o,file:a,rows:[]},n.set(o,i),t.push(i)),i.rows.push(s)}return t}function Ip(e){const t=`${Cn(e.file)}:${e.line}`;return{id:`route:${e.routeId}`,name:e.path,method:e.method,kind:"route",meta:e.handlerId?`${e.handler} · ${t}`:`${e.handler} · ${he("entry.notInIndex")}`,target:e.handlerId?{type:"symbol",id:e.handlerId,name:e.handler,kind:e.handlerKind}:null,flowFrom:e.handlerId?e.handler:null,title:`${e.url} → ${e.handler} (${e.file}:${e.line}), ${he("entry.registeredAt",`${e.routeFile}:${e.routeLine}`)}`}}function Pp(e){return{id:`file:${e.file}`,name:Cn(e.file),method:null,kind:"file",meta:`${he("entry.metaCalls",e.calls)} · ${he("entry.metaReaches",e.reaches)}${e.dependents===0?` · ${he("entry.nothingImports")}`:""}`,target:{type:"file",path:e.file},flowFrom:null,title:e.file}}function Lp(e){return{id:`test:${e.file}`,name:Cn(e.file),method:null,kind:"file",meta:`${he("entry.metaExercises",e.reaches)} · ${he("entry.metaReferences",e.refs)}`,target:{type:"file",path:e.file},flowFrom:null,title:e.file}}function Op(e){return{id:`hub:${e.id}`,name:e.name,method:null,kind:e.kind,meta:`${he("entry.metaDependents",e.dependents)} · ${Cn(e.file)}:${e.line}`,target:{type:"symbol",id:e.id,name:e.name,kind:e.kind},flowFrom:e.name,title:`${e.qualifiedName} — ${e.file}:${e.line}`}}function S1(e,t){return e.shown>=e.total?`${e.shown}`:`${e.shown} ${he("entry.countOf")} ${t?`${he("entry.atLeast")} `:""}${e.total}`}function T1(e){return e.length===0?"":e.length===1?e[0]:e.length===2?`${e[0]} ${he("entry.frameworkAnd")} ${e[1]}`:`${e.slice(0,-1).join(", ")} ${he("entry.frameworkAnd")} ${e[e.length-1]}`}function li(e,t,n,s,o,a,i=""){const l=S1(s,a);return{id:e,title:t,meta:i?`${l} · ${i}`:l,note:n,groups:o,shown:s.shown,total:s.total,floor:a}}function C1(e){if(!e)return{sections:[],rows:[],empty:null};const t=[];return e.routes.routed&&e.routes.items.items.length>0&&t.push(li("routes",he("entry.routesTitle"),e.routes.items.items.every(n=>!n.method)?he("entry.routesNoteScreen"):he("entry.routesNoteRequest"),e.routes.items,ii(e.routes.items.items.map(n=>({row:Ip(n),path:n.routeFile,file:n.routeFile}))),!1,T1(e.frameworks))),e.files.items.length>0&&t.push(li("files",he("entry.filesTitle"),he("entry.filesNote"),e.files,ii(e.files.items.map(n=>({row:Pp(n),path:lf(n.file),file:null}))),!0)),e.tests.items.length>0&&t.push(li("tests",he("entry.testsTitle"),he("entry.testsNote"),e.tests,ii(e.tests.items.map(n=>({row:Lp(n),path:lf(n.file),file:null}))),!1)),e.hubs.items.length>0&&t.push(li("hubs",he("entry.hubsTitle"),he("entry.hubsNote"),e.hubs,ii(e.hubs.items.map(n=>({row:Op(n),path:n.file,file:n.file}))),!0)),{sections:t,rows:t.flatMap(n=>n.groups.flatMap(s=>s.rows)),empty:t.length===0?"This index has no routes, no file that runs anything at module level, no test that reaches outside itself, and nothing depended on yet.":null}}function M1(e,t,n){const s=t.trim().toLowerCase();if(!e||s==="")return[];const o=[["route",e.routes.routed?e.routes.items.items.map(Ip):[]],["file",e.files.items.map(Pp)],["test",e.tests.items.map(Lp)],["hub",e.hubs.items.map(Op)]],a=[];for(const[i,l]of o)for(const c of l){if(a.length>=n)return a;`${c.method??""} ${c.name} ${c.meta} ${c.title}`.toLowerCase().includes(s)&&a.push({row:c,origin:i})}return a}function N1(e){switch(e){case"route":return he("entry.originRoute");case"file":return he("entry.originFile");case"test":return he("entry.originTest");case"hub":return he("entry.originHub")}}function cf(e,t){const n=e.trim(),s=t.trim();return!n||!s||n.toLowerCase()===s.toLowerCase()?null:{from:n,to:s}}const A1=/^\s*(?:how\s+(?:does|do|would|can)\s+)?([\w$.]+)\s+(?:reach|reaches|call|calls|hit|hits|get\s+to|end\s+up\s+(?:in|at))\s+([\w$.]+)\s*\??\s*$/i,I1=/^\s*([\w$.]+)\s*(?:->|→|=>)\s*([\w$.]+)\s*\??\s*$/;function df(e){const t=e.lastIndexOf(".");return t<0?e:e.slice(t+1)}function Dp(e){const t=A1.exec(e)??I1.exec(e);if(!t)return null;const n=df(t[1]),s=df(t[2]);return!n||!s||n===s?null:{from:n,to:s}}function P1(e,t){const n=Va(e);if(ru())return n;const s=n.endsWith("s")?`${n}es`:`${n}s`,o=t===1?n:s;return o.charAt(0).toUpperCase()+o.slice(1)}function L1(e){if(e.kind!=="file")return`${Cn(e.file)}:${e.line}`;const t=e.file.lastIndexOf("/");return t<0?he("entry.projectRoot"):e.file.slice(0,t)}function Ni(e,t=""){return{type:"symbol",id:e.id,node:e,name:e.kind==="file"?Cn(e.file):e.name,meta:t||O1(e),location:L1(e)}}function O1(e){if(!e.signature)return"";const t=e.signature.replace(/\s+/g," ").trim();return t.length>72?`${t.slice(0,71)}…`:t}function D1(e,t){const n=[],s=new Set;for(let o=0;o<Math.max(e.length,t.length);o+=1)for(const a of[e,t]){const i=a[o];i&&!s.has(i.id)&&(s.add(i.id),n.push(i))}return n}function R1(e){const t=[],n=new Map;for(const s of e){let o=n.get(s.kind);o||(o={title:"",items:[]},n.set(s.kind,o),t.push(o)),o.items.push(Ni(s))}for(const[s,o]of n)o.title=P1(s,o.items.length);return t}function H1(e,t,n=null){const s=e.length>1?D1(e[0]?.results.items??[],e[1]?.results.items??[]):e[0]?.results.items??[],o=R1(s);if(t&&o.unshift({title:he("palette.flowTitle"),note:he("palette.flowNote"),items:[{type:"flow",id:`flow:${t.from}:${t.to}`,from:t.from,to:t.to,name:`${t.from} → ${t.to}`,meta:"",location:he("palette.flowLocation")}]}),n){const l=new Set(s.map(d=>d.id)),c=M1(n.entries,n.query,n.entryRows).filter(d=>!(d.row.target?.type==="symbol"&&l.has(d.row.target.id)));c.length>0&&o.push({title:he("nav.entry"),note:he("palette.entryNote"),items:c.map(({row:d,origin:u})=>({type:"entry",id:`entry:${d.id}`,row:d,name:d.method?`${d.method} ${d.name}`:d.name,meta:d.meta,location:N1(u)}))})}const a=o.flatMap(l=>l.items),i=t?he("palette.flowHint",t.from,t.to):null;return{sections:o,items:a,hint:i,empty:a.length===0?he("searchEmpty"):null}}function Rp(e,t={}){if(!e)return{sections:[],items:[],hint:null,empty:null};const n=t.perSection??Number.POSITIVE_INFINITY,s=a=>Number.isFinite(n)?a.slice(0,n):[...a],o=[];return e.routes.routed&&e.routes.items.items.length>0&&o.push({title:he("palette.routesTitle"),note:e.routes.items.items.every(a=>!a.method)?he("palette.routesNoteScreen"):he("palette.routesNoteRequest"),items:s(e.routes.items.items).map(a=>({type:"route",id:`route:${a.routeId}`,url:a.url,handler:a.handler,location:`${Cn(a.file)}:${a.line}`,nodeId:a.handlerId}))}),e.files.items.length>0&&o.push({title:he("palette.filesTitle"),note:he("palette.filesNote"),items:s(e.files.items).map(a=>Ni(a,`${he("entry.metaCalls",a.calls)} · ${he("entry.metaReaches",a.reaches)}`))}),e.tests.items.length>0&&o.push({title:he("palette.testsTitle"),note:he("palette.testsNote"),items:s(e.tests.items).map(a=>Ni(a,he("entry.metaExercises",a.reaches)))}),e.hubs.items.length>0&&o.push({title:he("palette.hubsTitle"),note:he("palette.hubsNote"),items:s(e.hubs.items).map(a=>Ni(a,he("entry.metaDependents",a.dependents)))}),{sections:o,items:o.flatMap(a=>a.items),hint:null,empty:o.length===0?he("entryEmpty"):null}}function z1(e,t,n){return n===0?0:((e+t)%n+n)%n}const F1=40,q1=24,$1=6,j1=200,B1=6,V1=90;let vs=ve(""),ci=ve(!1),Ms=ve(0),uo=ve(!1),Sa=ve(null),Ta=ve(kn([])),Ca=ve(null),Hp=ve(!1),dd=ve(null),ud=null,fo=null,ya=0,da=null;function yc(){return da||(da=D_({limit:q1,routes:j1}).then(e=>{R(Ca,e,!0),R(dd,null)}).catch(e=>{R(Ca,null),R(dd,e instanceof Error?e.message:String(e),!0)}).finally(()=>{R(Hp,!0)}),da)}function zp(){fo!==null&&(clearTimeout(fo),fo=null),ud?.abort(),ud=null}async function W1(e,t){const n=Dp(e),s=new AbortController;ud=s,R(uo,!0);try{const o=n?[n.from,n.to]:[e],a=await Promise.all(o.map(i=>L_(i,{limit:F1},s.signal)));if(t!==ya)return;R(Ta,a,!0),R(Sa,null)}catch(o){if(s.signal.aborted||t!==ya)return;R(Ta,[],!0),R(Sa,o instanceof Error?o.message:String(o),!0)}finally{t===ya&&R(uo,!1)}}function K1(e){zp();const t=ya+=1;if(e.trim()===""){R(Ta,[],!0),R(Sa,null),R(uo,!1);return}fo=setTimeout(()=>{fo=null,W1(e,t)},V1)}function _c(){return r(vs).trim()===""?Rp(r(Ca),{perSection:$1}):H1(r(Ta),Dp(r(vs)),{entries:r(Ca),query:r(vs),entryRows:B1})}const Ht={get query(){return r(vs)},set query(e){e!==r(vs)&&(R(vs,e,!0),R(Ms,0),K1(e))},get open(){return r(ci)},get loading(){return r(uo)},get failure(){return r(Sa)},get view(){return _c()},get selected(){return r(Ms)},get selectedItem(){const e=_c().items;return e[Math.min(r(Ms),e.length-1)]??null},get pending(){return r(vs).trim()!==""&&(r(uo)||fo!==null)},show(){R(ci,!0),yc()},hide(){R(ci,!1)},select(e){R(Ms,e,!0)},move(e){R(Ms,z1(r(Ms),e,_c().items.length),!0)},reset(){zp(),ya+=1,R(vs,""),R(Ta,[],!0),R(Sa,null),R(uo,!1),R(Ms,0),R(ci,!1)},ensureEntries:yc,reloadEntries(){return da=null,yc()},get entries(){return r(Ca)},get entriesSettled(){return r(Hp)},get entriesFailure(){return r(dd)}};var G1=O('<p class="hint svelte-5pgva5"> </p>'),bc=O('<p class="note svelte-5pgva5"> </p>'),U1=O('<div class="panel svelte-5pgva5" id="palette-panel" role="listbox"><!> <!> <!></div>');function Y1(e,t){Re(t,!0);const n=()=>Ct(Lt,"$t",s),[s,o]=Pt();let a=ve(null),i=N(()=>Ht.view);it(()=>{const w=Ht.selected;if(!r(a))return;r(a).querySelector(`[data-palette-row="${w}"]`)?.scrollIntoView({block:"nearest"})});var l=U1(),c=f(l);{var d=w=>{var k=G1(),A=f(k);C(()=>_(A,r(i).hint)),b(w,k)};B(c,w=>{r(i).hint&&w(d)})}var u=p(c,2);Mp(u,{get palette(){return r(i)},get selected(){return Ht.selected},rowRole:"option",get onpick(){return t.onpick},onhover:w=>Ht.select(w)});var h=p(u,2);{var v=w=>{var k=bc(),A=f(k);C(()=>_(A,Ht.failure)),b(w,k)},y=w=>{var k=bc(),A=f(k);C(L=>_(A,L),[()=>n()("paletteSearching")]),b(w,k)},g=w=>{var k=bc(),A=f(k);C(()=>_(A,r(i).empty)),b(w,k)};B(h,w=>{Ht.failure?w(v):Ht.pending&&r(i).items.length===0?w(y,1):r(i).empty&&w(g,2)})}Zt(l,w=>R(a,w),()=>r(a)),C(w=>ae(l,"aria-label",w),[()=>n()("palette.ariaResults")]),b(e,l),He(),o()}function Mr(e,t,n){Ut.push({id:e.id,name:e.name??null,kind:e.kind??null,dir:t});const s=_n(e.id,{trail:Xr(Ut.hops),...n?{line:n}:{}});$t(s)}function X1(){const e=Ut.hops;if(e.length<2)return null;const t=e[e.length-1],n=e[e.length-2];return!t||!n?null:t.dir==="down"?{id:n.id,rail:"left"}:t.dir==="up"?{id:n.id,rail:"right"}:null}function ou(e){if(e){if(e.type==="file"){$t(hn(e.path));return}Mr({id:e.id,name:e.name,kind:e.kind},"start")}}var Z1=O('<div class="search svelte-1625q67" role="search"><input id="q" type="search" autocomplete="off" spellcheck="false" role="combobox" aria-controls="palette-panel" aria-autocomplete="list" class="svelte-1625q67"/> <!></div>');function Q1(e,t){Re(t,!0);const n=()=>Ct(Lt,"$t",s),[s,o]=Pt();let a=Ne(t,"placeholder",3,""),i=Ne(t,"label",3,""),l=ve(null),c=ve(null);function d(){r(l)?.focus(),r(l)?.select(),Ht.show()}function u(M){if(Ht.reset(),r(l)?.blur(),t.onpick){t.onpick(M);return}if(M.type==="flow"){$t(Qs({from:M.from,to:M.to}));return}if(M.type==="entry"){M.row.target&&ou(M.row.target);return}const D=M.type==="route"?M.nodeId:M.id;if(D){if(M.type==="symbol"&&M.node.kind==="file"){$t(hn(M.node.file));return}Mr(M.type==="route"?{id:D,name:M.handler,kind:null}:{id:D,name:M.node.name,kind:M.node.kind},"start")}}function h(M){if(M.key==="Escape"){M.preventDefault(),Ht.hide(),r(l)?.blur();return}if(!Ht.open){M.key!=="Tab"&&Ht.show();return}switch(M.key){case"ArrowDown":M.preventDefault(),Ht.move(1);break;case"ArrowUp":M.preventDefault(),Ht.move(-1);break;case"Enter":{M.preventDefault();const D=Ht.selectedItem;D&&u(D);break}}}function v(M){if(!Ht.open)return;const D=M.target;D instanceof Node&&r(c)?.contains(D)||Ht.hide()}var y={focus:d,pick:u},g=Z1();st("pointerdown",xn,v);var w=f(g);Zt(w,M=>R(l,M),()=>r(l));var k=p(w,2);{var A=M=>{Y1(M,{onpick:u})};B(k,M=>{Ht.open&&M(A)})}Zt(g,M=>R(c,M),()=>r(c)),C((M,D)=>{ae(w,"placeholder",M),ae(w,"aria-label",D),ae(w,"aria-expanded",Ht.open),ae(w,"aria-activedescendant",Ht.open?`palette-row-${Ht.selected}`:void 0)},[()=>a()||n()("search.placeholder"),()=>i()||n()("search.label")]),Ce("keydown",w,h),st("focus",w,()=>Ht.show()),Jd(w,()=>Ht.query,M=>Ht.query=M),b(e,g);var L=He(y);return o(),L}Mt(["keydown"]);const uf=[1e3,2e3,4e3,8e3,15e3,3e4],J1=8;let fd=ve(!1),Ma=ve(!1),vd=ve(null),Fp=ve(null),xo=ve(0),ko=ve(0),qp=ve(null),au=ve(null),ao=null,di=null,io=0,ff=!1,$p=!1,hd=!1,pd=!1;function iu(){return typeof document<"u"&&document.visibilityState==="hidden"}function jp(e){if(R(qp,e,!0),iu()){hd=!0;return}R(xo,r(xo)+1)}function Bp(e){if(R(au,e,!0),iu()){pd=!0;return}R(ko,r(ko)+1)}function eb(){hd&&(hd=!1,R(xo,r(xo)+1)),pd&&(pd=!1,R(ko,r(ko)+1))}function Ai(){if(ao!==null)return;di!==null&&(clearTimeout(di),di=null),R(Ma,!1);const e=pn().events;if(!e){$p=!0;return}ao=e({hello(t){const n=t;n&&(io=0,R(fd,!0),R(Fp,n.watching,!0),R(vd,n.degraded,!0))},changed(t){const n=t;n&&Bp(n)},index(t){const n=t;n&&jp(n)},degraded(t){const n=t;n&&R(vd,n.reason,!0)},error(){R(fd,!1);const t=ao;if(ao=null,t?.(),io+=1,io>=J1){R(Ma,!0);return}const n=uf[Math.min(io-1,uf.length-1)]??3e4;di=setTimeout(Ai,n)}})}function tb(){ff||typeof window>"u"||(ff=!0,document.addEventListener("visibilitychange",()=>{iu()||(eb(),r(Ma)&&(io=0,Ai()))}),window.addEventListener("focus",()=>{r(Ma)&&(io=0,Ai())}),window.addEventListener("pagehide",()=>{ao?.(),ao=null}),Ai())}const Kn={get connected(){return r(fd)},get stopped(){return r(Ma)},get degraded(){return r(vd)},get watching(){return r(Fp)},get indexTick(){return r(xo)},get diskTick(){return r(ko)},get lastIndex(){return r(qp)},get lastChanged(){return r(au)},get unsupported(){return $p},start:tb,signal(e,t={}){if(e==="index"){jp({type:"index",index:t.index??{lastIndexedAt:null,files:0},files:t.files??[],total:t.total??t.files?.length??0,truncated:t.truncated??!1,at:t.at??0});return}Bp({type:"changed",files:t.files??[],total:t.total??t.files?.length??0,truncated:t.truncated??!1,scan:t.scan??(t.files===void 0||t.files.length===0),at:t.at??0})}};function nb(e){const t=r(au);return t?t.scan||t.truncated?!0:e===null?!1:t.files.includes(e):!1}function lu(e,t){let n=r(xo),s=r(ko);it(()=>{const o=Kn.indexTick,a=Kn.diskTick,i=e();rn(()=>{if(o!==n){n=o,s=a,t("index");return}a!==s&&(s=a,nb(i)&&t("disk"))})})}var rb=O("<a> </a>"),sb=O('<span class="offline svelte-1h259us"> </span>'),ob=O('<span class="mono svelte-1h259us"> </span>'),ab=O('<span class="dim svelte-1h259us"> </span>'),ib=O('<header class="topbar svelte-1h259us"><a class="brand svelte-1h259us" href="#/"><span class="brand-mark svelte-1h259us" aria-hidden="true"></span> <span class="brand-name svelte-1h259us">CodeGraph</span> <span class="brand-sub svelte-1h259us">ui</span></a> <nav class="views svelte-1h259us"><!> <a> </a> <a> </a> <a> </a> <a> </a> <a> </a> <a> </a></nav> <!> <div class="project svelte-1h259us"><!> <!> <!> <button type="button" class="lang-btn svelte-1h259us"> </button></div></header>');function lb(e,t){Re(t,!0);const n=()=>Ct(Ba,"$locale",o),s=()=>Ct(Lt,"$t",o),[o,a]=Pt();let i=Ne(t,"project",3,null),l=Ne(t,"stats",3,null),c=Ne(t,"showScreens",3,!1),d=ve(null),u=N(()=>ma.route.view),h=N(()=>{const fe=ma.route;if(fe.view==="symbol")return _n(fe.id);const te=Ut.current;return te?_n(te.id):"#/"});function v(){r(d)?.focus()}let y=N(()=>Kn.degraded!==null?{text:he("live.off"),title:he("live.offTitle",Kn.degraded)}:Kn.stopped?{text:he("live.disconnected"),title:he("live.disconnectedTitle")}:null),g=N(n);var w={focusSearch:v},k=ib(),A=f(k),L=p(A,2),M=f(L);{var D=fe=>{var te=rb();let ee;var ce=f(te);C((J,oe)=>{ae(te,"href",J),ee=De(te,1,"svelte-1h259us",null,ee,{active:r(u)==="screens"||r(u)==="home"}),_(ce,oe)},[()=>wp(),()=>s()("nav.screens")]),b(fe,te)};B(M,fe=>{c()&&fe(D)})}var j=p(M,2);let W;var K=f(j),Z=p(j,2);let z;var U=f(Z),$=p(Z,2);let H;var x=f($),m=p($,2);let S;var T=f(m),E=p(m,2);let I;var F=f(E),q=p(E,2);let Y;var ne=f(q),ie=p(L,2);Zt(Q1(ie,{}),fe=>R(d,fe,!0),()=>r(d));var G=p(ie,2),P=f(G);{var Q=fe=>{var te=sb(),ee=f(te);C(()=>{ae(te,"title",r(y).title),_(ee,r(y).text)}),b(fe,te)};B(P,fe=>{r(y)&&fe(Q)})}var V=p(P,2);{var X=fe=>{var te=ob(),ee=f(te);C(()=>_(ee,i())),b(fe,te)};B(V,fe=>{i()&&fe(X)})}var le=p(V,2);{var se=fe=>{var te=ab(),ee=f(te);C(()=>_(ee,l())),b(fe,te)};B(le,fe=>{l()&&fe(se)})}var re=p(le,2),de=f(re);C((fe,te,ee,ce,J,oe,be,_e,Ie,pe,me,Se,Me,ze,Ue,$e)=>{ae(A,"aria-label",fe),ae(L,"aria-label",te),ae(j,"href",ee),W=De(j,1,"svelte-1h259us",null,W,{active:r(u)==="steps"}),_(K,ce),ae(Z,"href",J),z=De(Z,1,"svelte-1h259us",null,z,{active:r(u)==="entry"}),_(U,oe),ae($,"href",be),H=De($,1,"svelte-1h259us",null,H,{active:r(u)==="map"}),_(x,_e),ae(m,"href",r(h)),S=De(m,1,"svelte-1h259us",null,S,{active:r(u)==="symbol"||r(u)==="home"&&!c()}),_(T,Ie),ae(E,"href",pe),I=De(E,1,"svelte-1h259us",null,I,{active:r(u)==="flow"}),_(F,me),ae(q,"href",Se),Y=De(q,1,"svelte-1h259us",null,Y,{active:r(u)==="dead"}),_(ne,Me),ae(G,"title",ze),ae(re,"title",Ue),ae(re,"aria-label",$e),_(de,r(g)==="zh"?"EN":"中文")},[()=>s()("nav.homeAria"),()=>s()("nav.viewsAria"),()=>wr(),()=>s()("nav.steps"),()=>tu(),()=>s()("nav.entry"),()=>Ki(),()=>s()("nav.map"),()=>s()("nav.symbol"),()=>Qs(),()=>s()("nav.flow"),()=>Gi(),()=>s()("nav.deadCode"),()=>s()("nav.project"),()=>r(g)==="zh"?s()("nav.switchToEn"):s()("nav.switchToZh"),()=>r(g)==="zh"?s()("nav.switchToEn"):s()("nav.switchToZh")]),Ce("click",re,()=>e1(r(g)==="zh"?"en":"zh")),b(e,k);var ue=He(w);return a(),ue}Mt(["click"]);let _r=ve(null),cu=ve(!1),Ls=ve(null),Go=ve(!1),lo=null;function vf(){return lo||(lo=B_().then(e=>{R(_r,e,!0),R(Ls,null)}).catch(e=>{R(_r,null),R(Ls,e instanceof Error?e.message:String(e),!0)}).finally(()=>{R(cu,!0)}),lo)}function hf(e){R(_r,e,!0),R(Ls,null),R(cu,!0),lo=Promise.resolve()}const Kt={get list(){return r(_r)?.trails??[]},get payload(){return r(_r)},get settled(){return r(cu)},get failure(){return r(Ls)},get busy(){return r(Go)},get canSave(){return Ju()?r(_r)===null||!r(_r).readOnly:!1},get readOnlyReason(){return r(_r)?.readOnly?r(_r).readOnlyReason??"This viewer is running read-only.":Ju()?null:"This viewer cannot save trails."},get directory(){return r(_r)?.directory??null},ensure:vf,reload(){return lo=null,vf()},async save(e,t,n){R(Go,!0);try{const s=await V_({name:e,note:t,hops:n.map(o=>({dir:o.dir,id:o.id}))});return hf(s),s.saved??null}catch(s){return R(Ls,s instanceof Error?s.message:String(s),!0),null}finally{R(Go,!1)}},async remove(e){R(Go,!0);try{return hf(await W_(e)),!0}catch(t){return R(Ls,t instanceof Error?t.message:String(t),!0),!1}finally{R(Go,!1)}},clearFailure(){R(Ls,null)}},cb=3;function db(e){return he("trailMeta",e.hops.length,e.author??"")}function ub(e){const t=e.hops.filter(o=>o.status==="missing"),n=e.hops.filter(o=>o.status==="ambiguous"),s=e.hops.filter(o=>o.status==="moved");return t.length>0?{tone:"warn",text:he("trailDecayMovedRenamed",E1(t.length,"hop"),xc(t))}:n.length>0?{tone:"warn",text:he("trailDecayAmbiguous",xc(n),n.length)}:s.length>0?{tone:"note",text:he("trailDecayMoved",xc(s))}:null}function fb(e){if(e.encoded===null)return he("trailOpensNone");if(e.openCount===e.hops.length)return null;const t=e.openFrom,n=e.openFrom+e.openCount-1;return he("trailOpensRange",t,n,e.hops.length)}function wc(e){return e.encoded!==null&&e.openId!==null}function vb(e){const t=e.hops.map((s,o)=>o===0?s.name:`${hb(s)} ${s.name}`).join(" "),n=e.updatedAt?he("trailTitleSaved",e.updatedAt.slice(0,10)):"";return`${t}${n}`}function hb(e){return e.dir==="up"?"←":e.dir==="down"?"→":"·"}function xc(e){const t=e.slice(0,cb).map(o=>o.name),n=e.length-t.length,s=t.length===1?t[0]:ru()?t.join("、"):`${t.slice(0,-1).join(", ")} and ${t[t.length-1]}`;return n>0?he("trailNameListAnd",s,n):s}function pb(e,t){const n=e.trim();return n===""?he("trailNameEmpty"):n.length>t?he("trailNameTooLong",t):null}function gb(e,t){const n=e.trim().replace(/\s+/g," ");return t.find(s=>s.name===n)??null}function mb(e){return`${JSON.stringify({version:1,id:e.id,name:e.name,note:e.note,author:e.author,createdAt:e.createdAt,updatedAt:e.updatedAt,hops:e.hops.map(t=>({dir:t.dir,name:t.name,qualifiedName:t.qualifiedName,kind:t.kind,file:t.savedFile,line:t.savedLine,id:t.id??""}))},null,2)}
3
+ `}const yb=2600;let Xi=ve(null),Os=null;function _b(e){Os!==null&&clearTimeout(Os),R(Xi,e,!0),Os=setTimeout(()=>{R(Xi,null),Os=null},yb)}function bb(){Os!==null&&clearTimeout(Os),Os=null,R(Xi,null)}const gs={get message(){return r(Xi)},show:_b,clear:bb};var wb=O('<span class="empty svelte-rju47z"> </span>'),xb=O('<span aria-hidden="true"> </span>'),kb=O('<!> <button type="button"><!> <span> </span></button>',1),kc=O('<button type="button" class="tb-btn svelte-rju47z"> </button>'),Eb=O('<span class="err svelte-rju47z"> </span>'),Sb=O('<form class="saveform svelte-rju47z"><label for="trail-name" class="svelte-rju47z"> </label> <input id="trail-name" type="text" autocomplete="off" spellcheck="false" class="svelte-rju47z"/> <button type="submit" class="tb-btn svelte-rju47z"> </button> <button type="button" class="tb-btn svelte-rju47z"> </button> <span><!></span> <!></form>'),Tb=O('<div class="trailwrap svelte-rju47z"><div class="trailbar svelte-rju47z"><span class="label svelte-rju47z"> </span> <!> <span class="spacer svelte-rju47z"></span> <!> <!> <!></div> <!></div>');function Cb(e,t){Re(t,!0);const n=()=>Ct(Lt,"$t",s),[s,o]=Pt(),a=120;let i=N(()=>Ut.hops),l=ve(!1),c=ve(""),d=ve(null);it(()=>{r(l)&&Kt.ensure()});let u=N(()=>pb(r(c),a)),h=N(()=>r(l)?gb(r(c),Kt.list):null);function v(){Kt.clearFailure(),R(l,!0),R(c,Ut.current?.name??"",!0),queueMicrotask(()=>{r(d)?.focus(),r(d)?.select()})}function y(){R(l,!1),R(c,"")}async function g(I){if(I.preventDefault(),r(u)||Kt.busy)return;const F=r(h)!==null;await Kt.save(r(c),"",r(i))!==null&&(gs.show(he(F?"trail.replaceSuccess":"trail.saveSuccess",r(c).trim())),y())}function w(I){I.key==="Escape"&&(I.preventDefault(),I.stopPropagation(),y())}function k(I){const F=r(i)[I];F&&(Ut.truncateTo(I),$t(_n(F.id,{trail:Xr(Ut.hops)})))}function A(){$t(Qs({trail:Xr(r(i))}))}function L(){const I=Ut.current;if(Ut.clear(),!I){$t("#/");return}Ut.push({id:I.id,name:I.name,kind:I.kind,dir:"start"}),$t(_n(I.id,{trail:Xr(Ut.hops)}),{replace:!0})}var M=Tb(),D=f(M),j=f(D),W=f(j),K=p(j,2);{var Z=I=>{var F=wb(),q=f(F);C(Y=>_(q,Y),[()=>n()("trail.empty")]),b(I,F)},z=I=>{var F=Tt(),q=xe(F);Te(q,19,()=>r(i),Y=>Y.id,(Y,ne,ie)=>{var G=kb(),P=xe(G);{var Q=de=>{var ue=xb();let fe;var te=f(ue);C(ee=>{fe=De(ue,1,"hop-arrow svelte-rju47z",null,fe,{up:r(ne).dir==="up"}),ae(ue,"title",ee),_(te,r(ne).dir==="up"?"←":r(ne).dir==="down"?"→":"·")},[()=>n()(r(ne).dir==="up"?"trail.hopUp":r(ne).dir==="down"?"trail.hopDown":"trail.hopJump")]),b(de,ue)};B(P,de=>{r(ie)>0&&de(Q)})}var V=p(P,2);let X;var le=f(V);Bt(le,{get kind(){return r(ne).kind}});var se=p(le,2),re=f(se);C(de=>{X=De(V,1,"hop svelte-rju47z",null,X,{cur:r(ie)===r(i).length-1}),ae(V,"aria-current",r(ie)===r(i).length-1?"true":void 0),_(re,de)},[()=>U_(r(ne))]),Ce("click",V,()=>k(r(ie))),b(Y,G)}),b(I,F)};B(K,I=>{r(i).length===0?I(Z):I(z,-1)})}var U=p(K,4);{var $=I=>{var F=kc(),q=f(F);C(Y=>_(q,Y),[()=>n()("trail.readAsFlow")]),Ce("click",F,A),b(I,F)};B(U,I=>{r(i).length>1&&I($)})}var H=p(U,2);{var x=I=>{var F=kc(),q=f(F);C(Y=>_(q,Y),[()=>n()("trail.save")]),Ce("click",F,v),b(I,F)};B(H,I=>{r(i).length>0&&Kt.canSave&&!r(l)&&I(x)})}var m=p(H,2);{var S=I=>{var F=kc(),q=f(F);C(Y=>_(q,Y),[()=>n()("trail.clear")]),Ce("click",F,L),b(I,F)};B(m,I=>{r(i).length>0&&I(S)})}var T=p(D,2);{var E=I=>{var F=Sb(),q=f(F),Y=f(q),ne=p(q,2);ae(ne,"maxlength",a),Zt(ne,te=>R(d,te),()=>r(d));var ie=p(ne,2),G=f(ie),P=p(ie,2),Q=f(P),V=p(P,2);let X;var le=f(V);{var se=te=>{var ee=xt();C(ce=>_(ee,ce),[()=>n()("trail.replacesHint")]),b(te,ee)},re=te=>{var ee=xt();C(ce=>_(ee,ce),[()=>n()("trail.savedHint",r(i).length,Kt.directory)]),b(te,ee)},de=te=>{var ee=xt();C(ce=>_(ee,ce),[()=>n()("trail.stepsHint",r(i).length)]),b(te,ee)};B(le,te=>{r(h)?te(se):Kt.directory?te(re,1):te(de,-1)})}var ue=p(V,2);{var fe=te=>{var ee=Eb(),ce=f(ee);C(()=>_(ce,Kt.failure)),b(te,ee)};B(ue,te=>{Kt.failure&&te(fe)})}C((te,ee,ce,J)=>{_(Y,te),ae(ne,"placeholder",ee),ie.disabled=r(u)!==null||Kt.busy,_(G,ce),_(Q,J),X=De(V,1,"hint svelte-rju47z",null,X,{warn:r(h)!==null})},[()=>n()("trail.saveFormLabel"),()=>n()("trail.savePlaceholder"),()=>Kt.busy?n()("trail.saving"):r(h)?n()("trail.replace"):n()("trail.saveBtn"),()=>n()("trail.cancel")]),st("submit",F,g),Ce("keydown",ne,w),Jd(ne,()=>r(c),te=>R(c,te)),Ce("click",P,y),b(I,F)};B(T,I=>{r(l)&&I(E)})}C(I=>_(W,I),[()=>n()("trail.label")]),b(e,M),He(),o()}Mt(["click","keydown"]);var Mb=O('<span class="where svelte-1gyfjc6"> </span>'),Nb=O('<p class="msg err svelte-1gyfjc6"> </p>'),pf=O('<p class="msg svelte-1gyfjc6"> </p>'),Ab=O("<br/> ",1),Ib=O('<p class="msg svelte-1gyfjc6"><!> <!></p>'),Pb=O('<span class="note svelte-1gyfjc6"> </span>'),Lb=O('<button type="button"> </button>'),Ob=O("<p> </p>"),Db=O('<div><button type="button" class="pick svelte-1gyfjc6"><!> <span class="mid svelte-1gyfjc6"><span class="nm svelte-1gyfjc6"> </span> <!></span> <span class="meta svelte-1gyfjc6"> </span></button> <div class="acts svelte-1gyfjc6"><button type="button" class="act svelte-1gyfjc6"> </button> <!></div> <!></div>'),Rb=O('<div class="rows svelte-1gyfjc6"></div> <!>',1),Hb=O('<section class="trails svelte-1gyfjc6"><div class="head svelte-1gyfjc6"><h3 class="svelte-1gyfjc6"> </h3> <!></div> <!></section>');function Vp(e,t){Re(t,!0);const n=()=>Ct(Lt,"$t",s),[s,o]=Pt();let a=Ne(t,"title",3,""),i=Ne(t,"hideWhenEmpty",3,!0);it(()=>{Kt.ensure()});let l=ve(null),c=N(()=>Kt.list);function d(w){if(!wc(w))return;const k=nu(w.encoded);Ut.clear();const A=w.hops.filter(L=>L.id!==null);for(const L of k){const M=A.find(D=>D.id===L.id);Ut.push({id:L.id,name:M?.name??null,kind:M?.kind??null,dir:L.dir})}$t(_n(w.openId,{trail:w.encoded}))}async function u(w){if(r(l)!==w.id){R(l,w.id,!0);return}R(l,null),await Kt.remove(w.id)}function h(w){const k=new Blob([mb(w)],{type:"application/json"}),A=URL.createObjectURL(k),L=document.createElement("a");L.href=A,L.download=`${w.id}.json`,L.click(),URL.revokeObjectURL(A)}var v=Tt(),y=xe(v);{var g=w=>{var k=Hb(),A=f(k),L=f(A),M=f(L),D=p(L,2);{var j=$=>{var H=Mb(),x=f(H);C(()=>_(x,Kt.directory)),b($,H)};B(D,$=>{Kt.directory&&$(j)})}var W=p(A,2);{var K=$=>{var H=Nb(),x=f(H);C(()=>_(x,Kt.failure)),b($,H)},Z=$=>{var H=pf(),x=f(H);C(m=>_(x,m),[()=>n()("trails.loading")]),b($,H)},z=$=>{var H=Ib(),x=f(H);Gt(x,()=>n()("trails.empty"));var m=p(x,2);{var S=T=>{var E=Ab(),I=p(xe(E),1,!0);C(()=>_(I,Kt.readOnlyReason)),b(T,E)};B(m,T=>{Kt.readOnlyReason&&T(S)})}b($,H)},U=$=>{var H=Rb(),x=xe(H);Te(x,21,()=>r(c),T=>T.id,(T,E)=>{const I=N(()=>ub(r(E))),F=N(()=>fb(r(E)));var q=Db();let Y;var ne=f(q),ie=f(ne);{let J=N(()=>r(E).hops[0]?.kind??null);Bt(ie,{get kind(){return r(J)}})}var G=p(ie,2),P=f(G),Q=f(P),V=p(P,2);{var X=J=>{var oe=Pb(),be=f(oe);C(()=>_(be,r(E).note)),b(J,oe)};B(V,J=>{r(E).note&&J(X)})}var le=p(G,2),se=f(le),re=p(ne,2),de=f(re),ue=f(de),fe=p(de,2);{var te=J=>{var oe=Lb();let be;var _e=f(oe);C(Ie=>{be=De(oe,1,"act svelte-1gyfjc6",null,be,{armed:r(l)===r(E).id}),oe.disabled=Kt.busy,_(_e,Ie)},[()=>r(l)===r(E).id?n()("trails.deleteConfirm"):n()("trails.delete")]),Ce("click",oe,()=>u(r(E))),st("blur",oe,()=>R(l,r(l)===r(E).id?null:r(l),!0)),b(J,oe)};B(fe,J=>{Kt.canSave&&J(te)})}var ee=p(re,2);{var ce=J=>{var oe=Ob();let be;var _e=f(oe);C(Ie=>{be=De(oe,1,"decay svelte-1gyfjc6",null,be,{warn:r(I)?.tone==="warn"}),_(_e,Ie)},[()=>[r(I)?.text,r(F)].filter(Boolean).join(" ")]),b(J,oe)};B(ee,J=>{(r(I)||r(F))&&J(ce)})}C((J,oe,be,_e,Ie)=>{Y=De(q,1,"row svelte-1gyfjc6",null,Y,J),ae(ne,"title",oe),ne.disabled=be,_(Q,r(E).name),_(se,_e),_(ue,Ie)},[()=>({dead:!wc(r(E))}),()=>vb(r(E)),()=>!wc(r(E)),()=>db(r(E)),()=>n()("trails.export")]),Ce("click",ne,()=>d(r(E))),Ce("click",de,()=>h(r(E))),b(T,q)});var m=p(x,2);{var S=T=>{var E=pf(),I=f(E);C(F=>_(I,F),[()=>n()("trails.onlyFirst")]),b(T,E)};B(m,T=>{Kt.payload?.bounded&&T(S)})}b($,H)};B(W,$=>{Kt.failure?$(K):Kt.settled?r(c).length===0?$(z,2):$(U,-1):$(Z,1)})}C(($,H)=>{ae(k,"aria-label",$),_(M,H)},[()=>a()||n()("trails.title"),()=>a()||n()("trails.title")]),b(w,k)};B(y,w=>{i()&&r(c).length===0&&Kt.failure===null||w(g)})}b(e,v),He(),o()}Mt(["click"]);var zb=O('<section class="entries svelte-y99goq"><div class="entries-h svelte-y99goq"><h3 class="svelte-y99goq"> </h3> <a class="svelte-y99goq"> </a></div> <div class="rows svelte-y99goq"><!></div></section>'),Fb=O('<div class="scroll svelte-y99goq"><div class="emptystate"><h2> </h2> <p></p> <p> </p></div> <div class="saved svelte-y99goq"><!></div> <!></div>');function qb(e,t){Re(t,!0);const n=()=>Ct(Lt,"$t",s),[s,o]=Pt();let a=Ne(t,"project",3,null);it(()=>{Ht.ensureEntries()});let i=N(()=>Rp(Ht.entries));function l(M){if(M.type==="flow"){$t(Qs({from:M.from,to:M.to}));return}if(M.type==="entry"){ou(M.row.target);return}const D=M.type==="route"?M.nodeId:M.id;if(D){if(M.type==="symbol"&&M.node.kind==="file"){$t(hn(M.node.file));return}Mr(M.type==="route"?{id:D,name:M.handler,kind:null}:{id:D,name:M.node.name,kind:M.node.kind},"start")}}var c=Fb(),d=f(c),u=f(d),h=f(u),v=p(u,2);Gt(v,()=>n()("home.startHint",a()??""),!0);var y=p(v,2),g=f(y),w=p(d,2),k=f(w);Vp(k,{});var A=p(w,2);{var L=M=>{var D=zb(),j=f(D),W=f(j),K=f(W),Z=p(W,2),z=f(Z),U=p(j,2),$=f(U);Mp($,{get palette(){return r(i)},onpick:l}),C((H,x,m,S)=>{ae(D,"aria-label",H),_(K,x),ae(Z,"href",m),_(z,S)},[()=>n()("home.whereToStart"),()=>n()("home.whereToStart"),()=>tu(),()=>n()("home.allEntryPoints")]),b(M,D)};B(A,M=>{r(i).sections.length>0&&M(L)})}C((M,D)=>{_(h,M),_(g,D)},[()=>n()("homeNothingSelected"),()=>n()("home.howToRead")]),b(e,c),He(),o()}let Uo=ve(null),Yo=ve("right"),os=ve(-1);const qt={get target(){return r(Uo)},is(e){return e!=null&&r(Uo)===e},set(e){R(Uo,e,!0)},clear(e){(e==null||r(Uo)===e)&&R(Uo,null)}},Yn={get rail(){return r(Yo)},get index(){return r(os)},at(e,t){return r(Yo)===e&&r(os)===t},move(e,t){R(Yo,e,!0),R(os,t,!0)},step(e,t){t!==0&&R(os,Math.max(0,Math.min(t-1,r(os)+e)),!0)},switchTo(e){R(Yo,e,!0),r(os)<0&&R(os,0)},reset(){R(Yo,"right"),R(os,-1)}};var $b=O('<span class="dim"> </span>'),gf=O("<span> </span>"),mf=O('<span class="tag svelte-esi3sb"> </span>'),jb=O('<span class="tag when svelte-esi3sb"> </span>'),Bb=O('<div role="button" tabindex="0"><!> <div class="body svelte-esi3sb"><div class="nm svelte-esi3sb"> <!></div> <div class="meta svelte-esi3sb"><span> </span> <!> <!> <!> <!></div></div></div>'),Vb=O('<div role="button" tabindex="0"><!> <div class="body svelte-esi3sb"><div class="nm svelte-esi3sb"> </div> <div class="meta svelte-esi3sb"><span> </span> <!></div></div></div>'),Wb=O('<details data-rail-fold=""><summary class="svelte-esi3sb"> <span class="dim"> </span></summary> <div class="fold-body"></div></details>'),Kb=O('<div class="rnote svelte-esi3sb"> </div>'),Gb=O("<br/> ",1),Ub=O("<div><!> <!></div>"),Yb=O('<div class="rail-h svelte-esi3sb" data-rail-header=""><span> <span class="n svelte-esi3sb"> </span></span> <span class="hint svelte-esi3sb"> </span></div> <!> <!> <!>',1);function Xb(e,t){Re(t,!0);const n=()=>Ct(Lt,"$t",s),[s,o]=Pt();function a(D){return`${D.relation.node.qualifiedName} — ${D.relation.node.file}:${D.relation.node.line}`}var i=Yb(),l=xe(i),c=f(l),d=f(c),u=p(d),h=f(u),v=p(c,2),y=f(v),g=p(l,2);Te(g,19,()=>t.model.rows,D=>D.relation.node.id,(D,j,W)=>{const K=N(()=>r(j).relation.node);var Z=Bb();let z,U;var $=f(Z);Bt($,{get kind(){return r(K).kind}});var H=p($,2),x=f(H),m=f(x),S=p(m);{var T=V=>{var X=$b(),le=f(X);C(()=>_(le,`×${r(j).lines.length??""}`)),b(V,X)};B(S,V=>{r(j).lines.length>1&&V(T)})}var E=p(x,2),I=f(E),F=f(I),q=p(I,2);{var Y=V=>{var X=gf(),le=f(X);C(se=>_(le,se),[()=>r(j).words.join(", ")]),b(V,X)};B(q,V=>{r(j).words.length>0&&V(Y)})}var ne=p(q,2);{var ie=V=>{var X=mf(),le=f(X);C(se=>_(le,`${se??""} · ${r(j).relation.fanIn??""}`),[()=>n()("rails.hub")]),b(V,X)};B(ne,V=>{r(j).relation.hub&&V(ie)})}var G=p(ne,2);{var P=V=>{var X=mf(),le=f(X);C((se,re)=>{ae(X,"title",se),_(le,re)},[()=>n()("rails.viaTitle"),()=>n()("rails.via",r(j).via)]),b(V,X)};B(G,V=>{r(j).via&&V(P)})}var Q=p(G,2);Te(Q,16,()=>r(j).when,V=>V,(V,X)=>{var le=jb(),se=f(le);C((re,de)=>{ae(le,"title",re),_(se,`${de??""} ${X??""}`)},[()=>n()("rails.whenTitle"),()=>n()("rails.when")]),b(V,le)}),C((V,X,le)=>{z=De(Z,1,"rrow svelte-esi3sb",null,z,V),ae(Z,"data-target",r(K).id),ae(Z,"title",X),U=ht(Z,"",U,{top:`${t.tops[r(W)]??0}px`}),_(m,r(K).name),_(F,le)},[()=>({origin:r(K).id===t.originId,hot:qt.is(r(K).id),sel:Yn.at("right",r(W)),unplaced:!t.placed}),()=>a(r(j)),()=>r(K).file===t.focalFile?n()("rails.sameFile"):r(K).file]),Ce("click",Z,()=>t.onstepDown(r(K))),Ce("keydown",Z,V=>{(V.key==="Enter"||V.key===" ")&&(V.preventDefault(),t.onstepDown(r(K)))}),st("mouseenter",Z,()=>qt.set(r(K).id)),st("mouseleave",Z,()=>qt.clear(r(K).id)),b(D,Z)});var w=p(g,2);{var k=D=>{var j=Wb();let W,K;var Z=f(j),z=f(Z),U=p(z),$=f(U),H=p(Z,2);Te(H,21,()=>t.model.uncertain,x=>x.relation.node.id,(x,m)=>{const S=N(()=>r(m).relation.node);var T=Vb();let E;var I=f(T);Bt(I,{get kind(){return r(S).kind}});var F=p(I,2),q=f(F),Y=f(q),ne=p(q,2),ie=f(ne),G=f(ie),P=p(ie,2);{var Q=V=>{var X=gf(),le=f(X);C(()=>_(le,r(m).relation.confidence)),b(V,X)};B(P,V=>{r(m).relation.confidence!==null&&V(Q)})}C((V,X)=>{E=De(T,1,"rrow static uncertain svelte-esi3sb",null,E,V),ae(T,"data-target",r(S).id),ae(T,"title",X),_(Y,r(S).name),_(G,r(S).file)},[()=>({hot:qt.is(r(S).id)}),()=>a(r(m))]),Ce("click",T,()=>t.onstepDown(r(S))),Ce("keydown",T,V=>{(V.key==="Enter"||V.key===" ")&&(V.preventDefault(),t.onstepDown(r(S)))}),st("mouseenter",T,()=>qt.set(r(S).id)),st("mouseleave",T,()=>qt.clear(r(S).id)),b(x,T)}),C((x,m)=>{W=De(j,1,"rfold svelte-esi3sb",null,W,{unplaced:!t.placed}),K=ht(j,"",K,{top:`${t.foldTop}px`}),_(z,`${x??""} `),_($,m)},[()=>n()("rails.uncertain"),()=>n()("rails.uncertainHint",t.model.uncertain.length)]),b(D,j)};B(w,D=>{t.model.uncertain.length>0&&D(k)})}var A=p(w,2);{var L=D=>{var j=Kb();ht(j,"",{},{top:"60px"});var W=f(j);C(()=>_(W,t.emptyReason)),b(D,j)},M=D=>{var j=Ub();let W,K;var Z=f(j);{var z=x=>{var m=xt();C(S=>_(m,S),[()=>n()("rails.outsideCalls",t.model.outsideCalls,t.model.outsideTypeRefs>0?n()("rails.typeReference",t.model.outsideTypeRefs):null)]),b(x,m)},U=x=>{var m=xt();C(S=>_(m,S),[()=>n()("rails.outsideTypeRefs",t.model.outsideTypeRefs)]),b(x,m)};B(Z,x=>{t.model.outsideCalls>0?x(z):t.model.outsideTypeRefs>0&&x(U,1)})}var $=p(Z,2);{var H=x=>{var m=Gb(),S=p(xe(m),1,!0);C(T=>_(S,T),[()=>n()("rails.moreCallees",t.model.hiddenGroups)]),b(x,m)};B($,x=>{t.model.hiddenGroups>0&&x(H)})}C(()=>{W=De(j,1,"rnote svelte-esi3sb",null,W,{unplaced:!t.placed}),K=ht(j,"",K,{top:`${t.noteTop}px`})}),b(D,j)};B(A,D=>{t.model.rows.length===0&&t.model.uncertain.length===0?D(L):(t.model.outsideCalls>0||t.model.outsideTypeRefs>0||t.model.hiddenGroups>0)&&D(M,1)})}C((D,j)=>{_(d,`${D??""} `),_(h,t.model.rows.length),_(y,j)},[()=>n()("rails.calls"),()=>n()("rails.stepDown")]),b(e,i),He(),o()}Mt(["click","keydown"]);var yf=O('<div class="note svelte-1g174kh"> </div>'),ui=O('<span class="kindlbl svelte-1g174kh"> </span>'),Zb=O('<span class="tag when svelte-1g174kh"> </span>'),Qb=O('<button type="button" class="chip svelte-1g174kh"> </button>'),Jb=O('<div role="button" tabindex="0"><!> <div><div class="nm svelte-1g174kh"> </div> <div class="meta svelte-1g174kh"><!> <!> <!> <!> <!></div></div></div>'),ew=O('<div class="filegroup svelte-1g174kh"><div class="fpath svelte-1g174kh"><a class="svelte-1g174kh"> </a> <b class="svelte-1g174kh"> </b></div> <!></div>'),tw=O('<div class="row svelte-1g174kh" role="button" tabindex="0"><!> <div><div class="nm svelte-1g174kh"> </div> <div class="meta svelte-1g174kh"><span class="kindlbl svelte-1g174kh"> </span></div></div></div>'),_f=O('<details class="fold svelte-1g174kh"><summary class="svelte-1g174kh"> <span class="dim"> </span></summary> <div class="body svelte-1g174kh"></div></details>'),nw=O('<div class="row uncertain svelte-1g174kh" role="button" tabindex="0"><!> <div><div class="nm svelte-1g174kh"> </div> <div class="meta svelte-1g174kh"><span class="kindlbl svelte-1g174kh"> </span> <!></div></div></div>'),rw=O('<div class="rail-h svelte-1g174kh"><span> <span class="n svelte-1g174kh"> </span></span> <span class="hint svelte-1g174kh"> </span></div> <!> <!> <!> <!> <!>',1);function sw(e,t){Re(t,!0);const n=()=>Ct(Lt,"$t",s),[s,o]=Pt();function a(z){return z.kind==="file"?he("rails.topLevel",Cn(z.file)):z.name}function i(z){return`${z.relation.node.qualifiedName} — ${z.relation.node.file}:${z.relation.node.line}`}function l(z,U){let $=0;for(let H=0;H<z;H++)$+=t.model.groups[H]?.rows.length??0;return $+U}var c=rw(),d=xe(c),u=f(d),h=f(u),v=p(h),y=f(v),g=p(u,2),w=f(g),k=p(d,2);{var A=z=>{var U=yf(),$=f(U);C(H=>_($,H),[()=>n()("rails.callersEmpty",t.exported)]),b(z,U)};B(k,z=>{t.model.total===0&&z(A)})}var L=p(k,2);Te(L,19,()=>t.model.groups,z=>z.file,(z,U,$)=>{var H=ew(),x=f(H),m=f(x),S=f(m),T=p(m,2),E=f(T),I=p(x,2);Te(I,19,()=>r(U).rows,F=>F.relation.node.id,(F,q,Y)=>{const ne=N(()=>r(q).relation.node),ie=N(()=>r(ne).id===t.originId);var G=Jb();let P;var Q=f(G);Bt(Q,{get kind(){return r(ne).kind}});var V=p(Q,2),X=f(V),le=f(X),se=p(X,2),re=f(se);{var de=oe=>{var be=ui(),_e=f(be);C(Ie=>_(_e,Ie),[()=>r(q).words.join(", ")]),b(oe,be)};B(re,oe=>{r(q).words.length>0&&oe(de)})}var ue=p(re,2);Te(ue,16,()=>r(q).when,oe=>oe,(oe,be)=>{var _e=Zb(),Ie=f(_e);C((pe,me)=>{ae(_e,"title",pe),_(Ie,`${me??""} ${be??""}`)},[()=>n()("rails.whenTitle"),()=>n()("rails.when")]),b(oe,_e)});var fe=p(ue,2);Te(fe,16,()=>r(q).lines,oe=>oe,(oe,be)=>{var _e=Qb(),Ie=f(_e);C(pe=>{ae(_e,"title",pe),_(Ie,`:${be??""}`)},[()=>n()("rails.openAtLine",r(ne).name,be)]),Ce("click",_e,pe=>{pe.stopPropagation(),t.onstepUp(r(ne),be)}),b(oe,_e)});var te=p(fe,2);{var ee=oe=>{var be=ui(),_e=f(be);C(Ie=>_(_e,Ie),[()=>n()("rails.via",r(q).via)]),b(oe,be)};B(te,oe=>{r(q).via&&oe(ee)})}var ce=p(te,2);{var J=oe=>{var be=ui(),_e=f(be);C(Ie=>_(_e,Ie),[()=>n()("rails.cameFromHere")]),b(oe,be)};B(ce,oe=>{r(ie)&&oe(J)})}C((oe,be,_e)=>{P=De(G,1,"row svelte-1g174kh",null,P,oe),ae(G,"data-target",r(ne).id),ae(G,"title",be),_(le,_e)},[()=>({origin:r(ie),sel:Yn.at("left",l(r($),r(Y)))}),()=>i(r(q)),()=>a(r(ne))]),Ce("click",G,()=>t.onstepUp(r(ne))),Ce("keydown",G,oe=>{(oe.key==="Enter"||oe.key===" ")&&(oe.preventDefault(),t.onstepUp(r(ne)))}),st("mouseenter",G,()=>qt.set(r(ne).id)),st("mouseleave",G,()=>qt.clear(r(ne).id)),b(F,G)}),C((F,q)=>{ae(m,"href",F),ae(m,"title",r(U).file),_(S,q),_(E,r(U).rows.length)},[()=>hn(r(U).file),()=>r(U).same?n()("rails.sameFile"):r(U).file]),b(z,H)});var M=p(L,2);{var D=z=>{var U=_f(),$=f(U),H=f($),x=p(H),m=f(x),S=p($,2);Te(S,21,()=>t.model.tests.rows,T=>T.relation.node.id,(T,E)=>{const I=N(()=>r(E).relation.node);var F=tw(),q=f(F);Bt(q,{get kind(){return r(I).kind}});var Y=p(q,2),ne=f(Y),ie=f(ne),G=p(ne,2),P=f(G),Q=f(P);C((V,X)=>{ae(F,"title",V),_(ie,X),_(Q,r(I).file)},[()=>i(r(E)),()=>a(r(I))]),Ce("click",F,()=>t.onstepUp(r(I))),Ce("keydown",F,V=>{(V.key==="Enter"||V.key===" ")&&(V.preventDefault(),t.onstepUp(r(I)))}),st("mouseenter",F,()=>qt.set(r(I).id)),st("mouseleave",F,()=>qt.clear(r(I).id)),b(T,F)}),C((T,E)=>{_(H,`${T??""} `),_(m,E)},[()=>n()("rails.tests"),()=>n()("rails.testsHint",t.model.tests.calls,t.model.tests.files.length)]),b(z,U)};B(M,z=>{t.model.tests.rows.length>0&&z(D)})}var j=p(M,2);{var W=z=>{var U=_f(),$=f(U),H=f($),x=p(H),m=f(x),S=p($,2);Te(S,21,()=>t.model.uncertain,T=>T.relation.node.id,(T,E)=>{const I=N(()=>r(E).relation.node);var F=nw(),q=f(F);Bt(q,{get kind(){return r(I).kind}});var Y=p(q,2),ne=f(Y),ie=f(ne),G=p(ne,2),P=f(G),Q=f(P),V=p(P,2);{var X=le=>{var se=ui(),re=f(se);C(()=>_(re,r(E).relation.confidence)),b(le,se)};B(V,le=>{r(E).relation.confidence!==null&&le(X)})}C((le,se,re)=>{ae(F,"title",le),_(ie,se),_(Q,re)},[()=>i(r(E)),()=>a(r(I)),()=>Cn(r(I).file)]),Ce("click",F,()=>t.onstepUp(r(I))),Ce("keydown",F,le=>{(le.key==="Enter"||le.key===" ")&&(le.preventDefault(),t.onstepUp(r(I)))}),st("mouseenter",F,()=>qt.set(r(I).id)),st("mouseleave",F,()=>qt.clear(r(I).id)),b(T,F)}),C((T,E)=>{_(H,`${T??""} `),_(m,E)},[()=>n()("rails.uncertain"),()=>n()("rails.uncertainHint",t.model.uncertain.length)]),b(z,U)};B(j,z=>{t.model.uncertain.length>0&&z(W)})}var K=p(j,2);{var Z=z=>{var U=yf(),$=f(U);C(H=>_($,H),[()=>n()("rails.hiddenCallers",t.model.hiddenGroups)]),b(z,U)};B(K,z=>{t.model.hiddenGroups>0&&z(Z)})}C((z,U)=>{_(h,`${z??""} `),_(y,t.model.total),_(w,U)},[()=>n()("rails.calledBy"),()=>n()("rails.stepUp")]),b(e,c),He(),o()}Mt(["click","keydown"]);var ow=tn("<path></path>"),aw=tn('<svg class="overlay svelte-1x7maed" aria-hidden="true" focusable="false"></svg>');function Wp(e,t){Re(t,!0);var n=aw();Te(n,23,()=>t.connectors,(s,o)=>`${s.targetId}:${o}`,(s,o)=>{var a=ow();let i;C(l=>{ae(a,"d",r(o).d),i=De(a,0,"svelte-1x7maed",null,i,l)},[()=>({uncertain:r(o).uncertain,heur:r(o).heuristic,origin:r(o).origin,hot:qt.is(r(o).targetId)})]),b(s,a)}),C(()=>{ae(n,"width",t.width),ae(n,"height",t.height),ae(n,"viewBox",`0 0 ${t.width} ${t.height}`)}),b(e,n),He()}var iw=O('<span class="stat svelte-149slox"><strong class="svelte-149slox"> </strong> </span>'),lw=O(' <span class="dim"> </span>',1),cw=O('<div class="fp svelte-149slox"><a> </a> <b class="svelte-149slox"> </b></div>'),dw=O('<div class="fp dim svelte-149slox"> </div>'),uw=O('<div class="note svelte-149slox"> </div>'),fw=O('<details class="svelte-149slox"><summary class="svelte-149slox"> </summary> <div class="body svelte-149slox"><!> <!> <!></div></details>'),vw=O('<div class="blast svelte-149slox"><div class="bh svelte-149slox"><b class="svelte-149slox"> </b> <span class="stat svelte-149slox"><strong class="svelte-149slox"> </strong> </span> <span class="stat svelte-149slox"><strong class="svelte-149slox"> </strong> </span> <span class="stat svelte-149slox"><strong class="svelte-149slox"> </strong> </span> <span class="stat svelte-149slox"><strong class="svelte-149slox"> </strong> </span> <!></div> <div class="bar svelte-149slox"><i class="svelte-149slox"></i> <i class="direct svelte-149slox"></i></div> <div class="legend svelte-149slox"> <!></div> <!></div>');function hw(e,t){Re(t,!0);const n=()=>Ct(Lt,"$t",s),[s,o]=Pt();let a=N(()=>Math.max(1,t.scale?.maxDirect??0,t.blast.direct)),i=N(()=>Math.max(1,t.scale?.maxWithinHops??0,t.blast.withinHops));const l=(P,Q)=>P<=0?0:Math.max(.5,Math.min(100,100*P/Q));var c=vw(),d=f(c),u=f(d),h=f(u),v=p(u,2),y=f(v),g=f(y),w=p(y),k=p(v,2),A=f(k),L=f(A),M=p(A),D=p(k,2),j=f(D),W=f(j),K=p(j),Z=p(D,2),z=f(Z),U=f(z),$=p(z),H=p(Z,2);{var x=P=>{var Q=iw(),V=f(Q),X=f(V),le=p(V);C(se=>{_(X,t.blast.routes),_(le,` ${se??""}`)},[()=>n()("blast.routes",t.blast.routes)]),b(P,Q)};B(H,P=>{t.blast.routes>0&&P(x)})}var m=p(d,2),S=f(m);let T;var E=p(S,2);let I;var F=p(m,2),q=f(F),Y=p(q);{var ne=P=>{var Q=lw(),V=xe(Q,!0);V.nodeValue=" ";var X=p(V),le=f(X);C(se=>_(le,se),[()=>n()("blast.sampled",t.scale.sampled)]),b(P,Q)};B(Y,P=>{t.scale?.estimated&&P(ne)})}var ie=p(F,2);{var G=P=>{var Q=fw(),V=f(Q),X=f(V),le=p(V,2),se=f(le);Te(se,17,()=>t.blast.topFiles,te=>te.file,(te,ee)=>{var ce=cw(),J=f(ce);let oe;var be=f(J),_e=p(J,2),Ie=f(_e);C(pe=>{ae(J,"href",pe),oe=De(J,1,"svelte-149slox",null,oe,{test:r(ee).test}),_(be,r(ee).file),_(Ie,r(ee).symbols)},[()=>hn(r(ee).file)]),b(te,ce)});var re=p(se,2);{var de=te=>{var ee=dw(),ce=f(ee);C(J=>_(ce,J),[()=>n()("blast.moreFiles",t.blast.files-t.blast.topFiles.length)]),b(te,ee)};B(re,te=>{t.blast.files>t.blast.topFiles.length&&te(de)})}var ue=p(re,2);{var fe=te=>{var ee=uw(),ce=f(ee);C(J=>_(ce,J),[()=>n()("blast.testNote",t.testCalls,t.testFiles)]),b(te,ee)};B(ue,te=>{t.testCalls>0&&te(fe)})}C(te=>_(X,te),[()=>n()("blast.recheck")]),b(P,Q)};B(ie,P=>{t.blast.topFiles.length>0&&P(G)})}C((P,Q,V,X,le,se,re,de,ue)=>{_(h,P),_(g,t.blast.direct),_(w,` ${Q??""}`),_(L,t.blast.withinHops),_(M,` ${V??""}`),_(W,t.blast.files),_(K,` ${X??""}`),_(U,t.blast.testFiles),_($,` ${le??""}`),ae(m,"title",se),T=ht(S,"",T,re),I=ht(E,"",I,de),_(q,`${ue??""} `)},[()=>n()("blast.title"),()=>n()("blast.direct",t.blast.direct),()=>n()("blast.within",t.blast.withinHops,t.blast.hops),()=>n()("blast.files",t.blast.files),()=>n()("blast.testFiles",t.blast.testFiles),()=>n()("blast.barTitle",r(i),t.blast.hops),()=>({width:`${l(t.blast.withinHops,r(i))}%`}),()=>({width:`${l(t.blast.direct,r(a))}%`}),()=>n()("blast.legend",t.blast.hops)]),b(e,c),He(),o()}var pw=O('<span class="ovr svelte-rscx7m"> </span>'),gw=O('<button type="button"><!> <span class="nm svelte-rscx7m"> </span> <span class="sig svelte-rscx7m"><!> </span> <span class="cnt svelte-rscx7m"><!><!><!></span></button>'),mw=O('<div class="note svelte-rscx7m"> </div>'),yw=O('<div class="subh svelte-rscx7m"><span> </span> <span class="n svelte-rscx7m"> </span></div> <div class="outline svelte-rscx7m"></div> <!>',1);function _w(e,t){Re(t,!0);const n=()=>Ct(Lt,"$t",s),[s,o]=Pt();function a(w){return w.relation==="implements"?he("members.overrideImplements",w.baseTypeName):he("members.overrideRedeclares",w.baseTypeName)}var i=yw(),l=xe(i),c=f(l),d=f(c),u=p(c,2),h=f(u),v=p(l,2);Te(v,21,()=>t.rows,w=>w.member.id,(w,k)=>{var A=gw();let L;var M=f(A);Bt(M,{get kind(){return r(k).member.kind}});var D=p(M,2),j=f(D),W=p(D,2),K=f(W);{var Z=E=>{var I=pw(),F=f(I);C((q,Y)=>{ae(I,"title",q),_(F,`${Y??""}
4
+ ${r(k).member.overrides.baseTypeName??""}`)},[()=>a(r(k).member.overrides),()=>r(k).member.overrides.relation==="implements"?n()("members.satisfies"):n()("members.overrides")]),b(E,I)};B(K,E=>{r(k).member.overrides&&E(Z)})}var z=p(K,1,!0),U=p(W,2),$=f(U);{var H=E=>{var I=xt();C(()=>_(I,`← ${r(k).member.fanIn??""}`)),b(E,I)};B($,E=>{r(k).member.fanIn&&E(H)})}var x=p($);{var m=E=>{var I=xt(" ");b(E,I)};B(x,E=>{r(k).member.fanIn&&r(k).member.fanOut&&E(m)})}var S=p(x);{var T=E=>{var I=xt();C(()=>_(I,`→ ${r(k).member.fanOut??""}`)),b(E,I)};B(S,E=>{r(k).member.fanOut&&E(T)})}C(()=>{L=De(A,1,"orow svelte-rscx7m",null,L,{nested:r(k).nested,dimmed:r(k).dimmed}),ae(A,"title",`${r(k).member.qualifiedName} — ${r(k).member.file}:${r(k).member.line}`),_(j,r(k).member.name),_(z,r(k).member.signature??"")}),Ce("click",A,()=>t.onopen(r(k).member)),b(w,A)});var y=p(v,2);{var g=w=>{var k=mw(),A=f(k);C(L=>_(A,L),[()=>n()("members.truncated",t.rows.length,t.total)]),b(w,k)};B(y,w=>{t.truncated&&w(g)})}C(w=>{_(d,w),_(h,t.total)},[()=>n()("membersTitle")]),b(e,i),He(),o()}Mt(["click"]);const Ds=24,bw=22,Kp=18,Ec=Kp+8,bf=12;function ww(e,t){const n=[],s=[...e.ancestors.items].sort((u,h)=>h.depth-u.depth||u.name.localeCompare(h.name));for(const u of s)n.push({entry:u,node:u,side:"ancestor",indent:0,index:n.length,word:u.relation});const o=n.length;n.push({entry:null,node:t,side:"focus",indent:0,index:o,word:""});for(const u of e.descendants.items)n.push({entry:u,node:u,side:"descendant",indent:u.depth*bw,index:n.length,word:u.relation});const a=new Map(n.filter(u=>u.side!=="ancestor").map(u=>[u.node.id,u])),i=[];for(let u=0;u<o;u++){const h=n[u],v=n[u+1];!h?.entry||!v||i.push({fromIndex:u,toIndex:u+1,x:Ec,toX:Ec,relation:h.entry.relation,synthesized:h.entry.synthesized})}for(const u of n){if(u.side!=="descendant"||!u.entry)continue;const h=a.get(u.entry.parentId)??n[o];h&&i.push({fromIndex:h.index,toIndex:u.index,x:h.indent+Ec,toX:u.indent+Kp-2,relation:u.entry.relation,synthesized:u.entry.synthesized})}const c=n.length-o-1>bf?o+1+bf:null,d=c===null?[]:n.slice(c);return{rows:n,connectors:i,focusIndex:o,foldFrom:c,foldCount:d.length,foldNoun:xw(d.map(u=>u.entry).filter(u=>!!u)),headline:kw(e,t),note:Ew(e)}}function xw(e){if(e.length===0)return"subtypes";const t=e.filter(n=>n.relation==="implements").length;return t===e.length?"implementations":t===0?"subclasses":"subtypes"}function kw(e,t){return e.polymorphic?`A call through ${t.name} dispatches to ${e.implementers} implementations — no single static target.`:""}function Ew(e){const t=[];return e.descendants.truncated?t.push(`Showing ${e.descendants.shown} of ${e.descendants.total} subtypes`):e.bounded&&t.push("Deeper subtypes exist below the levels walked"),e.ancestors.truncated&&t.push(`${e.ancestors.total-e.ancestors.shown} more supertypes above`),t.join(" · ")}function Sw(e,t){const n=t||e.foldFrom===null?e.rows.length:e.foldFrom;return{rows:e.rows.slice(0,n),connectors:e.connectors.filter(s=>s.toIndex<n&&s.fromIndex<n),height:n*Ds}}function Tw(e){const t=e.fromIndex*Ds+Ds/2,n=e.toIndex*Ds+Ds/2;return e.toX<=e.x?`M ${e.x} ${t} L ${e.x} ${n}`:`M ${e.x} ${t} L ${e.x} ${n} L ${e.toX} ${n}`}var Cw=O('<p class="headline svelte-1ys4zlw"> </p>'),Mw=tn("<path></path>"),Nw=O('<div class="row focus svelte-1ys4zlw"><!> <span class="nm svelte-1ys4zlw"> </span></div>'),wf=O('<span class="pill svelte-1ys4zlw"> </span>'),Aw=O('<button type="button" class="row svelte-1ys4zlw"><!> <span class="nm svelte-1ys4zlw"> </span> <span class="word svelte-1ys4zlw"> </span> <!> <!> <span class="file svelte-1ys4zlw"> </span></button>'),Iw=O('<button type="button" class="fold svelte-1ys4zlw"> </button>'),Pw=O('<div class="note svelte-1ys4zlw"> </div>'),Lw=O('<div class="subh svelte-1ys4zlw"><span> </span> <span class="n svelte-1ys4zlw"> </span> <span class="hint svelte-1ys4zlw"> </span></div> <!> <div class="tree svelte-1ys4zlw"><div class="canvas svelte-1ys4zlw"><svg class="wires svelte-1ys4zlw" width="100%" aria-hidden="true"></svg> <!></div></div> <!> <!>',1);function Ow(e,t){Re(t,!0);const n=()=>Ct(Lt,"$t",s),[s,o]=Pt();let a=ve(!1),i=N(()=>ww(t.hierarchy,t.focus)),l=N(()=>Sw(r(i),r(a)));it(()=>{t.focus.id,R(a,!1)});let c=N(()=>[t.hierarchy.ancestors.total>0?he("hier.above",t.hierarchy.ancestors.total):"",t.hierarchy.direct>0?he("hier.below",t.hierarchy.descendants.total):""].filter(Boolean).join(" · "));function d(x){const m=`${x.node.file}:${x.node.line}`;if(!x.entry)return`${x.node.qualifiedName} — ${m}`;const S=x.entry.synthesized?he("hier.titleWiring",x.entry.via??he("hier.resolver"),x.entry.registeredAt??null):"";return`${x.node.qualifiedName} — ${m}${S}`}var u=Lw(),h=xe(u),v=f(h),y=f(v),g=p(v,2),w=f(g),k=p(g,2),A=f(k),L=p(h,2);{var M=x=>{var m=Cw(),S=f(m);C(()=>_(S,r(i).headline)),b(x,m)};B(L,x=>{r(i).headline&&x(M)})}var D=p(L,2),j=f(D);let W;var K=f(j);Te(K,21,()=>r(l).connectors,nr,(x,m)=>{var S=Mw();let T;C(E=>{ae(S,"d",E),T=De(S,0,"svelte-1ys4zlw",null,T,{dashed:r(m).relation==="implements",synth:r(m).synthesized})},[()=>Tw(r(m))]),b(x,S)});var Z=p(K,2);Te(Z,17,()=>r(l).rows,x=>x.node.id+x.side,(x,m)=>{var S=Tt(),T=xe(S);{var E=F=>{var q=Nw();let Y;var ne=f(q);Bt(ne,{get kind(){return r(m).node.kind}});var ie=p(ne,2),G=f(ie);C(()=>{Y=ht(q,"",Y,{top:`${r(m).index*Ds}px`,"padding-left":`${r(m).indent+18}px`}),_(G,r(m).node.name)}),b(F,q)},I=F=>{var q=Aw();let Y;var ne=f(q);Bt(ne,{get kind(){return r(m).node.kind}});var ie=p(ne,2),G=f(ie),P=p(ie,2),Q=f(P),V=p(P,2);{var X=ue=>{var fe=wf(),te=f(fe);C(ee=>{ae(fe,"title",r(m).entry.registeredAt??""),_(te,ee)},[()=>n()("hier.via",r(m).entry.via??n()("hier.resolver"))]),b(ue,fe)};B(V,ue=>{r(m).entry?.synthesized&&ue(X)})}var le=p(V,2);{var se=ue=>{var fe=wf(),te=f(fe);C(ee=>_(te,ee),[()=>n()("hier.hiddenBelow",r(m).entry.hiddenSubtypes)]),b(ue,fe)};B(le,ue=>{r(m).entry&&r(m).entry.hiddenSubtypes>0&&ue(se)})}var re=p(le,2),de=f(re);C((ue,fe,te)=>{ae(q,"title",ue),Y=ht(q,"",Y,{top:`${r(m).index*Ds}px`,"padding-left":`${r(m).indent+18}px`}),_(G,r(m).node.name),_(Q,fe),_(de,te)},[()=>d(r(m)),()=>r(m).word?r(m).word==="implements"?n()("symbol.implements"):n()("symbol.extends"):"",()=>r(m).node.file===t.focus.file?n()("hier.sameFile"):r(m).node.file]),Ce("click",q,()=>t.onopen(r(m).node)),b(F,q)};B(T,F=>{r(m).side==="focus"?F(E):F(I,-1)})}b(x,S)});var z=p(D,2);{var U=x=>{var m=Iw(),S=f(m);C(T=>_(S,T),[()=>r(a)?n()("hier.fold"):n()("hier.more",r(i).foldCount,r(i).foldNoun)]),Ce("click",m,()=>R(a,!r(a))),b(x,m)};B(z,x=>{r(i).foldFrom!==null&&x(U)})}var $=p(z,2);{var H=x=>{var m=Pw(),S=f(m);C(()=>_(S,r(i).note)),b(x,m)};B($,x=>{r(i).note&&x(H)})}C((x,m)=>{_(y,x),_(w,r(c)),_(A,m),W=ht(j,"",W,{height:`${r(l).height}px`}),ae(K,"height",r(l).height)},[()=>n()("hier.title"),()=>n()("hier.hint")]),b(e,u),He(),o()}Mt(["click"]);const Dw=new Set(["other","ident","comment","string","keyword","number","type","def"]);function Rw(e,t){const n=[];let s=0;for(const[o,a]of e){const i=t[o];n.push({cls:Dw.has(i)?i:"other",text:a,col:s}),s+=a.length}return n}function Hw(e){const t=[],n=/[A-Za-z_$À-￿][\w$À-￿]*/g;let s=0,o;for(;(o=n.exec(e))!==null;)o.index>s&&t.push({cls:"other",text:e.slice(s,o.index),col:s}),t.push({cls:"ident",text:o[0],col:o.index}),s=o.index+o[0].length;return s<e.length&&t.push({cls:"other",text:e.slice(s),col:s}),t}function Nl(e,t,n){const s=new Map;for(let o=0;o<e.length;o++){const a=n?.lines[o];s.set(t+o,a?Rw(a,n.classes):Hw(e[o]))}return s}function du(e){switch(e){case"comment":return"t-c";case"string":return"t-s";case"keyword":return"t-k";case"number":return"t-n";case"def":return"t-def";default:return null}}var xf=O('<div class="gap svelte-ikg4h3"> </div>'),zw=O('<span role="link" tabindex="0"> </span>'),Fw=O('<span class="ref stub svelte-ikg4h3"> </span>'),qw=O('<span class="t-def svelte-ikg4h3"> </span>'),$w=O("<span> </span>"),jw=O("<i></i>"),Bw=O('<div><span class="no svelte-ikg4h3"> </span> <span class="tx svelte-ikg4h3"></span> <span class="port svelte-ikg4h3"><!></span></div>'),Vw=O("<!> <!>",1),Ww=O('<div class="code svelte-ikg4h3"><!> <!></div>');function Kw(e,t){Re(t,!0);let n=N(()=>t.block.windows.map((u,h)=>({gapBefore:h===0?0:t.block.gapsAfter[h-1]??0,lines:u.lines.map((v,y)=>{const g=u.start+y,w=t.tokens.get(g)??[{cls:"other",text:v,col:0}],k=t.refs.get(g)??[],A=Ml(w,k);return{n:g,parts:s(w,A,g===t.defLine?t.defName:null),port:o(k),targets:[...new Set(k.map(L=>L.targetId).filter(L=>!!L))]}})})));function s(u,h,v){return u.map((y,g)=>{const w=h.get(g)??null;return{text:y.text,cls:w?null:du(y.cls),ref:w,def:!w&&v!==null&&y.text===v&&y.cls!=="comment"&&y.cls!=="string"}})}function o(u){return u.length===0?null:u.some(h=>!h.uncertain&&!h.outside)?"sure":"unsure"}function a(u){return u.n===t.highlight||u.targets.some(h=>qt.is(h))}var i=Ww(),l=f(i);Te(l,17,()=>r(n),u=>u.lines[0]?.n??-1,(u,h)=>{var v=Vw(),y=xe(v);{var g=k=>{var A=xf(),L=f(A);C(()=>_(L,`⋯ ${r(h).gapBefore??""} lines without calls`)),b(k,A)};B(y,k=>{r(h).gapBefore>0&&k(g)})}var w=p(y,2);Te(w,17,()=>r(h).lines,k=>k.n,(k,A)=>{var L=Bw();let M;var D=f(L),j=f(D),W=p(D,2);Te(W,21,()=>r(A).parts,nr,(U,$)=>{var H=Tt(),x=xe(H);{var m=F=>{const q=N(()=>r($).ref);var Y=zw();let ne;var ie=f(Y);C(G=>{ne=De(Y,1,"ref svelte-ikg4h3",null,ne,G),ae(Y,"title",r(q).title),_(ie,r($).text)},[()=>({uncertain:r(q).uncertain,hot:qt.is(r(q).targetId)})]),Ce("click",Y,()=>t.onfollow(r(q))),Ce("keydown",Y,G=>{(G.key==="Enter"||G.key===" ")&&(G.preventDefault(),t.onfollow(r(q)))}),st("mouseenter",Y,()=>qt.set(r(q).targetId)),st("mouseleave",Y,()=>qt.clear(r(q).targetId)),b(F,Y)},S=F=>{var q=Fw(),Y=f(q);C(()=>{ae(q,"title",r($).ref.title),_(Y,r($).text)}),b(F,q)},T=F=>{var q=qw(),Y=f(q);C(()=>_(Y,r($).text)),b(F,q)},E=F=>{var q=$w(),Y=f(q);C(()=>{De(q,1,Zs(r($).cls),"svelte-ikg4h3"),_(Y,r($).text)}),b(F,q)},I=F=>{var q=xt();C(()=>_(q,r($).text)),b(F,q)};B(x,F=>{r($).ref&&!r($).ref.outside?F(m):r($).ref?F(S,1):r($).def?F(T,2):r($).cls?F(E,3):F(I,-1)})}b(U,H)});var K=p(W,2),Z=f(K);{var z=U=>{var $=jw();let H;C(()=>H=De($,1,"svelte-ikg4h3",null,H,{sure:r(A).port==="sure"})),b(U,$)};B(Z,U=>{r(A).port&&U(z)})}C(U=>{M=De(L,1,"ln svelte-ikg4h3",null,M,U),ae(L,"data-line",r(A).n),_(j,r(A).n)},[()=>({hot:a(r(A))})]),b(k,L)}),b(u,v)});var c=p(l,2);{var d=u=>{var h=xf(),v=f(h);C(()=>_(v,`⋯ ${t.block.tailGap??""} more lines`)),b(u,h)};B(c,u=>{t.block.tailGap>0&&u(d)})}b(e,i),He()}Mt(["click","keydown"]);var Gw=O('<span class="sep svelte-f6j7rg">›</span>'),Uw=O('<!><button type="button" class="svelte-f6j7rg"> </button>',1),Yw=O('<div class="parents mono svelte-f6j7rg"> <!></div>'),Xw=O('<span class="badge svelte-f6j7rg"> </span>'),Zw=O('<span class="badge hub svelte-f6j7rg"> </span>'),Qw=O('<div class="sig svelte-f6j7rg"> </div>'),Jw=O('<div class="doc svelte-f6j7rg"> </div>'),e0=O(' <button type="button" class="chip svelte-f6j7rg"> </button>',1),t0=O('<span class="svelte-f6j7rg"></span>'),kf=O('<button type="button" class="chip svelte-f6j7rg"> </button>'),n0=O('<span class="svelte-f6j7rg"> <!></span>'),r0=O('<span class="dim"> </span>'),s0=O('<span class="svelte-f6j7rg"> <!> <!></span>'),o0=O('<div class="rel svelte-f6j7rg"><!> <!> <!></div>'),a0=O('<div class="card-h svelte-f6j7rg"><!> <h1 class="svelte-f6j7rg"> </h1> <span class="kindword svelte-f6j7rg"> </span> <span class="loc mono svelte-f6j7rg"><a class="svelte-f6j7rg"> </a> </span></div> <!> <div class="badges svelte-f6j7rg"><!> <!> <span><span class="sw svelte-f6j7rg"></span> </span></div> <!> <!> <!>',1);function i0(e,t){Re(t,!0);const n=()=>Ct(Lt,"$t",s),[s,o]=Pt();let a=Ne(t,"relationChips",3,!0),i=N(()=>t.payload.node),l=N(()=>t.payload.tests),c=N(()=>a()?t.payload.outgoing.items.filter(G=>G.edgeKinds.some(P=>P==="extends"||P==="implements")):[]),d=N(()=>a()?t.payload.incoming.items.filter(G=>G.edgeKinds.some(P=>P==="extends"||P==="implements")):[]);const u=12;let h=N(()=>t.payload.typesUsed.slice(0,u)),v=N(()=>r(l).reached?{warn:!1,text:he("symbol.testReached",r(l).fileCount,r(l).hopsSearched),title:r(l).files.join(", ")}:{warn:!0,text:r(l).exhaustive?he("symbol.testMissedExhaustive",r(l).hopsSearched):he("symbol.testMissedDirect"),title:r(l).exhaustive?he("symbol.testMissedExhaustiveTitle"):he("symbol.testMissedDirectTitle")});var y=a0(),g=xe(y),w=f(g);Bt(w,{get kind(){return r(i).kind},titled:!0});var k=p(w,2),A=f(k),L=p(k,2),M=f(L),D=p(L,2),j=f(D),W=f(j),K=p(j),Z=p(g,2);{var z=G=>{var P=Yw(),Q=f(P),V=p(Q);Te(V,19,()=>t.payload.ancestors,X=>X.id,(X,le,se)=>{var re=Uw(),de=xe(re);{var ue=ee=>{var ce=Gw();b(ee,ce)};B(de,ee=>{r(se)>0&&ee(ue)})}var fe=p(de),te=f(fe);C(()=>_(te,r(le).name)),Ce("click",fe,()=>t.onopen(r(le))),b(X,re)}),C(X=>_(Q,`${X??""} `),[()=>n()("symbol.in")]),b(G,P)};B(Z,G=>{t.payload.ancestors.length>0&&G(z)})}var U=p(Z,2),$=f(U);{var H=G=>{var P=Xw(),Q=f(P);C(V=>_(Q,V),[()=>n()("symbol.exported")]),b(G,P)};B($,G=>{r(i).exported&&G(H)})}var x=p($,2);{var m=G=>{var P=Zw(),Q=f(P);C((V,X)=>{ae(P,"title",V),_(Q,X)},[()=>n()("symbol.hubTitle"),()=>n()("symbol.hub",t.payload.counts.callers)]),b(G,P)};B(x,G=>{t.payload.counts.hub&&G(m)})}var S=p(x,2);let T;var E=p(f(S),1,!0),I=p(U,2);{var F=G=>{var P=Qw(),Q=f(P);C(()=>_(Q,`${r(i).name??""}${r(i).signature??""}`)),b(G,P)};B(I,G=>{r(i).signature&&G(F)})}var q=p(I,2);{var Y=G=>{var P=Jw(),Q=f(P);C(()=>_(Q,r(i).docstring)),b(G,P)};B(q,G=>{r(i).docstring&&G(Y)})}var ne=p(q,2);{var ie=G=>{var P=o0(),Q=f(P);{var V=de=>{var ue=t0();Te(ue,21,()=>r(c),fe=>fe.node.id,(fe,te)=>{var ee=e0(),ce=xe(ee),J=p(ce),oe=f(J);C(be=>{_(ce,`${be??""} `),_(oe,r(te).node.name)},[()=>r(te).edgeKinds.includes("implements")?n()("symbol.implements"):n()("symbol.extends")]),Ce("click",J,()=>t.onopen(r(te).node)),b(fe,ee)}),b(de,ue)};B(Q,de=>{r(c).length>0&&de(V)})}var X=p(Q,2);{var le=de=>{var ue=n0(),fe=f(ue),te=p(fe);Te(te,17,()=>r(d),ee=>ee.node.id,(ee,ce)=>{var J=kf(),oe=f(J);C(()=>_(oe,r(ce).node.name)),Ce("click",J,()=>t.onopen(r(ce).node)),b(ee,J)}),C(ee=>_(fe,`${ee??""} `),[()=>r(d)[0]?.edgeKinds.includes("implements")?n()("symbol.implementedBy"):n()("symbol.extendedBy")]),b(de,ue)};B(X,de=>{r(d).length>0&&de(le)})}var se=p(X,2);{var re=de=>{var ue=s0(),fe=f(ue),te=p(fe);Te(te,17,()=>r(h),J=>J.node.id,(J,oe)=>{var be=kf(),_e=f(be);C(()=>_(_e,r(oe).node.name)),Ce("click",be,()=>t.onopen(r(oe).node)),b(J,be)});var ee=p(te,2);{var ce=J=>{var oe=r0(),be=f(oe);C(()=>_(be,`+${t.payload.typesUsed.length-u}`)),b(J,oe)};B(ee,J=>{t.payload.typesUsed.length>u&&J(ce)})}C(J=>_(fe,`${J??""} `),[()=>n()("symbol.usesTypes")]),b(de,ue)};B(se,de=>{r(h).length>0&&de(re)})}b(G,P)};B(ne,G=>{(r(c).length>0||r(d).length>0||r(h).length>0)&&G(ie)})}C((G,P,Q)=>{_(A,r(i).name),_(M,G),ae(j,"href",P),_(W,r(i).file),_(K,`:${r(i).line??""}–${r(i).endLine??""}
5
+ · ${Q??""}`),T=De(S,1,"badge svelte-f6j7rg",null,T,{warn:r(v).warn}),ae(S,"title",r(v).title),_(E,r(v).text)},[()=>k1(r(i)),()=>hn(r(i).file,{line:r(i).line}),()=>n()("symbol.lines",r(i).lines)]),b(e,y),He(),o()}Mt(["click"]);var l0=O('<div class="drift svelte-lsm7el" role="status"><span class="glyph svelte-lsm7el" aria-hidden="true">⚠</span> <span class="body svelte-lsm7el"><!><!></span></div>');function Zi(e,t){Re(t,!0);const n=()=>Ct(Lt,"$t",s),[s,o]=Pt();var a=l0(),i=p(f(a),2),l=f(i);Gt(l,()=>n()("drift",t.file));var c=p(l);jn(c,()=>t.children),b(e,a),He(),o()}let Ns=ve(null),gd=ve(null),ua=null;function Ef(){return ua||(ua=I_().then(e=>{R(Ns,e,!0),R(gd,null)}).catch(e=>{R(gd,e instanceof Error?e.message:String(e),!0)}),ua)}const Kr={get stats(){return r(Ns)},get error(){return r(gd)},get name(){return r(Ns)?.project.name??null},get summary(){if(!r(Ns))return null;const e=t=>t.toLocaleString();return`${e(r(Ns).graph.nodes)} symbols · ${e(r(Ns).graph.edges)} edges · ${e(r(Ns).graph.files)} files indexed`},ensure:Ef,reload(){return ua=null,Ef()}};var c0=O('<p class="dim"> </p>'),d0=O('<div class="scroll svelte-1cxnzx"><div class="emptystate"><h2> </h2> <p> </p> <!></div></div>'),u0=O('<div class="scroll svelte-1cxnzx"><div class="emptystate"><p class="dim"> </p></div></div>'),f0=O(" <a> </a> ",1),v0=O('<div class="banner svelte-1cxnzx"><!></div>'),h0=O('<div class="note svelte-1cxnzx"> </div>'),p0=O('<div class="focus svelte-1cxnzx"><aside class="rail-left svelte-1cxnzx"><!></aside> <div class="stage svelte-1cxnzx"><div class="stage-inner svelte-1cxnzx"><!> <section class="center svelte-1cxnzx"><!> <!> <!> <!> <!> <!></section> <aside class="rail-right svelte-1cxnzx"><!></aside></div></div></div>');function g0(e,t){Re(t,!0);const n=()=>Ct(Lt,"$t",s),[s,o]=Pt(),a=34,i=6,l=38,c=400,d=new Map;let u=ve(null),h=ve(null),v=ve(null),y=ve(!0),g=ve(null),w=ve(null),k=ve(null),A=ve(null),L=ve(kn([])),M=ve(0),D=ve(0),j=ve(0),W=ve(kn([])),K=ve(kn({width:0,height:0})),Z=ve(!1);it(()=>{const pe=t.id,me=new AbortController;return rn(()=>U(pe,me.signal)),()=>me.abort()});let z=null;lu(()=>r(u)?.node.file??null,()=>{const pe=t.id;z?.abort(),z=new AbortController,U(pe,z.signal,!0)});async function U(pe,me,Se=!1){Se||(R(y,!0),R(v,null),R(u,null),R(h,null),Yn.reset(),qt.set(null),R(Z,!1)),Kr.ensure();let Me;try{Me=await P_(pe,me)}catch(ze){if(me.aborted)return;if(Se&&H(ze).code==="not-found"&&r(u)!==null){const Ue=await $(r(u).node,me);if(me.aborted)return;if(Ue!==null){Ut.rename(pe,Ue),$t(_n(Ue.id,{trail:Xr(Ut.hops)}),{replace:!0});return}}R(v,H(ze),!0),R(y,!1);return}if(!me.aborted){if(R(u,Me,!0),R(v,null),R(y,!1),Ut.resolve(pe,{name:Me.node.name,kind:Me.node.kind}),!af(Me.node.kind,Me.node.lines)){R(h,null);return}try{const ze=Me.drift?await cd(Me.node.file,1,0,me,"current"):await cd(Me.node.file,Me.node.line,Me.node.endLine,me);me.aborted||R(h,ze,!0)}catch{me.aborted||R(h,null)}}}async function $(pe,me){try{const Me=(await kp(pe.file,me)).outline.items.filter(ze=>ze.name===pe.name&&ze.kind===pe.kind);return Me.length===0?null:Me.reduce((ze,Ue)=>Math.abs(Ue.line-pe.line)<Math.abs(ze.line-pe.line)?Ue:ze)}catch{return null}}function H(pe){return pe instanceof rr?pe:new rr(0,"error",pe instanceof Error?pe.message:String(pe),null)}let x=N(()=>r(u)?w1(r(u)):null),m=N(()=>r(u)?b1(r(u)):null),S=N(()=>r(u)?m1(r(u)):new Map),T=N(()=>r(u)?x1(r(u)):[]),E=N(()=>r(u)?af(r(u).node.kind,r(u).node.lines):!1),I=N(()=>r(h)?.showing==="current"),F=N(()=>r(u)?.drift===!0&&(r(h)===null||(r(h).totalLines??0)>c)),q=N(()=>{if(!r(u)||!r(h)?.lines)return null;if(r(I))return r(F)?null:of(r(h).from??1,r(h).lines,[]);const pe=r(h).from??r(u).node.line;return of(pe,r(h).lines,y1(r(u)))}),Y=N(()=>r(h)?.lines?Nl(r(h).lines,r(h).from??1,r(h).highlight):new Map),ne=N(X1),ie=N(()=>r(ne)?.rail==="left"?r(ne).id:null),G=N(()=>r(ne)?.rail==="right"?r(ne).id:null);function P(){return r(u)?r(E)?he("symbol.emptyCalleeLeaf"):he("symbol.emptyCalleeNoBody",Va(r(u).node.kind)):""}function Q(pe){Mr(pe,"down")}function V(pe,me){Mr(pe,"up",me)}function X(pe){Mr(pe,"start")}function le(pe){if(!pe.targetId)return;const me=r(u)?.outgoing.items.find(Se=>Se.node.id===pe.targetId)?.node??r(u)?.typesUsed.find(Se=>Se.node.id===pe.targetId)?.node;me&&Mr(me,"down")}function se(){return(r(x)?.groups??[]).flatMap(pe=>pe.rows.map(me=>me.relation.node))}function re(){return(r(m)?.rows??[]).map(pe=>pe.relation.node)}function de(){return Yn.rail==="left"?se():re()}function ue(pe){if(pe.defaultPrevented||pe.metaKey||pe.ctrlKey||pe.altKey)return;const me=pe.target;if(!(me instanceof HTMLElement&&(me.isContentEditable||me instanceof HTMLInputElement||me instanceof HTMLTextAreaElement||me instanceof HTMLSelectElement))&&r(u)){switch(pe.key){case"ArrowLeft":Yn.switchTo("left");break;case"ArrowRight":Yn.switchTo("right");break;case"ArrowDown":case"j":Yn.step(1,de().length);break;case"ArrowUp":case"k":Yn.step(-1,de().length);break;case"Enter":{const Se=de()[Yn.index];Se&&(pe.preventDefault(),Yn.rail==="left"?V(Se):Q(Se));return}default:return}pe.preventDefault(),Wi().then(()=>{(Yn.rail==="left"?r(A):r(k))?.querySelectorAll('[role="button"]')[Yn.index]?.scrollIntoView({block:"nearest"})})}}function fe(){const pe=r(g),me=r(w),Se=r(k),Me=r(m)?.rows??[];if(!pe||!me||!Se)return;const ze=Se.querySelector("[data-rail-header]")?.offsetHeight??l,Ue=!r(I),$e=je=>{if(!Ue)return null;const Ge=me.querySelector(`[data-line="${je}"]`);return Ge?Ge.offsetTop+Ge.offsetHeight/2:null};let Ye=ze+14;const at=[],pt=[];for(const je of Me){const Ge=je.anchor!==null?$e(je.anchor):null,lt=Ge!==null?Ge-a/2:Ye;Ye=Math.max(lt,Ye),at.push(Ye),pt.push(Ye+a/2),Ye+=a+i}const Ot=Ye+8;if((r(m)?.uncertain.length??0)>0){const je=Se.querySelector("[data-rail-fold]");Ye=Ot+(je?.offsetHeight??30)}const Nt=Ye+14;R(L,at,!0),R(M,Ot),R(D,Nt),R(j,Math.max(me.offsetHeight,Nt+60),!0);const ye=me.offsetLeft+me.offsetWidth-10,ge=Se.offsetLeft+14,ke=(ye+ge)/2,Ee=[];Me.forEach((je,Ge)=>{const lt=pt[Ge];if(lt==null)return;const ct=Wa(je.relation);for(const Dt of je.lines){const Rt=$e(Dt);Rt!==null&&Ee.push({d:`M${ye},${Rt} C${ke},${Rt} ${ke},${lt} ${ge},${lt}`,targetId:je.relation.node.id,uncertain:je.relation.uncertain,heuristic:ct!==null,origin:je.relation.node.id===r(G)})}}),R(W,Ee,!0),R(K,{width:pe.scrollWidth,height:Math.max(pe.offsetHeight,r(j))},!0),R(Z,!0)}let te=!1;function ee(){te||(te=!0,requestAnimationFrame(()=>{te=!1,fe()}))}it(()=>{r(q),r(m),r(T),r(u),Wi().then(ee)}),it(()=>{const pe=r(g),me=r(w),Se=r(k);if(!pe||!me||!Se)return;const Me=new ResizeObserver(ee);return Me.observe(pe),Me.observe(me),Me.observe(Se),pe.addEventListener("toggle",ee,!0),document.fonts?.ready.then(ee),()=>{Me.disconnect(),pe.removeEventListener("toggle",ee,!0)}});let ce=null;it(()=>{const pe=t.line===null?null:`${t.id}:${t.line}`,me=r(w);if(!pe||!me||!r(q)||ce===pe)return;const Se=me.querySelector(`[data-line="${t.line}"]`);Se&&(ce=pe,Se.scrollIntoView({block:"center"}))});var J=Tt();st("keydown",xn,ue);var oe=xe(J);{var be=pe=>{var me=d0(),Se=f(me),Me=f(Se),ze=f(Me),Ue=p(Me,2),$e=f(Ue),Ye=p(Ue,2);{var at=pt=>{var Ot=c0(),Nt=f(Ot);C(()=>_(Nt,r(v).guidance)),b(pt,Ot)};B(Ye,pt=>{r(v).guidance&&pt(at)})}C(pt=>{_(ze,pt),_($e,r(v).message)},[()=>r(v).code==="not-found"?n()("symbol.notFoundTitle"):n()("symbol.loadFailed")]),b(pe,me)},_e=pe=>{var me=u0(),Se=f(me),Me=f(Se),ze=f(Me);C(Ue=>_(ze,Ue),[()=>n()("loading")]),b(pe,me)},Ie=pe=>{var me=p0(),Se=f(me),Me=f(Se);{let Ae=N(()=>r(u).node.exported===!0);sw(Me,{get model(){return r(x)},get originId(){return r(ie)},get exported(){return r(Ae)},onstepUp:V})}Zt(Se,Ae=>R(A,Ae),()=>r(A));var ze=p(Se,2),Ue=f(ze);let $e;var Ye=f(Ue);Wp(Ye,{get connectors(){return r(W)},get width(){return r(K).width},get height(){return r(K).height}});var at=p(Ye,2),pt=f(at);{let Ae=N(()=>!r(u).hierarchy);i0(pt,{get payload(){return r(u)},onopen:X,get relationChips(){return r(Ae)}})}var Ot=p(pt,2);{var Nt=Ae=>{var Qe=v0(),Xe=f(Qe);Zi(Xe,{get file(){return r(u).node.file},children:(Ke,Be)=>{var nt=Tt(),Le=xe(nt);{var Je=gt=>{var bt=f0(),It=xe(bt),zt=p(It),Jt=f(zt),Qt=p(zt);C((dn,Mn,rt,Fe)=>{_(It,`${dn??""} `),ae(zt,"href",Mn),_(Jt,rt),_(Qt,`.${Fe??""}`)},[()=>n()("symbol.driftTooLong"),()=>hn(r(u).node.file,{source:!0}),()=>n()("symbol.driftOpen"),()=>n()("symbol.driftNext")]),b(gt,bt)},dt=gt=>{var bt=xt();C(It=>_(bt,It),[()=>n()("symbol.driftShort")]),b(gt,bt)};B(Le,gt=>{r(F)?gt(Je):gt(dt,-1)})}b(Ke,nt)},$$slots:{default:!0}}),b(Ae,Qe)};B(Ot,Ae=>{r(u).drift&&Ae(Nt)})}var ye=p(Ot,2);{var ge=Ae=>{Ow(Ae,{get hierarchy(){return r(u).hierarchy},get focus(){return r(u).node},onopen:X})};B(ye,Ae=>{r(u).hierarchy&&Ae(ge)})}var ke=p(ye,2);{var Ee=Ae=>{{let Qe=N(()=>r(I)?d:r(S)),Xe=N(()=>r(I)?-1:r(u).node.line),Ke=N(()=>r(I)?"":r(u).node.name),Be=N(()=>r(I)?null:t.line);Kw(Ae,{get block(){return r(q)},get tokens(){return r(Y)},get refs(){return r(Qe)},get defLine(){return r(Xe)},get defName(){return r(Ke)},get highlight(){return r(Be)},onfollow:le})}},je=Ae=>{},Ge=Ae=>{},lt=Ae=>{var Qe=h0(),Xe=f(Qe);C(Ke=>_(Xe,Ke),[()=>r(h).reason??n()("symbol.sourceUnavailable")]),b(Ae,Qe)};B(ke,Ae=>{r(q)?Ae(Ee):r(u).drift?Ae(je,1):r(E)?r(h)&&Ae(lt,3):Ae(Ge,2)})}var ct=p(ke,2);{var Dt=Ae=>{_w(Ae,{get rows(){return r(T)},get total(){return r(u).members.total},get truncated(){return r(u).members.truncated},onopen:X})};B(ct,Ae=>{r(T).length>0&&Ae(Dt)})}var Rt=p(ct,2);{var Wt=Ae=>{{let Qe=N(()=>Kr.stats?.blastScale??null);hw(Ae,{get blast(){return r(u).blast},get scale(){return r(Qe)},get testCalls(){return r(x).tests.calls},get testFiles(){return r(x).tests.files.length}})}};B(Rt,Ae=>{r(u).blast&&Ae(Wt)})}Zt(at,Ae=>R(w,Ae),()=>r(w));var At=p(at,2),tt=f(At);{let Ae=N(P);Xb(tt,{get model(){return r(m)},get tops(){return r(L)},get foldTop(){return r(M)},get noteTop(){return r(D)},get placed(){return r(Z)},get focalFile(){return r(u).node.file},get originId(){return r(G)},get emptyReason(){return r(Ae)},onstepDown:Q})}Zt(At,Ae=>R(k,Ae),()=>r(k)),Zt(Ue,Ae=>R(g,Ae),()=>r(g)),C((Ae,Qe)=>{ae(Se,"aria-label",Ae),$e=ht(Ue,"",$e,{"min-height":`${r(j)}px`}),ae(At,"aria-label",Qe)},[()=>n()("rails.calledBy"),()=>n()("rails.calls")]),b(pe,me)};B(oe,pe=>{r(v)?pe(be):r(y)||!r(u)||!r(x)||!r(m)?pe(_e,1):pe(Ie,-1)})}b(e,J),He(),o()}const m0=new Set(["property","field","enum_member","variable","constant"]),Gp=250,as=28;function y0(e){return e?e.symbols.filter(t=>t.kind!=="file"):[]}function Sf(e,t,n=[]){const s=new Map(t.map(i=>[i.file,i])),o=[...new Set(e)].map(i=>{const l=s.get(i),c=y0(l);return{path:i,test:l?.test??_0(i),imported:l!==void 0,symbols:c,symbolCount:c.length}});o.sort((i,l)=>Number(i.test)-Number(l.test)||i.path.localeCompare(l.path));const a=new Map;for(const i of n){const l=a.get(i.name);l?l.push(i.line):a.set(i.name,[i.line])}return{rows:o,total:o.length,testCount:o.filter(i=>i.test).length,outside:[...a.entries()].map(([i,l])=>({name:i,lines:[...l].sort((c,d)=>c-d)})).sort((i,l)=>i.name.localeCompare(l.name))}}function _0(e){return/(^|\/)(__tests__|__mocks__|__fixtures__|tests?|spec|fixtures)(\/|$)/.test(e)||/\.(test|spec)\.[a-z0-9]+$/i.test(e)}function b0(e){return e.outline.items.map(t=>({entry:t,indent:Math.min(t.depth,3),dimmed:m0.has(t.kind)}))}function Up(e){return!Number.isFinite(e)||e<0?"—":e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}var Tf=O("<div></div>"),w0=O('<button type="button"><!> <span class="nm svelte-3o11pb"> </span> <span class="sig svelte-3o11pb"> </span> <span class="cnt svelte-3o11pb"> <!><!></span></button>'),x0=O(`<div class="note svelte-3o11pb">Nothing was extracted from this file — it holds no symbols the graph
6
+ recognises, only top-level code, or a language without an extractor.</div>`),k0=O('<div class="note svelte-3o11pb"> </div>'),E0=O('<div class="subh svelte-3o11pb"><span> </span> <span class="n svelte-3o11pb"> </span> <span class="n count svelte-3o11pb"> </span></div> <div class="outline svelte-3o11pb"><!> <!> <!></div> <!> <!>',1);function S0(e,t){Re(t,!0);const n=()=>Ct(Lt,"$t",s),[s,o]=Pt();let a=Ne(t,"scroller",7),i=Ne(t,"selected",19,()=>-1),l=ve(null),c=ve(0),d=ve(0),u=N(()=>t.rows.length>Gp),h=N(()=>{if(!r(u))return{start:0,end:t.rows.length,before:0,after:0};const m=r(l)?r(l).offsetTop:0,S=Math.floor((r(c)-m)/as)-8,T=Math.ceil((r(d)||800)/as)+16,E=Math.max(0,Math.min(t.rows.length-1,S)),I=Math.max(E,Math.min(t.rows.length,E+T));return{start:E,end:I,before:E*as,after:(t.rows.length-I)*as}});it(()=>{if(i()<0||!a()||!r(l))return;const m=r(l).offsetTop+i()*as,S=m+as;m<a().scrollTop?a().scrollTop=m-as:S>a().scrollTop+a().clientHeight&&(a().scrollTop=S-a().clientHeight+as)}),it(()=>{const m=a();if(!m)return;const S=()=>{R(c,m.scrollTop,!0),R(d,m.clientHeight,!0)};S(),m.addEventListener("scroll",S,{passive:!0});const T=new ResizeObserver(S);return T.observe(m),()=>{m.removeEventListener("scroll",S),T.disconnect()}});var v=E0(),y=xe(v),g=f(y),w=f(g),k=p(g,2),A=f(k),L=p(k,2),M=f(L),D=p(y,2),j=f(D);{var W=m=>{var S=Tf();let T;C(()=>T=ht(S,"",T,{height:`${r(h).before}px`})),b(m,S)};B(j,m=>{r(h).before>0&&m(W)})}var K=p(j,2);Te(K,19,()=>t.rows.slice(r(h).start,r(h).end),m=>m.entry.id,(m,S,T)=>{const E=N(()=>r(h).start+r(T));var I=w0();let F,q;var Y=f(I);Bt(Y,{get kind(){return r(S).entry.kind}});var ne=p(Y,2),ie=f(ne),G=p(ne,2),P=f(G),Q=p(G,2),V=f(Q),X=p(V);{var le=de=>{var ue=xt();C(()=>_(ue,` · ← ${r(S).entry.fanIn??""}`)),b(de,ue)};B(X,de=>{r(S).entry.fanIn&&de(le)})}var se=p(X);{var re=de=>{var ue=xt();C(()=>_(ue,` ·
7
+ → ${r(S).entry.fanOut??""}`)),b(de,ue)};B(se,de=>{r(S).entry.fanOut&&de(re)})}C(de=>{F=De(I,1,"orow svelte-3o11pb",null,F,{dimmed:r(S).dimmed,sel:r(E)===i()}),ae(I,"title",de),q=ht(I,"",q,{"padding-left":`${4+r(S).indent*22}px`}),_(ie,r(S).entry.name),_(P,r(S).entry.signature??""),_(V,r(S).entry.line)},[()=>n()("outline.lineTitle",r(S).entry.qualifiedName,r(S).entry.line)]),Ce("click",I,()=>t.onopen(r(S).entry)),st("mouseenter",I,()=>t.onhover?.(r(E))),b(m,I)});var Z=p(K,2);{var z=m=>{var S=Tf();let T;C(()=>T=ht(S,"",T,{height:`${r(h).after}px`})),b(m,S)};B(Z,m=>{r(h).after>0&&m(z)})}Zt(D,m=>R(l,m),()=>r(l));var U=p(D,2);{var $=m=>{var S=x0();b(m,S)};B(U,m=>{t.rows.length===0&&m($)})}var H=p(U,2);{var x=m=>{var S=k0(),T=f(S);C(()=>_(T,`Showing ${t.rows.length??""} of ${t.total??""} symbols. The rest are in the index; this
8
+ screen caps what it draws.`)),b(m,S)};B(H,m=>{t.truncated&&m(x)})}C((m,S)=>{_(w,m),_(A,S),_(M,t.total)},[()=>n()("outlineTitle"),()=>n()("outline.sourceOrder")]),b(e,v),He(),o()}Mt(["click"]);var T0=O('<div class="note svelte-122bwap"> </div>'),Cf=O('<span class="n2 svelte-122bwap"> </span>'),C0=O('<a><span class="p svelte-122bwap"><span class="dir svelte-122bwap"> </span><span class="base svelte-122bwap"> </span></span> <!></a>'),M0=O('<div class="note dim svelte-122bwap"> </div>'),N0=O('<div class="filerow outside svelte-122bwap"><span class="p svelte-122bwap"><span class="dir svelte-122bwap"> </span></span> <!></div>'),A0=O('<div class="sub svelte-122bwap"> <span class="n svelte-122bwap"> </span></div> <!> <div class="note dim svelte-122bwap"> </div>',1),I0=O('<div><div class="rail-h svelte-122bwap"><span> <span class="n svelte-122bwap"> </span></span></div> <!> <!> <!> <!></div>');function Mf(e,t){Re(t,!0);const n=()=>Ct(Lt,"$t",s),[s,o]=Pt();let a=Ne(t,"selected",19,()=>-1);function i(K){const Z=K.lastIndexOf("/");return Z<0?"":K.slice(0,Z+1)}function l(K){return K.slice(K.lastIndexOf("/")+1)}function c(K){if(K.symbols.length===0)return K.path;const Z=K.symbols.map(U=>U.name).join(", "),z=K.symbolCount>K.symbols.length?", …":"";return`${K.path} — ${Z}${z}`}var d=I0();let u;var h=f(d),v=f(h),y=f(v),g=p(y),w=f(g),k=p(h,2);{var A=K=>{var Z=T0(),z=f(Z);C(()=>_(z,t.emptyNote)),b(K,Z)};B(k,K=>{t.model.rows.length===0&&K(A)})}var L=p(k,2);Te(L,19,()=>t.model.rows,K=>K.path,(K,Z,z)=>{var U=C0();let $;var H=f(U),x=f(H),m=f(x),S=p(x),T=f(S),E=p(H,2);{var I=F=>{var q=Cf(),Y=f(q);C(()=>_(Y,r(Z).symbolCount)),b(F,q)};B(E,F=>{r(Z).symbolCount>0&&F(I)})}C((F,q,Y,ne)=>{$=De(U,1,"filerow svelte-122bwap",null,$,{test:r(Z).test,sel:r(z)===a()}),ae(U,"href",F),ae(U,"title",q),_(m,Y),_(T,ne)},[()=>hn(r(Z).path),()=>c(r(Z)),()=>i(r(Z).path),()=>l(r(Z).path)]),st("mouseenter",U,()=>t.onhover?.(r(z))),b(K,U)});var M=p(L,2);{var D=K=>{var Z=M0(),z=f(Z);C(U=>_(z,U),[()=>n()("file.testFilesEnd",t.model.testCount)]),b(K,Z)};B(M,K=>{t.model.testCount>0&&t.model.testCount<t.model.rows.length&&K(D)})}var j=p(M,2);{var W=K=>{var Z=A0(),z=xe(Z),U=f(z),$=p(U),H=f($),x=p(z,2);Te(x,17,()=>t.model.outside,T=>T.name,(T,E)=>{var I=N0(),F=f(I),q=f(F),Y=f(q),ne=p(F,2);{var ie=G=>{var P=Cf(),Q=f(P);C(()=>_(Q,`×${r(E).lines.length??""}`)),b(G,P)};B(ne,G=>{r(E).lines.length>1&&G(ie)})}C(G=>{ae(I,"title",G),_(Y,r(E).name)},[()=>n()("file.importedAt",r(E).lines.join(", "))]),b(T,I)});var m=p(x,2),S=f(m);C((T,E)=>{_(U,`${T??""} `),_(H,t.model.outside.length),_(S,E)},[()=>n()("file.outsideIndex"),()=>n()("file.outsideNote")]),b(K,Z)};B(j,K=>{t.model.outside.length>0&&K(W)})}C(()=>{u=De(d,1,"rail svelte-122bwap",null,u,{right:t.side==="right"}),ae(d,"aria-label",t.title),_(y,`${t.title??""} `),_(w,t.model.total)}),b(e,d),He(),o()}var P0=O('<nav class="modes svelte-a9lqu6"><a> </a> <a> </a></nav>');function Yp(e,t){Re(t,!0);const n=()=>Ct(Lt,"$t",s),[s,o]=Pt();var a=P0(),i=f(a);let l;var c=f(i),d=p(i,2);let u;var h=f(d);C((v,y,g,w,k)=>{ae(a,"aria-label",v),l=De(i,1,"mode svelte-a9lqu6",null,l,{on:!t.source}),ae(i,"href",y),ae(i,"aria-current",t.source?void 0:"page"),_(c,g),u=De(d,1,"mode svelte-a9lqu6",null,u,{on:t.source}),ae(d,"href",w),ae(d,"aria-current",t.source?"page":void 0),_(h,k)},[()=>n()("fileMode.aria"),()=>hn(t.path,t.line?{line:t.line}:{}),()=>n()("fileModeOutline"),()=>hn(t.path,{source:!0,...t.line?{line:t.line}:{}}),()=>n()("fileModeSource")]),b(e,a),He(),o()}var L0=O('<p class="dim"> </p>'),O0=O('<div class="scroll svelte-1dtvc8r"><div class="emptystate"><h2> </h2> <p class="mono"> </p> <p> </p> <!></div></div>'),D0=O('<div class="scroll svelte-1dtvc8r"><div class="emptystate"><p class="dim"> </p></div></div>'),R0=O('<span class="badge svelte-1dtvc8r"> <button type="button" class="linkish svelte-1dtvc8r"> </button></span>'),H0=O('<span class="badge svelte-1dtvc8r"> </span>'),z0=O('<span class="badge warn svelte-1dtvc8r"> </span>'),F0=O(" <a> </a> ",1),q0=O('<div class="banner svelte-1dtvc8r"><!></div>'),$0=O('<div class="fileview svelte-1dtvc8r"><div class="pane svelte-1dtvc8r" data-pane="left"><!></div> <section class="center svelte-1dtvc8r"><div class="card-h svelte-1dtvc8r"><!> <h1> </h1> <span class="kindword svelte-1dtvc8r"> <!><!></span> <span class="loc svelte-1dtvc8r"> </span> <div class="spacer svelte-1dtvc8r"></div> <!></div> <div class="badges svelte-1dtvc8r"><!> <!> <!></div> <!> <!></section> <div class="pane svelte-1dtvc8r" data-pane="right"><!></div></div>');function j0(e,t){Re(t,!0);const n=()=>Ct(Lt,"$t",s),[s,o]=Pt();let a=ve(null),i=ve(null),l=ve(!0),c=ve(null),d=null;it(()=>{const x=t.path,m=new AbortController;return rn(()=>h(x,m.signal)),()=>m.abort()});let u=null;lu(()=>r(a)?.file.path??t.path,()=>{const x=t.path;u?.abort(),u=new AbortController,h(x,u.signal,!0)});async function h(x,m,S=!1){S||(R(l,!0),R(i,null),R(a,null),R(L,"outline"),R(M,-1),d=null);try{const T=await kp(x,m);if(m.aborted)return;R(a,T,!0),R(i,null)}catch(T){if(m.aborted)return;R(i,T instanceof rr?T:new rr(0,"error",T instanceof Error?T.message:String(T),null),!0)}finally{m.aborted||R(l,!1)}}let v=N(()=>r(a)?b0(r(a)):[]),y=N(()=>r(a)?Sf(r(a).dependents,r(a).importedBy.items):null),g=N(()=>r(a)?Sf(r(a).dependencies,r(a).imports.items,r(a).unresolvedImports):null);function w(x){Mr({id:x.id,name:x.name,kind:x.kind},"start")}function k(){const x=r(a)?.file;x?.id&&Mr({id:x.id,name:Cn(x.path),kind:"file"},"start")}const A=["left","outline","right"];let L=ve("outline"),M=ve(-1);function D(x){return x==="left"?r(y)?.rows.length??0:x==="right"?r(g)?.rows.length??0:r(v).length}function j(){if(r(M)<0)return;if(r(L)==="outline"){const S=r(v)[r(M)];S&&w(S.entry);return}const m=(r(L)==="left"?r(y):r(g))?.rows[r(M)];m&&$t(hn(m.path))}function W(x){const m=A.indexOf(r(L)),S=A[Math.max(0,Math.min(A.length-1,m+x))];!S||S===r(L)||D(S)!==0&&(R(L,S,!0),R(M,0))}function K(x){if(x.defaultPrevented||x.metaKey||x.ctrlKey||x.altKey)return;const m=x.target;if(!(m instanceof HTMLElement&&(m.isContentEditable||m instanceof HTMLInputElement||m instanceof HTMLTextAreaElement||m instanceof HTMLSelectElement))&&r(a)){switch(x.key){case"ArrowLeft":W(-1);break;case"ArrowRight":W(1);break;case"ArrowDown":case"j":R(M,Math.max(0,Math.min(D(r(L))-1,r(M)+1)),!0);break;case"ArrowUp":case"k":R(M,Math.max(0,r(M)-1),!0);break;case"Enter":x.preventDefault(),j();return;default:return}x.preventDefault(),r(L)!=="outline"&&Wi().then(()=>{document.querySelector(r(L)==="left"?'[data-pane="left"]':'[data-pane="right"]')?.querySelectorAll(".filerow")[r(M)]?.scrollIntoView({block:"nearest"})})}}it(()=>{const x=t.line===null?null:`${t.path}:${t.line}`;if(!x||!r(a)||d===x||r(v).length===0)return;let m=-1;r(v).forEach((S,T)=>{S.entry.line<=t.line&&t.line<=S.entry.endLine&&(m=T)}),d=x,!(m<0)&&(R(L,"outline"),R(M,m,!0))});var Z=Tt();st("keydown",xn,K);var z=xe(Z);{var U=x=>{var m=O0(),S=f(m),T=f(S),E=f(T),I=p(T,2),F=f(I),q=p(I,2),Y=f(q),ne=p(q,2);{var ie=G=>{var P=L0(),Q=f(P);C(()=>_(Q,r(i).guidance)),b(G,P)};B(ne,G=>{r(i).guidance&&G(ie)})}C(G=>{_(E,G),_(F,t.path),_(Y,r(i).message)},[()=>r(i).code==="not-found"?n()("file.notFoundTitle"):n()("file.loadFailed")]),b(x,m)},$=x=>{var m=D0(),S=f(m),T=f(S),E=f(T);C(I=>_(E,I),[()=>n()("loading")]),b(x,m)},H=x=>{var m=$0(),S=f(m),T=f(S);{let me=N(()=>n()("file.importedBy")),Se=N(()=>r(L)==="left"?r(M):-1),Me=N(()=>n()("file.importedByEmpty"));Mf(T,{get title(){return r(me)},get model(){return r(y)},side:"left",get selected(){return r(Se)},onhover:ze=>{R(L,"left"),R(M,ze,!0)},get emptyNote(){return r(Me)}})}var E=p(S,2),I=f(E),F=f(I);Bt(F,{kind:"file"});var q=p(F,2);let Y;var ne=f(q),ie=p(q,2),G=f(ie),P=p(G);{var Q=me=>{var Se=xt();C(Me=>_(Se,`· ${Me??""}`),[()=>n()("file.generated")]),b(me,Se)};B(P,me=>{r(a).file.generated&&me(Q)})}var V=p(P);{var X=me=>{var Se=xt();C(Me=>_(Se,`· ${Me??""}`),[()=>n()("file.testLabel")]),b(me,Se)};B(V,me=>{r(a).file.test&&me(X)})}var le=p(ie,2),se=f(le),re=p(le,4);Yp(re,{get path(){return r(a).file.path},get line(){return t.line},source:!1});var de=p(I,2),ue=f(de);{var fe=me=>{var Se=R0(),Me=f(Se),ze=p(Me),Ue=f(ze);C(($e,Ye)=>{_(Me,`${$e??""} `),_(Ue,Ye)},[()=>n()("file.runsTopLevel",r(a).topLevel.calls),()=>n()("file.seeCalls")]),Ce("click",ze,k),b(me,Se)};B(ue,me=>{r(a).topLevel.calls>0&&me(fe)})}var te=p(ue,2);{var ee=me=>{var Se=H0(),Me=f(Se);C(ze=>_(Me,ze),[()=>n()("file.generated")]),b(me,Se)};B(te,me=>{r(a).file.generated&&me(ee)})}var ce=p(te,2);{var J=me=>{var Se=z0(),Me=f(Se);C(ze=>_(Me,ze),[()=>n()("file.extractionErrors",r(a).file.errors.length)]),b(me,Se)};B(ce,me=>{r(a).file.errors.length>0&&me(J)})}var oe=p(de,2);{var be=me=>{var Se=q0(),Me=f(Se);Zi(Me,{get file(){return r(a).file.path},children:(ze,Ue)=>{var $e=F0(),Ye=xe($e),at=p(Ye),pt=f(at),Ot=p(at);C((Nt,ye,ge,ke)=>{_(Ye,`${Nt??""} `),ae(at,"href",ye),_(pt,ge),_(Ot,`.${ke??""}`)},[()=>n()("file.driftOutline"),()=>hn(r(a).file.path,{source:!0}),()=>n()("file.driftReadCurrent"),()=>n()("file.driftNextSync")]),b(ze,$e)},$$slots:{default:!0}}),b(me,Se)};B(oe,me=>{r(a).drift&&me(be)})}var _e=p(oe,2);{let me=N(()=>r(L)==="outline"?r(M):-1);S0(_e,{get rows(){return r(v)},get total(){return r(a).outline.total},get truncated(){return r(a).outline.truncated},get scroller(){return r(c)},get selected(){return r(me)},onopen:w,onhover:Se=>{R(L,"outline"),R(M,Se,!0)}})}Zt(E,me=>R(c,me),()=>r(c));var Ie=p(E,2),pe=f(Ie);{let me=N(()=>n()("file.importsTitle")),Se=N(()=>r(L)==="right"?r(M):-1),Me=N(()=>n()("file.importsEmpty"));Mf(pe,{get title(){return r(me)},get model(){return r(g)},side:"right",get selected(){return r(Se)},onhover:ze=>{R(L,"right"),R(M,ze,!0)},get emptyNote(){return r(Me)}})}C((me,Se,Me)=>{Y=De(q,1,"svelte-1dtvc8r",null,Y,{gen:r(a).file.generated}),_(ne,me),_(G,`${r(a).file.language??""} · ${Se??""} · ${Me??""}`),_(se,r(a).file.path)},[()=>Cn(r(a).file.path),()=>Up(r(a).file.size),()=>n()("file.nSymbols",r(a).outline.total)]),b(x,m)};B(z,x=>{r(i)?x(U):r(l)||!r(a)||!r(g)||!r(y)?x($,1):x(H,-1)})}b(e,Z),He(),o()}Mt(["click"]);const Eo=20,Ka=10,Xp=120,Na=56,Qi=34,B0=6,is=24,V0=24,md=800,W0=150,K0=40,Nf=7,G0=Na-8;function uu(e){return Ka+(e-1)*Eo}function Ji(e){return uu(e)+Eo/2}function U0(e){return Ka+Math.max(0,e)*Eo+Xp}function Y0(e,t){if(t<=0)return 1;const n=Math.floor((e-Ka)/Eo)+1;return Math.max(1,Math.min(t,n))}function X0(e,t,n,s=V0){if(n<=0)return{first:1,last:0};const o=Math.floor((e-Ka)/Eo)+1-s,a=Math.ceil((t||800)/Eo)+s*2,i=Math.max(1,Math.min(n,o));return{first:i,last:Math.max(i-1,Math.min(n,i+a))}}function Af(e){return Math.floor((e-1)/md)}function Z0(e,t){const n=e*md+1;return{index:e,from:n,to:Math.min(t,n+md-1),requestFrom:Math.max(1,n-W0)}}function Q0(e,t,n){if(n<=0||t<e)return[];const s=[];for(let o=Af(Math.max(1,e));o<=Af(Math.min(n,t));o++)s.push(o);return s}function If(e,t){let n=null;for(const s of e){if(s.line>t)break;t<=s.endLine&&(n=s.id)}return n}function J0(e){const t=new Map,n=(s,o)=>{const a=t.get(s);a?a.push(o):t.set(s,[o])};for(const s of e.calls.items){const o=s.relation,a=su(o.node.name),i=Cl(o),l=new Set;for(const c of o.edges)c.line&&(l.add(c.line),n(c.line,{ident:a,col:typeof c.col=="number"?c.col:null,targetId:o.node.id,uncertain:o.uncertain,outside:!1,title:`${i[0]||"calls"} ${o.node.qualifiedName} — ${o.node.file}:${o.node.line}`+(c.confidence!=null?` · confidence ${c.confidence}`:"")+(c.resolvedBy?` · resolved by ${c.resolvedBy}`:"")}));for(const c of o.lines)l.has(c)||n(c,{ident:a,col:null,targetId:o.node.id,uncertain:o.uncertain,outside:!1,title:`${i[0]||"calls"} ${o.node.qualifiedName} — ${o.node.file}:${o.node.line}`})}for(const s of e.outside.items)n(s.line,ex(s));return t}function ex(e){return{ident:e.name,col:e.col,targetId:null,uncertain:!1,outside:!0,title:`${e.name} is not in the index — nothing here resolves it`}}function tx(e){const t=e.calls.items.map(s=>({key:`${s.ownerId}>${s.relation.node.id}`,ownerId:s.ownerId,call:s,anchor:s.relation.lines[0]??null,lines:s.relation.lines,words:Cl(s.relation),via:Wa(s.relation),top:0}));t.sort((s,o)=>(s.anchor??Number.MAX_SAFE_INTEGER)-(o.anchor??Number.MAX_SAFE_INTEGER)||s.call.ownerLine-o.call.ownerLine||s.call.relation.node.name.localeCompare(o.call.relation.node.name));let n=Ka;for(const s of t){const o=s.anchor===null?n:Ji(s.anchor)-Qi/2;n=Math.max(o,n),s.top=n,n+=Qi+B0}return t}function nx(e,t,n){const s=[];for(const o of e){if(o.top>n)break;o.top+Qi>=t&&s.push(o)}return s}function rx(e){const t=e[e.length-1];return t?t.top+Qi+Xp:0}function sx(e,t){const n=e.file.path,s=[];let o=1;for(const i of t){const l=i.call.relation.node;if(l.file===n)for(const c of i.lines){if(c===l.line)continue;const d=Math.abs(l.line-c);d>o&&(o=d),s.push({key:`${i.key}:${c}`,fromLine:c,toLine:l.line,ownerId:i.ownerId,targetId:l.id,targetName:l.name,uncertain:i.call.relation.uncertain,synthesized:i.via!==null,d:"",minLine:Math.min(c,l.line),maxLine:Math.max(c,l.line)})}}const a=Math.log1p(o);for(const i of s){const l=i.maxLine-i.minLine,c=Nf+(G0-Nf)*(a>0?Math.log1p(l)/a:0);i.d=ox(i.fromLine,i.toLine,c)}return s.sort((i,l)=>l.maxLine-l.minLine-(i.maxLine-i.minLine)),s}function ox(e,t,n){const s=Ji(e),o=Ji(t),a=Math.max(1,Math.abs(o-s)/2),i=o>s?0:1;return`M${Na},${s} A${n.toFixed(1)},${a.toFixed(1)} 0 0 ${i} ${Na},${o}`}function ax(e,t,n){return n?t?e.filter(s=>s.ownerId===t||s.targetId===t):[]:[...e]}function ix(e,t,n){return e.filter(s=>s.minLine<=n&&s.maxLine>=t)}function lx(e){return e===0?he("file.arcSummaryNone"):he("file.arcSummary",e)}var cx=tn('<path></path><path class="hit svelte-7a2f5z" role="button" tabindex="-1"><title> </title></path>',1),dx=tn('<svg class="arcs svelte-7a2f5z" focusable="false" aria-hidden="true"></svg>');function ux(e,t){Re(t,!0);function n(a){return qt.is(a.targetId)||a.fromLine===t.hoverLine||a.toLine===t.hoverLine}function s(a){const i=a.toLine<a.fromLine?he("file.above"):he("file.below");return he("file.arcTitle",a.fromLine,a.targetName,i,a.toLine)}var o=dx();Te(o,21,()=>t.arcs,a=>a.key,(a,i)=>{var l=cx(),c=xe(l);let d;var u=p(c),h=f(u),v=f(h);C((y,g)=>{d=De(c,0,"arc svelte-7a2f5z",null,d,y),ae(c,"d",r(i).d),ae(u,"d",r(i).d),_(v,g)},[()=>({lit:n(r(i)),uncertain:r(i).uncertain,heur:r(i).synthesized}),()=>s(r(i))]),Ce("click",u,()=>t.onfollow(r(i))),Ce("keydown",u,y=>{(y.key==="Enter"||y.key===" ")&&(y.preventDefault(),t.onfollow(r(i)))}),st("mouseenter",u,()=>qt.set(r(i).targetId)),st("mouseleave",u,()=>qt.clear(r(i).targetId)),b(a,l)}),C(()=>{ae(o,"width",Na),ae(o,"height",t.height),ae(o,"viewBox",`0 0 ${Na} ${t.height}`)}),b(e,o),He()}Mt(["click","keydown"]);var fx=O('<span role="link" tabindex="0"> </span>'),vx=O('<span class="ref stub svelte-a7mbfv"> </span>'),hx=O('<span class="t-def svelte-a7mbfv"> </span>'),px=O("<span> </span>"),gx=O('<span class="pending svelte-a7mbfv"></span>'),mx=O("<i></i>"),yx=O('<div role="presentation"><span class="no svelte-a7mbfv"> </span> <span class="tx svelte-a7mbfv"><!></span> <span class="port svelte-a7mbfv"><!></span></div>'),_x=O('<div class="code svelte-a7mbfv"></div>');function bx(e,t){Re(t,!0);let n=N(()=>{const l=[];for(let c=t.first;c<=t.last;c++){const d=t.refs.get(c)??[],u=t.tokensFor(c);l.push({n:c,top:uu(c),parts:u?s(u,Ml(u,d),t.defNames.get(c)??null):null,port:o(d),targets:[...new Set(d.map(h=>h.targetId).filter(h=>!!h))]})}return l});function s(l,c,d){return l.map((u,h)=>{const v=c.get(h)??null;return{text:u.text,cls:v?null:du(u.cls),ref:v,def:!v&&d!==null&&u.text===d&&u.cls!=="comment"&&u.cls!=="string"}})}function o(l){return l.length===0?null:l.some(c=>!c.uncertain&&!c.outside)?"sure":"unsure"}function a(l){return l.n===t.highlight||l.targets.some(c=>qt.is(c))}var i=_x();Te(i,21,()=>r(n),l=>l.n,(l,c)=>{var d=yx();let u,h;var v=f(d),y=f(v),g=p(v,2),w=f(g);{var k=j=>{var W=Tt(),K=xe(W);Te(K,17,()=>r(c).parts,nr,(Z,z)=>{var U=Tt(),$=xe(U);{var H=E=>{const I=N(()=>r(z).ref);var F=fx();let q;var Y=f(F);C(ne=>{q=De(F,1,"ref svelte-a7mbfv",null,q,ne),ae(F,"title",r(I).title),_(Y,r(z).text)},[()=>({uncertain:r(I).uncertain,hot:qt.is(r(I).targetId)})]),Ce("click",F,()=>t.onfollow(r(I))),Ce("keydown",F,ne=>{(ne.key==="Enter"||ne.key===" ")&&(ne.preventDefault(),t.onfollow(r(I)))}),st("mouseenter",F,()=>qt.set(r(I).targetId)),st("mouseleave",F,()=>qt.clear(r(I).targetId)),b(E,F)},x=E=>{var I=vx(),F=f(I);C(()=>{ae(I,"title",r(z).ref.title),_(F,r(z).text)}),b(E,I)},m=E=>{var I=hx(),F=f(I);C(()=>_(F,r(z).text)),b(E,I)},S=E=>{var I=px(),F=f(I);C(()=>{De(I,1,Zs(r(z).cls),"svelte-a7mbfv"),_(F,r(z).text)}),b(E,I)},T=E=>{var I=xt();C(()=>_(I,r(z).text)),b(E,I)};B($,E=>{r(z).ref&&!r(z).ref.outside?E(H):r(z).ref?E(x,1):r(z).def?E(m,2):r(z).cls?E(S,3):E(T,-1)})}b(Z,U)}),b(j,W)},A=j=>{var W=gx();b(j,W)};B(w,j=>{r(c).parts?j(k):j(A,-1)})}var L=p(g,2),M=f(L);{var D=j=>{var W=mx();let K;C(()=>K=De(W,1,"svelte-a7mbfv",null,K,{sure:r(c).port==="sure"})),b(j,W)};B(M,j=>{r(c).port&&j(D)})}C(j=>{u=De(d,1,"ln svelte-a7mbfv",null,u,j),ae(d,"data-line",r(c).n),h=ht(d,"",h,{top:`${r(c).top}px`}),_(y,r(c).n)},[()=>({hot:a(r(c))})]),st("mouseenter",d,()=>t.onhoverline(r(c).n)),b(l,d)}),b(e,i),He()}Mt(["click","keydown"]);var Pf=O("<div></div>"),wx=O('<button type="button"><!> <span class="nm svelte-3z23e6"> </span> <span class="ln svelte-3z23e6"> </span></button>'),xx=O('<div class="note svelte-3z23e6"> </div>'),kx=O('<div class="navrail svelte-3z23e6"><div class="navh svelte-3z23e6"><span> </span> <span class="dim"> </span></div> <div class="navlist svelte-3z23e6"><div><!> <!> <!></div></div> <!></div>');function Ex(e,t){Re(t,!0);const n=()=>Ct(Lt,"$t",s),[s,o]=Pt();let a=ve(null),i=ve(0),l=ve(0),c=N(()=>t.rows.length>Gp),d=N(()=>{if(!r(c))return{start:0,end:t.rows.length,before:0,after:0};const z=Math.floor(r(i)/is)-8,U=Math.ceil((r(l)||800)/is)+16,$=Math.max(0,Math.min(t.rows.length-1,z)),H=Math.max($,Math.min(t.rows.length,$+U));return{start:$,end:H,before:$*is,after:(t.rows.length-H)*is}});it(()=>{const z=t.currentId,U=r(a);if(!z||!U)return;const $=t.rows.findIndex(m=>m.entry.id===z);if($<0)return;const H=$*is,x=U.parentElement;x&&(H<x.scrollTop?x.scrollTop=H-is*2:H+is>x.scrollTop+x.clientHeight&&(x.scrollTop=H+is*3-x.clientHeight))}),it(()=>{const z=r(a)?.parentElement;if(!z)return;const U=()=>{R(i,z.scrollTop,!0),R(l,z.clientHeight,!0)};U(),z.addEventListener("scroll",U,{passive:!0});const $=new ResizeObserver(U);return $.observe(z),()=>{z.removeEventListener("scroll",U),$.disconnect()}});var u=kx(),h=f(u),v=f(h),y=f(v),g=p(v,2),w=f(g),k=p(h,2),A=f(k),L=f(A);{var M=z=>{var U=Pf();let $;C(()=>$=ht(U,"",$,{height:`${r(d).before}px`})),b(z,U)};B(L,z=>{r(d).before>0&&z(M)})}var D=p(L,2);Te(D,17,()=>t.rows.slice(r(d).start,r(d).end),z=>z.entry.id,(z,U)=>{var $=wx();let H,x;var m=f($);Bt(m,{get kind(){return r(U).entry.kind}});var S=p(m,2),T=f(S),E=p(S,2),I=f(E);C(F=>{H=De($,1,"nrow svelte-3z23e6",null,H,{dimmed:r(U).dimmed,current:r(U).entry.id===t.currentId}),ae($,"title",F),x=ht($,"",x,{"padding-left":`${6+r(U).indent*14}px`}),_(T,r(U).entry.name),_(I,r(U).entry.line)},[()=>n()("outline.lineTitle",r(U).entry.qualifiedName,r(U).entry.line)]),Ce("click",$,()=>t.ongo(r(U).entry.line,r(U).entry.id)),b(z,$)});var j=p(D,2);{var W=z=>{var U=Pf();let $;C(()=>$=ht(U,"",$,{height:`${r(d).after}px`})),b(z,U)};B(j,z=>{r(d).after>0&&z(W)})}Zt(A,z=>R(a,z),()=>r(a));var K=p(k,2);{var Z=z=>{var U=xx(),$=f(U);C(()=>_($,`Showing ${t.rows.length??""} of ${t.total??""} symbols.`)),b(z,U)};B(K,z=>{t.truncated&&z(Z)})}C(z=>{_(y,z),_(w,t.total)},[()=>n()("outlineTitle")]),b(e,u),He(),o()}Mt(["click"]);var Sx=O('<span class="dim"> </span>'),Tx=O("<span> </span>"),Cx=O('<span class="tag svelte-325cso"> </span>'),Mx=O('<div role="button" tabindex="0"><!> <div class="body svelte-325cso"><div class="nm svelte-325cso"> <!></div> <div class="meta svelte-325cso"><span> </span> <!> <!></div></div></div>');function Nx(e,t){Re(t,!0);const n=()=>Ct(Lt,"$t",s),[s,o]=Pt();function a(c){const d=c.call.relation.node,u=c.lines.length>0?he("file.calledFrom",c.lines.join(", ")):"";return`${d.qualifiedName} — ${d.file}:${d.line}${u}`}var i=Tt(),l=xe(i);Te(l,17,()=>t.rows,c=>c.key,(c,d)=>{const u=N(()=>r(d).call.relation.node);var h=Mx();let v,y;var g=f(h);Bt(g,{get kind(){return r(u).kind}});var w=p(g,2),k=f(w),A=f(k),L=p(A);{var M=$=>{var H=Sx(),x=f(H);C(()=>_(x,`×${r(d).lines.length??""}`)),b($,H)};B(L,$=>{r(d).lines.length>1&&$(M)})}var D=p(k,2),j=f(D),W=f(j),K=p(j,2);{var Z=$=>{var H=Tx(),x=f(H);C(m=>_(x,m),[()=>r(d).words.join(", ")]),b($,H)};B(K,$=>{r(d).words.length>0&&$(Z)})}var z=p(K,2);{var U=$=>{var H=Cx(),x=f(H);C((m,S)=>{ae(H,"title",m),_(x,S)},[()=>n()("rails.viaTitle"),()=>n()("rails.via",r(d).via)]),b($,H)};B(z,$=>{r(d).via&&$(U)})}C(($,H,x)=>{v=De(h,1,"rrow svelte-325cso",null,v,$),ae(h,"data-target",r(u).id),ae(h,"title",H),y=ht(h,"",y,{top:`${r(d).top}px`}),_(A,r(u).name),_(W,x)},[()=>({hot:qt.is(r(u).id),focused:t.focusId!==null&&(r(d).ownerId===t.focusId||r(u).id===t.focusId),uncertain:r(d).call.relation.uncertain}),()=>a(r(d)),()=>r(u).file===t.focalFile?n()("rails.sameFile"):r(u).file]),Ce("click",h,()=>t.onopen(r(u))),Ce("keydown",h,$=>{($.key==="Enter"||$.key===" ")&&($.preventDefault(),t.onopen(r(u)))}),st("mouseenter",h,()=>{qt.set(r(u).id),t.onhover(r(d))}),st("mouseleave",h,()=>{qt.clear(r(u).id),t.onhover(null)}),b(c,h)}),b(e,i),He(),o()}Mt(["click","keydown"]);var Ax=O('<p class="dim"> </p>'),Ix=O('<div class="scroll svelte-1ykko46"><div class="emptystate"><h2> </h2> <p class="mono"> </p> <p> </p> <!></div></div>'),Px=O('<div class="scroll svelte-1ykko46"><div class="emptystate"><p class="dim"> </p></div></div>'),Lx=O('<aside class="nav svelte-1ykko46"><!></aside>'),Lf=O(' <span class="dim"> </span>',1),Ox=O('<span class="dim"> </span>'),Of=O('<div class="banner svelte-1ykko46"><!></div>'),Dx=O('<div class="note svelte-1ykko46"> </div>'),Rx=O('<div class="stage svelte-1ykko46" role="presentation"><div class="stage-inner svelte-1ykko46"><div class="arccol svelte-1ykko46"><!></div> <div class="codecol svelte-1ykko46"><!></div> <aside class="rail svelte-1ykko46"><!></aside> <!></div></div>'),Hx=O('<div><!> <section class="main svelte-1ykko46"><header class="band svelte-1ykko46"><div class="card-h svelte-1ykko46"><!> <h1 class="svelte-1ykko46"> </h1> <span class="kindword svelte-1ykko46"> </span> <span class="loc svelte-1ykko46"> </span> <div class="spacer svelte-1ykko46"></div> <!></div> <div><span class="arcnote svelte-1ykko46"> <!></span> <span class="railnote svelte-1ykko46"> <span class="n svelte-1ykko46"> </span><!><!></span></div> <!></header> <!></section></div>');function zx(e,t){Re(t,!0);const n=()=>Ct(Lt,"$t",s),[s,o]=Pt();let a=ve(null),i=ve(null),l=ve(!0),c=ve(kn(new Map)),d=new Set,u=new Set,h=ve(null),v=null;it(()=>{const J=t.path,oe=new AbortController;return rn(()=>g(J,oe.signal)),()=>oe.abort()});let y=null;lu(()=>r(a)?.file.path??t.path,()=>{const J=t.path;y?.abort(),y=new AbortController,g(J,y.signal,!0)});async function g(J,oe,be=!1){be||(R(l,!0),R(i,null),R(a,null),de=null,R(E,null),R(I,null),R(F,null),r(U)&&(r(U).scrollTop=0)),R(c,new Map,!0),d=new Set,u=new Set,R(h,null),v?.abort(),v=new AbortController;try{const _e=await z_(J,oe);if(oe.aborted)return;R(a,_e,!0),R(i,null)}catch(_e){if(oe.aborted)return;R(i,_e instanceof rr?_e:new rr(0,"error",_e instanceof Error?_e.message:String(_e),null),!0)}finally{oe.aborted||R(l,!1)}}async function w(J){const oe=r(a)?.file;if(!oe||oe.totalLines===null||d.has(J)||u.has(J))return;u.add(J);const be=Z0(J,oe.totalLines),_e=v?.signal;try{const Ie=await cd(oe.path,be.requestFrom,be.to,_e,r(a)?.drift?"current":void 0);if(_e?.aborted||r(a)?.file.path!==oe.path)return;if(!Ie.lines){R(h,Ie.reason??he("file.sourceUnavailable"),!0);return}const pe=Ie.from??be.requestFrom,me=Nl(Ie.lines,pe,Ie.highlight),Se=new Map(r(c));for(const[Me,ze]of me)Me>=be.from&&Se.set(Me,ze);R(c,Se,!0),d.add(J)}catch(Ie){if(_e?.aborted)return;R(h,Ie instanceof Error?Ie.message:String(Ie),!0)}finally{u.delete(J)}}let k=N(()=>r(a)?.drift===!0),A=N(()=>r(a)?.file.totalLines??0),L=N(()=>r(a)&&!r(k)?J0(r(a)):new Map),M=N(()=>r(a)&&!r(k)?tx(r(a)):[]),D=N(()=>r(a)&&!r(k)?sx(r(a),r(M)):[]),j=N(()=>r(D).length>K0),W=N(()=>r(k)?[]:(r(a)?.outline.items??[]).map(J=>({entry:J,indent:Math.min(J.depth,3),dimmed:K.has(J.kind)})));const K=new Set(["property","field","enum_member","variable","constant"]);let Z=N(()=>{const J=new Map;if(r(k))return J;for(const oe of r(a)?.outline.items??[])J.has(oe.line)||J.set(oe.line,oe.name);return J}),z=N(()=>{const J=new Map;for(const oe of r(M))J.set(oe.call.relation.node.id,oe.call.relation.node);return J}),U=ve(null),$=ve(null),H=ve(null),x=ve(0),m=ve(0),S=ve(kn({x0:0,x1:0,width:0}));it(()=>{const J=r(U);if(!J)return;const oe=()=>{R(x,J.scrollTop,!0),R(m,J.clientHeight,!0)},be=()=>{oe();const Ie=r($),pe=r(H);!Ie||!pe||R(S,{x0:Ie.offsetLeft+Ie.offsetWidth-10,x1:pe.offsetLeft+14,width:J.scrollWidth},!0)};be(),J.addEventListener("scroll",oe,{passive:!0});const _e=new ResizeObserver(be);return _e.observe(J),()=>{J.removeEventListener("scroll",oe),_e.disconnect()}});let T=N(()=>X0(r(x),r(m),r(A)));it(()=>{if(!r(a))return;const J=Q0(r(T).first,r(T).last,r(A));rn(()=>{for(const oe of J)w(oe)})});let E=ve(null),I=ve(null),F=ve(null),q=N(()=>If(r(a)?.outline.items??[],Y0(r(x)+8,r(A)))),Y=N(()=>{if(r(I)!==null)return r(I);const J=r(a)?.outline.items??[];return r(E)!==null?If(J,r(E)):r(q)}),ne=N(()=>ax(r(D),r(Y),r(j))),ie=N(()=>ix(r(ne),r(T).first,r(T).last)),G=N(()=>nx(r(M),r(x)-r(m),r(x)+r(m)*2)),P=N(()=>{const{x0:J,x1:oe}=r(S);if(oe<=J)return[];const be=(J+oe)/2,_e=[];for(const Ie of r(G)){const pe=Ie.top+17,me=Wa(Ie.call.relation);for(const Se of Ie.lines){const Me=Ji(Se);_e.push({d:`M${J},${Me} C${be},${Me} ${be},${pe} ${oe},${pe}`,targetId:Ie.call.relation.node.id,uncertain:Ie.call.relation.uncertain,heuristic:me!==null,origin:!1})}}return _e}),Q=N(()=>Math.max(U0(r(A)),rx(r(M))));function V(J){const oe=r(U);oe&&(oe.scrollTop=Math.max(0,uu(J)-oe.clientHeight/3),R(F,J,!0))}function X(J){qt.set(J.targetId),V(J.toLine)}function le(J){if(J.file===r(a)?.file.path){qt.set(J.id),V(J.line);return}Mr({id:J.id,name:J.name,kind:J.kind},"start")}function se(J){const oe=J.targetId?r(z).get(J.targetId):void 0;oe&&le(oe)}function re(J){R(I,J?J.ownerId:null,!0)}let de=null;it(()=>{const J=t.line===null?null:`${t.path}:${t.line}`;!J||!r(a)||de===J||!r(U)||r(A)===0||(de=J,V(t.line))});var ue=Tt(),fe=xe(ue);{var te=J=>{var oe=Ix(),be=f(oe),_e=f(be),Ie=f(_e),pe=p(_e,2),me=f(pe),Se=p(pe,2),Me=f(Se),ze=p(Se,2);{var Ue=$e=>{var Ye=Ax(),at=f(Ye);C(()=>_(at,r(i).guidance)),b($e,Ye)};B(ze,$e=>{r(i).guidance&&$e(Ue)})}C($e=>{_(Ie,$e),_(me,t.path),_(Me,r(i).message)},[()=>r(i).code==="not-found"?n()("file.notFoundTitle"):n()("file.loadFailed")]),b(J,oe)},ee=J=>{var oe=Px(),be=f(oe),_e=f(be),Ie=f(_e);C(pe=>_(Ie,pe),[()=>n()("loading")]),b(J,oe)},ce=J=>{var oe=Hx();let be;var _e=f(oe);{var Ie=Le=>{var Je=Lx(),dt=f(Je);Ex(dt,{get rows(){return r(W)},get total(){return r(a).outline.total},get truncated(){return r(a).outline.truncated},get currentId(){return r(q)},ongo:(gt,bt)=>{qt.set(bt),V(gt)}}),b(Le,Je)};B(_e,Le=>{r(W).length>0&&Le(Ie)})}var pe=p(_e,2),me=f(pe),Se=f(me),Me=f(Se);Bt(Me,{kind:"file"});var ze=p(Me,2),Ue=f(ze),$e=p(ze,2),Ye=f($e),at=p($e,2),pt=f(at),Ot=p(at,4);Yp(Ot,{get path(){return r(a).file.path},get line(){return t.line},source:!0});var Nt=p(Se,2);let ye;var ge=f(Nt),ke=f(ge),Ee=p(ke);{var je=Le=>{var Je=Lf(),dt=xe(Je,!0);dt.nodeValue=" ";var gt=p(dt),bt=f(gt);C(It=>_(bt,It),[()=>n()("file.arcCrowd")]),b(Le,Je)};B(Ee,Le=>{r(j)&&Le(je)})}var Ge=p(ge,2),lt=f(Ge),ct=p(lt),Dt=f(ct),Rt=p(ct);{var Wt=Le=>{var Je=Ox(),dt=f(Je);C(gt=>_(dt,gt),[()=>n()("file.callsShowing",r(a).calls.shown)]),b(Le,Je)};B(Rt,Le=>{r(a).calls.truncated&&Le(Wt)})}var At=p(Rt);{var tt=Le=>{var Je=Lf(),dt=xe(Je,!0);dt.nodeValue=" ";var gt=p(dt),bt=f(gt);C(It=>_(bt,It),[()=>n()("file.outsideRefs",r(a).outside.total)]),b(Le,Je)};B(At,Le=>{r(a).outside.total>0&&Le(tt)})}var Ae=p(Nt,2);{var Qe=Le=>{var Je=Of(),dt=f(Je);Zi(dt,{get file(){return r(a).file.path},children:(gt,bt)=>{var It=xt();C(zt=>_(It,zt),[()=>n()("file.driftCode")]),b(gt,It)},$$slots:{default:!0}}),b(Le,Je)},Xe=Le=>{var Je=Of(),dt=f(Je);Zi(dt,{get file(){return r(a).file.path},children:(gt,bt)=>{var It=xt();C(zt=>_(It,zt),[()=>r(a).reason??n()("file.unreadableDisk")]),b(gt,It)},$$slots:{default:!0}}),b(Le,Je)},Ke=Le=>{var Je=Dx(),dt=f(Je);C(()=>_(dt,r(h))),b(Le,Je)};B(Ae,Le=>{r(a).drift?Le(Qe):r(a).file.totalLines===null?Le(Xe,1):r(h)&&Le(Ke,2)})}var Be=p(me,2);{var nt=Le=>{var Je=Rx(),dt=f(Je);let gt;var bt=f(dt),It=f(bt);{var zt=We=>{ux(We,{get arcs(){return r(ie)},get height(){return r(Q)},get hoverLine(){return r(E)},onfollow:X})};B(It,We=>{r(k)||We(zt)})}var Jt=p(bt,2),Qt=f(Jt);bx(Qt,{get first(){return r(T).first},get last(){return r(T).last},tokensFor:We=>r(c).get(We)??null,get refs(){return r(L)},get defNames(){return r(Z)},get highlight(){return r(F)},onfollow:se,onhoverline:We=>{R(E,We,!0)}}),Zt(Jt,We=>R($,We),()=>r($));var dn=p(Jt,2),Mn=f(dn);{var rt=We=>{Nx(We,{get rows(){return r(G)},get focalFile(){return r(a).file.path},get focusId(){return r(Y)},onopen:le,onhover:re})};B(Mn,We=>{r(k)||We(rt)})}Zt(dn,We=>R(H,We),()=>r(H));var Fe=p(dn,2);Wp(Fe,{get connectors(){return r(P)},get width(){return r(S).width},get height(){return r(Q)}}),Zt(Je,We=>R(U,We),()=>r(U)),C(We=>{gt=ht(dt,"",gt,{height:`${r(Q)}px`}),ae(dn,"aria-label",We)},[()=>n()("rails.calls")]),st("mouseleave",Je,()=>{R(E,null)}),b(Le,Je)};B(Be,Le=>{r(a).file.totalLines!==null&&Le(nt)})}C((Le,Je,dt,gt,bt,It,zt)=>{be=De(oe,1,"codeview svelte-1ykko46",null,be,{wide:r(W).length>0}),_(Ue,Le),_(Ye,`${r(a).file.language??""} · ${Je??""} ·
9
+ ${dt??""} ·
10
+ ${gt??""}`),_(pt,r(a).file.path),ye=De(Nt,1,"toolbar svelte-1ykko46",null,ye,{hidden:r(k)}),_(ke,bt),ae(Ge,"title",It),_(lt,`${zt??""} `),_(Dt,r(a).calls.total)},[()=>Cn(r(a).file.path),()=>Up(r(a).file.size),()=>r(a).file.totalLines===null?n()("file.lengthUnknown"):n()("file.nLines",r(a).file.totalLines),()=>n()("file.nSymbols",r(a).outline.total),()=>lx(r(a).intraFileCalls),()=>n()("file.railPairTitle"),()=>n()("rails.calls")]),b(J,oe)};B(fe,J=>{r(i)?J(te):r(l)||!r(a)?J(ee,1):J(ce,-1)})}b(e,ue),He(),o()}var Fx={value:()=>{}};function Al(){for(var e=0,t=arguments.length,n={},s;e<t;++e){if(!(s=arguments[e]+"")||s in n||/[\s.]/.test(s))throw new Error("illegal type: "+s);n[s]=[]}return new Ii(n)}function Ii(e){this._=e}function qx(e,t){return e.trim().split(/^|\s+/).map(function(n){var s="",o=n.indexOf(".");if(o>=0&&(s=n.slice(o+1),n=n.slice(0,o)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:s}})}Ii.prototype=Al.prototype={constructor:Ii,on:function(e,t){var n=this._,s=qx(e+"",n),o,a=-1,i=s.length;if(arguments.length<2){for(;++a<i;)if((o=(e=s[a]).type)&&(o=$x(n[o],e.name)))return o;return}if(t!=null&&typeof t!="function")throw new Error("invalid callback: "+t);for(;++a<i;)if(o=(e=s[a]).type)n[o]=Df(n[o],e.name,t);else if(t==null)for(o in n)n[o]=Df(n[o],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new Ii(e)},call:function(e,t){if((o=arguments.length-2)>0)for(var n=new Array(o),s=0,o,a;s<o;++s)n[s]=arguments[s+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(a=this._[e],s=0,o=a.length;s<o;++s)a[s].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var s=this._[e],o=0,a=s.length;o<a;++o)s[o].value.apply(t,n)}};function $x(e,t){for(var n=0,s=e.length,o;n<s;++n)if((o=e[n]).name===t)return o.value}function Df(e,t,n){for(var s=0,o=e.length;s<o;++s)if(e[s].name===t){e[s]=Fx,e=e.slice(0,s).concat(e.slice(s+1));break}return n!=null&&e.push({name:t,value:n}),e}var yd="http://www.w3.org/1999/xhtml";const Rf={svg:"http://www.w3.org/2000/svg",xhtml:yd,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Il(e){var t=e+="",n=t.indexOf(":");return n>=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),Rf.hasOwnProperty(t)?{space:Rf[t],local:e}:e}function jx(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===yd&&t.documentElement.namespaceURI===yd?t.createElement(e):t.createElementNS(n,e)}}function Bx(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Zp(e){var t=Il(e);return(t.local?Bx:jx)(t)}function Vx(){}function fu(e){return e==null?Vx:function(){return this.querySelector(e)}}function Wx(e){typeof e!="function"&&(e=fu(e));for(var t=this._groups,n=t.length,s=new Array(n),o=0;o<n;++o)for(var a=t[o],i=a.length,l=s[o]=new Array(i),c,d,u=0;u<i;++u)(c=a[u])&&(d=e.call(c,c.__data__,u,a))&&("__data__"in c&&(d.__data__=c.__data__),l[u]=d);return new Gn(s,this._parents)}function Kx(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function Gx(){return[]}function Qp(e){return e==null?Gx:function(){return this.querySelectorAll(e)}}function Ux(e){return function(){return Kx(e.apply(this,arguments))}}function Yx(e){typeof e=="function"?e=Ux(e):e=Qp(e);for(var t=this._groups,n=t.length,s=[],o=[],a=0;a<n;++a)for(var i=t[a],l=i.length,c,d=0;d<l;++d)(c=i[d])&&(s.push(e.call(c,c.__data__,d,i)),o.push(c));return new Gn(s,o)}function Jp(e){return function(){return this.matches(e)}}function eg(e){return function(t){return t.matches(e)}}var Xx=Array.prototype.find;function Zx(e){return function(){return Xx.call(this.children,e)}}function Qx(){return this.firstElementChild}function Jx(e){return this.select(e==null?Qx:Zx(typeof e=="function"?e:eg(e)))}var e2=Array.prototype.filter;function t2(){return Array.from(this.children)}function n2(e){return function(){return e2.call(this.children,e)}}function r2(e){return this.selectAll(e==null?t2:n2(typeof e=="function"?e:eg(e)))}function s2(e){typeof e!="function"&&(e=Jp(e));for(var t=this._groups,n=t.length,s=new Array(n),o=0;o<n;++o)for(var a=t[o],i=a.length,l=s[o]=[],c,d=0;d<i;++d)(c=a[d])&&e.call(c,c.__data__,d,a)&&l.push(c);return new Gn(s,this._parents)}function tg(e){return new Array(e.length)}function o2(){return new Gn(this._enter||this._groups.map(tg),this._parents)}function el(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}el.prototype={constructor:el,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function a2(e){return function(){return e}}function i2(e,t,n,s,o,a){for(var i=0,l,c=t.length,d=a.length;i<d;++i)(l=t[i])?(l.__data__=a[i],s[i]=l):n[i]=new el(e,a[i]);for(;i<c;++i)(l=t[i])&&(o[i]=l)}function l2(e,t,n,s,o,a,i){var l,c,d=new Map,u=t.length,h=a.length,v=new Array(u),y;for(l=0;l<u;++l)(c=t[l])&&(v[l]=y=i.call(c,c.__data__,l,t)+"",d.has(y)?o[l]=c:d.set(y,c));for(l=0;l<h;++l)y=i.call(e,a[l],l,a)+"",(c=d.get(y))?(s[l]=c,c.__data__=a[l],d.delete(y)):n[l]=new el(e,a[l]);for(l=0;l<u;++l)(c=t[l])&&d.get(v[l])===c&&(o[l]=c)}function c2(e){return e.__data__}function d2(e,t){if(!arguments.length)return Array.from(this,c2);var n=t?l2:i2,s=this._parents,o=this._groups;typeof e!="function"&&(e=a2(e));for(var a=o.length,i=new Array(a),l=new Array(a),c=new Array(a),d=0;d<a;++d){var u=s[d],h=o[d],v=h.length,y=u2(e.call(u,u&&u.__data__,d,s)),g=y.length,w=l[d]=new Array(g),k=i[d]=new Array(g),A=c[d]=new Array(v);n(u,h,w,k,A,y,t);for(var L=0,M=0,D,j;L<g;++L)if(D=w[L]){for(L>=M&&(M=L+1);!(j=k[M])&&++M<g;);D._next=j||null}}return i=new Gn(i,s),i._enter=l,i._exit=c,i}function u2(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function f2(){return new Gn(this._exit||this._groups.map(tg),this._parents)}function v2(e,t,n){var s=this.enter(),o=this,a=this.exit();return typeof e=="function"?(s=e(s),s&&(s=s.selection())):s=s.append(e+""),t!=null&&(o=t(o),o&&(o=o.selection())),n==null?a.remove():n(a),s&&o?s.merge(o).order():o}function h2(e){for(var t=e.selection?e.selection():e,n=this._groups,s=t._groups,o=n.length,a=s.length,i=Math.min(o,a),l=new Array(o),c=0;c<i;++c)for(var d=n[c],u=s[c],h=d.length,v=l[c]=new Array(h),y,g=0;g<h;++g)(y=d[g]||u[g])&&(v[g]=y);for(;c<o;++c)l[c]=n[c];return new Gn(l,this._parents)}function p2(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var s=e[t],o=s.length-1,a=s[o],i;--o>=0;)(i=s[o])&&(a&&i.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(i,a),a=i);return this}function g2(e){e||(e=m2);function t(h,v){return h&&v?e(h.__data__,v.__data__):!h-!v}for(var n=this._groups,s=n.length,o=new Array(s),a=0;a<s;++a){for(var i=n[a],l=i.length,c=o[a]=new Array(l),d,u=0;u<l;++u)(d=i[u])&&(c[u]=d);c.sort(t)}return new Gn(o,this._parents).order()}function m2(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function y2(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function _2(){return Array.from(this)}function b2(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var s=e[t],o=0,a=s.length;o<a;++o){var i=s[o];if(i)return i}return null}function w2(){let e=0;for(const t of this)++e;return e}function x2(){return!this.node()}function k2(e){for(var t=this._groups,n=0,s=t.length;n<s;++n)for(var o=t[n],a=0,i=o.length,l;a<i;++a)(l=o[a])&&e.call(l,l.__data__,a,o);return this}function E2(e){return function(){this.removeAttribute(e)}}function S2(e){return function(){this.removeAttributeNS(e.space,e.local)}}function T2(e,t){return function(){this.setAttribute(e,t)}}function C2(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function M2(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function N2(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function A2(e,t){var n=Il(e);if(arguments.length<2){var s=this.node();return n.local?s.getAttributeNS(n.space,n.local):s.getAttribute(n)}return this.each((t==null?n.local?S2:E2:typeof t=="function"?n.local?N2:M2:n.local?C2:T2)(n,t))}function ng(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function I2(e){return function(){this.style.removeProperty(e)}}function P2(e,t,n){return function(){this.style.setProperty(e,t,n)}}function L2(e,t,n){return function(){var s=t.apply(this,arguments);s==null?this.style.removeProperty(e):this.style.setProperty(e,s,n)}}function O2(e,t,n){return arguments.length>1?this.each((t==null?I2:typeof t=="function"?L2:P2)(e,t,n??"")):So(this.node(),e)}function So(e,t){return e.style.getPropertyValue(t)||ng(e).getComputedStyle(e,null).getPropertyValue(t)}function D2(e){return function(){delete this[e]}}function R2(e,t){return function(){this[e]=t}}function H2(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function z2(e,t){return arguments.length>1?this.each((t==null?D2:typeof t=="function"?H2:R2)(e,t)):this.node()[e]}function rg(e){return e.trim().split(/^|\s+/)}function vu(e){return e.classList||new sg(e)}function sg(e){this._node=e,this._names=rg(e.getAttribute("class")||"")}sg.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function og(e,t){for(var n=vu(e),s=-1,o=t.length;++s<o;)n.add(t[s])}function ag(e,t){for(var n=vu(e),s=-1,o=t.length;++s<o;)n.remove(t[s])}function F2(e){return function(){og(this,e)}}function q2(e){return function(){ag(this,e)}}function $2(e,t){return function(){(t.apply(this,arguments)?og:ag)(this,e)}}function j2(e,t){var n=rg(e+"");if(arguments.length<2){for(var s=vu(this.node()),o=-1,a=n.length;++o<a;)if(!s.contains(n[o]))return!1;return!0}return this.each((typeof t=="function"?$2:t?F2:q2)(n,t))}function B2(){this.textContent=""}function V2(e){return function(){this.textContent=e}}function W2(e){return function(){var t=e.apply(this,arguments);this.textContent=t??""}}function K2(e){return arguments.length?this.each(e==null?B2:(typeof e=="function"?W2:V2)(e)):this.node().textContent}function G2(){this.innerHTML=""}function U2(e){return function(){this.innerHTML=e}}function Y2(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??""}}function X2(e){return arguments.length?this.each(e==null?G2:(typeof e=="function"?Y2:U2)(e)):this.node().innerHTML}function Z2(){this.nextSibling&&this.parentNode.appendChild(this)}function Q2(){return this.each(Z2)}function J2(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function ek(){return this.each(J2)}function tk(e){var t=typeof e=="function"?e:Zp(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function nk(){return null}function rk(e,t){var n=typeof e=="function"?e:Zp(e),s=t==null?nk:typeof t=="function"?t:fu(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),s.apply(this,arguments)||null)})}function sk(){var e=this.parentNode;e&&e.removeChild(this)}function ok(){return this.each(sk)}function ak(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function ik(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function lk(e){return this.select(e?ik:ak)}function ck(e){return arguments.length?this.property("__data__",e):this.node().__data__}function dk(e){return function(t){e.call(this,t,this.__data__)}}function uk(e){return e.trim().split(/^|\s+/).map(function(t){var n="",s=t.indexOf(".");return s>=0&&(n=t.slice(s+1),t=t.slice(0,s)),{type:t,name:n}})}function fk(e){return function(){var t=this.__on;if(t){for(var n=0,s=-1,o=t.length,a;n<o;++n)a=t[n],(!e.type||a.type===e.type)&&a.name===e.name?this.removeEventListener(a.type,a.listener,a.options):t[++s]=a;++s?t.length=s:delete this.__on}}}function vk(e,t,n){return function(){var s=this.__on,o,a=dk(t);if(s){for(var i=0,l=s.length;i<l;++i)if((o=s[i]).type===e.type&&o.name===e.name){this.removeEventListener(o.type,o.listener,o.options),this.addEventListener(o.type,o.listener=a,o.options=n),o.value=t;return}}this.addEventListener(e.type,a,n),o={type:e.type,name:e.name,value:t,listener:a,options:n},s?s.push(o):this.__on=[o]}}function hk(e,t,n){var s=uk(e+""),o,a=s.length,i;if(arguments.length<2){var l=this.node().__on;if(l){for(var c=0,d=l.length,u;c<d;++c)for(o=0,u=l[c];o<a;++o)if((i=s[o]).type===u.type&&i.name===u.name)return u.value}return}for(l=t?vk:fk,o=0;o<a;++o)this.each(l(s[o],t,n));return this}function ig(e,t,n){var s=ng(e),o=s.CustomEvent;typeof o=="function"?o=new o(t,n):(o=s.document.createEvent("Event"),n?(o.initEvent(t,n.bubbles,n.cancelable),o.detail=n.detail):o.initEvent(t,!1,!1)),e.dispatchEvent(o)}function pk(e,t){return function(){return ig(this,e,t)}}function gk(e,t){return function(){return ig(this,e,t.apply(this,arguments))}}function mk(e,t){return this.each((typeof t=="function"?gk:pk)(e,t))}function*yk(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var s=e[t],o=0,a=s.length,i;o<a;++o)(i=s[o])&&(yield i)}var lg=[null];function Gn(e,t){this._groups=e,this._parents=t}function Ga(){return new Gn([[document.documentElement]],lg)}function _k(){return this}Gn.prototype=Ga.prototype={constructor:Gn,select:Wx,selectAll:Yx,selectChild:Jx,selectChildren:r2,filter:s2,data:d2,enter:o2,exit:f2,join:v2,merge:h2,selection:_k,order:p2,sort:g2,call:y2,nodes:_2,node:b2,size:w2,empty:x2,each:k2,attr:A2,style:O2,property:z2,classed:j2,text:K2,html:X2,raise:Q2,lower:ek,append:tk,insert:rk,remove:ok,clone:lk,datum:ck,on:hk,dispatch:mk,[Symbol.iterator]:yk};function cr(e){return typeof e=="string"?new Gn([[document.querySelector(e)]],[document.documentElement]):new Gn([[e]],lg)}function bk(e){let t;for(;t=e.sourceEvent;)e=t;return e}function br(e,t){if(e=bk(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var s=n.createSVGPoint();return s.x=e.clientX,s.y=e.clientY,s=s.matrixTransform(t.getScreenCTM().inverse()),[s.x,s.y]}if(t.getBoundingClientRect){var o=t.getBoundingClientRect();return[e.clientX-o.left-t.clientLeft,e.clientY-o.top-t.clientTop]}}return[e.pageX,e.pageY]}const wk={passive:!1},Aa={capture:!0,passive:!1};function Sc(e){e.stopImmediatePropagation()}function vo(e){e.preventDefault(),e.stopImmediatePropagation()}function cg(e){var t=e.document.documentElement,n=cr(e).on("dragstart.drag",vo,Aa);"onselectstart"in t?n.on("selectstart.drag",vo,Aa):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function dg(e,t){var n=e.document.documentElement,s=cr(e).on("dragstart.drag",null);t&&(s.on("click.drag",vo,Aa),setTimeout(function(){s.on("click.drag",null)},0)),"onselectstart"in n?s.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}const fi=e=>()=>e;function _d(e,{sourceEvent:t,subject:n,target:s,identifier:o,active:a,x:i,y:l,dx:c,dy:d,dispatch:u}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:s,enumerable:!0,configurable:!0},identifier:{value:o,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:i,enumerable:!0,configurable:!0},y:{value:l,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:d,enumerable:!0,configurable:!0},_:{value:u}})}_d.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function xk(e){return!e.ctrlKey&&!e.button}function kk(){return this.parentNode}function Ek(e,t){return t??{x:e.x,y:e.y}}function Sk(){return navigator.maxTouchPoints||"ontouchstart"in this}function Tk(){var e=xk,t=kk,n=Ek,s=Sk,o={},a=Al("start","drag","end"),i=0,l,c,d,u,h=0;function v(D){D.on("mousedown.drag",y).filter(s).on("touchstart.drag",k).on("touchmove.drag",A,wk).on("touchend.drag touchcancel.drag",L).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function y(D,j){if(!(u||!e.call(this,D,j))){var W=M(this,t.call(this,D,j),D,j,"mouse");W&&(cr(D.view).on("mousemove.drag",g,Aa).on("mouseup.drag",w,Aa),cg(D.view),Sc(D),d=!1,l=D.clientX,c=D.clientY,W("start",D))}}function g(D){if(vo(D),!d){var j=D.clientX-l,W=D.clientY-c;d=j*j+W*W>h}o.mouse("drag",D)}function w(D){cr(D.view).on("mousemove.drag mouseup.drag",null),dg(D.view,d),vo(D),o.mouse("end",D)}function k(D,j){if(e.call(this,D,j)){var W=D.changedTouches,K=t.call(this,D,j),Z=W.length,z,U;for(z=0;z<Z;++z)(U=M(this,K,D,j,W[z].identifier,W[z]))&&(Sc(D),U("start",D,W[z]))}}function A(D){var j=D.changedTouches,W=j.length,K,Z;for(K=0;K<W;++K)(Z=o[j[K].identifier])&&(vo(D),Z("drag",D,j[K]))}function L(D){var j=D.changedTouches,W=j.length,K,Z;for(u&&clearTimeout(u),u=setTimeout(function(){u=null},500),K=0;K<W;++K)(Z=o[j[K].identifier])&&(Sc(D),Z("end",D,j[K]))}function M(D,j,W,K,Z,z){var U=a.copy(),$=br(z||W,j),H,x,m;if((m=n.call(D,new _d("beforestart",{sourceEvent:W,target:v,identifier:Z,active:i,x:$[0],y:$[1],dx:0,dy:0,dispatch:U}),K))!=null)return H=m.x-$[0]||0,x=m.y-$[1]||0,function S(T,E,I){var F=$,q;switch(T){case"start":o[Z]=S,q=i++;break;case"end":delete o[Z],--i;case"drag":$=br(I||E,j),q=i;break}U.call(T,D,new _d(T,{sourceEvent:E,subject:m,target:v,identifier:Z,active:q,x:$[0]+H,y:$[1]+x,dx:$[0]-F[0],dy:$[1]-F[1],dispatch:U}),K)}}return v.filter=function(D){return arguments.length?(e=typeof D=="function"?D:fi(!!D),v):e},v.container=function(D){return arguments.length?(t=typeof D=="function"?D:fi(D),v):t},v.subject=function(D){return arguments.length?(n=typeof D=="function"?D:fi(D),v):n},v.touchable=function(D){return arguments.length?(s=typeof D=="function"?D:fi(!!D),v):s},v.on=function(){var D=a.on.apply(a,arguments);return D===a?v:D},v.clickDistance=function(D){return arguments.length?(h=(D=+D)*D,v):Math.sqrt(h)},v}function hu(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function ug(e,t){var n=Object.create(e.prototype);for(var s in t)n[s]=t[s];return n}function Ua(){}var Ia=.7,tl=1/Ia,ho="\\s*([+-]?\\d+)\\s*",Pa="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Lr="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Ck=/^#([0-9a-f]{3,8})$/,Mk=new RegExp(`^rgb\\(${ho},${ho},${ho}\\)$`),Nk=new RegExp(`^rgb\\(${Lr},${Lr},${Lr}\\)$`),Ak=new RegExp(`^rgba\\(${ho},${ho},${ho},${Pa}\\)$`),Ik=new RegExp(`^rgba\\(${Lr},${Lr},${Lr},${Pa}\\)$`),Pk=new RegExp(`^hsl\\(${Pa},${Lr},${Lr}\\)$`),Lk=new RegExp(`^hsla\\(${Pa},${Lr},${Lr},${Pa}\\)$`),Hf={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};hu(Ua,Vs,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:zf,formatHex:zf,formatHex8:Ok,formatHsl:Dk,formatRgb:Ff,toString:Ff});function zf(){return this.rgb().formatHex()}function Ok(){return this.rgb().formatHex8()}function Dk(){return fg(this).formatHsl()}function Ff(){return this.rgb().formatRgb()}function Vs(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=Ck.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?qf(t):n===3?new $n(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?vi(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?vi(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=Mk.exec(e))?new $n(t[1],t[2],t[3],1):(t=Nk.exec(e))?new $n(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=Ak.exec(e))?vi(t[1],t[2],t[3],t[4]):(t=Ik.exec(e))?vi(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=Pk.exec(e))?Bf(t[1],t[2]/100,t[3]/100,1):(t=Lk.exec(e))?Bf(t[1],t[2]/100,t[3]/100,t[4]):Hf.hasOwnProperty(e)?qf(Hf[e]):e==="transparent"?new $n(NaN,NaN,NaN,0):null}function qf(e){return new $n(e>>16&255,e>>8&255,e&255,1)}function vi(e,t,n,s){return s<=0&&(e=t=n=NaN),new $n(e,t,n,s)}function Rk(e){return e instanceof Ua||(e=Vs(e)),e?(e=e.rgb(),new $n(e.r,e.g,e.b,e.opacity)):new $n}function bd(e,t,n,s){return arguments.length===1?Rk(e):new $n(e,t,n,s??1)}function $n(e,t,n,s){this.r=+e,this.g=+t,this.b=+n,this.opacity=+s}hu($n,bd,ug(Ua,{brighter(e){return e=e==null?tl:Math.pow(tl,e),new $n(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Ia:Math.pow(Ia,e),new $n(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new $n(qs(this.r),qs(this.g),qs(this.b),nl(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:$f,formatHex:$f,formatHex8:Hk,formatRgb:jf,toString:jf}));function $f(){return`#${Rs(this.r)}${Rs(this.g)}${Rs(this.b)}`}function Hk(){return`#${Rs(this.r)}${Rs(this.g)}${Rs(this.b)}${Rs((isNaN(this.opacity)?1:this.opacity)*255)}`}function jf(){const e=nl(this.opacity);return`${e===1?"rgb(":"rgba("}${qs(this.r)}, ${qs(this.g)}, ${qs(this.b)}${e===1?")":`, ${e})`}`}function nl(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function qs(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Rs(e){return e=qs(e),(e<16?"0":"")+e.toString(16)}function Bf(e,t,n,s){return s<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new dr(e,t,n,s)}function fg(e){if(e instanceof dr)return new dr(e.h,e.s,e.l,e.opacity);if(e instanceof Ua||(e=Vs(e)),!e)return new dr;if(e instanceof dr)return e;e=e.rgb();var t=e.r/255,n=e.g/255,s=e.b/255,o=Math.min(t,n,s),a=Math.max(t,n,s),i=NaN,l=a-o,c=(a+o)/2;return l?(t===a?i=(n-s)/l+(n<s)*6:n===a?i=(s-t)/l+2:i=(t-n)/l+4,l/=c<.5?a+o:2-a-o,i*=60):l=c>0&&c<1?0:i,new dr(i,l,c,e.opacity)}function zk(e,t,n,s){return arguments.length===1?fg(e):new dr(e,t,n,s??1)}function dr(e,t,n,s){this.h=+e,this.s=+t,this.l=+n,this.opacity=+s}hu(dr,zk,ug(Ua,{brighter(e){return e=e==null?tl:Math.pow(tl,e),new dr(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Ia:Math.pow(Ia,e),new dr(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,s=n+(n<.5?n:1-n)*t,o=2*n-s;return new $n(Tc(e>=240?e-240:e+120,o,s),Tc(e,o,s),Tc(e<120?e+240:e-120,o,s),this.opacity)},clamp(){return new dr(Vf(this.h),hi(this.s),hi(this.l),nl(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=nl(this.opacity);return`${e===1?"hsl(":"hsla("}${Vf(this.h)}, ${hi(this.s)*100}%, ${hi(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Vf(e){return e=(e||0)%360,e<0?e+360:e}function hi(e){return Math.max(0,Math.min(1,e||0))}function Tc(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const pu=e=>()=>e;function Fk(e,t){return function(n){return e+n*t}}function qk(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(s){return Math.pow(e+s*t,n)}}function $k(e){return(e=+e)==1?vg:function(t,n){return n-t?qk(t,n,e):pu(isNaN(t)?n:t)}}function vg(e,t){var n=t-e;return n?Fk(e,n):pu(isNaN(e)?t:e)}const rl=function e(t){var n=$k(t);function s(o,a){var i=n((o=bd(o)).r,(a=bd(a)).r),l=n(o.g,a.g),c=n(o.b,a.b),d=vg(o.opacity,a.opacity);return function(u){return o.r=i(u),o.g=l(u),o.b=c(u),o.opacity=d(u),o+""}}return s.gamma=e,s}(1);function jk(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,s=t.slice(),o;return function(a){for(o=0;o<n;++o)s[o]=e[o]*(1-a)+t[o]*a;return s}}function Bk(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Vk(e,t){var n=t?t.length:0,s=e?Math.min(n,e.length):0,o=new Array(s),a=new Array(n),i;for(i=0;i<s;++i)o[i]=_a(e[i],t[i]);for(;i<n;++i)a[i]=t[i];return function(l){for(i=0;i<s;++i)a[i]=o[i](l);return a}}function Wk(e,t){var n=new Date;return e=+e,t=+t,function(s){return n.setTime(e*(1-s)+t*s),n}}function xr(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function Kk(e,t){var n={},s={},o;(e===null||typeof e!="object")&&(e={}),(t===null||typeof t!="object")&&(t={});for(o in t)o in e?n[o]=_a(e[o],t[o]):s[o]=t[o];return function(a){for(o in n)s[o]=n[o](a);return s}}var wd=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Cc=new RegExp(wd.source,"g");function Gk(e){return function(){return e}}function Uk(e){return function(t){return e(t)+""}}function hg(e,t){var n=wd.lastIndex=Cc.lastIndex=0,s,o,a,i=-1,l=[],c=[];for(e=e+"",t=t+"";(s=wd.exec(e))&&(o=Cc.exec(t));)(a=o.index)>n&&(a=t.slice(n,a),l[i]?l[i]+=a:l[++i]=a),(s=s[0])===(o=o[0])?l[i]?l[i]+=o:l[++i]=o:(l[++i]=null,c.push({i,x:xr(s,o)})),n=Cc.lastIndex;return n<t.length&&(a=t.slice(n),l[i]?l[i]+=a:l[++i]=a),l.length<2?c[0]?Uk(c[0].x):Gk(t):(t=c.length,function(d){for(var u=0,h;u<t;++u)l[(h=c[u]).i]=h.x(d);return l.join("")})}function _a(e,t){var n=typeof t,s;return t==null||n==="boolean"?pu(t):(n==="number"?xr:n==="string"?(s=Vs(t))?(t=s,rl):hg:t instanceof Vs?rl:t instanceof Date?Wk:Bk(t)?jk:Array.isArray(t)?Vk:typeof t.valueOf!="function"&&typeof t.toString!="function"||isNaN(t)?Kk:xr)(e,t)}var Wf=180/Math.PI,xd={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function pg(e,t,n,s,o,a){var i,l,c;return(i=Math.sqrt(e*e+t*t))&&(e/=i,t/=i),(c=e*n+t*s)&&(n-=e*c,s-=t*c),(l=Math.sqrt(n*n+s*s))&&(n/=l,s/=l,c/=l),e*s<t*n&&(e=-e,t=-t,c=-c,i=-i),{translateX:o,translateY:a,rotate:Math.atan2(t,e)*Wf,skewX:Math.atan(c)*Wf,scaleX:i,scaleY:l}}var pi;function Yk(e){const t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?xd:pg(t.a,t.b,t.c,t.d,t.e,t.f)}function Xk(e){return e==null||(pi||(pi=document.createElementNS("http://www.w3.org/2000/svg","g")),pi.setAttribute("transform",e),!(e=pi.transform.baseVal.consolidate()))?xd:(e=e.matrix,pg(e.a,e.b,e.c,e.d,e.e,e.f))}function gg(e,t,n,s){function o(d){return d.length?d.pop()+" ":""}function a(d,u,h,v,y,g){if(d!==h||u!==v){var w=y.push("translate(",null,t,null,n);g.push({i:w-4,x:xr(d,h)},{i:w-2,x:xr(u,v)})}else(h||v)&&y.push("translate("+h+t+v+n)}function i(d,u,h,v){d!==u?(d-u>180?u+=360:u-d>180&&(d+=360),v.push({i:h.push(o(h)+"rotate(",null,s)-2,x:xr(d,u)})):u&&h.push(o(h)+"rotate("+u+s)}function l(d,u,h,v){d!==u?v.push({i:h.push(o(h)+"skewX(",null,s)-2,x:xr(d,u)}):u&&h.push(o(h)+"skewX("+u+s)}function c(d,u,h,v,y,g){if(d!==h||u!==v){var w=y.push(o(y)+"scale(",null,",",null,")");g.push({i:w-4,x:xr(d,h)},{i:w-2,x:xr(u,v)})}else(h!==1||v!==1)&&y.push(o(y)+"scale("+h+","+v+")")}return function(d,u){var h=[],v=[];return d=e(d),u=e(u),a(d.translateX,d.translateY,u.translateX,u.translateY,h,v),i(d.rotate,u.rotate,h,v),l(d.skewX,u.skewX,h,v),c(d.scaleX,d.scaleY,u.scaleX,u.scaleY,h,v),d=u=null,function(y){for(var g=-1,w=v.length,k;++g<w;)h[(k=v[g]).i]=k.x(y);return h.join("")}}}var Zk=gg(Yk,"px, ","px)","deg)"),Qk=gg(Xk,", ",")",")"),Jk=1e-12;function Kf(e){return((e=Math.exp(e))+1/e)/2}function eE(e){return((e=Math.exp(e))-1/e)/2}function tE(e){return((e=Math.exp(2*e))-1)/(e+1)}const Pi=function e(t,n,s){function o(a,i){var l=a[0],c=a[1],d=a[2],u=i[0],h=i[1],v=i[2],y=u-l,g=h-c,w=y*y+g*g,k,A;if(w<Jk)A=Math.log(v/d)/t,k=function(K){return[l+K*y,c+K*g,d*Math.exp(t*K*A)]};else{var L=Math.sqrt(w),M=(v*v-d*d+s*w)/(2*d*n*L),D=(v*v-d*d-s*w)/(2*v*n*L),j=Math.log(Math.sqrt(M*M+1)-M),W=Math.log(Math.sqrt(D*D+1)-D);A=(W-j)/t,k=function(K){var Z=K*A,z=Kf(j),U=d/(n*L)*(z*tE(t*Z+j)-eE(j));return[l+U*y,c+U*g,d*z/Kf(t*Z+j)]}}return k.duration=A*1e3*t/Math.SQRT2,k}return o.rho=function(a){var i=Math.max(.001,+a),l=i*i,c=l*l;return e(i,l,c)},o}(Math.SQRT2,2,4);var To=0,fa=0,Xo=0,mg=1e3,sl,va,ol=0,Ws=0,Pl=0,La=typeof performance=="object"&&performance.now?performance:Date,yg=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function gu(){return Ws||(yg(nE),Ws=La.now()+Pl)}function nE(){Ws=0}function al(){this._call=this._time=this._next=null}al.prototype=_g.prototype={constructor:al,restart:function(e,t,n){if(typeof e!="function")throw new TypeError("callback is not a function");n=(n==null?gu():+n)+(t==null?0:+t),!this._next&&va!==this&&(va?va._next=this:sl=this,va=this),this._call=e,this._time=n,kd()},stop:function(){this._call&&(this._call=null,this._time=1/0,kd())}};function _g(e,t,n){var s=new al;return s.restart(e,t,n),s}function rE(){gu(),++To;for(var e=sl,t;e;)(t=Ws-e._time)>=0&&e._call.call(void 0,t),e=e._next;--To}function Gf(){Ws=(ol=La.now())+Pl,To=fa=0;try{rE()}finally{To=0,oE(),Ws=0}}function sE(){var e=La.now(),t=e-ol;t>mg&&(Pl-=t,ol=e)}function oE(){for(var e,t=sl,n,s=1/0;t;)t._call?(s>t._time&&(s=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:sl=n);va=e,kd(s)}function kd(e){if(!To){fa&&(fa=clearTimeout(fa));var t=e-Ws;t>24?(e<1/0&&(fa=setTimeout(Gf,e-La.now()-Pl)),Xo&&(Xo=clearInterval(Xo))):(Xo||(ol=La.now(),Xo=setInterval(sE,mg)),To=1,yg(Gf))}}function Uf(e,t,n){var s=new al;return t=t==null?0:+t,s.restart(o=>{s.stop(),e(o+t)},t,n),s}var aE=Al("start","end","cancel","interrupt"),iE=[],bg=0,Yf=1,Ed=2,Li=3,Xf=4,Sd=5,Oi=6;function Ll(e,t,n,s,o,a){var i=e.__transition;if(!i)e.__transition={};else if(n in i)return;lE(e,n,{name:t,index:s,group:o,on:aE,tween:iE,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:bg})}function mu(e,t){var n=mr(e,t);if(n.state>bg)throw new Error("too late; already scheduled");return n}function Fr(e,t){var n=mr(e,t);if(n.state>Li)throw new Error("too late; already running");return n}function mr(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function lE(e,t,n){var s=e.__transition,o;s[t]=n,n.timer=_g(a,0,n.time);function a(d){n.state=Yf,n.timer.restart(i,n.delay,n.time),n.delay<=d&&i(d-n.delay)}function i(d){var u,h,v,y;if(n.state!==Yf)return c();for(u in s)if(y=s[u],y.name===n.name){if(y.state===Li)return Uf(i);y.state===Xf?(y.state=Oi,y.timer.stop(),y.on.call("interrupt",e,e.__data__,y.index,y.group),delete s[u]):+u<t&&(y.state=Oi,y.timer.stop(),y.on.call("cancel",e,e.__data__,y.index,y.group),delete s[u])}if(Uf(function(){n.state===Li&&(n.state=Xf,n.timer.restart(l,n.delay,n.time),l(d))}),n.state=Ed,n.on.call("start",e,e.__data__,n.index,n.group),n.state===Ed){for(n.state=Li,o=new Array(v=n.tween.length),u=0,h=-1;u<v;++u)(y=n.tween[u].value.call(e,e.__data__,n.index,n.group))&&(o[++h]=y);o.length=h+1}}function l(d){for(var u=d<n.duration?n.ease.call(null,d/n.duration):(n.timer.restart(c),n.state=Sd,1),h=-1,v=o.length;++h<v;)o[h].call(e,u);n.state===Sd&&(n.on.call("end",e,e.__data__,n.index,n.group),c())}function c(){n.state=Oi,n.timer.stop(),delete s[t];for(var d in s)return;delete e.__transition}}function Di(e,t){var n=e.__transition,s,o,a=!0,i;if(n){t=t==null?null:t+"";for(i in n){if((s=n[i]).name!==t){a=!1;continue}o=s.state>Ed&&s.state<Sd,s.state=Oi,s.timer.stop(),s.on.call(o?"interrupt":"cancel",e,e.__data__,s.index,s.group),delete n[i]}a&&delete e.__transition}}function cE(e){return this.each(function(){Di(this,e)})}function dE(e,t){var n,s;return function(){var o=Fr(this,e),a=o.tween;if(a!==n){s=n=a;for(var i=0,l=s.length;i<l;++i)if(s[i].name===t){s=s.slice(),s.splice(i,1);break}}o.tween=s}}function uE(e,t,n){var s,o;if(typeof n!="function")throw new Error;return function(){var a=Fr(this,e),i=a.tween;if(i!==s){o=(s=i).slice();for(var l={name:t,value:n},c=0,d=o.length;c<d;++c)if(o[c].name===t){o[c]=l;break}c===d&&o.push(l)}a.tween=o}}function fE(e,t){var n=this._id;if(e+="",arguments.length<2){for(var s=mr(this.node(),n).tween,o=0,a=s.length,i;o<a;++o)if((i=s[o]).name===e)return i.value;return null}return this.each((t==null?dE:uE)(n,e,t))}function yu(e,t,n){var s=e._id;return e.each(function(){var o=Fr(this,s);(o.value||(o.value={}))[t]=n.apply(this,arguments)}),function(o){return mr(o,s).value[t]}}function wg(e,t){var n;return(typeof t=="number"?xr:t instanceof Vs?rl:(n=Vs(t))?(t=n,rl):hg)(e,t)}function vE(e){return function(){this.removeAttribute(e)}}function hE(e){return function(){this.removeAttributeNS(e.space,e.local)}}function pE(e,t,n){var s,o=n+"",a;return function(){var i=this.getAttribute(e);return i===o?null:i===s?a:a=t(s=i,n)}}function gE(e,t,n){var s,o=n+"",a;return function(){var i=this.getAttributeNS(e.space,e.local);return i===o?null:i===s?a:a=t(s=i,n)}}function mE(e,t,n){var s,o,a;return function(){var i,l=n(this),c;return l==null?void this.removeAttribute(e):(i=this.getAttribute(e),c=l+"",i===c?null:i===s&&c===o?a:(o=c,a=t(s=i,l)))}}function yE(e,t,n){var s,o,a;return function(){var i,l=n(this),c;return l==null?void this.removeAttributeNS(e.space,e.local):(i=this.getAttributeNS(e.space,e.local),c=l+"",i===c?null:i===s&&c===o?a:(o=c,a=t(s=i,l)))}}function _E(e,t){var n=Il(e),s=n==="transform"?Qk:wg;return this.attrTween(e,typeof t=="function"?(n.local?yE:mE)(n,s,yu(this,"attr."+e,t)):t==null?(n.local?hE:vE)(n):(n.local?gE:pE)(n,s,t))}function bE(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function wE(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function xE(e,t){var n,s;function o(){var a=t.apply(this,arguments);return a!==s&&(n=(s=a)&&wE(e,a)),n}return o._value=t,o}function kE(e,t){var n,s;function o(){var a=t.apply(this,arguments);return a!==s&&(n=(s=a)&&bE(e,a)),n}return o._value=t,o}function EE(e,t){var n="attr."+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!="function")throw new Error;var s=Il(e);return this.tween(n,(s.local?xE:kE)(s,t))}function SE(e,t){return function(){mu(this,e).delay=+t.apply(this,arguments)}}function TE(e,t){return t=+t,function(){mu(this,e).delay=t}}function CE(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?SE:TE)(t,e)):mr(this.node(),t).delay}function ME(e,t){return function(){Fr(this,e).duration=+t.apply(this,arguments)}}function NE(e,t){return t=+t,function(){Fr(this,e).duration=t}}function AE(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?ME:NE)(t,e)):mr(this.node(),t).duration}function IE(e,t){if(typeof t!="function")throw new Error;return function(){Fr(this,e).ease=t}}function PE(e){var t=this._id;return arguments.length?this.each(IE(t,e)):mr(this.node(),t).ease}function LE(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!="function")throw new Error;Fr(this,e).ease=n}}function OE(e){if(typeof e!="function")throw new Error;return this.each(LE(this._id,e))}function DE(e){typeof e!="function"&&(e=Jp(e));for(var t=this._groups,n=t.length,s=new Array(n),o=0;o<n;++o)for(var a=t[o],i=a.length,l=s[o]=[],c,d=0;d<i;++d)(c=a[d])&&e.call(c,c.__data__,d,a)&&l.push(c);return new es(s,this._parents,this._name,this._id)}function RE(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,n=e._groups,s=t.length,o=n.length,a=Math.min(s,o),i=new Array(s),l=0;l<a;++l)for(var c=t[l],d=n[l],u=c.length,h=i[l]=new Array(u),v,y=0;y<u;++y)(v=c[y]||d[y])&&(h[y]=v);for(;l<s;++l)i[l]=t[l];return new es(i,this._parents,this._name,this._id)}function HE(e){return(e+"").trim().split(/^|\s+/).every(function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||t==="start"})}function zE(e,t,n){var s,o,a=HE(t)?mu:Fr;return function(){var i=a(this,e),l=i.on;l!==s&&(o=(s=l).copy()).on(t,n),i.on=o}}function FE(e,t){var n=this._id;return arguments.length<2?mr(this.node(),n).on.on(e):this.each(zE(n,e,t))}function qE(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function $E(){return this.on("end.remove",qE(this._id))}function jE(e){var t=this._name,n=this._id;typeof e!="function"&&(e=fu(e));for(var s=this._groups,o=s.length,a=new Array(o),i=0;i<o;++i)for(var l=s[i],c=l.length,d=a[i]=new Array(c),u,h,v=0;v<c;++v)(u=l[v])&&(h=e.call(u,u.__data__,v,l))&&("__data__"in u&&(h.__data__=u.__data__),d[v]=h,Ll(d[v],t,n,v,d,mr(u,n)));return new es(a,this._parents,t,n)}function BE(e){var t=this._name,n=this._id;typeof e!="function"&&(e=Qp(e));for(var s=this._groups,o=s.length,a=[],i=[],l=0;l<o;++l)for(var c=s[l],d=c.length,u,h=0;h<d;++h)if(u=c[h]){for(var v=e.call(u,u.__data__,h,c),y,g=mr(u,n),w=0,k=v.length;w<k;++w)(y=v[w])&&Ll(y,t,n,w,v,g);a.push(v),i.push(u)}return new es(a,i,t,n)}var VE=Ga.prototype.constructor;function WE(){return new VE(this._groups,this._parents)}function KE(e,t){var n,s,o;return function(){var a=So(this,e),i=(this.style.removeProperty(e),So(this,e));return a===i?null:a===n&&i===s?o:o=t(n=a,s=i)}}function xg(e){return function(){this.style.removeProperty(e)}}function GE(e,t,n){var s,o=n+"",a;return function(){var i=So(this,e);return i===o?null:i===s?a:a=t(s=i,n)}}function UE(e,t,n){var s,o,a;return function(){var i=So(this,e),l=n(this),c=l+"";return l==null&&(c=l=(this.style.removeProperty(e),So(this,e))),i===c?null:i===s&&c===o?a:(o=c,a=t(s=i,l))}}function YE(e,t){var n,s,o,a="style."+t,i="end."+a,l;return function(){var c=Fr(this,e),d=c.on,u=c.value[a]==null?l||(l=xg(t)):void 0;(d!==n||o!==u)&&(s=(n=d).copy()).on(i,o=u),c.on=s}}function XE(e,t,n){var s=(e+="")=="transform"?Zk:wg;return t==null?this.styleTween(e,KE(e,s)).on("end.style."+e,xg(e)):typeof t=="function"?this.styleTween(e,UE(e,s,yu(this,"style."+e,t))).each(YE(this._id,e)):this.styleTween(e,GE(e,s,t),n).on("end.style."+e,null)}function ZE(e,t,n){return function(s){this.style.setProperty(e,t.call(this,s),n)}}function QE(e,t,n){var s,o;function a(){var i=t.apply(this,arguments);return i!==o&&(s=(o=i)&&ZE(e,i,n)),s}return a._value=t,a}function JE(e,t,n){var s="style."+(e+="");if(arguments.length<2)return(s=this.tween(s))&&s._value;if(t==null)return this.tween(s,null);if(typeof t!="function")throw new Error;return this.tween(s,QE(e,t,n??""))}function eS(e){return function(){this.textContent=e}}function tS(e){return function(){var t=e(this);this.textContent=t??""}}function nS(e){return this.tween("text",typeof e=="function"?tS(yu(this,"text",e)):eS(e==null?"":e+""))}function rS(e){return function(t){this.textContent=e.call(this,t)}}function sS(e){var t,n;function s(){var o=e.apply(this,arguments);return o!==n&&(t=(n=o)&&rS(o)),t}return s._value=e,s}function oS(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!="function")throw new Error;return this.tween(t,sS(e))}function aS(){for(var e=this._name,t=this._id,n=kg(),s=this._groups,o=s.length,a=0;a<o;++a)for(var i=s[a],l=i.length,c,d=0;d<l;++d)if(c=i[d]){var u=mr(c,t);Ll(c,e,n,d,i,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new es(s,this._parents,e,n)}function iS(){var e,t,n=this,s=n._id,o=n.size();return new Promise(function(a,i){var l={value:i},c={value:function(){--o===0&&a()}};n.each(function(){var d=Fr(this,s),u=d.on;u!==e&&(t=(e=u).copy(),t._.cancel.push(l),t._.interrupt.push(l),t._.end.push(c)),d.on=t}),o===0&&a()})}var lS=0;function es(e,t,n,s){this._groups=e,this._parents=t,this._name=n,this._id=s}function kg(){return++lS}var Vr=Ga.prototype;es.prototype={constructor:es,select:jE,selectAll:BE,selectChild:Vr.selectChild,selectChildren:Vr.selectChildren,filter:DE,merge:RE,selection:WE,transition:aS,call:Vr.call,nodes:Vr.nodes,node:Vr.node,size:Vr.size,empty:Vr.empty,each:Vr.each,on:FE,attr:_E,attrTween:EE,style:XE,styleTween:JE,text:nS,textTween:oS,remove:$E,tween:fE,delay:CE,duration:AE,ease:PE,easeVarying:OE,end:iS,[Symbol.iterator]:Vr[Symbol.iterator]};function cS(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var dS={time:null,delay:0,duration:250,ease:cS};function uS(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return n}function fS(e){var t,n;e instanceof es?(t=e._id,e=e._name):(t=kg(),(n=dS).time=gu(),e=e==null?null:e+"");for(var s=this._groups,o=s.length,a=0;a<o;++a)for(var i=s[a],l=i.length,c,d=0;d<l;++d)(c=i[d])&&Ll(c,e,t,d,i,n||uS(c,t));return new es(s,this._parents,e,t)}Ga.prototype.interrupt=cE;Ga.prototype.transition=fS;const gi=e=>()=>e;function vS(e,{sourceEvent:t,target:n,transform:s,dispatch:o}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:s,enumerable:!0,configurable:!0},_:{value:o}})}function Gr(e,t,n){this.k=e,this.x=t,this.y=n}Gr.prototype={constructor:Gr,scale:function(e){return e===1?this:new Gr(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new Gr(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Ol=new Gr(1,0,0);Eg.prototype=Gr.prototype;function Eg(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Ol;return e.__zoom}function Mc(e){e.stopImmediatePropagation()}function Zo(e){e.preventDefault(),e.stopImmediatePropagation()}function hS(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function pS(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function Zf(){return this.__zoom||Ol}function gS(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function mS(){return navigator.maxTouchPoints||"ontouchstart"in this}function yS(e,t,n){var s=e.invertX(t[0][0])-n[0][0],o=e.invertX(t[1][0])-n[1][0],a=e.invertY(t[0][1])-n[0][1],i=e.invertY(t[1][1])-n[1][1];return e.translate(o>s?(s+o)/2:Math.min(0,s)||Math.max(0,o),i>a?(a+i)/2:Math.min(0,a)||Math.max(0,i))}function _S(){var e=hS,t=pS,n=yS,s=gS,o=mS,a=[0,1/0],i=[[-1/0,-1/0],[1/0,1/0]],l=250,c=Pi,d=Al("start","zoom","end"),u,h,v,y=500,g=150,w=0,k=10;function A(m){m.property("__zoom",Zf).on("wheel.zoom",Z,{passive:!1}).on("mousedown.zoom",z).on("dblclick.zoom",U).filter(o).on("touchstart.zoom",$).on("touchmove.zoom",H).on("touchend.zoom touchcancel.zoom",x).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}A.transform=function(m,S,T,E){var I=m.selection?m.selection():m;I.property("__zoom",Zf),m!==I?j(m,S,T,E):I.interrupt().each(function(){W(this,arguments).event(E).start().zoom(null,typeof S=="function"?S.apply(this,arguments):S).end()})},A.scaleBy=function(m,S,T,E){A.scaleTo(m,function(){var I=this.__zoom.k,F=typeof S=="function"?S.apply(this,arguments):S;return I*F},T,E)},A.scaleTo=function(m,S,T,E){A.transform(m,function(){var I=t.apply(this,arguments),F=this.__zoom,q=T==null?D(I):typeof T=="function"?T.apply(this,arguments):T,Y=F.invert(q),ne=typeof S=="function"?S.apply(this,arguments):S;return n(M(L(F,ne),q,Y),I,i)},T,E)},A.translateBy=function(m,S,T,E){A.transform(m,function(){return n(this.__zoom.translate(typeof S=="function"?S.apply(this,arguments):S,typeof T=="function"?T.apply(this,arguments):T),t.apply(this,arguments),i)},null,E)},A.translateTo=function(m,S,T,E,I){A.transform(m,function(){var F=t.apply(this,arguments),q=this.__zoom,Y=E==null?D(F):typeof E=="function"?E.apply(this,arguments):E;return n(Ol.translate(Y[0],Y[1]).scale(q.k).translate(typeof S=="function"?-S.apply(this,arguments):-S,typeof T=="function"?-T.apply(this,arguments):-T),F,i)},E,I)};function L(m,S){return S=Math.max(a[0],Math.min(a[1],S)),S===m.k?m:new Gr(S,m.x,m.y)}function M(m,S,T){var E=S[0]-T[0]*m.k,I=S[1]-T[1]*m.k;return E===m.x&&I===m.y?m:new Gr(m.k,E,I)}function D(m){return[(+m[0][0]+ +m[1][0])/2,(+m[0][1]+ +m[1][1])/2]}function j(m,S,T,E){m.on("start.zoom",function(){W(this,arguments).event(E).start()}).on("interrupt.zoom end.zoom",function(){W(this,arguments).event(E).end()}).tween("zoom",function(){var I=this,F=arguments,q=W(I,F).event(E),Y=t.apply(I,F),ne=T==null?D(Y):typeof T=="function"?T.apply(I,F):T,ie=Math.max(Y[1][0]-Y[0][0],Y[1][1]-Y[0][1]),G=I.__zoom,P=typeof S=="function"?S.apply(I,F):S,Q=c(G.invert(ne).concat(ie/G.k),P.invert(ne).concat(ie/P.k));return function(V){if(V===1)V=P;else{var X=Q(V),le=ie/X[2];V=new Gr(le,ne[0]-X[0]*le,ne[1]-X[1]*le)}q.zoom(null,V)}})}function W(m,S,T){return!T&&m.__zooming||new K(m,S)}function K(m,S){this.that=m,this.args=S,this.active=0,this.sourceEvent=null,this.extent=t.apply(m,S),this.taps=0}K.prototype={event:function(m){return m&&(this.sourceEvent=m),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(m,S){return this.mouse&&m!=="mouse"&&(this.mouse[1]=S.invert(this.mouse[0])),this.touch0&&m!=="touch"&&(this.touch0[1]=S.invert(this.touch0[0])),this.touch1&&m!=="touch"&&(this.touch1[1]=S.invert(this.touch1[0])),this.that.__zoom=S,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(m){var S=cr(this.that).datum();d.call(m,this.that,new vS(m,{sourceEvent:this.sourceEvent,target:A,transform:this.that.__zoom,dispatch:d}),S)}};function Z(m,...S){if(!e.apply(this,arguments))return;var T=W(this,S).event(m),E=this.__zoom,I=Math.max(a[0],Math.min(a[1],E.k*Math.pow(2,s.apply(this,arguments)))),F=br(m);if(T.wheel)(T.mouse[0][0]!==F[0]||T.mouse[0][1]!==F[1])&&(T.mouse[1]=E.invert(T.mouse[0]=F)),clearTimeout(T.wheel);else{if(E.k===I)return;T.mouse=[F,E.invert(F)],Di(this),T.start()}Zo(m),T.wheel=setTimeout(q,g),T.zoom("mouse",n(M(L(E,I),T.mouse[0],T.mouse[1]),T.extent,i));function q(){T.wheel=null,T.end()}}function z(m,...S){if(v||!e.apply(this,arguments))return;var T=m.currentTarget,E=W(this,S,!0).event(m),I=cr(m.view).on("mousemove.zoom",ne,!0).on("mouseup.zoom",ie,!0),F=br(m,T),q=m.clientX,Y=m.clientY;cg(m.view),Mc(m),E.mouse=[F,this.__zoom.invert(F)],Di(this),E.start();function ne(G){if(Zo(G),!E.moved){var P=G.clientX-q,Q=G.clientY-Y;E.moved=P*P+Q*Q>w}E.event(G).zoom("mouse",n(M(E.that.__zoom,E.mouse[0]=br(G,T),E.mouse[1]),E.extent,i))}function ie(G){I.on("mousemove.zoom mouseup.zoom",null),dg(G.view,E.moved),Zo(G),E.event(G).end()}}function U(m,...S){if(e.apply(this,arguments)){var T=this.__zoom,E=br(m.changedTouches?m.changedTouches[0]:m,this),I=T.invert(E),F=T.k*(m.shiftKey?.5:2),q=n(M(L(T,F),E,I),t.apply(this,S),i);Zo(m),l>0?cr(this).transition().duration(l).call(j,q,E,m):cr(this).call(A.transform,q,E,m)}}function $(m,...S){if(e.apply(this,arguments)){var T=m.touches,E=T.length,I=W(this,S,m.changedTouches.length===E).event(m),F,q,Y,ne;for(Mc(m),q=0;q<E;++q)Y=T[q],ne=br(Y,this),ne=[ne,this.__zoom.invert(ne),Y.identifier],I.touch0?!I.touch1&&I.touch0[2]!==ne[2]&&(I.touch1=ne,I.taps=0):(I.touch0=ne,F=!0,I.taps=1+!!u);u&&(u=clearTimeout(u)),F&&(I.taps<2&&(h=ne[0],u=setTimeout(function(){u=null},y)),Di(this),I.start())}}function H(m,...S){if(this.__zooming){var T=W(this,S).event(m),E=m.changedTouches,I=E.length,F,q,Y,ne;for(Zo(m),F=0;F<I;++F)q=E[F],Y=br(q,this),T.touch0&&T.touch0[2]===q.identifier?T.touch0[0]=Y:T.touch1&&T.touch1[2]===q.identifier&&(T.touch1[0]=Y);if(q=T.that.__zoom,T.touch1){var ie=T.touch0[0],G=T.touch0[1],P=T.touch1[0],Q=T.touch1[1],V=(V=P[0]-ie[0])*V+(V=P[1]-ie[1])*V,X=(X=Q[0]-G[0])*X+(X=Q[1]-G[1])*X;q=L(q,Math.sqrt(V/X)),Y=[(ie[0]+P[0])/2,(ie[1]+P[1])/2],ne=[(G[0]+Q[0])/2,(G[1]+Q[1])/2]}else if(T.touch0)Y=T.touch0[0],ne=T.touch0[1];else return;T.zoom("touch",n(M(q,Y,ne),T.extent,i))}}function x(m,...S){if(this.__zooming){var T=W(this,S).event(m),E=m.changedTouches,I=E.length,F,q;for(Mc(m),v&&clearTimeout(v),v=setTimeout(function(){v=null},y),F=0;F<I;++F)q=E[F],T.touch0&&T.touch0[2]===q.identifier?delete T.touch0:T.touch1&&T.touch1[2]===q.identifier&&delete T.touch1;if(T.touch1&&!T.touch0&&(T.touch0=T.touch1,delete T.touch1),T.touch0)T.touch0[1]=this.__zoom.invert(T.touch0[0]);else if(T.end(),T.taps===2&&(q=br(q,this),Math.hypot(h[0]-q[0],h[1]-q[1])<k)){var Y=cr(this).on("dblclick.zoom");Y&&Y.apply(this,arguments)}}}return A.wheelDelta=function(m){return arguments.length?(s=typeof m=="function"?m:gi(+m),A):s},A.filter=function(m){return arguments.length?(e=typeof m=="function"?m:gi(!!m),A):e},A.touchable=function(m){return arguments.length?(o=typeof m=="function"?m:gi(!!m),A):o},A.extent=function(m){return arguments.length?(t=typeof m=="function"?m:gi([[+m[0][0],+m[0][1]],[+m[1][0],+m[1][1]]]),A):t},A.scaleExtent=function(m){return arguments.length?(a[0]=+m[0],a[1]=+m[1],A):[a[0],a[1]]},A.translateExtent=function(m){return arguments.length?(i[0][0]=+m[0][0],i[1][0]=+m[1][0],i[0][1]=+m[0][1],i[1][1]=+m[1][1],A):[[i[0][0],i[0][1]],[i[1][0],i[1][1]]]},A.constrain=function(m){return arguments.length?(n=m,A):n},A.duration=function(m){return arguments.length?(l=+m,A):l},A.interpolate=function(m){return arguments.length?(c=m,A):c},A.on=function(){var m=d.on.apply(d,arguments);return m===d?A:m},A.clickDistance=function(m){return arguments.length?(w=(m=+m)*m,A):Math.sqrt(w)},A.tapDistance=function(m){return arguments.length?(k=+m,A):k},A}const Ks={error001:(e="react")=>`Seems like you have not used ${e==="svelte"?"SvelteFlowProvider":"ReactFlowProvider"} as an ancestor. Help: https://${e}flow.dev/error#001`,error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:t,sourceHandle:n,targetHandle:s})=>`Couldn't create edge for ${e} handle id: "${e==="source"?n:s}", edge id: ${t}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs.",error016:e=>`Edge with id "${e}" does not exist, it may have been removed. This can happen when an edge is deleted before the "onEdgeClick" handler is called.`},Td=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Sg=["Enter"," ","Escape"],bS={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:e,x:t,y:n})=>`Moved selected node ${e}. New position, x: ${t}, y: ${n}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"};var Co;(function(e){e.Strict="strict",e.Loose="loose"})(Co||(Co={}));var po;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(po||(po={}));var il;(function(e){e.Partial="partial",e.Full="full"})(il||(il={}));const Cd={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var hs;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(hs||(hs={}));var ll;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(ll||(ll={}));var et;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(et||(et={}));const Qf={[et.Left]:et.Right,[et.Right]:et.Left,[et.Top]:et.Bottom,[et.Bottom]:et.Top},Tg=e=>!!e&&typeof e=="object"&&"id"in e&&"source"in e&&"target"in e,wS=e=>!!e&&typeof e=="object"&&"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),_u=e=>!!e&&typeof e=="object"&&"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),Ya=(e,t=[0,0])=>{const{width:n,height:s}=ns(e),o=e.origin??t,a=n*o[0],i=s*o[1];return{x:e.position.x-a,y:e.position.y-i}},xS=(e,t={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};let n=!1;const s=e.reduce((o,a)=>{const i=typeof a=="string";let l=!t.nodeLookup&&!i?a:void 0;return t.nodeLookup&&(l=i?t.nodeLookup.get(a):_u(a)?a:t.nodeLookup.get(a.id)),l?(n=!0,Rl(o,cl(l,t.nodeOrigin))):o},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return n?Hl(s):{x:0,y:0,width:0,height:0}},Dl=(e,t={})=>{let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0},s=!1;return e.forEach(o=>{(t.filter===void 0||t.filter(o))&&(n=Rl(n,cl(o)),s=!0)}),s?Hl(n):{x:0,y:0,width:0,height:0}},bu=(e,t,[n,s,o]=[0,0,1],a=!1,i=!1)=>{const l=(t.x-n)/o,c=(t.y-s)/o,d=t.width/o,u=t.height/o,h=[];for(const v of e.values()){const{measured:y,selectable:g=!0,hidden:w=!1}=v;if(i&&!g||w)continue;const k=y.width??v.width??v.initialWidth??0,A=y.height??v.height??v.initialHeight??0,{x:L,y:M}=v.internals.positionAbsolute,D=Ng(l,c,d,u,L,M,k,A),j=k*A,W=a&&D>0;(!v.internals.handleBounds||W||D>=j||v.dragging)&&h.push(v)}return h},kS=(e,t)=>{const n=new Set;return e.forEach(s=>{n.add(s.id)}),t.filter(s=>n.has(s.source)||n.has(s.target))};function ES(e,t){const n=new Map,s=t?.nodes?new Set(t.nodes.map(o=>o.id)):null;return e.forEach(o=>{let a;if(t?.includeHiddenNodes){const{width:i,height:l}=ns(o);a=i>0&&l>0}else a=!!(o.measured.width&&o.measured.height&&!o.hidden);a&&(!s||s.has(o.id))&&n.set(o.id,o)}),n}async function SS({nodes:e,width:t,height:n,panZoom:s,minZoom:o,maxZoom:a},i){if(e.size===0)return!0;const l=ES(e,i),c=Dl(l),d=xu(c,t,n,i?.minZoom??o,i?.maxZoom??a,i?.padding??.1);return await s.setViewport(d,{duration:i?.duration,ease:i?.ease,interpolate:i?.interpolate}),!0}function Cg({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:s=[0,0],nodeExtent:o,onError:a}){const i=n.get(e),l=i.parentId?n.get(i.parentId):void 0,{x:c,y:d}=l?l.internals.positionAbsolute:{x:0,y:0},u=i.origin??s;let h=i.extent||o;if(i.extent==="parent"&&!i.expandParent)if(!l)a?.("005",Ks.error005());else{const{width:y,height:g}=ns(l);y&&g&&(h=[[c,d],[c+y,d+g]])}else l&&Ao(i.extent)&&(h=[[i.extent[0][0]+c,i.extent[0][1]+d],[i.extent[1][0]+c,i.extent[1][1]+d]]);const v=Ao(h)?Gs(t,h,i.measured):t;return(i.measured.width===void 0||i.measured.height===void 0)&&a?.("015",Ks.error015()),{position:{x:v.x-c+(i.measured.width??0)*u[0],y:v.y-d+(i.measured.height??0)*u[1]},positionAbsolute:v}}async function TS({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:s,onBeforeDelete:o}){const a=new Set(e.map(v=>v.id)),i=[];for(const v of n){if(v.deletable===!1)continue;const y=a.has(v.id),g=!y&&v.parentId&&i.find(w=>w.id===v.parentId);(y||g)&&i.push(v)}const l=new Set(t.map(v=>v.id)),c=s.filter(v=>v.deletable!==!1),u=kS(i,c);for(const v of c)l.has(v.id)&&!u.find(g=>g.id===v.id)&&u.push(v);if(!o)return{edges:u,nodes:i};const h=await o({nodes:i,edges:u});return typeof h=="boolean"?h?{edges:u,nodes:i}:{edges:[],nodes:[]}:h}const Mo=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),Gs=(e={x:0,y:0},t,n)=>({x:Mo(e.x,t[0][0],t[1][0]-(n?.width??0)),y:Mo(e.y,t[0][1],t[1][1]-(n?.height??0))});function Mg(e,t,n){const{width:s,height:o}=ns(n),{x:a,y:i}=n.internals.positionAbsolute;return Gs(e,[[a,i],[a+s,i+o]],t)}const Jf=(e,t,n)=>e<t?Mo(Math.abs(e-t),1,t)/t:e>n?-Mo(Math.abs(e-n),1,t)/t:0,wu=(e,t,n=15,s=40)=>{const o=Jf(e.x,s,t.width-s)*n,a=Jf(e.y,s,t.height-s)*n;return[o,a]},Rl=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),Md=({x:e,y:t,width:n,height:s})=>({x:e,y:t,x2:e+n,y2:t+s}),Hl=({x:e,y:t,x2:n,y2:s})=>({x:e,y:t,width:n-e,height:s-t}),Oa=(e,t=[0,0])=>{const{x:n,y:s}=_u(e)?e.internals.positionAbsolute:Ya(e,t);return{x:n,y:s,width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}},cl=(e,t=[0,0])=>{const{x:n,y:s}=_u(e)?e.internals.positionAbsolute:Ya(e,t);return{x:n,y:s,x2:n+(e.measured?.width??e.width??e.initialWidth??0),y2:s+(e.measured?.height??e.height??e.initialHeight??0)}},CS=(e,t)=>Hl(Rl(Md(e),Md(t))),Ng=(e,t,n,s,o,a,i,l)=>{const c=Math.max(0,Math.min(e+n,o+i)-Math.max(e,o)),d=Math.max(0,Math.min(t+s,a+l)-Math.max(t,a));return Math.ceil(c*d)},dl=(e,t)=>Ng(e.x,e.y,e.width,e.height,t.x,t.y,t.width,t.height),ev=e=>Ur(e.width)&&Ur(e.height)&&Ur(e.x)&&Ur(e.y),Ur=e=>!isNaN(e)&&isFinite(e),Ag=(e,t)=>(n,s)=>{},Xa=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),Za=({x:e,y:t},[n,s,o],a=!1,i=[1,1])=>{const l={x:(e-n)/o,y:(t-s)/o};return a?Xa(l,i):l},No=({x:e,y:t},[n,s,o])=>({x:e*o+n,y:t*o+s});function ro(e,t){if(typeof e=="number")return Math.floor((t-t/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(n)}if(typeof e=="string"&&e.endsWith("%")){const n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.01)}return console.error(`The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function MS(e,t,n){if(typeof e=="string"||typeof e=="number"){const s=ro(e,n),o=ro(e,t);return{top:s,right:o,bottom:s,left:o,x:o*2,y:s*2}}if(typeof e=="object"){const s=ro(e.top??e.y??0,n),o=ro(e.bottom??e.y??0,n),a=ro(e.left??e.x??0,t),i=ro(e.right??e.x??0,t);return{top:s,right:i,bottom:o,left:a,x:a+i,y:s+o}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function NS(e,t,n,s,o,a){const{x:i,y:l}=No(e,[t,n,s]),{x:c,y:d}=No({x:e.x+e.width,y:e.y+e.height},[t,n,s]),u=o-c,h=a-d;return{left:Math.floor(i),top:Math.floor(l),right:Math.floor(u),bottom:Math.floor(h)}}const xu=(e,t,n,s,o,a)=>{const i=MS(a,t,n),l=(t-i.x)/e.width,c=(n-i.y)/e.height,d=Math.min(l,c),u=Mo(d,s,o),h=e.x+e.width/2,v=e.y+e.height/2,y=t/2-h*u,g=n/2-v*u,w=NS(e,y,g,u,t,n),k={left:Math.min(w.left-i.left,0),top:Math.min(w.top-i.top,0),right:Math.min(w.right-i.right,0),bottom:Math.min(w.bottom-i.bottom,0)};return{x:y-k.left+k.right,y:g-k.top+k.bottom,zoom:u}},ul=()=>typeof navigator<"u"&&navigator?.userAgent?.indexOf("Mac")>=0;function Ao(e){return e!=null&&e!=="parent"}function ns(e){return{width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}}function AS(e){return(e.measured?.width??e.width??e.initialWidth)!==void 0&&(e.measured?.height??e.height??e.initialHeight)!==void 0}function IS(e,t={width:0,height:0},n,s,o){const a={...e},i=s.get(n);if(i){const l=i.origin||o;a.x+=i.internals.positionAbsolute.x-(t.width??0)*l[0],a.y+=i.internals.positionAbsolute.y-(t.height??0)*l[1]}return a}function PS(e){return{...bS,...e||{}}}function LS(e,t){if(!e&&!t)return!0;if(!e||!t||e.size!==t.size)return!1;if(!e.size&&!t.size)return!0;for(const n of e.keys())if(!t.has(n))return!1;return!0}function tv(e,t,n){if(!n)return;const s=[];e.forEach((o,a)=>{t?.has(a)||s.push(o)}),s.length&&n(s)}function OS(e){return e===null?null:e?"valid":"invalid"}function Nc(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:s,containerBounds:o}){const{x:a,y:i}=pr(e),l=Za({x:a-(o?.left??0),y:i-(o?.top??0)},s),{x:c,y:d}=n?Xa(l,t):l;return{xSnapped:c,ySnapped:d,...l}}const Ig=e=>({width:e.offsetWidth,height:e.offsetHeight}),Pg=e=>e?.getRootNode?.()||window?.document,DS=["INPUT","SELECT","TEXTAREA"];function Lg(e){const t=e.composedPath?.()?.[0]||e.target;return t?.nodeType!==1?!1:DS.includes(t.nodeName)||t.hasAttribute("contenteditable")||!!t.closest(".nokey")}const Og=e=>"clientX"in e,pr=(e,t)=>{const n=Og(e),s=n?e.clientX:e.touches?.[0].clientX,o=n?e.clientY:e.touches?.[0].clientY;return{x:s-(t?.left??0),y:o-(t?.top??0)}},nv=(e,t,n,s,o)=>{const a=t.querySelectorAll(`.${e}`);return!a||!a.length?null:Array.from(a).map(i=>{const l=i.getBoundingClientRect();return{id:i.getAttribute("data-handleid"),type:e,nodeId:o,position:i.getAttribute("data-handlepos"),x:(l.left-n.left)/s,y:(l.top-n.top)/s,...Ig(i)}})};function RS({sourceX:e,sourceY:t,targetX:n,targetY:s,sourceControlX:o,sourceControlY:a,targetControlX:i,targetControlY:l}){const c=e*.125+o*.375+i*.375+n*.125,d=t*.125+a*.375+l*.375+s*.125,u=Math.abs(c-e),h=Math.abs(d-t);return[c,d,u,h]}function mi(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function rv({pos:e,x1:t,y1:n,x2:s,y2:o,c:a}){switch(e){case et.Left:return[t-mi(t-s,a),n];case et.Right:return[t+mi(s-t,a),n];case et.Top:return[t,n-mi(n-o,a)];case et.Bottom:return[t,n+mi(o-n,a)]}}function Dg({sourceX:e,sourceY:t,sourcePosition:n=et.Bottom,targetX:s,targetY:o,targetPosition:a=et.Top,curvature:i=.25}){const[l,c]=rv({pos:n,x1:e,y1:t,x2:s,y2:o,c:i}),[d,u]=rv({pos:a,x1:s,y1:o,x2:e,y2:t,c:i}),[h,v,y,g]=RS({sourceX:e,sourceY:t,targetX:s,targetY:o,sourceControlX:l,sourceControlY:c,targetControlX:d,targetControlY:u});return[`M${e},${t} C${l},${c} ${d},${u} ${s},${o}`,h,v,y,g]}function Rg({sourceX:e,sourceY:t,targetX:n,targetY:s}){const o=Math.abs(n-e)/2,a=n<e?n+o:n-o,i=Math.abs(s-t)/2,l=s<t?s+i:s-i;return[a,l,o,i]}function HS({sourceNode:e,targetNode:t,selected:n=!1,zIndex:s=0,elevateOnSelect:o=!1,zIndexMode:a="basic"}){if(a==="manual")return s;const i=o&&n?s+1e3:s,l=Math.max(e.parentId||o&&e.selected?e.internals.z:0,t.parentId||o&&t.selected?t.internals.z:0);return i+l}function zS({sourceNode:e,targetNode:t,width:n,height:s,transform:o}){const a=Rl(cl(e),cl(t));a.x===a.x2&&(a.x2+=1),a.y===a.y2&&(a.y2+=1);const i={x:-o[0]/o[2],y:-o[1]/o[2],width:n/o[2],height:s/o[2]};return dl(i,Hl(a))>0}const FS=({source:e,sourceHandle:t,target:n,targetHandle:s})=>`xy-edge__${e}${t||""}-${n}${s||""}`,qS=(e,t)=>t.some(n=>n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle)),$S=(e,t,n={})=>{if(!e.source||!e.target)return n.onError?.("006",Ks.error006()),t;const s=n.getEdgeId||FS;let o;return Tg(e)?o={...e}:o={...e,id:s(e)},qS(o,t)?t:(o.sourceHandle===null&&delete o.sourceHandle,o.targetHandle===null&&delete o.targetHandle,t.concat(o))};function Hg({sourceX:e,sourceY:t,targetX:n,targetY:s}){const[o,a,i,l]=Rg({sourceX:e,sourceY:t,targetX:n,targetY:s});return[`M ${e},${t}L ${n},${s}`,o,a,i,l]}const sv={[et.Left]:{x:-1,y:0},[et.Right]:{x:1,y:0},[et.Top]:{x:0,y:-1},[et.Bottom]:{x:0,y:1}},jS=({source:e,sourcePosition:t=et.Bottom,target:n})=>t===et.Left||t===et.Right?e.x<n.x?{x:1,y:0}:{x:-1,y:0}:e.y<n.y?{x:0,y:1}:{x:0,y:-1},ov=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function BS({source:e,sourcePosition:t=et.Bottom,target:n,targetPosition:s=et.Top,center:o,offset:a,stepPosition:i}){const l=sv[t],c=sv[s],d={x:e.x+l.x*a,y:e.y+l.y*a},u={x:n.x+c.x*a,y:n.y+c.y*a},h=jS({source:d,sourcePosition:t,target:u}),v=h.x!==0?"x":"y",y=h[v];let g=[],w,k;const A={x:0,y:0},L={x:0,y:0},[,,M,D]=Rg({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(l[v]*c[v]===-1){v==="x"?(w=o.x??d.x+(u.x-d.x)*i,k=o.y??(d.y+u.y)/2):(w=o.x??(d.x+u.x)/2,k=o.y??d.y+(u.y-d.y)*i);const Z=[{x:w,y:d.y},{x:w,y:u.y}],z=[{x:d.x,y:k},{x:u.x,y:k}];l[v]===y?g=v==="x"?Z:z:g=v==="x"?z:Z}else{const Z=[{x:d.x,y:u.y}],z=[{x:u.x,y:d.y}];if(v==="x"?g=l.x===y?z:Z:g=l.y===y?Z:z,t===s){const m=Math.abs(e[v]-n[v]);if(m<=a){const S=Math.min(a-1,a-m);l[v]===y?A[v]=(d[v]>e[v]?-1:1)*S:L[v]=(u[v]>n[v]?-1:1)*S}}if(t!==s){const m=v==="x"?"y":"x",S=l[v]===c[m],T=d[m]>u[m],E=d[m]<u[m];(l[v]===1&&(!S&&T||S&&E)||l[v]!==1&&(!S&&E||S&&T))&&(g=v==="x"?Z:z)}const U={x:d.x+A.x,y:d.y+A.y},$={x:u.x+L.x,y:u.y+L.y},H=Math.max(Math.abs(U.x-g[0].x),Math.abs($.x-g[0].x)),x=Math.max(Math.abs(U.y-g[0].y),Math.abs($.y-g[0].y));H>=x?(w=(U.x+$.x)/2,k=g[0].y):(w=g[0].x,k=(U.y+$.y)/2)}const j={x:d.x+A.x,y:d.y+A.y},W={x:u.x+L.x,y:u.y+L.y};return[[e,...j.x!==g[0].x||j.y!==g[0].y?[j]:[],...g,...W.x!==g[g.length-1].x||W.y!==g[g.length-1].y?[W]:[],n],w,k,M,D]}function VS(e,t,n,s){const o=Math.min(ov(e,t)/2,ov(t,n)/2,s),{x:a,y:i}=t;if(e.x===a&&a===n.x||e.y===i&&i===n.y)return`L${a} ${i}`;if(e.y===i){const d=e.x<n.x?-1:1,u=e.y<n.y?1:-1;return`L ${a+o*d},${i}Q ${a},${i} ${a},${i+o*u}`}const l=e.x<n.x?1:-1,c=e.y<n.y?-1:1;return`L ${a},${i+o*c}Q ${a},${i} ${a+o*l},${i}`}function ku({sourceX:e,sourceY:t,sourcePosition:n=et.Bottom,targetX:s,targetY:o,targetPosition:a=et.Top,borderRadius:i=5,centerX:l,centerY:c,offset:d=20,stepPosition:u=.5}){const[h,v,y,g,w]=BS({source:{x:e,y:t},sourcePosition:n,target:{x:s,y:o},targetPosition:a,center:{x:l,y:c},offset:d,stepPosition:u});let k=`M${h[0].x} ${h[0].y}`;for(let A=1;A<h.length-1;A++)k+=VS(h[A-1],h[A],h[A+1],i);return k+=`L${h[h.length-1].x} ${h[h.length-1].y}`,[k,v,y,g,w]}function av(e){return e&&!!(e.internals.handleBounds||e.handles?.length)&&!!(e.measured.width||e.width||e.initialWidth)}function WS(e){const{sourceNode:t,targetNode:n}=e;if(!av(t)||!av(n))return null;const s=t.internals.handleBounds||iv(t.handles),o=n.internals.handleBounds||iv(n.handles),a=lv(s?.source??[],e.sourceHandle),i=lv(e.connectionMode===Co.Strict?o?.target??[]:(o?.target??[]).concat(o?.source??[]),e.targetHandle);if(!a||!i)return e.onError?.("008",Ks.error008(a?"target":"source",{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;const l=a?.position||et.Bottom,c=i?.position||et.Top,d=Us(t,a,l),u=Us(n,i,c);return{sourceX:d.x,sourceY:d.y,targetX:u.x,targetY:u.y,sourcePosition:l,targetPosition:c}}function iv(e){if(!e)return null;const t=[],n=[];for(const s of e)s.width=s.width??1,s.height=s.height??1,s.type==="source"?t.push(s):s.type==="target"&&n.push(s);return{source:t,target:n}}function Us(e,t,n=et.Left,s=!1){const o=(t?.x??0)+e.internals.positionAbsolute.x,a=(t?.y??0)+e.internals.positionAbsolute.y,{width:i,height:l}=t??ns(e);if(s)return{x:o+i/2,y:a+l/2};switch(t?.position??n){case et.Top:return{x:o+i/2,y:a};case et.Right:return{x:o+i,y:a+l/2};case et.Bottom:return{x:o+i/2,y:a+l};case et.Left:return{x:o,y:a+l/2}}}function lv(e,t){return e&&(t?e.find(n=>n.id===t):e[0])||null}function Nd(e,t){return e?typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(s=>`${s}=${e[s]}`).join("&")}`:""}function KS(e,{id:t,defaultColor:n,defaultMarkerStart:s,defaultMarkerEnd:o}){const a=new Set;return e.reduce((i,l)=>([l.markerStart||s,l.markerEnd||o].forEach(c=>{if(c&&typeof c=="object"){const d=Nd(c,t);a.has(d)||(i.push({id:d,color:c.color||n,...c}),a.add(d))}}),i),[]).sort((i,l)=>i.id.localeCompare(l.id))}const zg=1e3,GS=10,Eu={nodeOrigin:[0,0],nodeExtent:Td,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},US={...Eu,checkEquality:!0};function Su(e,t){const n={...e};for(const s in t)t[s]!==void 0&&(n[s]=t[s]);return n}function YS(e,t,n){const s=Su(Eu,n);for(const o of e.values())if(o.parentId)Cu(o,e,t,s);else{const a=Ya(o,s.nodeOrigin),i=Ao(o.extent)?o.extent:s.nodeExtent,l=Gs(a,i,ns(o));o.internals.positionAbsolute=l}}function XS(e,t){if(!e.handles)return e.measured?t?.internals.handleBounds:void 0;const n=[],s=[];for(const o of e.handles){const a={id:o.id,width:o.width??1,height:o.height??1,nodeId:e.id,x:o.x,y:o.y,position:o.position,type:o.type};o.type==="source"?n.push(a):o.type==="target"&&s.push(a)}return{source:n,target:s}}function Tu(e){return e==="manual"}function ZS(e,t,n,s={}){const o=Su(US,s),a={i:0},i=new Map(t),l=o?.elevateNodesOnSelect&&!Tu(o.zIndexMode)?zg:0;let c=e.length>0,d=!1;t.clear(),n.clear();for(const u of e){let h=i.get(u.id);if(o.checkEquality&&u===h?.internals.userNode)t.set(u.id,h);else{const v=Ya(u,o.nodeOrigin),y=Ao(u.extent)?u.extent:o.nodeExtent,g=Gs(v,y,ns(u));h={...o.defaults,...u,measured:{width:u.measured?.width,height:u.measured?.height},internals:{positionAbsolute:g,handleBounds:XS(u,h),z:Fg(u,l,o.zIndexMode),userNode:u}},t.set(u.id,h)}(h.measured===void 0||h.measured.width===void 0||h.measured.height===void 0)&&!h.hidden&&(c=!1),u.parentId&&Cu(h,t,n,s,a),d||=u.selected??!1}return{nodesInitialized:c,hasSelectedNodes:d}}function QS(e,t){if(!e.parentId)return;const n=t.get(e.parentId);n?n.set(e.id,e):t.set(e.parentId,new Map([[e.id,e]]))}function Cu(e,t,n,s,o){const{elevateNodesOnSelect:a,nodeOrigin:i,nodeExtent:l,zIndexMode:c}=Su(Eu,s),d=e.parentId,u=t.get(d);if(!u){console.warn(`Parent node ${d} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}QS(e,n),o&&!u.parentId&&u.internals.rootParentIndex===void 0&&c==="auto"&&(u.internals.rootParentIndex=++o.i,u.internals.z=u.internals.z+o.i*GS),o&&u.internals.rootParentIndex!==void 0&&(o.i=u.internals.rootParentIndex);const h=a&&!Tu(c)?zg:0,{x:v,y,z:g}=JS(e,u,i,l,h,c),{positionAbsolute:w}=e.internals,k=v!==w.x||y!==w.y;(k||g!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:k?{x:v,y}:w,z:g}})}function Fg(e,t,n){const s=Ur(e.zIndex)?e.zIndex:0;return Tu(n)?s:s+(e.selected?t:0)}function JS(e,t,n,s,o,a){const{x:i,y:l}=t.internals.positionAbsolute,c=ns(e),d=Ya(e,n),u=Ao(e.extent)?Gs(d,e.extent,c):d;let h=Gs({x:i+u.x,y:l+u.y},s,c);e.extent==="parent"&&(h=Mg(h,c,t));const v=Fg(e,o,a),y=t.internals.z??0;return{x:h.x,y:h.y,z:y>=v?y+1:v}}function eT(e,t,n,s=[0,0]){const o=[],a=new Map;for(const i of e){const l=t.get(i.parentId);if(!l)continue;const c=a.get(i.parentId)?.expandedRect??Oa(l),d=CS(c,i.rect);a.set(i.parentId,{expandedRect:d,parent:l})}return a.size>0&&a.forEach(({expandedRect:i,parent:l},c)=>{const d=l.internals.positionAbsolute,u=ns(l),h=l.origin??s,v=i.x<d.x?Math.round(Math.abs(d.x-i.x)):0,y=i.y<d.y?Math.round(Math.abs(d.y-i.y)):0,g=Math.max(u.width,Math.round(i.width)),w=Math.max(u.height,Math.round(i.height)),k=(g-u.width)*h[0],A=(w-u.height)*h[1];(v>0||y>0||k||A)&&(o.push({id:c,type:"position",position:{x:l.position.x-v+k,y:l.position.y-y+A}}),n.get(c)?.forEach(L=>{e.some(M=>M.id===L.id)||o.push({id:L.id,type:"position",position:{x:L.position.x+v,y:L.position.y+y}})})),(u.width<i.width||u.height<i.height||v||y)&&o.push({id:c,type:"dimensions",setAttributes:!0,dimensions:{width:g+(v?h[0]*v-k:0),height:w+(y?h[1]*y-A:0)}})}),o}function tT(e,t,n,s,o,a,i){const l=s?.querySelector(".xyflow__viewport");let c=!1;if(!l)return{changes:[],updatedInternals:c};const d=[],u=window.getComputedStyle(l),{m22:h}=new window.DOMMatrixReadOnly(u.transform),v=[];for(const y of e.values()){const g=t.get(y.id);if(!g)continue;if(g.hidden){t.set(g.id,{...g,internals:{...g.internals,handleBounds:void 0}}),c=!0;continue}const w=Ig(y.nodeElement),k=g.measured.width!==w.width||g.measured.height!==w.height;if(!!(w.width&&w.height&&(k||!g.internals.handleBounds||y.force))){const L=y.nodeElement.getBoundingClientRect(),M=Ao(g.extent)?g.extent:a;let{positionAbsolute:D}=g.internals;if(g.parentId&&g.extent==="parent"){const W=t.get(g.parentId);W&&(D=Mg(D,w,W))}else M&&(D=Gs(D,M,w));const j={...g,measured:w,internals:{...g.internals,positionAbsolute:D,handleBounds:{source:nv("source",y.nodeElement,L,h,g.id),target:nv("target",y.nodeElement,L,h,g.id)}}};t.set(g.id,j),g.parentId&&Cu(j,t,n,{nodeOrigin:o,zIndexMode:i}),c=!0,k&&(d.push({id:g.id,type:"dimensions",dimensions:w}),g.expandParent&&g.parentId&&v.push({id:g.id,parentId:g.parentId,rect:Oa(j,o)}))}}if(v.length>0){const y=eT(v,t,n,o);d.push(...y)}return{changes:d,updatedInternals:c}}async function nT({delta:e,panZoom:t,transform:n,translateExtent:s,width:o,height:a}){if(!t||!e.x&&!e.y)return!1;const i=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[o,a]],s);return!!i&&(i.x!==n[0]||i.y!==n[1]||i.k!==n[2])}function cv(e,t,n,s,o,a){let i=o;const l=s.get(i)||new Map;s.set(i,l.set(n,t)),i=`${o}-${e}`;const c=s.get(i)||new Map;if(s.set(i,c.set(n,t)),a){i=`${o}-${e}-${a}`;const d=s.get(i)||new Map;s.set(i,d.set(n,t))}}function rT(e,t,n){e.clear(),t.clear();for(const s of n){const{source:o,target:a,sourceHandle:i=null,targetHandle:l=null}=s,c={edgeId:s.id,source:o,target:a,sourceHandle:i,targetHandle:l},d=`${o}-${i}--${a}-${l}`,u=`${a}-${l}--${o}-${i}`;cv("source",c,u,e,o,i),cv("target",c,d,e,a,l),t.set(s.id,s)}}function qg(e,t){if(!e.parentId)return!1;const n=t.get(e.parentId);return n?n.selected?!0:qg(n,t):!1}function dv(e,t,n){let s=e;do{if(s?.matches?.(t))return!0;if(s===n)return!1;s=s?.parentElement}while(s);return!1}function sT(e,t,n,s){const o=new Map;for(const[a,i]of e)if((i.selected||i.id===s)&&(!i.parentId||!qg(i,e))&&(i.draggable||t&&typeof i.draggable>"u")){const l=e.get(a);l&&o.set(a,{id:a,position:l.position||{x:0,y:0},distance:{x:n.x-l.internals.positionAbsolute.x,y:n.y-l.internals.positionAbsolute.y},extent:l.extent,parentId:l.parentId,origin:l.origin,expandParent:l.expandParent,internals:{positionAbsolute:l.internals.positionAbsolute||{x:0,y:0}},measured:{width:l.measured.width??0,height:l.measured.height??0}})}return o}function Ac({nodeId:e,dragItems:t,nodeLookup:n,dragging:s=!0}){const o=[];for(const[i,l]of t){const c=n.get(i)?.internals.userNode;c&&o.push({...c,position:l.position,dragging:s})}if(!e)return[o[0],o];const a=n.get(e)?.internals.userNode;return[a?{...a,position:t.get(e)?.position||a.position,dragging:s}:o[0],o]}function oT({dragItems:e,snapGrid:t,x:n,y:s}){const o=e.values().next().value;if(!o)return null;const a={x:n-o.distance.x,y:s-o.distance.y},i=Xa(a,t);return{x:i.x-a.x,y:i.y-a.y}}function aT({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:s,onDragStop:o}){let a={x:null,y:null},i=0,l=new Map,c=!1,d={x:0,y:0},u=null,h=!1,v=null,y=!1,g=!1,w=null;function k({noDragClassName:L,handleSelector:M,domNode:D,isSelectable:j,nodeId:W,nodeClickDistance:K=0}){v=cr(D);function Z({x:H,y:x}){const{nodeLookup:m,nodeExtent:S,snapGrid:T,snapToGrid:E,nodeOrigin:I,onNodeDrag:F,onSelectionDrag:q,onError:Y,updateNodePositions:ne}=t();a={x:H,y:x};let ie=!1;const G=l.size>1,P=G&&S?Md(Dl(l)):null,Q=G&&E?oT({dragItems:l,snapGrid:T,x:H,y:x}):null;for(const[V,X]of l){if(!m.has(V))continue;let le={x:H-X.distance.x,y:x-X.distance.y};E&&(le=Q?{x:Math.round(le.x+Q.x),y:Math.round(le.y+Q.y)}:Xa(le,T));let se=null;if(G&&S&&!X.extent&&P){const{positionAbsolute:ue}=X.internals,fe=ue.x-P.x+S[0][0],te=ue.x+X.measured.width-P.x2+S[1][0],ee=ue.y-P.y+S[0][1],ce=ue.y+X.measured.height-P.y2+S[1][1];se=[[fe,ee],[te,ce]]}const{position:re,positionAbsolute:de}=Cg({nodeId:V,nextPosition:le,nodeLookup:m,nodeExtent:se||S,nodeOrigin:I,onError:Y});ie=ie||X.position.x!==re.x||X.position.y!==re.y,X.position=re,X.internals.positionAbsolute=de}if(g=g||ie,!!ie&&(ne(l,!0),w&&(s||F||!W&&q))){const[V,X]=Ac({nodeId:W,dragItems:l,nodeLookup:m});s?.(w,l,V,X),F?.(w,V,X),W||q?.(w,X)}}async function z(){if(!u)return;const{transform:H,panBy:x,autoPanSpeed:m,autoPanOnNodeDrag:S}=t();if(!S){c=!1,cancelAnimationFrame(i);return}const[T,E]=wu(d,u,m);(T!==0||E!==0)&&(a.x=(a.x??0)-T/H[2],a.y=(a.y??0)-E/H[2],await x({x:T,y:E})&&Z(a)),i=requestAnimationFrame(z)}function U(H){const{nodeLookup:x,multiSelectionActive:m,nodesDraggable:S,transform:T,snapGrid:E,snapToGrid:I,selectNodesOnDrag:F,onNodeDragStart:q,onSelectionDragStart:Y,unselectNodesAndEdges:ne}=t();h=!0,(!F||!j)&&!m&&W&&(x.get(W)?.selected||ne()),j&&F&&W&&e?.(W);const ie=Nc(H.sourceEvent,{transform:T,snapGrid:E,snapToGrid:I,containerBounds:u});if(a=ie,l=sT(x,S,ie,W),l.size>0&&(n||q||!W&&Y)){const[G,P]=Ac({nodeId:W,dragItems:l,nodeLookup:x});n?.(H.sourceEvent,l,G,P),q?.(H.sourceEvent,G,P),W||Y?.(H.sourceEvent,P)}}const $=Tk().clickDistance(K).on("start",H=>{const{domNode:x,nodeDragThreshold:m,transform:S,snapGrid:T,snapToGrid:E}=t();u=x?.getBoundingClientRect()||null,y=!1,g=!1,w=H.sourceEvent,m===0&&U(H),a=Nc(H.sourceEvent,{transform:S,snapGrid:T,snapToGrid:E,containerBounds:u}),d=pr(H.sourceEvent,u)}).on("drag",H=>{const{autoPanOnNodeDrag:x,transform:m,snapGrid:S,snapToGrid:T,nodeDragThreshold:E,nodeLookup:I}=t(),F=Nc(H.sourceEvent,{transform:m,snapGrid:S,snapToGrid:T,containerBounds:u});if(w=H.sourceEvent,(H.sourceEvent.type==="touchmove"&&H.sourceEvent.touches.length>1||W&&!I.has(W))&&(y=!0),!y){if(!c&&x&&h&&(c=!0,z()),!h){const q=pr(H.sourceEvent,u),Y=q.x-d.x,ne=q.y-d.y;Math.sqrt(Y*Y+ne*ne)>E&&U(H)}(a.x!==F.xSnapped||a.y!==F.ySnapped)&&l&&h&&(d=pr(H.sourceEvent,u),Z(F))}}).on("end",H=>{if(!h||y){y&&l.size>0&&t().updateNodePositions(l,!1);return}if(c=!1,h=!1,cancelAnimationFrame(i),l.size>0){const{nodeLookup:x,updateNodePositions:m,onNodeDragStop:S,onSelectionDragStop:T}=t();if(g&&(m(l,!1),g=!1),o||S||!W&&T){const[E,I]=Ac({nodeId:W,dragItems:l,nodeLookup:x,dragging:!1});o?.(H.sourceEvent,l,E,I),S?.(H.sourceEvent,E,I),W||T?.(H.sourceEvent,I)}}}).filter(H=>{const x=H.target;return!H.button&&(!L||!dv(x,`.${L}`,D))&&(!M||dv(x,M,D))});v.call($)}function A(){v?.on(".drag",null)}return{update:k,destroy:A}}function iT(e,t,n){const s=[],o={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(const a of t.values())dl(o,Oa(a))>0&&s.push(a);return s}const lT=250;function cT(e,t,n,s){let o=[],a=1/0;const i=iT(e,n,t+lT);for(const l of i){const c=[...l.internals.handleBounds?.source??[],...l.internals.handleBounds?.target??[]];for(const d of c){if(s.nodeId===d.nodeId&&s.type===d.type&&s.id===d.id)continue;const{x:u,y:h}=Us(l,d,d.position,!0),v=Math.sqrt(Math.pow(u-e.x,2)+Math.pow(h-e.y,2));v>t||(v<a?(o=[{...d,x:u,y:h}],a=v):v===a&&o.push({...d,x:u,y:h}))}}if(!o.length)return null;if(o.length>1){const l=s.type==="source"?"target":"source";return o.find(c=>c.type===l)??o[0]}return o[0]}function $g(e,t,n,s,o,a=!1){const i=s.get(e);if(!i)return null;const l=o==="strict"?i.internals.handleBounds?.[t]:[...i.internals.handleBounds?.source??[],...i.internals.handleBounds?.target??[]],c=(n?l?.find(d=>d.id===n):l?.[0])??null;return c&&a?{...c,...Us(i,c,c.position,!0)}:c}function jg(e,t){return e||(t?.classList.contains("target")?"target":t?.classList.contains("source")?"source":null)}function dT(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}const Bg=()=>!0;function uT(e,{connectionMode:t,connectionRadius:n,handleId:s,nodeId:o,edgeUpdaterType:a,isTarget:i,domNode:l,nodeLookup:c,lib:d,autoPanOnConnect:u,flowId:h,panBy:v,cancelConnection:y,onConnectStart:g,onConnect:w,onConnectEnd:k,isValidConnection:A=Bg,onReconnectEnd:L,updateConnection:M,getTransform:D,getFromHandle:j,autoPanSpeed:W,dragThreshold:K=1,handleDomNode:Z}){const z=Pg(e.target);let U=0,$;const{x:H,y:x}=pr(e),m=jg(a,Z),S=l?.getBoundingClientRect();let T=!1;if(!S||!m)return;const E=$g(o,m,s,c,t);if(!E)return;let I=pr(e,S),F=!1,q=null,Y=!1,ne=null;function ie(){if(!u||!S)return;const[re,de]=wu(I,S,W);v({x:re,y:de}),U=requestAnimationFrame(ie)}const G={...E,nodeId:o,type:m,position:E.position},P=c.get(o);let V={inProgress:!0,isValid:null,from:Us(P,G,et.Left,!0),fromHandle:G,fromPosition:G.position,fromNode:P,to:I,toHandle:null,toPosition:Qf[G.position],toNode:null,pointer:I};function X(){T=!0,M(V),g?.(e,{nodeId:o,handleId:s,handleType:m})}K===0&&X();function le(re){if(!T){const{x:ce,y:J}=pr(re),oe=ce-H,be=J-x;if(!(oe*oe+be*be>K*K))return;X()}if(!j()||!G){se(re);return}const de=D();I=pr(re,S),$=cT(Za(I,de,!1,[1,1]),n,c,G),F||(ie(),F=!0);const ue=Vg(re,{handle:$,connectionMode:t,fromNodeId:o,fromHandleId:s,fromType:i?"target":"source",isValidConnection:A,doc:z,lib:d,flowId:h,nodeLookup:c});ne=ue.handleDomNode,q=ue.connection,Y=dT(!!$,ue.isValid);const fe=c.get(o),te=fe?Us(fe,G,et.Left,!0):V.from,ee={...V,from:te,isValid:Y,to:ue.toHandle&&Y?No({x:ue.toHandle.x,y:ue.toHandle.y},de):I,toHandle:ue.toHandle,toPosition:Y&&ue.toHandle?ue.toHandle.position:Qf[G.position],toNode:ue.toHandle?c.get(ue.toHandle.nodeId):null,pointer:I};M(ee),V=ee}function se(re){if(!("touches"in re&&re.touches.length>0)){if(T){($||ne)&&q&&Y&&w?.(q);const{inProgress:de,...ue}=V,fe={...ue,toPosition:V.toHandle?V.toPosition:null};k?.(re,fe),a&&L?.(re,fe)}y(),cancelAnimationFrame(U),F=!1,Y=!1,q=null,ne=null,z.removeEventListener("mousemove",le),z.removeEventListener("mouseup",se),z.removeEventListener("touchmove",le),z.removeEventListener("touchend",se)}}z.addEventListener("mousemove",le),z.addEventListener("mouseup",se),z.addEventListener("touchmove",le),z.addEventListener("touchend",se)}function Vg(e,{handle:t,connectionMode:n,fromNodeId:s,fromHandleId:o,fromType:a,doc:i,lib:l,flowId:c,isValidConnection:d=Bg,nodeLookup:u}){const h=a==="target",v=t?i.querySelector(`.${l}-flow__handle[data-id="${c}-${t?.nodeId}-${t?.id}-${t?.type}"]`):null,{x:y,y:g}=pr(e),w=i.elementFromPoint(y,g),k=w?.classList.contains(`${l}-flow__handle`)?w:v,A={handleDomNode:k,isValid:!1,connection:null,toHandle:null};if(k){const L=jg(void 0,k),M=k.getAttribute("data-nodeid"),D=k.getAttribute("data-handleid"),j=k.classList.contains("connectable"),W=k.classList.contains("connectableend");if(!M||!L)return A;const K={source:h?M:s,sourceHandle:h?D:o,target:h?s:M,targetHandle:h?o:D};A.connection=K;const z=j&&W&&(n===Co.Strict?h&&L==="source"||!h&&L==="target":M!==s||D!==o);A.isValid=z&&d(K),A.toHandle=$g(M,L,D,u,n,!0)}return A}const uv={onPointerDown:uT,isValid:Vg},zl=e=>({x:e.x,y:e.y,zoom:e.k}),Ic=({x:e,y:t,zoom:n})=>Ol.translate(e,t).scale(n),ds=(e,t)=>e.target.closest(`.${t}`),Wg=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),fT=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,Pc=(e,t=0,n=fT,s=()=>{})=>{const o=typeof t=="number"&&t>0;return o||s(),o?e.transition().duration(t).ease(n).on("end",s):e},Kg=e=>{const t=e.ctrlKey&&ul()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function vT({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:s,panOnScrollMode:o,panOnScrollSpeed:a,zoomOnPinch:i,onPanZoomStart:l,onPanZoom:c,onPanZoomEnd:d}){return u=>{if(ds(u,t))return u.ctrlKey&&u.preventDefault(),!1;u.preventDefault(),u.stopImmediatePropagation();const h=n.property("__zoom").k||1;if(u.ctrlKey&&i){const k=br(u),A=Kg(u),L=h*Math.pow(2,A);s.scaleTo(n,L,k,u);return}const v=u.deltaMode===1?20:1;let y=o===po.Vertical?0:u.deltaX*v,g=o===po.Horizontal?0:u.deltaY*v;!ul()&&u.shiftKey&&o!==po.Vertical&&(y=u.deltaY*v,g=0),s.translateBy(n,-(y/h)*a,-(g/h)*a,{internal:!0});const w=zl(n.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?c?.(u,w):(e.isPanScrolling=!0,l?.(u,w)),e.panScrollTimeout=setTimeout(()=>{d?.(u,w),e.isPanScrolling=!1},150)}}function hT({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(s,o){const a=s.type==="wheel",i=!t&&a&&!s.ctrlKey,l=ds(s,e);if(s.ctrlKey&&a&&l&&s.preventDefault(),i||l)return null;s.preventDefault(),n.call(this,s,o)}}function pT({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return s=>{if(s.sourceEvent?.internal)return;const o=zl(s.transform);e.mouseButton=s.sourceEvent?.button||0,e.isZoomingOrPanning=!0,e.prevViewport=o,s.sourceEvent?.type==="mousedown"&&t(!0),n&&n?.(s.sourceEvent,o)}}function gT({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:s,onPanZoom:o}){return a=>{e.usedRightMouseButton=!!(n&&Wg(t,e.mouseButton??0)),a.sourceEvent?.sync||s([a.transform.x,a.transform.y,a.transform.k]),o&&!a.sourceEvent?.internal&&o?.(a.sourceEvent,zl(a.transform))}}function mT({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:s,onPanZoomEnd:o,onPaneContextMenu:a}){return i=>{if(!i.sourceEvent?.internal&&(e.isZoomingOrPanning=!1,a&&Wg(t,e.mouseButton??0)&&!e.usedRightMouseButton&&i.sourceEvent&&a(i.sourceEvent),e.usedRightMouseButton=!1,s(!1),o)){const l=zl(i.transform);e.prevViewport=l,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{o?.(i.sourceEvent,l)},n?150:0)}}}function yT({panActivationKeyPressed:e,zoomActivationKeyPressed:t,zoomOnScroll:n,zoomOnPinch:s,panOnDrag:o,panOnScroll:a,zoomOnDoubleClick:i,userSelectionActive:l,noWheelClassName:c,noPanClassName:d,lib:u,connectionInProgress:h}){return v=>{const y=t||n,g=s&&v.ctrlKey,w=v.type==="wheel";if(v.button===1&&v.type==="mousedown"&&(ds(v,`${u}-flow__node`)||ds(v,`${u}-flow__edge`)||ds(v,`${u}-flow__selection`)||ds(v,`${u}-flow__nodesselection`)))return!0;if(!o&&!y&&!a&&!i&&!s||l||h&&!w||ds(v,c)&&w||ds(v,d)&&(!w||a&&w&&!t)||!s&&v.ctrlKey&&w)return!1;if(!s&&v.type==="touchstart"&&v.touches?.length>1)return v.preventDefault(),!1;if(!y&&!a&&!g&&w||!o&&(v.type==="mousedown"||v.type==="touchstart")||Array.isArray(o)&&!o.includes(v.button)&&v.type==="mousedown")return!1;const k=Array.isArray(o)&&o.includes(v.button)||!v.button||v.button<=1;return(!v.ctrlKey||w||e)&&k}}function _T({domNode:e,minZoom:t,maxZoom:n,translateExtent:s,viewport:o,onPanZoom:a,onPanZoomStart:i,onPanZoomEnd:l,onDraggingChange:c}){const d={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},u=e.getBoundingClientRect();let h=[[0,0],[u.width,u.height]];(typeof ResizeObserver<"u"?new ResizeObserver(x=>{const m=x[0];m&&(h=[[0,0],[m.contentRect.width,m.contentRect.height]])}):null)?.observe(e);const y=_S().extent(()=>h).scaleExtent([t,n]).translateExtent(s),g=cr(e).call(y);D({x:o.x,y:o.y,zoom:Mo(o.zoom,t,n)},[[0,0],[u.width,u.height]],s);const w=g.on("wheel.zoom"),k=g.on("dblclick.zoom");y.wheelDelta(Kg);async function A(x,m){return g?new Promise(S=>{y?.interpolate(m?.interpolate==="linear"?_a:Pi).transform(Pc(g,m?.duration,m?.ease,()=>S(!0)),x)}):!1}function L({noWheelClassName:x,noPanClassName:m,onPaneContextMenu:S,userSelectionActive:T,panOnScroll:E,panOnDrag:I,panOnScrollMode:F,panOnScrollSpeed:q,preventScrolling:Y,zoomOnPinch:ne,zoomOnScroll:ie,zoomOnDoubleClick:G,panActivationKeyPressed:P=!1,zoomActivationKeyPressed:Q,lib:V,onTransformChange:X,connectionInProgress:le,paneClickDistance:se,selectionOnDrag:re}){T&&!d.isZoomingOrPanning&&M();const de=E&&!Q&&!T;y.clickDistance(re?1/0:!Ur(se)||se<0?0:se);const ue=de?vT({zoomPanValues:d,noWheelClassName:x,d3Selection:g,d3Zoom:y,panOnScrollMode:F,panOnScrollSpeed:q,zoomOnPinch:ne,onPanZoomStart:i,onPanZoom:a,onPanZoomEnd:l}):hT({noWheelClassName:x,preventScrolling:Y,d3ZoomHandler:w});g.on("wheel.zoom",ue,{passive:!1});const fe=pT({zoomPanValues:d,onDraggingChange:c,onPanZoomStart:i});y.on("start",fe);const te=gT({zoomPanValues:d,panOnDrag:I,onPaneContextMenu:!!S,onPanZoom:a,onTransformChange:X});y.on("zoom",te);const ee=mT({zoomPanValues:d,panOnDrag:I,panOnScroll:E,onPaneContextMenu:S,onPanZoomEnd:l,onDraggingChange:c});y.on("end",ee);const ce=yT({panActivationKeyPressed:P,zoomActivationKeyPressed:Q,panOnDrag:I,zoomOnScroll:ie,panOnScroll:E,zoomOnDoubleClick:G,zoomOnPinch:ne,userSelectionActive:T,noPanClassName:m,noWheelClassName:x,lib:V,connectionInProgress:le});y.filter(ce),G?g.on("dblclick.zoom",k):g.on("dblclick.zoom",null)}function M(){y.on("zoom",null)}async function D(x,m,S){const T=Ic(x),E=y?.constrain()(T,m,S);return E&&await A(E),E}async function j(x,m){const S=Ic(x);return await A(S,m),S}function W(x){if(g){const m=Ic(x),S=g.property("__zoom");(S.k!==x.zoom||S.x!==x.x||S.y!==x.y)&&y?.transform(g,m,null,{sync:!0})}}function K(){const x=g?Eg(g.node()):{x:0,y:0,k:1};return{x:x.x,y:x.y,zoom:x.k}}async function Z(x,m){return g?new Promise(S=>{y?.interpolate(m?.interpolate==="linear"?_a:Pi).scaleTo(Pc(g,m?.duration,m?.ease,()=>S(!0)),x)}):!1}async function z(x,m){return g?new Promise(S=>{y?.interpolate(m?.interpolate==="linear"?_a:Pi).scaleBy(Pc(g,m?.duration,m?.ease,()=>S(!0)),x)}):!1}function U(x){y?.scaleExtent(x)}function $(x){y?.translateExtent(x)}function H(x){const m=!Ur(x)||x<0?0:x;y?.clickDistance(m)}return{update:L,destroy:M,setViewport:j,setViewportConstrained:D,getViewport:K,scaleTo:Z,scaleBy:z,setScaleExtent:U,setTranslateExtent:$,syncViewport:W,setClickDistance:H}}var fv;(function(e){e.Line="line",e.Handle="handle"})(fv||(fv={}));const bT=Ag();function wT(e,t,n={}){return $S(e,t,{...n,onError:n.onError??bT})}function Mu(){const e={};return[t=>{if(t&&!my(e))throw new Error(t);return zd(e)},t=>Ch(e,t)]}const[xT,kT]=Mu(),[ET,ST]=Mu(),[TT,CT]=Mu();var MT=new Set(["$$slots","$$events","$$legacy","id","type","position","style","class","isConnectable","isConnectableStart","isConnectableEnd","isValidConnection","onconnect","ondisconnect","children"]),NT=O("<div><!></div>");function Rn(e,t){Re(t,!0);let n=Ne(t,"id",3,null),s=Ne(t,"type",3,"source"),o=Ne(t,"position",19,()=>et.Top),a=Ne(t,"isConnectableStart",3,!0),i=Ne(t,"isConnectableEnd",3,!0),l=ws(t,MT);const c=xT("Handle must be used within a Custom Node component"),d=ET("Handle must be used within a Custom Node component");let u=N(()=>s()==="target"),h=N(()=>t.isConnectable!==void 0?t.isConnectable:d.value),v=Ho(),y=N(()=>v.ariaLabelConfig),g=null;Zh(()=>{if(t.onconnect||t.ondisconnect){v.edges;let H=v.connectionLookup.get(`${c}-${s()}${n()?`-${n()}`:""}`);if(g&&!LS(H,g)){const x=H??new Map;tv(g,x,t.ondisconnect),tv(x,g,t.onconnect)}g=new Map(H)}});let w=N(()=>{if(!v.connection.inProgress)return[!1,!1,!1,!1,null];const{fromHandle:H,toHandle:x,isValid:m}=v.connection,S=H&&H.nodeId===c&&H.type===s()&&H.id===n(),T=x&&x.nodeId===c&&x.type===s()&&x.id===n(),E=v.connectionMode===Co.Strict?H?.type!==s():c!==H?.nodeId||n()!==H?.id;return[!0,S,T,E,T&&m]}),k=N(()=>Da(r(w),5)),A=N(()=>r(k)[0]),L=N(()=>r(k)[1]),M=N(()=>r(k)[2]),D=N(()=>r(k)[3]),j=N(()=>r(k)[4]);function W(H){const x=v.onbeforeconnect?v.onbeforeconnect(H):H;x&&(v.addEdge(x),v.onconnect?.(H))}function K(H){const x=Og(H);H.currentTarget&&(x&&H.button===0||!x)&&uv.onPointerDown(H,{handleId:n(),nodeId:c,isTarget:r(u),connectionRadius:v.connectionRadius,domNode:v.domNode,nodeLookup:v.nodeLookup,connectionMode:v.connectionMode,lib:"svelte",autoPanOnConnect:v.autoPanOnConnect,autoPanSpeed:v.autoPanSpeed,flowId:v.flowId,isValidConnection:t.isValidConnection||((...m)=>v.isValidConnection?.(...m)??!0),updateConnection:v.updateConnection,cancelConnection:v.cancelConnection,panBy:v.panBy,onConnect:W,onConnectStart:v.onconnectstart,onConnectEnd:(...m)=>v.onconnectend?.(...m),getTransform:()=>[v.viewport.x,v.viewport.y,v.viewport.zoom],getFromHandle:()=>v.connection.fromHandle,dragThreshold:v.connectionDragThreshold,handleDomNode:H.currentTarget})}function Z(H){if(!c||!v.clickConnectStartHandle&&!a())return;if(!v.clickConnectStartHandle){v.onclickconnectstart?.(H,{nodeId:c,handleId:n(),handleType:s()}),v.clickConnectStartHandle={nodeId:c,type:s(),id:n()};return}const x=Pg(H.target),m=t.isValidConnection??v.isValidConnection,{connectionMode:S,clickConnectStartHandle:T,flowId:E,nodeLookup:I}=v,{connection:F,isValid:q}=uv.isValid(H,{handle:{nodeId:c,id:n(),type:s()},connectionMode:S,fromNodeId:T.nodeId,fromHandleId:T.id??null,fromType:T.type,isValidConnection:m,flowId:E,doc:x,lib:"svelte",nodeLookup:I});q&&F&&W(F);const Y=structuredClone(Th(v.connection));delete Y.inProgress,Y.toPosition=Y.toHandle?Y.toHandle.position:null,v.onclickconnectend?.(H,Y),v.clickConnectStartHandle=null}var z=NT(),U=()=>{};ts(z,()=>({"data-handleid":n(),"data-nodeid":c,"data-handlepos":o(),"data-id":`${v.flowId??""}-${c??""}-${n()??"null"??""}-${s()??""}`,class:["svelte-flow__handle",`svelte-flow__handle-${o()}`,v.noDragClass,v.noPanClass,o(),t.class],onmousedown:K,ontouchstart:K,onclick:v.clickConnect?Z:void 0,onkeypress:U,style:t.style,role:"button","aria-label":r(y)["handle.ariaLabel"],tabindex:"-1",...l,[us]:{valid:r(j),connectingto:r(M),connectingfrom:r(L),source:!r(u),target:r(u),connectablestart:a(),connectableend:i(),connectable:r(h),connectionindicator:r(h)&&(!r(A)||r(D))&&(r(A)||v.clickConnectStartHandle?i():a())}}));var $=f(z);jn($,()=>t.children??cn),b(e,z),He()}var AT=O("<!> <!>",1);function Gg(e,t){Re(t,!0);let n=Ne(t,"targetPosition",19,()=>et.Top),s=Ne(t,"sourcePosition",19,()=>et.Bottom);var o=AT(),a=xe(o);Rn(a,{type:"target",get position(){return n()}});var i=p(a),l=p(i);Rn(l,{type:"source",get position(){return s()}}),C(()=>_(i,` ${t.data?.label??""} `)),b(e,o),He()}var IT=O(" <!>",1);function PT(e,t){Re(t,!0);let n=Ne(t,"data",19,()=>({label:"Node"})),s=Ne(t,"sourcePosition",19,()=>et.Bottom);var o=IT(),a=xe(o),i=p(a);Rn(i,{type:"source",get position(){return s()}}),C(()=>_(a,`${n()?.label??""} `)),b(e,o),He()}var LT=O(" <!>",1);function OT(e,t){Re(t,!0);let n=Ne(t,"data",19,()=>({label:"Node"})),s=Ne(t,"targetPosition",19,()=>et.Top);var o=LT(),a=xe(o),i=p(a);Rn(i,{type:"target",get position(){return s()}}),C(()=>_(a,`${n()?.label??""} `)),b(e,o),He()}function DT(e,t){}function Lc(e,t,n){if(!n||!t)return;const s=n==="root"?t:t.querySelector(`.svelte-flow__${n}`);s&&s.appendChild(e)}function Ug(e,t){const n=N(Ho),s=N(()=>r(n).domNode);let o;return r(s)?Lc(e,r(s),t):o=Qh(()=>{it(()=>{Lc(e,r(s),t),o?.()})}),{async update(a){Lc(e,r(s),a)},destroy(){e.parentNode&&e.parentNode.removeChild(e),o?.()}}}function Yg(){let e=ve(typeof window>"u");if(r(e)){const t=Qh(()=>{it(()=>{R(e,!1),t?.()})})}return{get value(){return r(e)}}}const vv=e=>wS(e),RT=e=>Tg(e);function Hr(e){return e===void 0?void 0:`${e}px`}const fl={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};var HT=new Set(["$$slots","$$events","$$legacy","x","y","width","height","selectEdgeOnClick","transparent","class","children"]),zT=O("<div><!></div>");function Xg(e,t){Re(t,!0);let n=Ne(t,"x",3,0),s=Ne(t,"y",3,0),o=Ne(t,"selectEdgeOnClick",3,!1),a=Ne(t,"transparent",3,!1),i=ws(t,HT);const l=Ho(),c=TT("EdgeLabel must be used within a Custom Edge component");let d=N(()=>l.visible.edges.get(c)?.zIndex);var u=zT(),h=()=>{o()&&c&&l.handleEdgeSelection(c)};ts(u,y=>({class:["svelte-flow__edge-label",{transparent:a()},t.class],tabindex:"-1",onclick:h,...i,[kr]:y}),[()=>({display:Yg().value?"none":void 0,cursor:o()?"pointer":void 0,transform:`translate(-50%, -50%) translate(${n()??""}px,${s()??""}px)`,"pointer-events":"all",width:Hr(t.width),height:Hr(t.height),"z-index":r(d)})],void 0,void 0,"svelte-s2zxl8");var v=f(u);jn(v,()=>t.children??cn),On(u,(y,g)=>Ug?.(y,g),()=>"edge-labels"),b(e,u),He()}var FT=new Set(["$$slots","$$events","$$legacy","id","path","label","labelX","labelY","labelStyle","markerStart","markerEnd","style","interactionWidth","class"]),qT=tn("<path></path>"),$T=tn('<path fill="none"></path><!><!>',1);function Js(e,t){let n=Ne(t,"interactionWidth",3,20),s=ws(t,FT);var o=$T(),a=xe(o),i=p(a);{var l=u=>{var h=qT();ts(h,()=>({d:t.path,"stroke-opacity":0,"stroke-width":n(),fill:"none",class:"svelte-flow__edge-interaction",...s})),b(u,h)};B(i,u=>{n()>0&&u(l)})}var c=p(i);{var d=u=>{Xg(u,{get x(){return t.labelX},get y(){return t.labelY},get style(){return t.labelStyle},selectEdgeOnClick:!0,children:(h,v)=>{var y=xt();C(()=>_(y,t.label)),b(h,y)},$$slots:{default:!0}})};B(c,u=>{t.label&&u(d)})}C(()=>{ae(a,"id",t.id),ae(a,"d",t.path),De(a,0,Zs(["svelte-flow__edge-path",t.class])),ae(a,"marker-start",t.markerStart),ae(a,"marker-end",t.markerEnd),ht(a,t.style)}),b(e,o)}function Zg(e,t){Re(t,!0);let n=N(()=>Dg({sourceX:t.sourceX,sourceY:t.sourceY,targetX:t.targetX,targetY:t.targetY,sourcePosition:t.sourcePosition,targetPosition:t.targetPosition,curvature:t.pathOptions?.curvature})),s=N(()=>Da(r(n),3)),o=N(()=>r(s)[0]),a=N(()=>r(s)[1]),i=N(()=>r(s)[2]);Js(e,{get id(){return t.id},get path(){return r(o)},get labelX(){return r(a)},get labelY(){return r(i)},get label(){return t.label},get labelStyle(){return t.labelStyle},get markerStart(){return t.markerStart},get markerEnd(){return t.markerEnd},get interactionWidth(){return t.interactionWidth},get style(){return t.style}}),He()}function jT(e,t){Re(t,!0);let n=N(()=>ku({sourceX:t.sourceX,sourceY:t.sourceY,targetX:t.targetX,targetY:t.targetY,sourcePosition:t.sourcePosition,targetPosition:t.targetPosition})),s=N(()=>Da(r(n),3)),o=N(()=>r(s)[0]),a=N(()=>r(s)[1]),i=N(()=>r(s)[2]);Js(e,{get path(){return r(o)},get labelX(){return r(a)},get labelY(){return r(i)},get label(){return t.label},get labelStyle(){return t.labelStyle},get markerStart(){return t.markerStart},get markerEnd(){return t.markerEnd},get interactionWidth(){return t.interactionWidth},get style(){return t.style}}),He()}function BT(e,t){Re(t,!0);let n=N(()=>Hg({sourceX:t.sourceX,sourceY:t.sourceY,targetX:t.targetX,targetY:t.targetY})),s=N(()=>Da(r(n),3)),o=N(()=>r(s)[0]),a=N(()=>r(s)[1]),i=N(()=>r(s)[2]);Js(e,{get path(){return r(o)},get labelX(){return r(a)},get labelY(){return r(i)},get label(){return t.label},get labelStyle(){return t.labelStyle},get markerStart(){return t.markerStart},get markerEnd(){return t.markerEnd},get interactionWidth(){return t.interactionWidth},get style(){return t.style}}),He()}function VT(e,t){Re(t,!0);let n=N(()=>ku({sourceX:t.sourceX,sourceY:t.sourceY,targetX:t.targetX,targetY:t.targetY,sourcePosition:t.sourcePosition,targetPosition:t.targetPosition,borderRadius:0})),s=N(()=>Da(r(n),3)),o=N(()=>r(s)[0]),a=N(()=>r(s)[1]),i=N(()=>r(s)[2]);Js(e,{get path(){return r(o)},get labelX(){return r(a)},get labelY(){return r(i)},get label(){return t.label},get labelStyle(){return t.labelStyle},get markerStart(){return t.markerStart},get markerEnd(){return t.markerEnd},get interactionWidth(){return t.interactionWidth},get style(){return t.style}}),He()}class WT{#e;#n;constructor(t,n){this.#e=t,this.#n=Lh(n)}get current(){return this.#n(),this.#e()}}const KT=/\(.+\)/,GT=new Set(["all","print","screen","and","or","not","only"]);class UT extends WT{constructor(t,n){let s=KT.test(t)||t.split(/[\s,]+/).some(a=>GT.has(a.trim()))?t:`(${t})`;const o=window.matchMedia(s);super(()=>o.matches,a=>od(o,"change",a))}}function YT(e,t,n,s){const o=new Map;return bu(e,{x:0,y:0,width:n,height:s},t,!0).forEach(a=>{o.set(a.id,a)}),o}function hv(e){const{edges:t,defaultEdgeOptions:n,nodeLookup:s,previousEdges:o,connectionMode:a,onerror:i,onlyRenderVisible:l,elevateEdgesOnSelect:c,zIndexMode:d}=e,u=new Map;for(const h of t){const v=s.get(h.source),y=s.get(h.target);if(!v||!y)continue;if(l){const{visibleNodes:k,transform:A,width:L,height:M}=e;if(zS({sourceNode:v,targetNode:y,width:L,height:M,transform:A}))k.set(v.id,v),k.set(y.id,y);else continue}const g=o.get(h.id);if(g&&h===g.edge&&v==g.sourceNode&&y==g.targetNode){u.set(h.id,g);continue}const w=WS({id:h.id,sourceNode:v,targetNode:y,sourceHandle:h.sourceHandle||null,targetHandle:h.targetHandle||null,connectionMode:a,onError:i});w&&u.set(h.id,{...n,...h,...w,zIndex:HS({selected:h.selected,zIndex:h.zIndex??n.zIndex,sourceNode:v,targetNode:y,elevateOnSelect:c,zIndexMode:d}),sourceNode:v,targetNode:y,edge:h})}return u}const XT=Ag(),Qg={input:PT,output:OT,default:Gg,group:DT},Jg={straight:BT,smoothstep:jT,default:Zg,step:VT};function ZT(e,t,n,s,o,a){if(t&&!n&&s&&o){const i=Dl(a,{filter:l=>!!((l.width||l.initialWidth)&&(l.height||l.initialHeight))});return xu(i,s,o,.5,2,.1)}else return n??{x:0,y:0,zoom:1}}function QT(e){class t{#e=N(()=>e.props.id??"1");get flowId(){return r(this.#e)}set flowId(s){R(this.#e,s)}#n=ve(null);get domNode(){return r(this.#n)}set domNode(s){R(this.#n,s)}#t=ve(null);get panZoom(){return r(this.#t)}set panZoom(s){R(this.#t,s)}#i=ve(e.width??0);get width(){return r(this.#i)}set width(s){R(this.#i,s)}#s=ve(e.height??0);get height(){return r(this.#s)}set height(s){R(this.#s,s)}#a=ve(e.props.zIndexMode??"basic");get zIndexMode(){return r(this.#a)}set zIndexMode(s){R(this.#a,s)}#r=N(()=>{const{nodesInitialized:s}=ZS(e.nodes,this.nodeLookup,this.parentLookup,{nodeExtent:this.nodeExtent,nodeOrigin:this.nodeOrigin,elevateNodesOnSelect:e.props.elevateNodesOnSelect??!0,checkEquality:!0,zIndexMode:this.zIndexMode});return this.fitViewQueued&&s&&(this.fitViewOptions?.duration?this.resolveFitView():queueMicrotask(()=>{this.resolveFitView()})),s});get nodesInitialized(){return r(this.#r)}set nodesInitialized(s){R(this.#r,s)}#l=N(()=>this.panZoom!==null);get viewportInitialized(){return r(this.#l)}set viewportInitialized(s){R(this.#l,s)}#o=N(()=>(rT(this.connectionLookup,this.edgeLookup,e.edges),e.edges));get _edges(){return r(this.#o)}set _edges(s){R(this.#o,s)}get nodes(){return this.nodesInitialized,e.nodes}set nodes(s){e.nodes=s}get edges(){return this._edges}set edges(s){e.edges=s}_prevSelectedNodes=[];_prevSelectedNodeIds=new Set;#p=N(()=>{const s=this._prevSelectedNodeIds.size,o=new Set,a=this.nodes.filter(i=>(i.selected&&(o.add(i.id),this._prevSelectedNodeIds.delete(i.id)),i.selected));return(s!==o.size||this._prevSelectedNodeIds.size>0)&&(this._prevSelectedNodes=a),this._prevSelectedNodeIds=o,this._prevSelectedNodes});get selectedNodes(){return r(this.#p)}set selectedNodes(s){R(this.#p,s)}_prevSelectedEdges=[];_prevSelectedEdgeIds=new Set;#c=N(()=>{const s=this._prevSelectedEdgeIds.size,o=new Set,a=this.edges.filter(i=>(i.selected&&(o.add(i.id),this._prevSelectedEdgeIds.delete(i.id)),i.selected));return(s!==o.size||this._prevSelectedEdgeIds.size>0)&&(this._prevSelectedEdges=a),this._prevSelectedEdgeIds=o,this._prevSelectedEdges});get selectedEdges(){return r(this.#c)}set selectedEdges(s){R(this.#c,s)}selectionChangeHandlers=new Map;nodeLookup=new Map;parentLookup=new Map;connectionLookup=new Map;edgeLookup=new Map;_prevVisibleEdges=new Map;#d=N(()=>{const{nodes:s,_edges:o,_prevVisibleEdges:a,nodeLookup:i,connectionMode:l,onerror:c,onlyRenderVisibleElements:d,defaultEdgeOptions:u,zIndexMode:h}=this;let v,y;const g={edges:o,defaultEdgeOptions:u,previousEdges:a,nodeLookup:i,connectionMode:l,elevateEdgesOnSelect:e.props.elevateEdgesOnSelect??!0,zIndexMode:h,onerror:c};if(d){const{viewport:w,width:k,height:A}=this,L=[w.x,w.y,w.zoom];v=YT(i,L,k,A),y=hv({...g,onlyRenderVisible:!0,visibleNodes:v,transform:L,width:k,height:A})}else v=this.nodeLookup,y=hv(g);return this._prevVisibleEdges=y,{nodes:v,edges:y}});get visible(){return r(this.#d)}set visible(s){R(this.#d,s)}#f=N(()=>e.props.nodesDraggable??!0);get nodesDraggable(){return r(this.#f)}set nodesDraggable(s){R(this.#f,s)}#g=N(()=>e.props.nodesConnectable??!0);get nodesConnectable(){return r(this.#g)}set nodesConnectable(s){R(this.#g,s)}#u=N(()=>e.props.elementsSelectable??!0);get elementsSelectable(){return r(this.#u)}set elementsSelectable(s){R(this.#u,s)}#y=N(()=>e.props.nodesFocusable??!0);get nodesFocusable(){return r(this.#y)}set nodesFocusable(s){R(this.#y,s)}#m=N(()=>e.props.edgesFocusable??!0);get edgesFocusable(){return r(this.#m)}set edgesFocusable(s){R(this.#m,s)}#w=N(()=>e.props.disableKeyboardA11y??!1);get disableKeyboardA11y(){return r(this.#w)}set disableKeyboardA11y(s){R(this.#w,s)}#_=N(()=>e.props.minZoom??.5);get minZoom(){return r(this.#_)}set minZoom(s){R(this.#_,s)}#x=N(()=>e.props.maxZoom??2);get maxZoom(){return r(this.#x)}set maxZoom(s){R(this.#x,s)}#v=N(()=>e.props.nodeOrigin??[0,0]);get nodeOrigin(){return r(this.#v)}set nodeOrigin(s){R(this.#v,s)}#b=N(()=>e.props.nodeExtent??Td);get nodeExtent(){return r(this.#b)}set nodeExtent(s){R(this.#b,s)}#h=N(()=>e.props.translateExtent??Td);get translateExtent(){return r(this.#h)}set translateExtent(s){R(this.#h,s)}#k=N(()=>e.props.defaultEdgeOptions??{});get defaultEdgeOptions(){return r(this.#k)}set defaultEdgeOptions(s){R(this.#k,s)}#E=N(()=>e.props.nodeDragThreshold??1);get nodeDragThreshold(){return r(this.#E)}set nodeDragThreshold(s){R(this.#E,s)}#S=N(()=>e.props.autoPanOnNodeDrag??!0);get autoPanOnNodeDrag(){return r(this.#S)}set autoPanOnNodeDrag(s){R(this.#S,s)}#T=N(()=>e.props.autoPanOnConnect??!0);get autoPanOnConnect(){return r(this.#T)}set autoPanOnConnect(s){R(this.#T,s)}#C=N(()=>e.props.autoPanOnNodeFocus??!0);get autoPanOnNodeFocus(){return r(this.#C)}set autoPanOnNodeFocus(s){R(this.#C,s)}#M=N(()=>e.props.autoPanSpeed??15);get autoPanSpeed(){return r(this.#M)}set autoPanSpeed(s){R(this.#M,s)}#N=N(()=>e.props.connectionDragThreshold??1);get connectionDragThreshold(){return r(this.#N)}set connectionDragThreshold(s){R(this.#N,s)}fitViewQueued=e.props.fitView??!1;fitViewOptions=e.props.fitViewOptions;fitViewResolver=null;#A=N(()=>e.props.snapGrid??null);get snapGrid(){return r(this.#A)}set snapGrid(s){R(this.#A,s)}#I=ve(!1);get dragging(){return r(this.#I)}set dragging(s){R(this.#I,s)}#P=ve(null);get selectionRect(){return r(this.#P)}set selectionRect(s){R(this.#P,s)}#L=ve(!1);get selectionKeyPressed(){return r(this.#L)}set selectionKeyPressed(s){R(this.#L,s)}#O=ve(!1);get multiselectionKeyPressed(){return r(this.#O)}set multiselectionKeyPressed(s){R(this.#O,s)}#D=ve(!1);get deleteKeyPressed(){return r(this.#D)}set deleteKeyPressed(s){R(this.#D,s)}#R=ve(!1);get panActivationKeyPressed(){return r(this.#R)}set panActivationKeyPressed(s){R(this.#R,s)}#H=ve(!1);get zoomActivationKeyPressed(){return r(this.#H)}set zoomActivationKeyPressed(s){R(this.#H,s)}#z=ve(null);get selectionRectMode(){return r(this.#z)}set selectionRectMode(s){R(this.#z,s)}#F=ve("");get ariaLiveMessage(){return r(this.#F)}set ariaLiveMessage(s){R(this.#F,s)}#q=N(()=>e.props.selectionMode??il.Partial);get selectionMode(){return r(this.#q)}set selectionMode(s){R(this.#q,s)}#$=N(()=>({...Qg,...e.props.nodeTypes}));get nodeTypes(){return r(this.#$)}set nodeTypes(s){R(this.#$,s)}#j=N(()=>({...Jg,...e.props.edgeTypes}));get edgeTypes(){return r(this.#j)}set edgeTypes(s){R(this.#j,s)}#B=N(()=>e.props.noPanClass??"nopan");get noPanClass(){return r(this.#B)}set noPanClass(s){R(this.#B,s)}#V=N(()=>e.props.noDragClass??"nodrag");get noDragClass(){return r(this.#V)}set noDragClass(s){R(this.#V,s)}#W=N(()=>e.props.noWheelClass??"nowheel");get noWheelClass(){return r(this.#W)}set noWheelClass(s){R(this.#W,s)}#K=N(()=>PS(e.props.ariaLabelConfig));get ariaLabelConfig(){return r(this.#K)}set ariaLabelConfig(s){R(this.#K,s)}#G=ve(ZT(this.nodesInitialized,e.props.fitView,e.props.initialViewport,this.width,this.height,this.nodeLookup));get _viewport(){return r(this.#G)}set _viewport(s){R(this.#G,s)}get viewport(){return e.viewport??this._viewport}set viewport(s){e.viewport&&(e.viewport=s),this._viewport=s}#U=ve(Cd);get _connection(){return r(this.#U)}set _connection(s){R(this.#U,s)}#Y=N(()=>this._connection.inProgress?{...this._connection,to:Za(this._connection.to,[this.viewport.x,this.viewport.y,this.viewport.zoom])}:this._connection);get connection(){return r(this.#Y)}set connection(s){R(this.#Y,s)}#X=N(()=>e.props.connectionMode??Co.Strict);get connectionMode(){return r(this.#X)}set connectionMode(s){R(this.#X,s)}#Z=N(()=>e.props.connectionRadius??20);get connectionRadius(){return r(this.#Z)}set connectionRadius(s){R(this.#Z,s)}#Q=N(()=>e.props.isValidConnection??(()=>!0));get isValidConnection(){return r(this.#Q)}set isValidConnection(s){R(this.#Q,s)}#J=N(()=>e.props.selectNodesOnDrag??!0);get selectNodesOnDrag(){return r(this.#J)}set selectNodesOnDrag(s){R(this.#J,s)}#ee=N(()=>e.props.defaultMarkerColor===void 0?"#b1b1b7":e.props.defaultMarkerColor);get defaultMarkerColor(){return r(this.#ee)}set defaultMarkerColor(s){R(this.#ee,s)}#te=N(()=>KS(e.edges,{defaultColor:this.defaultMarkerColor,id:this.flowId,defaultMarkerStart:this.defaultEdgeOptions.markerStart,defaultMarkerEnd:this.defaultEdgeOptions.markerEnd}));get markers(){return r(this.#te)}set markers(s){R(this.#te,s)}#ne=N(()=>e.props.onlyRenderVisibleElements??!1);get onlyRenderVisibleElements(){return r(this.#ne)}set onlyRenderVisibleElements(s){R(this.#ne,s)}#re=N(()=>e.props.onflowerror??XT);get onerror(){return r(this.#re)}set onerror(s){R(this.#re,s)}#se=N(()=>e.props.ondelete);get ondelete(){return r(this.#se)}set ondelete(s){R(this.#se,s)}#oe=N(()=>e.props.onbeforedelete);get onbeforedelete(){return r(this.#oe)}set onbeforedelete(s){R(this.#oe,s)}#ae=N(()=>e.props.onbeforeconnect);get onbeforeconnect(){return r(this.#ae)}set onbeforeconnect(s){R(this.#ae,s)}#ie=N(()=>e.props.onconnect);get onconnect(){return r(this.#ie)}set onconnect(s){R(this.#ie,s)}#le=N(()=>e.props.onconnectstart);get onconnectstart(){return r(this.#le)}set onconnectstart(s){R(this.#le,s)}#ce=N(()=>e.props.onconnectend);get onconnectend(){return r(this.#ce)}set onconnectend(s){R(this.#ce,s)}#de=N(()=>e.props.onbeforereconnect);get onbeforereconnect(){return r(this.#de)}set onbeforereconnect(s){R(this.#de,s)}#ue=N(()=>e.props.onreconnect);get onreconnect(){return r(this.#ue)}set onreconnect(s){R(this.#ue,s)}#fe=N(()=>e.props.onreconnectstart);get onreconnectstart(){return r(this.#fe)}set onreconnectstart(s){R(this.#fe,s)}#ve=N(()=>e.props.onreconnectend);get onreconnectend(){return r(this.#ve)}set onreconnectend(s){R(this.#ve,s)}#he=N(()=>e.props.clickConnect??!0);get clickConnect(){return r(this.#he)}set clickConnect(s){R(this.#he,s)}#pe=N(()=>e.props.onclickconnectstart);get onclickconnectstart(){return r(this.#pe)}set onclickconnectstart(s){R(this.#pe,s)}#ge=N(()=>e.props.onclickconnectend);get onclickconnectend(){return r(this.#ge)}set onclickconnectend(s){R(this.#ge,s)}#me=ve(null);get clickConnectStartHandle(){return r(this.#me)}set clickConnectStartHandle(s){R(this.#me,s)}#ye=N(()=>e.props.onselectiondrag);get onselectiondrag(){return r(this.#ye)}set onselectiondrag(s){R(this.#ye,s)}#_e=N(()=>e.props.onselectiondragstart);get onselectiondragstart(){return r(this.#_e)}set onselectiondragstart(s){R(this.#_e,s)}#be=N(()=>e.props.onselectiondragstop);get onselectiondragstop(){return r(this.#be)}set onselectiondragstop(s){R(this.#be,s)}resolveFitView=async()=>{this.panZoom&&(await SS({nodes:this.nodeLookup,width:this.width,height:this.height,panZoom:this.panZoom,minZoom:this.minZoom,maxZoom:this.maxZoom},this.fitViewOptions),this.fitViewResolver?.resolve(!0),this.fitViewQueued=!1,this.fitViewOptions=void 0,this.fitViewResolver=null)};_prefersDark=new UT("(prefers-color-scheme: dark)",e.props.colorModeSSR==="dark");#we=N(()=>e.props.colorMode==="system"?this._prefersDark.current?"dark":"light":e.props.colorMode??"light");get colorMode(){return r(this.#we)}set colorMode(s){R(this.#we,s)}constructor(){}resetStoreValues(){this.dragging=!1,this.selectionRect=null,this.selectionRectMode=null,this.selectionKeyPressed=!1,this.multiselectionKeyPressed=!1,this.deleteKeyPressed=!1,this.panActivationKeyPressed=!1,this.zoomActivationKeyPressed=!1,this._connection=Cd,this.clickConnectStartHandle=null,this.viewport=e.props.initialViewport??{x:0,y:0,zoom:1},this.ariaLiveMessage=""}}return new t}const JT=Ks.error001("svelte");function Ho(){const e=zd(Ad);if(!e)throw new Error(JT);return e.getStore()}const Ad=Symbol();function e3(e){const t=QT(e);function n($){t.nodeTypes={...Qg,...$}}function s($){t.edgeTypes={...Jg,...$}}function o($){t.edges=wT($,t.edges,{onError:t.onerror})}const a=($,H=!1)=>{t.nodes=t.nodes.map(x=>{if(t.connection.inProgress&&t.connection.fromNode.id===x.id){const S=t.nodeLookup.get(x.id);S&&(t.connection={...t.connection,from:Us(S,t.connection.fromHandle,et.Left,!0)})}const m=$.get(x.id);return m?{...x,position:m.position,dragging:H}:x})};function i($){const{changes:H,updatedInternals:x}=tT($,t.nodeLookup,t.parentLookup,t.domNode,t.nodeOrigin,t.nodeExtent,t.zIndexMode);if(!x)return;YS(t.nodeLookup,t.parentLookup,{nodeOrigin:t.nodeOrigin,nodeExtent:t.nodeExtent,zIndexMode:t.zIndexMode}),t.fitViewQueued&&t.resolveFitView();const m=new Map;for(const S of H){const T=t.nodeLookup.get(S.id)?.internals.userNode;if(!T)continue;const E={...T};switch(S.type){case"dimensions":{const I={...E.measured,...S.dimensions};S.setAttributes&&(E.width=S.dimensions?.width??E.width,E.height=S.dimensions?.height??E.height),E.measured=I;break}case"position":E.position=S.position??E.position;break}m.set(S.id,E)}t.nodes=t.nodes.map(S=>m.get(S.id)??S)}function l($){const H=t.fitViewResolver??Promise.withResolvers();return t.fitViewQueued=!0,t.fitViewOptions=$,t.fitViewResolver=H,t.nodes=[...t.nodes],H.promise}async function c($,H,x){const m=typeof x?.zoom<"u"?x.zoom:t.maxZoom,S=t.panZoom;return S?(await S.setViewport({x:t.width/2-$*m,y:t.height/2-H*m,zoom:m},{duration:x?.duration,ease:x?.ease,interpolate:x?.interpolate}),!0):!1}async function d($,H){const x=t.panZoom;return x?x.scaleBy($,H):!1}async function u($){return d(1.2,$)}function h($){return d(1/1.2,$)}function v($){const H=t.panZoom;H&&(H.setScaleExtent([$,t.maxZoom]),t.minZoom=$)}function y($){const H=t.panZoom;H&&(H.setScaleExtent([t.minZoom,$]),t.maxZoom=$)}function g($){const H=t.panZoom;H&&(H.setTranslateExtent($),t.translateExtent=$)}function w($,H=null){let x=!1;const m=$.map(S=>(H?H.has(S.id):!0)&&S.selected?(x=!0,{...S,selected:!1}):S);return[x,m]}function k($){const H=$?.nodes?new Set($.nodes.map(I=>I.id)):null,[x,m]=w(t.nodes,H);x&&(t.nodes=m);const S=$?.edges?new Set($.edges.map(I=>I.id)):null,[T,E]=w(t.edges,S);T&&(t.edges=E)}function A($){const H=t.multiselectionKeyPressed;t.nodes=t.nodes.map(x=>{const m=$.includes(x.id),S=H&&x.selected||m;return!!x.selected!==S?{...x,selected:S}:x}),H||k({nodes:[]})}function L($){const H=t.multiselectionKeyPressed;t.edges=t.edges.map(x=>{const m=$.includes(x.id),S=H&&x.selected||m;return!!x.selected!==S?{...x,selected:S}:x}),H||k({edges:[]})}function M($,H,x){const m=t.nodeLookup.get($);if(!m){t.onerror("012",Ks.error012($));return}t.selectionRect=null,t.selectionRectMode=null,m.selected?(H||m.selected&&t.multiselectionKeyPressed)&&(k({nodes:[m.internals.userNode],edges:[]}),requestAnimationFrame(()=>x?.blur())):A([$])}function D($){const H=t.edgeLookup.get($);if(!H){t.onerror("016",Ks.error016($));return}(H.selectable||t.elementsSelectable&&typeof H.selectable>"u")&&(t.selectionRect=null,t.selectionRectMode=null,H.selected?H.selected&&t.multiselectionKeyPressed&&k({nodes:[],edges:[H]}):L([$]))}function j($,H){const{nodeExtent:x,snapGrid:m,nodeOrigin:S,nodeLookup:T,nodesDraggable:E,onerror:I}=t,F=new Map,q=m?.[0]??5,Y=m?.[1]??5,ne=$.x*q*H,ie=$.y*Y*H;for(const G of T.values()){if(!(G.selected&&(G.draggable||E&&typeof G.draggable>"u")))continue;let Q={x:G.internals.positionAbsolute.x+ne,y:G.internals.positionAbsolute.y+ie};m&&(Q=Xa(Q,m));const{position:V,positionAbsolute:X}=Cg({nodeId:G.id,nextPosition:Q,nodeLookup:T,nodeExtent:x,nodeOrigin:S,onError:I});G.position=V,G.internals.positionAbsolute=X,F.set(G.id,G)}a(F)}function W($){return nT({delta:$,panZoom:t.panZoom,transform:[t.viewport.x,t.viewport.y,t.viewport.zoom],translateExtent:t.translateExtent,width:t.width,height:t.height})}const K=$=>{t._connection={...$}};function Z(){t._connection=Cd}function z(){t.resetStoreValues(),k()}return Object.assign(t,{setNodeTypes:n,setEdgeTypes:s,addEdge:o,updateNodePositions:a,updateNodeInternals:i,zoomIn:u,zoomOut:h,fitView:l,setCenter:c,setMinZoom:v,setMaxZoom:y,setTranslateExtent:g,unselectNodesAndEdges:k,addSelectedNodes:A,addSelectedEdges:L,handleNodeSelection:M,handleEdgeSelection:D,moveSelectedNodes:j,panBy:W,updateConnection:K,cancelConnection:Z,reset:z})}function t3(e,t){const{minZoom:n,maxZoom:s,initialViewport:o,onPanZoomStart:a,onPanZoom:i,onPanZoomEnd:l,translateExtent:c,setPanZoomInstance:d,onDraggingChange:u,onTransformChange:h}=t,v=_T({domNode:e,minZoom:n,maxZoom:s,translateExtent:c,viewport:o,onPanZoom:i,onPanZoomStart:a,onPanZoomEnd:l,onDraggingChange:u}),y=v.getViewport();return(o.x!==y.x||o.y!==y.y||o.zoom!==y.zoom)&&h([y.x,y.y,y.zoom]),d(v),v.update(t),{update(g){v.update(g)}}}var n3=O('<div class="svelte-flow__zoom svelte-flow__container"><!></div>');function r3(e,t){Re(t,!0);let n=Ne(t,"store",15),s=N(()=>n().panActivationKeyPressed||t.panOnDrag),o=N(()=>n().panActivationKeyPressed||t.panOnScroll);const{viewport:a}=n();let i=!1;it(()=>{!i&&n().viewportInitialized&&(t.oninit?.(),i=!0)});var l=n3(),c=f(l);jn(c,()=>t.children),On(l,(d,u)=>t3?.(d,u),()=>({viewport:n().viewport,minZoom:n().minZoom,maxZoom:n().maxZoom,initialViewport:a,onDraggingChange:d=>{n(n().dragging=d,!0)},setPanZoomInstance:d=>{n(n().panZoom=d,!0)},onPanZoomStart:t.onmovestart,onPanZoom:t.onmove,onPanZoomEnd:t.onmoveend,zoomOnScroll:t.zoomOnScroll,zoomOnDoubleClick:t.zoomOnDoubleClick,zoomOnPinch:t.zoomOnPinch,panOnScroll:r(o),panOnDrag:r(s),panOnScrollSpeed:t.panOnScrollSpeed,panOnScrollMode:t.panOnScrollMode,panActivationKeyPressed:n().panActivationKeyPressed,zoomActivationKeyPressed:n().zoomActivationKeyPressed,preventScrolling:typeof t.preventScrolling=="boolean"?t.preventScrolling:!0,noPanClassName:n().noPanClass,noWheelClassName:n().noWheelClass,userSelectionActive:!!n().selectionRect,translateExtent:n().translateExtent,lib:"svelte",paneClickDistance:t.paneClickDistance,selectionOnDrag:t.selectionOnDrag,onTransformChange:d=>{n(n().viewport={x:d[0],y:d[1],zoom:d[2]},!0)},connectionInProgress:n().connection.inProgress})),b(e,l),He()}function pv(e,t){return n=>{n.target===t&&e?.(n)}}function gv(e){return t=>{const n=e.has(t.id);return!!t.selected!==n?{...t,selected:n}:t}}function mv(e,t){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}var s3=O("<div><!></div>");function o3(e,t){Re(t,!0);let n=Ne(t,"store",15),s=Ne(t,"panOnDrag",3,!0),o=Ne(t,"paneClickDistance",3,1),a=Ne(t,"autoPanOnSelection",3,!0),i,l=null,c=!1,d=new Set,u=new Set,h=N(()=>n().panActivationKeyPressed||s()),v=N(()=>n().selectionKeyPressed||!!n().selectionRect||t.selectionOnDrag&&r(h)!==!0),y=N(()=>n().elementsSelectable&&(r(v)||n().selectionRectMode==="user")),g=!1,w=0,k={x:0,y:0},A=!1;function L(E){if(E.pointerType==="touch"&&r(h)!==!1&&!n().selectionKeyPressed||(l=i?.getBoundingClientRect(),!l))return;const I=E.target===i,F=!I&&!!E.target.closest(".nokey"),q=t.selectionOnDrag&&I||n().selectionKeyPressed;if(F||!r(v)||!q||E.button!==0||!E.isPrimary)return;E.target?.setPointerCapture?.(E.pointerId),g=!1,A=!1;const{x:Y,y:ne}=pr(E,l),ie=Za({x:Y,y:ne},[n().viewport.x,n().viewport.y,n().viewport.zoom]);n(n().selectionRect={width:0,height:0,startX:ie.x,startY:ie.y,x:Y,y:ne},!0),I||(E.stopPropagation(),E.preventDefault())}function M(E,I){if(n().selectionRect?.startX===void 0||n().selectionRect.startY===void 0)return;const F={x:n().selectionRect?.startX,y:n().selectionRect?.startY},q=No(F,[n().viewport.x,n().viewport.y,n().viewport.zoom]),Y={startX:F.x,startY:F.y,x:E<q.x?E:q.x,y:I<q.y?I:q.y,width:Math.abs(E-q.x),height:Math.abs(I-q.y)},ne=d,ie=u;d=new Set(bu(n().nodeLookup,Y,[n().viewport.x,n().viewport.y,n().viewport.zoom],n().selectionMode===il.Partial,!0).map(P=>P.id));const G=n().defaultEdgeOptions.selectable??!0;u=new Set;for(const P of d){const Q=n().connectionLookup.get(P);if(Q)for(const{edgeId:V}of Q.values()){const X=n().edgeLookup.get(V);X&&(X.selectable??G)&&u.add(V)}}mv(ne,d)||n(n().nodes=n().nodes.map(gv(d)),!0),mv(ie,u)||n(n().edges=n().edges.map(gv(u)),!0),n(n().selectionRectMode="user",!0),n(n().selectionRect=Y,!0)}function D(){if(!a()||!l)return;const[E,I]=wu(k,l,n().autoPanSpeed);n().panBy({x:E,y:I}).then(F=>{if(!g||!F){w=requestAnimationFrame(D);return}M(k.x,k.y),w=requestAnimationFrame(D)})}function j(){cancelAnimationFrame(w),w=0,A=!1}Tl(()=>{typeof window<"u"&&j()});function W(E){if(!r(v)||!l||!n().selectionRect)return;const I=pr(E,l);k={x:I.x,y:I.y};const F={x:n().selectionRect.startX,y:n().selectionRect.startY},q=No(F,[n().viewport.x,n().viewport.y,n().viewport.zoom]);if(!g){const Y=n().selectionKeyPressed?0:o();if(Math.hypot(I.x-q.x,I.y-q.y)<=Y)return;n().unselectNodesAndEdges(),t.onselectionstart?.(E)}g=!0,A||(D(),A=!0),M(I.x,I.y)}function K(E){if(!r(y)){E.target===i&&n().connection.inProgress&&(c=!0);return}E.button===0&&(E.target?.releasePointerCapture?.(E.pointerId),!g&&E.target===i&&$?.(E),n(n().selectionRect=null,!0),g&&n(n().selectionRectMode=d.size>0?"nodes":null,!0),g&&t.onselectionend?.(E),j())}function Z(E){E.target?.releasePointerCapture?.(E.pointerId),j()}const z=E=>{if(Array.isArray(r(h))&&r(h).includes(2)){E.preventDefault();return}t.onpanecontextmenu?.({event:E})},U=E=>{g&&(E.stopPropagation(),g=!1)};function $(E){if(g||n().connection.inProgress||c){g=!1,c=!1;return}t.onpaneclick?.({event:E}),n().unselectNodesAndEdges(),n(n().selectionRectMode=null,!0),n(n().selectionRect=null,!0)}var H=s3();let x;var m=N(()=>r(y)?void 0:pv($,i)),S=N(()=>pv(z,i)),T=f(H);jn(T,()=>t.children),Zt(H,E=>i=E,()=>i),C(E=>x=De(H,1,"svelte-flow__pane svelte-flow__container",null,x,E),[()=>({draggable:s()===!0||Array.isArray(s())&&s().includes(0),dragging:n().dragging,selection:r(v)})]),Ce("click",H,function(...E){r(m)?.apply(this,E)}),st("pointerdown",H,function(...E){(r(y)?L:void 0)?.apply(this,E)},!0),Ce("pointermove",H,function(...E){(r(y)?W:void 0)?.apply(this,E)}),Ce("pointerup",H,K),st("pointercancel",H,function(...E){(r(y)?Z:void 0)?.apply(this,E)}),Ce("contextmenu",H,function(...E){r(S)?.apply(this,E)}),st("click",H,function(...E){(r(y)?U:void 0)?.apply(this,E)},!0),b(e,H),He()}Mt(["click","pointermove","pointerup","contextmenu"]);var a3=O('<div class="svelte-flow__viewport xyflow__viewport svelte-flow__container"><!></div>');function i3(e,t){Re(t,!0);var n=a3();let s;var o=f(n);jn(o,()=>t.children),C(()=>s=ht(n,"",s,{transform:`translate(${t.store.viewport.x??""}px, ${t.store.viewport.y??""}px) scale(${t.store.viewport.zoom??""})`})),b(e,n),He()}function em(e,t){const{store:n,onDrag:s,onDragStart:o,onDragStop:a,onNodeMouseDown:i}=t,l=aT({onDrag:s,onDragStart:o,onDragStop:a,onNodeMouseDown:i,getStoreItems:()=>{const{snapGrid:d,viewport:u}=n;return{nodes:n.nodes,nodeLookup:n.nodeLookup,edges:n.edges,nodeExtent:n.nodeExtent,snapGrid:d||[0,0],snapToGrid:!!d,nodeOrigin:n.nodeOrigin,multiSelectionActive:n.multiselectionKeyPressed,domNode:n.domNode,transform:[u.x,u.y,u.zoom],autoPanOnNodeDrag:n.autoPanOnNodeDrag,nodesDraggable:n.nodesDraggable,selectNodesOnDrag:n.selectNodesOnDrag,nodeDragThreshold:n.nodeDragThreshold,unselectNodesAndEdges:n.unselectNodesAndEdges,updateNodePositions:n.updateNodePositions,onSelectionDrag:n.onselectiondrag,onSelectionDragStart:n.onselectiondragstart,onSelectionDragStop:n.onselectiondragstop,panBy:n.panBy}}});function c(d,u){if(u.disabled){l.destroy();return}l.update({domNode:d,noDragClassName:u.noDragClass,handleSelector:u.handleSelector,nodeId:u.nodeId,isSelectable:u.isSelectable,nodeClickDistance:u.nodeClickDistance})}return c(e,t),{update(d){c(e,d)},destroy(){l.destroy()}}}var l3=O('<div aria-live="assertive" aria-atomic="true" class="a11y-live-msg svelte-fh6zco"> </div>'),c3=O('<div class="a11y-hidden svelte-fh6zco"> </div> <div class="a11y-hidden svelte-fh6zco"> </div> <!>',1);function d3(e,t){Re(t,!0);var n=c3(),s=xe(n),o=f(s),a=p(s,2),i=f(a),l=p(a,2);{var c=d=>{var u=l3(),h=f(u);C(()=>{ae(u,"id",`${u3}-${t.store.flowId}`),_(h,t.store.ariaLiveMessage)}),b(d,u)};B(l,d=>{t.store.disableKeyboardA11y||d(c)})}C(()=>{ae(s,"id",`${tm}-${t.store.flowId}`),_(o,t.store.disableKeyboardA11y?t.store.ariaLabelConfig["node.a11yDescription.default"]:t.store.ariaLabelConfig["node.a11yDescription.keyboardDisabled"]),ae(a,"id",`${nm}-${t.store.flowId}`),_(i,t.store.ariaLabelConfig["edge.a11yDescription.default"])}),b(e,n),He()}const tm="svelte-flow__node-desc",nm="svelte-flow__edge-desc",u3="svelte-flow__aria-live";var f3=O("<div><!></div>");function v3(e,t){Re(t,!0);let n=Ne(t,"store",15),s=N(()=>Ln(t.node.data,()=>({}),!0)),o=N(()=>Ln(t.node.selected,!1)),a=N(()=>t.node.draggable),i=N(()=>t.node.selectable),l=N(()=>Ln(t.node.deletable,!0)),c=N(()=>t.node.connectable),d=N(()=>t.node.focusable),u=N(()=>Ln(t.node.hidden,!1)),h=N(()=>Ln(t.node.dragging,!1)),v=N(()=>Ln(t.node.style,"")),y=N(()=>t.node.class),g=N(()=>Ln(t.node.type,"default")),w=N(()=>t.node.parentId),k=N(()=>t.node.sourcePosition),A=N(()=>t.node.targetPosition),L=N(()=>Ln(t.node.measured,()=>({width:0,height:0}),!0).width),M=N(()=>Ln(t.node.measured,()=>({width:0,height:0}),!0).height),D=N(()=>t.node.initialWidth),j=N(()=>t.node.initialHeight),W=N(()=>t.node.width),K=N(()=>t.node.height),Z=N(()=>t.node.dragHandle),z=N(()=>Ln(t.node.internals.z,0)),U=N(()=>t.node.internals.positionAbsolute.x),$=N(()=>t.node.internals.positionAbsolute.y),H=N(()=>t.node.internals.userNode),{id:x}=t.node,m=N(()=>r(a)??n().nodesDraggable),S=N(()=>r(i)??n().elementsSelectable),T=N(()=>r(c)??n().nodesConnectable),E=N(()=>AS(t.node)),I=N(()=>!!t.node.internals.handleBounds),F=N(()=>r(E)&&r(I)),q=N(()=>r(d)??n().nodesFocusable);function Y(J){return n().parentLookup.has(J)}let ne=N(()=>Y(x)),ie=ve(null),G=null,P=r(g),Q=r(k),V=r(A),X=N(()=>n().nodeTypes[r(g)]??Gg),le=N(()=>n().ariaLabelConfig),se={get value(){return r(T)}};kT(x),ST(se);let re=N(()=>{const J=r(L)===void 0?r(W)??r(D):r(W),oe=r(M)===void 0?r(K)??r(j):r(K);if(!(J===void 0&&oe===void 0&&r(v)===void 0))return`${r(v)};${J?`width:${Hr(J)};`:""}${oe?`height:${Hr(oe)};`:""}`});it(()=>{(r(g)!==P||r(k)!==Q||r(A)!==V)&&r(ie)!==null&&requestAnimationFrame(()=>{r(ie)!==null&&n().updateNodeInternals(new Map([[x,{id:x,nodeElement:r(ie),force:!0}]]))}),P=r(g),Q=r(k),V=r(A)}),it(()=>{t.resizeObserver&&(!r(F)||r(ie)!==G)&&(G&&t.resizeObserver.unobserve(G),r(ie)&&t.resizeObserver.observe(r(ie)),G=r(ie))}),Tl(()=>{G&&t.resizeObserver?.unobserve(G)});function de(J){r(S)&&(!n().selectNodesOnDrag||!r(m)||n().nodeDragThreshold>0)&&n().handleNodeSelection(x),t.onnodeclick?.({node:r(H),event:J})}function ue(J){if(!(Lg(J)||n().disableKeyboardA11y))if(Sg.includes(J.key)&&r(S)){const oe=J.key==="Escape";n().handleNodeSelection(x,oe,r(ie))}else r(m)&&t.node.selected&&Object.prototype.hasOwnProperty.call(fl,J.key)&&(J.preventDefault(),n(n().ariaLiveMessage=r(le)["node.a11yDescription.ariaLiveMessage"]({direction:J.key.replace("Arrow","").toLowerCase(),x:~~t.node.internals.positionAbsolute.x,y:~~t.node.internals.positionAbsolute.y}),!0),n().moveSelectedNodes(fl[J.key],J.shiftKey?4:1))}const fe=()=>{if(n().disableKeyboardA11y||!n().autoPanOnNodeFocus||!r(ie)?.matches(":focus-visible"))return;const{width:J,height:oe,viewport:be}=n();bu(new Map([[x,t.node]]),{x:0,y:0,width:J,height:oe},[be.x,be.y,be.zoom],!0).length>0||n().setCenter(t.node.position.x+(t.node.measured.width??0)/2,t.node.position.y+(t.node.measured.height??0)/2,{zoom:be.zoom})};var te=Tt(),ee=xe(te);{var ce=J=>{var oe=f3();ts(oe,()=>({"data-id":x,class:["svelte-flow__node",`svelte-flow__node-${r(g)}`,r(y)],style:r(re),onclick:de,onpointerenter:t.onnodepointerenter?_e=>t.onnodepointerenter({node:r(H),event:_e}):void 0,onpointerleave:t.onnodepointerleave?_e=>t.onnodepointerleave({node:r(H),event:_e}):void 0,onpointermove:t.onnodepointermove?_e=>t.onnodepointermove({node:r(H),event:_e}):void 0,oncontextmenu:t.onnodecontextmenu?_e=>t.onnodecontextmenu({node:r(H),event:_e}):void 0,onkeydown:r(q)?ue:void 0,onfocus:r(q)?fe:void 0,tabIndex:r(q)?0:void 0,role:t.node.ariaRole??(r(q)?"group":void 0),"aria-label":t.node.ariaLabel,"aria-roledescription":"node","aria-describedby":n().disableKeyboardA11y?void 0:`${tm}-${n().flowId}`,...t.node.domAttributes,[us]:{dragging:r(h),selected:r(o),draggable:r(m),connectable:r(T),selectable:r(S),nopan:r(m),parent:r(ne)},[kr]:{"z-index":r(z),transform:`translate(${r(U)??""}px, ${r($)??""}px)`,visibility:r(E)?"visible":"hidden"}}));var be=f(oe);Zd(be,()=>r(X),(_e,Ie)=>{Ie(_e,{get data(){return r(s)},get id(){return x},get selected(){return r(o)},get selectable(){return r(S)},get deletable(){return r(l)},get sourcePosition(){return r(k)},get targetPosition(){return r(A)},get zIndex(){return r(z)},get dragging(){return r(h)},get draggable(){return r(m)},get dragHandle(){return r(Z)},get parentId(){return r(w)},get type(){return r(g)},get isConnectable(){return r(T)},get positionAbsoluteX(){return r(U)},get positionAbsoluteY(){return r($)},get width(){return r(W)},get height(){return r(K)}})}),On(oe,(_e,Ie)=>em?.(_e,Ie),()=>({nodeId:x,isSelectable:r(S),disabled:!r(m),handleSelector:r(Z),noDragClass:n().noDragClass,nodeClickDistance:t.nodeClickDistance,onNodeMouseDown:n().handleNodeSelection,onDrag:(_e,Ie,pe,me)=>{t.onnodedrag?.({event:_e,targetNode:pe,nodes:me})},onDragStart:(_e,Ie,pe,me)=>{t.onnodedragstart?.({event:_e,targetNode:pe,nodes:me})},onDragStop:(_e,Ie,pe,me)=>{t.onnodedragstop?.({event:_e,targetNode:pe,nodes:me})},store:n()})),Zt(oe,_e=>R(ie,_e),()=>r(ie)),b(J,oe)};B(ee,J=>{r(u)||J(ce)})}b(e,te),He()}var h3=O('<div class="svelte-flow__nodes"></div>');function p3(e,t){Re(t,!0);let n=Ne(t,"store",15);const s=typeof ResizeObserver>"u"?null:new ResizeObserver(a=>{const i=new Map;a.forEach(l=>{const c=l.target.getAttribute("data-id");i.set(c,{id:c,nodeElement:l.target,force:!0})}),n().updateNodeInternals(i)});Tl(()=>{s?.disconnect()});var o=h3();Te(o,21,()=>n().visible.nodes.values(),a=>a.id,(a,i)=>{v3(a,{get node(){return r(i)},get resizeObserver(){return s},get nodeClickDistance(){return t.nodeClickDistance},get onnodeclick(){return t.onnodeclick},get onnodepointerenter(){return t.onnodepointerenter},get onnodepointermove(){return t.onnodepointermove},get onnodepointerleave(){return t.onnodepointerleave},get onnodedrag(){return t.onnodedrag},get onnodedragstart(){return t.onnodedragstart},get onnodedragstop(){return t.onnodedragstop},get onnodecontextmenu(){return t.onnodecontextmenu},get store(){return n()},set store(l){n(l)}})}),b(e,o),He()}var g3=tn('<svg class="svelte-flow__edge-wrapper"><g><!></g></svg>');function m3(e,t){Re(t,!0);let n=N(()=>t.edge.id),s=N(()=>t.edge.source),o=N(()=>t.edge.target),a=N(()=>t.edge.sourceX),i=N(()=>t.edge.sourceY),l=N(()=>t.edge.targetX),c=N(()=>t.edge.targetY),d=N(()=>t.edge.sourcePosition),u=N(()=>t.edge.targetPosition),h=N(()=>Ln(t.edge.animated,!1)),v=N(()=>Ln(t.edge.selected,!1)),y=N(()=>t.edge.label),g=N(()=>t.edge.labelStyle),w=N(()=>Ln(t.edge.data,()=>({}),!0)),k=N(()=>t.edge.style),A=N(()=>t.edge.interactionWidth),L=N(()=>Ln(t.edge.type,"default")),M=N(()=>t.edge.sourceHandle),D=N(()=>t.edge.targetHandle),j=N(()=>t.edge.markerStart),W=N(()=>t.edge.markerEnd),K=N(()=>t.edge.selectable),Z=N(()=>t.edge.focusable),z=N(()=>Ln(t.edge.deletable,!0)),U=N(()=>t.edge.hidden),$=N(()=>t.edge.zIndex),H=N(()=>t.edge.class),x=N(()=>t.edge.ariaLabel);CT(r(n));let m=null,S=N(()=>r(K)??t.store.elementsSelectable),T=N(()=>r(Z)??t.store.edgesFocusable),E=N(()=>t.store.edgeTypes[r(L)]??Zg),I=N(()=>r(j)?`url('#${Nd(r(j),t.store.flowId)}')`:void 0),F=N(()=>r(W)?`url('#${Nd(r(W),t.store.flowId)}')`:void 0);function q(Q){const V=t.store.edgeLookup.get(r(n));V&&(r(S)&&t.store.handleEdgeSelection(r(n)),t.onedgeclick?.({event:Q,edge:V}))}function Y(Q,V){const X=t.store.edgeLookup.get(r(n));X&&V({event:Q,edge:X})}function ne(Q){if(!t.store.disableKeyboardA11y&&Sg.includes(Q.key)&&r(S)){const{unselectNodesAndEdges:V,addSelectedEdges:X}=t.store;Q.key==="Escape"?(m?.blur(),V({edges:[t.edge]})):X([r(n)])}}var ie=Tt(),G=xe(ie);{var P=Q=>{var V=g3();let X;var le=f(V);ts(le,()=>({class:["svelte-flow__edge",r(H)],"data-id":r(n),onclick:q,oncontextmenu:t.onedgecontextmenu?re=>{Y(re,t.onedgecontextmenu)}:void 0,onpointerenter:t.onedgepointerenter?re=>{Y(re,t.onedgepointerenter)}:void 0,onpointerleave:t.onedgepointerleave?re=>{Y(re,t.onedgepointerleave)}:void 0,"aria-label":r(x)===null?void 0:r(x)?r(x):`Edge from ${r(s)} to ${r(o)}`,"aria-describedby":r(T)?`${nm}-${t.store.flowId}`:void 0,role:t.edge.ariaRole??(r(T)?"group":"img"),"aria-roledescription":"edge",onkeydown:r(T)?ne:void 0,tabindex:r(T)?0:void 0,...t.edge.domAttributes,[us]:{animated:r(h),selected:r(v),selectable:r(S)}}));var se=f(le);Zd(se,()=>r(E),(re,de)=>{de(re,{get id(){return r(n)},get source(){return r(s)},get target(){return r(o)},get sourceX(){return r(a)},get sourceY(){return r(i)},get targetX(){return r(l)},get targetY(){return r(c)},get sourcePosition(){return r(d)},get targetPosition(){return r(u)},get animated(){return r(h)},get selected(){return r(v)},get label(){return r(y)},get labelStyle(){return r(g)},get data(){return r(w)},get style(){return r(k)},get interactionWidth(){return r(A)},get selectable(){return r(S)},get deletable(){return r(z)},get type(){return r(L)},get sourceHandleId(){return r(M)},get targetHandleId(){return r(D)},get markerStart(){return r(I)},get markerEnd(){return r(F)}})}),Zt(le,re=>m=re,()=>m),C(()=>X=ht(V,"",X,{"z-index":r($)})),b(Q,V)};B(G,Q=>{r(U)||Q(P)})}b(e,ie),He()}hy();var y3=tn("<defs></defs>");function _3(e,t){Re(t,!1);const n=Ho();bp();var s=y3();Te(s,5,()=>n.markers,o=>o.id,(o,a)=>{k3(o,fs(()=>r(a)))}),b(e,s),He()}var b3=tn('<polyline class="arrow" fill="none" stroke-linecap="round" stroke-linejoin="round" points="-5,-4 0,0 -5,4"></polyline>'),w3=tn('<polyline class="arrowclosed" stroke-linecap="round" stroke-linejoin="round" points="-5,-4 0,0 -5,4 -5,-4"></polyline>'),x3=tn('<marker class="svelte-flow__arrowhead" viewBox="-10 -10 20 20" refX="0" refY="0"><!></marker>');function k3(e,t){Re(t,!0);let n=Ne(t,"width",3,12.5),s=Ne(t,"height",3,12.5),o=Ne(t,"markerUnits",3,"strokeWidth"),a=Ne(t,"orient",3,"auto-start-reverse"),i=Ne(t,"color",3,"none");var l=x3(),c=f(l);{var d=h=>{var v=b3();let y;C(()=>{ae(v,"stroke-width",t.strokeWidth),y=ht(v,"",y,{stroke:i()})}),b(h,v)},u=h=>{var v=w3();let y;C(()=>{ae(v,"stroke-width",t.strokeWidth),y=ht(v,"",y,{stroke:i(),fill:i()})}),b(h,v)};B(c,h=>{t.type===ll.Arrow?h(d):t.type===ll.ArrowClosed&&h(u,1)})}C(()=>{ae(l,"id",t.id),ae(l,"markerWidth",`${n()}`),ae(l,"markerHeight",`${s()}`),ae(l,"markerUnits",o()),ae(l,"orient",a())}),b(e,l),He()}var E3=O('<div class="svelte-flow__edges"><svg class="svelte-flow__marker"><!></svg> <!></div>');function S3(e,t){Re(t,!0);let n=Ne(t,"store",15);var s=E3(),o=f(s),a=f(o);_3(a,{});var i=p(o,2);Te(i,17,()=>n().visible.edges.values(),l=>l.id,(l,c)=>{m3(l,{get edge(){return r(c)},get onedgeclick(){return t.onedgeclick},get onedgecontextmenu(){return t.onedgecontextmenu},get onedgepointerenter(){return t.onedgepointerenter},get onedgepointerleave(){return t.onedgepointerleave},get store(){return n()},set store(d){n(d)}})}),b(e,s),He()}var T3=O('<div class="svelte-flow__selection svelte-pvtfbo"></div>');function rm(e,t){Re(t,!0);let n=Ne(t,"x",3,0),s=Ne(t,"y",3,0),o=Ne(t,"width",3,0),a=Ne(t,"height",3,0),i=Ne(t,"isVisible",3,!0);var l=Tt(),c=xe(l);{var d=u=>{var h=T3();let v;C(y=>v=ht(h,"",v,y),[()=>({width:typeof o()=="string"?o():Hr(o()),height:typeof a()=="string"?a():Hr(a()),transform:`translate(${n()}px, ${s()}px)`})]),b(u,h)};B(c,u=>{i()&&u(d)})}b(e,l),He()}var C3=O("<div><!></div>");function M3(e,t){Re(t,!0);let n=ve(void 0);it(()=>{t.store.disableKeyboardA11y||r(n)?.focus({preventScroll:!0})});let s=N(()=>{if(t.store.selectionRectMode==="nodes"){t.store.nodes;const h=Dl(t.store.nodeLookup,{filter:v=>!!v.selected});if(h.width>0&&h.height>0)return h}return null});function o(h){const v=t.store.nodes.filter(y=>y.selected);t.onselectioncontextmenu?.({nodes:v,event:h})}function a(h){const v=t.store.nodes.filter(y=>y.selected);t.onselectionclick?.({nodes:v,event:h})}function i(h){Object.prototype.hasOwnProperty.call(fl,h.key)&&(h.preventDefault(),t.store.moveSelectedNodes(fl[h.key],h.shiftKey?4:1))}var l=Tt(),c=xe(l);{var d=h=>{var v=C3();let y;var g=f(v);rm(g,{width:"100%",height:"100%",x:0,y:0}),On(v,(w,k)=>em?.(w,k),()=>({disabled:!1,store:t.store,onDrag:(w,k,A,L)=>{t.onnodedrag?.({event:w,targetNode:null,nodes:L})},onDragStart:(w,k,A,L)=>{t.onnodedragstart?.({event:w,targetNode:null,nodes:L})},onDragStop:(w,k,A,L)=>{t.onnodedragstop?.({event:w,targetNode:null,nodes:L})}})),Zt(v,w=>R(n,w),()=>r(n)),C(w=>{De(v,1,Zs(["svelte-flow__selection-wrapper",t.store.noPanClass]),"svelte-1mvzvqg"),ae(v,"role",t.store.disableKeyboardA11y?void 0:"button"),ae(v,"tabindex",t.store.disableKeyboardA11y?void 0:-1),y=ht(v,"",y,w)},[()=>({width:Hr(r(s).width),height:Hr(r(s).height),transform:`translate(${r(s).x??""}px, ${r(s).y??""}px)`})]),Ce("contextmenu",v,o),Ce("click",v,a),Ce("keydown",v,function(...w){(t.store.disableKeyboardA11y?void 0:i)?.apply(this,w)}),b(h,v)},u=N(()=>t.store.selectionRectMode==="nodes"&&r(s)&&Ur(r(s).x)&&Ur(r(s).y));B(c,h=>{r(u)&&h(d)})}b(e,l),He()}Mt(["contextmenu","click","keydown"]);function N3(e){switch(e){case"none":return 0;case"ctrl":return 8;case"shift":return 4;case"alt":return 2;case"meta":return 1}}function yr(e,t){let{enabled:n=!0,trigger:s,type:o="keydown"}=t;function a(l){const c=Array.isArray(s)?s:[s],d=[l.metaKey,l.altKey,l.shiftKey,l.ctrlKey].reduce((u,h,v)=>h?u|1<<v:u,0);for(const u of c){const h={preventDefault:!1,enabled:!0,...u},{modifier:v,key:y,code:g,callback:w,preventDefault:k,enabled:A}=h;if(!y&&!g&&console.warn("[svelte-put/shortcut] Trigger should have either `key` or `code`, a trigger missing both was detected! Check your configuration"),A&&(y||g)){if(g&&l.code!==g)continue;if(y&&l.key!==y)continue;if(v===null||v===!1){if(d!==0)continue}else if(v!==void 0&&v?.[0]?.length>0){const M=Array.isArray(v)?v:[v];let D=!1;for(const j of M)if((Array.isArray(j)?j:[j]).reduce((K,Z)=>K|N3(Z),0)===d){D=!0;break}if(!D)continue}k&&l.preventDefault();const L={node:e,trigger:h,originalEvent:l};e.dispatchEvent(new CustomEvent("shortcut",{detail:L})),w?.(L)}}}let i;return n&&(i=od(e,o,a)),{update:l=>{const{enabled:c=!0,type:d="keydown"}=l;n&&(!c||o!==d)?i?.():!n&&c&&(i=od(e,d,a)),n=c,o=d,s=l.trigger},destroy:()=>{i?.()}}}function A3(){const e=N(Ho),t=a=>{const i=vv(a)?a:r(e).nodeLookup.get(a.id),l=i.parentId?IS(i.position,i.measured,i.parentId,r(e).nodeLookup,r(e).nodeOrigin):i.position,c={...i,position:l,width:i.measured?.width??i.width,height:i.measured?.height??i.height};return Oa(c)};function n(a,i,l={replace:!1}){r(e).nodes=rn(()=>r(e).nodes).map(c=>{if(c.id===a){const d=typeof i=="function"?i(c):i;return l?.replace&&vv(d)?d:{...c,...d}}return c})}function s(a,i,l={replace:!1}){r(e).edges=rn(()=>r(e).edges).map(c=>{if(c.id===a){const d=typeof i=="function"?i(c):i;return l.replace&&RT(d)?d:{...c,...d}}return c})}const o=a=>r(e).nodeLookup.get(a);return{zoomIn:r(e).zoomIn,zoomOut:r(e).zoomOut,getInternalNode:o,getNode:a=>o(a)?.internals.userNode,getNodes:a=>a===void 0?r(e).nodes:yv(r(e).nodeLookup,a),getEdge:a=>r(e).edgeLookup.get(a),getEdges:a=>a===void 0?r(e).edges:yv(r(e).edgeLookup,a),setZoom:async(a,i)=>{const l=r(e).panZoom;return l?l.scaleTo(a,i):!1},getZoom:()=>r(e).viewport.zoom,setViewport:async(a,i)=>{const l=r(e).viewport;return r(e).panZoom?(await r(e).panZoom.setViewport({x:a.x??l.x,y:a.y??l.y,zoom:a.zoom??l.zoom},i),!0):!1},getViewport:()=>Th(r(e).viewport),setCenter:async(a,i,l)=>r(e).setCenter(a,i,l),fitView:a=>r(e).fitView(a),fitBounds:async(a,i)=>{if(!r(e).panZoom)return!1;const l=xu(a,r(e).width,r(e).height,r(e).minZoom,r(e).maxZoom,i?.padding??.1);return await r(e).panZoom.setViewport(l,{duration:i?.duration,ease:i?.ease,interpolate:i?.interpolate}),!0},getIntersectingNodes:(a,i=!0,l)=>{const c=ev(a),d=c?a:t(a);return d?(l||r(e).nodes).filter(u=>{const h=r(e).nodeLookup.get(u.id);if(!h||!c&&u.id===a.id)return!1;const v=Oa(h),y=dl(v,d);return i&&y>0||y>=v.width*v.height||y>=d.width*d.height}):[]},isNodeIntersecting:(a,i,l=!0)=>{const d=ev(a)?a:t(a);if(!d)return!1;const u=dl(d,i);return l&&u>0||u>=i.width*i.height||u>=d.width*d.height},deleteElements:async({nodes:a=[],edges:i=[]})=>{const{nodes:l,edges:c}=await TS({nodesToRemove:a,edgesToRemove:i,nodes:r(e).nodes,edges:r(e).edges,onBeforeDelete:r(e).onbeforedelete});return l&&(r(e).nodes=rn(()=>r(e).nodes).filter(d=>!l.some(({id:u})=>u===d.id))),c&&(r(e).edges=rn(()=>r(e).edges).filter(d=>!c.some(({id:u})=>u===d.id))),(l.length>0||c.length>0)&&r(e).ondelete?.({nodes:l,edges:c}),{deletedNodes:l,deletedEdges:c}},screenToFlowPosition:(a,i={snapToGrid:!0})=>{if(!r(e).domNode)return a;const l=i.snapToGrid?r(e).snapGrid:!1,{x:c,y:d,zoom:u}=r(e).viewport,{x:h,y:v}=r(e).domNode.getBoundingClientRect(),y={x:a.x-h,y:a.y-v};return Za(y,[c,d,u],l!==null,l||[1,1])},flowToScreenPosition:a=>{if(!r(e).domNode)return a;const{x:i,y:l,zoom:c}=r(e).viewport,{x:d,y:u}=r(e).domNode.getBoundingClientRect(),h=No(a,[i,l,c]);return{x:h.x+d,y:h.y+u}},toObject:()=>structuredClone({nodes:[...r(e).nodes],edges:[...r(e).edges],viewport:{...r(e).viewport}}),updateNode:n,updateNodeData:(a,i,l)=>{const c=r(e).nodeLookup.get(a)?.internals.userNode;if(!c)return;const d=typeof i=="function"?i(c):i;n(a,u=>({...u,data:l?.replace?d:{...u.data,...d}}))},updateEdge:s,getNodesBounds:a=>xS(a,{nodeLookup:r(e).nodeLookup,nodeOrigin:r(e).nodeOrigin}),getHandleConnections:({type:a,id:i,nodeId:l})=>Array.from(r(e).connectionLookup.get(`${l}-${a}-${i??null}`)?.values()??[])}}function yv(e,t){const n=[];for(const s of t){const o=e.get(s);if(o){const a="internals"in o?o.internals?.userNode:o;n.push(a)}}return n}function I3(e,t){Re(t,!0);let n=Ne(t,"store",15),s=Ne(t,"selectionKey",3,"Shift"),o=Ne(t,"multiSelectionKey",19,()=>ul()?"Meta":"Control"),a=Ne(t,"deleteKey",3,"Backspace"),i=Ne(t,"panActivationKey",3," "),l=Ne(t,"zoomActivationKey",19,()=>ul()?"Meta":"Control"),{deleteElements:c}=A3();function d(w){return w!==null&&typeof w=="object"}function u(w){return d(w)?w.modifier||[]:[]}function h(w){return w==null?"":d(w)?w.key:w}function v(w,k){return(Array.isArray(w)?w:[w]).map(L=>{const M=h(L);return{key:M,modifier:u(L),enabled:M!==null,callback:k}})}function y(){n(n().selectionRect=null,!0),n(n().selectionKeyPressed=!1,!0),n(n().multiselectionKeyPressed=!1,!0),n(n().deleteKeyPressed=!1,!0),n(n().panActivationKeyPressed=!1,!0),n(n().zoomActivationKeyPressed=!1,!0)}function g(){const w=n().nodes.filter(A=>A.selected),k=n().edges.filter(A=>A.selected);c({nodes:w,edges:k})}st("blur",xn,y),st("contextmenu",xn,y),On(xn,(w,k)=>yr?.(w,k),()=>({trigger:v(s(),()=>n(n().selectionKeyPressed=!0,!0)),type:"keydown"})),On(xn,(w,k)=>yr?.(w,k),()=>({trigger:v(s(),()=>n(n().selectionKeyPressed=!1,!0)),type:"keyup"})),On(xn,(w,k)=>yr?.(w,k),()=>({trigger:v(o(),()=>{n(n().multiselectionKeyPressed=!0,!0)}),type:"keydown"})),On(xn,(w,k)=>yr?.(w,k),()=>({trigger:v(o(),()=>n(n().multiselectionKeyPressed=!1,!0)),type:"keyup"})),On(xn,(w,k)=>yr?.(w,k),()=>({trigger:v(a(),w=>{!(w.originalEvent.ctrlKey||w.originalEvent.metaKey||w.originalEvent.shiftKey)&&!Lg(w.originalEvent)&&(n(n().deleteKeyPressed=!0,!0),g())}),type:"keydown"})),On(xn,(w,k)=>yr?.(w,k),()=>({trigger:v(a(),()=>n(n().deleteKeyPressed=!1,!0)),type:"keyup"})),On(xn,(w,k)=>yr?.(w,k),()=>({trigger:v(i(),()=>n(n().panActivationKeyPressed=!0,!0)),type:"keydown"})),On(xn,(w,k)=>yr?.(w,k),()=>({trigger:v(i(),()=>n(n().panActivationKeyPressed=!1,!0)),type:"keyup"})),On(xn,(w,k)=>yr?.(w,k),()=>({trigger:v(l(),()=>n(n().zoomActivationKeyPressed=!0,!0)),type:"keydown"})),On(xn,(w,k)=>yr?.(w,k),()=>({trigger:v(l(),()=>n(n().zoomActivationKeyPressed=!1,!0)),type:"keyup"})),He()}var P3=tn('<path fill="none" class="svelte-flow__connection-path"></path>'),L3=tn('<svg class="svelte-flow__connectionline"><g><!></g></svg>');function O3(e,t){Re(t,!0);let n=N(()=>{if(!t.store.connection.inProgress)return"";const i={sourceX:t.store.connection.from.x,sourceY:t.store.connection.from.y,sourcePosition:t.store.connection.fromPosition,targetX:t.store.connection.to.x,targetY:t.store.connection.to.y,targetPosition:t.store.connection.toPosition};switch(t.type){case hs.Bezier:{const[l]=Dg(i);return l}case hs.Straight:{const[l]=Hg(i);return l}case hs.Step:case hs.SmoothStep:{const[l]=ku({...i,borderRadius:t.type===hs.Step?0:void 0});return l}}});var s=Tt(),o=xe(s);{var a=i=>{var l=L3(),c=f(l),d=f(c);{var u=v=>{var y=Tt(),g=xe(y);Zd(g,()=>t.LineComponent,(w,k)=>{k(w,{})}),b(v,y)},h=v=>{var y=P3();C(()=>{ae(y,"d",r(n)),ht(y,t.style)}),b(v,y)};B(d,v=>{t.LineComponent?v(u):v(h,-1)})}C(v=>{ae(l,"width",t.store.width),ae(l,"height",t.store.height),ht(l,t.containerStyle),De(c,0,v)},[()=>Zs(["svelte-flow__connection",OS(t.store.connection.isValid)])]),b(i,l)};B(o,i=>{t.store.connection.inProgress&&i(a)})}b(e,s),He()}var D3=new Set(["$$slots","$$events","$$legacy","position","style","class","children"]),R3=O("<div><!></div>");function sm(e,t){Re(t,!0);let n=Ne(t,"position",3,"top-right"),s=ws(t,D3),o=N(()=>`${n()}`.split("-"));var a=R3();ts(a,l=>({class:l,style:t.style,...s}),[()=>["svelte-flow__panel",t.class,...r(o)]]);var i=f(a);jn(i,()=>t.children??cn),b(e,a),He()}var H3=O('<a target="_blank" rel="noopener noreferrer" aria-label="Svelte Flow attribution">Svelte Flow</a>');function z3(e,t){Re(t,!0);let n=Ne(t,"position",3,"bottom-right");const s="https://svelteflow.dev?utm_source=attribution";it(()=>{});var o=Tt(),a=xe(o);{var i=l=>{{let c=N(()=>`Please only hide this attribution when you are subscribed to Svelte Flow Pro: ${s}`);sm(l,{get position(){return n()},class:"svelte-flow__attribution",get"data-message"(){return r(c)},children:(d,u)=>{var h=H3();C(()=>ae(h,"href",s)),b(d,h)},$$slots:{default:!0}})}};B(a,l=>{t.proOptions?.hideAttribution||l(i)})}b(e,o),He()}var F3=O("<div><!></div>");function q3(e,t){Re(t,!0);let n=Ne(t,"domNode",15),s=Ne(t,"clientWidth",15),o=Ne(t,"clientHeight",15),a=N(()=>t.rest.class),i=N(()=>Hm(t.rest,["id","class","nodeTypes","edgeTypes","colorMode","isValidConnection","onmove","onmovestart","onmoveend","onflowerror","ondelete","onbeforedelete","onbeforeconnect","onconnect","onconnectstart","onconnectend","onbeforereconnect","onreconnect","onreconnectstart","onreconnectend","onclickconnectstart","onclickconnectend","oninit","onselectionchange","onselectiondragstart","onselectiondrag","onselectiondragstop","onselectionstart","onselectionend","clickConnect","fitView","fitViewOptions","nodeOrigin","nodeDragThreshold","connectionDragThreshold","minZoom","maxZoom","initialViewport","connectionRadius","connectionMode","selectionMode","selectNodesOnDrag","snapGrid","defaultMarkerColor","translateExtent","nodeExtent","onlyRenderVisibleElements","autoPanOnConnect","autoPanOnNodeDrag","colorModeSSR","defaultEdgeOptions","elevateNodesOnSelect","elevateEdgesOnSelect","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","elementsSelectable","nodesFocusable","edgesFocusable","disableKeyboardA11y","noDragClass","noPanClass","noWheelClass","ariaLabelConfig","autoPanSpeed","panOnScrollSpeed","zIndexMode","autoPanOnSelection"]));function l(u){u.currentTarget.scrollTo({top:0,left:0,behavior:"auto"}),t.rest.onscroll&&t.rest.onscroll(u)}var c=F3();ts(c,u=>({class:["svelte-flow","svelte-flow__container",t.colorMode,r(a)],"data-testid":"svelte-flow__wrapper",role:"application",onscroll:l,...r(i),[kr]:u}),[()=>({width:Hr(t.width),height:Hr(t.height)})],void 0,void 0,"svelte-16pl1zd");var d=f(c);jn(d,()=>t.children??cn),Zt(c,u=>n(u),()=>n()),Xu(c,"clientHeight",o),Xu(c,"clientWidth",s),b(e,c),He()}var $3=new Set(["$$slots","$$events","$$legacy","width","height","proOptions","selectionKey","deleteKey","panActivationKey","multiSelectionKey","zoomActivationKey","paneClickDistance","nodeClickDistance","onmovestart","onmoveend","onmove","oninit","onnodeclick","onnodecontextmenu","onnodedrag","onnodedragstart","onnodedragstop","onnodepointerenter","onnodepointermove","onnodepointerleave","onselectionclick","onselectioncontextmenu","onselectionstart","onselectionend","onedgeclick","onedgecontextmenu","onedgepointerenter","onedgepointerleave","onpaneclick","onpanecontextmenu","panOnScrollMode","preventScrolling","zoomOnScroll","zoomOnDoubleClick","zoomOnPinch","panOnScroll","panOnScrollSpeed","panOnDrag","selectionOnDrag","autoPanOnSelection","connectionLineComponent","connectionLineStyle","connectionLineContainerStyle","connectionLineType","attributionPosition","children","nodes","edges","viewport"]),j3=O('<div class="svelte-flow__viewport-back svelte-flow__container"></div> <!> <div class="svelte-flow__edge-labels svelte-flow__container"></div> <!> <!> <!> <div class="svelte-flow__viewport-front svelte-flow__container"></div>',1),B3=O("<!> <!>",1),V3=O("<!> <!> <!> <!> <!>",1);function Fl(e,t){Re(t,!0);let n=Ne(t,"paneClickDistance",3,1),s=Ne(t,"nodeClickDistance",3,1),o=Ne(t,"panOnScrollMode",19,()=>po.Free),a=Ne(t,"preventScrolling",3,!0),i=Ne(t,"zoomOnScroll",3,!0),l=Ne(t,"zoomOnDoubleClick",3,!0),c=Ne(t,"zoomOnPinch",3,!0),d=Ne(t,"panOnScroll",3,!1),u=Ne(t,"panOnScrollSpeed",3,.5),h=Ne(t,"panOnDrag",3,!0),v=Ne(t,"selectionOnDrag",3,!1),y=Ne(t,"autoPanOnSelection",3,!0),g=Ne(t,"connectionLineType",19,()=>hs.Bezier),w=Ne(t,"nodes",31,()=>kn([])),k=Ne(t,"edges",31,()=>kn([])),A=Ne(t,"viewport",15,void 0),L=ws(t,$3),M=e3({props:L,width:t.width,height:t.height,get nodes(){return w()},set nodes(j){w(j)},get edges(){return k()},set edges(j){k(j)},get viewport(){return A()},set viewport(j){A(j)}});const D=zd(Ad);D&&D.setStore&&D.setStore(M),Ch(Ad,{provider:!1,getStore(){return M}}),it(()=>{const j={nodes:M.selectedNodes,edges:M.selectedEdges};rn(()=>t.onselectionchange)?.(j);for(const W of M.selectionChangeHandlers.values())W(j)}),Tl(()=>{M.reset()}),q3(e,{get colorMode(){return M.colorMode},get width(){return t.width},get height(){return t.height},get rest(){return L},get domNode(){return M.domNode},set domNode(j){M.domNode=j},get clientWidth(){return M.width},set clientWidth(j){M.width=j},get clientHeight(){return M.height},set clientHeight(j){M.height=j},children:(j,W)=>{var K=V3(),Z=xe(K);I3(Z,{get selectionKey(){return t.selectionKey},get deleteKey(){return t.deleteKey},get panActivationKey(){return t.panActivationKey},get multiSelectionKey(){return t.multiSelectionKey},get zoomActivationKey(){return t.zoomActivationKey},get store(){return M},set store(x){M=x}});var z=p(Z,2);r3(z,{get panOnScrollMode(){return o()},get preventScrolling(){return a()},get zoomOnScroll(){return i()},get zoomOnDoubleClick(){return l()},get zoomOnPinch(){return c()},get panOnScroll(){return d()},get panOnScrollSpeed(){return u()},get panOnDrag(){return h()},get paneClickDistance(){return n()},get selectionOnDrag(){return v()},get onmovestart(){return t.onmovestart},get onmove(){return t.onmove},get onmoveend(){return t.onmoveend},get oninit(){return t.oninit},get store(){return M},set store(x){M=x},children:(x,m)=>{o3(x,{get onpaneclick(){return t.onpaneclick},get onpanecontextmenu(){return t.onpanecontextmenu},get onselectionstart(){return t.onselectionstart},get onselectionend(){return t.onselectionend},get panOnDrag(){return h()},get paneClickDistance(){return n()},get selectionOnDrag(){return v()},get autoPanOnSelection(){return y()},get store(){return M},set store(S){M=S},children:(S,T)=>{var E=B3(),I=xe(E);i3(I,{get store(){return M},set store(q){M=q},children:(q,Y)=>{var ne=j3(),ie=p(xe(ne),2);S3(ie,{get onedgeclick(){return t.onedgeclick},get onedgecontextmenu(){return t.onedgecontextmenu},get onedgepointerenter(){return t.onedgepointerenter},get onedgepointerleave(){return t.onedgepointerleave},get store(){return M},set store(V){M=V}});var G=p(ie,4);O3(G,{get type(){return g()},get LineComponent(){return t.connectionLineComponent},get containerStyle(){return t.connectionLineContainerStyle},get style(){return t.connectionLineStyle},get store(){return M},set store(V){M=V}});var P=p(G,2);p3(P,{get nodeClickDistance(){return s()},get onnodeclick(){return t.onnodeclick},get onnodecontextmenu(){return t.onnodecontextmenu},get onnodepointerenter(){return t.onnodepointerenter},get onnodepointermove(){return t.onnodepointermove},get onnodepointerleave(){return t.onnodepointerleave},get onnodedrag(){return t.onnodedrag},get onnodedragstart(){return t.onnodedragstart},get onnodedragstop(){return t.onnodedragstop},get store(){return M},set store(V){M=V}});var Q=p(P,2);M3(Q,{get onselectionclick(){return t.onselectionclick},get onselectioncontextmenu(){return t.onselectioncontextmenu},get onnodedrag(){return t.onnodedrag},get onnodedragstart(){return t.onnodedragstart},get onnodedragstop(){return t.onnodedragstop},get store(){return M},set store(V){M=V}}),b(q,ne)},$$slots:{default:!0}});var F=p(I,2);{let q=N(()=>!!(M.selectionRect&&M.selectionRectMode==="user")),Y=N(()=>M.selectionRect?.width),ne=N(()=>M.selectionRect?.height),ie=N(()=>M.selectionRect?.x),G=N(()=>M.selectionRect?.y);rm(F,{get isVisible(){return r(q)},get width(){return r(Y)},get height(){return r(ne)},get x(){return r(ie)},get y(){return r(G)}})}b(S,E)},$$slots:{default:!0}})},$$slots:{default:!0}});var U=p(z,2);z3(U,{get proOptions(){return t.proOptions},get position(){return t.attributionPosition}});var $=p(U,2);d3($,{get store(){return M}});var H=p($,2);jn(H,()=>t.children??cn),b(j,K)},$$slots:{default:!0}}),He()}var W3=new Set(["$$slots","$$events","$$legacy","target","children"]),K3=O("<div><!></div>");function G3(e,t){Re(t,!0);let n=Ne(t,"target",3,"front"),s=ws(t,W3);var o=K3();ts(o,i=>({...s,[kr]:i}),[()=>({display:Yg().value?"none":void 0})]);var a=f(o);jn(a,()=>t.children??cn),On(o,(i,l)=>Ug?.(i,l),()=>`viewport-${n()}`),b(e,o),He()}var U3=new Set(["$$slots","$$events","$$legacy","class","bgColor","bgColorHover","color","colorHover","borderColor","onclick","children"]),Y3=O("<button><!></button>");function yi(e,t){let n=ws(t,U3);var s=Y3();ts(s,()=>({type:"button",onclick:t.onclick,class:["svelte-flow__controls-button",t.class],...n,[kr]:{"--xy-controls-button-background-color-props":t.bgColor,"--xy-controls-button-background-color-hover-props":t.bgColorHover,"--xy-controls-button-color-props":t.color,"--xy-controls-button-color-hover-props":t.colorHover,"--xy-controls-button-border-color-props":t.borderColor}}));var o=f(s);jn(o,()=>t.children??cn),b(e,s)}var X3=tn('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path d="M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"></path></svg>');function Z3(e){var t=X3();b(e,t)}var Q3=tn('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 5"><path d="M0 0h32v4.2H0z"></path></svg>');function J3(e){var t=Q3();b(e,t)}var eC=tn('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 30"><path d="M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"></path></svg>');function tC(e){var t=eC();b(e,t)}var nC=tn('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25 32"><path d="M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"></path></svg>');function rC(e){var t=nC();b(e,t)}var sC=tn('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25 32"><path d="M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"></path></svg>');function oC(e){var t=sC();b(e,t)}var aC=new Set(["$$slots","$$events","$$legacy","position","orientation","showZoom","showFitView","showLock","style","class","buttonBgColor","buttonBgColorHover","buttonColor","buttonColorHover","buttonBorderColor","fitViewOptions","children","before","after"]),iC=O("<!> <!>",1),lC=O("<!> <!> <!> <!> <!> <!>",1);function ql(e,t){Re(t,!0);let n=Ne(t,"position",3,"bottom-left"),s=Ne(t,"orientation",3,"vertical"),o=Ne(t,"showZoom",3,!0),a=Ne(t,"showFitView",3,!0),i=Ne(t,"showLock",3,!0),l=ws(t,aC),c=N(Ho);const d=N(()=>({bgColor:t.buttonBgColor,bgColorHover:t.buttonBgColorHover,color:t.buttonColor,colorHover:t.buttonColorHover,borderColor:t.buttonBorderColor}));let u=N(()=>r(c).nodesDraggable||r(c).nodesConnectable||r(c).elementsSelectable),h=N(()=>r(c).viewport.zoom<=r(c).minZoom),v=N(()=>r(c).viewport.zoom>=r(c).maxZoom),y=N(()=>r(c).ariaLabelConfig),g=N(()=>s()==="horizontal"?"horizontal":"vertical");const w=()=>{r(c).zoomIn()},k=()=>{r(c).zoomOut()},A=()=>{r(c).fitView(t.fitViewOptions)},L=()=>{let M=!r(u);r(c).nodesDraggable=M,r(c).nodesConnectable=M,r(c).elementsSelectable=M};{let M=N(()=>["svelte-flow__controls",r(g),t.class]);sm(e,fs({get class(){return r(M)},get position(){return n()},"data-testid":"svelte-flow__controls",get"aria-label"(){return r(y)["controls.ariaLabel"]},get style(){return t.style}},()=>l,{children:(D,j)=>{var W=lC(),K=xe(W);{var Z=F=>{var q=Tt(),Y=xe(q);jn(Y,()=>t.before),b(F,q)};B(K,F=>{t.before&&F(Z)})}var z=p(K,2);{var U=F=>{var q=iC(),Y=xe(q);yi(Y,fs({onclick:w,class:"svelte-flow__controls-zoomin",get title(){return r(y)["controls.zoomIn.ariaLabel"]},get"aria-label"(){return r(y)["controls.zoomIn.ariaLabel"]},get disabled(){return r(v)}},()=>r(d),{children:(ie,G)=>{Z3(ie)},$$slots:{default:!0}}));var ne=p(Y,2);yi(ne,fs({onclick:k,class:"svelte-flow__controls-zoomout",get title(){return r(y)["controls.zoomOut.ariaLabel"]},get"aria-label"(){return r(y)["controls.zoomOut.ariaLabel"]},get disabled(){return r(h)}},()=>r(d),{children:(ie,G)=>{J3(ie)},$$slots:{default:!0}})),b(F,q)};B(z,F=>{o()&&F(U)})}var $=p(z,2);{var H=F=>{yi(F,fs({class:"svelte-flow__controls-fitview",onclick:A,get title(){return r(y)["controls.fitView.ariaLabel"]},get"aria-label"(){return r(y)["controls.fitView.ariaLabel"]}},()=>r(d),{children:(q,Y)=>{tC(q)},$$slots:{default:!0}}))};B($,F=>{a()&&F(H)})}var x=p($,2);{var m=F=>{yi(F,fs({class:"svelte-flow__controls-interactive",onclick:L,get title(){return r(y)["controls.interactive.ariaLabel"]},get"aria-label"(){return r(y)["controls.interactive.ariaLabel"]}},()=>r(d),{children:(q,Y)=>{var ne=Tt(),ie=xe(ne);{var G=Q=>{oC(Q)},P=Q=>{rC(Q)};B(ie,Q=>{r(u)?Q(G):Q(P,-1)})}b(q,ne)},$$slots:{default:!0}}))};B(x,F=>{i()&&F(m)})}var S=p(x,2);{var T=F=>{var q=Tt(),Y=xe(q);jn(Y,()=>t.children),b(F,q)};B(S,F=>{t.children&&F(T)})}var E=p(S,2);{var I=F=>{var q=Tt(),Y=xe(q);jn(Y,()=>t.after),b(F,q)};B(E,F=>{t.after&&F(I)})}b(D,W)},$$slots:{default:!0}}))}He()}const Er=40,cC=74,ha=34,Sr=44,dC=230,$l=12,om=110,uC=7.81,fC=22,vC=4,hC=6,pC=.4,gC=5.9,mC=24;function am(e,t=""){return Math.max(om,e.length*uC+fC,t.length*gC+mC)}function Nu(e,t=!1){return t?he("map.islandMeta"):he("map.moduleMeta",e.symbols,e.files)}function im(e){return Math.min(6,1+Math.log2(Math.max(1,e))*.7)}function Zr(e){return`${e.source}\0${e.target}`}function jl(e,t){const n=e.modules.filter(P=>t.includeTests||!P.test),s=new Set(n.map(P=>P.id)),o=new Set(e.links.map(P=>P.target)),a=e.links.filter(P=>s.has(P.source)&&s.has(P.target)),i=t.minWeight??(t.includeTests?hC:vC),l=t.layerGap??cC,c=t.portPitch??0,d=t.ports==="directional",u=a.filter(P=>P.declared>0),h=a.length>0&&u.length>=a.length*pC,v=P=>h?P.declared:P.count,y=h?u:a,g=new Map(y.map(P=>[Zr(P),P])),w=[],k=[];for(const P of y){const Q=g.get(Zr({source:P.target,target:P.source}));if(!Q){w.push(P);continue}const V=v(P),X=v(Q);if(X>V||X===V&&P.source>P.target){k.push({forward:Q,back:P});continue}w.push(P)}const A=new Map(n.map(P=>[P.id,[]]));for(const P of w)A.get(P.source)?.push(P.target);for(const P of A.values())P.sort();const L=new Map;if(t.layering){for(const[P,Q]of t.layering(n.map(V=>V.id),w))L.set(P,Q);for(const P of n)L.has(P.id)||L.set(P.id,0)}else for(const P of n)lm(P.id,A,L,new Set);const M=Math.max(1,...[...L.values()].map(P=>P+1)),D=Array.from({length:M},()=>[]);for(const P of n)D[L.get(P.id)??0].push(P.id);const j=t.order;for(const P of D)P.sort(j?(Q,V)=>j(Q)-j(V)||Q.localeCompare(V):void 0);const W=new Map(n.map(P=>[P.id,[]]));for(const P of w)W.get(P.target)?.push(P.source),j||W.get(P.source)?.push(P.target);const K=new Map;for(const P of D)P.forEach((Q,V)=>K.set(Q,V));for(let P=0;P<3;P+=1)for(const Q of D){const V=new Map(Q.map(X=>[X,yC(X,W,K)]));Q.sort((X,le)=>{const se=V.get(X)??0,re=V.get(le)??0;return se!==re&&Number.isFinite(se-re)?se-re:se!==re?se<re?-1:1:(K.get(X)??0)-(K.get(le)??0)||(j?j(X)-j(le):0)||X.localeCompare(le)}),Q.forEach((X,le)=>K.set(X,le))}const Z=P=>{const Q=L.get(P.source)??0,V=L.get(P.target)??0;return Q>V?"down":Q<V?"up":"level"},z=P=>!d||P==="down"?{source:"bottom",target:"top"}:P==="up"?{source:"top",target:"bottom"}:{source:"top",target:"top"},U=new Map(n.map(P=>[P.id,{top:0,bottom:0}]));for(const P of a){const Q=z(Z(P));U.get(P.source)[Q.source]+=1,U.get(P.target)[Q.target]+=1}const $=new Set(n.filter(P=>!o.has(P.id)).map(P=>P.id)),H=new Map(n.map(P=>{const Q=$.has(P.id),V=t.sizing?.(P,Q)??{label:P.id,meta:Nu(P,Q)},X=U.get(P.id)??{top:0,bottom:0},le=(Math.max(X.top,X.bottom)+1)*c;return[P.id,Math.max(am(V.label,V.meta),le)]})),x=D.map(P=>P.reduce((Q,V)=>Q+(H.get(V)??0),0)),m=D.map((P,Q)=>(x[Q]??0)+Math.max(0,P.length-1)*ha),S=Math.max(1,...m),T=D.map((P,Q)=>Math.min(S,Math.max(m[Q]??0,P.length*dC))),E=S+Sr*2,I=M*(Er+l)-l+Sr*2,F=new Map,q=new Map(n.map(P=>[P.id,P]));D.forEach((P,Q)=>{const V=T[Q]??0,X=x[Q]??0,le=P.length>1?(V-X)/(P.length-1):0;let se=Sr+(S-V)/2+(P.length===1?(V-X)/2:0);const re=Sr+(M-1-Q)*(Er+l);for(const de of P){const ue=H.get(de)??om,fe=q.get(de);F.set(de,{id:de,module:fe,island:$.has(de),generated:fe.files>0&&fe.generated===fe.files,layer:Q,x:se,y:re,width:ue,height:Er,sourceHandles:[],targetHandles:[],ports:{top:[],bottom:[]}}),se+=ue+le}});const Y=[],ne=new Map;for(const P of a){const Q=F.get(P.source),V=F.get(P.target);if(!Q||!V)continue;const X=Zr(P),le=Z(P),se={id:X,source:P.source,target:P.target,sourceHandle:`s:${X}`,targetHandle:`t:${X}`,link:P,width:im(P.count),back:Q.layer<=V.layer,thin:P.count<i,route:le};Y.push(se);const re=z(le);(ne.get(P.source)??_v(ne,P.source))[re.source].push({id:X,type:"source",other:bv(F,P.target)}),(ne.get(P.target)??_v(ne,P.target))[re.target].push({id:X,type:"target",other:bv(F,P.source)})}const ie=(P,Q)=>P.other-Q.other||P.id.localeCompare(Q.id);for(const[P,Q]of ne){const V=F.get(P);V&&(Q.top.sort(ie),Q.bottom.sort(ie),V.ports={top:Q.top.map(X=>({id:X.id,type:X.type})),bottom:Q.bottom.map(X=>({id:X.id,type:X.type}))},V.sourceHandles=Q.bottom.filter(X=>X.type==="source").map(X=>X.id),V.targetHandles=Q.top.filter(X=>X.type==="target").map(X=>X.id))}const G=D.map((P,Q)=>({index:Q,y:Sr+(M-1-Q)*(Er+l)+Er/2,label:M===1?null:Q===M-1?he("map.layerEntry"):Q===0?he("map.layerFoundations"):null}));return{nodes:[...F.values()],edges:Y,layers:G,width:E,height:I,basis:{kind:h?"declared":"all",declaredLinks:u.length,totalLinks:a.length},minWeight:i,hiddenLinks:Y.filter(P=>P.thin||P.back).length,mutual:k.sort((P,Q)=>Q.back.count-P.back.count||P.back.source.localeCompare(Q.back.source)),moduleCycles:_C(n.map(P=>P.id),Y)}}function Au(e,t){return t!==null?e.source===t||e.target===t:!e.thin&&!e.back}function Id(e,t,n){const s=e.ports.top.findIndex(a=>a.id===t&&a.type===n);if(s>=0)return{x:e.x+e.width*(s+1)/(e.ports.top.length+1),y:e.y};const o=e.ports.bottom.findIndex(a=>a.id===t&&a.type===n);return o>=0?{x:e.x+e.width*(o+1)/(e.ports.bottom.length+1),y:e.y+e.height}:{x:e.x+e.width/2,y:n==="source"?e.y+e.height:e.y}}function _v(e,t){const n={top:[],bottom:[]};return e.set(t,n),n}function bv(e,t){const n=e.get(t);return n?n.x+n.width/2:0}function yC(e,t,n){const s=t.get(e)??[];if(s.length===0)return Number.POSITIVE_INFINITY;let o=0;for(const a of s)o+=n.get(a)??0;return o/s.length}function lm(e,t,n,s){const o=n.get(e);if(o!==void 0)return o;if(s.has(e))return 0;s.add(e);let a=0;for(const i of t.get(e)??[])a=Math.max(a,lm(i,t,n,s)+1);return s.delete(e),n.set(e,a),a}function _C(e,t){const n=new Map(e.map(u=>[u,[]]));for(const u of t)n.get(u.source)?.push(u.target);for(const u of n.values())u.sort();const s=new Map,o=new Map,a=new Set,i=[],l=[];let c=0;const d=u=>{s.set(u,c),o.set(u,c),c+=1,i.push(u),a.add(u);for(const h of n.get(u)??[])s.has(h)?a.has(h)&&o.set(u,Math.min(o.get(u)??0,s.get(h)??0)):(d(h),o.set(u,Math.min(o.get(u)??0,o.get(h)??0)));if(o.get(u)===s.get(u)){const h=[];for(;;){const v=i.pop();if(v===void 0||(a.delete(v),h.push(v),v===u))break}h.length>2&&l.push(h.sort())}};for(const u of[...e].sort())s.has(u)||d(u);return l.sort((u,h)=>h.length-u.length||(u[0]??"").localeCompare(h[0]??""))}var bC=O('<!> <button><span class="name svelte-1ymw5ah"> </span> <span> </span></button> <!>',1);function wC(e,t){Re(t,!0);const n=N(()=>t.data),s=N(()=>r(n).layout),o=N(()=>r(s).module);function a(k,A){return`left:${(k+1)/(A+1)*100}%`}var i=bC(),l=xe(i);Te(l,18,()=>r(s).targetHandles,k=>k,(k,A,L)=>{{let M=N(()=>`t:${A}`),D=N(()=>a(r(L),r(s).targetHandles.length));Rn(k,{type:"target",get id(){return r(M)},get position(){return et.Top},get style(){return r(D)},isConnectable:!1})}});var c=p(l,2);let d;var u=f(c),h=f(u),v=p(u,2);let y;var g=f(v),w=p(c,2);Te(w,18,()=>r(s).sourceHandles,k=>k,(k,A,L)=>{{let M=N(()=>`s:${A}`),D=N(()=>a(r(L),r(s).sourceHandles.length));Rn(k,{type:"source",get id(){return r(M)},get position(){return et.Bottom},get style(){return r(D)},isConnectable:!1})}}),C(k=>{d=De(c,1,"mnode svelte-1ymw5ah",null,d,{sel:r(n).selected,dimmed:r(n).dimmed,test:r(o).test,gen:r(s).generated}),ht(c,`width:${r(s).width}px;height:${r(s).height}px`),ae(c,"aria-pressed",r(n).selected),ae(c,"title",`${r(o).id} — ${r(o).symbols} symbols in ${r(o).files} file${r(o).files===1?"":"s"}${r(s).island?". Nothing in the index depends on it.":""}${r(s).generated?". Every file in it is tool-generated.":""}`),_(h,r(o).id),y=De(v,1,"count svelte-1ymw5ah",null,y,{island:r(s).island}),_(g,k)},[()=>Nu(r(o),r(s).island)]),Ce("click",c,()=>r(n).onSelect(r(s).id)),b(e,i),He()}Mt(["click"]);var xC=tn('<!><path class="hit svelte-wy6r9a" role="presentation"></path>',1);function kC(e,t){const n=N(()=>t.data),s=N(()=>{const l=(t.sourceY+t.targetY)/2;return`M${t.sourceX},${t.sourceY} C${t.sourceX},${l} ${t.targetX},${l} ${t.targetX},${t.targetY}`});var o=xC(),a=xe(o);{let l=N(()=>`medge${r(n).edge.back?" back":""}${r(n).hot?" hot":""}${r(n).dimmed?" dimmed":""}`),c=N(()=>`stroke-width:${r(n).edge.width}px`);Js(a,{get path(){return r(s)},get class(){return r(l)},get style(){return r(c)}})}var i=p(a);C(()=>ae(i,"d",r(s))),Ce("mousemove",i,l=>r(n).onHover(r(n).edge,l)),st("mouseleave",i,()=>r(n).onHover(null,null)),b(e,o)}Mt(["mousemove"]);const EC=2;function SC(e){return`data:image/svg+xml;charset=utf-8,${encodeURIComponent(e)}`}function TC(e){const t=Number(/\bwidth="(\d+(?:\.\d+)?)"/.exec(e)?.[1]??0),n=Number(/\bheight="(\d+(?:\.\d+)?)"/.exec(e)?.[1]??0);return{width:Math.max(1,Math.round(t)),height:Math.max(1,Math.round(n))}}function CC(e){return new Promise((t,n)=>{const s=new Image;s.onload=()=>t(s),s.onerror=()=>n(new Error("The image could not be rendered.")),s.src=e})}async function MC(e){const{width:t,height:n}=TC(e),s=await CC(SC(e)),o=document.createElement("canvas");o.width=t,o.height=n;const a=o.getContext("2d");if(a===null)throw new Error("This browser would not give up a 2D canvas.");return a.drawImage(s,0,0,t,n),await new Promise((i,l)=>{o.toBlob(c=>c?i(c):l(new Error("The image could not be encoded.")),"image/png")})}function cm(e,t){const n=URL.createObjectURL(e),s=document.createElement("a");s.href=n,s.download=t,document.body.appendChild(s),s.click(),s.remove(),setTimeout(()=>URL.revokeObjectURL(n),1e4)}function NC(e,t){cm(new Blob([e],{type:"image/svg+xml;charset=utf-8"}),t)}async function AC(e,t){if(typeof navigator.clipboard?.write=="function"&&typeof ClipboardItem=="function")try{return await navigator.clipboard.write([new ClipboardItem({"image/png":e()})]),"copied"}catch{}return cm(await e(),t),"downloaded"}var IC=O('<div class="exp svelte-14ndwen"><button type="button" class="svelte-14ndwen"> </button> <button type="button" class="svelte-14ndwen"> </button></div>');function dm(e,t){Re(t,!0);const n=()=>Ct(Lt,"$t",s),[s,o]=Pt();let a=Ne(t,"disabled",3,!1),i=ve(!1);async function l(){if(!r(i)){R(i,!0);try{const g=await AC(()=>MC(t.build(EC)),`${t.filename}.png`);gs.show(he(g==="copied"?"export.copied":"export.clipboardFallback"))}catch(g){gs.show(g instanceof Error?g.message:he("export.imageFail"))}finally{R(i,!1)}}}function c(){try{NC(t.build(1),`${t.filename}.svg`),gs.show(he("export.svgSaved"))}catch(g){gs.show(g instanceof Error?g.message:he("export.saveFail"))}}var d=IC(),u=f(d),h=f(u),v=p(u,2),y=f(v);C((g,w)=>{u.disabled=a()||r(i),_(h,g),v.disabled=a(),_(y,w)},[()=>r(i)?n()("export.rendering"):n()("export.copyImage"),()=>n()("export.downloadSvg")]),Ce("click",u,l),Ce("click",v,c),b(e,d),He(),o()}Mt(["click"]);var PC=O('<div class="pair svelte-dzmqqy"><b class="svelte-dzmqqy"> </b> <span> </span></div>'),wv=O('<div class="pair dim svelte-dzmqqy"> </div>'),LC=O('<div class="pair label svelte-dzmqqy"> </div> <!>',1),OC=O("<option> </option>"),_i=O('<p class="dim svelte-dzmqqy"> </p>'),DC=O('<div class="cyc svelte-dzmqqy"><b class="svelte-dzmqqy"> </b> <span class="dim svelte-dzmqqy"> </span></div>'),Oc=O('<div class="cyc dim svelte-dzmqqy"> </div>'),xv=O('<details class="svelte-dzmqqy"><summary class="svelte-dzmqqy"> <span class="dim svelte-dzmqqy"> </span></summary> <!> <!></details>'),RC=O('<div class="cyc svelte-dzmqqy"> </div>'),HC=O('<details class="svelte-dzmqqy"><summary class="svelte-dzmqqy"> <span class="dim svelte-dzmqqy"> </span></summary> <!></details>'),zC=O('<a class="filerow svelte-dzmqqy"> </a>'),FC=O('<div class="cyc svelte-dzmqqy"><span class="dim svelte-dzmqqy"> </span> </div> <!> <!>',1),qC=O('<p class="island svelte-dzmqqy"> </p>'),$C=O("<a> </a>"),jC=O('<div class="edgeinfo svelte-dzmqqy"><div class="head svelte-dzmqqy"><b class="mono svelte-dzmqqy"> </b> <button class="clear svelte-dzmqqy"> </button></div> <p class="svelte-dzmqqy"> <!> <!></p> <!> <!> <!> <div class="pair label svelte-dzmqqy"> </div> <!></div>'),BC=O('<div class="edgeinfo svelte-dzmqqy"><p class="dim svelte-dzmqqy"> </p></div>'),VC=O('<aside class="mapside svelte-dzmqqy"><h2 class="svelte-dzmqqy"> </h2> <p class="svelte-dzmqqy"> </p> <!> <label class="field svelte-dzmqqy"><span> </span> <select class="svelte-dzmqqy"></select></label> <label class="toggle svelte-dzmqqy"><input type="checkbox" class="svelte-dzmqqy"/> </label> <div class="notes svelte-dzmqqy"><!> <!> <!></div> <!> <!> <!> <!></aside>');function WC(e,t){Re(t,!0);const n=()=>Ct(Lt,"$t",s),[s,o]=Pt(),a=(V,X=cn,le=cn,se=cn)=>{var re=LC(),de=xe(re),ue=f(de),fe=p(de,2);{var te=ce=>{var J=Tt(),oe=xe(J);Te(oe,17,le,be=>be.source+be.target,(be,_e)=>{var Ie=PC(),pe=f(Ie),me=f(pe),Se=p(pe,2),Me=f(Se);C(()=>{_(me,se()==="target"?r(_e).target:r(_e).source),_(Me,r(_e).count)}),b(be,Ie)}),b(ce,J)},ee=ce=>{var J=wv(),oe=f(J);C(be=>_(oe,be),[()=>n()("map.nothing")]),b(ce,J)};B(fe,ce=>{le().length>0?ce(te):ce(ee,-1)})}C(()=>_(ue,X())),b(V,re)},i=N(()=>t.selected===null?null:t.layout.nodes.find(V=>V.id===t.selected)??null),l=N(()=>r(i)?.module??null),c=N(()=>new Set(r(l)?.generatedFiles??[])),d=N(()=>t.selected===null?[]:t.layout.edges.filter(V=>V.source===t.selected).map(V=>V.link).sort((V,X)=>X.count-V.count||V.target.localeCompare(X.target))),u=N(()=>t.selected===null?[]:t.layout.edges.filter(V=>V.target===t.selected).map(V=>V.link).sort((V,X)=>X.count-V.count||V.source.localeCompare(X.source))),h=N(()=>t.layout.edges.filter(V=>V.thin&&!V.back).length);var v=VC(),y=f(v),g=f(y),w=p(y,2),k=f(w),A=p(w,2);dm(A,{get build(){return t.buildSvg},get filename(){return t.exportName}});var L=p(A,2),M=f(L),D=f(M),j=p(M,2);Te(j,21,()=>t.payload.roots,V=>V.root,(V,X)=>{var le=OC(),se=f(le),re={};C(de=>{_(se,`${r(X).label??""} · ${de??""}`),re!==(re=r(X).root)&&(le.value=(le.__value=r(X).root)??"")},[()=>n()("map.optionFiles",r(X).files)]),b(V,le)});var W;Sl(j);var K=p(L,2),Z=f(K),z=p(Z),U=p(K,2),$=f(U);{var H=V=>{var X=_i(),le=f(X);C(se=>_(le,se),[()=>n()("map.thinLinks",r(h),t.layout.minWeight)]),b(V,X)};B($,V=>{r(h)>0&&V(H)})}var x=p($,2);{var m=V=>{var X=_i(),le=f(X);C(se=>_(le,se),[()=>n()("map.layeringDeclared",t.layout.basis.declaredLinks,t.layout.basis.totalLinks)]),b(V,X)},S=V=>{var X=_i(),le=f(X);C(se=>_(le,se),[()=>n()("map.layeringRaw")]),b(V,X)};B(x,V=>{t.layout.basis.kind==="declared"?V(m):V(S,-1)})}var T=p(x,2);{var E=V=>{var X=_i(),le=f(X);C(se=>_(le,se),[()=>n()("map.excludedUncertain",t.payload.excluded.uncertainEdges,t.payload.excluded.confidenceBelow)]),b(V,X)};B(T,V=>{t.payload.excluded.uncertainEdges>0&&V(E)})}var I=p(U,2);{var F=V=>{var X=xv(),le=f(X),se=f(le),re=p(se),de=f(re),ue=p(le,2);Te(ue,17,()=>t.layout.mutual.slice(0,8),ee=>ee.back.source+ee.back.target,(ee,ce)=>{var J=DC(),oe=f(J),be=f(oe),_e=p(oe),Ie=p(_e),pe=f(Ie);C(me=>{_(be,r(ce).back.source),_(_e,` ⇄ ${r(ce).back.target??""} `),_(pe,me)},[()=>n()("map.backRefs",r(ce).back.count)]),b(ee,J)});var fe=p(ue,2);{var te=ee=>{var ce=Oc(),J=f(ce);C(oe=>_(J,oe),[()=>n()("map.more",t.layout.mutual.length-8)]),b(ee,ce)};B(fe,ee=>{t.layout.mutual.length>8&&ee(te)})}C((ee,ce)=>{_(se,`${ee??""} `),_(de,ce)},[()=>n()("map.mutual"),()=>n()("map.mutualHint",t.layout.mutual.length)]),b(V,X)};B(I,V=>{t.layout.mutual.length>0&&V(F)})}var q=p(I,2);{var Y=V=>{var X=HC(),le=f(X),se=f(le),re=p(se),de=f(re),ue=p(le,2);Te(ue,17,()=>t.layout.moduleCycles.slice(0,6),nr,(fe,te)=>{var ee=RC(),ce=f(ee);C(J=>_(ce,`${J??""} → ${r(te)[0]??""}`),[()=>r(te).join(" → ")]),b(fe,ee)}),C((fe,te)=>{_(se,`${fe??""} `),_(de,te)},[()=>n()("map.cycles"),()=>n()("map.cyclesHint",t.layout.moduleCycles.length)]),b(V,X)};B(q,V=>{t.layout.moduleCycles.length>0&&V(Y)})}var ne=p(q,2);{var ie=V=>{var X=xv(),le=f(X),se=f(le),re=p(se),de=f(re),ue=p(le,2);Te(ue,17,()=>t.payload.cycles.items.slice(0,6),nr,(ee,ce)=>{var J=FC(),oe=xe(J),be=f(oe),_e=f(be),Ie=p(be),pe=p(oe,2);Te(pe,16,()=>r(ce).files,Me=>Me,(Me,ze)=>{var Ue=zC(),$e=f(Ue);C(Ye=>{ae(Ue,"href",Ye),_($e,ze)},[()=>hn(ze)]),b(Me,Ue)});var me=p(pe,2);{var Se=Me=>{var ze=Oc(),Ue=f(ze);C($e=>_(Ue,$e),[()=>n()("map.moreFilesInGroup",r(ce).size-r(ce).files.length)]),b(Me,ze)};B(me,Me=>{r(ce).size>r(ce).files.length&&Me(Se)})}C((Me,ze)=>{_(_e,Me),_(Ie,` ${ze??""}`)},[()=>n()("map.groupFiles",r(ce).size),()=>r(ce).modules.join(", ")]),b(ee,J)});var fe=p(ue,2);{var te=ee=>{var ce=Oc(),J=f(ce);C(oe=>_(J,oe),[()=>n()("map.moreGroups",t.payload.cycles.total-t.payload.cycles.shown)]),b(ee,ce)};B(fe,ee=>{t.payload.cycles.truncated&&ee(te)})}C((ee,ce)=>{_(se,`${ee??""} `),_(de,ce)},[()=>n()("map.circularImports"),()=>n()("map.groups",t.payload.cycles.total)]),b(V,X)};B(ne,V=>{t.payload.cycles.total>0&&V(ie)})}var G=p(ne,2);{var P=V=>{var X=jC(),le=f(X),se=f(le),re=f(se),de=p(se,2),ue=f(de),fe=p(le,2),te=f(fe),ee=p(te);{var ce=$e=>{var Ye=xt();C(at=>_(Ye,`· ${at??""}`),[()=>r(l).languages.map(at=>`${at.language} ${at.files}`).join(", ")]),b($e,Ye)};B(ee,$e=>{r(l).languages.length>0&&$e(ce)})}var J=p(ee,2);{var oe=$e=>{var Ye=xt();C(at=>_(Ye,`· ${at??""}`),[()=>r(l).generated===r(l).files?n()("map.allGenerated"):n()("map.nGenerated",r(l).generated)]),b($e,Ye)};B(J,$e=>{r(l).generated>0&&$e(oe)})}var be=p(fe,2);{var _e=$e=>{var Ye=qC(),at=f(Ye);C(pt=>_(at,pt),[()=>n()("map.island")]),b($e,Ye)};B(be,$e=>{r(i)?.island&&$e(_e)})}var Ie=p(be,2);{let $e=N(()=>n()("map.dependsOn"));a(Ie,()=>r($e),()=>r(d),()=>"target")}var pe=p(Ie,2);{let $e=N(()=>n()("map.dependedOnBy"));a(pe,()=>r($e),()=>r(u),()=>"source")}var me=p(pe,2),Se=f(me),Me=p(me,2);{var ze=$e=>{var Ye=Tt(),at=xe(Ye);Te(at,16,()=>t.files,pt=>pt,(pt,Ot)=>{var Nt=$C();let ye;var ge=f(Nt);C((ke,Ee,je)=>{ye=De(Nt,1,"filerow svelte-dzmqqy",null,ye,ke),ae(Nt,"href",Ee),ae(Nt,"title",je),_(ge,Ot)},[()=>({gen:r(c).has(Ot)}),()=>hn(Ot),()=>r(c).has(Ot)?n()("map.generatedTitle",Ot):Ot]),b(pt,Nt)}),b($e,Ye)},Ue=$e=>{var Ye=wv(),at=f(Ye);C(pt=>_(at,pt),[()=>n()("map.noFiles")]),b($e,Ye)};B(Me,$e=>{t.files.length>0?$e(ze):$e(Ue,-1)})}C(($e,Ye,at)=>{_(re,r(l).id),_(ue,$e),_(te,`${Ye??""} `),_(Se,at)},[()=>n()("map.clear"),()=>n()("map.modStats",r(l).symbols,r(l).files),()=>n()("map.files")]),Ce("click",de,()=>t.onSelect(null)),b(V,X)},Q=V=>{var X=BC(),le=f(X),se=f(le);C(re=>_(se,re),[()=>n()("map.hover")]),b(V,X)};B(G,V=>{r(l)?V(P):V(Q,-1)})}C((V,X,le,se)=>{_(g,V),_(k,X),_(D,le),W!==(W=t.payload.root)&&(j.value=(j.__value=t.payload.root)??"",wo(j,t.payload.root)),yp(Z,t.includeTests),_(z,` ${se??""}`)},[()=>n()("map.title"),()=>n()("map.desc"),()=>n()("mapShowing"),()=>n()("map.includeTests")]),Ce("change",j,V=>t.onSelectRoot(V.currentTarget.value)),Ce("change",Z,V=>t.onToggleTests(V.currentTarget.checked)),b(e,v),He(),o()}Mt(["change","click"]);const KC=380,GC=86,UC=6.65,YC=18,Hs=35,vl=19,Iu=12,XC=vl+Iu,kv=24,bi=32;function ZC(e){const t=e.source?.lines?.length??0,n=t>0?t*vl+Iu:XC;return Hs+n}const QC=240,ba=12,lr=17.4,wa=18,As=8,JC=32;function ls(e){return Math.max(1,Math.ceil(e.length/JC))}function Pu(e){const t=e.sites.map(s=>{const o=[];return s.key===null&&o.push(he("flowBoundarySiteRuntimeKey")),s.moreSites>0&&o.push(he("flowBoundarySiteMore",s.moreSites)),{headline:he("flowBoundarySiteHeadline",s.label,s.line),key:s.key,notes:o,candidates:s.candidates,candidateHeading:s.candidates.length>0?he("flowBoundaryCandidateHeading",s.candidates.length):null,candidateNote:s.candidateNote}}),n=e.missed.map(s=>s.name);return{intro:e.sites.length>0?he("flowBoundaryIntro",e.node.name):he("flowBoundaryLast",e.node.name),sites:t,quiet:e.sites.length>0?null:he("flowBoundaryQuiet"),uncertainHeading:e.uncertain.total>0?he("flowBoundaryUncertain",e.uncertain.total):null,uncertain:e.uncertain.items,further:e.further.total>0?he("flowBoundaryFurther",e.further.total):null,missed:n.length>0?he("flowBoundaryMissed",n):null}}function eM(e){const t=Pu(e);let n=ba*2;n+=ls(`${he("flowBoundaryLead")} ${t.intro}`)*lr;for(const s of t.sites){n+=As,n+=ls(s.headline)*lr,s.key!==null&&(n+=wa);for(const o of s.notes)n+=ls(o)*lr;s.candidateHeading!==null?n+=lr+s.candidates.length*wa:s.candidateNote!==null&&(n+=ls(s.candidateNote)*lr)}return t.quiet!==null&&(n+=As+ls(t.quiet)*lr),t.uncertainHeading!==null&&(n+=As+ls(t.uncertainHeading)*lr,n+=t.uncertain.length*wa),t.further!==null&&(n+=As+ls(t.further)*lr),t.missed!==null&&(n+=As+ls(t.missed)*lr),Math.round(n)}function tM(e){return e.synthesized?"5 3":e.uncertain?"2 3":null}const nM="2 4",rM=e=>`cap:${e}`,um=e=>e.startsWith("cap:"),Ev=e=>um(e)?e.slice(4):e,Sv=26;function sM(e){return e.replace(/[\w.@$/\\-]+[/\\]([\w.$-]+:\d+)/g,"$1")}function oM(e){return sM(e.label).split(" · ").map(t=>t.trim()).filter(Boolean).map(t=>t.length>Sv?`${t.slice(0,Sv-1)}…`:t)}function aM(e){return typeof e.line=="number"&&e.line>0?he("flowBoundaryLine",e.line):null}function iM(e,t){const n=e.find(x=>x.id===t)??e[0]??null,s=new Map;n?.hops.forEach((x,m)=>s.set(x.node.id,m));const o=new Map,a=new Map,i=new Map,l=new Map;let c=0;for(const x of e)for(let m=0;m<x.hops.length;m++){const S=x.hops[m],T=S.node.id,E=o.get(T);E?E.flows.includes(x.id)||E.flows.push(x.id):(o.set(T,{hop:S,flows:[x.id],order:c++}),l.set(T,0),i.set(T,new Set));const I=x.hops[m-1];if(!I||S.edge===null)continue;const F=I.node.id,q=`${F} ${T}`,Y=a.get(q);if(Y){Y.flows.includes(x.id)||Y.flows.push(x.id);continue}a.set(q,{source:F,target:T,edge:S.edge,flows:[x.id]});const ne=i.get(F);ne&&!ne.has(T)&&(ne.add(T),l.set(T,(l.get(T)??0)+1))}if(o.size===0)return{cards:[],endCaps:[],links:[],width:0,height:0,columns:0,gaps:[]};const d=new Map;for(const x of o.keys())d.set(x,0);const u=new Map(l),h=[...o.keys()].filter(x=>(u.get(x)??0)===0),v=new Set;for(;h.length>0;){const x=h.shift();v.add(x);for(const m of i.get(x)??[]){d.set(m,Math.max(d.get(m)??0,(d.get(x)??0)+1));const S=(u.get(m)??0)-1;u.set(m,S),S===0&&h.push(m)}}for(const x of o.keys()){if(v.has(x))continue;let m=0;for(const[S,T]of i)T.has(x)&&(m=Math.max(m,(d.get(S)??0)+1));d.set(x,m)}const y=new Map;for(const x of e){const m=x.boundary;if(!m||!o.has(m.node.id))continue;const S=y.get(m.node.id);S?S.flows.includes(x.id)||S.flows.push(x.id):y.set(m.node.id,{boundary:m,flows:[x.id]})}const g=new Map;for(const[x,m]of o)g.set(x,{id:x,width:KC,height:ZC(m.hop),rank:m.order,onActive:s.has(x)});const w=new Map;let k=o.size;for(const[x,m]of y){const S=rM(x);w.set(S,(d.get(x)??0)+1),g.set(S,{id:S,width:QC,height:eM(m.boundary),rank:k++,onActive:s.has(x)})}const A=x=>w.get(x)??d.get(x)??0,L=new Map;for(const x of g.keys()){const m=A(x),S=L.get(m);S?S.push(x):L.set(m,[x])}for(const x of L.values())x.sort((m,S)=>{const T=g.get(m).onActive?0:1,E=g.get(S).onActive?0:1;return T!==E?T-E:g.get(m).rank-g.get(S).rank});const M=Math.max(...L.keys())+1,D=[...a.entries()].map(([x,m])=>({key:x,link:m,lines:oM(m.edge),lineLabel:aM(m.edge)})),j=Array.from({length:Math.max(0,M-1)},()=>GC);for(const{link:x,lines:m,lineLabel:S}of D){const T=d.get(x.source)??0;if(T<0||T>=j.length)continue;const E=Math.max(0,...m.map(I=>I.length),S?.length??0);j[T]=Math.max(j[T],Math.ceil(E*UC)+YC)}const W=Array.from({length:M},()=>0);for(const[x,m]of L)W[x]=Math.max(...m.map(S=>g.get(S).width));const K=[bi];for(let x=1;x<M;x++)K[x]=K[x-1]+W[x-1]+j[x-1];const Z=new Map;for(const[x,m]of L)Z.set(x,m.reduce((S,T)=>S+g.get(T).height,0)+kv*(m.length-1));const z=Math.max(...Z.values()),U=new Map,$=[];for(const[x,m]of L){let S=bi+(z-(Z.get(x)??0))/2;for(const T of m){const E=g.get(T),I=y.get(Ev(T));if(I&&um(T))$.push({id:T,anchorId:Ev(T),boundary:I.boundary,x:K[x],y:S,width:E.width,height:E.height,column:x,flows:I.flows});else{const F=o.get(T);U.set(T,{id:T,hop:F.hop,x:K[x],y:S,width:E.width,height:E.height,column:x,flows:F.flows,step:s.get(T)??-1,stopLine:y.get(T)?.boundary.sites[0]?.line??null})}S+=E.height+kv}}const H=D.map(({link:x,lines:m,lineLabel:S})=>({id:`${x.source}->${x.target}`,source:x.source,target:x.target,edge:x.edge,flows:x.flows,label:x.edge.label,labelLines:m,lineLabel:S,dash:tM(x.edge),cap:!1}));for(const x of $){const m=he("flowBoundaryEndLabel");H.push({id:`${x.anchorId}->${x.id}`,source:x.anchorId,target:x.id,edge:null,flows:x.flows,label:m,labelLines:ru()?[m]:["end of","static path"],lineLabel:null,dash:nM,cap:!0})}return{cards:[...U.values()].sort((x,m)=>x.column-m.column||x.y-m.y),endCaps:$.sort((x,m)=>x.column-m.column||x.y-m.y),links:H,width:K[M-1]+W[M-1]+bi,height:bi*2+z,columns:M,gaps:j}}const vt={paper:"#f7f6f2",press:"#e8e6dd",ink:"#16150f",ink2:"#56544a",ink3:"#87847a",ink4:"#b4b1a5",ruleSoft:"#d6d3c8",ruleFaint:"#e6e3d9",accent:"#7a2230",accentSoft:"#f0e3e5",accentLine:"#d9b3b9",codeComment:"#6a675d"},ur="'IBM Plex Mono', ui-monospace, 'SF Mono', Menlo, Consolas, monospace",Lu="'Archivo Variable', 'Archivo', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, sans-serif",cs=24,lM=14,Qo=11,Tv="CodeGraph",Bl=.6,Ou=.53,Ri=(e,t)=>e*t*Bl;function Qn(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function cM(e){const t=[`x="${ot(e.x)}"`,`y="${ot(e.y)}"`,`font-family="${e.family??Lu}"`,`font-size="${e.size}"`,`fill="${e.fill}"`];return e.weight&&e.weight!==400&&t.push(`font-weight="${e.weight}"`),e.anchor&&e.anchor!=="start"&&t.push(`text-anchor="${e.anchor}"`),e.preserve&&t.push('xml:space="preserve"'),`<text ${t.join(" ")}>`}function qn(e,t){return`${cM(e)}${t}</text>`}function ot(e){return Math.round(e*10)/10}function $s(e,t,n,s,o={}){const a=[`x="${ot(e)}"`,`y="${ot(t)}"`,`width="${ot(n)}"`,`height="${ot(s)}"`,`fill="${o.fill??"none"}"`];return o.stroke&&(a.push(`stroke="${o.stroke}"`,`stroke-width="${o.strokeWidth??1}"`),o.dash&&a.push(`stroke-dasharray="${o.dash}"`)),`<rect ${a.join(" ")} />`}function Io(e,t,n,s=Bl){const o=n*s,a=Math.floor(t/o);return a>=e.length?e:a<=1?e.slice(0,Math.max(0,a)):`${e.slice(0,a-1)}…`}function dM(e,t){const n=e.split(/\s+/).filter(Boolean);if(n.length===0)return[""];const s=[];let o="";for(const a of n)o.length===0?o=a:o.length+1+a.length<=t?o=`${o} ${a}`:(s.push(o),o=a);return s.push(o),s}function fm(e,t,n,s){const o=s.scale??1,a=lM+Qo,i=Math.max(1,Math.round(e.width+cs*2)),l=Math.max(1,Math.round(e.height+cs*2+a)),c=l-cs,d=s.caption==null||s.caption===""?"":qn({x:cs,y:c,size:Qo,fill:vt.ink3,family:ur},Qn(Io(s.caption,i-cs*2-Ri(Tv.length+3,Qo),Qo)));return[`<svg xmlns="http://www.w3.org/2000/svg" width="${Math.round(i*o)}" height="${Math.round(l*o)}" viewBox="0 0 ${i} ${l}" font-family="${Lu}">`,t===""?"":`<defs>${t}</defs>`,$s(0,0,i,l,{fill:vt.paper}),`<g transform="translate(${ot(cs-e.minX)},${ot(cs-e.minY)})">`,n,"</g>",d,qn({x:i-cs,y:c,size:Qo,fill:vt.ink3,family:ur,anchor:"end"},Tv),"</svg>"].filter(Boolean).join(`
11
+ `)}const Jo=12,ea=16,uM=9,Cv=21.5,Mv=13,Nv=11,Dc=40,fM=6,so=12,ta=13.5,vM=11,Av=11;function Iv(e){return{right:[e.x+e.width,e.y+e.height/2],left:[e.x,e.y+e.height/2]}}function hM(e,t,n){const s=e.hop,o=s.source,a=[],i=`c${e.column}-${Math.round(e.y)}`;a.push($s(e.x,e.y,e.width,e.height,{fill:vt.paper,stroke:n?vt.accent:vt.ruleSoft}));const l=Cp(s.node.kind),c=e.x+Jo,d=e.y+uM;if(a.push($s(c,d,ea,ea,{fill:Tp.has(s.node.kind)?vt.press:"none",stroke:vt.ink3,dash:s.node.kind==="file"?"2 2":void 0})),l!==""){const W=l.length>1?8.5:9.5;a.push(qn({x:c+ea/2,y:d+ea/2+W*.36,size:W,fill:vt.ink2,family:ur,weight:500,anchor:"middle"},Qn(l)))}const u=`${Cn(s.node.file)}:${s.node.line}`,h=Ri(u.length,Nv),v=c+ea+8,y=e.x+e.width-Jo-h-8-v;a.push(qn({x:v,y:e.y+Cv,size:Mv,fill:vt.ink,family:ur,weight:600},Qn(Io(s.node.name,y,Mv))),qn({x:e.x+e.width-Jo,y:e.y+Cv,size:Nv,fill:vt.ink3,family:ur,anchor:"end"},Qn(u)),`<line x1="${ot(e.x)}" y1="${ot(e.y+Hs)}" x2="${ot(e.x+e.width)}" y2="${ot(e.y+Hs)}" stroke="${vt.ruleFaint}" stroke-width="1" />`);const g=o?.lines??[];if(g.length===0){const W=o?.drift?"Changed on disk after the last index sync — source is not shown.":o?.reason??"Source outside this slice or this index.";return a.push(qn({x:e.x+Jo,y:e.y+Hs+6+ta,size:so,fill:vt.ink3},Qn(Io(W,e.width-Jo*2,so,Ou)))),`<g${t?' opacity="0.4"':""}>${a.join("")}</g>`}const w=new Map,k=s.callRef;k&&w.set(k.line,[{ident:k.name,col:k.col,targetId:k.targetId,uncertain:!1,outside:!1,title:""}]);const A=Nl(g,o?.from??1,o?.highlight),L=e.x+Dc,M=e.width-Dc-fM,D=Math.floor(M/(so*Bl)),j=[];return g.forEach((W,K)=>{const Z=(o?.from??1)+K,z=e.y+Hs+Iu/2+K*vl,U=A.get(Z)??[{cls:"other",text:W,col:0}],$=Ml(U,w.get(Z)??[]);(Z===k?.line||Z===e.stopLine)&&j.push($s(e.x,z,e.width,vl,{fill:vt.accentSoft})),j.push(qn({x:e.x+Dc-10,y:z+ta,size:vM,fill:vt.ink4,family:ur,anchor:"end"},String(Z)));const H=[];let x=0,m=null;if(U.forEach((S,T)=>{if(x>=D)return;const E=D-x,F=S.text.length>E?`${S.text.slice(0,Math.max(0,E-1))}…`:S.text,q=$.get(T)??null;q&&(m={from:x,length:F.length}),H.push(pM(F,S,q!==null)),x+=S.text.length}),j.push(qn({x:L,y:z+ta,size:so,fill:vt.ink,family:ur,preserve:!0},H.join(""))),m!==null){const S=m,T=L+Ri(S.from,so);j.push(`<line x1="${ot(T)}" y1="${ot(z+ta+3)}" x2="${ot(T+Ri(S.length,so))}" y2="${ot(z+ta+3)}" stroke="${vt.accentLine}" stroke-width="1" />`)}}),a.push(`<g clip-path="url(#${i})">${j.join("")}</g>`),`<g${t?' opacity="0.4"':""}>${a.join("")}</g>`}function pM(e,t,n){if(e==="")return"";const s=Qn(e);if(n)return`<tspan fill="${vt.accent}">${s}</tspan>`;switch(t.cls){case"comment":return`<tspan fill="${vt.codeComment}">${s}</tspan>`;case"string":case"number":return`<tspan fill="${vt.ink2}">${s}</tspan>`;case"keyword":return`<tspan font-weight="500">${s}</tspan>`;default:return`<tspan>${s}</tspan>`}}const gM=32,Rc=26;function vm(e){const t=Pu(e.boundary),n=[],s=(a,i,l=!1,c=gM)=>{dM(a,c).forEach((d,u)=>n.push({text:d,kind:i,gapBefore:l&&u===0}))};s("Where the graph stops.","lead"),s(t.intro,"body");for(const a of t.sites){s(a.headline,"form",!0),a.key!==null&&s(`key ${a.key}`,"mono",!1,Rc);for(const i of a.notes)s(i,"soft");if(a.candidateHeading!==null){s(a.candidateHeading,"soft");for(const i of a.candidates)s(`${i.display} ${Cn(i.node.file)}:${i.node.line}`,"mono",!1,Rc)}else a.candidateNote!==null&&s(a.candidateNote,"soft")}if(t.quiet!==null&&s(t.quiet,"soft",!0),t.uncertainHeading!==null){s(t.uncertainHeading,"soft",!0);for(const a of t.uncertain)s(`${a.node.name} ${a.confidence===null?"":a.confidence.toFixed(2)}`,"mono",!1,Rc)}t.further!==null&&s(t.further,"body",!0),t.missed!==null&&s(t.missed,"body",!0);let o=ba*2;for(const a of n)a.gapBefore&&(o+=As),o+=a.kind==="mono"?wa:lr;return{rows:n,height:Math.round(o)}}function mM(e,t){const{rows:n,height:s}=vm(e),o=[$s(e.x,e.y,e.width,Math.max(e.height,s),{fill:vt.paper,stroke:vt.ruleSoft,dash:"3 3"})];let a=e.y+ba;const i=e.x+ba,l=e.width-ba*2;for(const c of n){c.gapBefore&&(a+=As);const d=c.kind==="mono",u=d?wa:lr,h=c.kind==="form"||c.kind==="lead"?vt.ink:c.kind==="soft"?vt.ink3:vt.ink2;o.push(qn({x:i,y:a+u*.75,size:d?11.5:12,fill:h,family:d?ur:Lu,weight:c.kind==="lead"?600:400},Qn(Io(c.text,l,d?11.5:12,d?Bl:Ou)))),a+=u}return`<g${t?' opacity="0.4"':""}>${o.join("")}</g>`}function yM(e,t,n,s){const[o,a]=Iv(t).right,[i,l]=Iv(n).left,d=[`<path d="${Math.abs(a-l)<.5?`M${ot(o)},${ot(a)} L${ot(i)},${ot(l)}`:`M${ot(o)},${ot(a)} C${ot((o+i)/2)},${ot(a)} ${ot((o+i)/2)},${ot(l)} ${ot(i)},${ot(l)}`}" fill="none" stroke="${vt.ink3}" stroke-width="1"${e.dash?` stroke-dasharray="${e.dash}"`:""} />`];e.cap||d.push(`<polygon points="${ot(i-10)},${ot(l-4)} ${ot(i-2)},${ot(l)} ${ot(i-10)},${ot(l+4)}" fill="${vt.ink3}" />`);const u=(o+i)/2,h=(a+l)/2;return e.labelLines.forEach((v,y)=>{d.push(qn({x:u,y:h-8-(e.labelLines.length-1-y)*13,size:Av,fill:vt.ink3,family:ur,anchor:"middle"},Qn(v)))}),e.lineLabel&&d.push(qn({x:u,y:h+17,size:Av,fill:vt.ink3,family:ur,anchor:"middle"},Qn(e.lineLabel))),`<g${s?' opacity="0.4"':""}>${d.join("")}</g>`}function _M(e,t={}){const n=t.showAll??!1,s=t.activeFlowId??null,o=g=>s===null||g.includes(s),a=new Map;for(const g of e.cards)a.set(g.id,g);const i=new Map;for(const g of e.endCaps){const w=Math.max(g.height,vm(g).height);i.set(g.id,w),a.set(g.id,{x:g.x,y:g.y,width:g.width,height:w})}const l=[],c=[];for(const g of e.links){const w=a.get(g.source),k=a.get(g.target);!w||!k||l.push(yM(g,w,k,n&&!o(g.flows)))}for(const g of e.endCaps)l.push(mM(g,n&&!o(g.flows)));for(const g of e.cards)c.push(`<clipPath id="c${g.column}-${Math.round(g.y)}">${$s(g.x,g.y+Hs,g.width,g.height-Hs)}</clipPath>`),l.push(hM(g,n&&g.step<0,n&&g.step>=0));let d=1/0,u=1/0,h=-1/0,v=-1/0;const y=(g,w,k=0,A=0)=>{d=Math.min(d,g),u=Math.min(u,w),h=Math.max(h,g+k),v=Math.max(v,w+A)};for(const g of a.values())y(g.x,g.y,g.width,g.height);for(const g of e.links){const w=a.get(g.source),k=a.get(g.target);if(!w||!k)continue;const A=(w.y+w.height/2+k.y+k.height/2)/2;y((w.x+w.width+k.x)/2,A-8-g.labelLines.length*13),g.lineLabel&&y((w.x+w.width+k.x)/2,A+21)}return Number.isFinite(d)||(d=0,u=0,h=1,v=1),fm({minX:d,minY:u,width:h-d,height:v-u},c.join(""),l.join(`
12
+ `),t)}const Pv=13,Lv=11,Hc=9,Ov=12,Dv=12;function bM(e,t,n){const s=e.module,o=t?2:1,a=[$s(e.x,e.y,e.width,e.height,{fill:t?vt.press:vt.paper,stroke:n?vt.ink4:s.test?vt.ink3:vt.ink,strokeWidth:o,dash:s.test?"4 3":void 0})],i=e.width-Hc*2;return a.push(qn({x:e.x+Hc,y:e.y+17,size:Pv,fill:n?vt.ink4:vt.ink,family:ur,weight:500},Qn(Io(s.id,i,Pv))),qn({x:e.x+Hc,y:e.y+31.5,size:Lv,fill:n?vt.ink4:vt.ink3},Qn(Io(Nu(s),i,Lv,Ou)))),a.join("")}function Rv(e,t,n){const s=t.indexOf(n),o=t.length;return s<0||o===0?e.x+e.width/2:e.x+e.width*(s+1)/(o+1)}function wM(e,t,n,s){const o=Rv(t,t.sourceHandles,e.id),a=t.y+t.height,i=Rv(n,n.targetHandles,e.id),l=n.y,c=(a+l)/2,d=`M${ot(o)},${ot(a)} C${ot(o)},${ot(c)} ${ot(i)},${ot(c)} ${ot(i)},${ot(l)}`;return e.back?`<path d="${d}" fill="none" stroke="${vt.accent}" stroke-opacity="0.6" stroke-dasharray="4 3" stroke-width="${ot(e.width)}" />`:`<path d="${d}" fill="none" stroke="${vt.ink}" stroke-opacity="${s?.95:.28}" stroke-width="${ot(e.width)}" />`}function xM(e,t={}){const n=t.selected??null,s=new Map(e.nodes.map(v=>[v.id,v])),o=n===null?null:new Set([n,...e.edges.flatMap(v=>v.source===n?[v.target]:v.target===n?[v.source]:[])]);let a=1/0,i=1/0,l=-1/0,c=-1/0;for(const v of e.nodes)a=Math.min(a,v.x),i=Math.min(i,v.y),l=Math.max(l,v.x+v.width),c=Math.max(c,v.y+v.height);Number.isFinite(a)||(a=0,i=0,l=1,c=1);const d=a-Dv,u=l+Dv,h=[];for(const v of e.layers)if(h.push(`<line x1="${ot(d)}" y1="${ot(v.y)}" x2="${ot(u)}" y2="${ot(v.y)}" stroke="${vt.ruleFaint}" stroke-width="1" />`),v.label!==null){const y=v.index===0?v.y+40:v.y-36;h.push(qn({x:d,y,size:Ov,fill:vt.ink3},Qn(v.label))),i=Math.min(i,y-Ov),c=Math.max(c,y+4)}for(const v of e.edges){if(!Au(v,n))continue;const y=s.get(v.source),g=s.get(v.target);!y||!g||h.push(wM(v,y,g,n!==null&&!v.back))}for(const v of e.nodes)h.push(bM(v,n===v.id,o!==null&&!o.has(v.id)));return fm({minX:d,minY:i,width:u-d,height:c-i},"",h.join(`
13
+ `),t)}function hm(e,t){const n=t.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,60).replace(/-+$/g,"");return`codegraph-${e}${n?`-${n}`:""}`}var kM=O('<div class="state svelte-1j33xh5"><h2 class="svelte-1j33xh5"> </h2> <p class="svelte-1j33xh5"> </p></div>'),EM=O('<div class="state svelte-1j33xh5"><p class="dim svelte-1j33xh5"> </p></div>'),SM=O('<div class="state svelte-1j33xh5"><h2 class="svelte-1j33xh5"> </h2> <p class="svelte-1j33xh5"><!></p></div>'),TM=O('<div class="layerlbl svelte-1j33xh5"> </div>'),CM=O('<div class="layerline svelte-1j33xh5"></div> <!>',1),Hv=O("<!> <!>",1),MM=O('<div class="row2 dim svelte-1j33xh5"><span> </span></div>'),NM=O('<div class="row2 mono svelte-1j33xh5"><span> </span><span> </span></div>'),AM=O('<div class="tip svelte-1j33xh5"><div class="mono svelte-1j33xh5"><b class="svelte-1j33xh5"> </b> </div> <div class="row2 svelte-1j33xh5"><span> </span> <span> </span></div> <!> <!></div>'),IM=O('<div class="mapview svelte-1j33xh5"><div class="mapstage svelte-1j33xh5"><!></div> <!></div>');function PM(e,t){Re(t,!0);const n=()=>Ct(Lt,"$t",s),[s,o]=Pt();let a=ve(null),i=ve(null),l=ve(!0),c=ve(null),d=ve(null),u=ve(null);const h={fitViewOptions:{padding:.12,maxZoom:1,minZoom:.45}},v={module:wC},y={module:kC};it(()=>{const T=t.root,E=t.depth;Kn.indexTick;const I=new AbortController;return R(l,!0),R(i,null),$_({root:T,depth:E},I.signal).then(F=>{R(a,F,!0),R(l,!1)}).catch(F=>{I.signal.aborted||(R(i,F instanceof Error?F.message:String(F),!0),R(l,!1))}),()=>I.abort()});const g=N(()=>r(a)===null?null:jl(r(a),{includeTests:t.tests})),w=N(()=>{if(r(g)===null||r(c)===null)return null;const T=new Set([r(c)]);for(const E of r(g).edges)E.source===r(c)&&T.add(E.target),E.target===r(c)&&T.add(E.source);return T}),k=N(()=>r(g)===null?[]:r(g).nodes.map(T=>({id:T.id,type:"module",position:{x:T.x,y:T.y},draggable:!1,selectable:!1,connectable:!1,data:{layout:T,selected:r(c)===T.id,dimmed:r(w)!==null&&!r(w).has(T.id),onSelect:E=>{R(c,r(c)===E?null:E,!0),R(d,null)}}}))),A=N(()=>r(g)===null?[]:r(g).edges.filter(T=>Au(T,r(c))).map(T=>({id:T.id,source:T.source,target:T.target,sourceHandle:T.sourceHandle,targetHandle:T.targetHandle,type:"module",selectable:!1,deletable:!1,data:{edge:T,hot:r(d)?.edge.id===T.id||r(c)!==null&&!T.back,dimmed:!1,onHover:M}}))),L=N(()=>r(c)===null||r(a)===null?[]:r(a).modules.find(T=>T.id===r(c))?.fileList.items??[]);function M(T,E){if(T===null||E===null||r(u)===null){R(d,null);return}const I=r(u).getBoundingClientRect();R(d,{edge:T,x:Math.min(E.clientX-I.left+14,I.width-330),y:E.clientY-I.top+14},!0)}function D(T){R(c,null),$t(Ki({root:T,depth:t.depth,tests:t.tests}))}function j(T){if(r(g)===null)throw new Error("There is no map to export yet.");const E=r(a)?.root??"";return xM(r(g),{scale:T,selected:r(c),caption:`${E||"the project"} · ${r(g).nodes.length} modules${r(c)?` · ${r(c)} selected`:""}`})}function W(T){R(c,null),$t(Ki({root:t.root,depth:t.depth,tests:T}))}var K=IM(),Z=f(K),z=f(Z);{var U=T=>{var E=kM(),I=f(E),F=f(I),q=p(I,2),Y=f(q);C(ne=>{_(F,ne),_(Y,r(i))},[()=>n()("map.buildFailed")]),b(T,E)},$=T=>{var E=EM(),I=f(E),F=f(I);C(q=>_(F,q),[()=>n()("map.aggregating")]),b(T,E)},H=T=>{var E=SM(),I=f(E),F=f(I),q=p(I,2),Y=f(q);{var ne=G=>{var P=xt();C(Q=>_(P,Q),[()=>n()("map.emptyRootTests")]),b(G,P)},ie=G=>{var P=xt();C(Q=>_(P,Q),[()=>n()("map.emptyRootNoTests")]),b(G,P)};B(Y,G=>{t.tests?G(ne):G(ie,-1)})}C(G=>_(F,G),[()=>n()("map.nothingTitle")]),b(T,E)},x=T=>{var E=Hv(),I=xe(E);Fl(I,fs({get nodes(){return r(k)},get edges(){return r(A)},get nodeTypes(){return v},get edgeTypes(){return y},fitView:!0},()=>h,{minZoom:.2,maxZoom:1.6,nodesDraggable:!1,nodesConnectable:!1,elementsSelectable:!1,panOnDrag:!0,proOptions:{hideAttribution:!0},onpaneclick:()=>{R(c,null),R(d,null)},children:(Y,ne)=>{var ie=Hv(),G=xe(ie);G3(G,{target:"back",children:(Q,V)=>{var X=Tt(),le=xe(X);Te(le,17,()=>r(g).layers,se=>se.index,(se,re)=>{var de=CM(),ue=xe(de),fe=p(ue,2);{var te=ee=>{var ce=TM(),J=f(ce);C(()=>{ht(ce,`transform:translate(8px,${r(re).index===0?r(re).y+40:r(re).y-36}px)`),_(J,r(re).label)}),b(ee,ce)};B(fe,ee=>{r(re).label!==null&&ee(te)})}C(()=>ht(ue,`transform:translate(0px,${r(re).y}px);width:${r(g).width}px`)),b(se,de)}),b(Q,X)},$$slots:{default:!0}});var P=p(G,2);ql(P,{position:"bottom-right",showLock:!1}),b(Y,ie)},$$slots:{default:!0}}));var F=p(I,2);{var q=Y=>{var ne=AM(),ie=f(ne),G=f(ie),P=f(G),Q=p(G),V=p(ie,2),X=f(V),le=f(X),se=p(X,2),re=f(se),de=p(V,2);{var ue=te=>{var ee=MM(),ce=f(ee),J=f(ce);C(oe=>_(J,oe),[()=>n()("map.declaredThrough",r(d).edge.link.declared)]),b(te,ee)};B(de,te=>{r(d).edge.link.declared!==r(d).edge.link.count&&te(ue)})}var fe=p(de,2);Te(fe,17,()=>r(d).edge.link.topPairs,te=>te.from+te.to,(te,ee)=>{var ce=NM(),J=f(ce),oe=f(J),be=p(J),_e=f(be);C(()=>{_(oe,`${r(ee).from??""} → ${r(ee).to??""}`),_(_e,r(ee).count)}),b(te,ce)}),C((te,ee)=>{ht(ne,`left:${r(d).x}px;top:${r(d).y}px`),_(P,r(d).edge.source),_(Q,` → ${r(d).edge.target??""}`),_(le,te),_(re,ee)},[()=>n()("map.nEdges",r(d).edge.link.count),()=>r(d).edge.link.byKind.map(te=>`${te.kind} ${te.count}`).join(" · ")]),b(Y,ne)};B(F,Y=>{r(d)!==null&&Y(q)})}b(T,E)};B(z,T=>{r(i)!==null?T(U):r(l)&&r(a)===null?T($,1):r(g)!==null&&r(g).nodes.length===0?T(H,2):r(g)!==null&&T(x,3)})}Zt(Z,T=>R(u,T),()=>r(u));var m=p(Z,2);{var S=T=>{{let E=N(()=>hm("map",r(a).root??""));WC(T,{get payload(){return r(a)},get layout(){return r(g)},get selected(){return r(c)},get includeTests(){return t.tests},get files(){return r(L)},buildSvg:j,get exportName(){return r(E)},onToggleTests:W,onSelectRoot:D,onSelect:I=>R(c,I,!0)})}};B(m,T=>{r(a)!==null&&r(g)!==null&&T(S)})}b(e,K),He(),o()}var LM=O('<span class="mark svelte-390foq" aria-hidden="true">●</span>'),OM=O('<!> <button><span class="name svelte-390foq"><!> </span> <span class="sub svelte-390foq"> </span></button> <!>',1);function DM(e,t){Re(t,!0);const n=N(()=>t.data),s=N(()=>r(n).layout),o=N(()=>r(n).info);function a(A,L){return`left:${(A+1)/(L+1)*100}%`}var i=OM(),l=xe(i);Te(l,19,()=>r(s).ports.top,A=>`${A.type}:${A.id}`,(A,L,M)=>{{let D=N(()=>`${r(L).type==="source"?"s":"t"}:${r(L).id}`),j=N(()=>a(r(M),r(s).ports.top.length));Rn(A,{get type(){return r(L).type},get id(){return r(D)},get position(){return et.Top},get style(){return r(j)},isConnectable:!1})}});var c=p(l,2);let d;var u=f(c),h=f(u);{var v=A=>{var L=LM();b(A,L)};B(h,A=>{r(o).entry&&A(v)})}var y=p(h,1,!0),g=p(u,2),w=f(g),k=p(c,2);Te(k,19,()=>r(s).ports.bottom,A=>`${A.type}:${A.id}`,(A,L,M)=>{{let D=N(()=>`${r(L).type==="source"?"s":"t"}:${r(L).id}`),j=N(()=>a(r(M),r(s).ports.bottom.length));Rn(A,{get type(){return r(L).type},get id(){return r(D)},get position(){return et.Bottom},get style(){return r(j)},isConnectable:!1})}}),C(()=>{d=De(c,1,"snode svelte-390foq",null,d,{sel:r(n).selected,dimmed:r(n).dimmed,origin:r(o).origin,entry:r(o).entry,unreached:r(o).unreached}),ht(c,`width:${r(s).width}px;height:${r(s).height}px`),ae(c,"aria-pressed",r(n).selected),ae(c,"title",(r(o).origin?`${r(o).label} — navigates, but no screen reaches it within the walk. In ${r(o).sub}.`:`${r(o).label} — rendered by ${r(o).sub}${r(o).entry?". The entry screen.":""}${r(o).unreached?". No transition in the graph reaches it from the entry.":""}`)+(r(n).onOpen?" Double-click for what happens here.":"")),_(y,r(o).label),_(w,r(o).sub)}),Ce("click",c,()=>r(n).onSelect(r(o).id)),st("dblclick",c,A=>{A.stopPropagation(),r(n).onOpen?.(r(o).id)},!0),b(e,i),He()}Mt(["click"]);function hl(e,t){const n=[];let s=0,o=null,a=0;for(let i=0;i<e.length;i++){const l=e[i];if(o!==null){l==="\\"?i++:l===o&&(o=null);continue}if(l==="'"||l==='"'||l==="`"){o=l;continue}if(l==="("||l==="["||l==="{"){s++;continue}if(l===")"||l==="]"||l==="}"){s=Math.max(0,s-1);continue}s===0&&e.startsWith(t,i)&&(n.push(e.slice(a,i).trim()),a=i+t.length,i+=t.length-1)}return n.push(e.slice(a).trim()),n.filter(i=>i.length>0)}function pm(e){return hl(e," || ").length>1?[e.trim()]:hl(e," && ")}const Po=e=>({kw:!0,text:e}),xa=e=>({kw:!1,text:e});function Vl(e){const t=e.trim();return t.startsWith("!(")&&HM(t,1)?[Po("NOT"),xa(t.slice(1))]:/^![A-Za-z_$][\w$.?]*$/.test(t)?[Po("NOT"),xa(t.slice(1))]:[xa(t)]}function RM(e){return Qa(Vl(e))}function pl(e,t){const n=[];return e.forEach((s,o)=>{o>0&&n.push(Po(t)),n.push(...s)}),n}function Qa(e){return e.map(t=>t.text).join(" ")}function HM(e,t){let n=0,s=null;for(let o=t;o<e.length;o++){const a=e[o];if(s!==null){a==="\\"?o++:a===s&&(s=null);continue}if(a==="'"||a==='"'||a==="`")s=a;else if(a==="(")n++;else if(a===")"&&(n--,n===0))return o===e.length-1}return!1}function gm(e){return e.filter((t,n)=>e.indexOf(t)===n)}function Wl(e){return e?pl(hl(e," || ").map(t=>pl(gm(hl(t," && ")).map(Vl),"AND")),"OR"):[]}function Du(e){const t=Wl(e);return t.length===0?[xa("always")]:[Po("WHEN"),...t]}function Kl(e){return Qa(Wl(e))}function gl(e){return e.length===0?[]:[Po("WHEN"),...pl(e.map(Vl),"AND")]}function ml(e){const t=e.map(s=>({site:s,all:s.when?gm(pm(s.when)):[]}));if(t.length===0)return{common:[],rows:[]};let n=t[0].all.slice();for(const{all:s}of t.slice(1)){let o=0;for(;o<n.length&&o<s.length&&n[o]===s[o];)o++;n=n.slice(0,o)}return{common:n,rows:t.map(({site:s,all:o})=>({site:s,rest:o.slice(n.length)}))}}function yl(e,t){return e.length===0?[xa("always")]:[Po(t?"AND":"WHEN"),...pl(e.map(Vl),"AND")]}const Or=116,mm=.66,zM=.26,ym=24,FM=6.3,qM=12,Lo=17,_m=13,bm=Lo+4,$M=4,jM=2,Ys=40;function BM(e,t,n){return s=>{const o=new Set(s),a=new Map(s.map(k=>[k,[]])),i=new Map(s.map(k=>[k,0]));for(const k of n)!o.has(k.source)||!o.has(k.target)||k.source===k.target||(a.get(k.source).push(k.target),i.set(k.target,(i.get(k.target)??0)+1));for(const k of a.values())k.sort();const l=new Map,c=k=>{const A=new Map,L=(D,j)=>{if(l.has(D))return;l.set(D,j);const W=A.get(j);W?W.push(D):A.set(j,[D])};let M=0;for(const[D,j]of k)L(D,j),M=Math.max(M,j);for(let D=0;D<=s.length+M;D++){const j=A.get(D);if(j)for(const W of j)for(const K of a.get(W)??[])L(K,D+1)}};e!==null&&o.has(e)&&c([[e,0]]);const d=[];for(const k of[...t].filter(A=>o.has(A)).sort()){const A=(a.get(k)??[]).map(L=>l.get(L)).filter(L=>L!==void 0);d.push([k,A.length>0?Math.max(0,Math.min(...A)-1):0])}c(d);const u=Math.max(0,...l.values()),h=s.filter(k=>!l.has(k)),v=new Map;if(h.length>0){const k=new Set(h),A=h.filter(D=>(i.get(D)??0)===0);let L=A.length>0?A:[h[0]];for(const D of L)v.set(D,0);let M=0;for(;L.length>0;){M++;const D=[];for(const j of L)for(const W of a.get(j)??[])v.has(W)||!k.has(W)||(v.set(W,M),D.push(W));L=D}for(const D of h)v.has(D)||v.set(D,0)}const y=Math.max(0,...v.values()),g=h.length>0?y+2:0,w=new Map;for(const[k,A]of l)w.set(k,g+u-A);for(const[k,A]of v)w.set(k,y-A);return w}}function wm(e){const t=e.flatMap(s=>s.sites&&s.sites.length>1?s.sites.map(o=>o.when):[s.when]);if(t.length===1){const s=t[0];if(!s)return"";const o=pm(s),a=RM(o[o.length-1]??s),i=o.length>1?`…${a}`:a;return i.length>Ys?`${i.slice(0,Ys-1)}…`:i}const n=t.filter(s=>s).length;return n>0?`${t.length} ways · ${n} conditional`:`${t.length} ways`}function VM(e){const t=new Map,n=[];for(const v of e.screens){const y={id:v.id,label:v.path,sub:v.component?.name??v.file,screen:v,origin:!1,entry:e.entry===v.id,unreached:!1};t.set(v.id,y),n.push(zv(y,v.incoming+v.outgoing))}for(const v of e.origins){const y={id:v.id,label:v.node.kind==="component"?`<${v.node.name}>`:`${v.node.name}()`,sub:v.sharedBy?`on ${v.sharedBy} screens`:v.node.file,screen:null,origin:!0,entry:!1,unreached:!1};t.set(v.id,y),n.push(zv(y,v.outgoing))}const s=new Map;for(const v of e.links){const y=Zr({source:v.from,target:v.to}),g=s.get(y)??[];g.push(v),s.set(y,g)}const o=[],a=new Map;for(const[v,y]of s){const g=y[0];!t.has(g.from)||!t.has(g.to)||g.from!==g.to&&(o.push({source:g.from,target:g.to,count:y.length,declared:y.length,byKind:[{kind:"navigates",count:y.length}],topPairs:[]}),a.set(v,{id:v,from:g.from,to:g.to,links:y,label:wm(y),synthesized:y.every(w=>w.synthesized)}))}const i=e.origins.map(v=>v.id),l=new Set;{const v=new Map;for(const g of e.links)v.set(g.from,[...v.get(g.from)??[],g.to]);const y=[e.entry,...i].filter(g=>g!==null);for(;y.length>0;){const g=y.pop();if(!l.has(g)){l.add(g);for(const w of v.get(g)??[])y.push(w)}}}let c=0;for(const v of t.values())!v.origin&&!l.has(v.id)&&(v.unreached=!0,c++);const d=jl({modules:n,links:o},{includeTests:!0,minWeight:0,sizing:v=>{const y=t.get(v.id);return{label:y?.label??v.id,meta:y?.sub??""}},layering:BM(e.entry,i,o),layerGap:Or,portPitch:$l,ports:"directional"}),u=Ru(d,Or),h=new Map;for(const[v,y]of u)h.set(v,Hu(y,ym));return{layout:d,nodes:t,edges:a,unreached:c,layerGap:Or,curves:u,polylines:h}}function zv(e,t){return{id:e.id,label:e.label,files:1,symbols:t,languages:[],test:!1,generated:0,generatedFiles:[],facade:!1,fileList:{total:1,shown:1,truncated:!1,items:[e.screen?.file??e.sub]}}}function WM(e,t){const n=e.links.filter(o=>o.to===t),s=e.links.filter(o=>o.from===t);return{opensFrom:n,goesTo:s}}function zc(e){return e.via.map(t=>t.name).join(" → ")}function Fv(e){return e.from===e.to?null:Zr({source:e.from,target:e.to})}function qv(e,t,n,s,o,a=Or,i){if(e==="level"){const c=i??Math.round(a*mm);return{x0:t,y0:n,x1:t,y1:n-c,x2:s,y2:o-c,x3:s,y3:o}}const l=i??(n+o)/2;return{x0:t,y0:n,x1:t,y1:l,x2:s,y2:l,x3:s,y3:o}}function KM(e){return`M${e.x0},${e.y0} C${e.x1},${e.y1} ${e.x2},${e.y2} ${e.x3},${e.y3}`}function Ru(e,t){const n=new Map(e.nodes.map(i=>[i.id,i])),s=(i,l)=>i.ports[l].length,o=new Map;for(const i of e.edges){const l=n.get(i.source),c=n.get(i.target);if(!l||!c)continue;const d=Id(l,i.id,"source"),u=Id(c,i.id,"target");let h,v,y,g=!0,w=d,k=u;if(i.route==="level")h=s(c,"top")>s(l,"top")?c:l,v="top",y=h===l?u:d;else{const D=i.route==="down",j=D?l:c,W=D?c:l;w=D?d:u,k=D?u:d,g=s(j,"bottom")>=s(W,"top"),h=g?j:W,v=g?"bottom":"top",y=g?k:w}const A=h.x+h.width/2,L=`${h.id}\0${v}\0${y.x<A?"L":"R"}`,M=o.get(L)??[];M.push({edge:i,s:d,t:u,reach:Math.abs(y.x-A),pivotUpper:g,up:w,lo:k}),o.set(L,M)}const a=new Map;for(const i of o.values()){i.sort((c,d)=>d.reach-c.reach||c.edge.id.localeCompare(d.edge.id));const l=i.length;i.forEach((c,d)=>{const{edge:u,s:h,t:v}=c;if(u.route==="level"){const k=Math.round(t*(mm-zM*d/Math.max(1,l-1)));a.set(u.id,qv("level",h.x,h.y,v.x,v.y,t,k));return}const y=(d+1)/(l+1),g=Math.min(c.lo.y-c.up.y,t),w=c.pivotUpper?c.up.y+g*y:c.lo.y-g*y;a.set(u.id,qv(u.route,h.x,h.y,v.x,v.y,t,w))})}return a}function Hu(e,t=ym){const n=[];for(let s=0;s<t;s++)n.push(ka(e,s/(t-1)));return n}function GM(e,t,n){const s=n.x-t.x,o=n.y-t.y,a=s*s+o*o,i=a===0?0:Math.max(0,Math.min(1,((e.x-t.x)*s+(e.y-t.y)*o)/a)),l=t.x+i*s-e.x,c=t.y+i*o-e.y;return Math.sqrt(l*l+c*c)}function UM(e,t){let n=1/0;for(let s=1;s<t.length;s++)n=Math.min(n,GM(e,t[s-1],t[s]));return n}function xm(e,t,n,s){let o=null;for(const[a,i]of e.polylines){if(n!==null&&!n.has(a))continue;const l=UM(t,i);l>s||(o===null||l<o.distance||l===o.distance&&a<o.id)&&(o={id:a,distance:l})}return o}function ka(e,t){const n=1-t,s=n*n*n,o=3*n*n*t,a=3*n*t*t,i=t*t*t;return{x:s*e.x0+o*e.x1+a*e.x2+i*e.x3,y:s*e.y0+o*e.y1+a*e.y2+i*e.y3}}function YM(e,t,n){const s=e.y0===e.y3;let o=s&&n==="target"?.5:0,a=s&&n==="source"?.5:1;const i=ka(e,o).y,l=ka(e,a).y;if(t<Math.min(i,l)-1e-6||t>Math.max(i,l)+1e-6)return null;const c=l>i;for(let d=0;d<40;d++){const u=(o+a)/2;ka(e,u).y<t===c?o=u:a=u}return(o+a)/2}function XM(e){return e.length*FM+qM}function km(e){return Math.max(1,Math.floor((e-jM-Lo/2-_m)/bm)+1)}function Em(e,t,n){return e.label?`${n!==null&&t.target===n&&t.source!==n?"←":"→"} ${e.label}`:""}function ZM(e,t,n){return e.x<t.x+t.w+n&&t.x<e.x+e.w+n&&e.y<t.y+t.h&&t.y<e.y+e.h}function Pd(e,t,n,s,o,a,i,l){const c=e.curves.get(t.id),d=o.get(n==="source"?t.source:t.target);if(!c||!d)return null;const u=n==="source"?{x:c.x0,y:c.y0}:{x:c.x3,y:c.y3},h=u.y===d.y,v=XM(s);for(let y=0;y<a;y++){const g=_m+y*bm,w=h?u.y-g:u.y+g,k=YM(c,w,n);if(k===null)return null;const A=ka(c,k).x,L={x:A-v/2,y:w-Lo/2,w:v,h:Lo};if(L.y<0||L.y+L.h>l.height)return null;if(!i.some(M=>ZM(M,L,$M)))return{pill:{edge:t.id,text:s,x:A,y:w,width:v,lane:y,end:n},rect:L}}return null}function Sm(e,t,n=!1){const s=new Map,o=v=>n===!0?!0:n!==!1&&n.has(v),a=n===!0||n!==!1&&n.size>0;if(t===null&&!a)return{pills:s,hidden:0};const i=new Map(e.layout.nodes.map(v=>[v.id,v])),l=km(e.layerGap),c={width:e.layout.width,height:e.layout.height},d=e.layout.nodes.map(v=>({x:v.x,y:v.y,w:v.width,h:v.height})),u=e.layout.edges.filter(v=>o(v.id)||v.source===t||v.target===t).map(v=>{const y=t!==null&&v.target===t?"source":"target",g=i.get(y==="source"?v.source:v.target),w=g?Id(g,v.id,y):{x:0,y:0};return{edge:v,end:y,anchor:w}}).sort((v,y)=>v.anchor.x-y.anchor.x||v.anchor.y-y.anchor.y||v.edge.id.localeCompare(y.edge.id));let h=0;for(const{edge:v,end:y}of u){const g=e.edges.get(v.id);if(!g)continue;const w=Em(g,v,t);if(!w)continue;const k=Pd(e,v,y,w,i,l,d,c);if(k===null){h++;continue}s.set(v.id,k.pill),d.push(k.rect)}return{pills:s,hidden:h}}function Tm(e,t,n,s,o){const a=e.layout.edges.find(v=>v.id===t),i=a?e.edges.get(a.id):void 0;if(!a||!i)return null;const l=s??Em(i,a,n);if(!l)return null;const c=new Map(e.layout.nodes.map(v=>[v.id,v])),d=n!==null&&a.target===n&&a.source!==n?"source":"target",u={width:e.layout.width,height:e.layout.height},h=e.layout.nodes.map(v=>({x:v.x,y:v.y,w:v.width,h:v.height}));for(const v of o?.pills.values()??[])v.edge!==t&&h.push({x:v.x-v.width/2,y:v.y-Lo/2,w:v.width,h:Lo});return Pd(e,a,d,l,c,km(e.layerGap),h,u)?.pill??Pd(e,a,d,l,c,1,[],u)?.pill??null}var QM=O("<span> </span>"),JM=O("<!> <!>",1);function Cm(e,t){Re(t,!0);const n=N(()=>t.data),s=N(()=>KM(r(n).curve)),o=N(()=>`sedge${r(n).edge.back?" back":""}${r(n).info.synthesized?" synth":""}${r(n).hot?" hot":""}${r(n).soft?" soft":""}${r(n).focus?" focus":""}${r(n).dimmed?" dimmed":""}`);var a=JM(),i=xe(a);{let d=N(()=>`stroke-width:${Math.min(3,r(n).edge.width)}px`);Js(i,{get path(){return r(s)},get class(){return r(o)},get style(){return r(d)}})}var l=p(i,2);{var c=d=>{Xg(d,{get x(){return r(n).pill.x},get y(){return r(n).pill.y},transparent:!0,class:"spill-anchor",onmousemove:u=>r(n).onHover(r(n).edge,u),onmouseleave:()=>r(n).onHover(null,null),children:(u,h)=>{var v=QM();let y;var g=f(v);C(()=>{y=De(v,1,"spill svelte-cf2s2p",null,y,{hot:r(n).hot,focus:r(n).focus,full:r(n).full!==null}),_(g,r(n).full??r(n).pill.text)}),b(u,v)},$$slots:{default:!0}})};B(l,d=>{r(n).pill!==null&&d(c)})}b(e,a),He()}const na=(e,t=cn)=>{var n=Tt(),s=xe(n);Te(s,17,t,nr,(o,a,i,l)=>{var c=tN(),d=xe(c);{var u=g=>{var w=xt();w.nodeValue=" ",b(g,w)};B(d,g=>{i>0&&g(u)})}var h=p(d);{var v=g=>{var w=eN(),k=f(w);C(()=>_(k,r(a).text)),b(g,w)},y=g=>{var w=xt();C(()=>_(w,r(a).text)),b(g,w)};B(h,g=>{r(a).kw?g(v):g(y,-1)})}b(o,c)}),b(e,n)};var eN=O('<b class="kw svelte-1qt8k18"> </b>'),tN=O("<!><!>",1),$v=O('<div class="state svelte-1qt8k18"><h2 class="svelte-1qt8k18"> </h2> <p> </p></div>'),nN=O('<div class="state svelte-1qt8k18"><p class="dim svelte-1qt8k18"> </p></div>'),rN=O('<div class="legend-body svelte-1qt8k18"><div class="lrow svelte-1qt8k18"><svg width="44" height="12" aria-hidden="true" class="svelte-1qt8k18"><path d="M2 6 H42" class="k-line svelte-1qt8k18"></path></svg> <span class="svelte-1qt8k18"> </span></div> <div class="lrow svelte-1qt8k18"><svg width="44" height="12" aria-hidden="true" class="svelte-1qt8k18"><path d="M2 6 H42" class="k-line k-synth svelte-1qt8k18"></path></svg> <span class="svelte-1qt8k18"> </span></div> <div class="lrow svelte-1qt8k18"><svg width="44" height="12" aria-hidden="true" class="svelte-1qt8k18"><path d="M2 6 H42" class="k-line k-back svelte-1qt8k18"></path></svg> <span class="svelte-1qt8k18"> </span></div> <div class="lrow svelte-1qt8k18"><span class="k-label mono svelte-1qt8k18">→ …x</span> <span class="svelte-1qt8k18"> </span></div> <div class="lrow svelte-1qt8k18"><span class="k-box mono svelte-1qt8k18">/path</span> <span class="svelte-1qt8k18"> </span></div> <div class="lrow svelte-1qt8k18"><span class="k-box k-entry mono svelte-1qt8k18"><span class="mark svelte-1qt8k18">●</span>/</span> <span class="svelte-1qt8k18"> </span></div> <div class="lrow svelte-1qt8k18"><span class="k-box k-origin mono svelte-1qt8k18">fn()</span> <span class="svelte-1qt8k18"> </span></div> <div class="lrow svelte-1qt8k18"><span class="k-box k-unreached mono svelte-1qt8k18">/path</span> <span class="svelte-1qt8k18"> </span></div></div>'),sN=O('<span class="dim svelte-1qt8k18"> </span>'),oN=O('<span class="mono dim svelte-1qt8k18"> </span>'),aN=O('<div class="tiprow svelte-1qt8k18"><!> <span class="when svelte-1qt8k18"><!></span> <!></div>'),iN=O('<div class="dim svelte-1qt8k18"> </div>'),lN=O('<div class="tip svelte-1qt8k18"><div class="mono svelte-1qt8k18"><b> </b> </div> <!> <!></div>'),cN=O('<!> <div><button class="legend-h svelte-1qt8k18"> <span class="dim svelte-1qt8k18"> </span></button> <!></div> <!>',1),dN=O('<a class="sub svelte-1qt8k18"><!> </a>'),uN=O('<span class="sub dim svelte-1qt8k18"> </span>'),fN=O('<a class="sub dim svelte-1qt8k18"> </a>'),vN=O('<p class="dim note svelte-1qt8k18"> </p>'),Fc=O('<p class="dim svelte-1qt8k18"> </p>'),wi=O('<div class="when svelte-1qt8k18"><!></div>'),jv=O('<div class="via svelte-1qt8k18"> </div>'),Bv=O('<div class="ways dim svelte-1qt8k18"> </div>'),Vv=O('<div><!> <a class="site dim svelte-1qt8k18"> </a></div>'),Wv=O('<div role="presentation"><button class="peer mono svelte-1qt8k18"> </button> <!> <!> <!> <!></div>'),hN=O('<div class="head svelte-1qt8k18"><div><div class="mono big svelte-1qt8k18"> </div> <!> <!> <a class="sub act svelte-1qt8k18"> </a></div> <button class="clear svelte-1qt8k18"> </button></div> <!> <h4 class="svelte-1qt8k18"> <span class="dim svelte-1qt8k18"> </span></h4> <!> <!> <h4 class="svelte-1qt8k18"> <span class="dim svelte-1qt8k18"> </span></h4> <!> <!>',1),pN=O('<p class="dim svelte-1qt8k18"></p>'),gN=O('<button class="peer mono svelte-1qt8k18"> <span class="dim svelte-1qt8k18"> </span></button>'),mN=O('<div class="head svelte-1qt8k18"><div class="big svelte-1qt8k18"> </div></div> <p></p> <p class="dim svelte-1qt8k18"><span class="mark svelte-1qt8k18">●</span> </p> <p class="dim svelte-1qt8k18"> </p> <!> <!> <h4 class="svelte-1qt8k18"> </h4> <!>',1),yN=O('<aside class="side svelte-1qt8k18"><!></aside>'),_N=O('<div class="screens svelte-1qt8k18"><div class="stage svelte-1qt8k18" role="presentation"><!></div> <!></div>');function bN(e,t){Re(t,!0);const n=()=>Ct(Lt,"$t",s),[s,o]=Pt();let a=ve(null),i=ve(null),l=ve(!0),c=ve(null),d=ve(null),u=ve(null),h=ve(null),v=ve(void 0);const y=10,g="codegraph-ui:screens-legend";let w=ve(kn(k()));function k(){try{return localStorage.getItem(g)!=="closed"}catch{return!0}}it(()=>{try{localStorage.setItem(g,r(w)?"open":"closed")}catch{}});const A={fitViewOptions:{padding:.1,maxZoom:1,minZoom:.4}},L=400;let M=null;const D={screen:DM},j={screen:Cm};it(()=>{Kn.indexTick;const te=new AbortController;return R(l,!0),R(i,null),Ep(te.signal).then(ee=>{R(a,ee,!0),R(l,!1)}).catch(ee=>{te.signal.aborted||(R(i,ee instanceof Error?ee.message:String(ee),!0),R(l,!1))}),()=>te.abort()});const W=N(()=>r(a)===null||!r(a).routed?null:VM(r(a))),K=N(()=>{if(r(W)===null||r(c)===null)return null;const te=new Set([r(c)]);for(const ee of r(W).layout.edges)ee.source===r(c)&&te.add(ee.target),ee.target===r(c)&&te.add(ee.source);return te}),Z=N(()=>r(W)===null?null:Sm(r(W),r(c))),z=N(()=>r(d)?.edge.id??r(u)?.edge??null),U=N(()=>{if(r(W)===null||r(z)===null||r(Z)?.pills.has(r(z)))return null;const te=r(u)?.edge===r(z)?ne(r(u).link):void 0;return Tm(r(W),r(z),r(c),te,r(Z)??void 0)}),$=N(()=>r(W)===null?[]:r(W).layout.nodes.map(te=>({id:te.id,type:"screen",position:{x:te.x,y:te.y},draggable:!1,selectable:!1,connectable:!1,data:{layout:te,info:r(W).nodes.get(te.id),selected:r(c)===te.id,dimmed:r(K)!==null&&!r(K).has(te.id),onSelect:ee=>{const ce=performance.now();if(M!==null&&M.id===ee&&ce-M.at<L){M=null,$t(wr({anchor:ee}));return}M={id:ee,at:ce},R(c,r(c)===ee?null:ee,!0),R(d,null),R(u,null)},onOpen:ee=>$t(wr({anchor:ee}))}}))),H=N(()=>{if(r(W)===null)return[];const te=r(z);return r(W).layout.edges.filter(ee=>Au(ee,r(c))).map(ee=>{const ce=r(c)!==null&&(ee.source===r(c)||ee.target===r(c)),J=te===ee.id,oe=J||ce;return{id:ee.id,source:ee.source,target:ee.target,sourceHandle:ee.sourceHandle,targetHandle:ee.targetHandle,type:"screen",selectable:!1,deletable:!1,zIndex:J?3:oe?2:1,data:{edge:ee,info:r(W).edges.get(ee.id),curve:r(W).curves.get(ee.id),hot:oe,soft:oe&&te!==null&&!J,focus:J,dimmed:r(c)!==null&&!ce,pill:r(Z)?.pills.get(ee.id)??(J?r(U):null),full:r(u)?.edge===ee.id?ne(r(u).link):null,onHover:I}}})}),x=N(()=>r(c)===null||r(W)===null?null:r(W).nodes.get(r(c))??null),m=N(()=>r(c)===null||r(a)===null?null:WM(r(a),r(c))),S=N(()=>r(d)===null||r(W)===null?null:r(W).edges.get(r(d).edge.id)??null),T=N(()=>r(W)===null?new Map:new Map(r(W).layout.edges.map(te=>[te.id,te]))),E=N(()=>new Set(r(H).map(te=>te.id)));function I(te,ee){if(te===null||ee===null||r(h)===null){R(d,null);return}const ce=r(h).getBoundingClientRect();R(d,{edge:te,x:Math.min(ee.clientX-ce.left+14,ce.width-360),y:ee.clientY-ce.top+14},!0)}function F(te){if(r(W)===null||r(h)===null)return;const ee=te.target;if(ee?.closest(".spill"))return;if(ee?.closest(".snode, .legend, .tip, .svelte-flow__controls")){R(d,null);return}const ce=r(v)??q();if(!ce)return;const J=r(h).getBoundingClientRect(),oe={x:(te.clientX-J.left-ce.x)/ce.zoom,y:(te.clientY-J.top-ce.y)/ce.zoom},be=xm(r(W),oe,r(E),y/ce.zoom),_e=be===null?void 0:r(T).get(be.id);if(!_e){R(d,null);return}R(d,{edge:_e,x:Math.min(te.clientX-J.left+14,J.width-360),y:te.clientY-J.top+14},!0)}function q(){const ee=r(h)?.querySelector(".svelte-flow__viewport")?.style.transform.match(/translate\(([-\d.]+)px,\s*([-\d.]+)px\)\s*scale\(([-\d.]+)\)/);return ee?{x:Number(ee[1]),y:Number(ee[2]),zoom:Number(ee[3])}:null}function Y(te){const ee=te===null?null:Fv(te);R(u,te===null||ee===null?null:{edge:ee,link:te},!0)}function ne(te){return`${r(c)!==null&&te.to===r(c)&&te.from!==r(c)?"←":"→"} ${Kl(te.when)||"always"}`}function ie(te){return r(u)!==null?r(u).link.id===te.id:r(d)!==null&&Fv(te)===r(d).edge.id}function G(te){return r(W)?.nodes.get(te)?.label??te}function P(te,ee){return G(ee==="from"?te.from:te.to)}var Q=_N(),V=f(Q),X=f(V);{var le=te=>{var ee=$v(),ce=f(ee),J=f(ce),oe=p(ce,2),be=f(oe);C(_e=>{_(J,_e),_(be,r(i))},[()=>n()("screens.readFailedTitle")]),b(te,ee)},se=te=>{var ee=nN(),ce=f(ee),J=f(ce);C(oe=>_(J,oe),[()=>n()("screens.reading")]),b(te,ee)},re=te=>{var ee=$v(),ce=f(ee),J=f(ce),oe=p(ce,2),be=f(oe);C((_e,Ie)=>{_(J,_e),_(be,Ie)},[()=>n()("screens.noRoutingTitle"),()=>n()("screens.noRoutingDesc",r(a).screens.length)]),b(te,ee)},de=te=>{var ee=cN(),ce=xe(ee);Fl(ce,fs({get nodes(){return r($)},get edges(){return r(H)},get nodeTypes(){return D},get edgeTypes(){return j},fitView:!0},()=>A,{minZoom:.2,maxZoom:3,nodesDraggable:!1,nodesConnectable:!1,elementsSelectable:!1,panOnDrag:!0,proOptions:{hideAttribution:!0},onpaneclick:()=>{R(c,null),R(d,null),R(u,null)},get viewport(){return r(v)},set viewport(Ue){R(v,Ue,!0)},children:(Ue,$e)=>{ql(Ue,{position:"bottom-right",showLock:!1})},$$slots:{default:!0}}));var J=p(ce,2);let oe;var be=f(J),_e=f(be),Ie=p(_e),pe=f(Ie),me=p(be,2);{var Se=Ue=>{var $e=rN(),Ye=f($e),at=p(f(Ye),2),pt=f(at),Ot=p(Ye,2),Nt=p(f(Ot),2),ye=f(Nt),ge=p(Ot,2),ke=p(f(ge),2),Ee=f(ke),je=p(ge,2),Ge=p(f(je),2),lt=f(Ge),ct=p(je,2),Dt=p(f(ct),2),Rt=f(Dt),Wt=p(ct,2),At=p(f(Wt),2),tt=f(At),Ae=p(Wt,2),Qe=p(f(Ae),2),Xe=f(Qe),Ke=p(Ae,2),Be=p(f(Ke),2),nt=f(Be);C((Le,Je,dt,gt,bt,It,zt,Jt)=>{_(pt,Le),_(ye,Je),_(Ee,dt),_(lt,gt),_(Rt,bt),_(tt,It),_(Xe,zt),_(nt,Jt)},[()=>n()("screens.legendTransition"),()=>n()("screens.legendInferred"),()=>n()("screens.legendBack"),()=>n()("screens.legendCondition"),()=>n()("screens.legendScreen"),()=>n()("screens.legendEntry"),()=>n()("screens.legendOrigin"),()=>n()("screens.legendUnreached")]),b(Ue,$e)};B(me,Ue=>{r(w)&&Ue(Se)})}var Me=p(J,2);{var ze=Ue=>{var $e=lN(),Ye=f($e),at=f(Ye),pt=f(at),Ot=p(at),Nt=p(Ye,2);Te(Nt,17,()=>r(S).links.slice(0,5),ke=>ke.id,(ke,Ee)=>{var je=aN(),Ge=f(je);{var lt=At=>{var tt=sN(),Ae=f(tt);C(Qe=>_(Ae,Qe),[()=>n()("steps.ways",r(Ee).sites.length)]),b(At,tt)};B(Ge,At=>{r(Ee).sites.length>1&&At(lt)})}var ct=p(Ge,2),Dt=f(ct);{let At=N(()=>Du(r(Ee).when));na(Dt,()=>r(At))}var Rt=p(ct,2);{var Wt=At=>{var tt=oN(),Ae=f(tt);C(Qe=>_(Ae,Qe),[()=>n()("rails.via",zc(r(Ee)))]),b(At,tt)};B(Rt,At=>{r(Ee).via.length>0&&At(Wt)})}b(ke,je)});var ye=p(Nt,2);{var ge=ke=>{var Ee=iN(),je=f(Ee);C(Ge=>_(je,Ge),[()=>n()("steps.more",r(S).links.length-5)]),b(ke,Ee)};B(ye,ke=>{r(S).links.length>5&&ke(ge)})}C((ke,Ee)=>{ht($e,`left:${r(d).x}px;top:${r(d).y}px`),_(pt,ke),_(Ot,` → ${Ee??""}`)},[()=>G(r(S).from),()=>G(r(S).to)]),b(Ue,$e)};B(Me,Ue=>{r(d)!==null&&r(S)!==null&&Ue(ze)})}C(Ue=>{oe=De(J,1,"legend svelte-1qt8k18",null,oe,{open:r(w)}),ae(be,"aria-expanded",r(w)),_(_e,`${Ue??""} `),_(pe,r(w)?"▾":"▸")},[()=>n()("key.title")]),Ce("click",be,()=>R(w,!r(w))),b(te,ee)};B(X,te=>{r(i)!==null?te(le):r(l)&&r(a)===null?te(se,1):r(a)!==null&&!r(a).routed?te(re,2):r(W)!==null&&te(de,3)})}Zt(V,te=>R(h,te),()=>r(h));var ue=p(V,2);{var fe=te=>{var ee=yN(),ce=f(ee);{var J=be=>{var _e=hN(),Ie=xe(_e),pe=f(Ie),me=f(pe),Se=f(me),Me=p(me,2);{var ze=Ke=>{var Be=dN(),nt=f(Be);Bt(nt,{get kind(){return r(x).screen.component.kind}});var Le=p(nt);C(Je=>{ae(Be,"href",Je),_(Le,` ${r(x).screen.component.name??""}`)},[()=>_n(r(x).screen.component.id)]),b(Ke,Be)},Ue=Ke=>{var Be=uN(),nt=f(Be);C(Le=>_(nt,Le),[()=>n()("screens.originNote")]),b(Ke,Be)};B(Me,Ke=>{r(x).screen?.component?Ke(ze):r(x).origin&&Ke(Ue,1)})}var $e=p(Me,2);{var Ye=Ke=>{var Be=fN(),nt=f(Be);C(Le=>{ae(Be,"href",Le),_(nt,r(x).screen.file)},[()=>hn(r(x).screen.file)]),b(Ke,Be)};B($e,Ke=>{r(x).screen&&Ke(Ye)})}var at=p($e,2),pt=f(at),Ot=p(pe,2),Nt=f(Ot),ye=p(Ie,2);{var ge=Ke=>{var Be=vN(),nt=f(Be);C(Le=>_(nt,Le),[()=>n()("steps.hiddenConditions",r(Z).hidden)]),b(Ke,Be)};B(ye,Ke=>{r(Z)!==null&&r(Z).hidden>0&&Ke(ge)})}var ke=p(ye,2),Ee=f(ke),je=p(Ee),Ge=f(je),lt=p(ke,2);{var ct=Ke=>{var Be=Fc(),nt=f(Be);C(Le=>_(nt,Le),[()=>r(x).entry?n()("screens.noIncomingEntry"):n()("screens.noIncoming")]),b(Ke,Be)};B(lt,Ke=>{r(m).opensFrom.length===0&&Ke(ct)})}var Dt=p(lt,2);Te(Dt,17,()=>r(m).opensFrom,Ke=>Ke.id,(Ke,Be)=>{const nt=N(()=>ml(r(Be).sites));var Le=Wv();let Je;var dt=f(Le),gt=f(dt),bt=p(dt,2);{var It=rt=>{var Fe=wi(),We=f(Fe);{let wt=N(()=>gl(r(nt).common));na(We,()=>r(wt))}b(rt,Fe)};B(bt,rt=>{r(nt).common.length>0&&rt(It)})}var zt=p(bt,2);{var Jt=rt=>{var Fe=jv(),We=f(Fe);C(wt=>_(We,wt),[()=>n()("rails.via",zc(r(Be)))]),b(rt,Fe)};B(zt,rt=>{r(Be).via.length>0&&rt(Jt)})}var Qt=p(zt,2);{var dn=rt=>{var Fe=Bv(),We=f(Fe);C(wt=>_(We,wt),[()=>n()("steps.ways",r(nt).rows.length)]),b(rt,Fe)};B(Qt,rt=>{r(nt).rows.length>1&&rt(dn)})}var Mn=p(Qt,2);Te(Mn,17,()=>r(nt).rows,rt=>rt.site.file+rt.site.line,(rt,Fe)=>{var We=Vv();let wt;var sn=f(We);{var Hn=un=>{var wn=wi(),or=f(wn);{let rs=N(()=>yl(r(Fe).rest,r(nt).common.length>0));na(or,()=>r(rs))}b(un,wn)};B(sn,un=>{r(nt).rows.length>1&&un(Hn)})}var bn=p(sn,2),Un=f(bn);C((un,wn)=>{wt=De(We,1,"scenario svelte-1qt8k18",null,wt,{many:r(nt).rows.length>1}),ae(bn,"href",un),_(Un,`${r(Fe).site.method??""} ${r(Fe).site.href??""} · ${wn??""}:${r(Fe).site.line??""}`)},[()=>_n(r(Be).via[r(Be).via.length-1]?.id??r(x).id,{line:r(Fe).site.line}),()=>r(Fe).site.file.slice(r(Fe).site.file.lastIndexOf("/")+1)]),b(rt,We)}),C((rt,Fe)=>{Je=De(Le,1,"row svelte-1qt8k18",null,Je,rt),_(gt,Fe)},[()=>({hot:ie(r(Be))}),()=>P(r(Be),"from")]),st("mouseenter",Le,()=>Y(r(Be))),st("mouseleave",Le,()=>Y(null)),Ce("focusin",Le,()=>Y(r(Be))),Ce("focusout",Le,()=>Y(null)),Ce("click",dt,()=>R(c,r(Be).from,!0)),b(Ke,Le)});var Rt=p(Dt,2),Wt=f(Rt),At=p(Wt),tt=f(At),Ae=p(Rt,2);{var Qe=Ke=>{var Be=Fc(),nt=f(Be);C(Le=>_(nt,Le),[()=>n()("screens.noOutgoing")]),b(Ke,Be)};B(Ae,Ke=>{r(m).goesTo.length===0&&Ke(Qe)})}var Xe=p(Ae,2);Te(Xe,17,()=>r(m).goesTo,Ke=>Ke.id,(Ke,Be)=>{const nt=N(()=>ml(r(Be).sites));var Le=Wv();let Je;var dt=f(Le),gt=f(dt),bt=p(dt,2);{var It=rt=>{var Fe=wi(),We=f(Fe);{let wt=N(()=>gl(r(nt).common));na(We,()=>r(wt))}b(rt,Fe)};B(bt,rt=>{r(nt).common.length>0&&rt(It)})}var zt=p(bt,2);{var Jt=rt=>{var Fe=jv(),We=f(Fe);C(wt=>_(We,wt),[()=>n()("rails.via",zc(r(Be)))]),b(rt,Fe)};B(zt,rt=>{r(Be).via.length>0&&rt(Jt)})}var Qt=p(zt,2);{var dn=rt=>{var Fe=Bv(),We=f(Fe);C(wt=>_(We,wt),[()=>n()("steps.ways",r(nt).rows.length)]),b(rt,Fe)};B(Qt,rt=>{r(nt).rows.length>1&&rt(dn)})}var Mn=p(Qt,2);Te(Mn,17,()=>r(nt).rows,rt=>rt.site.file+rt.site.line,(rt,Fe)=>{var We=Vv();let wt;var sn=f(We);{var Hn=un=>{var wn=wi(),or=f(wn);{let rs=N(()=>yl(r(Fe).rest,r(nt).common.length>0));na(or,()=>r(rs))}b(un,wn)};B(sn,un=>{r(nt).rows.length>1&&un(Hn)})}var bn=p(sn,2),Un=f(bn);C((un,wn)=>{wt=De(We,1,"scenario svelte-1qt8k18",null,wt,{many:r(nt).rows.length>1}),ae(bn,"href",un),_(Un,`${r(Fe).site.method??""} ${r(Fe).site.href??""} · ${wn??""}:${r(Fe).site.line??""}`)},[()=>_n(r(Be).via[r(Be).via.length-1]?.id??r(x).screen?.component?.id??r(x).id,{line:r(Fe).site.line}),()=>r(Fe).site.file.slice(r(Fe).site.file.lastIndexOf("/")+1)]),b(rt,We)}),C((rt,Fe)=>{Je=De(Le,1,"row svelte-1qt8k18",null,Je,rt),_(gt,Fe)},[()=>({hot:ie(r(Be))}),()=>P(r(Be),"to")]),st("mouseenter",Le,()=>Y(r(Be))),st("mouseleave",Le,()=>Y(null)),Ce("focusin",Le,()=>Y(r(Be))),Ce("focusout",Le,()=>Y(null)),Ce("click",dt,()=>R(c,r(Be).to,!0)),b(Ke,Le)}),C((Ke,Be,nt,Le,Je)=>{_(Se,r(x).label),ae(at,"href",Ke),_(pt,Be),_(Nt,nt),_(Ee,`${Le??""} `),_(Ge,r(m).opensFrom.length),_(Wt,`${Je??""} `),_(tt,r(m).goesTo.length)},[()=>wr({anchor:r(x).id}),()=>n()("screens.whatHappensHere"),()=>n()("steps.clear"),()=>n()("screens.opensFrom"),()=>n()("screens.goesTo")]),Ce("click",Ot,()=>R(c,null)),b(be,_e)},oe=be=>{var _e=mN(),Ie=xe(_e),pe=f(Ie),me=f(pe),Se=p(Ie,2);Gt(Se,()=>n()("screens.summary",r(a).screens.length,r(a).links.length,r(a).origins.length),!0);var Me=p(Se,2),ze=p(f(Me)),Ue=p(Me,2),$e=f(Ue),Ye=p(Ue,2);{var at=ke=>{var Ee=pN();Gt(Ee,()=>n()("screens.unreached",r(W).unreached),!0),b(ke,Ee)};B(Ye,ke=>{r(W).unreached>0&&ke(at)})}var pt=p(Ye,2);{var Ot=ke=>{var Ee=Fc(),je=f(Ee);C(Ge=>_(je,Ge),[()=>n()("screens.dropped",r(a).dropped)]),b(ke,Ee)};B(pt,ke=>{r(a).dropped>0&&ke(Ot)})}var Nt=p(pt,2),ye=f(Nt),ge=p(Nt,2);Te(ge,17,()=>[...r(a).screens].sort((ke,Ee)=>Ee.incoming+Ee.outgoing-(ke.incoming+ke.outgoing)).slice(0,8),ke=>ke.id,(ke,Ee)=>{var je=gN(),Ge=f(je),lt=p(Ge),ct=f(lt);C(()=>{_(Ge,`${r(Ee).path??""} `),_(ct,`←${r(Ee).incoming??""} →${r(Ee).outgoing??""}`)}),Ce("click",je,()=>R(c,r(Ee).id,!0)),b(ke,je)}),C((ke,Ee,je,Ge)=>{_(me,ke),_(ze,` ${Ee??""}`),_($e,je),_(ye,Ge)},[()=>n()("screensTitle"),()=>n()("screens.intro"),()=>n()("screens.styleLegend"),()=>n()("mostConnected")]),b(be,_e)};B(ce,be=>{r(x)!==null&&r(m)!==null?be(J):be(oe,-1)})}b(te,ee)};B(ue,te=>{r(a)!==null&&r(W)!==null&&te(fe)})}Ce("mousemove",V,F),st("mouseleave",V,()=>R(d,null)),b(e,Q),He(),o()}Mt(["mousemove","click","focusin","focusout"]);const wN=24;function Nr(e,t="app",n){return Hi(e,t,n)[0]}function Hi(e,t="app",n){switch(e){case"screen":return n?.screen?.endpoint?["endpoint","endpoints"]:t==="api"?["endpoint","endpoints"]:t==="web"?["page","pages"]:["screen","screens"];case"trigger":return["handler","handlers"];case"bridge":return n?.screen?.endpoint?["call to the server","calls to the server"]:t==="app"?["native call","native calls"]:t==="web"?["call to the server","calls to the server"]:["call to another tier","calls to another tier"];case"event":return t==="app"?["native event","native events"]:t==="web"?["arrives from the server","arrive from the server"]:["arrives from a queue or bus","arrive from a queue or bus"];case"store":return t==="api"?["data call","data calls"]:["store action","store actions"];case"effect":return["outside the index","outside the index"];default:return["start","start"]}}function Xn(e){const t=e.after&&e.after.length>0?` · after ${e.after.join(", ")}`:"";switch(e.kind){case"prop":return e.of?`${e.name} · <${e.of}>`:e.name;case"option":return e.of?`${e.name} · ${e.of}(…)`:e.name;case"request":return`${e.name} ${e.of??""}`.trim()+t;case"decorator":return`@${e.name}(${e.of??""})`+t;case"load":return`page load · ${e.of??e.name}`+t;default:return e.of?`${e.name}(${e.of})`:e.name}}function Mm(e){switch(e.kind){case"bridge":return`⇢ ${e.label}`;case"event":{const t=e.events??(e.event?[e.event]:[]);return t.length===0?`⇠ ${e.label}`:t.length===1?`⇠ ${t[0]}`:`⇠ ${t[0]} +${t.length-1}`}default:return e.label}}function Nm(e,t="app"){const n=e.node?e.node.file.slice(e.node.file.lastIndexOf("/")+1):"";switch(e.kind){case"screen":return e.sub;case"trigger":return e.trigger?`${Xn(e.trigger)} · ${n}`:`handler · ${n}`;case"bridge":return e.screen?e.sub:`${t==="app"?"native":t==="web"?"server":"another tier"} · ${n}`;case"event":return`${e.label} · ${n}`;case"store":return`${t==="api"?"data":"store"} · ${n}`;case"effect":return e.sub;default:return e.node&&e.sub===e.node.file?n:e.sub}}const Kv=24,xN=15,kN=6.3,EN=320;function Am(e){if(e.form==="if"||e.form==="ternary")return e.not?"no":"yes";if(e.not)return"else";let t=e.arm;return e.on&&t.startsWith(e.on)&&(t=t.slice(e.on.length).trim().replace(/^===?\s*/,"")),t?t.length>Kv?`${t.slice(0,Kv-1)}…`:t:"yes"}function SN(e){let t=null;for(const n of e.links)for(const s of n.sites){if(!s.decision)return null;if(t===null)t=s.decision;else if(t.branch!==s.decision.branch||t.arm!==s.decision.arm)return null}return t}function TN(e,t){const n=new Map;for(const i of e.values()){const l=SN(i);if(l===null)continue;const c=`${i.from}\0${l.branch}`,d=n.get(c)??[];d.push({info:i,decision:l}),n.set(c,d)}const s=new Map(t.nodes.map(i=>[i.id,i])),o=[],a=new Map;for(const[i,l]of n){if(new Set(l.map(y=>y.decision.arm)).size<2)continue;const c=s.get(l[0].info.from);if(!c)continue;for(const{info:y,decision:g}of l)y.arm=Am(g),y.label=y.arm;const d=a.get(c.id)??0;a.set(c.id,d+1);const u=l[0].decision.on,h=`${Kl(u)||u}?`,v=Math.max(c.width,Math.min(h.length*kN+8,EN));o.push({id:i,label:h,x:c.x+(c.width-v)/2,y:c.y+c.height+4+d*xN,width:v})}return o}function CN(e){const t=new Map,n=[],s={anchor:0,screen:0,trigger:0,bridge:0,event:0,store:0,effect:0},o=new Map;for(const g of e.links)o.set(g.from,(o.get(g.from)??0)+1),o.set(g.to,(o.get(g.to)??0)+1);for(const g of e.steps){s[g.kind]++;const w={id:g.id,step:g,label:Mm(g),sub:Nm(g,e.project)};t.set(g.id,w),n.push({id:g.id,label:w.label,files:1,symbols:o.get(g.id)??0,languages:[],test:!1,generated:0,generatedFiles:[],facade:!1,fileList:{total:1,shown:1,truncated:!1,items:[g.node?.file??g.sub]}})}const a=new Map;for(const g of e.links){if(!t.has(g.from)||!t.has(g.to)||g.from===g.to)continue;const w=Zr({source:g.from,target:g.to}),k=a.get(w)??[];k.push(g),a.set(w,k)}const i=[],l=new Map;for(const[g,w]of a){const k=w[0];i.push({source:k.from,target:k.to,count:w.length,declared:w.length,byKind:[{kind:"calls",count:w.length}],topPairs:[]});const A=w.length===1&&k.kind==="handler"&&k.trigger?k.trigger:null;l.set(g,{id:g,from:k.from,to:k.to,links:w,label:A?Xn(A):wm(w),synthesized:w.every(L=>L.synthesized),kind:w.every(L=>L.kind===k.kind)?k.kind:"calls"})}const c=e.steps.some(g=>g.region!==void 0);let d,u=null;if(c){const g=AN(e.steps,t,n,i);d=g.layout,u=g.zones}else{const g=new Map(e.steps.map(A=>[A.id,A.depth])),w=Math.max(0,...e.steps.map(A=>A.depth));d=jl({modules:n,links:i},{includeTests:!0,minWeight:0,sizing:A=>{const L=t.get(A.id),M=L?.step.cut!=null?" …":"";return{label:(L?.step.anchor?"● ":"")+(L?.label??A.id)+M,meta:L?.sub??""}},layering:A=>new Map(A.map(L=>[L,w-(g.get(L)??w)])),order:A=>t.get(A)?.step.order??Number.MAX_SAFE_INTEGER,layerGap:Or,portPitch:$l,ports:"directional"})}const h=c?Im:Or,v=Ru(d,h),y=new Map;for(const[g,w]of v)y.set(g,Hu(w,wN));return{layout:d,nodes:t,edges:l,layerGap:h,curves:v,polylines:y,counts:s,regions:u,regionEntries:u===null?null:new Set(u.map(g=>g.entry)),forks:null,decisions:TN(l,d)}}const Im=72,ra=Er+Im,MN=720,xi=72,qc=84;function NN(e,t){return Math.max(t,Math.min(3400,Math.max(1440,Math.ceil(Math.sqrt(e*2.4)))))}function AN(e,t,n,s){const o=e.find(E=>E.anchor),a=e.filter(E=>!E.anchor),i=new Map(n.map(E=>[E.id,E])),l=new Map;for(const E of s)l.set(E.source,(l.get(E.source)??0)+1),l.set(E.target,(l.get(E.target)??0)+1);const c=E=>{const I=t.get(E),F=I?.step.cut!=null?" …":"",q=I?.step.anchor?"● ":"";return Math.max(am(q+(I?.label??E)+F,I?.sub??""),((l.get(E)??0)+1)*$l)},d=new Map;for(const E of a){const I=E.region?.id??o.id,F=d.get(I)??{id:I,label:E.region?.label??o.label,members:[]};F.members.push(E),d.set(I,F)}const u=new Map(a.map(E=>[E.id,E.region?.id??o.id])),h=new Map;for(const E of s){if(E.source===o.id||E.target===o.id||u.get(E.source)!==u.get(E.target))continue;const I=h.get(E.target)??[];I.push(E.source),h.set(E.target,I)}const v=new Map;for(const E of d.values()){const I=new Map(E.members.map(ie=>[ie.id,0]));for(let ie=0;ie<E.members.length;ie++){let G=!1;for(const P of E.members){const Q=(h.get(P.id)??[]).map(X=>I.get(X)).filter(X=>X!==void 0);if(Q.length===0)continue;const V=Math.max(...Q)+1;V>I.get(P.id)&&(I.set(P.id,V),G=!0)}if(!G)break}const F=new Map;for(const ie of E.members){const G=I.get(ie.id);F.set(G,[...F.get(G)??[],ie])}const q=[],Y=new Map;let ne=0;for(const ie of[...F.keys()].sort((G,P)=>G-P)){const G=F.get(ie),P=X=>{const le=(h.get(X.id)??[]).map(se=>Y.get(se)).filter(se=>se!==void 0);return le.length===0?Number.MAX_SAFE_INTEGER:le.reduce((se,re)=>se+re,0)/le.length};G.sort((X,le)=>P(X)-P(le)||(X.order??0)-(le.order??0)||X.id.localeCompare(le.id));let Q=[],V=0;for(const X of G){const le=c(X.id);Q.length>0&&V+ha+le>MN&&(q.push(Q),ne=Math.max(ne,V),Q=[],V=0),Q.push(X.id),V+=(Q.length>1?ha:0)+le,Y.set(X.id,Y.size)}Q.length>0&&(q.push(Q),ne=Math.max(ne,V))}v.set(E.id,{lines:q,width:ne})}let y=0,g=0;for(const E of d.values()){const I=v.get(E.id);y+=I.width*I.lines.length*ra,g=Math.max(g,I.width)}const w=NN(y,g),k=[];let A=null;for(const E of d.values()){const I=v.get(E.id);(A===null||A.width+xi+I.width>w)&&(A={regions:[],lines:0,width:-xi},k.push(A)),A.regions.push(E),A.lines=Math.max(A.lines,I.lines.length),A.width+=xi+I.width}const L=Math.max(c(o.id),...k.map(E=>E.width)),M=new Map,D=[],j=Sr;let W=j+Er+Or+qc,K=0;for(const E of k){let I=Sr+(L-E.width)/2;for(const F of E.regions){const q=v.get(F.id);q.lines.forEach((Y,ne)=>{const ie=Y.reduce((P,Q)=>P+c(Q),0)+ha*(Y.length-1);let G=I+(q.width-ie)/2;for(const P of Y)M.set(P,{x:G,y:W+ne*ra,line:K+ne}),G+=c(P)+ha}),D.push({id:F.id,label:F.label,x:I,y:W,width:q.width,height:(q.lines.length-1)*ra+Er,entry:q.lines[0][0]}),I+=q.width+xi}W+=E.lines*ra+qc,K+=E.lines}const Z=W-ra-qc+Er+Sr,z=E=>E===o.id?K+1:K-(M.get(E)?.line??0),U=new Map,$=(E,I,F)=>{U.set(E,{id:E,module:i.get(E),island:!1,generated:!1,layer:z(E),x:I,y:F,width:c(E),height:Er,sourceHandles:[],targetHandles:[],ports:{top:[],bottom:[]}})};$(o.id,Sr+(L-c(o.id))/2,j);for(const[E,I]of M)$(E,I.x,I.y);const H=[],x=new Map,m=E=>{const I=U.get(E);return I?I.x+I.width/2:0};for(const E of s){const I=U.get(E.source),F=U.get(E.target);if(!I||!F)continue;const q=Zr(E),Y=I.layer>F.layer?"down":I.layer<F.layer?"up":"level";H.push({id:q,source:E.source,target:E.target,sourceHandle:`s:${q}`,targetHandle:`t:${q}`,link:E,width:im(E.count),back:I.layer<=F.layer,thin:!1,route:Y});const ne=Y==="down"?{source:"bottom",target:"top"}:Y==="up"?{source:"top",target:"bottom"}:{source:"top",target:"top"},ie=G=>{const P=x.get(G)??{top:[],bottom:[]};return x.set(G,P),P};ie(E.source)[ne.source].push({id:q,type:"source",other:m(E.target)}),ie(E.target)[ne.target].push({id:q,type:"target",other:m(E.source)})}const S=(E,I)=>E.other-I.other||E.id.localeCompare(I.id);for(const[E,I]of x){const F=U.get(E);F&&(I.top.sort(S),I.bottom.sort(S),F.ports={top:I.top.map(q=>({id:q.id,type:q.type})),bottom:I.bottom.map(q=>({id:q.id,type:q.type}))},F.sourceHandles=I.bottom.filter(q=>q.type==="source").map(q=>q.id),F.targetHandles=I.top.filter(q=>q.type==="target").map(q=>q.id))}return{layout:{nodes:[...U.values()],edges:H,layers:[],width:L+Sr*2,height:Z,basis:{kind:"all",declaredLinks:s.length,totalLinks:s.length},minWeight:0,hiddenLinks:0,mutual:[],moduleCycles:[]},zones:D}}function Pm(e,t){const n=new Set([t]);if(e.forks===null||e.forks.size===0)return n;for(let s=!0;s;){s=!1;for(const o of e.layout.edges){const a=n.has(o.source),i=n.has(o.target);if(a===i)continue;const l=a?o.target:o.source;e.forks.has(l)&&!n.has(l)&&(n.add(l),s=!0)}}return n}function IN(e,t,n,s){if(n!==null){const a=s??Pm(e,n);return a.has(t.source)||a.has(t.target)}return t.thin||t.back?!1:e.regions===null?!0:e.nodes.get(t.source)?.step?.anchor?e.regionEntries?.has(t.target)??!0:!0}function PN(e,t){return{arrivesFrom:e.links.filter(n=>n.to===t),leadsTo:e.links.filter(n=>n.from===t)}}function $c(e){return e.via.map(t=>t.name).join(" → ")}function Gv(e){return e.from===e.to?null:Zr({source:e.from,target:e.to})}var LN=O('<span class="mark svelte-1gxwpy3" aria-hidden="true">●</span>'),ON=O('<span class="more svelte-1gxwpy3" aria-hidden="true">…</span>'),DN=O('<button><span class="name svelte-1gxwpy3"><!> <!></span> <span class="sub svelte-1gxwpy3"> </span></button>');function RN(e,t){Re(t,!0);let n=Ne(t,"size",3,null),s=Ne(t,"note",3,"");const o=N(()=>t.info.step),a=N(()=>{switch(r(o).cut){case"depth":return" More happens past the depth of this picture — start here to see it.";case"fan-out":return" It reaches more than the walk follows from one node.";case"folded":return" The walk folded as much plumbing as it allows from one step.";case"steps":return" The picture reached its size limit here.";case"screen":return` Another ${Nr("screen",t.project,r(o))} — a chapter of its own. Start here to see what happens on it.`;case"component":return" The event lands in a component of another screen — a picture of its own. Start here to see it.";default:return""}});var i=DN();let l;var c=f(i),d=f(c);{var u=k=>{var A=LN();b(k,A)};B(d,k=>{r(o).anchor&&k(u)})}var h=p(d,1,!0),v=p(h);{var y=k=>{var A=ON();b(k,A)};B(v,k=>{r(o).cut!==null&&k(y)})}var g=p(c,2),w=f(g);C(k=>{l=De(i,1,`snode k-${r(o).kind}`,"svelte-1gxwpy3",l,{sel:t.selected,dimmed:t.dimmed,anchor:r(o).anchor,rail:n()===null}),ht(i,n()===null?void 0:`width:${n().width}px;height:${n().height}px`),ae(i,"aria-pressed",t.selected),ae(i,"title",k),_(h,t.info.label),_(w,t.info.sub)},[()=>`${t.info.label} — ${r(o).anchor?"where this picture starts; ":""}${Nr(r(o).kind,t.project,r(o))}. ${t.info.sub}.${s()?` ${s()}`:""}${r(a)}${t.onStart&&!r(o).anchor?" Double-click to start here.":""}`]),Ce("click",i,()=>t.onSelect(t.info.id)),st("dblclick",i,k=>{k.stopPropagation(),t.onStart?.(t.info.id)},!0),b(e,i),He()}Mt(["click"]);var HN=O("<!> <!> <!>",1);function zN(e,t){Re(t,!0);const n=N(()=>t.data),s=N(()=>r(n).layout);function o(d,u){return`left:${(d+1)/(u+1)*100}%`}var a=HN(),i=xe(a);Te(i,19,()=>r(s).ports.top,d=>`${d.type}:${d.id}`,(d,u,h)=>{{let v=N(()=>`${r(u).type==="source"?"s":"t"}:${r(u).id}`),y=N(()=>o(r(h),r(s).ports.top.length));Rn(d,{get type(){return r(u).type},get id(){return r(v)},get position(){return et.Top},get style(){return r(y)},isConnectable:!1})}});var l=p(i,2);RN(l,{get info(){return r(n).info},get project(){return r(n).project},get selected(){return r(n).selected},get dimmed(){return r(n).dimmed},get size(){return r(s)},get onSelect(){return r(n).onSelect},get onStart(){return r(n).onStart}});var c=p(l,2);Te(c,19,()=>r(s).ports.bottom,d=>`${d.type}:${d.id}`,(d,u,h)=>{{let v=N(()=>`${r(u).type==="source"?"s":"t"}:${r(u).id}`),y=N(()=>o(r(h),r(s).ports.bottom.length));Rn(d,{get type(){return r(u).type},get id(){return r(v)},get position(){return et.Bottom},get style(){return r(y)},isConnectable:!1})}}),b(e,a),He()}var FN=O('<b class="kw svelte-10oa9z2"> </b>'),qN=O("<!><!>",1),$N=O("<!>?",1),jN=O('<!> <div><span class="q svelte-10oa9z2"><!></span></div> <!>',1);function BN(e,t){Re(t,!0);const n=()=>Ct(Lt,"$t",s),[s,o]=Pt(),a=N(()=>t.data),i=N(()=>r(a).layout),l=N(()=>Wl(r(a).fork.on)),c=N(()=>r(l).length===0||Qa(r(l)).length>Ys);function d(M,D){return`left:${(M+1)/(D+1)*100}%`}var u=jN(),h=xe(u);Te(h,19,()=>r(i).ports.top,M=>`${M.type}:${M.id}`,(M,D,j)=>{{let W=N(()=>`${r(D).type==="source"?"s":"t"}:${r(D).id}`),K=N(()=>d(r(j),r(i).ports.top.length));Rn(M,{get type(){return r(D).type},get id(){return r(W)},get position(){return et.Top},get style(){return r(K)},isConnectable:!1})}});var v=p(h,2);let y;var g=f(v),w=f(g);{var k=M=>{var D=xt();C(()=>_(D,r(a).fork.label)),b(M,D)},A=M=>{var D=$N(),j=xe(D);Te(j,17,()=>r(l),nr,(W,K,Z)=>{var z=qN(),U=xe(z);{var $=S=>{var T=xt();T.nodeValue=" ",b(S,T)};B(U,S=>{Z>0&&S($)})}var H=p(U);{var x=S=>{var T=FN(),E=f(T);C(()=>_(E,r(K).text)),b(S,T)},m=S=>{var T=xt();C(()=>_(T,r(K).text)),b(S,T)};B(H,S=>{r(K).kw?S(x):S(m,-1)})}b(W,z)}),b(M,D)};B(w,M=>{r(c)?M(k):M(A,-1)})}var L=p(v,2);Te(L,19,()=>r(i).ports.bottom,M=>`${M.type}:${M.id}`,(M,D,j)=>{{let W=N(()=>`${r(D).type==="source"?"s":"t"}:${r(D).id}`),K=N(()=>d(r(j),r(i).ports.bottom.length));Rn(M,{get type(){return r(D).type},get id(){return r(W)},get position(){return et.Bottom},get style(){return r(K)},isConnectable:!1})}}),C(M=>{y=De(v,1,"fpoint svelte-10oa9z2",null,y,{dimmed:r(a).dimmed}),ht(v,`width:${r(i).width}px;height:${r(i).height}px`),ae(v,"title",M)},[()=>r(a).fork.on?n()("fork.titleWith",r(a).fork.on):n()("fork.title")]),b(e,u),He(),o()}var VN=O('<b class="kw svelte-1ham54o"> </b>'),WN=O("<!><!>",1),KN=O("<!>?",1),GN=O("<div><!></div>");function UN(e,t){Re(t,!0);const n=N(()=>t.data),s=N(()=>Wl(r(n).label.replace(/\?$/,""))),o=N(()=>r(s).length===0||Qa(r(s))!==r(n).label.replace(/\?$/,""));var a=GN();let i;var l=f(a);{var c=u=>{var h=xt();C(()=>_(h,r(n).label)),b(u,h)},d=u=>{var h=KN(),v=xe(h);Te(v,17,()=>r(s),nr,(y,g,w)=>{var k=WN(),A=xe(k);{var L=W=>{var K=xt();K.nodeValue=" ",b(W,K)};B(A,W=>{w>0&&W(L)})}var M=p(A);{var D=W=>{var K=VN(),Z=f(K);C(()=>_(Z,r(g).text)),b(W,K)},j=W=>{var K=xt();C(()=>_(K,r(g).text)),b(W,K)};B(M,W=>{r(g).kw?W(D):W(j,-1)})}b(y,k)}),b(u,h)};B(l,u=>{r(o)?u(c):u(d,-1)})}C(()=>{i=De(a,1,"dcap svelte-1ham54o",null,i,{dimmed:r(n).dimmed}),ht(a,`width:${r(n).width}px`),ae(a,"title",r(n).label)}),b(e,a),He()}var YN=O('<div class="rcap svelte-9iclwq"> </div>');function XN(e,t){const n=N(()=>t.data);var s=YN(),o=f(s);C(()=>{ht(s,`width:${r(n).width}px`),_(o,r(n).label)}),b(e,s)}var ZN=O('<div class="lrow svelte-1jp07je"><span class="k-cap mono svelte-1jp07je"> </span> <span class="svelte-1jp07je"></span></div> <div class="lrow svelte-1jp07je"><span class="k-label svelte-1jp07je"> </span> <span class="svelte-1jp07je"></span></div>',1),QN=O('<div class="lrow svelte-1jp07je"><span class="k-box mono svelte-1jp07je">POST /x</span> <span class="svelte-1jp07je"> </span></div> <div class="lrow svelte-1jp07je"><span class="k-box k-cross mono svelte-1jp07je">⇢ fn</span> <span class="svelte-1jp07je"> </span></div> <div class="lrow svelte-1jp07je"><span class="k-box k-store mono svelte-1jp07je">set</span> <span class="svelte-1jp07je"> </span></div> <div class="lrow svelte-1jp07je"><span class="k-box k-effect mono svelte-1jp07je">db</span> <span class="svelte-1jp07je"> </span></div>',1),Uv=O('<div class="lrow svelte-1jp07je"><span class="k-box mono svelte-1jp07je">/path</span> <span class="svelte-1jp07je"> </span></div> <div class="lrow svelte-1jp07je"><span class="k-box k-cross mono svelte-1jp07je">⇢ fn</span> <span class="svelte-1jp07je"> </span></div> <div class="lrow svelte-1jp07je"><span class="k-box k-store mono svelte-1jp07je">set</span> <span class="svelte-1jp07je"> </span></div> <div class="lrow svelte-1jp07je"><span class="k-box k-effect mono svelte-1jp07je">api</span> <span class="svelte-1jp07je"> </span></div>',1),JN=O('<div class="lrow svelte-1jp07je"><svg width="44" height="12" aria-hidden="true" class="svelte-1jp07je"><path d="M2 6 H42" class="k-line svelte-1jp07je"></path></svg> <span class="svelte-1jp07je"> </span></div> <div class="lrow svelte-1jp07je"><span class="k-box k-fork mono svelte-1jp07je">x?</span> <span class="svelte-1jp07je"></span></div> <div class="lrow svelte-1jp07je"><span class="k-label mono svelte-1jp07je">WHEN x</span> <span class="svelte-1jp07je"></span></div> <div class="lrow svelte-1jp07je"><span class="k-label svelte-1jp07je">via x</span> <span class="svelte-1jp07je"></span></div> <div class="lrow svelte-1jp07je"><svg width="44" height="12" aria-hidden="true" class="svelte-1jp07je"><path d="M2 6 H42" class="k-line k-synth svelte-1jp07je"></path></svg> <span class="svelte-1jp07je"> </span></div> <div class="lrow svelte-1jp07je"><span class="k-label mono svelte-1jp07je">name …</span> <span class="svelte-1jp07je"> </span></div>',1),e4=O('<div class="lrow svelte-1jp07je"><svg width="44" height="12" aria-hidden="true" class="svelte-1jp07je"><path d="M2 6 H42" class="k-line svelte-1jp07je"></path></svg> <span class="svelte-1jp07je"> </span></div> <div class="lrow svelte-1jp07je"><svg width="44" height="12" aria-hidden="true" class="svelte-1jp07je"><path d="M2 6 H42" class="k-line k-synth svelte-1jp07je"></path></svg> <span class="svelte-1jp07je"> </span></div> <div class="lrow svelte-1jp07je"><svg width="44" height="12" aria-hidden="true" class="svelte-1jp07je"><path d="M2 6 H42" class="k-line k-back svelte-1jp07je"></path></svg> <span class="svelte-1jp07je"> </span></div> <div class="lrow svelte-1jp07je"><span class="k-label mono svelte-1jp07je">x? · yes</span> <span class="svelte-1jp07je"></span></div> <div class="lrow svelte-1jp07je"><span class="k-label mono svelte-1jp07je">→ …x</span> <span class="svelte-1jp07je"> </span></div> <div class="lrow svelte-1jp07je"><span class="k-label mono svelte-1jp07je">name …</span> <span class="svelte-1jp07je"> </span></div>',1),t4=O('<div class="legend-body svelte-1jp07je"><div class="lrow svelte-1jp07je"><span class="k-box k-anchor mono svelte-1jp07je"><span class="mark svelte-1jp07je">●</span>start</span> <span class="svelte-1jp07je"> </span></div> <!> <!> <!></div>'),n4=O('<div><button class="legend-h svelte-1jp07je"> <span class="dim"> </span></button> <!></div>');function r4(e,t){Re(t,!0);const n=()=>Ct(Lt,"$t",s),[s,o]=Pt();let a=Ne(t,"regions",3,!1);var i=n4();let l;var c=f(i),d=f(c),u=p(d),h=f(u),v=p(c,2);{var y=g=>{var w=t4(),k=f(w),A=p(f(k),2),L=f(A),M=p(k,2);{var D=H=>{var x=ZN(),m=xe(x),S=f(m),T=f(S),E=p(S,2);Gt(E,()=>n()("key.regionDesc",Nr("screen",t.project)),!0);var I=p(m,2),F=f(I),q=f(F),Y=p(F,2);Gt(Y,()=>n()("key.noLineDesc",Nr("screen",t.project)),!0),C((ne,ie)=>{_(T,ne),_(q,ie)},[()=>n()("stepsKeyName"),()=>n()("key.noLine")]),b(H,x)};B(M,H=>{a()&&!t.order&&H(D)})}var j=p(M,2);{var W=H=>{var x=QN(),m=xe(x),S=p(f(m),2),T=f(S),E=p(m,2),I=p(f(E),2),F=f(I),q=p(E,2),Y=p(f(q),2),ne=f(Y),ie=p(q,2),G=p(f(ie),2),P=f(G);C((Q,V,X,le)=>{_(T,Q),_(F,V),_(ne,X),_(P,le)},[()=>n()("key.endpoint"),()=>n()("key.tierApi"),()=>n()("key.dataCall"),()=>n()("key.effectDb")]),b(H,x)},K=H=>{var x=Uv(),m=xe(x),S=p(f(m),2),T=f(S),E=p(m,2),I=p(f(E),2),F=f(I),q=p(E,2),Y=p(f(q),2),ne=f(Y),ie=p(q,2),G=p(f(ie),2),P=f(G);C((Q,V,X,le)=>{_(T,Q),_(F,V),_(ne,X),_(P,le)},[()=>n()("key.page"),()=>n()("key.tierWeb"),()=>n()("key.storeAction"),()=>n()("key.effectApi")]),b(H,x)},Z=H=>{var x=Uv(),m=xe(x),S=p(f(m),2),T=f(S),E=p(m,2),I=p(f(E),2),F=f(I),q=p(E,2),Y=p(f(q),2),ne=f(Y),ie=p(q,2),G=p(f(ie),2),P=f(G);C((Q,V,X,le)=>{_(T,Q),_(F,V),_(ne,X),_(P,le)},[()=>n()("key.screen"),()=>n()("key.tierNative"),()=>n()("key.storeAction"),()=>n()("key.effectNative")]),b(H,x)};B(j,H=>{t.project==="api"?H(W):t.project==="web"?H(K,1):H(Z,-1)})}var z=p(j,2);{var U=H=>{var x=JN(),m=xe(x),S=p(f(m),2),T=f(S),E=p(m,2),I=p(f(E),2);Gt(I,()=>n()("key.fork"),!0);var F=p(E,2),q=p(f(F),2);Gt(q,()=>n()("key.guard"),!0);var Y=p(F,2),ne=p(f(Y),2);Gt(ne,()=>n()("key.viaHelper"),!0);var ie=p(Y,2),G=p(f(ie),2),P=f(G),Q=p(ie,2),V=p(f(Q),2),X=f(V);C((le,se,re)=>{_(T,le),_(P,se),_(X,re)},[()=>n()("key.then"),()=>n()("key.synthHop"),()=>n()("key.notEntered",Nr("screen",t.project))]),b(H,x)},$=H=>{var x=e4(),m=xe(x),S=p(f(m),2),T=f(S),E=p(m,2),I=p(f(E),2),F=f(I),q=p(E,2),Y=p(f(q),2),ne=f(Y),ie=p(q,2),G=p(f(ie),2);Gt(G,()=>n()("key.forkOnCanvas"),!0);var P=p(ie,2),Q=p(f(P),2),V=f(Q),X=p(P,2),le=p(f(X),2),se=f(le);C((re,de,ue,fe,te)=>{_(T,re),_(F,de),_(ne,ue),_(V,fe),_(se,te)},[()=>n()("key.leadsTo"),()=>n()("key.synthHop"),()=>n()("key.back"),()=>n()("key.lastCondition"),()=>n()("key.notEnteredCanvas")]),b(H,x)};B(z,H=>{t.order?H(U):H($,-1)})}C(H=>_(L,H),[()=>t.order?n()("key.startOrder"):a()?n()("key.startRegions",Nr("screen",t.project)):n()("key.startTree")]),b(g,w)};B(v,g=>{t.open&&g(y)})}C(g=>{l=De(i,1,"legend svelte-1jp07je",null,l,{open:t.open,flow:t.flow}),ae(c,"aria-expanded",t.open),_(d,`${g??""} `),_(h,t.open?"▾":"▸")},[()=>n()("key.title")]),Ce("click",c,()=>t.onToggle(!t.open)),b(e,i),He(),o()}Mt(["click"]);function s4(e){return Du(e)}function o4(e){switch(e.block){case"inline":return e.via?`via ${e.via.name}`:"via a helper";case"loop":return e.by?e.loop==="while"?`again while ${e.by}`:`for each ${e.by}`:e.loop==="while"?"again and again":"for each item";case"later":return e.by?`later · ${e.by}`:"later";default:return e.by?`together · ${e.by}`:"together"}}function a4(e,t){const n=[],s=new Set([t]),o=new Map,a=[],i=(d,u,h)=>{if(d===u)return;const v=`${d} ${u}`,y=h.when.filter((k,A)=>k&&h.when.indexOf(k)===A).join(" && "),g=o.get(v);if(g){y!==g.when&&(g.when=!y||!g.when?"":`${g.when} || ${y}`);for(const k of h.runs)g.runs.includes(k)||g.runs.push(k);g.arm!==h.arm&&delete g.arm;return}const w={from:d,to:u,when:y,runs:[...h.runs],...h.arm!==void 0?{arm:h.arm}:{}};o.set(v,w),n.push(w)},l=(d,u,h)=>{let v=[...u];for(const y of d)if(y.kind==="step"){s.add(y.step);for(const w of v)i(w.id,y.step,{...w,runs:[...w.runs,...h]});let g=[{id:y.step,when:[],runs:[]}];y.body&&y.body.length>0&&(g=l(y.body,g,[])),v=g}else if(y.kind==="fork"){const w=y.arms.filter(A=>_l(A.body)).length>=2&&v.length>0?{id:`fork:${a.length}`,on:y.on,form:y.form}:null;if(w!==null){a.push(w);for(const A of v)i(A.id,w.id,{...A,runs:[...A.runs,...h]})}const k=[];for(const A of y.arms){const L=w!==null&&_l(A.body)?[{id:w.id,when:[A.when],runs:[...h],arm:i4(y,A)}]:v.map(D=>({id:D.id,when:[...D.when,A.when],runs:[...D.runs,...h]})),M=l(A.body,L,[]);A.ends===null&&k.push(...M)}y.arms.length<2&&k.push(...v.map(A=>({...A,runs:[...A.runs,...h]}))),v=k}else if(y.kind==="block"){const g=o4(y),w=l(y.body,v,[...h,g]);v=(w.length>0?w:v).map(k=>k.runs.includes(g)?{...k,runs:k.runs.filter(A=>A!==g)}:k)}return v};l(e.root,[{id:t,when:[],runs:[]}],[]);for(const d of s)d!==t&&!n.some(u=>u.to===d)&&i(t,d,{when:[],runs:[]});const c=new Set(s);for(const d of a)c.add(d.id);return{edges:n,depth:l4(t,c,n),forks:a}}function _l(e){return e.some(t=>t.kind==="step"?!0:t.kind==="fork"?t.arms.some(n=>_l(n.body)):t.kind==="block"?_l(t.body):!1)}function i4(e,t){return Am({on:e.on,arm:t.when,form:e.form,not:t.not})}function l4(e,t,n){const s=c4(e,t,n),o=new Map;for(const a of t)o.set(a,0);o.set(e,0);for(let a=0;a<t.size;a++){let i=!1;for(const l of s){const c=(o.get(l.from)??0)+1;c>(o.get(l.to)??0)&&(o.set(l.to,c),i=!0)}if(!i)break}return o}function c4(e,t,n){const s=new Map;for(const i of n){const l=s.get(i.from);l?l.push(i):s.set(i.from,[i])}const o=new Map,a=new Set;for(const i of[e,...t]){if(o.has(i))continue;o.set(i,1);const l=[{id:i,next:0}];for(;l.length>0;){const c=l[l.length-1],d=s.get(c.id)??[];if(c.next>=d.length){o.set(c.id,2),l.pop();continue}const u=d[c.next++],h=o.get(u.to);h===1?a.add(u):h===void 0&&(o.set(u.to,1),l.push({id:u.to,next:0}))}}return n.filter(i=>!a.has(i))}const d4=24;function u4(e){if(!e.program)return null;const t=e.steps.find(L=>L.anchor);if(!t)return null;const n=a4(e.program,t.id),s=new Map,o=new Map,a=[],i={anchor:0,screen:0,trigger:0,bridge:0,event:0,store:0,effect:0},l=new Map;for(const L of n.edges)l.set(L.from,(l.get(L.from)??0)+1),l.set(L.to,(l.get(L.to)??0)+1);const c=new Map(e.steps.map(L=>[L.id,L]));for(const L of[t.id,...n.depth.keys()]){if(s.has(L))continue;const M=c.get(L);if(!M)continue;i[M.kind]++;const D={id:L,step:M,label:Mm(M),sub:Nm(M,e.project)};s.set(L,D),a.push({id:L,label:D.label,files:1,symbols:l.get(L)??0,languages:[],test:!1,generated:0,generatedFiles:[],facade:!1,fileList:{total:1,shown:1,truncated:!1,items:[M.node?.file??M.sub]}})}for(const L of n.forks){const M=v4(L.on);o.set(L.id,{id:L.id,on:L.on,form:L.form,label:M}),a.push({id:L.id,label:M,files:0,symbols:l.get(L.id)??0,languages:[],test:!1,generated:0,generatedFiles:[],facade:!1,fileList:{total:0,shown:0,truncated:!1,items:[]}})}const d=L=>s.has(L)||o.has(L),u=[],h=new Map;for(const L of n.edges){if(!d(L.from)||!d(L.to))continue;const M=Zr({source:L.from,target:L.to});if(h.has(M))continue;u.push({source:L.from,target:L.to,count:1,declared:1,byKind:[{kind:"calls",count:1}],topPairs:[]});const D=e.links.filter(j=>j.to===L.to);h.set(M,{id:M,from:L.from,to:L.to,links:D,label:f4(L),synthesized:D.length>0&&D.every(j=>j.synthesized),kind:D[0]?.kind??"calls"})}const v=new Map;for(const L of n.edges){if(!o.has(L.from))continue;const M=c.get(L.to)?.order;M!==void 0&&v.set(L.from,Math.min(v.get(L.from)??Number.MAX_SAFE_INTEGER,M))}const y=Math.max(0,...n.depth.values()),w=jl({modules:a,links:u},{includeTests:!0,minWeight:0,sizing:L=>{const M=o.get(L.id);if(M)return{label:M.label,meta:""};const D=s.get(L.id),j=D?.step.cut!=null?" …":"";return{label:(D?.step.anchor?"● ":"")+(D?.label??L.id)+j,meta:D?.sub??""}},layering:L=>new Map(L.map(M=>[M,y-(n.depth.get(M)??y)])),order:L=>s.get(L)?.step.order??v.get(L)??Number.MAX_SAFE_INTEGER,layerGap:Or,portPitch:$l,ports:"directional"}),k=Ru(w,Or),A=new Map;for(const[L,M]of k)A.set(L,Hu(M,d4));return{layout:w,nodes:s,edges:h,layerGap:Or,curves:k,polylines:A,counts:i,regions:null,regionEntries:null,forks:o,decisions:[]}}function f4(e){if(e.arm)return e.arm;if(!e.when)return e.runs.length>0?e.runs[e.runs.length-1]:"";const t=Qa(s4(e.when));return t.length>Ys?`${t.slice(0,Ys-1)}…`:t}function v4(e){const t=Kl(e);return t?t.length>Ys?`${t.slice(0,Ys-1)}…?`:`${t}?`:"?"}const sa=(e,t=cn)=>{var n=Tt(),s=xe(n);Te(s,17,t,nr,(o,a,i,l)=>{var c=p4(),d=xe(c);{var u=g=>{var w=xt();w.nodeValue=" ",b(g,w)};B(d,g=>{i>0&&g(u)})}var h=p(d);{var v=g=>{var w=h4(),k=f(w);C(()=>_(k,r(a).text)),b(g,w)},y=g=>{var w=xt();C(()=>_(w,r(a).text)),b(g,w)};B(h,g=>{r(a).kw?g(v):g(y,-1)})}b(o,c)}),b(e,n)};var h4=O('<b class="kw svelte-v5q9re"> </b>'),p4=O("<!><!>",1),Yv=O('<div class="state svelte-v5q9re"><h2 class="svelte-v5q9re"> </h2> <p> </p></div>'),Xv=O("<p></p>"),jc=O('<p class="dim svelte-v5q9re"> </p>'),g4=O('<p class="dim svelte-v5q9re"></p>'),Zv=O('<a class="pick mono svelte-v5q9re"> <span class="dim sans svelte-v5q9re"> </span></a>'),m4=O('<div class="chooser-list svelte-v5q9re"></div>'),y4=O('<div class="group-h svelte-v5q9re"><span class="mono svelte-v5q9re"> </span><span class="dim svelte-v5q9re"> </span></div> <div class="chooser-list svelte-v5q9re"></div>',1),_4=O('<div class="state chooser svelte-v5q9re"><h2 class="svelte-v5q9re"> </h2> <!> <!></div>'),b4=O('<div class="state svelte-v5q9re"><p class="dim svelte-v5q9re"> </p></div>'),w4=O('<div class="state svelte-v5q9re"><h2 class="svelte-v5q9re"> </h2> <p> </p> <p><a class="pick svelte-v5q9re"> </a></p></div>'),x4=O('<span class="fires svelte-v5q9re"><b class="kw svelte-v5q9re"> </b> <span class="dim svelte-v5q9re"> </span></span>'),k4=O('<span class="via svelte-v5q9re"> </span>'),Bc=O('<span class="dim svelte-v5q9re"> </span>'),oa=O('<b class="status svelte-v5q9re"> </b> ·',1),E4=O('<span class="mono svelte-v5q9re"><!> </span>'),S4=O('<div class="tiprow svelte-v5q9re"><!> <!> <!> <!> <span class="when svelte-v5q9re"><!></span> <!> <!></div>'),T4=O('<div class="dim svelte-v5q9re"> </div>'),C4=O('<div class="tip svelte-v5q9re"><div class="mono svelte-v5q9re"><b> </b> </div> <!> <!></div>'),M4=O("<!> <!>",1),Vc=O('<div class="fires svelte-v5q9re"><b class="kw svelte-v5q9re"> </b> <span class="dim svelte-v5q9re"> </span></div>'),Wc=O('<a class="sub svelte-v5q9re"><!> </a>'),N4=O('<a class="sub dim svelte-v5q9re"> </a>'),A4=O('<a class="sub act svelte-v5q9re"> </a>'),aa=O('<p class="dim note svelte-v5q9re"> </p>'),Qv=O('<p class="dim note mono svelte-v5q9re"> </p>'),Jv=O('<div class="via svelte-v5q9re"> </div>'),ki=O('<div class="via dim svelte-v5q9re"> </div>'),Ei=O('<div class="when svelte-v5q9re"><!></div>'),eh=O('<div class="ways dim svelte-v5q9re"> </div>'),th=O('<div class="fires svelte-v5q9re"><b class="kw svelte-v5q9re"> </b> </div>'),nh=O('<a class="site svelte-v5q9re"><!> <span class="dim svelte-v5q9re"> </span></a>'),rh=O('<span class="site svelte-v5q9re"><!> <span class="dim svelte-v5q9re"> </span></span>'),sh=O("<div><!> <!> <!></div>"),oh=O('<a class="site act svelte-v5q9re"> </a>'),ah=O('<div role="presentation"><button class="peer mono svelte-v5q9re"> </button> <!> <!> <!> <!> <!> <!> <!> <!></div>'),I4=O('<div class="head svelte-v5q9re"><div><div class="mono big svelte-v5q9re"> </div> <div class="sub dim svelte-v5q9re"> <!></div> <!> <!> <!> <!> <!></div> <button class="clear svelte-v5q9re"> </button></div> <!> <!> <!> <!> <!> <h4 class="svelte-v5q9re"> <span class="dim svelte-v5q9re"> </span></h4> <!> <!> <h4 class="svelte-v5q9re"> <span class="dim svelte-v5q9re"> </span></h4> <!> <!>',1),P4=O("<!> <a> </a>",1),L4=O('<p class="dim note svelte-v5q9re"> <!></p>'),ih=O("<option> </option>"),O4=O("<span><b> </b> </span>"),D4=O('<p class="dim svelte-v5q9re"><span class="mark svelte-v5q9re">●</span> <!></p>'),R4=O('<p class="dim svelte-v5q9re"><span class="mark svelte-v5q9re">●</span> </p>'),H4=O('<p class="dim svelte-v5q9re"> <!> <!> <!></p>'),z4=O('<button class="peer mono svelte-v5q9re"> <span class="dim sans svelte-v5q9re"> </span></button>'),F4=O('<div class="head svelte-v5q9re"><div><div class="big svelte-v5q9re"></div> <a class="sub svelte-v5q9re"><!> </a> <a class="sub dim svelte-v5q9re"> </a></div></div> <!> <p class="reading svelte-v5q9re"> <a> </a> <a> </a></p> <p><!> <select class="depth svelte-v5q9re"><!><!></select></p> <p><label class="opt svelte-v5q9re"><input type="checkbox" class="svelte-v5q9re"/> </label> <span class="dim svelte-v5q9re"> </span></p> <p class="counts svelte-v5q9re"></p> <!> <!> <h4 class="svelte-v5q9re"> </h4> <!>',1),q4=O('<aside class="side svelte-v5q9re"><!></aside>'),$4=O('<div class="steps svelte-v5q9re"><div class="stage svelte-v5q9re" role="presentation"><!> <!></div> <!></div>');function j4(e,t){Re(t,!0);const n=()=>Ct(Lt,"$t",s),[s,o]=Pt();let a=ve(null),i=ve(null),l=ve(!0),c=ve(null),d=ve(null),u=ve(null),h=ve(null),v=ve(void 0);const y=10;let g=ve(null),w=ve(null);const k=N(()=>r(g)===null?null:r(g).length>0?"screens":r(w)===null?null:r(w).length>0?"routes":"none");function A(ye){const ge=new Map;for(const ke of ye){const Ee=ge.get(ke.routeFile)??[];Ee.push(ke),ge.set(ke.routeFile,Ee)}return[...ge].map(([ke,Ee])=>({file:ke,entries:[...Ee].sort((je,Ge)=>je.routeLine-Ge.routeLine)})).sort((ke,Ee)=>Ee.entries.length-ke.entries.length||ke.file.localeCompare(Ee.file))}const L="codegraph-ui:steps-legend";let M=ve(kn(D()));function D(){try{return localStorage.getItem(L)!=="closed"}catch{return!0}}it(()=>{try{localStorage.setItem(L,r(M)?"open":"closed")}catch{}});const j={step:zN,region:XN,fork:BN,decision:UN},W=400;let K=null;function Z(ye){const ge=r(m)?.nodes.get(ye)?.step;return!ge||!ge.node||ge.anchor?!1:($t(wr({anchor:ge.node.id})),!0)}const z={screen:Cm},U=[4,6,8,10,12],$=N(()=>t.anchor!==null||t.symbol!==null),H=q_();it(()=>{Kn.indexTick;const ye=t.anchor!==null?{anchor:t.anchor,depth:t.depth??void 0,through:t.through}:t.symbol!==null?{symbol:t.symbol,depth:t.depth??void 0,through:t.through}:null,ge=new AbortController;return R(c,null),R(d,null),R(u,null),ye===null?(R(a,null),R(l,!1),R(i,null),Ep(ge.signal).then(async ke=>{if(R(g,ke.routed?ke.screens:[],!0),ke.routed){R(w,[],!0);return}const Ee=await H_({limit:300},ge.signal);R(w,Ee.routed?Ee.entries:[],!0)}).catch(()=>{R(g,r(g)??[],!0),R(w,r(w)??[],!0)}),()=>ge.abort()):(R(l,!0),R(i,null),F_(ye,ge.signal).then(ke=>{R(a,ke,!0),R(l,!1)}).catch(ke=>{ge.signal.aborted||(R(i,ke instanceof Error?ke.message:String(ke),!0),R(l,!1))}),()=>ge.abort())});const x=N(()=>t.reading??r(a)?.defaultView??"tree"),m=N(()=>r(a)===null?null:(r(x)==="order"?u4(r(a)):null)??CN(r(a))),S=N(()=>r(a)?.program!=null),T=N(()=>r(m)!==null&&r(m).layout.nodes.length<=24&&r(M)?{padding:{left:"440px",top:"32px",right:"32px",bottom:"32px"},maxZoom:1,minZoom:.4}:{padding:.1,maxZoom:1,minZoom:r(m)!==null&&r(m).regions!==null?.2:.4}),E=N(()=>r(m)===null||r(c)===null?null:Pm(r(m),r(c))),I=N(()=>{if(r(m)===null||r(E)===null)return null;const ye=new Set(r(E));for(const ge of r(m).layout.edges)r(E).has(ge.source)&&ye.add(ge.target),r(E).has(ge.target)&&ye.add(ge.source);return ye}),F=N(()=>r(x)==="order"?!0:r(m)===null?!1:new Set([...r(m).edges.values()].filter(ye=>ye.arm!==void 0).map(ye=>ye.id))),q=N(()=>r(m)===null?null:Sm(r(m),r(c),r(F))),Y=N(()=>r(d)?.edge.id??r(u)?.edge??null),ne=N(()=>{if(r(m)===null||r(Y)===null||r(q)?.pills.has(r(Y)))return null;const ye=r(u)?.edge===r(Y)?te(r(u).link):void 0;return Tm(r(m),r(Y),r(c),ye,r(q)??void 0)}),ie=N(()=>{if(r(m)===null)return[];const ye=(r(m).regions??[]).map(ge=>({id:`region:${ge.id}`,type:"region",position:{x:ge.x,y:ge.y-32},draggable:!1,selectable:!1,connectable:!1,data:{label:ge.label,width:ge.width}}));for(const ge of r(m).decisions){const ke=ge.id.slice(0,ge.id.indexOf(" "));ye.push({id:`decision:${ge.id}`,type:"decision",position:{x:ge.x,y:ge.y},draggable:!1,selectable:!1,connectable:!1,data:{label:ge.label,width:ge.width,dimmed:r(I)!==null&&!r(I).has(ke)}})}return ye.concat(r(m).layout.nodes.map(ge=>{const ke=r(m).forks?.get(ge.id);return ke?{id:ge.id,type:"fork",position:{x:ge.x,y:ge.y},draggable:!1,selectable:!1,connectable:!1,data:{layout:ge,fork:ke,dimmed:r(I)!==null&&!r(I).has(ge.id)}}:{id:ge.id,type:"step",position:{x:ge.x,y:ge.y},draggable:!1,selectable:!1,connectable:!1,data:{layout:ge,info:r(m).nodes.get(ge.id),project:r(a)?.project??"app",selected:r(c)===ge.id,dimmed:r(I)!==null&&!r(I).has(ge.id),onSelect:Ee=>{const je=performance.now();K!==null&&K.id===Ee&&je-K.at<W&&(K=null,Z(Ee))||(K={id:Ee,at:je},R(c,r(c)===Ee?null:Ee,!0),R(d,null),R(u,null))},...r(m).nodes.get(ge.id)?.step.node&&!r(m).nodes.get(ge.id)?.step.anchor?{onStart:Z}:{}}}}))}),G=N(()=>{if(r(m)===null)return[];const ye=r(Y);return r(m).layout.edges.filter(ge=>IN(r(m),ge,r(c),r(E)??void 0)).map(ge=>{const ke=r(E)!==null&&(r(E).has(ge.source)||r(E).has(ge.target)),Ee=ye===ge.id,je=Ee||ke;return{id:ge.id,source:ge.source,target:ge.target,sourceHandle:ge.sourceHandle,targetHandle:ge.targetHandle,type:"screen",selectable:!1,deletable:!1,zIndex:Ee?3:je?2:1,data:{edge:ge,info:r(m).edges.get(ge.id),curve:r(m).curves.get(ge.id),hot:je,soft:je&&ye!==null&&!Ee,focus:Ee,dimmed:r(c)!==null&&!ke,pill:r(q)?.pills.get(ge.id)??(Ee?r(ne):null),full:r(u)?.edge===ge.id?te(r(u).link):null,onHover:re}}})}),P=N(()=>r(c)===null||r(m)===null?null:r(m).nodes.get(r(c))??null),Q=N(()=>r(c)===null||r(a)===null?null:PN(r(a),r(c))),V=N(()=>r(d)===null||r(m)===null?null:r(m).edges.get(r(d).edge.id)??null),X=N(()=>r(m)===null?new Map:new Map(r(m).layout.edges.map(ye=>[ye.id,ye]))),le=N(()=>new Set(r(G).map(ye=>ye.id)));function se(ye){return wr({anchor:t.anchor??void 0,symbol:t.anchor===null?t.symbol??void 0:void 0,depth:ye.depth??t.depth??void 0,through:ye.through??t.through,view:ye.view??t.reading??void 0})}function re(ye,ge){if(ye===null||ge===null||r(h)===null){R(d,null);return}const ke=r(h).getBoundingClientRect();R(d,{edge:ye,x:Math.min(ge.clientX-ke.left+14,ke.width-420),y:ge.clientY-ke.top+14},!0)}function de(ye){if(r(m)===null||r(h)===null)return;const ge=ye.target;if(ge?.closest(".spill"))return;if(ge?.closest(".snode, .legend, .tip, .svelte-flow__controls")){R(d,null);return}const ke=r(v)??ue();if(!ke)return;const Ee=r(h).getBoundingClientRect(),je={x:(ye.clientX-Ee.left-ke.x)/ke.zoom,y:(ye.clientY-Ee.top-ke.y)/ke.zoom},Ge=xm(r(m),je,r(le),y/ke.zoom),lt=Ge===null?void 0:r(X).get(Ge.id);if(!lt){R(d,null);return}R(d,{edge:lt,x:Math.min(ye.clientX-Ee.left+14,Ee.width-420),y:ye.clientY-Ee.top+14},!0)}function ue(){const ge=r(h)?.querySelector(".svelte-flow__viewport")?.style.transform.match(/translate\(([-\d.]+)px,\s*([-\d.]+)px\)\s*scale\(([-\d.]+)\)/);return ge?{x:Number(ge[1]),y:Number(ge[2]),zoom:Number(ge[3])}:null}function fe(ye){const ge=ye===null?null:Gv(ye);R(u,ye===null||ge===null?null:{edge:ge,link:ye},!0)}function te(ye){return`${r(c)!==null&&ye.to===r(c)&&ye.from!==r(c)?"←":"→"} ${Kl(ye.when)||"always"}`}function ee(ye){return r(u)!==null?r(u).link.id===ye.id:r(d)!==null&&Gv(ye)===r(d).edge.id}function ce(ye){return r(m)?.nodes.get(ye)?.label??r(m)?.forks?.get(ye)?.label??ye}function J(ye){const ge=r(a)?.steps.find(Ee=>Ee.id===ye.from)?.node,ke=r(a)?.steps.find(Ee=>Ee.id===ye.to)?.node;return!ge||!ke?null:Qs({from:ge.name,to:ke.name})}function oe(ye,ge,ke){const je=ye.via[ye.via.length-1]?.id??ke;return je===null?null:_n(je,{line:ge.line})}function be(ye){return ye.slice(ye.lastIndexOf("/")+1)}function _e(ye){return ye.args===void 0?ye.text:`${ye.text}(${ye.args})`}var Ie=$4(),pe=f(Ie),me=f(pe);{var Se=ye=>{var ge=Yv(),ke=f(ge),Ee=f(ke),je=p(ke,2),Ge=f(je);C((lt,ct)=>{_(Ee,lt),_(Ge,ct)},[()=>n()("steps.noCanvasTitle"),()=>n()("steps.noCanvasDesc")]),b(ye,ge)},Me=ye=>{var ge=_4(),ke=f(ge),Ee=f(ke),je=p(ke,2);{var Ge=tt=>{var Ae=Xv();Gt(Ae,()=>n()("steps.chooserRoutes",n()("steps.fromHere")),!0),b(tt,Ae)},lt=tt=>{var Ae=Xv();Gt(Ae,()=>n()("steps.chooserScreens",n()("steps.fromHere")),!0),b(tt,Ae)};B(je,tt=>{r(k)==="routes"?tt(Ge):tt(lt,-1)})}var ct=p(je,2);{var Dt=tt=>{var Ae=jc(),Qe=f(Ae);C(Xe=>_(Qe,Xe),[()=>r(g)===null?n()("steps.readingScreens"):n()("steps.readingEndpoints")]),b(tt,Ae)},Rt=tt=>{var Ae=g4();Gt(Ae,()=>n()("steps.noScreensOrEndpoints",n()("steps.fromHere")),!0),b(tt,Ae)},Wt=tt=>{var Ae=m4();Te(Ae,21,()=>[...r(g)].sort((Qe,Xe)=>Xe.outgoing+Xe.incoming-(Qe.outgoing+Qe.incoming)||Qe.path.localeCompare(Xe.path)),Qe=>Qe.id,(Qe,Xe)=>{var Ke=Zv(),Be=f(Ke),nt=p(Be),Le=f(nt);C((Je,dt)=>{ae(Ke,"href",Je),_(Be,`${r(Xe).path??""} `),_(Le,dt)},[()=>wr({anchor:r(Xe).id}),()=>r(Xe).component?.name??be(r(Xe).file)]),b(Qe,Ke)}),b(tt,Ae)},At=tt=>{var Ae=Tt(),Qe=xe(Ae);Te(Qe,17,()=>A(r(w)),Xe=>Xe.file,(Xe,Ke)=>{var Be=y4(),nt=xe(Be),Le=f(nt),Je=f(Le),dt=p(Le),gt=f(dt),bt=p(nt,2);Te(bt,21,()=>r(Ke).entries,It=>It.routeId,(It,zt)=>{var Jt=Zv(),Qt=f(Jt),dn=p(Qt),Mn=f(dn);C(rt=>{ae(Jt,"href",rt),_(Qt,`${r(zt).url??""} `),_(Mn,r(zt).handler)},[()=>wr({anchor:r(zt).routeId})]),b(It,Jt)}),C(()=>{_(Je,r(Ke).file),_(gt,r(Ke).entries.length)}),b(Xe,Be)}),b(tt,Ae)};B(ct,tt=>{r(k)===null?tt(Dt):r(k)==="none"?tt(Rt,1):r(k)==="screens"&&r(g)!==null?tt(Wt,2):r(w)!==null&&tt(At,3)})}C(tt=>_(Ee,tt),[()=>n()("steps.fromWhereTitle")]),b(ye,ge)},ze=ye=>{var ge=Yv(),ke=f(ge),Ee=f(ke),je=p(ke,2),Ge=f(je);C(lt=>{_(Ee,lt),_(Ge,r(i))},[()=>n()("steps.readFailedTitle")]),b(ye,ge)},Ue=ye=>{var ge=b4(),ke=f(ge),Ee=f(ke);C(je=>_(Ee,je),[()=>n()("steps.walking")]),b(ye,ge)},$e=ye=>{var ge=w4(),ke=f(ge),Ee=f(ke),je=p(ke,2),Ge=f(je),lt=p(je,2),ct=f(lt),Dt=f(ct);C((Rt,Wt,At,tt)=>{_(Ee,Rt),_(Ge,Wt),ae(ct,"href",At),_(Dt,tt)},[()=>n()("steps.noOrderTitle"),()=>n()("steps.noOrderDesc"),()=>se({view:"tree"}),()=>n()("steps.treeCta")]),b(ye,ge)},Ye=ye=>{var ge=M4(),ke=xe(ge);Fl(ke,{get nodes(){return r(ie)},get edges(){return r(G)},get nodeTypes(){return j},get edgeTypes(){return z},fitView:!0,get fitViewOptions(){return r(T)},minZoom:.2,maxZoom:3,nodesDraggable:!1,nodesConnectable:!1,elementsSelectable:!1,panOnDrag:!0,proOptions:{hideAttribution:!0},onpaneclick:()=>{R(c,null),R(d,null),R(u,null)},get viewport(){return r(v)},set viewport(Ge){R(v,Ge,!0)},children:(Ge,lt)=>{ql(Ge,{position:"bottom-right",showLock:!1})},$$slots:{default:!0}});var Ee=p(ke,2);{var je=Ge=>{var lt=C4(),ct=f(lt),Dt=f(ct),Rt=f(Dt),Wt=p(Dt),At=p(ct,2);Te(At,17,()=>r(V).links.slice(0,5),Qe=>Qe.id,(Qe,Xe)=>{var Ke=S4(),Be=f(Ke);{var nt=Fe=>{var We=x4(),wt=f(We),sn=f(wt),Hn=p(wt),bn=p(Hn),Un=f(bn);C((un,wn,or)=>{_(sn,un),_(Hn,` ${wn??""} `),_(Un,`${or??""} ${r(Xe).trigger.in??""}`)},[()=>n()("steps.firesFrom"),()=>Xn(r(Xe).trigger),()=>n()("steps.in")]),b(Fe,We)};B(Be,Fe=>{r(Xe).trigger&&Fe(nt)})}var Le=p(Be,2);{var Je=Fe=>{var We=k4(),wt=f(We);C(sn=>_(wt,sn),[()=>n()("rails.via",$c(r(Xe)))]),b(Fe,We)};B(Le,Fe=>{r(Xe).via.length>0&&Fe(Je)})}var dt=p(Le,2);{var gt=Fe=>{var We=Bc(),wt=f(We);C(sn=>_(wt,sn),[()=>n()("steps.inside",r(Xe).within)]),b(Fe,We)};B(dt,Fe=>{r(Xe).within&&Fe(gt)})}var bt=p(dt,2);{var It=Fe=>{var We=Bc(),wt=f(We);C(sn=>_(wt,sn),[()=>n()("steps.ways",r(Xe).sites.length)]),b(Fe,We)};B(bt,Fe=>{r(Xe).sites.length>1&&Fe(It)})}var zt=p(bt,2),Jt=f(zt);{let Fe=N(()=>Du(r(Xe).when));sa(Jt,()=>r(Fe))}var Qt=p(zt,2);{var dn=Fe=>{var We=Bc(),wt=f(We);C(()=>_(wt,r(Xe).label)),b(Fe,We)};B(Qt,Fe=>{r(Xe).label&&Fe(dn)})}var Mn=p(Qt,2);{var rt=Fe=>{var We=E4(),wt=f(We);{var sn=bn=>{var Un=oa(),un=xe(Un),wn=f(un);C(()=>_(wn,r(Xe).sites[0].status)),b(bn,Un)};B(wt,bn=>{r(Xe).sites[0].status&&bn(sn)})}var Hn=p(wt,1,!0);C(bn=>_(Hn,bn),[()=>_e(r(Xe).sites[0])]),b(Fe,We)};B(Mn,Fe=>{r(Xe).sites[0]&&Fe(rt)})}b(Qe,Ke)});var tt=p(At,2);{var Ae=Qe=>{var Xe=T4(),Ke=f(Xe);C(Be=>_(Ke,Be),[()=>n()("steps.more",r(V).links.length-5)]),b(Qe,Xe)};B(tt,Qe=>{r(V).links.length>5&&Qe(Ae)})}C((Qe,Xe)=>{ht(lt,`left:${r(d).x}px;top:${r(d).y}px`),_(Rt,Qe),_(Wt,` → ${Xe??""}`)},[()=>ce(r(V).from),()=>ce(r(V).to)]),b(Ge,lt)};B(Ee,Ge=>{r(d)!==null&&r(V)!==null&&Ge(je)})}b(ye,ge)};B(me,ye=>{H?r($)?r(i)!==null?ye(ze,2):r(l)&&r(a)===null?ye(Ue,3):r(m)!==null&&r(a)!==null&&r(x)==="order"&&!r(S)?ye($e,4):r(m)!==null&&r(a)!==null&&ye(Ye,5):ye(Me,1):ye(Se)})}var at=p(me,2);{var pt=ye=>{{let ge=N(()=>r(x)==="order"),ke=N(()=>r(m).regions!==null);r4(ye,{get project(){return r(a).project},get order(){return r(ge)},get regions(){return r(ke)},flow:!1,get open(){return r(M)},onToggle:Ee=>R(M,Ee,!0)})}};B(at,ye=>{r(a)!==null&&r(m)!==null&&(r(x)==="tree"||r(S))&&ye(pt)})}Zt(pe,ye=>R(h,ye),()=>r(h));var Ot=p(pe,2);{var Nt=ye=>{var ge=q4(),ke=f(ge);{var Ee=Ge=>{var lt=I4(),ct=xe(lt),Dt=f(ct),Rt=f(Dt),Wt=f(Rt),At=p(Rt,2),tt=f(At),Ae=p(tt);{var Qe=Pe=>{var we=xt();C(Ve=>_(we,`· ${Ve??""}`),[()=>n()("steps.wherePictureStarts")]),b(Pe,we)};B(Ae,Pe=>{r(P).step.anchor&&Pe(Qe)})}var Xe=p(At,2);{var Ke=Pe=>{var we=Vc(),Ve=f(we),Ze=f(Ve),ft=p(Ve),Tn=p(ft),Nn=f(Tn);C((qr,xs,zo)=>{_(Ze,qr),_(ft,` ${xs??""} `),_(Nn,`${zo??""} ${r(P).step.trigger.in??""}`)},[()=>n()("steps.firesFrom"),()=>Xn(r(P).step.trigger),()=>n()("steps.in")]),b(Pe,we)};B(Xe,Pe=>{r(P).step.trigger&&Pe(Ke)})}var Be=p(Xe,2);{var nt=Pe=>{var we=Wc(),Ve=f(we);Bt(Ve,{get kind(){return r(P).step.screen.component.kind}});var Ze=p(Ve);C(ft=>{ae(we,"href",ft),_(Ze,` ${r(P).step.screen.component.name??""}`)},[()=>_n(r(P).step.screen.component.id)]),b(Pe,we)},Le=Pe=>{var we=Wc(),Ve=f(we);Bt(Ve,{get kind(){return r(P).step.node.kind}});var Ze=p(Ve);C(ft=>{ae(we,"href",ft),_(Ze,` ${r(P).step.node.name??""}`)},[()=>_n(r(P).step.node.id)]),b(Pe,we)};B(Be,Pe=>{r(P).step.screen?.component?Pe(nt):r(P).step.node&&r(P).step.kind!=="screen"&&Pe(Le,1)})}var Je=p(Be,2);{var dt=Pe=>{var we=Wc(),Ve=f(we);Bt(Ve,{get kind(){return r(P).step.effect.by.kind}});var Ze=p(Ve);C((ft,Tn)=>{ae(we,"href",ft),_(Ze,` ${r(P).step.effect.by.name??""} · ${Tn??""}`)},[()=>_n(r(P).step.effect.by.id,{line:r(P).step.effect.line}),()=>n()("flowBoundaryLine",r(P).step.effect.line)]),b(Pe,we)};B(Je,Pe=>{r(P).step.effect&&Pe(dt)})}var gt=p(Je,2);{var bt=Pe=>{var we=N4(),Ve=f(we);C(Ze=>{ae(we,"href",Ze),_(Ve,r(P).step.node.file)},[()=>hn(r(P).step.node.file)]),b(Pe,we)};B(gt,Pe=>{r(P).step.node&&Pe(bt)})}var It=p(gt,2);{var zt=Pe=>{var we=A4(),Ve=f(we);C((Ze,ft)=>{ae(we,"href",Ze),_(Ve,ft)},[()=>wr({anchor:r(P).step.node.id}),()=>n()("steps.startHere")]),b(Pe,we)};B(It,Pe=>{r(P).step.node&&!r(P).step.anchor&&Pe(zt)})}var Jt=p(Dt,2),Qt=f(Jt),dn=p(ct,2);{var Mn=Pe=>{var we=aa(),Ve=f(we);C(Ze=>_(Ve,Ze),[()=>n()("steps.cutScreen",Nr("screen",r(a).project,r(P).step),Hi("screen",r(a).project)[1])]),b(Pe,we)},rt=Pe=>{var we=aa(),Ve=f(we);C(Ze=>_(Ve,Ze),[()=>n()("steps.cutComponent")]),b(Pe,we)},Fe=Pe=>{var we=aa(),Ve=f(we);C(Ze=>_(Ve,Ze),[()=>r(P).step.cut==="depth"?n()("steps.cutDepth"):r(P).step.cut==="fan-out"?n()("steps.cutFanOut"):r(P).step.cut==="folded"?n()("steps.cutFolded"):n()("steps.cutSize")]),b(Pe,we)};B(dn,Pe=>{r(P).step.cut==="screen"?Pe(Mn):r(P).step.cut==="component"?Pe(rt,1):r(P).step.cut!==null&&Pe(Fe,2)})}var We=p(dn,2);{var wt=Pe=>{var we=Qv(),Ve=f(we);C(Ze=>_(Ve,Ze),[()=>r(P).step.effect.apis.join(" · ")]),b(Pe,we)};B(We,Pe=>{r(P).step.effect&&r(P).step.effect.apis.length>1&&Pe(wt)})}var sn=p(We,2);{var Hn=Pe=>{var we=aa(),Ve=f(we);C(Ze=>_(Ve,Ze),[()=>r(P).step.effect.statuses?.length?n()("steps.effectAnswers"):n()("steps.effectStatusUnknown")]),b(Pe,we)};B(sn,Pe=>{r(P).step.effect?.category==="response"&&Pe(Hn)})}var bn=p(sn,2);{var Un=Pe=>{var we=Qv(),Ve=f(we);C(Ze=>_(Ve,`⇠ ${Ze??""}`),[()=>r(P).step.events.join(" · ")]),b(Pe,we)};B(bn,Pe=>{r(P).step.events&&r(P).step.events.length>1&&Pe(Un)})}var un=p(bn,2);{var wn=Pe=>{var we=aa(),Ve=f(we);C(Ze=>_(Ve,Ze),[()=>n()("steps.hiddenConditions",r(q).hidden)]),b(Pe,we)};B(un,Pe=>{r(q)!==null&&r(q).hidden>0&&Pe(wn)})}var or=p(un,2),rs=f(or),Gl=p(rs),Ja=f(Gl),ei=p(or,2);{var ti=Pe=>{var we=jc(),Ve=f(we);C(Ze=>_(Ve,Ze),[()=>r(P).step.anchor?n()("steps.anchorStart"):n()("steps.nothingLeadsHere")]),b(Pe,we)};B(ei,Pe=>{r(Q).arrivesFrom.length===0&&Pe(ti)})}var ni=p(ei,2);Te(ni,17,()=>r(Q).arrivesFrom,Pe=>Pe.id,(Pe,we)=>{const Ve=N(()=>ml(r(we).sites)),Ze=N(()=>r(a).steps.find(qe=>qe.id===r(we).from)?.node?.id??null);var ft=ah();let Tn;var Nn=f(ft),qr=f(Nn),xs=p(Nn,2);{var zo=qe=>{var Oe=Vc(),Et=f(Oe),Ft=f(Et),An=p(Et),$r=p(An),ks=f($r);C((Es,jr,Ss)=>{_(Ft,Es),_(An,` ${jr??""} `),_(ks,`${Ss??""} ${r(we).trigger.in??""}`)},[()=>n()("steps.firesFrom"),()=>Xn(r(we).trigger),()=>n()("steps.in")]),b(qe,Oe)};B(xs,qe=>{r(we).trigger&&qe(zo)})}var Fo=p(xs,2);{var Ul=qe=>{var Oe=Jv(),Et=f(Oe);C(Ft=>_(Et,Ft),[()=>n()("rails.via",$c(r(we)))]),b(qe,Oe)};B(Fo,qe=>{r(we).via.length>0&&qe(Ul)})}var qo=p(Fo,2);{var Yl=qe=>{var Oe=ki(),Et=f(Oe);C(Ft=>_(Et,Ft),[()=>n()("steps.inside",r(we).within)]),b(qe,Oe)};B(qo,qe=>{r(we).within&&qe(Yl)})}var $o=p(qo,2);{var Xl=qe=>{var Oe=Ei(),Et=f(Oe);{let Ft=N(()=>gl(r(Ve).common));sa(Et,()=>r(Ft))}b(qe,Oe)};B($o,qe=>{r(Ve).common.length>0&&qe(Xl)})}var jo=p($o,2);{var Zl=qe=>{var Oe=ki(),Et=f(Oe);C(()=>_(Et,r(we).label)),b(qe,Oe)};B(jo,qe=>{r(we).label&&qe(Zl)})}var Bo=p(jo,2);{var Ql=qe=>{var Oe=eh(),Et=f(Oe);C(Ft=>_(Et,Ft),[()=>n()("steps.ways",r(Ve).rows.length)]),b(qe,Oe)};B(Bo,qe=>{r(Ve).rows.length>1&&qe(Ql)})}var Vo=p(Bo,2);Te(Vo,17,()=>r(Ve).rows,qe=>qe.site.file+qe.site.line,(qe,Oe)=>{const Et=N(()=>oe(r(we),r(Oe).site,r(Ze)));var Ft=sh();let An;var $r=f(Ft);{var ks=jt=>{var Yt=th(),ln=f(Yt),In=f(ln),Pn=p(ln);C((ar,ir)=>{_(In,ar),_(Pn,` ${ir??""}`)},[()=>n()("steps.firesFrom"),()=>Xn(r(Oe).site.trigger)]),b(jt,Yt)},Es=N(()=>r(Oe).site.trigger&&Xn(r(Oe).site.trigger)!==(r(we).trigger?Xn(r(we).trigger):""));B($r,jt=>{r(Es)&&jt(ks)})}var jr=p($r,2);{var Ss=jt=>{var Yt=Ei(),ln=f(Yt);{let In=N(()=>yl(r(Oe).rest,r(Ve).common.length>0));sa(ln,()=>r(In))}b(jt,Yt)};B(jr,jt=>{r(Ve).rows.length>1&&jt(Ss)})}var nc=p(jr,2);{var rc=jt=>{var Yt=nh(),ln=f(Yt);{var In=en=>{var mn=oa(),Ts=xe(mn),Cs=f(Ts);C(()=>_(Cs,r(Oe).site.status)),b(en,mn)};B(ln,en=>{r(Oe).site.status&&en(In)})}var Pn=p(ln),ar=p(Pn),ir=f(ar);C((en,mn)=>{ae(Yt,"href",r(Et)),_(Pn,`${en??""} `),_(ir,`· ${mn??""}:${r(Oe).site.line??""}`)},[()=>_e(r(Oe).site),()=>be(r(Oe).site.file)]),b(jt,Yt)},sc=jt=>{var Yt=rh(),ln=f(Yt);{var In=en=>{var mn=oa(),Ts=xe(mn),Cs=f(Ts);C(()=>_(Cs,r(Oe).site.status)),b(en,mn)};B(ln,en=>{r(Oe).site.status&&en(In)})}var Pn=p(ln),ar=p(Pn),ir=f(ar);C((en,mn)=>{_(Pn,`${en??""} `),_(ir,`· ${mn??""}:${r(Oe).site.line??""}`)},[()=>_e(r(Oe).site),()=>be(r(Oe).site.file)]),b(jt,Yt)};B(nc,jt=>{r(Et)?jt(rc):jt(sc,-1)})}C(()=>An=De(Ft,1,"scenario svelte-v5q9re",null,An,{many:r(Ve).rows.length>1})),b(qe,Ft)});var Jl=p(Vo,2);{var ec=qe=>{var Oe=oh(),Et=f(Oe);C((Ft,An)=>{ae(Oe,"href",Ft),_(Et,An)},[()=>J(r(we)),()=>n()("steps.openFlow")]),b(qe,Oe)},tc=N(()=>J(r(we)));B(Jl,qe=>{r(tc)&&qe(ec)})}C((qe,Oe)=>{Tn=De(ft,1,"row svelte-v5q9re",null,Tn,qe),_(qr,Oe)},[()=>({hot:ee(r(we))}),()=>ce(r(we).from)]),st("mouseenter",ft,()=>fe(r(we))),st("mouseleave",ft,()=>fe(null)),Ce("focusin",ft,()=>fe(r(we))),Ce("focusout",ft,()=>fe(null)),Ce("click",Nn,()=>R(c,r(we).from,!0)),b(Pe,ft)});var ri=p(ni,2),ut=f(ri),_t=p(ut),kt=f(_t),on=p(ri,2);{var an=Pe=>{var we=jc(),Ve=f(we);C(Ze=>_(Ve,Ze),[()=>r(P).step.kind==="effect"?n()("steps.outsideIndexLeads"):r(P).step.cut==="screen"||r(P).step.cut==="component"?n()("steps.notEnteredLeads"):n()("steps.noLeaves")]),b(Pe,we)};B(on,Pe=>{r(Q).leadsTo.length===0&&Pe(an)})}var gn=p(on,2);Te(gn,17,()=>r(Q).leadsTo,Pe=>Pe.id,(Pe,we)=>{const Ve=N(()=>ml(r(we).sites)),Ze=N(()=>r(P).step.screen?.component?.id??r(P).step.node?.id??null);var ft=ah();let Tn;var Nn=f(ft),qr=f(Nn),xs=p(Nn,2);{var zo=qe=>{var Oe=Vc(),Et=f(Oe),Ft=f(Et),An=p(Et),$r=p(An),ks=f($r);C((Es,jr,Ss)=>{_(Ft,Es),_(An,` ${jr??""} `),_(ks,`${Ss??""} ${r(we).trigger.in??""}`)},[()=>n()("steps.firesFrom"),()=>Xn(r(we).trigger),()=>n()("steps.in")]),b(qe,Oe)};B(xs,qe=>{r(we).trigger&&qe(zo)})}var Fo=p(xs,2);{var Ul=qe=>{var Oe=Jv(),Et=f(Oe);C(Ft=>_(Et,Ft),[()=>n()("rails.via",$c(r(we)))]),b(qe,Oe)};B(Fo,qe=>{r(we).via.length>0&&qe(Ul)})}var qo=p(Fo,2);{var Yl=qe=>{var Oe=ki(),Et=f(Oe);C(Ft=>_(Et,Ft),[()=>n()("steps.inside",r(we).within)]),b(qe,Oe)};B(qo,qe=>{r(we).within&&qe(Yl)})}var $o=p(qo,2);{var Xl=qe=>{var Oe=Ei(),Et=f(Oe);{let Ft=N(()=>gl(r(Ve).common));sa(Et,()=>r(Ft))}b(qe,Oe)};B($o,qe=>{r(Ve).common.length>0&&qe(Xl)})}var jo=p($o,2);{var Zl=qe=>{var Oe=ki(),Et=f(Oe);C(()=>_(Et,r(we).label)),b(qe,Oe)};B(jo,qe=>{r(we).label&&qe(Zl)})}var Bo=p(jo,2);{var Ql=qe=>{var Oe=eh(),Et=f(Oe);C(Ft=>_(Et,Ft),[()=>n()("steps.ways",r(Ve).rows.length)]),b(qe,Oe)};B(Bo,qe=>{r(Ve).rows.length>1&&qe(Ql)})}var Vo=p(Bo,2);Te(Vo,17,()=>r(Ve).rows,qe=>qe.site.file+qe.site.line,(qe,Oe)=>{const Et=N(()=>oe(r(we),r(Oe).site,r(Ze)));var Ft=sh();let An;var $r=f(Ft);{var ks=jt=>{var Yt=th(),ln=f(Yt),In=f(ln),Pn=p(ln);C((ar,ir)=>{_(In,ar),_(Pn,` ${ir??""}`)},[()=>n()("steps.firesFrom"),()=>Xn(r(Oe).site.trigger)]),b(jt,Yt)},Es=N(()=>r(Oe).site.trigger&&Xn(r(Oe).site.trigger)!==(r(we).trigger?Xn(r(we).trigger):""));B($r,jt=>{r(Es)&&jt(ks)})}var jr=p($r,2);{var Ss=jt=>{var Yt=Ei(),ln=f(Yt);{let In=N(()=>yl(r(Oe).rest,r(Ve).common.length>0));sa(ln,()=>r(In))}b(jt,Yt)};B(jr,jt=>{r(Ve).rows.length>1&&jt(Ss)})}var nc=p(jr,2);{var rc=jt=>{var Yt=nh(),ln=f(Yt);{var In=en=>{var mn=oa(),Ts=xe(mn),Cs=f(Ts);C(()=>_(Cs,r(Oe).site.status)),b(en,mn)};B(ln,en=>{r(Oe).site.status&&en(In)})}var Pn=p(ln),ar=p(Pn),ir=f(ar);C((en,mn)=>{ae(Yt,"href",r(Et)),_(Pn,`${en??""} `),_(ir,`· ${mn??""}:${r(Oe).site.line??""}`)},[()=>_e(r(Oe).site),()=>be(r(Oe).site.file)]),b(jt,Yt)},sc=jt=>{var Yt=rh(),ln=f(Yt);{var In=en=>{var mn=oa(),Ts=xe(mn),Cs=f(Ts);C(()=>_(Cs,r(Oe).site.status)),b(en,mn)};B(ln,en=>{r(Oe).site.status&&en(In)})}var Pn=p(ln),ar=p(Pn),ir=f(ar);C((en,mn)=>{_(Pn,`${en??""} `),_(ir,`· ${mn??""}:${r(Oe).site.line??""}`)},[()=>_e(r(Oe).site),()=>be(r(Oe).site.file)]),b(jt,Yt)};B(nc,jt=>{r(Et)?jt(rc):jt(sc,-1)})}C(()=>An=De(Ft,1,"scenario svelte-v5q9re",null,An,{many:r(Ve).rows.length>1})),b(qe,Ft)});var Jl=p(Vo,2);{var ec=qe=>{var Oe=oh(),Et=f(Oe);C((Ft,An)=>{ae(Oe,"href",Ft),_(Et,An)},[()=>J(r(we)),()=>n()("steps.openFlow")]),b(qe,Oe)},tc=N(()=>J(r(we)));B(Jl,qe=>{r(tc)&&qe(ec)})}C((qe,Oe)=>{Tn=De(ft,1,"row svelte-v5q9re",null,Tn,qe),_(qr,Oe)},[()=>({hot:ee(r(we))}),()=>ce(r(we).to)]),st("mouseenter",ft,()=>fe(r(we))),st("mouseleave",ft,()=>fe(null)),Ce("focusin",ft,()=>fe(r(we))),Ce("focusout",ft,()=>fe(null)),Ce("click",Nn,()=>R(c,r(we).to,!0)),b(Pe,ft)}),C((Pe,we,Ve,Ze)=>{_(Wt,r(P).label),_(tt,Pe),_(Qt,we),_(rs,`${Ve??""} `),_(Ja,r(Q).arrivesFrom.length),_(ut,`${Ze??""} `),_(kt,r(Q).leadsTo.length)},[()=>Nr(r(P).step.kind,r(a).project,r(P).step),()=>n()("steps.clear"),()=>n()("steps.arrivesFrom"),()=>n()("steps.leadsTo")]),Ce("click",Jt,()=>R(c,null)),b(Ge,lt)},je=Ge=>{var lt=F4(),ct=xe(lt),Dt=f(ct),Rt=f(Dt);Gt(Rt,()=>n()("steps.whatHappensFromName",r(a).anchor.name),!0);var Wt=p(Rt,2),At=f(Wt);Bt(At,{get kind(){return r(a).anchor.kind}});var tt=p(At),Ae=p(Wt,2),Qe=f(Ae),Xe=p(ct,2);{var Ke=ut=>{var _t=L4(),kt=f(_t),on=p(kt);Te(on,19,()=>r(a).ambiguous,an=>an.id,(an,gn,Pe)=>{var we=P4(),Ve=xe(we);{var Ze=Nn=>{var qr=xt(",");b(Nn,qr)};B(Ve,Nn=>{r(Pe)>0&&Nn(Ze)})}var ft=p(Ve,2),Tn=f(ft);C((Nn,qr)=>{ae(ft,"href",Nn),_(Tn,qr)},[()=>wr({anchor:r(gn).id}),()=>n()("steps.ambiguousItem",r(gn).kind,be(r(gn).file))]),b(an,we)}),C(an=>_(kt,`${an??""} `),[()=>n()("steps.ambiguous",r(a).ambiguous.length)]),b(ut,_t)};B(Xe,ut=>{r(a).ambiguous.length>0&&ut(Ke)})}var Be=p(Xe,2),nt=f(Be),Le=p(nt);let Je;var dt=f(Le),gt=p(Le,2);let bt;var It=f(gt),zt=p(Be,2),Jt=f(zt);Gt(Jt,()=>n()("steps.summary",r(a).steps.length,r(a).links.length));var Qt=p(Jt,2),dn=f(Qt);Te(dn,16,()=>U,ut=>ut,(ut,_t)=>{var kt=ih(),on=f(kt),an={};C(gn=>{_(on,_t),an!==(an=gn)&&(kt.value=(kt.__value=gn)??"")},[()=>String(_t)]),b(ut,kt)});var Mn=p(dn);{var rt=ut=>{var _t=ih(),kt=f(_t),on={};C(an=>{_(kt,r(a).depth),on!==(on=an)&&(_t.value=(_t.__value=an)??"")},[()=>String(r(a).depth)]),b(ut,_t)},Fe=N(()=>!U.includes(r(a).depth));B(Mn,ut=>{r(Fe)&&ut(rt)})}var We;Sl(Qt);var wt=p(zt,2),sn=f(wt),Hn=f(sn),bn=p(Hn),Un=p(sn,2),un=f(Un),wn=p(wt,2);Te(wn,20,()=>["screen","trigger","bridge","event","store","effect"],ut=>ut,(ut,_t)=>{var kt=Tt(),on=xe(kt);{var an=gn=>{const Pe=N(()=>Hi(_t,r(a).project));var we=O4(),Ve=f(we),Ze=f(Ve),ft=p(Ve);C(()=>{_(Ze,r(m).counts[_t]),_(ft,` ${(r(m).counts[_t]===1?r(Pe)[0]:r(Pe)[1])??""}`)}),b(gn,we)};B(on,gn=>{r(m).counts[_t]>0&&gn(an)})}b(ut,kt)});var or=p(wn,2);{var rs=ut=>{var _t=D4(),kt=p(f(_t),2);Gt(kt,()=>n()("steps.orderIntro")),b(ut,_t)},Gl=ut=>{var _t=R4(),kt=p(f(_t));C(on=>_(kt,` ${on??""}`),[()=>n()("steps.treeIntro")]),b(ut,_t)};B(or,ut=>{r(x)==="order"?ut(rs):ut(Gl,-1)})}var Ja=p(or,2);{var ei=ut=>{var _t=H4(),kt=f(_t),on=p(kt);{var an=Ze=>{var ft=Tt(),Tn=xe(ft);Gt(Tn,()=>n()("steps.notDrawnSteps",r(a).truncated.steps)),b(Ze,ft)};B(on,Ze=>{r(a).truncated.steps>0&&Ze(an)})}var gn=p(on,2);{var Pe=Ze=>{var ft=Tt(),Tn=xe(ft);Gt(Tn,()=>n()("steps.notDrawnHubs",r(a).truncated.hubs)),b(Ze,ft)};B(gn,Ze=>{r(a).truncated.hubs>0&&Ze(Pe)})}var we=p(gn,2);{var Ve=Ze=>{var ft=Tt(),Tn=xe(ft);Gt(Tn,()=>n()("steps.notDrawnChrome",r(a).truncated.chrome)),b(Ze,ft)};B(we,Ze=>{r(a).truncated.chrome>0&&Ze(Ve)})}C(Ze=>_(kt,`${Ze??""} `),[()=>n()("steps.notDrawnLead")]),b(ut,_t)};B(Ja,ut=>{(r(a).truncated.steps>0||r(a).truncated.hubs>0||r(a).truncated.chrome>0)&&ut(ei)})}var ti=p(Ja,2),ni=f(ti),ri=p(ti,2);Te(ri,17,()=>[...r(a).steps].sort((ut,_t)=>(r(m).layout.nodes.find(kt=>kt.id===_t.id)?.ports.top.length??0)+(r(m).layout.nodes.find(kt=>kt.id===_t.id)?.ports.bottom.length??0)-((r(m).layout.nodes.find(kt=>kt.id===ut.id)?.ports.top.length??0)+(r(m).layout.nodes.find(kt=>kt.id===ut.id)?.ports.bottom.length??0))).slice(0,8),ut=>ut.id,(ut,_t)=>{var kt=z4(),on=f(kt),an=p(on),gn=f(an);C((Pe,we)=>{_(on,`${Pe??""} `),_(gn,we)},[()=>r(m).nodes.get(r(_t).id)?.label??r(_t).label,()=>Nr(r(_t).kind,r(a).project,r(_t))]),Ce("click",kt,()=>R(c,r(_t).id,!0)),b(ut,kt)}),C((ut,_t,kt,on,an,gn,Pe,we,Ve,Ze,ft)=>{ae(Wt,"href",ut),_(tt,` ${r(a).anchor.qualifiedName??""}`),ae(Ae,"href",_t),_(Qe,r(a).anchor.file),_(nt,`${kt??""} `),Je=De(Le,1,"tab svelte-v5q9re",null,Je,{on:r(x)==="order"}),ae(Le,"href",on),_(dt,an),bt=De(gt,1,"tab svelte-v5q9re",null,bt,{on:r(x)==="tree"}),ae(gt,"href",gn),_(It,Pe),We!==(We=we)&&(Qt.value=(Qt.__value=we)??"",wo(Qt,we)),yp(Hn,r(a).through),_(bn,` ${Ve??""}`),_(un,Ze),_(ni,ft)},[()=>_n(r(a).anchor.id),()=>hn(r(a).anchor.file),()=>n()("steps.readAs"),()=>se({view:"order"}),()=>n()("steps.tabOrder"),()=>se({view:"tree"}),()=>n()("steps.tabTree"),()=>String(r(a).depth),()=>n()("steps.continueThrough",Hi("screen",r(a).project)[1]),()=>n()("steps.boundaryOther",Nr("screen",r(a).project)),()=>n()("mostConnected")]),Ce("change",Qt,ut=>$t(se({depth:Number(ut.currentTarget.value)}))),Ce("change",Hn,ut=>$t(se({through:ut.currentTarget.checked}))),b(Ge,lt)};B(ke,Ge=>{r(P)!==null&&r(Q)!==null?Ge(Ee):Ge(je,-1)})}b(ye,ge)};B(Ot,ye=>{r(a)!==null&&r(m)!==null&&ye(Nt)})}Ce("mousemove",pe,de),st("mouseleave",pe,()=>R(d,null)),b(e,Ie),He(),o()}Mt(["mousemove","click","focusin","focusout","change"]);var B4=O('<button type="button" class="ref svelte-1c9ldo3"> </button>'),V4=O("<span> </span>"),W4=O('<div><span class="no svelte-1c9ldo3"> </span> <span class="tx svelte-1c9ldo3"></span></div>'),K4=O('<div class="code svelte-1c9ldo3"></div>'),G4=O('<p class="nosource svelte-1c9ldo3"> </p>'),U4=O('<div><!> <!> <button type="button" class="head svelte-1c9ldo3"><!> <span class="nm svelte-1c9ldo3"> </span> <span class="loc svelte-1c9ldo3"> </span></button> <!></div>');function Y4(e,t){Re(t,!0);const n=()=>Ct(Lt,"$t",s),[s,o]=Pt();let a=N(()=>t.data.card),i=N(()=>r(a).hop),l=N(()=>r(i).source),c=N(()=>{const Z=new Map,z=r(i).callRef;return z&&Z.set(z.line,[{ident:z.name,col:z.col,targetId:z.targetId,uncertain:!1,outside:!1,title:z.backwards?`${r(i).node.name} calls ${z.name} here`:`calls ${z.name}`}]),Z}),d=N(()=>r(l)?.lines?Nl(r(l).lines,r(l).from,r(l).highlight):new Map),u=N(()=>r(l)?.lines?r(l).lines.map((Z,z)=>{const U=r(l).from+z,$=r(d).get(U)??[{cls:"other",text:Z,col:0}],H=Ml($,r(c).get(U)??[]);return{n:U,call:U===r(i).callRef?.line||U===r(a).stopLine,parts:$.map((x,m)=>{const S=H.get(m)??null;return{text:x.text,cls:S?null:du(x.cls),ref:S}})}}):[]);var h=U4();let v;var y=f(h);Rn(y,{type:"target",get position(){return et.Left},id:"in",isConnectable:!1});var g=p(y,2);Rn(g,{type:"source",get position(){return et.Right},id:"out",isConnectable:!1});var w=p(g,2),k=f(w);Bt(k,{get kind(){return r(i).node.kind}});var A=p(k,2),L=f(A),M=p(A,2),D=f(M),j=p(w,2);{var W=Z=>{var z=K4();Te(z,21,()=>r(u),U=>U.n,(U,$)=>{var H=W4();let x;var m=f(H),S=f(m),T=p(m,2);Te(T,21,()=>r($).parts,nr,(E,I)=>{var F=Tt(),q=xe(F);{var Y=G=>{var P=B4(),Q=f(P);C(()=>{ae(P,"title",r(I).ref.title),_(Q,r(I).text)}),Ce("click",P,()=>t.data.onFollow(r(a))),b(G,P)},ne=G=>{var P=V4(),Q=f(P);C(()=>{De(P,1,Zs(r(I).cls),"svelte-1c9ldo3"),_(Q,r(I).text)}),b(G,P)},ie=G=>{var P=xt();C(()=>_(P,r(I).text)),b(G,P)};B(q,G=>{r(I).ref?G(Y):r(I).cls?G(ne,1):G(ie,-1)})}b(E,F)}),C(()=>{x=De(H,1,"ln svelte-1c9ldo3",null,x,{call:r($).call}),_(S,r($).n)}),b(U,H)}),b(Z,z)},K=Z=>{var z=G4(),U=f(z);C($=>_(U,$),[()=>r(l)?.drift?n()("flowCard.sourceDrift"):r(l)?.reason??n()("flowCard.sourceUnavailable")]),b(Z,z)};B(j,Z=>{r(u).length>0?Z(W):Z(K,-1)})}C(Z=>{v=De(h,1,"card svelte-1c9ldo3",null,v,{cur:t.data.current,dim:t.data.dimmed}),ht(h,`width:${r(a).width}px;height:${r(a).height}px`),_(L,r(i).node.name),_(D,`${Z??""}:${r(i).node.line??""}`)},[()=>Cn(r(i).node.file)]),Ce("click",w,()=>t.data.onOpen(r(a))),b(e,h),He(),o()}Mt(["click"]);var X4=tn("<polygon></polygon>"),lh=tn('<text text-anchor="middle" class="svelte-1gtjqth"> </text>'),Z4=tn("<!><!><g><title> </title><!><!></g>",1);function Q4(e,t){const n=N(()=>t.data),s=N(()=>{if(Math.abs(t.sourceY-t.targetY)<.5)return`M${t.sourceX},${t.sourceY} L${t.targetX},${t.targetY}`;const M=(t.sourceX+t.targetX)/2;return`M${t.sourceX},${t.sourceY} C${M},${t.sourceY} ${M},${t.targetY} ${t.targetX},${t.targetY}`}),o=N(()=>`${t.targetX-10},${t.targetY-4} ${t.targetX-2},${t.targetY} ${t.targetX-10},${t.targetY+4}`),a=N(()=>(t.sourceX+t.targetX)/2),i=N(()=>(t.sourceY+t.targetY)/2),l=N(()=>r(n).link.dash?`stroke-dasharray:${r(n).link.dash}`:""),c=N(()=>r(n).link.labelLines);var d=Z4(),u=xe(d);{let M=N(()=>`flink${r(n).dimmed?" dimmed":""}`);Js(u,{get path(){return r(s)},get class(){return r(M)},get style(){return r(l)}})}var h=p(u);{var v=M=>{var D=X4();C(()=>{De(D,0,`fhead${r(n).dimmed?" dimmed":""}`,"svelte-1gtjqth"),ae(D,"points",r(o))}),b(M,D)};B(h,M=>{r(n).link.cap||M(v)})}var y=p(h),g=f(y),w=f(g),k=p(g);Te(k,17,()=>r(c),nr,(M,D,j)=>{var W=lh(),K=f(W);C(()=>{ae(W,"x",r(a)),ae(W,"y",r(i)-8-(r(c).length-1-j)*13),_(K,r(D))}),b(M,W)});var A=p(k);{var L=M=>{var D=lh(),j=f(D);C(()=>{ae(D,"x",r(a)),ae(D,"y",r(i)+17),_(j,r(n).link.lineLabel)}),b(M,D)};B(A,M=>{r(n).link.lineLabel&&M(L)})}C(()=>{De(y,0,`flabel${r(n).dimmed?" dimmed":""}`,"svelte-1gtjqth"),_(w,`${r(n).link.label??""}${r(n).link.lineLabel?` (${r(n).link.lineLabel})`:""}`)}),b(e,d)}var J4=O('<p class="key svelte-1f3e7uq"> <span class="mono svelte-1f3e7uq"> </span></p>'),ch=O('<p class="soft svelte-1f3e7uq"> </p>'),eA=O('<button type="button" class="row svelte-1f3e7uq"><span class="nm svelte-1f3e7uq"> </span> <span class="at svelte-1f3e7uq"> </span></button>'),tA=O('<p class="soft svelte-1f3e7uq"> </p> <!>',1),nA=O('<div class="site svelte-1f3e7uq"><p class="form svelte-1f3e7uq"> </p> <!> <!> <!></div>'),rA=O('<p class="soft block svelte-1f3e7uq"> </p>'),sA=O('<button type="button" class="row svelte-1f3e7uq"><span class="nm unsure svelte-1f3e7uq"> </span> <span class="at svelte-1f3e7uq"> </span></button>'),oA=O('<div class="block svelte-1f3e7uq"><p class="soft svelte-1f3e7uq"> </p> <!></div>'),dh=O('<p class="block svelte-1f3e7uq"> </p>'),aA=O('<div><!> <p class="lead svelte-1f3e7uq"><b class="svelte-1f3e7uq"> </b> </p> <!> <!> <!> <!> <!></div>');function iA(e,t){Re(t,!0);const n=()=>Ct(Lt,"$t",s),[s,o]=Pt();let a=N(()=>t.data.cap),i=N(()=>Pu(r(a).boundary));var l=aA();let c;var d=f(l);Rn(d,{type:"target",get position(){return et.Left},id:"in",isConnectable:!1});var u=p(d,2),h=f(u),v=f(h),y=p(h),g=p(u,2);Te(g,17,()=>r(i).sites,nr,(K,Z)=>{var z=nA(),U=f(z),$=f(U),H=p(U,2);{var x=I=>{var F=J4(),q=f(F),Y=p(q),ne=f(Y);C(ie=>{_(q,`${ie??""} `),_(ne,r(Z).key)},[()=>n()("flow.siteKey")]),b(I,F)};B(H,I=>{r(Z).key!==null&&I(x)})}var m=p(H,2);Te(m,16,()=>r(Z).notes,I=>I,(I,F)=>{var q=ch(),Y=f(q);C(()=>_(Y,F)),b(I,q)});var S=p(m,2);{var T=I=>{var F=tA(),q=xe(F),Y=f(q),ne=p(q,2);Te(ne,17,()=>r(Z).candidates,ie=>ie.node.id,(ie,G)=>{var P=eA(),Q=f(P),V=f(Q),X=p(Q,2),le=f(X);C(se=>{_(V,r(G).display),_(le,`${se??""}:${r(G).node.line??""}`)},[()=>Cn(r(G).node.file)]),Ce("click",P,()=>t.data.onOpen(r(G).node.id)),b(ie,P)}),C(()=>_(Y,r(Z).candidateHeading)),b(I,F)},E=I=>{var F=ch(),q=f(F);C(()=>_(q,r(Z).candidateNote)),b(I,F)};B(S,I=>{r(Z).candidateHeading!==null?I(T):r(Z).candidateNote!==null&&I(E,1)})}C(()=>_($,r(Z).headline)),b(K,z)});var w=p(g,2);{var k=K=>{var Z=rA(),z=f(Z);C(()=>_(z,r(i).quiet)),b(K,Z)};B(w,K=>{r(i).quiet!==null&&K(k)})}var A=p(w,2);{var L=K=>{var Z=oA(),z=f(Z),U=f(z),$=p(z,2);Te($,17,()=>r(i).uncertain,H=>H.node.id,(H,x)=>{var m=sA(),S=f(m),T=f(S),E=p(S,2),I=f(E);C(F=>{_(T,r(x).node.name),_(I,F)},[()=>r(x).confidence===null?"":r(x).confidence.toFixed(2)]),Ce("click",m,()=>t.data.onOpen(r(x).node.id)),b(H,m)}),C(()=>_(U,r(i).uncertainHeading)),b(K,Z)};B(A,K=>{r(i).uncertainHeading!==null&&K(L)})}var M=p(A,2);{var D=K=>{var Z=dh(),z=f(Z);C(()=>_(z,r(i).further)),b(K,Z)};B(M,K=>{r(i).further!==null&&K(D)})}var j=p(M,2);{var W=K=>{var Z=dh(),z=f(Z);C(()=>_(z,r(i).missed)),b(K,Z)};B(j,K=>{r(i).missed!==null&&K(W)})}C(K=>{c=De(l,1,"endcap svelte-1f3e7uq",null,c,{dim:t.data.dimmed}),ht(l,`width:${r(a).width}px;min-height:${r(a).height}px`),_(v,K),_(y,` ${r(i).intro??""}`)},[()=>n()("flowBoundaryLead")]),b(e,l),He(),o()}Mt(["click"]);var uh=O("<option> </option>"),lA=O('<select class="svelte-vl698p"><!><!></select>'),cA=O('<p class="note svelte-vl698p"> </p>'),dA=O('<div class="state svelte-vl698p"><h2 class="svelte-vl698p"> </h2> <p class="svelte-vl698p"> </p></div>'),uA=O('<div class="state svelte-vl698p"><p class="dim svelte-vl698p"> </p></div>'),fA=O('<div class="state svelte-vl698p"><h2 class="svelte-vl698p"> </h2> <p class="svelte-vl698p"></p></div>'),vA=O('<p class="dim svelte-vl698p"></p>'),hA=O('<div class="state svelte-vl698p"><h2 class="svelte-vl698p"> </h2> <p class="svelte-vl698p"> </p> <!></div>'),pA=O('<p class="svelte-vl698p"> </p>'),gA=O('<p class="svelte-vl698p"><!> <!></p>'),mA=O('<p class="svelte-vl698p"></p>'),yA=O('<footer class="fnote svelte-vl698p"><!> <!> <!></footer>'),_A=O('<div class="flowview svelte-vl698p"><header class="fhead svelte-vl698p"><h1 class="svelte-vl698p"> </h1> <!> <!> <!></header> <div class="fstage svelte-vl698p"><!></div> <!></div>');function bA(e,t){Re(t,!0);const n=()=>Ct(Lt,"$t",s),[s,o]=Pt();let a=ve(null),i=ve(null),l=ve(!0),c=ve(null),d=ve(!1);const u="all-paths",h={x:0,y:0,zoom:1},v={flow:Y4,cap:iA},y={flow:Q4},g=N(()=>t.trailParam?nu(t.trailParam):[]);it(()=>{const se=t.trailParam?{trail:r(g).map(ue=>`${ue.dir==="start"?"s":ue.dir==="up"?"u":"d"}${ue.id}`)}:t.symbols?{symbols:t.symbols}:{from:t.from??"",to:t.to??""};if(!t.trailParam&&!t.symbols&&!(t.from&&t.to)){R(a,null),R(l,!1),R(i,null);return}Kn.indexTick;const re=new AbortController;R(l,!0),R(i,null);const de=r(c);return j_(se,re.signal).then(ue=>{R(a,ue,!0),R(c,ue.flows.some(fe=>fe.id===de)?de:ue.flows[0]?.id??null,!0),R(l,!1)}).catch(ue=>{re.signal.aborted||(R(i,ue instanceof Error?ue.message:String(ue),!0),R(l,!1))}),()=>re.abort()});const w=N(()=>r(a)?.flows??[]),k=N(()=>r(d)?r(w):r(w).filter(se=>se.id===r(c)).slice(0,1)),A=N(()=>r(k).length===0?null:iM(r(d)?r(w):r(k),r(c))),L=N(()=>r(w).find(se=>se.id===r(c))??r(w)[0]??null),M=N(()=>r(A)===null?[]:[...r(A).endCaps.map(re=>({id:re.id,type:"cap",position:{x:re.x,y:re.y},draggable:!1,selectable:!1,connectable:!1,data:{cap:re,dimmed:r(d)&&r(c)!==null&&!re.flows.includes(r(c)),onOpen:W}})),...r(A).cards.map(re=>({id:re.id,type:"flow",position:{x:re.x,y:re.y},draggable:!1,selectable:!1,connectable:!1,data:{card:re,current:r(d)&&re.step>=0,dimmed:r(d)&&re.step<0,onOpen:j,onFollow:K}}))]),D=N(()=>r(A)===null?[]:r(A).links.map(se=>({id:se.id,source:se.source,target:se.target,sourceHandle:"out",targetHandle:"in",type:"flow",selectable:!1,deletable:!1,data:{link:se,dimmed:r(d)&&r(c)!==null&&!se.flows.includes(r(c))}})));function j(se){const re=r(L)?.hops??[],de=re.findIndex(fe=>fe.node.id===se.id),ue=de>=0?re.slice(0,de+1):[];Ut.clear(),ue.forEach((fe,te)=>Ut.push({id:fe.node.id,name:fe.node.name,kind:fe.node.kind,dir:te===0?"start":fe.edge?.upward?"up":"down"})),ue.length===0&&Ut.push({id:se.id,name:se.hop.node.name,kind:se.hop.node.kind,dir:"start"}),$t(_n(se.id,{trail:Xr(Ut.hops),...se.hop.callRef?{line:se.hop.callRef.line}:{}}))}function W(se){Ut.clear(),$t(_n(se))}function K(se){const re=se.hop.callRef?.targetId;if(!re)return;const de=r(A)?.cards.find(ue=>ue.id===re);de&&j(de)}function Z(se){return se.query.kind==="trail"?he("flow.noteTrail"):se.flows.some(re=>re.partial)?he("flow.noteNoPath"):se.query.kind==="directed"?he("flow.noteDirected"):he("flow.noteNamed")}const z=N(()=>r(d)&&r(w).length>1?`all ${r(w).length} paths`:r(L)?.label??"flow");function U(se){if(r(A)===null)throw new Error("There is no strip to export yet.");const re=r(L)?.hops.length??0;return _M(r(A),{scale:se,activeFlowId:r(c),showAll:r(d),caption:r(d)?r(z):`${r(z)}${re>1?` · ${re} hops`:""}`})}var $=_A(),H=f($),x=f(H),m=f(x),S=p(x,2);{var T=se=>{var re=lA(),de=f(re);Te(de,17,()=>r(w),ee=>ee.id,(ee,ce)=>{var J=uh(),oe=f(J),be={};C(_e=>{_(oe,`${r(ce).label??""}${_e??""}`),be!==(be=r(ce).id)&&(J.value=(J.__value=r(ce).id)??"")},[()=>r(ce).hops.length>1?n()("flow.nHops",r(ce).hops.length):""]),b(ee,J)});var ue=p(de);{var fe=ee=>{var ce=uh(),J=f(ce);ce.value=ce.__value=u,C(oe=>_(J,oe),[()=>n()("flow.allPaths",r(w).length)]),b(ee,ce)};B(ue,ee=>{r(w).length>1&&ee(fe)})}var te;Sl(re),C(ee=>{ae(re,"aria-label",ee),te!==(te=r(d)?u:r(c)??"")&&(re.value=(re.__value=r(d)?u:r(c)??"")??"",wo(re,r(d)?u:r(c)??""))},[()=>n()("flow.pathAria")]),Ce("change",re,ee=>{const ce=ee.currentTarget.value;R(d,ce===u),r(d)||R(c,ce,!0)}),b(se,re)};B(S,se=>{r(w).length>0&&se(T)})}var E=p(S,2);{var I=se=>{var re=cA(),de=f(re);C(ue=>_(de,ue),[()=>Z(r(a))]),b(se,re)};B(E,se=>{r(a)&&se(I)})}var F=p(E,2);{var q=se=>{{let re=N(()=>hm("flow",r(z)));dm(se,{build:U,get filename(){return r(re)}})}};B(F,se=>{r(A)!==null&&se(q)})}var Y=p(H,2),ne=f(Y);{var ie=se=>{var re=dA(),de=f(re),ue=f(de),fe=p(de,2),te=f(fe);C(ee=>{_(ue,ee),_(te,r(i))},[()=>n()("flow.buildFailed")]),b(se,re)},G=se=>{var re=uA(),de=f(re),ue=f(de);C(fe=>_(ue,fe),[()=>n()("flow.following")]),b(se,re)},P=se=>{var re=fA(),de=f(re),ue=f(de),fe=p(de,2);Gt(fe,()=>n()("flow.nothingDesc"),!0),C(te=>_(ue,te),[()=>n()("flow.nothingTitle")]),b(se,re)},Q=se=>{var re=hA(),de=f(re),ue=f(de),fe=p(de,2),te=f(fe),ee=p(fe,2);{var ce=J=>{var oe=vA();Gt(oe,()=>n()("flow.asked",r(a).query.from,r(a).query.to),!0),b(J,oe)};B(ee,J=>{r(a).query.from&&r(a).query.to&&J(ce)})}C(J=>{_(ue,J),_(te,r(a).reason)},[()=>n()("flow.noPathTitle")]),b(se,re)},V=se=>{Fl(se,{get nodes(){return r(M)},get edges(){return r(D)},get nodeTypes(){return v},get edgeTypes(){return y},get initialViewport(){return h},fitViewOptions:{padding:.1,maxZoom:1,minZoom:.2},minZoom:.2,maxZoom:1.4,nodesDraggable:!1,nodesConnectable:!1,elementsSelectable:!1,panOnDrag:!0,proOptions:{hideAttribution:!0},children:(re,de)=>{ql(re,{position:"bottom-right",showLock:!1})},$$slots:{default:!0}})};B(ne,se=>{r(i)!==null?se(ie):r(l)&&r(a)===null?se(G,1):r(a)===null?se(P,2):r(A)===null?se(Q,3):se(V,-1)})}var X=p(Y,2);{var le=se=>{var re=yA(),de=f(re);{var ue=ee=>{var ce=pA(),J=f(ce);C(()=>_(J,r(a).reason)),b(ee,ce)};B(de,ee=>{r(a).reason!==null&&ee(ue)})}var fe=p(de,2);Te(fe,17,()=>r(a).ambiguous,ee=>ee.token,(ee,ce)=>{var J=gA(),oe=f(J);Gt(oe,()=>n()("flow.ambDefs",r(ce).token,r(ce).others.length+1));var be=p(oe,2);{var _e=pe=>{var me=Tt(),Se=xe(me);Gt(Se,()=>n()("flow.ambRunsThrough",`${Cn(r(ce).chosen.file)}:${r(ce).chosen.line}`)),b(pe,me)},Ie=pe=>{var me=xt();C(Se=>_(me,Se),[()=>n()("flow.ambNone")]),b(pe,me)};B(be,pe=>{r(ce).chosen?pe(_e):pe(Ie,-1)})}b(ee,J)});var te=p(fe,2);Te(te,16,()=>r(a).unresolved,ee=>ee,(ee,ce)=>{var J=mA();Gt(J,()=>n()("flow.ambUnresolved",ce),!0),b(ee,J)}),b(se,re)};B(X,se=>{r(a)&&(r(a).reason!==null||r(a).ambiguous.length>0||r(a).unresolved.length>0)&&r(A)!==null&&se(le)})}C(se=>_(m,se),[()=>n()("flowTitle")]),b(e,$),He(),o()}Mt(["change"]);var wA=O('<a class="svelte-skxuyu"> </a>'),xA=O("<span> </span>"),fh=O('<span class="verb svelte-skxuyu"> </span>'),kA=O('<button type="button" class="nm svelte-skxuyu"><!> </button>'),EA=O('<span class="nm plain svelte-skxuyu"><!> </span>'),SA=O('<button type="button" class="chip svelte-skxuyu"> </button>'),TA=O('<div><!> <div class="body svelte-skxuyu"><div class="line svelte-skxuyu"><!> <!></div> <div class="meta svelte-skxuyu"> </div></div></div>'),CA=O('<div class="filegroup svelte-skxuyu"><div class="fpath svelte-skxuyu"><!> <b class="svelte-skxuyu"> </b></div> <!></div>'),MA=O('<p class="note dim svelte-skxuyu"> </p>'),NA=O('<section class="sec svelte-skxuyu"><div class="sec-h svelte-skxuyu"><h3 class="svelte-skxuyu"> </h3> <span class="meta svelte-skxuyu"> </span></div> <p class="note svelte-skxuyu"> </p> <!> <!></section>');function AA(e,t){Re(t,!0);const n=()=>Ct(Lt,"$t",s),[s,o]=Pt();var a=NA(),i=f(a),l=f(i),c=f(l),d=p(l,2),u=f(d),h=p(i,2),v=f(h),y=p(h,2);Te(y,17,()=>t.section.groups,k=>k.path,(k,A)=>{var L=CA(),M=f(L),D=f(M);{var j=U=>{var $=wA(),H=f($);C(x=>{ae($,"href",x),ae($,"title",r(A).file),_(H,r(A).path)},[()=>hn(r(A).file)]),b(U,$)},W=U=>{var $=xA(),H=f($);C(()=>{ae($,"title",r(A).path),_(H,r(A).path)}),b(U,$)};B(D,U=>{r(A).file?U(j):U(W,-1)})}var K=p(D,2),Z=f(K),z=p(M,2);Te(z,17,()=>r(A).rows,U=>U.id,(U,$)=>{var H=TA();let x;var m=f(H);Bt(m,{get kind(){return r($).kind}});var S=p(m,2),T=f(S),E=f(T);{var I=G=>{var P=kA(),Q=f(P);{var V=le=>{var se=fh(),re=f(se);C(()=>_(re,r($).method)),b(le,se)};B(Q,le=>{r($).method&&le(V)})}var X=p(Q,1,!0);C(()=>{ae(P,"title",r($).title),ae(P,"data-entry-row",r($).id),_(X,r($).name)}),Ce("click",P,()=>t.onopen(r($))),b(G,P)},F=G=>{var P=EA(),Q=f(P);{var V=le=>{var se=fh(),re=f(se);C(()=>_(re,r($).method)),b(le,se)};B(Q,le=>{r($).method&&le(V)})}var X=p(Q,1,!0);C(()=>{ae(P,"title",r($).title),_(X,r($).name)}),b(G,P)};B(E,G=>{r($).target?G(I):G(F,-1)})}var q=p(E,2);{var Y=G=>{var P=SA(),Q=f(P);C((V,X)=>{ae(P,"title",V),ae(P,"data-entry-flow",r($).id),_(Q,X)},[()=>t.armed===null?n()("entry.flowStartTitle",r($).flowFrom):t.armed===r($).id?n()("entry.flowStopTitle"):n()("entry.flowEndTitle",r($).flowFrom),()=>t.armed===null?n()("entry.flowFrom"):t.armed===r($).id?n()("entry.flowCancel"):n()("entry.flowHere")]),Ce("click",P,()=>t.onflow(r($))),b(G,P)};B(q,G=>{r($).flowFrom&&G(Y)})}var ne=p(T,2),ie=f(ne);C(()=>{x=De(H,1,"row svelte-skxuyu",null,x,{armed:t.armed===r($).id,stub:!r($).target}),_(ie,r($).meta)}),b(U,H)}),C(()=>_(Z,r(A).rows.length)),b(k,L)});var g=p(y,2);{var w=k=>{var A=MA(),L=f(A);C(M=>_(L,M),[()=>n()("entry.truncatedNote",t.section.shown,t.section.floor,t.section.total)]),b(k,A)};B(g,k=>{t.section.shown<t.section.total&&k(w)})}C(()=>{ae(a,"aria-labelledby",`entry-${t.section.id}`),ae(l,"id",`entry-${t.section.id}`),_(c,t.section.title),_(u,t.section.meta),_(v,t.section.note)}),b(e,a),He(),o()}Mt(["click"]);var IA=O('<div class="arming svelte-gbjxaf" role="group"><span class="from svelte-gbjxaf"> </span> <span class="arrow svelte-gbjxaf" aria-hidden="true">→</span> <input type="text" autocomplete="off" spellcheck="false" class="svelte-gbjxaf"/> <button type="button" class="go svelte-gbjxaf"> </button> <button type="button" class="cancel svelte-gbjxaf"> </button> <span class="hint svelte-gbjxaf"></span></div>'),Kc=O('<p class="state svelte-gbjxaf"> </p>'),PA=O('<div class="sections svelte-gbjxaf"></div>'),LA=O('<div class="scroll svelte-gbjxaf"><div class="head svelte-gbjxaf"><h2 class="svelte-gbjxaf"> </h2> <p class="svelte-gbjxaf"></p></div> <!> <div class="saved svelte-gbjxaf"><!></div> <!></div>');function OA(e,t){Re(t,!0);const n=()=>Ct(Lt,"$t",s),[s,o]=Pt();let a=Ne(t,"project",3,null);it(()=>{Ht.ensureEntries()});let i=N(()=>C1(Ht.entries)),l=ve(null),c=ve(""),d=ve(null);it(()=>{const H=r(l)?.id;H&&!r(i).rows.some(x=>x.id===H)&&R(l,null)});function u(H){ou(H.target)}function h(H,x){const m=cf(H,x);m&&(R(l,null),R(c,""),$t(Qs(m)))}function v(H){if(H.flowFrom){if(r(l)===null){R(l,{id:H.id,name:H.flowFrom},!0),R(c,""),queueMicrotask(()=>r(d)?.focus());return}if(r(l).id===H.id){R(l,null);return}h(r(l).name,H.flowFrom)}}function y(H){H.key==="Escape"&&(H.preventDefault(),R(l,null))}var g=LA(),w=f(g),k=f(w),A=f(k),L=p(k,2);Gt(L,()=>n()("entry.heading",a()??""),!0);var M=p(w,2);{var D=H=>{var x=IA(),m=f(x),S=f(m),T=p(m,4);Zt(T,ne=>R(d,ne),()=>r(d));var E=p(T,2),I=f(E),F=p(E,2),q=f(F),Y=p(F,2);Gt(Y,()=>n()("entry.armHint"),!0),C((ne,ie,G,P,Q,V)=>{ae(x,"aria-label",ne),_(S,r(l).name),ae(T,"placeholder",ie),ae(T,"aria-label",G),E.disabled=P,_(I,Q),_(q,V)},[()=>n()("entry.armGroupAria"),()=>n()("entry.reachesPlaceholder"),()=>n()("entry.armedAria",r(l).name),()=>cf(r(l).name,r(c))===null,()=>n()("entry.drawFlow"),()=>n()("entryCancel")]),Ce("keydown",T,y),st("keypress",T,ne=>{ne.key==="Enter"&&r(l)&&h(r(l).name,r(c))}),Jd(T,()=>r(c),ne=>R(c,ne)),Ce("click",E,()=>r(l)&&h(r(l).name,r(c))),Ce("click",F,()=>R(l,null)),b(H,x)};B(M,H=>{r(l)&&H(D)})}var j=p(M,2),W=f(j);Vp(W,{hideWhenEmpty:!1});var K=p(j,2);{var Z=H=>{var x=Kc(),m=f(x);C(S=>_(m,S),[()=>n()("entry.readFailed",Ht.entriesFailure)]),b(H,x)},z=H=>{var x=Kc(),m=f(x);C(S=>_(m,S),[()=>n()("deadCode.loading")]),b(H,x)},U=H=>{var x=Kc(),m=f(x);C(()=>_(m,r(i).empty)),b(H,x)},$=H=>{var x=PA();Te(x,21,()=>r(i).sections,m=>m.id,(m,S)=>{{let T=N(()=>r(l)?.id??null);AA(m,{get section(){return r(S)},get armed(){return r(T)},onopen:u,onflow:v})}}),b(H,x)};B(K,H=>{Ht.entriesFailure?H(Z):Ht.entriesSettled?r(i).empty?H(U,2):H($,-1):H(z,1)})}C(H=>_(A,H),[()=>n()("entryTitle")]),b(e,g),He(),o()}Mt(["keydown","click"]);const DA=he("deadCodeCaveat");function RA(e){if(!e)return"";const{rows:t}=e;if(t.total===0)return he("deadCodeHeadlineNothing");const n=e.groups.reduce((s,o)=>s+o.lines,0);return he("deadCodeHeadline",t.total,t.truncated,t.shown,e.groups.length,n)}function HA(e){return!e||e.candidates===0?"":he("deadCodeScale",e.candidates,e.excludedTotal)}function zA(e){return e?e.excluded.map(t=>`${t.count.toLocaleString()} ${t.label}`):[]}function FA(e){const t=[Va(e.kind),he("deadCodeRowMetaLine",e.lines)];return e.members.total>0&&t.push(he("deadCodeRowMetaMemberUnreachable",e.members.total)),t.join(" · ")}function qA(e){const t=[he("deadCodeGroupMeta",e.rows.length,e.lines)];return e.generated&&t.push(he("deadCodeGroupGenerated")),t.join(" · ")}function $A(e){return e.candidates===0?he("deadCodeEmptyAllReferenced"):e.includeExported?he("deadCodeEmptyExported",e.candidates):he("deadCodeEmptyDefault",e.candidates)}var Gc=O('<p class="state svelte-186vr2"> </p>'),jA=O('<p class="warn svelte-186vr2"> </p>'),BA=O('<span class="chip svelte-186vr2"> </span>'),VA=O('<a class="member svelte-186vr2"> </a>'),WA=O('<span class="member more svelte-186vr2"> </span>'),KA=O('<div class="members svelte-186vr2"><!> <!></div>'),GA=O('<div class="row svelte-186vr2"><!> <div class="body svelte-186vr2"><div class="line svelte-186vr2"><button type="button" class="nm svelte-186vr2"> </button> <a class="ln svelte-186vr2"> </a> <!></div> <div class="meta svelte-186vr2"> </div> <!></div></div>'),UA=O('<div><div class="fpath svelte-186vr2"><a class="svelte-186vr2"> </a> <b class="svelte-186vr2"> </b></div> <!></div>'),YA=O('<p class="headline svelte-186vr2"> </p> <div class="groups svelte-186vr2"></div>',1),XA=O("<li> </li>"),ZA=O('<ul class="svelte-186vr2"></ul>'),Uc=O('<p class="svelte-186vr2"> </p>'),QA=O('<!> <!> <div class="notes svelte-186vr2"><p class="svelte-186vr2"> </p> <!> <!> <!> <!></div>',1),JA=O('<div class="scroll svelte-186vr2"><div class="head svelte-186vr2"><h2 class="svelte-186vr2"> </h2> <p class="svelte-186vr2"> </p></div> <div class="bar svelte-186vr2"><p class="caveat svelte-186vr2"> </p> <a> </a></div> <!></div>');function eI(e,t){Re(t,!0);const n=()=>Ct(Lt,"$t",s),[s,o]=Pt();let a=Ne(t,"exported",3,!1),i=ve(null),l=ve(null),c=ve(!0);it(()=>{const x=a();Kn.indexTick;const m=new AbortController;return R(c,!0),R(l,null),R_({includeExported:x},m.signal).then(S=>{R(i,S,!0),R(c,!1)}).catch(S=>{m.signal.aborted||(R(l,S instanceof rr?S.message:he("deadCode.listReadFailed"),!0),R(c,!1))}),()=>m.abort()});let d=N(()=>RA(r(i))),u=N(()=>HA(r(i))),h=N(()=>zA(r(i)));function v(x){$t(_n(x.id,{line:x.line}))}var y=JA(),g=f(y),w=f(g),k=f(w),A=p(w,2),L=f(A),M=p(g,2),D=f(M),j=f(D),W=p(D,2);let K;var Z=f(W),z=p(M,2);{var U=x=>{var m=Gc(),S=f(m);C(T=>_(S,T),[()=>n()("deadCode.readFailed",r(l))]),b(x,m)},$=x=>{var m=Gc(),S=f(m);C(T=>_(S,T),[()=>n()("deadCode.loading")]),b(x,m)},H=x=>{var m=QA(),S=xe(m);{var T=re=>{var de=jA(),ue=f(de);C(fe=>_(ue,fe),[()=>n()("deadCode.exportedWarning")]),b(re,de)};B(S,re=>{a()&&re(T)})}var E=p(S,2);{var I=re=>{var de=Gc(),ue=f(de);C(fe=>_(ue,fe),[()=>$A(r(i))]),b(re,de)},F=re=>{var de=YA(),ue=xe(de),fe=f(ue),te=p(ue,2);Te(te,21,()=>r(i).groups,ee=>ee.file,(ee,ce)=>{var J=UA();let oe;var be=f(J),_e=f(be),Ie=f(_e),pe=p(_e,2),me=f(pe),Se=p(be,2);Te(Se,17,()=>r(ce).rows,Me=>Me.id,(Me,ze)=>{var Ue=GA(),$e=f(Ue);Bt($e,{get kind(){return r(ze).kind}});var Ye=p($e,2),at=f(Ye),pt=f(at),Ot=f(pt),Nt=p(pt,2),ye=f(Nt),ge=p(Nt,2);{var ke=ct=>{var Dt=BA(),Rt=f(Dt);C(Wt=>_(Rt,Wt),[()=>n()("symbol.exported")]),b(ct,Dt)};B(ge,ct=>{r(ze).exported&&ct(ke)})}var Ee=p(at,2),je=f(Ee),Ge=p(Ee,2);{var lt=ct=>{var Dt=KA(),Rt=f(Dt);Te(Rt,17,()=>r(ze).members.items,tt=>tt.id,(tt,Ae)=>{var Qe=VA(),Xe=f(Qe);C(Ke=>{ae(Qe,"href",Ke),_(Xe,r(Ae).name)},[()=>_n(r(Ae).id)]),b(tt,Qe)});var Wt=p(Rt,2);{var At=tt=>{var Ae=WA(),Qe=f(Ae);C(Xe=>_(Qe,Xe),[()=>n()("deadCode.moreMembers",r(ze).members.total-r(ze).members.shown)]),b(tt,Ae)};B(Wt,tt=>{r(ze).members.truncated&&tt(At)})}b(ct,Dt)};B(Ge,ct=>{r(ze).members.items.length>0&&ct(lt)})}C((ct,Dt)=>{ae(pt,"title",r(ze).qualifiedName),ae(pt,"data-dead-row",r(ze).id),_(Ot,r(ze).name),ae(Nt,"href",ct),_(ye,`${r(ze).file??""}:${r(ze).line??""}`),_(je,Dt)},[()=>hn(r(ce).file,{source:!0,line:r(ze).line}),()=>FA(r(ze))]),Ce("click",pt,()=>v(r(ze))),b(Me,Ue)}),C((Me,ze)=>{oe=De(J,1,"filegroup svelte-186vr2",null,oe,{gen:r(ce).generated}),ae(_e,"href",Me),ae(_e,"title",r(ce).file),_(Ie,r(ce).file),_(me,ze)},[()=>hn(r(ce).file),()=>qA(r(ce))]),b(ee,J)}),C(()=>_(fe,r(d))),b(re,de)};B(E,re=>{r(i).groups.length===0?re(I):re(F,-1)})}var q=p(E,2),Y=f(q),ne=f(Y),ie=p(Y,2);{var G=re=>{var de=ZA();Te(de,20,()=>r(h),ue=>ue,(ue,fe)=>{var te=XA(),ee=f(te);C(()=>_(ee,fe)),b(ue,te)}),b(re,de)};B(ie,re=>{r(h).length>0&&re(G)})}var P=p(ie,2);{var Q=re=>{var de=Uc(),ue=f(de);C(fe=>_(ue,fe),[()=>n()("deadCode.notCorroborated")]),b(re,de)};B(P,re=>{r(i).corroborated||re(Q)})}var V=p(P,2);{var X=re=>{var de=Uc(),ue=f(de);C(fe=>_(ue,fe),[()=>n()("deadCode.bounded")]),b(re,de)};B(V,re=>{r(i).bounded&&re(X)})}var le=p(V,2);{var se=re=>{var de=Uc(),ue=f(de);C(fe=>_(ue,fe),[()=>n()("deadCode.truncated",r(i).rows.shown,r(i).rows.total)]),b(re,de)};B(le,re=>{r(i).rows.truncated&&re(se)})}C(()=>_(ne,r(u))),b(x,m)};B(z,x=>{r(l)?x(U):r(c)&&r(i)===null?x($,1):r(i)&&x(H,2)})}C((x,m,S,T,E)=>{_(k,x),_(L,m),_(j,DA),K=De(W,1,"toggle svelte-186vr2",null,K,{on:a()}),ae(W,"href",S),ae(W,"title",T),_(Z,E)},[()=>n()("deadCode.title"),()=>n()("deadCode.desc"),()=>Gi({exported:!a()}),()=>a()?n()("deadCode.toggleTitleExported"):n()("deadCode.toggleTitleInternal"),()=>a()?n()("deadCode.toggleExported"):n()("deadCode.toggleInternal")]),Ce("click",W,x=>{x.preventDefault(),$t(Gi({exported:!a()}))}),b(e,y),He(),o()}Mt(["click"]);var tI=O('<div class="scroll svelte-wjp3va"><div class="emptystate"><h2>页面不存在</h2> <p><span class="mono"> </span> 不是一个有效视图。请尝试 <a class="mono link svelte-wjp3va" href="#/">首页</a>。</p></div></div>');function nI(e,t){var n=tI(),s=f(n),o=p(f(s),2),a=f(o),i=f(a);C(()=>_(i,`#${t.path??""}`)),b(e,n)}var rI=O('<div class="toast svelte-1ig2a9j"> </div>'),sI=O('<div class="live-region" aria-live="polite"><!></div>');function oI(e,t){Re(t,!1),bp();var n=sI(),s=f(n);{var o=a=>{var i=rI(),l=f(i);C(()=>_(l,gs.message)),b(a,i)};B(s,a=>{gs.message&&a(o)})}b(e,n),He()}var aI=O('<!> <!> <main class="svelte-1n46o8q"><!></main> <!>',1);function iI(e,t){Re(t,!0),it(()=>{Kr.ensure()}),it(()=>{Kn.start()});let n=Kn.indexTick;it(()=>{const z=Kn.indexTick;rn(()=>{z!==n&&(n=z,Kr.reload(),Ht.reloadEntries(),Kt.reload(),gs.show(he("toastIndexUpdated")))})});let s=ve(null),o=N(()=>ma.route),a=N(()=>(Kr.stats?.graph.edgesByKind.navigates??0)>0);it(()=>{const z=ma.route,U=ma.params.get("t");rn(()=>{Ut.hydrate(U),z.view==="symbol"&&Ut.current?.id!==z.id&&Ut.push({id:z.id})})}),it(()=>{Ut.hops.length,Y_()});function i(z){return z instanceof HTMLElement?z.isContentEditable||z instanceof HTMLInputElement||z instanceof HTMLTextAreaElement||z instanceof HTMLSelectElement:!1}function l(z){if(!z.defaultPrevented){if((z.metaKey||z.ctrlKey)&&z.key.toLowerCase()==="k"){z.preventDefault(),r(s)?.focusSearch();return}if(!(z.metaKey||z.ctrlKey||z.altKey)&&!i(z.target))switch(z.key){case"/":z.preventDefault(),r(s)?.focusSearch();break;case"m":z.preventDefault(),$t(Ki());break;case"f":z.preventDefault(),$t(Qs());break;case"e":z.preventDefault(),$t(tu());break;case"s":z.preventDefault(),$t(wp());break;case"d":z.preventDefault(),$t(Gi());break;case"Backspace":case"[":z.preventDefault(),S_();break}}}var c=aI();st("keydown",xn,l);var d=xe(c);Zt(lb(d,{get project(){return Kr.name},get stats(){return Kr.summary},get showScreens(){return r(a)}}),z=>R(s,z,!0),()=>r(s));var u=p(d,2);Cb(u,{});var h=p(u,2),v=f(h);{var y=z=>{g0(z,{get id(){return r(o).id},get line(){return r(o).line}})},g=z=>{zx(z,{get path(){return r(o).path},get line(){return r(o).line}})},w=z=>{j0(z,{get path(){return r(o).path},get line(){return r(o).line}})},k=z=>{PM(z,{get root(){return r(o).root},get depth(){return r(o).depth},get tests(){return r(o).tests}})},A=z=>{bA(z,{get from(){return r(o).from},get to(){return r(o).to},get symbols(){return r(o).symbols},get trailParam(){return r(o).trail}})},L=z=>{OA(z,{get project(){return Kr.name}})},M=z=>{bN(z,{})},D=z=>{j4(z,{get anchor(){return r(o).anchor},get symbol(){return r(o).symbol},get depth(){return r(o).depth},get through(){return r(o).through},get reading(){return r(o).reading}})},j=z=>{eI(z,{get exported(){return r(o).exported}})},W=z=>{nI(z,{get path(){return r(o).path}})},K=z=>{qb(z,{get project(){return Kr.name}})};B(v,z=>{r(o).view==="symbol"?z(y):r(o).view==="file"&&r(o).source?z(g,1):r(o).view==="file"?z(w,2):r(o).view==="map"?z(k,3):r(o).view==="flow"?z(A,4):r(o).view==="entry"?z(L,5):r(o).view==="screens"||r(o).view==="home"&&r(a)?z(M,6):r(o).view==="steps"?z(D,7):r(o).view==="dead"?z(j,8):r(o).view==="unknown"?z(W,9):z(K,-1)})}var Z=p(h,2);oI(Z,{}),b(e,c),He()}const Lm=document.getElementById("app");if(!Lm)throw new Error("cg ui: #app host element is missing from index.html");n_(iI,{target:Lm});