watch-tail 0.8.0 → 0.10.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 (399) hide show
  1. package/README.md +107 -9
  2. package/build/client/_app/immutable/assets/0.B5hI3s8c.css +2 -0
  3. package/build/client/_app/immutable/assets/0.B5hI3s8c.css.br +0 -0
  4. package/build/client/_app/immutable/assets/0.B5hI3s8c.css.gz +0 -0
  5. package/build/client/_app/immutable/assets/2.Cn4w1JYv.css +1 -0
  6. package/build/client/_app/immutable/assets/2.Cn4w1JYv.css.br +0 -0
  7. package/build/client/_app/immutable/assets/2.Cn4w1JYv.css.gz +0 -0
  8. package/build/client/_app/immutable/assets/{EventScatter.CCk6ByS3.css → EventScatter.0BkgJO-l.css} +1 -1
  9. package/build/client/_app/immutable/assets/EventScatter.0BkgJO-l.css.br +0 -0
  10. package/build/client/_app/immutable/assets/EventScatter.0BkgJO-l.css.gz +0 -0
  11. package/build/client/_app/immutable/chunks/B2En4t_E.js +3 -0
  12. package/build/client/_app/immutable/chunks/B2En4t_E.js.br +0 -0
  13. package/build/client/_app/immutable/chunks/B2En4t_E.js.gz +0 -0
  14. package/build/client/_app/immutable/chunks/BJ7fEbY9.js +1 -0
  15. package/build/client/_app/immutable/chunks/BJ7fEbY9.js.br +0 -0
  16. package/build/client/_app/immutable/chunks/BJ7fEbY9.js.gz +0 -0
  17. package/build/client/_app/immutable/chunks/{BF1MBUT7.js → BX0v2q9h.js} +1 -1
  18. package/build/client/_app/immutable/chunks/BX0v2q9h.js.br +0 -0
  19. package/build/client/_app/immutable/chunks/BX0v2q9h.js.gz +0 -0
  20. package/build/client/_app/immutable/chunks/{9z7cmAWt.js → B_AZHMkI.js} +1 -1
  21. package/build/client/_app/immutable/chunks/B_AZHMkI.js.br +0 -0
  22. package/build/client/_app/immutable/chunks/B_AZHMkI.js.gz +0 -0
  23. package/build/client/_app/immutable/chunks/{BKpbhYu9.js → Bb9UOIo-.js} +1 -1
  24. package/build/client/_app/immutable/chunks/Bb9UOIo-.js.br +0 -0
  25. package/build/client/_app/immutable/chunks/Bb9UOIo-.js.gz +0 -0
  26. package/build/client/_app/immutable/chunks/{BzFqst10.js → BdV_pkVs.js} +1 -1
  27. package/build/client/_app/immutable/chunks/BdV_pkVs.js.br +0 -0
  28. package/build/client/_app/immutable/chunks/BdV_pkVs.js.gz +0 -0
  29. package/build/client/_app/immutable/chunks/{CBzF0p8K.js → BsrUsB47.js} +1 -1
  30. package/build/client/_app/immutable/chunks/BsrUsB47.js.br +0 -0
  31. package/build/client/_app/immutable/chunks/BsrUsB47.js.gz +0 -0
  32. package/build/client/_app/immutable/chunks/{Cr-NovV3.js → CBZpkDc1.js} +1 -1
  33. package/build/client/_app/immutable/chunks/CBZpkDc1.js.br +0 -0
  34. package/build/client/_app/immutable/chunks/CBZpkDc1.js.gz +0 -0
  35. package/build/client/_app/immutable/chunks/{X7CLxGgV.js → CHnbfiIG.js} +1 -1
  36. package/build/client/_app/immutable/chunks/CHnbfiIG.js.br +0 -0
  37. package/build/client/_app/immutable/chunks/CHnbfiIG.js.gz +0 -0
  38. package/build/client/_app/immutable/chunks/{BVlqiKgb.js → CNomy7CF.js} +1 -1
  39. package/build/client/_app/immutable/chunks/CNomy7CF.js.br +0 -0
  40. package/build/client/_app/immutable/chunks/CNomy7CF.js.gz +0 -0
  41. package/build/client/_app/immutable/chunks/CPbNf3ya.js +1 -0
  42. package/build/client/_app/immutable/chunks/CPbNf3ya.js.br +0 -0
  43. package/build/client/_app/immutable/chunks/CPbNf3ya.js.gz +0 -0
  44. package/build/client/_app/immutable/chunks/CZ2PC-zH.js +1 -0
  45. package/build/client/_app/immutable/chunks/CZ2PC-zH.js.br +0 -0
  46. package/build/client/_app/immutable/chunks/CZ2PC-zH.js.gz +0 -0
  47. package/build/client/_app/immutable/chunks/CljxK204.js +1 -0
  48. package/build/client/_app/immutable/chunks/CljxK204.js.br +1 -0
  49. package/build/client/_app/immutable/chunks/CljxK204.js.gz +0 -0
  50. package/build/client/_app/immutable/chunks/CzU0cUz4.js +1 -0
  51. package/build/client/_app/immutable/chunks/CzU0cUz4.js.br +0 -0
  52. package/build/client/_app/immutable/chunks/CzU0cUz4.js.gz +0 -0
  53. package/build/client/_app/immutable/chunks/{cK-f5ch_.js → D6vIi1r5.js} +1 -1
  54. package/build/client/_app/immutable/chunks/D6vIi1r5.js.br +3 -0
  55. package/build/client/_app/immutable/chunks/D6vIi1r5.js.gz +0 -0
  56. package/build/client/_app/immutable/chunks/DAxERhtN.js +1 -0
  57. package/build/client/_app/immutable/chunks/DAxERhtN.js.br +0 -0
  58. package/build/client/_app/immutable/chunks/DAxERhtN.js.gz +0 -0
  59. package/build/client/_app/immutable/chunks/DIzgJaYS.js +1 -0
  60. package/build/client/_app/immutable/chunks/DIzgJaYS.js.br +0 -0
  61. package/build/client/_app/immutable/chunks/DIzgJaYS.js.gz +0 -0
  62. package/build/client/_app/immutable/chunks/DSHrbzz3.js +1 -0
  63. package/build/client/_app/immutable/chunks/DSHrbzz3.js.br +0 -0
  64. package/build/client/_app/immutable/chunks/DSHrbzz3.js.gz +0 -0
  65. package/build/client/_app/immutable/chunks/{DBcd9YbV.js → DSvLImpl.js} +1 -1
  66. package/build/client/_app/immutable/chunks/DSvLImpl.js.br +0 -0
  67. package/build/client/_app/immutable/chunks/DSvLImpl.js.gz +0 -0
  68. package/build/client/_app/immutable/chunks/{vB0ff9Sn.js → DWBod19x.js} +1 -1
  69. package/build/client/_app/immutable/chunks/DWBod19x.js.br +0 -0
  70. package/build/client/_app/immutable/chunks/DWBod19x.js.gz +0 -0
  71. package/build/client/_app/immutable/chunks/{BWGaSL1l.js → Dicxo5h-.js} +1 -1
  72. package/build/client/_app/immutable/chunks/Dicxo5h-.js.br +0 -0
  73. package/build/client/_app/immutable/chunks/Dicxo5h-.js.gz +0 -0
  74. package/build/client/_app/immutable/chunks/DjjHmSG3.js +1 -0
  75. package/build/client/_app/immutable/chunks/DjjHmSG3.js.br +0 -0
  76. package/build/client/_app/immutable/chunks/DjjHmSG3.js.gz +0 -0
  77. package/build/client/_app/immutable/chunks/DlDLXtam.js +1 -0
  78. package/build/client/_app/immutable/chunks/DlDLXtam.js.br +0 -0
  79. package/build/client/_app/immutable/chunks/DlDLXtam.js.gz +0 -0
  80. package/build/client/_app/immutable/chunks/EZJqWoh3.js +1 -0
  81. package/build/client/_app/immutable/chunks/EZJqWoh3.js.br +0 -0
  82. package/build/client/_app/immutable/chunks/EZJqWoh3.js.gz +0 -0
  83. package/build/client/_app/immutable/chunks/Fg8W5tkO.js +15 -0
  84. package/build/client/_app/immutable/chunks/Fg8W5tkO.js.br +0 -0
  85. package/build/client/_app/immutable/chunks/Fg8W5tkO.js.gz +0 -0
  86. package/build/client/_app/immutable/chunks/LGzrUxfF.js +1 -0
  87. package/build/client/_app/immutable/chunks/LGzrUxfF.js.br +0 -0
  88. package/build/client/_app/immutable/chunks/LGzrUxfF.js.gz +0 -0
  89. package/build/client/_app/immutable/chunks/McME9wI6.js +10 -0
  90. package/build/client/_app/immutable/chunks/McME9wI6.js.br +0 -0
  91. package/build/client/_app/immutable/chunks/McME9wI6.js.gz +0 -0
  92. package/build/client/_app/immutable/chunks/N78Fm5Ux.js +1 -0
  93. package/build/client/_app/immutable/chunks/N78Fm5Ux.js.br +0 -0
  94. package/build/client/_app/immutable/chunks/N78Fm5Ux.js.gz +0 -0
  95. package/build/client/_app/immutable/chunks/{B_Z4tBMl.js → XrAcf7YH.js} +1 -1
  96. package/build/client/_app/immutable/chunks/XrAcf7YH.js.br +0 -0
  97. package/build/client/_app/immutable/chunks/XrAcf7YH.js.gz +0 -0
  98. package/build/client/_app/immutable/chunks/{CM9QBz5w.js → _PJhUOmT.js} +1 -1
  99. package/build/client/_app/immutable/chunks/_PJhUOmT.js.br +0 -0
  100. package/build/client/_app/immutable/chunks/_PJhUOmT.js.gz +0 -0
  101. package/build/client/_app/immutable/chunks/gXyWwJbW.js +1 -0
  102. package/build/client/_app/immutable/chunks/gXyWwJbW.js.br +0 -0
  103. package/build/client/_app/immutable/chunks/gXyWwJbW.js.gz +0 -0
  104. package/build/client/_app/immutable/chunks/{B5kJ4QGS.js → vMHl7jRw.js} +1 -1
  105. package/build/client/_app/immutable/chunks/vMHl7jRw.js.br +0 -0
  106. package/build/client/_app/immutable/chunks/vMHl7jRw.js.gz +0 -0
  107. package/build/client/_app/immutable/chunks/xJTjOoUQ.js +2 -0
  108. package/build/client/_app/immutable/chunks/xJTjOoUQ.js.br +0 -0
  109. package/build/client/_app/immutable/chunks/xJTjOoUQ.js.gz +0 -0
  110. package/build/client/_app/immutable/entry/app.ycJtqzGh.js +2 -0
  111. package/build/client/_app/immutable/entry/app.ycJtqzGh.js.br +0 -0
  112. package/build/client/_app/immutable/entry/app.ycJtqzGh.js.gz +0 -0
  113. package/build/client/_app/immutable/entry/start.DOq0-PiA.js +1 -0
  114. package/build/client/_app/immutable/entry/start.DOq0-PiA.js.br +0 -0
  115. package/build/client/_app/immutable/entry/start.DOq0-PiA.js.gz +0 -0
  116. package/build/client/_app/immutable/nodes/0.D63E8Q6i.js +1 -0
  117. package/build/client/_app/immutable/nodes/0.D63E8Q6i.js.br +0 -0
  118. package/build/client/_app/immutable/nodes/0.D63E8Q6i.js.gz +0 -0
  119. package/build/client/_app/immutable/nodes/1.B63I-h1v.js +1 -0
  120. package/build/client/_app/immutable/nodes/1.B63I-h1v.js.br +0 -0
  121. package/build/client/_app/immutable/nodes/1.B63I-h1v.js.gz +0 -0
  122. package/build/client/_app/immutable/nodes/2.DXy8PMWZ.js +5 -0
  123. package/build/client/_app/immutable/nodes/2.DXy8PMWZ.js.br +0 -0
  124. package/build/client/_app/immutable/nodes/2.DXy8PMWZ.js.gz +0 -0
  125. package/build/client/_app/version.json +1 -1
  126. package/build/client/_app/version.json.br +0 -0
  127. package/build/client/_app/version.json.gz +0 -0
  128. package/build/handler.js +7 -7
  129. package/build/index.js +7 -7
  130. package/build/server/chunks/chunks/{Arc.canvas.js-D6g58nSp.js → Arc.canvas.js-DqfSjlnB.js} +8 -8
  131. package/build/server/chunks/chunks/Arc.canvas.js-DqfSjlnB.js.map +1 -0
  132. package/build/server/chunks/chunks/{Arc.js-D78Cf_4M.js → Arc.js-DNywwEq7.js} +10 -10
  133. package/build/server/chunks/chunks/Arc.js-DNywwEq7.js.map +1 -0
  134. package/build/server/chunks/chunks/{Bar.js-Cv73T8_D.js → Bar.js-BHJrwOa1.js} +14 -14
  135. package/build/server/chunks/chunks/Bar.js-BHJrwOa1.js.map +1 -0
  136. package/build/server/chunks/chunks/{ChartAnnotations.js-Ci22VB_6.js → ChartAnnotations.js-DXt38zkt.js} +18 -18
  137. package/build/server/chunks/chunks/ChartAnnotations.js-DXt38zkt.js.map +1 -0
  138. package/build/server/chunks/chunks/{Circle.html.js-BjwyNRG3.js → Circle.html.js-KngSXZUe.js} +5 -5
  139. package/build/server/chunks/chunks/Circle.html.js-KngSXZUe.js.map +1 -0
  140. package/build/server/chunks/chunks/{ClipPath.canvas.js-CFTBDWVU.js → ClipPath.canvas.js-BsGsfzQK.js} +4 -4
  141. package/build/server/chunks/chunks/ClipPath.canvas.js-BsGsfzQK.js.map +1 -0
  142. package/build/server/chunks/chunks/{DefaultTooltip.js-0r5rbE-1.js → DefaultTooltip.js-CbyljZUi.js} +8 -8
  143. package/build/server/chunks/chunks/DefaultTooltip.js-CbyljZUi.js.map +1 -0
  144. package/build/server/chunks/chunks/{EventScatter.js-CG0RcOU6.js → EventScatter.js-DHlLEn_7.js} +39 -38
  145. package/build/server/chunks/chunks/EventScatter.js-DHlLEn_7.js.map +1 -0
  146. package/build/server/chunks/chunks/{Labels.js-DpagpV6d.js → Labels.js-DhpbhJmV.js} +18 -18
  147. package/build/server/chunks/chunks/Labels.js-DhpbhJmV.js.map +1 -0
  148. package/build/server/chunks/chunks/{Legend.js-BOpwpe5s.js → Legend.js-D25j2DRt.js} +6 -6
  149. package/build/server/chunks/chunks/Legend.js-D25j2DRt.js.map +1 -0
  150. package/build/server/chunks/chunks/{Line.html.js-BM5tR11G.js → Line.html.js-CKb2T7JC.js} +6 -6
  151. package/build/server/chunks/chunks/Line.html.js-CKb2T7JC.js.map +1 -0
  152. package/build/server/chunks/chunks/{Link.canvas.js-P8ySzEAw.js → Link.canvas.js-c0r05107.js} +9 -9
  153. package/build/server/chunks/chunks/Link.canvas.js-c0r05107.js.map +1 -0
  154. package/build/server/chunks/chunks/{Path.canvas.js-DNAtnEBt.js → Path.canvas.js-opfoYzQB.js} +5 -5
  155. package/build/server/chunks/chunks/Path.canvas.js-opfoYzQB.js.map +1 -0
  156. package/build/server/chunks/chunks/{Points.html.js-CLbHD6OP.js → Points.html.js-CJ75UtkE.js} +7 -7
  157. package/build/server/chunks/chunks/Points.html.js-CJ75UtkE.js.map +1 -0
  158. package/build/server/chunks/chunks/Points.js-Bx_vB0po.js +14 -0
  159. package/build/server/chunks/chunks/Points.js-Bx_vB0po.js.map +1 -0
  160. package/build/server/chunks/chunks/{Points2.js-BMGdkzTE.js → Points2.js-Br2MMKbn.js} +4 -4
  161. package/build/server/chunks/chunks/Points2.js-Br2MMKbn.js.map +1 -0
  162. package/build/server/chunks/chunks/{Rect.html.js-Q3UvRwNn.js → Rect.html.js-D_-JSZ22.js} +6 -6
  163. package/build/server/chunks/chunks/Rect.html.js-D_-JSZ22.js.map +1 -0
  164. package/build/server/chunks/chunks/{Spline.js-BuZPz2PJ.js → Spline.js-DpD4175j.js} +12 -12
  165. package/build/server/chunks/chunks/Spline.js-DpD4175j.js.map +1 -0
  166. package/build/server/chunks/chunks/{Text.html.js-C8xO5Nz6.js → Text.html.js-Clxo39Ky.js} +6 -6
  167. package/build/server/chunks/chunks/Text.html.js-Clxo39Ky.js.map +1 -0
  168. package/build/server/chunks/chunks/{TooltipItem.js-T0cKLjLu.js → TooltipItem.js-CgYSF3I3.js} +6 -6
  169. package/build/server/chunks/chunks/{TooltipItem.js-T0cKLjLu.js.map → TooltipItem.js-CgYSF3I3.js.map} +1 -1
  170. package/build/server/chunks/chunks/{Voronoi.js-DevTsXQE.js → Voronoi.js-CX8bqc1A.js} +7 -7
  171. package/build/server/chunks/chunks/Voronoi.js-CX8bqc1A.js.map +1 -0
  172. package/build/server/chunks/chunks/{archive.js-D2jtMmDo.js → archive.js-BRlkdj2X.js} +331 -30
  173. package/build/server/chunks/chunks/archive.js-BRlkdj2X.js.map +1 -0
  174. package/build/server/chunks/chunks/{attributes.js-BVWo7wbg.js → attributes.js-ECgqVV_7.js} +2 -2
  175. package/build/server/chunks/chunks/{attributes.js-BVWo7wbg.js.map → attributes.js-ECgqVV_7.js.map} +1 -1
  176. package/build/server/chunks/chunks/{band.js-C7izXphE.js → band.js-BcI84M0Z.js} +3 -3
  177. package/build/server/chunks/chunks/{band.js-C7izXphE.js.map → band.js-BcI84M0Z.js.map} +1 -1
  178. package/build/server/chunks/chunks/{common.js-BWQB8Die.js → common.js-DeZxUyRN.js} +2 -2
  179. package/build/server/chunks/chunks/{common.js-BWQB8Die.js.map → common.js-DeZxUyRN.js.map} +1 -1
  180. package/build/server/chunks/chunks/events.js-oxLu7lhH.js +95 -0
  181. package/build/server/chunks/chunks/events.js-oxLu7lhH.js.map +1 -0
  182. package/build/server/chunks/chunks/{group.js-DBFzWAox.js → group.js-C8H9Tpr6.js} +2 -2
  183. package/build/server/chunks/chunks/{group.js-DBFzWAox.js.map → group.js-C8H9Tpr6.js.map} +1 -1
  184. package/build/server/chunks/chunks/{server.js-CAEBuMIH.js → index-server.js-Dsi44azJ.js} +245 -4
  185. package/build/server/chunks/chunks/index-server.js-Dsi44azJ.js.map +1 -0
  186. package/build/server/chunks/chunks/{internal2.js-BMcEVxqN.js → internal2.js-Dm0TlpeP.js} +5 -5
  187. package/build/server/chunks/chunks/internal2.js-Dm0TlpeP.js.map +1 -0
  188. package/build/server/chunks/chunks/{key.svelte.js-CWIvXc6L.js → key.svelte.js-C9G4pBhE.js} +4 -4
  189. package/build/server/chunks/chunks/key.svelte.js-C9G4pBhE.js.map +1 -0
  190. package/build/server/chunks/chunks/{legacy-client.js-DJmDw3Zx.js → legacy-client.js-C8Upo6IB.js} +3 -3
  191. package/build/server/chunks/chunks/legacy-client.js-C8Upo6IB.js.map +1 -0
  192. package/build/server/chunks/chunks/{level-filter.js-D9MNrew3.js → level-filter.js-H0nc-2BG.js} +2 -2
  193. package/build/server/chunks/chunks/{level-filter.js-D9MNrew3.js.map → level-filter.js-H0nc-2BG.js.map} +1 -1
  194. package/build/server/chunks/chunks/{lineRadial.js-Dm0GMqo3.js → lineRadial.js-B0m9ujVX.js} +2 -2
  195. package/build/server/chunks/chunks/{lineRadial.js-Dm0GMqo3.js.map → lineRadial.js-B0m9ujVX.js.map} +1 -1
  196. package/build/server/chunks/chunks/{linear.js-CTOKrHn9.js → linear.js-CJ07spu6.js} +2 -2
  197. package/build/server/chunks/chunks/{linear.js-CTOKrHn9.js.map → linear.js-CJ07spu6.js.map} +1 -1
  198. package/build/server/chunks/chunks/{motion.svelte.js-DCHSFMu-.js → motion.svelte.js-DB7vkWmD.js} +3 -3
  199. package/build/server/chunks/chunks/motion.svelte.js-DB7vkWmD.js.map +1 -0
  200. package/build/server/chunks/chunks/{occlusion.js-DJ-AdK9u.js → occlusion.js-DtcqoJjc.js} +2 -2
  201. package/build/server/chunks/chunks/{occlusion.js-DJ-AdK9u.js.map → occlusion.js-DtcqoJjc.js.map} +1 -1
  202. package/build/server/chunks/chunks/{path2.js-pquT2Kg6.js → path2.js-B3tNByoS.js} +2 -2
  203. package/build/server/chunks/chunks/{path2.js-pquT2Kg6.js.map → path2.js-B3tNByoS.js.map} +1 -1
  204. package/build/server/chunks/chunks/{rect.svelte.js-zeS7FWjB.js → rect.svelte.js-C6R1SgCx.js} +4 -4
  205. package/build/server/chunks/chunks/rect.svelte.js-C6R1SgCx.js.map +1 -0
  206. package/build/server/chunks/chunks/{scales.svelte.js-D_1popPi.js → scales.svelte.js-C4lRvUAb.js} +4 -4
  207. package/build/server/chunks/chunks/scales.svelte.js-C4lRvUAb.js.map +1 -0
  208. package/build/server/chunks/chunks/{series-buckets.js-DFGWkob5.js → series-buckets.js-C-vMEJT2.js} +6 -6
  209. package/build/server/chunks/chunks/series-buckets.js-C-vMEJT2.js.map +1 -0
  210. package/build/server/chunks/chunks/{state.js-vZj9lo1I.js → state.js-qsHzjuJU.js} +3 -4
  211. package/build/server/chunks/chunks/state.js-qsHzjuJU.js.map +1 -0
  212. package/build/server/chunks/chunks/text-size.svelte.js-CqGaHRr3.js +310 -0
  213. package/build/server/chunks/chunks/text-size.svelte.js-CqGaHRr3.js.map +1 -0
  214. package/build/server/chunks/chunks/{time-range.js-BLMT8aU3.js → time-range.js-__87ZPq6.js} +10 -5
  215. package/build/server/chunks/chunks/time-range.js-__87ZPq6.js.map +1 -0
  216. package/build/server/chunks/entries/endpoints/api/archive/{_server.ts.js-C4hWyXuu.js → _server.ts.js-C6WY-ljy.js} +2 -2
  217. package/build/server/chunks/entries/endpoints/api/archive/{_server.ts.js-C4hWyXuu.js.map → _server.ts.js-C6WY-ljy.js.map} +1 -1
  218. package/build/server/chunks/entries/endpoints/api/log-groups/{_server.ts.js-D4y43Vwe.js → _server.ts.js-DTcVSbpV.js} +2 -2
  219. package/build/server/chunks/entries/endpoints/api/log-groups/{_server.ts.js-D4y43Vwe.js.map → _server.ts.js-DTcVSbpV.js.map} +1 -1
  220. package/build/server/chunks/entries/endpoints/api/series/{_server.ts.js-DibT3Hjc.js → _server.ts.js-CzJ_bXh8.js} +4 -4
  221. package/build/server/chunks/entries/endpoints/api/series/{_server.ts.js-DibT3Hjc.js.map → _server.ts.js-CzJ_bXh8.js.map} +1 -1
  222. package/build/server/chunks/entries/endpoints/api/stream/{_server.ts.js-BxXw5K0R.js → _server.ts.js-U2naV16N.js} +211 -48
  223. package/build/server/chunks/entries/endpoints/api/stream/_server.ts.js-U2naV16N.js.map +1 -0
  224. package/build/server/chunks/entries/fallbacks/{error.svelte.js-bokc4skC.js → error.svelte.js-ClTGKP0-.js} +6 -6
  225. package/build/server/chunks/entries/fallbacks/error.svelte.js-ClTGKP0-.js.map +1 -0
  226. package/build/server/chunks/entries/pages/_layout.svelte.js-DNuWb03K.js +622 -0
  227. package/build/server/chunks/entries/pages/_layout.svelte.js-DNuWb03K.js.map +1 -0
  228. package/build/server/chunks/entries/pages/{_page.svelte.js-DRoSEPVH.js → _page.svelte.js-CVlL2UsO.js} +341 -175
  229. package/build/server/chunks/entries/pages/_page.svelte.js-CVlL2UsO.js.map +1 -0
  230. package/build/server/chunks/{handler-BkYErjbr.js → handler-CrpvMheE.js} +3 -3
  231. package/build/server/chunks/{handler-BkYErjbr.js.map → handler-CrpvMheE.js.map} +1 -1
  232. package/build/server/chunks/{index.js-5mkIDcpy.js → index.js-9Dk7Q13E.js} +3 -4
  233. package/build/server/chunks/index.js-9Dk7Q13E.js.map +1 -0
  234. package/build/server/chunks/{manifest.js-BGoS-vRx.js → manifest.js-DIaODzKX.js} +9 -9
  235. package/build/server/chunks/{manifest.js-BGoS-vRx.js.map → manifest.js-DIaODzKX.js.map} +1 -1
  236. package/build/server/chunks/nodes/0.js-CQ960AOW.js +9 -0
  237. package/build/server/chunks/nodes/0.js-CQ960AOW.js.map +1 -0
  238. package/build/server/chunks/nodes/1.js-CtTei4sV.js +9 -0
  239. package/build/server/chunks/nodes/{1.js-BQibx33b.js.map → 1.js-CtTei4sV.js.map} +1 -1
  240. package/build/server/chunks/nodes/2.js-BbKDb_M6.js +9 -0
  241. package/build/server/chunks/nodes/2.js-BbKDb_M6.js.map +1 -0
  242. package/dist/cli/completions.js +24 -0
  243. package/dist/cli/index.js +144 -3
  244. package/dist/cli/mcp/agents.js +344 -0
  245. package/dist/cli/mcp/backend.js +235 -0
  246. package/dist/cli/mcp/run.js +245 -0
  247. package/dist/cli/mcp/stdio.js +103 -0
  248. package/dist/cli/mcp/tools.js +245 -0
  249. package/dist/cli/options.js +138 -25
  250. package/dist/cli/server.js +28 -0
  251. package/dist/cli/ui.js +20 -1
  252. package/dist/lib/time-range.js +14 -3
  253. package/package.json +8 -2
  254. package/build/client/_app/immutable/assets/0.zDk3x0WE.css +0 -2
  255. package/build/client/_app/immutable/assets/0.zDk3x0WE.css.br +0 -0
  256. package/build/client/_app/immutable/assets/0.zDk3x0WE.css.gz +0 -0
  257. package/build/client/_app/immutable/assets/EventScatter.CCk6ByS3.css.br +0 -0
  258. package/build/client/_app/immutable/assets/EventScatter.CCk6ByS3.css.gz +0 -0
  259. package/build/client/_app/immutable/chunks/9z7cmAWt.js.br +0 -0
  260. package/build/client/_app/immutable/chunks/9z7cmAWt.js.gz +0 -0
  261. package/build/client/_app/immutable/chunks/B26Z2DQX.js +0 -1
  262. package/build/client/_app/immutable/chunks/B26Z2DQX.js.br +0 -0
  263. package/build/client/_app/immutable/chunks/B26Z2DQX.js.gz +0 -0
  264. package/build/client/_app/immutable/chunks/B5kJ4QGS.js.br +0 -0
  265. package/build/client/_app/immutable/chunks/B5kJ4QGS.js.gz +0 -0
  266. package/build/client/_app/immutable/chunks/BF1MBUT7.js.br +0 -0
  267. package/build/client/_app/immutable/chunks/BF1MBUT7.js.gz +0 -0
  268. package/build/client/_app/immutable/chunks/BJEa1AAY.js +0 -10
  269. package/build/client/_app/immutable/chunks/BJEa1AAY.js.br +0 -0
  270. package/build/client/_app/immutable/chunks/BJEa1AAY.js.gz +0 -0
  271. package/build/client/_app/immutable/chunks/BKpbhYu9.js.br +0 -0
  272. package/build/client/_app/immutable/chunks/BKpbhYu9.js.gz +0 -0
  273. package/build/client/_app/immutable/chunks/BVlqiKgb.js.br +0 -0
  274. package/build/client/_app/immutable/chunks/BVlqiKgb.js.gz +0 -0
  275. package/build/client/_app/immutable/chunks/BWGaSL1l.js.br +0 -0
  276. package/build/client/_app/immutable/chunks/BWGaSL1l.js.gz +0 -0
  277. package/build/client/_app/immutable/chunks/B_Z4tBMl.js.br +0 -0
  278. package/build/client/_app/immutable/chunks/B_Z4tBMl.js.gz +0 -0
  279. package/build/client/_app/immutable/chunks/Bo46v6NJ.js +0 -1
  280. package/build/client/_app/immutable/chunks/Bo46v6NJ.js.br +0 -0
  281. package/build/client/_app/immutable/chunks/Bo46v6NJ.js.gz +0 -0
  282. package/build/client/_app/immutable/chunks/BpDPh_kG.js +0 -1
  283. package/build/client/_app/immutable/chunks/BpDPh_kG.js.br +0 -0
  284. package/build/client/_app/immutable/chunks/BpDPh_kG.js.gz +0 -0
  285. package/build/client/_app/immutable/chunks/BzFqst10.js.br +0 -0
  286. package/build/client/_app/immutable/chunks/BzFqst10.js.gz +0 -0
  287. package/build/client/_app/immutable/chunks/C3JYac4u.js +0 -1
  288. package/build/client/_app/immutable/chunks/C3JYac4u.js.br +0 -0
  289. package/build/client/_app/immutable/chunks/C3JYac4u.js.gz +0 -0
  290. package/build/client/_app/immutable/chunks/CBzF0p8K.js.br +0 -0
  291. package/build/client/_app/immutable/chunks/CBzF0p8K.js.gz +0 -0
  292. package/build/client/_app/immutable/chunks/CM9QBz5w.js.br +0 -0
  293. package/build/client/_app/immutable/chunks/CM9QBz5w.js.gz +0 -0
  294. package/build/client/_app/immutable/chunks/CZqQKfBo.js +0 -15
  295. package/build/client/_app/immutable/chunks/CZqQKfBo.js.br +0 -0
  296. package/build/client/_app/immutable/chunks/CZqQKfBo.js.gz +0 -0
  297. package/build/client/_app/immutable/chunks/Cr-NovV3.js.br +0 -0
  298. package/build/client/_app/immutable/chunks/Cr-NovV3.js.gz +0 -0
  299. package/build/client/_app/immutable/chunks/Cz6pnyFa.js +0 -1
  300. package/build/client/_app/immutable/chunks/Cz6pnyFa.js.br +0 -0
  301. package/build/client/_app/immutable/chunks/Cz6pnyFa.js.gz +0 -0
  302. package/build/client/_app/immutable/chunks/D2fsDTN5.js +0 -1
  303. package/build/client/_app/immutable/chunks/D2fsDTN5.js.br +0 -0
  304. package/build/client/_app/immutable/chunks/D2fsDTN5.js.gz +0 -0
  305. package/build/client/_app/immutable/chunks/DBcd9YbV.js.br +0 -0
  306. package/build/client/_app/immutable/chunks/DBcd9YbV.js.gz +0 -0
  307. package/build/client/_app/immutable/chunks/DC_milOQ.js +0 -1
  308. package/build/client/_app/immutable/chunks/DC_milOQ.js.br +0 -0
  309. package/build/client/_app/immutable/chunks/DC_milOQ.js.gz +0 -0
  310. package/build/client/_app/immutable/chunks/DNiEIfDZ.js +0 -1
  311. package/build/client/_app/immutable/chunks/DNiEIfDZ.js.br +0 -0
  312. package/build/client/_app/immutable/chunks/DNiEIfDZ.js.gz +0 -0
  313. package/build/client/_app/immutable/chunks/DWdskt_Y.js +0 -2
  314. package/build/client/_app/immutable/chunks/DWdskt_Y.js.br +0 -0
  315. package/build/client/_app/immutable/chunks/DWdskt_Y.js.gz +0 -0
  316. package/build/client/_app/immutable/chunks/DsMQ6HVM.js +0 -1
  317. package/build/client/_app/immutable/chunks/DsMQ6HVM.js.br +0 -0
  318. package/build/client/_app/immutable/chunks/DsMQ6HVM.js.gz +0 -0
  319. package/build/client/_app/immutable/chunks/Dxeyu30B.js +0 -1
  320. package/build/client/_app/immutable/chunks/Dxeyu30B.js.br +0 -1
  321. package/build/client/_app/immutable/chunks/Dxeyu30B.js.gz +0 -0
  322. package/build/client/_app/immutable/chunks/H4Anb6kP.js +0 -1
  323. package/build/client/_app/immutable/chunks/H4Anb6kP.js.br +0 -0
  324. package/build/client/_app/immutable/chunks/H4Anb6kP.js.gz +0 -0
  325. package/build/client/_app/immutable/chunks/MDK8mPOo.js +0 -1
  326. package/build/client/_app/immutable/chunks/MDK8mPOo.js.br +0 -0
  327. package/build/client/_app/immutable/chunks/MDK8mPOo.js.gz +0 -0
  328. package/build/client/_app/immutable/chunks/X7CLxGgV.js.br +0 -0
  329. package/build/client/_app/immutable/chunks/X7CLxGgV.js.gz +0 -0
  330. package/build/client/_app/immutable/chunks/cK-f5ch_.js.br +0 -2
  331. package/build/client/_app/immutable/chunks/cK-f5ch_.js.gz +0 -0
  332. package/build/client/_app/immutable/chunks/mhYP0ygJ.js +0 -1
  333. package/build/client/_app/immutable/chunks/mhYP0ygJ.js.br +0 -0
  334. package/build/client/_app/immutable/chunks/mhYP0ygJ.js.gz +0 -0
  335. package/build/client/_app/immutable/chunks/pqiPC7Y8.js +0 -3
  336. package/build/client/_app/immutable/chunks/pqiPC7Y8.js.br +0 -0
  337. package/build/client/_app/immutable/chunks/pqiPC7Y8.js.gz +0 -0
  338. package/build/client/_app/immutable/chunks/vB0ff9Sn.js.br +0 -0
  339. package/build/client/_app/immutable/chunks/vB0ff9Sn.js.gz +0 -0
  340. package/build/client/_app/immutable/entry/app.CinEZGkq.js +0 -2
  341. package/build/client/_app/immutable/entry/app.CinEZGkq.js.br +0 -0
  342. package/build/client/_app/immutable/entry/app.CinEZGkq.js.gz +0 -0
  343. package/build/client/_app/immutable/entry/start.B7e0-3Hk.js +0 -1
  344. package/build/client/_app/immutable/entry/start.B7e0-3Hk.js.br +0 -1
  345. package/build/client/_app/immutable/entry/start.B7e0-3Hk.js.gz +0 -0
  346. package/build/client/_app/immutable/nodes/0.CFO0Fthy.js +0 -1
  347. package/build/client/_app/immutable/nodes/0.CFO0Fthy.js.br +0 -0
  348. package/build/client/_app/immutable/nodes/0.CFO0Fthy.js.gz +0 -0
  349. package/build/client/_app/immutable/nodes/1.kGO9dV9J.js +0 -1
  350. package/build/client/_app/immutable/nodes/1.kGO9dV9J.js.br +0 -0
  351. package/build/client/_app/immutable/nodes/1.kGO9dV9J.js.gz +0 -0
  352. package/build/client/_app/immutable/nodes/2.eGSziRQX.js +0 -5
  353. package/build/client/_app/immutable/nodes/2.eGSziRQX.js.br +0 -0
  354. package/build/client/_app/immutable/nodes/2.eGSziRQX.js.gz +0 -0
  355. package/build/server/chunks/chunks/Arc.canvas.js-D6g58nSp.js.map +0 -1
  356. package/build/server/chunks/chunks/Arc.js-D78Cf_4M.js.map +0 -1
  357. package/build/server/chunks/chunks/Bar.js-Cv73T8_D.js.map +0 -1
  358. package/build/server/chunks/chunks/ChartAnnotations.js-Ci22VB_6.js.map +0 -1
  359. package/build/server/chunks/chunks/Circle.html.js-BjwyNRG3.js.map +0 -1
  360. package/build/server/chunks/chunks/ClipPath.canvas.js-CFTBDWVU.js.map +0 -1
  361. package/build/server/chunks/chunks/DefaultTooltip.js-0r5rbE-1.js.map +0 -1
  362. package/build/server/chunks/chunks/EventScatter.js-CG0RcOU6.js.map +0 -1
  363. package/build/server/chunks/chunks/Labels.js-DpagpV6d.js.map +0 -1
  364. package/build/server/chunks/chunks/Legend.js-BOpwpe5s.js.map +0 -1
  365. package/build/server/chunks/chunks/Line.html.js-BM5tR11G.js.map +0 -1
  366. package/build/server/chunks/chunks/Link.canvas.js-P8ySzEAw.js.map +0 -1
  367. package/build/server/chunks/chunks/Path.canvas.js-DNAtnEBt.js.map +0 -1
  368. package/build/server/chunks/chunks/Points.html.js-CLbHD6OP.js.map +0 -1
  369. package/build/server/chunks/chunks/Points.js-e6g0Re6H.js +0 -14
  370. package/build/server/chunks/chunks/Points.js-e6g0Re6H.js.map +0 -1
  371. package/build/server/chunks/chunks/Points2.js-BMGdkzTE.js.map +0 -1
  372. package/build/server/chunks/chunks/Rect.html.js-Q3UvRwNn.js.map +0 -1
  373. package/build/server/chunks/chunks/Spline.js-BuZPz2PJ.js.map +0 -1
  374. package/build/server/chunks/chunks/Text.html.js-C8xO5Nz6.js.map +0 -1
  375. package/build/server/chunks/chunks/Voronoi.js-DevTsXQE.js.map +0 -1
  376. package/build/server/chunks/chunks/archive.js-D2jtMmDo.js.map +0 -1
  377. package/build/server/chunks/chunks/index-server.js-DNLOKvM0.js +0 -248
  378. package/build/server/chunks/chunks/index-server.js-DNLOKvM0.js.map +0 -1
  379. package/build/server/chunks/chunks/internal2.js-BMcEVxqN.js.map +0 -1
  380. package/build/server/chunks/chunks/key.svelte.js-CWIvXc6L.js.map +0 -1
  381. package/build/server/chunks/chunks/legacy-client.js-DJmDw3Zx.js.map +0 -1
  382. package/build/server/chunks/chunks/motion.svelte.js-DCHSFMu-.js.map +0 -1
  383. package/build/server/chunks/chunks/rect.svelte.js-zeS7FWjB.js.map +0 -1
  384. package/build/server/chunks/chunks/scales.svelte.js-D_1popPi.js.map +0 -1
  385. package/build/server/chunks/chunks/series-buckets.js-DFGWkob5.js.map +0 -1
  386. package/build/server/chunks/chunks/server.js-CAEBuMIH.js.map +0 -1
  387. package/build/server/chunks/chunks/state.js-vZj9lo1I.js.map +0 -1
  388. package/build/server/chunks/chunks/time-range.js-BLMT8aU3.js.map +0 -1
  389. package/build/server/chunks/entries/endpoints/api/stream/_server.ts.js-BxXw5K0R.js.map +0 -1
  390. package/build/server/chunks/entries/fallbacks/error.svelte.js-bokc4skC.js.map +0 -1
  391. package/build/server/chunks/entries/pages/_layout.svelte.js-8U7ZeKYO.js +0 -22
  392. package/build/server/chunks/entries/pages/_layout.svelte.js-8U7ZeKYO.js.map +0 -1
  393. package/build/server/chunks/entries/pages/_page.svelte.js-DRoSEPVH.js.map +0 -1
  394. package/build/server/chunks/index.js-5mkIDcpy.js.map +0 -1
  395. package/build/server/chunks/nodes/0.js-BIj6k30n.js +0 -9
  396. package/build/server/chunks/nodes/0.js-BIj6k30n.js.map +0 -1
  397. package/build/server/chunks/nodes/1.js-BQibx33b.js +0 -9
  398. package/build/server/chunks/nodes/2.js-CczDSPv9.js +0 -9
  399. package/build/server/chunks/nodes/2.js-CczDSPv9.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"Voronoi.js-DevTsXQE.js","sources":["../../../../.svelte-kit/output/server/chunks/Voronoi.js"],"sourcesContent":["import { a as bind_props, d as spread_props, l as props_id, o as derived, s as ensure_array_like } from \"./server.js\";\nimport { c as getChartContext, t as accessor, u as cls } from \"./common.js\";\nimport { E as getLayerContext, _ as getFacetPanel, h as getGeoContext } from \"./key.svelte.js\";\nimport { a as extent, i as linearClosed_default, n as ClipPath_svg, t as ClipPath_canvas } from \"./ClipPath.canvas.js\";\nimport { C as tau$1, S as sqrt$1, _ as pi$1, a as noop, b as sign$1, c as asin$1, d as cos$1, f as degrees$1, g as hypot, h as halfPi$1, i as stream_default, l as atan, n as boundsStream, o as abs, p as epsilon, r as identity_default, s as acos, t as path_default, u as atan2$1, v as quarterPi$1, w as Adder, x as sin$1, y as radians$1 } from \"./path.js\";\nimport { t as max$1 } from \"./max.js\";\nimport { c as Group_svg, f as path, l as createId, n as Path_svg, s as Group_canvas, t as Path_canvas } from \"./Path.canvas.js\";\nimport { t as pointRadial_default } from \"./pointRadial.js\";\nimport { n as area_default$1, r as Delaunay, t as centroid_default$1 } from \"./centroid.js\";\n//#region node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/merge.js\nfunction* flatten(arrays) {\n\tfor (const array of arrays) yield* array;\n}\nfunction merge(arrays) {\n\treturn Array.from(flatten(arrays));\n}\n//#endregion\n//#region node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/area.js\nvar areaRingSum = new Adder();\nvar areaSum = new Adder();\nvar lambda00$1;\nvar phi00$1;\nvar lambda0$1;\nvar cosPhi0$1;\nvar sinPhi0$1;\nvar areaStream = {\n\tpoint: noop,\n\tlineStart: noop,\n\tlineEnd: noop,\n\tpolygonStart: function() {\n\t\tareaRingSum = new Adder();\n\t\tareaStream.lineStart = areaRingStart;\n\t\tareaStream.lineEnd = areaRingEnd;\n\t},\n\tpolygonEnd: function() {\n\t\tvar areaRing = +areaRingSum;\n\t\tareaSum.add(areaRing < 0 ? tau$1 + areaRing : areaRing);\n\t\tthis.lineStart = this.lineEnd = this.point = noop;\n\t},\n\tsphere: function() {\n\t\tareaSum.add(tau$1);\n\t}\n};\nfunction areaRingStart() {\n\tareaStream.point = areaPointFirst;\n}\nfunction areaRingEnd() {\n\tareaPoint(lambda00$1, phi00$1);\n}\nfunction areaPointFirst(lambda, phi) {\n\tareaStream.point = areaPoint;\n\tlambda00$1 = lambda, phi00$1 = phi;\n\tlambda *= radians$1, phi *= radians$1;\n\tlambda0$1 = lambda, cosPhi0$1 = cos$1(phi = phi / 2 + quarterPi$1), sinPhi0$1 = sin$1(phi);\n}\nfunction areaPoint(lambda, phi) {\n\tlambda *= radians$1, phi *= radians$1;\n\tphi = phi / 2 + quarterPi$1;\n\tvar dLambda = lambda - lambda0$1, sdLambda = dLambda >= 0 ? 1 : -1, adLambda = sdLambda * dLambda, cosPhi = cos$1(phi), sinPhi = sin$1(phi), k = sinPhi0$1 * sinPhi, u = cosPhi0$1 * cosPhi + k * cos$1(adLambda), v = k * sdLambda * sin$1(adLambda);\n\tareaRingSum.add(atan2$1(v, u));\n\tlambda0$1 = lambda, cosPhi0$1 = cosPhi, sinPhi0$1 = sinPhi;\n}\nfunction area_default(object) {\n\tareaSum = new Adder();\n\tstream_default(object, areaStream);\n\treturn areaSum * 2;\n}\n//#endregion\n//#region node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/cartesian.js\nfunction spherical$1(cartesian) {\n\treturn [atan2$1(cartesian[1], cartesian[0]), asin$1(cartesian[2])];\n}\nfunction cartesian$1(spherical) {\n\tvar lambda = spherical[0], phi = spherical[1], cosPhi = cos$1(phi);\n\treturn [\n\t\tcosPhi * cos$1(lambda),\n\t\tcosPhi * sin$1(lambda),\n\t\tsin$1(phi)\n\t];\n}\nfunction cartesianDot$1(a, b) {\n\treturn a[0] * b[0] + a[1] * b[1] + a[2] * b[2];\n}\nfunction cartesianCross$1(a, b) {\n\treturn [\n\t\ta[1] * b[2] - a[2] * b[1],\n\t\ta[2] * b[0] - a[0] * b[2],\n\t\ta[0] * b[1] - a[1] * b[0]\n\t];\n}\nfunction cartesianAddInPlace(a, b) {\n\ta[0] += b[0], a[1] += b[1], a[2] += b[2];\n}\nfunction cartesianScale(vector, k) {\n\treturn [\n\t\tvector[0] * k,\n\t\tvector[1] * k,\n\t\tvector[2] * k\n\t];\n}\nfunction cartesianNormalizeInPlace(d) {\n\tvar l = sqrt$1(d[0] * d[0] + d[1] * d[1] + d[2] * d[2]);\n\td[0] /= l, d[1] /= l, d[2] /= l;\n}\n//#endregion\n//#region node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/centroid.js\nvar W0;\nvar W1;\nvar X0;\nvar Y0;\nvar Z0;\nvar X1;\nvar Y1;\nvar Z1;\nvar X2;\nvar Y2;\nvar Z2;\nvar lambda00;\nvar phi00;\nvar x0;\nvar y0;\nvar z0;\nvar centroidStream = {\n\tsphere: noop,\n\tpoint: centroidPoint,\n\tlineStart: centroidLineStart,\n\tlineEnd: centroidLineEnd,\n\tpolygonStart: function() {\n\t\tcentroidStream.lineStart = centroidRingStart;\n\t\tcentroidStream.lineEnd = centroidRingEnd;\n\t},\n\tpolygonEnd: function() {\n\t\tcentroidStream.lineStart = centroidLineStart;\n\t\tcentroidStream.lineEnd = centroidLineEnd;\n\t}\n};\nfunction centroidPoint(lambda, phi) {\n\tlambda *= radians$1, phi *= radians$1;\n\tvar cosPhi = cos$1(phi);\n\tcentroidPointCartesian(cosPhi * cos$1(lambda), cosPhi * sin$1(lambda), sin$1(phi));\n}\nfunction centroidPointCartesian(x, y, z) {\n\t++W0;\n\tX0 += (x - X0) / W0;\n\tY0 += (y - Y0) / W0;\n\tZ0 += (z - Z0) / W0;\n}\nfunction centroidLineStart() {\n\tcentroidStream.point = centroidLinePointFirst;\n}\nfunction centroidLinePointFirst(lambda, phi) {\n\tlambda *= radians$1, phi *= radians$1;\n\tvar cosPhi = cos$1(phi);\n\tx0 = cosPhi * cos$1(lambda);\n\ty0 = cosPhi * sin$1(lambda);\n\tz0 = sin$1(phi);\n\tcentroidStream.point = centroidLinePoint;\n\tcentroidPointCartesian(x0, y0, z0);\n}\nfunction centroidLinePoint(lambda, phi) {\n\tlambda *= radians$1, phi *= radians$1;\n\tvar cosPhi = cos$1(phi), x = cosPhi * cos$1(lambda), y = cosPhi * sin$1(lambda), z = sin$1(phi), w = atan2$1(sqrt$1((w = y0 * z - z0 * y) * w + (w = z0 * x - x0 * z) * w + (w = x0 * y - y0 * x) * w), x0 * x + y0 * y + z0 * z);\n\tW1 += w;\n\tX1 += w * (x0 + (x0 = x));\n\tY1 += w * (y0 + (y0 = y));\n\tZ1 += w * (z0 + (z0 = z));\n\tcentroidPointCartesian(x0, y0, z0);\n}\nfunction centroidLineEnd() {\n\tcentroidStream.point = centroidPoint;\n}\nfunction centroidRingStart() {\n\tcentroidStream.point = centroidRingPointFirst;\n}\nfunction centroidRingEnd() {\n\tcentroidRingPoint(lambda00, phi00);\n\tcentroidStream.point = centroidPoint;\n}\nfunction centroidRingPointFirst(lambda, phi) {\n\tlambda00 = lambda, phi00 = phi;\n\tlambda *= radians$1, phi *= radians$1;\n\tcentroidStream.point = centroidRingPoint;\n\tvar cosPhi = cos$1(phi);\n\tx0 = cosPhi * cos$1(lambda);\n\ty0 = cosPhi * sin$1(lambda);\n\tz0 = sin$1(phi);\n\tcentroidPointCartesian(x0, y0, z0);\n}\nfunction centroidRingPoint(lambda, phi) {\n\tlambda *= radians$1, phi *= radians$1;\n\tvar cosPhi = cos$1(phi), x = cosPhi * cos$1(lambda), y = cosPhi * sin$1(lambda), z = sin$1(phi), cx = y0 * z - z0 * y, cy = z0 * x - x0 * z, cz = x0 * y - y0 * x, m = hypot(cx, cy, cz), w = asin$1(m), v = m && -w / m;\n\tX2.add(v * cx);\n\tY2.add(v * cy);\n\tZ2.add(v * cz);\n\tW1 += w;\n\tX1 += w * (x0 + (x0 = x));\n\tY1 += w * (y0 + (y0 = y));\n\tZ1 += w * (z0 + (z0 = z));\n\tcentroidPointCartesian(x0, y0, z0);\n}\nfunction centroid_default(object) {\n\tW0 = W1 = X0 = Y0 = Z0 = X1 = Y1 = Z1 = 0;\n\tX2 = new Adder();\n\tY2 = new Adder();\n\tZ2 = new Adder();\n\tstream_default(object, centroidStream);\n\tvar x = +X2, y = +Y2, z = +Z2, m = hypot(x, y, z);\n\tif (m < 1e-12) {\n\t\tx = X1, y = Y1, z = Z1;\n\t\tif (W1 < 1e-6) x = X0, y = Y0, z = Z0;\n\t\tm = hypot(x, y, z);\n\t\tif (m < 1e-12) return [NaN, NaN];\n\t}\n\treturn [atan2$1(y, x) * degrees$1, asin$1(z / m) * degrees$1];\n}\n//#endregion\n//#region node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/compose.js\nfunction compose_default(a, b) {\n\tfunction compose(x, y) {\n\t\treturn x = a(x, y), b(x[0], x[1]);\n\t}\n\tif (a.invert && b.invert) compose.invert = function(x, y) {\n\t\treturn x = b.invert(x, y), x && a.invert(x[0], x[1]);\n\t};\n\treturn compose;\n}\n//#endregion\n//#region node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/rotation.js\nfunction rotationIdentity(lambda, phi) {\n\tif (abs(lambda) > pi$1) lambda -= Math.round(lambda / tau$1) * tau$1;\n\treturn [lambda, phi];\n}\nrotationIdentity.invert = rotationIdentity;\nfunction rotateRadians(deltaLambda, deltaPhi, deltaGamma) {\n\treturn (deltaLambda %= tau$1) ? deltaPhi || deltaGamma ? compose_default(rotationLambda(deltaLambda), rotationPhiGamma(deltaPhi, deltaGamma)) : rotationLambda(deltaLambda) : deltaPhi || deltaGamma ? rotationPhiGamma(deltaPhi, deltaGamma) : rotationIdentity;\n}\nfunction forwardRotationLambda(deltaLambda) {\n\treturn function(lambda, phi) {\n\t\tlambda += deltaLambda;\n\t\tif (abs(lambda) > pi$1) lambda -= Math.round(lambda / tau$1) * tau$1;\n\t\treturn [lambda, phi];\n\t};\n}\nfunction rotationLambda(deltaLambda) {\n\tvar rotation = forwardRotationLambda(deltaLambda);\n\trotation.invert = forwardRotationLambda(-deltaLambda);\n\treturn rotation;\n}\nfunction rotationPhiGamma(deltaPhi, deltaGamma) {\n\tvar cosDeltaPhi = cos$1(deltaPhi), sinDeltaPhi = sin$1(deltaPhi), cosDeltaGamma = cos$1(deltaGamma), sinDeltaGamma = sin$1(deltaGamma);\n\tfunction rotation(lambda, phi) {\n\t\tvar cosPhi = cos$1(phi), x = cos$1(lambda) * cosPhi, y = sin$1(lambda) * cosPhi, z = sin$1(phi), k = z * cosDeltaPhi + x * sinDeltaPhi;\n\t\treturn [atan2$1(y * cosDeltaGamma - k * sinDeltaGamma, x * cosDeltaPhi - z * sinDeltaPhi), asin$1(k * cosDeltaGamma + y * sinDeltaGamma)];\n\t}\n\trotation.invert = function(lambda, phi) {\n\t\tvar cosPhi = cos$1(phi), x = cos$1(lambda) * cosPhi, y = sin$1(lambda) * cosPhi, z = sin$1(phi), k = z * cosDeltaGamma - y * sinDeltaGamma;\n\t\treturn [atan2$1(y * cosDeltaGamma + z * sinDeltaGamma, x * cosDeltaPhi + k * sinDeltaPhi), asin$1(k * cosDeltaPhi - x * sinDeltaPhi)];\n\t};\n\treturn rotation;\n}\nfunction rotation_default(rotate) {\n\trotate = rotateRadians(rotate[0] * radians$1, rotate[1] * radians$1, rotate.length > 2 ? rotate[2] * radians$1 : 0);\n\tfunction forward(coordinates) {\n\t\tcoordinates = rotate(coordinates[0] * radians$1, coordinates[1] * radians$1);\n\t\treturn coordinates[0] *= degrees$1, coordinates[1] *= degrees$1, coordinates;\n\t}\n\tforward.invert = function(coordinates) {\n\t\tcoordinates = rotate.invert(coordinates[0] * radians$1, coordinates[1] * radians$1);\n\t\treturn coordinates[0] *= degrees$1, coordinates[1] *= degrees$1, coordinates;\n\t};\n\treturn forward;\n}\n//#endregion\n//#region node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/circle.js\nfunction circleStream(stream, radius, delta, direction, t0, t1) {\n\tif (!delta) return;\n\tvar cosRadius = cos$1(radius), sinRadius = sin$1(radius), step = direction * delta;\n\tif (t0 == null) {\n\t\tt0 = radius + direction * tau$1;\n\t\tt1 = radius - step / 2;\n\t} else {\n\t\tt0 = circleRadius(cosRadius, t0);\n\t\tt1 = circleRadius(cosRadius, t1);\n\t\tif (direction > 0 ? t0 < t1 : t0 > t1) t0 += direction * tau$1;\n\t}\n\tfor (var point, t = t0; direction > 0 ? t > t1 : t < t1; t -= step) {\n\t\tpoint = spherical$1([\n\t\t\tcosRadius,\n\t\t\t-sinRadius * cos$1(t),\n\t\t\t-sinRadius * sin$1(t)\n\t\t]);\n\t\tstream.point(point[0], point[1]);\n\t}\n}\nfunction circleRadius(cosRadius, point) {\n\tpoint = cartesian$1(point), point[0] -= cosRadius;\n\tcartesianNormalizeInPlace(point);\n\tvar radius = acos(-point[1]);\n\treturn ((-point[2] < 0 ? -radius : radius) + tau$1 - epsilon) % tau$1;\n}\n//#endregion\n//#region node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/clip/buffer.js\nfunction buffer_default() {\n\tvar lines = [], line;\n\treturn {\n\t\tpoint: function(x, y, m) {\n\t\t\tline.push([\n\t\t\t\tx,\n\t\t\t\ty,\n\t\t\t\tm\n\t\t\t]);\n\t\t},\n\t\tlineStart: function() {\n\t\t\tlines.push(line = []);\n\t\t},\n\t\tlineEnd: noop,\n\t\trejoin: function() {\n\t\t\tif (lines.length > 1) lines.push(lines.pop().concat(lines.shift()));\n\t\t},\n\t\tresult: function() {\n\t\t\tvar result = lines;\n\t\t\tlines = [];\n\t\t\tline = null;\n\t\t\treturn result;\n\t\t}\n\t};\n}\n//#endregion\n//#region node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/pointEqual.js\nfunction pointEqual_default(a, b) {\n\treturn abs(a[0] - b[0]) < 1e-6 && abs(a[1] - b[1]) < 1e-6;\n}\n//#endregion\n//#region node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/clip/rejoin.js\nfunction Intersection(point, points, other, entry) {\n\tthis.x = point;\n\tthis.z = points;\n\tthis.o = other;\n\tthis.e = entry;\n\tthis.v = false;\n\tthis.n = this.p = null;\n}\nfunction rejoin_default(segments, compareIntersection, startInside, interpolate, stream) {\n\tvar subject = [], clip = [], i, n;\n\tsegments.forEach(function(segment) {\n\t\tif ((n = segment.length - 1) <= 0) return;\n\t\tvar n, p0 = segment[0], p1 = segment[n], x;\n\t\tif (pointEqual_default(p0, p1)) {\n\t\t\tif (!p0[2] && !p1[2]) {\n\t\t\t\tstream.lineStart();\n\t\t\t\tfor (i = 0; i < n; ++i) stream.point((p0 = segment[i])[0], p0[1]);\n\t\t\t\tstream.lineEnd();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tp1[0] += 2 * epsilon;\n\t\t}\n\t\tsubject.push(x = new Intersection(p0, segment, null, true));\n\t\tclip.push(x.o = new Intersection(p0, null, x, false));\n\t\tsubject.push(x = new Intersection(p1, segment, null, false));\n\t\tclip.push(x.o = new Intersection(p1, null, x, true));\n\t});\n\tif (!subject.length) return;\n\tclip.sort(compareIntersection);\n\tlink(subject);\n\tlink(clip);\n\tfor (i = 0, n = clip.length; i < n; ++i) clip[i].e = startInside = !startInside;\n\tvar start = subject[0], points, point;\n\twhile (1) {\n\t\tvar current = start, isSubject = true;\n\t\twhile (current.v) if ((current = current.n) === start) return;\n\t\tpoints = current.z;\n\t\tstream.lineStart();\n\t\tdo {\n\t\t\tcurrent.v = current.o.v = true;\n\t\t\tif (current.e) {\n\t\t\t\tif (isSubject) for (i = 0, n = points.length; i < n; ++i) stream.point((point = points[i])[0], point[1]);\n\t\t\t\telse interpolate(current.x, current.n.x, 1, stream);\n\t\t\t\tcurrent = current.n;\n\t\t\t} else {\n\t\t\t\tif (isSubject) {\n\t\t\t\t\tpoints = current.p.z;\n\t\t\t\t\tfor (i = points.length - 1; i >= 0; --i) stream.point((point = points[i])[0], point[1]);\n\t\t\t\t} else interpolate(current.x, current.p.x, -1, stream);\n\t\t\t\tcurrent = current.p;\n\t\t\t}\n\t\t\tcurrent = current.o;\n\t\t\tpoints = current.z;\n\t\t\tisSubject = !isSubject;\n\t\t} while (!current.v);\n\t\tstream.lineEnd();\n\t}\n}\nfunction link(array) {\n\tif (!(n = array.length)) return;\n\tvar n, i = 0, a = array[0], b;\n\twhile (++i < n) {\n\t\ta.n = b = array[i];\n\t\tb.p = a;\n\t\ta = b;\n\t}\n\ta.n = b = array[0];\n\tb.p = a;\n}\n//#endregion\n//#region node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/polygonContains.js\nfunction longitude(point) {\n\treturn abs(point[0]) <= pi$1 ? point[0] : sign$1(point[0]) * ((abs(point[0]) + pi$1) % tau$1 - pi$1);\n}\nfunction polygonContains_default(polygon, point) {\n\tvar lambda = longitude(point), phi = point[1], sinPhi = sin$1(phi), normal = [\n\t\tsin$1(lambda),\n\t\t-cos$1(lambda),\n\t\t0\n\t], angle = 0, winding = 0;\n\tvar sum = new Adder();\n\tif (sinPhi === 1) phi = halfPi$1 + epsilon;\n\telse if (sinPhi === -1) phi = -halfPi$1 - epsilon;\n\tfor (var i = 0, n = polygon.length; i < n; ++i) {\n\t\tif (!(m = (ring = polygon[i]).length)) continue;\n\t\tvar ring, m, point0 = ring[m - 1], lambda0 = longitude(point0), phi0 = point0[1] / 2 + quarterPi$1, sinPhi0 = sin$1(phi0), cosPhi0 = cos$1(phi0);\n\t\tfor (var j = 0; j < m; ++j, lambda0 = lambda1, sinPhi0 = sinPhi1, cosPhi0 = cosPhi1, point0 = point1) {\n\t\t\tvar point1 = ring[j], lambda1 = longitude(point1), phi1 = point1[1] / 2 + quarterPi$1, sinPhi1 = sin$1(phi1), cosPhi1 = cos$1(phi1), delta = lambda1 - lambda0, sign = delta >= 0 ? 1 : -1, absDelta = sign * delta, antimeridian = absDelta > pi$1, k = sinPhi0 * sinPhi1;\n\t\t\tsum.add(atan2$1(k * sign * sin$1(absDelta), cosPhi0 * cosPhi1 + k * cos$1(absDelta)));\n\t\t\tangle += antimeridian ? delta + sign * tau$1 : delta;\n\t\t\tif (antimeridian ^ lambda0 >= lambda ^ lambda1 >= lambda) {\n\t\t\t\tvar arc = cartesianCross$1(cartesian$1(point0), cartesian$1(point1));\n\t\t\t\tcartesianNormalizeInPlace(arc);\n\t\t\t\tvar intersection = cartesianCross$1(normal, arc);\n\t\t\t\tcartesianNormalizeInPlace(intersection);\n\t\t\t\tvar phiArc = (antimeridian ^ delta >= 0 ? -1 : 1) * asin$1(intersection[2]);\n\t\t\t\tif (phi > phiArc || phi === phiArc && (arc[0] || arc[1])) winding += antimeridian ^ delta >= 0 ? 1 : -1;\n\t\t\t}\n\t\t}\n\t}\n\treturn (angle < -1e-6 || angle < 1e-6 && sum < -1e-12) ^ winding & 1;\n}\n//#endregion\n//#region node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/clip/index.js\nfunction clip_default(pointVisible, clipLine, interpolate, start) {\n\treturn function(sink) {\n\t\tvar line = clipLine(sink), ringBuffer = buffer_default(), ringSink = clipLine(ringBuffer), polygonStarted = false, polygon, segments, ring;\n\t\tvar clip = {\n\t\t\tpoint,\n\t\t\tlineStart,\n\t\t\tlineEnd,\n\t\t\tpolygonStart: function() {\n\t\t\t\tclip.point = pointRing;\n\t\t\t\tclip.lineStart = ringStart;\n\t\t\t\tclip.lineEnd = ringEnd;\n\t\t\t\tsegments = [];\n\t\t\t\tpolygon = [];\n\t\t\t},\n\t\t\tpolygonEnd: function() {\n\t\t\t\tclip.point = point;\n\t\t\t\tclip.lineStart = lineStart;\n\t\t\t\tclip.lineEnd = lineEnd;\n\t\t\t\tsegments = merge(segments);\n\t\t\t\tvar startInside = polygonContains_default(polygon, start);\n\t\t\t\tif (segments.length) {\n\t\t\t\t\tif (!polygonStarted) sink.polygonStart(), polygonStarted = true;\n\t\t\t\t\trejoin_default(segments, compareIntersection, startInside, interpolate, sink);\n\t\t\t\t} else if (startInside) {\n\t\t\t\t\tif (!polygonStarted) sink.polygonStart(), polygonStarted = true;\n\t\t\t\t\tsink.lineStart();\n\t\t\t\t\tinterpolate(null, null, 1, sink);\n\t\t\t\t\tsink.lineEnd();\n\t\t\t\t}\n\t\t\t\tif (polygonStarted) sink.polygonEnd(), polygonStarted = false;\n\t\t\t\tsegments = polygon = null;\n\t\t\t},\n\t\t\tsphere: function() {\n\t\t\t\tsink.polygonStart();\n\t\t\t\tsink.lineStart();\n\t\t\t\tinterpolate(null, null, 1, sink);\n\t\t\t\tsink.lineEnd();\n\t\t\t\tsink.polygonEnd();\n\t\t\t}\n\t\t};\n\t\tfunction point(lambda, phi) {\n\t\t\tif (pointVisible(lambda, phi)) sink.point(lambda, phi);\n\t\t}\n\t\tfunction pointLine(lambda, phi) {\n\t\t\tline.point(lambda, phi);\n\t\t}\n\t\tfunction lineStart() {\n\t\t\tclip.point = pointLine;\n\t\t\tline.lineStart();\n\t\t}\n\t\tfunction lineEnd() {\n\t\t\tclip.point = point;\n\t\t\tline.lineEnd();\n\t\t}\n\t\tfunction pointRing(lambda, phi) {\n\t\t\tring.push([lambda, phi]);\n\t\t\tringSink.point(lambda, phi);\n\t\t}\n\t\tfunction ringStart() {\n\t\t\tringSink.lineStart();\n\t\t\tring = [];\n\t\t}\n\t\tfunction ringEnd() {\n\t\t\tpointRing(ring[0][0], ring[0][1]);\n\t\t\tringSink.lineEnd();\n\t\t\tvar clean = ringSink.clean(), ringSegments = ringBuffer.result(), i, n = ringSegments.length, m, segment, point;\n\t\t\tring.pop();\n\t\t\tpolygon.push(ring);\n\t\t\tring = null;\n\t\t\tif (!n) return;\n\t\t\tif (clean & 1) {\n\t\t\t\tsegment = ringSegments[0];\n\t\t\t\tif ((m = segment.length - 1) > 0) {\n\t\t\t\t\tif (!polygonStarted) sink.polygonStart(), polygonStarted = true;\n\t\t\t\t\tsink.lineStart();\n\t\t\t\t\tfor (i = 0; i < m; ++i) sink.point((point = segment[i])[0], point[1]);\n\t\t\t\t\tsink.lineEnd();\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (n > 1 && clean & 2) ringSegments.push(ringSegments.pop().concat(ringSegments.shift()));\n\t\t\tsegments.push(ringSegments.filter(validSegment));\n\t\t}\n\t\treturn clip;\n\t};\n}\nfunction validSegment(segment) {\n\treturn segment.length > 1;\n}\nfunction compareIntersection(a, b) {\n\treturn ((a = a.x)[0] < 0 ? a[1] - halfPi$1 - epsilon : halfPi$1 - a[1]) - ((b = b.x)[0] < 0 ? b[1] - halfPi$1 - epsilon : halfPi$1 - b[1]);\n}\n//#endregion\n//#region node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/clip/antimeridian.js\nvar antimeridian_default = clip_default(function() {\n\treturn true;\n}, clipAntimeridianLine, clipAntimeridianInterpolate, [-pi$1, -halfPi$1]);\nfunction clipAntimeridianLine(stream) {\n\tvar lambda0 = NaN, phi0 = NaN, sign0 = NaN, clean;\n\treturn {\n\t\tlineStart: function() {\n\t\t\tstream.lineStart();\n\t\t\tclean = 1;\n\t\t},\n\t\tpoint: function(lambda1, phi1) {\n\t\t\tvar sign1 = lambda1 > 0 ? pi$1 : -pi$1, delta = abs(lambda1 - lambda0);\n\t\t\tif (abs(delta - pi$1) < 1e-6) {\n\t\t\t\tstream.point(lambda0, phi0 = (phi0 + phi1) / 2 > 0 ? halfPi$1 : -halfPi$1);\n\t\t\t\tstream.point(sign0, phi0);\n\t\t\t\tstream.lineEnd();\n\t\t\t\tstream.lineStart();\n\t\t\t\tstream.point(sign1, phi0);\n\t\t\t\tstream.point(lambda1, phi0);\n\t\t\t\tclean = 0;\n\t\t\t} else if (sign0 !== sign1 && delta >= pi$1) {\n\t\t\t\tif (abs(lambda0 - sign0) < 1e-6) lambda0 -= sign0 * epsilon;\n\t\t\t\tif (abs(lambda1 - sign1) < 1e-6) lambda1 -= sign1 * epsilon;\n\t\t\t\tphi0 = clipAntimeridianIntersect(lambda0, phi0, lambda1, phi1);\n\t\t\t\tstream.point(sign0, phi0);\n\t\t\t\tstream.lineEnd();\n\t\t\t\tstream.lineStart();\n\t\t\t\tstream.point(sign1, phi0);\n\t\t\t\tclean = 0;\n\t\t\t}\n\t\t\tstream.point(lambda0 = lambda1, phi0 = phi1);\n\t\t\tsign0 = sign1;\n\t\t},\n\t\tlineEnd: function() {\n\t\t\tstream.lineEnd();\n\t\t\tlambda0 = phi0 = NaN;\n\t\t},\n\t\tclean: function() {\n\t\t\treturn 2 - clean;\n\t\t}\n\t};\n}\nfunction clipAntimeridianIntersect(lambda0, phi0, lambda1, phi1) {\n\tvar cosPhi0, cosPhi1, sinLambda0Lambda1 = sin$1(lambda0 - lambda1);\n\treturn abs(sinLambda0Lambda1) > 1e-6 ? atan((sin$1(phi0) * (cosPhi1 = cos$1(phi1)) * sin$1(lambda1) - sin$1(phi1) * (cosPhi0 = cos$1(phi0)) * sin$1(lambda0)) / (cosPhi0 * cosPhi1 * sinLambda0Lambda1)) : (phi0 + phi1) / 2;\n}\nfunction clipAntimeridianInterpolate(from, to, direction, stream) {\n\tvar phi;\n\tif (from == null) {\n\t\tphi = direction * halfPi$1;\n\t\tstream.point(-pi$1, phi);\n\t\tstream.point(0, phi);\n\t\tstream.point(pi$1, phi);\n\t\tstream.point(pi$1, 0);\n\t\tstream.point(pi$1, -phi);\n\t\tstream.point(0, -phi);\n\t\tstream.point(-pi$1, -phi);\n\t\tstream.point(-pi$1, 0);\n\t\tstream.point(-pi$1, phi);\n\t} else if (abs(from[0] - to[0]) > 1e-6) {\n\t\tvar lambda = from[0] < to[0] ? pi$1 : -pi$1;\n\t\tphi = direction * lambda / 2;\n\t\tstream.point(-lambda, phi);\n\t\tstream.point(0, phi);\n\t\tstream.point(lambda, phi);\n\t} else stream.point(to[0], to[1]);\n}\n//#endregion\n//#region node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/clip/circle.js\nfunction circle_default(radius) {\n\tvar cr = cos$1(radius), delta = 2 * radians$1, smallRadius = cr > 0, notHemisphere = abs(cr) > epsilon;\n\tfunction interpolate(from, to, direction, stream) {\n\t\tcircleStream(stream, radius, delta, direction, from, to);\n\t}\n\tfunction visible(lambda, phi) {\n\t\treturn cos$1(lambda) * cos$1(phi) > cr;\n\t}\n\tfunction clipLine(stream) {\n\t\tvar point0, c0, v0, v00, clean;\n\t\treturn {\n\t\t\tlineStart: function() {\n\t\t\t\tv00 = v0 = false;\n\t\t\t\tclean = 1;\n\t\t\t},\n\t\t\tpoint: function(lambda, phi) {\n\t\t\t\tvar point1 = [lambda, phi], point2, v = visible(lambda, phi), c = smallRadius ? v ? 0 : code(lambda, phi) : v ? code(lambda + (lambda < 0 ? pi$1 : -pi$1), phi) : 0;\n\t\t\t\tif (!point0 && (v00 = v0 = v)) stream.lineStart();\n\t\t\t\tif (v !== v0) {\n\t\t\t\t\tpoint2 = intersect(point0, point1);\n\t\t\t\t\tif (!point2 || pointEqual_default(point0, point2) || pointEqual_default(point1, point2)) point1[2] = 1;\n\t\t\t\t}\n\t\t\t\tif (v !== v0) {\n\t\t\t\t\tclean = 0;\n\t\t\t\t\tif (v) {\n\t\t\t\t\t\tstream.lineStart();\n\t\t\t\t\t\tpoint2 = intersect(point1, point0);\n\t\t\t\t\t\tstream.point(point2[0], point2[1]);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tpoint2 = intersect(point0, point1);\n\t\t\t\t\t\tstream.point(point2[0], point2[1], 2);\n\t\t\t\t\t\tstream.lineEnd();\n\t\t\t\t\t}\n\t\t\t\t\tpoint0 = point2;\n\t\t\t\t} else if (notHemisphere && point0 && smallRadius ^ v) {\n\t\t\t\t\tvar t;\n\t\t\t\t\tif (!(c & c0) && (t = intersect(point1, point0, true))) {\n\t\t\t\t\t\tclean = 0;\n\t\t\t\t\t\tif (smallRadius) {\n\t\t\t\t\t\t\tstream.lineStart();\n\t\t\t\t\t\t\tstream.point(t[0][0], t[0][1]);\n\t\t\t\t\t\t\tstream.point(t[1][0], t[1][1]);\n\t\t\t\t\t\t\tstream.lineEnd();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tstream.point(t[1][0], t[1][1]);\n\t\t\t\t\t\t\tstream.lineEnd();\n\t\t\t\t\t\t\tstream.lineStart();\n\t\t\t\t\t\t\tstream.point(t[0][0], t[0][1], 3);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (v && (!point0 || !pointEqual_default(point0, point1))) stream.point(point1[0], point1[1]);\n\t\t\t\tpoint0 = point1, v0 = v, c0 = c;\n\t\t\t},\n\t\t\tlineEnd: function() {\n\t\t\t\tif (v0) stream.lineEnd();\n\t\t\t\tpoint0 = null;\n\t\t\t},\n\t\t\tclean: function() {\n\t\t\t\treturn clean | (v00 && v0) << 1;\n\t\t\t}\n\t\t};\n\t}\n\tfunction intersect(a, b, two) {\n\t\tvar pa = cartesian$1(a), pb = cartesian$1(b);\n\t\tvar n1 = [\n\t\t\t1,\n\t\t\t0,\n\t\t\t0\n\t\t], n2 = cartesianCross$1(pa, pb), n2n2 = cartesianDot$1(n2, n2), n1n2 = n2[0], determinant = n2n2 - n1n2 * n1n2;\n\t\tif (!determinant) return !two && a;\n\t\tvar c1 = cr * n2n2 / determinant, c2 = -cr * n1n2 / determinant, n1xn2 = cartesianCross$1(n1, n2), A = cartesianScale(n1, c1);\n\t\tcartesianAddInPlace(A, cartesianScale(n2, c2));\n\t\tvar u = n1xn2, w = cartesianDot$1(A, u), uu = cartesianDot$1(u, u), t2 = w * w - uu * (cartesianDot$1(A, A) - 1);\n\t\tif (t2 < 0) return;\n\t\tvar t = sqrt$1(t2), q = cartesianScale(u, (-w - t) / uu);\n\t\tcartesianAddInPlace(q, A);\n\t\tq = spherical$1(q);\n\t\tif (!two) return q;\n\t\tvar lambda0 = a[0], lambda1 = b[0], phi0 = a[1], phi1 = b[1], z;\n\t\tif (lambda1 < lambda0) z = lambda0, lambda0 = lambda1, lambda1 = z;\n\t\tvar delta = lambda1 - lambda0, polar = abs(delta - pi$1) < epsilon, meridian = polar || delta < 1e-6;\n\t\tif (!polar && phi1 < phi0) z = phi0, phi0 = phi1, phi1 = z;\n\t\tif (meridian ? polar ? phi0 + phi1 > 0 ^ q[1] < (abs(q[0] - lambda0) < 1e-6 ? phi0 : phi1) : phi0 <= q[1] && q[1] <= phi1 : delta > pi$1 ^ (lambda0 <= q[0] && q[0] <= lambda1)) {\n\t\t\tvar q1 = cartesianScale(u, (-w + t) / uu);\n\t\t\tcartesianAddInPlace(q1, A);\n\t\t\treturn [q, spherical$1(q1)];\n\t\t}\n\t}\n\tfunction code(lambda, phi) {\n\t\tvar r = smallRadius ? radius : pi$1 - radius, code = 0;\n\t\tif (lambda < -r) code |= 1;\n\t\telse if (lambda > r) code |= 2;\n\t\tif (phi < -r) code |= 4;\n\t\telse if (phi > r) code |= 8;\n\t\treturn code;\n\t}\n\treturn clip_default(visible, clipLine, interpolate, smallRadius ? [0, -radius] : [-pi$1, radius - pi$1]);\n}\n//#endregion\n//#region node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/clip/line.js\nfunction line_default(a, b, x0, y0, x1, y1) {\n\tvar ax = a[0], ay = a[1], bx = b[0], by = b[1], t0 = 0, t1 = 1, dx = bx - ax, dy = by - ay, r = x0 - ax;\n\tif (!dx && r > 0) return;\n\tr /= dx;\n\tif (dx < 0) {\n\t\tif (r < t0) return;\n\t\tif (r < t1) t1 = r;\n\t} else if (dx > 0) {\n\t\tif (r > t1) return;\n\t\tif (r > t0) t0 = r;\n\t}\n\tr = x1 - ax;\n\tif (!dx && r < 0) return;\n\tr /= dx;\n\tif (dx < 0) {\n\t\tif (r > t1) return;\n\t\tif (r > t0) t0 = r;\n\t} else if (dx > 0) {\n\t\tif (r < t0) return;\n\t\tif (r < t1) t1 = r;\n\t}\n\tr = y0 - ay;\n\tif (!dy && r > 0) return;\n\tr /= dy;\n\tif (dy < 0) {\n\t\tif (r < t0) return;\n\t\tif (r < t1) t1 = r;\n\t} else if (dy > 0) {\n\t\tif (r > t1) return;\n\t\tif (r > t0) t0 = r;\n\t}\n\tr = y1 - ay;\n\tif (!dy && r < 0) return;\n\tr /= dy;\n\tif (dy < 0) {\n\t\tif (r > t1) return;\n\t\tif (r > t0) t0 = r;\n\t} else if (dy > 0) {\n\t\tif (r < t0) return;\n\t\tif (r < t1) t1 = r;\n\t}\n\tif (t0 > 0) a[0] = ax + t0 * dx, a[1] = ay + t0 * dy;\n\tif (t1 < 1) b[0] = ax + t1 * dx, b[1] = ay + t1 * dy;\n\treturn true;\n}\n//#endregion\n//#region node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/clip/rectangle.js\nvar clipMax = 1e9;\nvar clipMin = -clipMax;\nfunction clipRectangle(x0, y0, x1, y1) {\n\tfunction visible(x, y) {\n\t\treturn x0 <= x && x <= x1 && y0 <= y && y <= y1;\n\t}\n\tfunction interpolate(from, to, direction, stream) {\n\t\tvar a = 0, a1 = 0;\n\t\tif (from == null || (a = corner(from, direction)) !== (a1 = corner(to, direction)) || comparePoint(from, to) < 0 ^ direction > 0) do\n\t\t\tstream.point(a === 0 || a === 3 ? x0 : x1, a > 1 ? y1 : y0);\n\t\twhile ((a = (a + direction + 4) % 4) !== a1);\n\t\telse stream.point(to[0], to[1]);\n\t}\n\tfunction corner(p, direction) {\n\t\treturn abs(p[0] - x0) < 1e-6 ? direction > 0 ? 0 : 3 : abs(p[0] - x1) < 1e-6 ? direction > 0 ? 2 : 1 : abs(p[1] - y0) < 1e-6 ? direction > 0 ? 1 : 0 : direction > 0 ? 3 : 2;\n\t}\n\tfunction compareIntersection(a, b) {\n\t\treturn comparePoint(a.x, b.x);\n\t}\n\tfunction comparePoint(a, b) {\n\t\tvar ca = corner(a, 1), cb = corner(b, 1);\n\t\treturn ca !== cb ? ca - cb : ca === 0 ? b[1] - a[1] : ca === 1 ? a[0] - b[0] : ca === 2 ? a[1] - b[1] : b[0] - a[0];\n\t}\n\treturn function(stream) {\n\t\tvar activeStream = stream, bufferStream = buffer_default(), segments, polygon, ring, x__, y__, v__, x_, y_, v_, first, clean;\n\t\tvar clipStream = {\n\t\t\tpoint,\n\t\t\tlineStart,\n\t\t\tlineEnd,\n\t\t\tpolygonStart,\n\t\t\tpolygonEnd\n\t\t};\n\t\tfunction point(x, y) {\n\t\t\tif (visible(x, y)) activeStream.point(x, y);\n\t\t}\n\t\tfunction polygonInside() {\n\t\t\tvar winding = 0;\n\t\t\tfor (var i = 0, n = polygon.length; i < n; ++i) for (var ring = polygon[i], j = 1, m = ring.length, point = ring[0], a0, a1, b0 = point[0], b1 = point[1]; j < m; ++j) {\n\t\t\t\ta0 = b0, a1 = b1, point = ring[j], b0 = point[0], b1 = point[1];\n\t\t\t\tif (a1 <= y1) {\n\t\t\t\t\tif (b1 > y1 && (b0 - a0) * (y1 - a1) > (b1 - a1) * (x0 - a0)) ++winding;\n\t\t\t\t} else if (b1 <= y1 && (b0 - a0) * (y1 - a1) < (b1 - a1) * (x0 - a0)) --winding;\n\t\t\t}\n\t\t\treturn winding;\n\t\t}\n\t\tfunction polygonStart() {\n\t\t\tactiveStream = bufferStream, segments = [], polygon = [], clean = true;\n\t\t}\n\t\tfunction polygonEnd() {\n\t\t\tvar startInside = polygonInside(), cleanInside = clean && startInside, visible = (segments = merge(segments)).length;\n\t\t\tif (cleanInside || visible) {\n\t\t\t\tstream.polygonStart();\n\t\t\t\tif (cleanInside) {\n\t\t\t\t\tstream.lineStart();\n\t\t\t\t\tinterpolate(null, null, 1, stream);\n\t\t\t\t\tstream.lineEnd();\n\t\t\t\t}\n\t\t\t\tif (visible) rejoin_default(segments, compareIntersection, startInside, interpolate, stream);\n\t\t\t\tstream.polygonEnd();\n\t\t\t}\n\t\t\tactiveStream = stream, segments = polygon = ring = null;\n\t\t}\n\t\tfunction lineStart() {\n\t\t\tclipStream.point = linePoint;\n\t\t\tif (polygon) polygon.push(ring = []);\n\t\t\tfirst = true;\n\t\t\tv_ = false;\n\t\t\tx_ = y_ = NaN;\n\t\t}\n\t\tfunction lineEnd() {\n\t\t\tif (segments) {\n\t\t\t\tlinePoint(x__, y__);\n\t\t\t\tif (v__ && v_) bufferStream.rejoin();\n\t\t\t\tsegments.push(bufferStream.result());\n\t\t\t}\n\t\t\tclipStream.point = point;\n\t\t\tif (v_) activeStream.lineEnd();\n\t\t}\n\t\tfunction linePoint(x, y) {\n\t\t\tvar v = visible(x, y);\n\t\t\tif (polygon) ring.push([x, y]);\n\t\t\tif (first) {\n\t\t\t\tx__ = x, y__ = y, v__ = v;\n\t\t\t\tfirst = false;\n\t\t\t\tif (v) {\n\t\t\t\t\tactiveStream.lineStart();\n\t\t\t\t\tactiveStream.point(x, y);\n\t\t\t\t}\n\t\t\t} else if (v && v_) activeStream.point(x, y);\n\t\t\telse {\n\t\t\t\tvar a = [x_ = Math.max(clipMin, Math.min(clipMax, x_)), y_ = Math.max(clipMin, Math.min(clipMax, y_))], b = [x = Math.max(clipMin, Math.min(clipMax, x)), y = Math.max(clipMin, Math.min(clipMax, y))];\n\t\t\t\tif (line_default(a, b, x0, y0, x1, y1)) {\n\t\t\t\t\tif (!v_) {\n\t\t\t\t\t\tactiveStream.lineStart();\n\t\t\t\t\t\tactiveStream.point(a[0], a[1]);\n\t\t\t\t\t}\n\t\t\t\t\tactiveStream.point(b[0], b[1]);\n\t\t\t\t\tif (!v) activeStream.lineEnd();\n\t\t\t\t\tclean = false;\n\t\t\t\t} else if (v) {\n\t\t\t\t\tactiveStream.lineStart();\n\t\t\t\t\tactiveStream.point(x, y);\n\t\t\t\t\tclean = false;\n\t\t\t\t}\n\t\t\t}\n\t\t\tx_ = x, y_ = y, v_ = v;\n\t\t}\n\t\treturn clipStream;\n\t};\n}\n//#endregion\n//#region node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/length.js\nvar lengthSum;\nvar lambda0;\nvar sinPhi0;\nvar cosPhi0;\nvar lengthStream = {\n\tsphere: noop,\n\tpoint: noop,\n\tlineStart: lengthLineStart,\n\tlineEnd: noop,\n\tpolygonStart: noop,\n\tpolygonEnd: noop\n};\nfunction lengthLineStart() {\n\tlengthStream.point = lengthPointFirst;\n\tlengthStream.lineEnd = lengthLineEnd;\n}\nfunction lengthLineEnd() {\n\tlengthStream.point = lengthStream.lineEnd = noop;\n}\nfunction lengthPointFirst(lambda, phi) {\n\tlambda *= radians$1, phi *= radians$1;\n\tlambda0 = lambda, sinPhi0 = sin$1(phi), cosPhi0 = cos$1(phi);\n\tlengthStream.point = lengthPoint;\n}\nfunction lengthPoint(lambda, phi) {\n\tlambda *= radians$1, phi *= radians$1;\n\tvar sinPhi = sin$1(phi), cosPhi = cos$1(phi), delta = abs(lambda - lambda0), cosDelta = cos$1(delta), x = cosPhi * sin$1(delta), y = cosPhi0 * sinPhi - sinPhi0 * cosPhi * cosDelta, z = sinPhi0 * sinPhi + cosPhi0 * cosPhi * cosDelta;\n\tlengthSum.add(atan2$1(sqrt$1(x * x + y * y), z));\n\tlambda0 = lambda, sinPhi0 = sinPhi, cosPhi0 = cosPhi;\n}\nfunction length_default(object) {\n\tlengthSum = new Adder();\n\tstream_default(object, lengthStream);\n\treturn +lengthSum;\n}\n//#endregion\n//#region node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/distance.js\nvar coordinates = [null, null];\nvar object = {\n\ttype: \"LineString\",\n\tcoordinates\n};\nfunction distance_default(a, b) {\n\tcoordinates[0] = a;\n\tcoordinates[1] = b;\n\treturn length_default(object);\n}\n//#endregion\n//#region node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/transform.js\nfunction transform_default(methods) {\n\treturn { stream: transformer(methods) };\n}\nfunction transformer(methods) {\n\treturn function(stream) {\n\t\tvar s = new TransformStream();\n\t\tfor (var key in methods) s[key] = methods[key];\n\t\ts.stream = stream;\n\t\treturn s;\n\t};\n}\nfunction TransformStream() {}\nTransformStream.prototype = {\n\tconstructor: TransformStream,\n\tpoint: function(x, y) {\n\t\tthis.stream.point(x, y);\n\t},\n\tsphere: function() {\n\t\tthis.stream.sphere();\n\t},\n\tlineStart: function() {\n\t\tthis.stream.lineStart();\n\t},\n\tlineEnd: function() {\n\t\tthis.stream.lineEnd();\n\t},\n\tpolygonStart: function() {\n\t\tthis.stream.polygonStart();\n\t},\n\tpolygonEnd: function() {\n\t\tthis.stream.polygonEnd();\n\t}\n};\n//#endregion\n//#region node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/projection/fit.js\nfunction fit(projection, fitBounds, object) {\n\tvar clip = projection.clipExtent && projection.clipExtent();\n\tprojection.scale(150).translate([0, 0]);\n\tif (clip != null) projection.clipExtent(null);\n\tstream_default(object, projection.stream(boundsStream));\n\tfitBounds(boundsStream.result());\n\tif (clip != null) projection.clipExtent(clip);\n\treturn projection;\n}\nfunction fitExtent(projection, extent, object) {\n\treturn fit(projection, function(b) {\n\t\tvar w = extent[1][0] - extent[0][0], h = extent[1][1] - extent[0][1], k = Math.min(w / (b[1][0] - b[0][0]), h / (b[1][1] - b[0][1])), x = +extent[0][0] + (w - k * (b[1][0] + b[0][0])) / 2, y = +extent[0][1] + (h - k * (b[1][1] + b[0][1])) / 2;\n\t\tprojection.scale(150 * k).translate([x, y]);\n\t}, object);\n}\nfunction fitSize(projection, size, object) {\n\treturn fitExtent(projection, [[0, 0], size], object);\n}\nfunction fitWidth(projection, width, object) {\n\treturn fit(projection, function(b) {\n\t\tvar w = +width, k = w / (b[1][0] - b[0][0]), x = (w - k * (b[1][0] + b[0][0])) / 2, y = -k * b[0][1];\n\t\tprojection.scale(150 * k).translate([x, y]);\n\t}, object);\n}\nfunction fitHeight(projection, height, object) {\n\treturn fit(projection, function(b) {\n\t\tvar h = +height, k = h / (b[1][1] - b[0][1]), x = -k * b[0][0], y = (h - k * (b[1][1] + b[0][1])) / 2;\n\t\tprojection.scale(150 * k).translate([x, y]);\n\t}, object);\n}\n//#endregion\n//#region node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/projection/resample.js\nvar maxDepth = 16;\nvar cosMinDistance = cos$1(30 * radians$1);\nfunction resample_default(project, delta2) {\n\treturn +delta2 ? resample(project, delta2) : resampleNone(project);\n}\nfunction resampleNone(project) {\n\treturn transformer({ point: function(x, y) {\n\t\tx = project(x, y);\n\t\tthis.stream.point(x[0], x[1]);\n\t} });\n}\nfunction resample(project, delta2) {\n\tfunction resampleLineTo(x0, y0, lambda0, a0, b0, c0, x1, y1, lambda1, a1, b1, c1, depth, stream) {\n\t\tvar dx = x1 - x0, dy = y1 - y0, d2 = dx * dx + dy * dy;\n\t\tif (d2 > 4 * delta2 && depth--) {\n\t\t\tvar a = a0 + a1, b = b0 + b1, c = c0 + c1, m = sqrt$1(a * a + b * b + c * c), phi2 = asin$1(c /= m), lambda2 = abs(abs(c) - 1) < 1e-6 || abs(lambda0 - lambda1) < 1e-6 ? (lambda0 + lambda1) / 2 : atan2$1(b, a), p = project(lambda2, phi2), x2 = p[0], y2 = p[1], dx2 = x2 - x0, dy2 = y2 - y0, dz = dy * dx2 - dx * dy2;\n\t\t\tif (dz * dz / d2 > delta2 || abs((dx * dx2 + dy * dy2) / d2 - .5) > .3 || a0 * a1 + b0 * b1 + c0 * c1 < cosMinDistance) {\n\t\t\t\tresampleLineTo(x0, y0, lambda0, a0, b0, c0, x2, y2, lambda2, a /= m, b /= m, c, depth, stream);\n\t\t\t\tstream.point(x2, y2);\n\t\t\t\tresampleLineTo(x2, y2, lambda2, a, b, c, x1, y1, lambda1, a1, b1, c1, depth, stream);\n\t\t\t}\n\t\t}\n\t}\n\treturn function(stream) {\n\t\tvar lambda00, x00, y00, a00, b00, c00, lambda0, x0, y0, a0, b0, c0;\n\t\tvar resampleStream = {\n\t\t\tpoint,\n\t\t\tlineStart,\n\t\t\tlineEnd,\n\t\t\tpolygonStart: function() {\n\t\t\t\tstream.polygonStart();\n\t\t\t\tresampleStream.lineStart = ringStart;\n\t\t\t},\n\t\t\tpolygonEnd: function() {\n\t\t\t\tstream.polygonEnd();\n\t\t\t\tresampleStream.lineStart = lineStart;\n\t\t\t}\n\t\t};\n\t\tfunction point(x, y) {\n\t\t\tx = project(x, y);\n\t\t\tstream.point(x[0], x[1]);\n\t\t}\n\t\tfunction lineStart() {\n\t\t\tx0 = NaN;\n\t\t\tresampleStream.point = linePoint;\n\t\t\tstream.lineStart();\n\t\t}\n\t\tfunction linePoint(lambda, phi) {\n\t\t\tvar c = cartesian$1([lambda, phi]), p = project(lambda, phi);\n\t\t\tresampleLineTo(x0, y0, lambda0, a0, b0, c0, x0 = p[0], y0 = p[1], lambda0 = lambda, a0 = c[0], b0 = c[1], c0 = c[2], maxDepth, stream);\n\t\t\tstream.point(x0, y0);\n\t\t}\n\t\tfunction lineEnd() {\n\t\t\tresampleStream.point = point;\n\t\t\tstream.lineEnd();\n\t\t}\n\t\tfunction ringStart() {\n\t\t\tlineStart();\n\t\t\tresampleStream.point = ringPoint;\n\t\t\tresampleStream.lineEnd = ringEnd;\n\t\t}\n\t\tfunction ringPoint(lambda, phi) {\n\t\t\tlinePoint(lambda00 = lambda, phi), x00 = x0, y00 = y0, a00 = a0, b00 = b0, c00 = c0;\n\t\t\tresampleStream.point = linePoint;\n\t\t}\n\t\tfunction ringEnd() {\n\t\t\tresampleLineTo(x0, y0, lambda0, a0, b0, c0, x00, y00, lambda00, a00, b00, c00, maxDepth, stream);\n\t\t\tresampleStream.lineEnd = lineEnd;\n\t\t\tlineEnd();\n\t\t}\n\t\treturn resampleStream;\n\t};\n}\n//#endregion\n//#region node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/projection/index.js\nvar transformRadians = transformer({ point: function(x, y) {\n\tthis.stream.point(x * radians$1, y * radians$1);\n} });\nfunction transformRotate(rotate) {\n\treturn transformer({ point: function(x, y) {\n\t\tvar r = rotate(x, y);\n\t\treturn this.stream.point(r[0], r[1]);\n\t} });\n}\nfunction scaleTranslate(k, dx, dy, sx, sy) {\n\tfunction transform(x, y) {\n\t\tx *= sx;\n\t\ty *= sy;\n\t\treturn [dx + k * x, dy - k * y];\n\t}\n\ttransform.invert = function(x, y) {\n\t\treturn [(x - dx) / k * sx, (dy - y) / k * sy];\n\t};\n\treturn transform;\n}\nfunction scaleTranslateRotate(k, dx, dy, sx, sy, alpha) {\n\tif (!alpha) return scaleTranslate(k, dx, dy, sx, sy);\n\tvar cosAlpha = cos$1(alpha), sinAlpha = sin$1(alpha), a = cosAlpha * k, b = sinAlpha * k, ai = cosAlpha / k, bi = sinAlpha / k, ci = (sinAlpha * dy - cosAlpha * dx) / k, fi = (sinAlpha * dx + cosAlpha * dy) / k;\n\tfunction transform(x, y) {\n\t\tx *= sx;\n\t\ty *= sy;\n\t\treturn [a * x - b * y + dx, dy - b * x - a * y];\n\t}\n\ttransform.invert = function(x, y) {\n\t\treturn [sx * (ai * x - bi * y + ci), sy * (fi - bi * x - ai * y)];\n\t};\n\treturn transform;\n}\nfunction projection(project) {\n\treturn projectionMutator(function() {\n\t\treturn project;\n\t})();\n}\nfunction projectionMutator(projectAt) {\n\tvar project, k = 150, x = 480, y = 250, lambda = 0, phi = 0, deltaLambda = 0, deltaPhi = 0, deltaGamma = 0, rotate, alpha = 0, sx = 1, sy = 1, theta = null, preclip = antimeridian_default, x0 = null, y0, x1, y1, postclip = identity_default, delta2 = .5, projectResample, projectTransform, projectRotateTransform, cache, cacheStream;\n\tfunction projection(point) {\n\t\treturn projectRotateTransform(point[0] * radians$1, point[1] * radians$1);\n\t}\n\tfunction invert(point) {\n\t\tpoint = projectRotateTransform.invert(point[0], point[1]);\n\t\treturn point && [point[0] * degrees$1, point[1] * degrees$1];\n\t}\n\tprojection.stream = function(stream) {\n\t\treturn cache && cacheStream === stream ? cache : cache = transformRadians(transformRotate(rotate)(preclip(projectResample(postclip(cacheStream = stream)))));\n\t};\n\tprojection.preclip = function(_) {\n\t\treturn arguments.length ? (preclip = _, theta = void 0, reset()) : preclip;\n\t};\n\tprojection.postclip = function(_) {\n\t\treturn arguments.length ? (postclip = _, x0 = y0 = x1 = y1 = null, reset()) : postclip;\n\t};\n\tprojection.clipAngle = function(_) {\n\t\treturn arguments.length ? (preclip = +_ ? circle_default(theta = _ * radians$1) : (theta = null, antimeridian_default), reset()) : theta * degrees$1;\n\t};\n\tprojection.clipExtent = function(_) {\n\t\treturn arguments.length ? (postclip = _ == null ? (x0 = y0 = x1 = y1 = null, identity_default) : clipRectangle(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]), reset()) : x0 == null ? null : [[x0, y0], [x1, y1]];\n\t};\n\tprojection.scale = function(_) {\n\t\treturn arguments.length ? (k = +_, recenter()) : k;\n\t};\n\tprojection.translate = function(_) {\n\t\treturn arguments.length ? (x = +_[0], y = +_[1], recenter()) : [x, y];\n\t};\n\tprojection.center = function(_) {\n\t\treturn arguments.length ? (lambda = _[0] % 360 * radians$1, phi = _[1] % 360 * radians$1, recenter()) : [lambda * degrees$1, phi * degrees$1];\n\t};\n\tprojection.rotate = function(_) {\n\t\treturn arguments.length ? (deltaLambda = _[0] % 360 * radians$1, deltaPhi = _[1] % 360 * radians$1, deltaGamma = _.length > 2 ? _[2] % 360 * radians$1 : 0, recenter()) : [\n\t\t\tdeltaLambda * degrees$1,\n\t\t\tdeltaPhi * degrees$1,\n\t\t\tdeltaGamma * degrees$1\n\t\t];\n\t};\n\tprojection.angle = function(_) {\n\t\treturn arguments.length ? (alpha = _ % 360 * radians$1, recenter()) : alpha * degrees$1;\n\t};\n\tprojection.reflectX = function(_) {\n\t\treturn arguments.length ? (sx = _ ? -1 : 1, recenter()) : sx < 0;\n\t};\n\tprojection.reflectY = function(_) {\n\t\treturn arguments.length ? (sy = _ ? -1 : 1, recenter()) : sy < 0;\n\t};\n\tprojection.precision = function(_) {\n\t\treturn arguments.length ? (projectResample = resample_default(projectTransform, delta2 = _ * _), reset()) : sqrt$1(delta2);\n\t};\n\tprojection.fitExtent = function(extent, object) {\n\t\treturn fitExtent(projection, extent, object);\n\t};\n\tprojection.fitSize = function(size, object) {\n\t\treturn fitSize(projection, size, object);\n\t};\n\tprojection.fitWidth = function(width, object) {\n\t\treturn fitWidth(projection, width, object);\n\t};\n\tprojection.fitHeight = function(height, object) {\n\t\treturn fitHeight(projection, height, object);\n\t};\n\tfunction recenter() {\n\t\tvar center = scaleTranslateRotate(k, 0, 0, sx, sy, alpha).apply(null, project(lambda, phi)), transform = scaleTranslateRotate(k, x - center[0], y - center[1], sx, sy, alpha);\n\t\trotate = rotateRadians(deltaLambda, deltaPhi, deltaGamma);\n\t\tprojectTransform = compose_default(project, transform);\n\t\tprojectRotateTransform = compose_default(rotate, projectTransform);\n\t\tprojectResample = resample_default(projectTransform, delta2);\n\t\treturn reset();\n\t}\n\tfunction reset() {\n\t\tcache = cacheStream = null;\n\t\treturn projection;\n\t}\n\treturn function() {\n\t\tproject = projectAt.apply(this, arguments);\n\t\tprojection.invert = project.invert && invert;\n\t\treturn recenter();\n\t};\n}\n//#endregion\n//#region node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/projection/azimuthal.js\nfunction azimuthalInvert(angle) {\n\treturn function(x, y) {\n\t\tvar z = sqrt$1(x * x + y * y), c = angle(z), sc = sin$1(c), cc = cos$1(c);\n\t\treturn [atan2$1(x * sc, z * cc), asin$1(z && y * sc / z)];\n\t};\n}\n//#endregion\n//#region node_modules/.pnpm/d3-geo@3.1.1/node_modules/d3-geo/src/projection/stereographic.js\nfunction stereographicRaw(x, y) {\n\tvar cy = cos$1(y), k = 1 + cos$1(x) * cy;\n\treturn [cy * sin$1(x) / k, sin$1(y) / k];\n}\nstereographicRaw.invert = azimuthalInvert(function(z) {\n\treturn 2 * atan(z);\n});\nfunction stereographic_default() {\n\treturn projection(stereographicRaw).scale(250).clipAngle(142);\n}\n//#endregion\n//#region node_modules/.pnpm/d3-geo-voronoi@2.1.0/node_modules/d3-geo-voronoi/src/math.js\nvar pi = Math.PI;\nvar halfPi = pi / 2;\npi / 4;\npi * 2;\nvar degrees = 180 / pi;\nvar radians = pi / 180;\nvar atan2 = Math.atan2;\nvar cos = Math.cos;\nvar max = Math.max;\nvar min = Math.min;\nvar sin = Math.sin;\nvar sign = Math.sign || function(x) {\n\treturn x > 0 ? 1 : x < 0 ? -1 : 0;\n};\nvar sqrt = Math.sqrt;\nfunction asin(x) {\n\treturn x > 1 ? halfPi : x < -1 ? -halfPi : Math.asin(x);\n}\n//#endregion\n//#region node_modules/.pnpm/d3-geo-voronoi@2.1.0/node_modules/d3-geo-voronoi/src/cartesian.js\nfunction cartesianDot(a, b) {\n\treturn a[0] * b[0] + a[1] * b[1] + a[2] * b[2];\n}\nfunction cartesianCross(a, b) {\n\treturn [\n\t\ta[1] * b[2] - a[2] * b[1],\n\t\ta[2] * b[0] - a[0] * b[2],\n\t\ta[0] * b[1] - a[1] * b[0]\n\t];\n}\nfunction cartesianAdd(a, b) {\n\treturn [\n\t\ta[0] + b[0],\n\t\ta[1] + b[1],\n\t\ta[2] + b[2]\n\t];\n}\nfunction cartesianNormalize(d) {\n\tvar l = sqrt(d[0] * d[0] + d[1] * d[1] + d[2] * d[2]);\n\treturn [\n\t\td[0] / l,\n\t\td[1] / l,\n\t\td[2] / l\n\t];\n}\n//#endregion\n//#region node_modules/.pnpm/d3-geo-voronoi@2.1.0/node_modules/d3-geo-voronoi/src/delaunay.js\nfunction spherical(cartesian) {\n\treturn [atan2(cartesian[1], cartesian[0]) * degrees, asin(max(-1, min(1, cartesian[2]))) * degrees];\n}\nfunction cartesian(coordinates) {\n\tconst lambda = coordinates[0] * radians, phi = coordinates[1] * radians, cosphi = cos(phi);\n\treturn [\n\t\tcosphi * cos(lambda),\n\t\tcosphi * sin(lambda),\n\t\tsin(phi)\n\t];\n}\nfunction excess(triangle) {\n\ttriangle = triangle.map((p) => cartesian(p));\n\treturn cartesianDot(triangle[0], cartesianCross(triangle[2], triangle[1]));\n}\nfunction geoDelaunay(points) {\n\tconst delaunay = geo_delaunay_from(points), triangles = geo_triangles(delaunay), edges = geo_edges(triangles, points), neighbors = geo_neighbors(triangles, points.length), find = geo_find(neighbors, points), { polygons, centers } = geo_polygons(geo_circumcenters(triangles, points), triangles, points);\n\treturn {\n\t\tdelaunay,\n\t\tedges,\n\t\ttriangles,\n\t\tcenters,\n\t\tneighbors,\n\t\tpolygons,\n\t\tmesh: geo_mesh(polygons),\n\t\thull: geo_hull(triangles, points),\n\t\turquhart: geo_urquhart(edges, triangles),\n\t\tfind\n\t};\n}\nfunction geo_find(neighbors, points) {\n\tfunction distance2(a, b) {\n\t\tlet x = a[0] - b[0], y = a[1] - b[1], z = a[2] - b[2];\n\t\treturn x * x + y * y + z * z;\n\t}\n\treturn function find(x, y, next) {\n\t\tif (next === void 0) next = 0;\n\t\tlet cell, dist, found = next;\n\t\tconst xyz = cartesian([x, y]);\n\t\tdo {\n\t\t\tcell = next;\n\t\t\tnext = null;\n\t\t\tdist = distance2(xyz, cartesian(points[cell]));\n\t\t\tneighbors[cell].forEach((i) => {\n\t\t\t\tlet ndist = distance2(xyz, cartesian(points[i]));\n\t\t\t\tif (ndist < dist) {\n\t\t\t\t\tdist = ndist;\n\t\t\t\t\tnext = i;\n\t\t\t\t\tfound = i;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t});\n\t\t} while (next !== null);\n\t\treturn found;\n\t};\n}\nfunction geo_delaunay_from(points) {\n\tif (points.length < 2) return {};\n\tlet pivot = 0;\n\twhile (isNaN(points[pivot][0] + points[pivot][1]) && pivot++ < points.length);\n\tconst r = rotation_default(points[pivot]), projection = stereographic_default().translate([0, 0]).scale(1).rotate(r.invert([180, 0]));\n\tpoints = points.map(projection);\n\tconst zeros = [];\n\tlet max2 = 1;\n\tfor (let i = 0, n = points.length; i < n; i++) {\n\t\tlet m = points[i][0] ** 2 + points[i][1] ** 2;\n\t\tif (!isFinite(m) || m > 1e32) zeros.push(i);\n\t\telse if (m > max2) max2 = m;\n\t}\n\tconst FAR = 1e6 * sqrt(max2);\n\tzeros.forEach((i) => points[i] = [FAR, 0]);\n\tpoints.push([0, FAR]);\n\tpoints.push([-FAR, 0]);\n\tpoints.push([0, -FAR]);\n\tconst delaunay = Delaunay.from(points);\n\tdelaunay.projection = projection;\n\tconst { triangles, halfedges, inedges } = delaunay;\n\tconst degenerate = [];\n\tfor (let i = 0, l = halfedges.length; i < l; i++) if (halfedges[i] < 0) {\n\t\tconst j = i % 3 == 2 ? i - 2 : i + 1;\n\t\tconst k = i % 3 == 0 ? i + 2 : i - 1;\n\t\tconst a = halfedges[j];\n\t\tconst b = halfedges[k];\n\t\thalfedges[a] = b;\n\t\thalfedges[b] = a;\n\t\thalfedges[j] = halfedges[k] = -1;\n\t\ttriangles[i] = triangles[j] = triangles[k] = pivot;\n\t\tinedges[triangles[a]] = a % 3 == 0 ? a + 2 : a - 1;\n\t\tinedges[triangles[b]] = b % 3 == 0 ? b + 2 : b - 1;\n\t\tdegenerate.push(Math.min(i, j, k));\n\t\ti += 2 - i % 3;\n\t} else if (triangles[i] > points.length - 3 - 1) triangles[i] = pivot;\n\treturn delaunay;\n}\nfunction geo_edges(triangles, points) {\n\tconst _index = /* @__PURE__ */ new Set();\n\tif (points.length === 2) return [[0, 1]];\n\ttriangles.forEach((tri) => {\n\t\tif (tri[0] === tri[1]) return;\n\t\tif (excess(tri.map((i) => points[i])) < 0) return;\n\t\tfor (let i = 0, j; i < 3; i++) {\n\t\t\tj = (i + 1) % 3;\n\t\t\t_index.add(extent([tri[i], tri[j]]).join(\"-\"));\n\t\t}\n\t});\n\treturn Array.from(_index, (d) => d.split(\"-\").map(Number));\n}\nfunction geo_triangles(delaunay) {\n\tconst { triangles } = delaunay;\n\tif (!triangles) return [];\n\tconst geo_triangles = [];\n\tfor (let i = 0, n = triangles.length / 3; i < n; i++) {\n\t\tconst a = triangles[3 * i], b = triangles[3 * i + 1], c = triangles[3 * i + 2];\n\t\tif (a !== b && b !== c) geo_triangles.push([\n\t\t\ta,\n\t\t\tc,\n\t\t\tb\n\t\t]);\n\t}\n\treturn geo_triangles;\n}\nfunction geo_circumcenters(triangles, points) {\n\treturn triangles.map((tri) => {\n\t\tconst c = tri.map((i) => points[i]).map(cartesian);\n\t\treturn spherical(cartesianNormalize(cartesianAdd(cartesianAdd(cartesianCross(c[1], c[0]), cartesianCross(c[2], c[1])), cartesianCross(c[0], c[2]))));\n\t});\n}\nfunction geo_neighbors(triangles, npoints) {\n\tconst neighbors = [];\n\ttriangles.forEach((tri) => {\n\t\tfor (let j = 0; j < 3; j++) {\n\t\t\tconst a = tri[j], b = tri[(j + 1) % 3];\n\t\t\tneighbors[a] = neighbors[a] || [];\n\t\t\tneighbors[a].push(b);\n\t\t}\n\t});\n\tif (triangles.length === 0) {\n\t\tif (npoints === 2) neighbors[0] = [1], neighbors[1] = [0];\n\t\telse if (npoints === 1) neighbors[0] = [];\n\t}\n\treturn neighbors;\n}\nfunction geo_polygons(circumcenters, triangles, points) {\n\tconst polygons = [];\n\tconst centers = circumcenters.slice();\n\tif (triangles.length === 0) {\n\t\tif (points.length < 2) return {\n\t\t\tpolygons,\n\t\t\tcenters\n\t\t};\n\t\tif (points.length === 2) {\n\t\t\tconst a = cartesian(points[0]), b = cartesian(points[1]), m = cartesianNormalize(cartesianAdd(a, b)), c = cartesianCross(m, cartesianNormalize(cartesianCross(a, b)));\n\t\t\tconst poly = [\n\t\t\t\tm,\n\t\t\t\tcartesianCross(m, c),\n\t\t\t\tcartesianCross(cartesianCross(m, c), c),\n\t\t\t\tcartesianCross(cartesianCross(cartesianCross(m, c), c), c)\n\t\t\t].map(spherical).map(supplement);\n\t\t\treturn polygons.push(poly), polygons.push(poly.slice().reverse()), {\n\t\t\t\tpolygons,\n\t\t\t\tcenters\n\t\t\t};\n\t\t}\n\t}\n\ttriangles.forEach((tri, t) => {\n\t\tfor (let j = 0; j < 3; j++) {\n\t\t\tconst a = tri[j], b = tri[(j + 1) % 3], c = tri[(j + 2) % 3];\n\t\t\tpolygons[a] = polygons[a] || [];\n\t\t\tpolygons[a].push([\n\t\t\t\tb,\n\t\t\t\tc,\n\t\t\t\tt,\n\t\t\t\t[\n\t\t\t\t\ta,\n\t\t\t\t\tb,\n\t\t\t\t\tc\n\t\t\t\t]\n\t\t\t]);\n\t\t}\n\t});\n\tconst reordered = polygons.map((poly) => {\n\t\tconst p = [poly[0][2]];\n\t\tlet k = poly[0][1];\n\t\tfor (let i = 1; i < poly.length; i++) for (let j = 0; j < poly.length; j++) if (poly[j][0] == k) {\n\t\t\tk = poly[j][1];\n\t\t\tp.push(poly[j][2]);\n\t\t\tbreak;\n\t\t}\n\t\tif (p.length > 2) return p;\n\t\telse if (p.length == 2) {\n\t\t\tconst R0 = o_midpoint(points[poly[0][3][0]], points[poly[0][3][1]], centers[p[0]]), R1 = o_midpoint(points[poly[0][3][2]], points[poly[0][3][0]], centers[p[0]]);\n\t\t\tconst i0 = supplement(R0), i1 = supplement(R1);\n\t\t\treturn [\n\t\t\t\tp[0],\n\t\t\t\ti1,\n\t\t\t\tp[1],\n\t\t\t\ti0\n\t\t\t];\n\t\t}\n\t});\n\tfunction supplement(point) {\n\t\tlet f = -1;\n\t\tcenters.slice(triangles.length, Infinity).forEach((p, i) => {\n\t\t\tif (p[0] === point[0] && p[1] === point[1]) f = i + triangles.length;\n\t\t});\n\t\tif (f < 0) f = centers.length, centers.push(point);\n\t\treturn f;\n\t}\n\treturn {\n\t\tpolygons: reordered,\n\t\tcenters\n\t};\n}\nfunction o_midpoint(a, b, c) {\n\ta = cartesian(a);\n\tb = cartesian(b);\n\tc = cartesian(c);\n\tconst s = sign(cartesianDot(cartesianCross(b, a), c));\n\treturn spherical(cartesianNormalize(cartesianAdd(a, b)).map((d) => s * d));\n}\nfunction geo_mesh(polygons) {\n\tconst mesh = [];\n\tpolygons.forEach((poly) => {\n\t\tif (!poly) return;\n\t\tlet p = poly[poly.length - 1];\n\t\tfor (let q of poly) {\n\t\t\tif (q > p) mesh.push([p, q]);\n\t\t\tp = q;\n\t\t}\n\t});\n\treturn mesh;\n}\nfunction geo_urquhart(edges, triangles) {\n\treturn function(distances) {\n\t\tconst _lengths = /* @__PURE__ */ new Map(), _urquhart = /* @__PURE__ */ new Map();\n\t\tedges.forEach((edge, i) => {\n\t\t\tconst u = edge.join(\"-\");\n\t\t\t_lengths.set(u, distances[i]);\n\t\t\t_urquhart.set(u, true);\n\t\t});\n\t\ttriangles.forEach((tri) => {\n\t\t\tlet l = 0, remove = -1;\n\t\t\tfor (let j = 0; j < 3; j++) {\n\t\t\t\tlet u = extent([tri[j], tri[(j + 1) % 3]]).join(\"-\");\n\t\t\t\tif (_lengths.get(u) > l) {\n\t\t\t\t\tl = _lengths.get(u);\n\t\t\t\t\tremove = u;\n\t\t\t\t}\n\t\t\t}\n\t\t\t_urquhart.set(remove, false);\n\t\t});\n\t\treturn edges.map((edge) => _urquhart.get(edge.join(\"-\")));\n\t};\n}\nfunction geo_hull(triangles, points) {\n\tconst _hull = /* @__PURE__ */ new Set(), hull = [];\n\ttriangles.map((tri) => {\n\t\tif (excess(tri.map((i) => points[i > points.length ? 0 : i])) > 1e-12) return;\n\t\tfor (let i = 0; i < 3; i++) {\n\t\t\tlet e = [tri[i], tri[(i + 1) % 3]], code = `${e[0]}-${e[1]}`;\n\t\t\tif (_hull.has(code)) _hull.delete(code);\n\t\t\telse _hull.add(`${e[1]}-${e[0]}`);\n\t\t}\n\t});\n\tconst _index = /* @__PURE__ */ new Map();\n\tlet start;\n\t_hull.forEach((e) => {\n\t\te = e.split(\"-\").map(Number);\n\t\t_index.set(e[0], e[1]);\n\t\tstart = e[0];\n\t});\n\tif (start === void 0) return hull;\n\tlet next = start;\n\tdo {\n\t\thull.push(next);\n\t\tlet n = _index.get(next);\n\t\t_index.set(next, -1);\n\t\tnext = n;\n\t} while (next > -1 && next !== start);\n\treturn hull;\n}\n//#endregion\n//#region node_modules/.pnpm/d3-geo-voronoi@2.1.0/node_modules/d3-geo-voronoi/src/voronoi.js\nfunction geoVoronoi(data) {\n\tconst v = function(data) {\n\t\tv.delaunay = null;\n\t\tv._data = data;\n\t\tif (typeof v._data === \"object\" && v._data.type === \"FeatureCollection\") v._data = v._data.features;\n\t\tif (typeof v._data === \"object\") {\n\t\t\tconst temp = v._data.map((d) => [\n\t\t\t\tv._vx(d),\n\t\t\t\tv._vy(d),\n\t\t\t\td\n\t\t\t]).filter((d) => isFinite(d[0] + d[1]));\n\t\t\tv.points = temp.map((d) => [d[0], d[1]]);\n\t\t\tv.valid = temp.map((d) => d[2]);\n\t\t\tv.delaunay = geoDelaunay(v.points);\n\t\t}\n\t\treturn v;\n\t};\n\tv._vx = function(d) {\n\t\tif (typeof d == \"object\" && \"type\" in d) return centroid_default(d)[0];\n\t\tif (0 in d) return d[0];\n\t};\n\tv._vy = function(d) {\n\t\tif (typeof d == \"object\" && \"type\" in d) return centroid_default(d)[1];\n\t\tif (1 in d) return d[1];\n\t};\n\tv.x = function(f) {\n\t\tif (!f) return v._vx;\n\t\tv._vx = f;\n\t\treturn v;\n\t};\n\tv.y = function(f) {\n\t\tif (!f) return v._vy;\n\t\tv._vy = f;\n\t\treturn v;\n\t};\n\tv.polygons = function(data) {\n\t\tif (data !== void 0) v(data);\n\t\tif (!v.delaunay) return false;\n\t\tconst coll = {\n\t\t\ttype: \"FeatureCollection\",\n\t\t\tfeatures: []\n\t\t};\n\t\tif (v.valid.length === 0) return coll;\n\t\tv.delaunay.polygons.forEach((poly, i) => coll.features.push({\n\t\t\ttype: \"Feature\",\n\t\t\tgeometry: !poly ? null : {\n\t\t\t\ttype: \"Polygon\",\n\t\t\t\tcoordinates: [[...poly, poly[0]].map((i) => v.delaunay.centers[i])]\n\t\t\t},\n\t\t\tproperties: {\n\t\t\t\tsite: v.valid[i],\n\t\t\t\tsitecoordinates: v.points[i],\n\t\t\t\tneighbours: v.delaunay.neighbors[i]\n\t\t\t}\n\t\t}));\n\t\tif (v.valid.length === 1) coll.features.push({\n\t\t\ttype: \"Feature\",\n\t\t\tgeometry: { type: \"Sphere\" },\n\t\t\tproperties: {\n\t\t\t\tsite: v.valid[0],\n\t\t\t\tsitecoordinates: v.points[0],\n\t\t\t\tneighbours: []\n\t\t\t}\n\t\t});\n\t\treturn coll;\n\t};\n\tv.triangles = function(data) {\n\t\tif (data !== void 0) v(data);\n\t\tif (!v.delaunay) return false;\n\t\treturn {\n\t\t\ttype: \"FeatureCollection\",\n\t\t\tfeatures: v.delaunay.triangles.map((tri, index) => {\n\t\t\t\ttri = tri.map((i) => v.points[i]);\n\t\t\t\ttri.center = v.delaunay.centers[index];\n\t\t\t\treturn tri;\n\t\t\t}).filter((tri) => excess(tri) > 0).map((tri) => ({\n\t\t\t\ttype: \"Feature\",\n\t\t\t\tproperties: { circumcenter: tri.center },\n\t\t\t\tgeometry: {\n\t\t\t\t\ttype: \"Polygon\",\n\t\t\t\t\tcoordinates: [[...tri, tri[0]]]\n\t\t\t\t}\n\t\t\t}))\n\t\t};\n\t};\n\tv.links = function(data) {\n\t\tif (data !== void 0) v(data);\n\t\tif (!v.delaunay) return false;\n\t\tconst _distances = v.delaunay.edges.map((e) => distance_default(v.points[e[0]], v.points[e[1]])), _urquart = v.delaunay.urquhart(_distances);\n\t\treturn {\n\t\t\ttype: \"FeatureCollection\",\n\t\t\tfeatures: v.delaunay.edges.map((e, i) => ({\n\t\t\t\ttype: \"Feature\",\n\t\t\t\tproperties: {\n\t\t\t\t\tsource: v.valid[e[0]],\n\t\t\t\t\ttarget: v.valid[e[1]],\n\t\t\t\t\tlength: _distances[i],\n\t\t\t\t\turquhart: !!_urquart[i]\n\t\t\t\t},\n\t\t\t\tgeometry: {\n\t\t\t\t\ttype: \"LineString\",\n\t\t\t\t\tcoordinates: [v.points[e[0]], v.points[e[1]]]\n\t\t\t\t}\n\t\t\t}))\n\t\t};\n\t};\n\tv.mesh = function(data) {\n\t\tif (data !== void 0) v(data);\n\t\tif (!v.delaunay) return false;\n\t\treturn {\n\t\t\ttype: \"MultiLineString\",\n\t\t\tcoordinates: v.delaunay.edges.map((e) => [v.points[e[0]], v.points[e[1]]])\n\t\t};\n\t};\n\tv.cellMesh = function(data) {\n\t\tif (data !== void 0) v(data);\n\t\tif (!v.delaunay) return false;\n\t\tconst { centers, polygons } = v.delaunay;\n\t\tconst coordinates = [];\n\t\tfor (const p of polygons) {\n\t\t\tif (!p) continue;\n\t\t\tfor (let n = p.length, p0 = p[n - 1], p1 = p[0], i = 0; i < n; p0 = p1, p1 = p[++i]) if (p1 > p0) coordinates.push([centers[p0], centers[p1]]);\n\t\t}\n\t\treturn {\n\t\t\ttype: \"MultiLineString\",\n\t\t\tcoordinates\n\t\t};\n\t};\n\tv._found = void 0;\n\tv.find = function(x, y, radius) {\n\t\tv._found = v.delaunay.find(x, y, v._found);\n\t\tif (!radius || distance_default([x, y], v.points[v._found]) < radius) return v._found;\n\t};\n\tv.hull = function(data) {\n\t\tif (data !== void 0) v(data);\n\t\tconst hull = v.delaunay.hull, points = v.points;\n\t\treturn hull.length === 0 ? null : {\n\t\t\ttype: \"Polygon\",\n\t\t\tcoordinates: [[...hull.map((i) => points[i]), points[hull[0]]]]\n\t\t};\n\t};\n\treturn data ? v(data) : v;\n}\n//#endregion\n//#region node_modules/.pnpm/layerchart@2.5.0_@sveltejs+kit@2.70.3_@sveltejs+vite-plugin-svelte@7.3.0_svelte@5.57.0__9bc60734f10d29b7556189549fab5703/node_modules/layerchart/dist/utils/geo.js\n/**\n* Render a geoPath() using curve factory\n* @see {@link https://observablehq.com/@d3/context-to-curve}\n*/\nfunction geoCurvePath(projection, curve, context) {\n\tconst pathContext = context === void 0 ? path() : context;\n\tconst geoPath = path_default(projection, curveContext(curve(pathContext)));\n\tconst fn = (object) => {\n\t\tgeoPath(object);\n\t\treturn context === void 0 ? pathContext + \"\" : void 0;\n\t};\n\tObject.setPrototypeOf(fn, geoPath);\n\treturn fn;\n}\n/**\n* Translate Curve to GeoContext interface\n*/\nfunction curveContext(curve) {\n\treturn {\n\t\tbeginPath() {},\n\t\tmoveTo(x, y) {\n\t\t\tcurve.lineStart();\n\t\t\tcurve.point(x, y);\n\t\t},\n\t\tarc(x, y, radius, startAngle, endAngle, anticlockwise) {},\n\t\tlineTo(x, y) {\n\t\t\tcurve.point(x, y);\n\t\t},\n\t\tclosePath() {\n\t\t\tcurve.lineEnd();\n\t\t}\n\t};\n}\n//#endregion\n//#region node_modules/.pnpm/layerchart@2.5.0_@sveltejs+kit@2.70.3_@sveltejs+vite-plugin-svelte@7.3.0_svelte@5.57.0__9bc60734f10d29b7556189549fab5703/node_modules/layerchart/dist/components/geo/GeoPath/GeoPath.base.svelte\nfunction GeoPath_base($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { Path, geoTransform, geojson, tooltip, curve = linearClosed_default, onclick, onpointerenter, onpointermove, onpointerleave, class: className, ref: refProp = void 0, children, $$slots, $$events, ...restProps } = $$props;\n\t\tconst ctx = getChartContext();\n\t\tconst geo = getGeoContext();\n\t\tconst projection = derived(() => geoTransform && geo.projection ? transform_default(geoTransform(geo.projection)) : geo.projection);\n\t\tconst geoPath = derived(() => {\n\t\t\tif (!projection()) return;\n\t\t\tif (curve === linearClosed_default) return path_default(projection());\n\t\t\treturn geoCurvePath(projection(), curve);\n\t\t});\n\t\tconst pathData = derived(() => geojson ? geoPath()?.(geojson) ?? \"\" : \"\");\n\t\tfunction _onClick(e) {\n\t\t\tonclick?.(e, geoPath());\n\t\t}\n\t\tfunction _onPointerEnter(e) {\n\t\t\tonpointerenter?.(e);\n\t\t\tif (tooltip) ctx?.tooltip.show(e, geojson);\n\t\t}\n\t\tfunction _onPointerMove(e) {\n\t\t\tonpointermove?.(e);\n\t\t\tif (tooltip) ctx.tooltip.show(e, geojson);\n\t\t}\n\t\tfunction _onPointerLeave(e) {\n\t\t\tonpointerleave?.(e);\n\t\t\tif (tooltip) ctx.tooltip.hide();\n\t\t}\n\t\tif (children) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\tchildren($$renderer, { geoPath: geoPath() });\n\t\t\t$$renderer.push(`<!---->`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\tif (Path) {\n\t\t\t\t$$renderer.push(\"<!--[-->\");\n\t\t\t\tPath($$renderer, spread_props([\n\t\t\t\t\t{ pathData: pathData() },\n\t\t\t\t\trestProps,\n\t\t\t\t\tonclick && { onclick: _onClick },\n\t\t\t\t\t(tooltip || onpointerenter) && { onpointerenter: _onPointerEnter },\n\t\t\t\t\t(tooltip || onpointermove) && { onpointermove: _onPointerMove },\n\t\t\t\t\t(tooltip || onpointerleave) && { onpointerleave: _onPointerLeave },\n\t\t\t\t\t{\n\t\t\t\t\t\tclass: cls(\"lc-geo-path\", className),\n\t\t\t\t\t\tpathRef: refProp\n\t\t\t\t\t}\n\t\t\t\t]));\n\t\t\t\t$$renderer.push(\"<!--]-->\");\n\t\t\t} else {\n\t\t\t\t$$renderer.push(\"<!--[!-->\");\n\t\t\t\t$$renderer.push(\"<!--]-->\");\n\t\t\t}\n\t\t}\n\t\t$$renderer.push(`<!--]-->`);\n\t\tbind_props($$props, { ref: refProp });\n\t});\n}\n//#endregion\n//#region node_modules/.pnpm/layerchart@2.5.0_@sveltejs+kit@2.70.3_@sveltejs+vite-plugin-svelte@7.3.0_svelte@5.57.0__9bc60734f10d29b7556189549fab5703/node_modules/layerchart/dist/components/geo/GeoPath/GeoPath.svg.svelte\nfunction GeoPath_svg($$renderer, $$props) {\n\tlet { $$slots, $$events, ...props } = $$props;\n\tGeoPath_base($$renderer, spread_props([{ Path: Path_svg }, props]));\n}\n//#endregion\n//#region node_modules/.pnpm/layerchart@2.5.0_@sveltejs+kit@2.70.3_@sveltejs+vite-plugin-svelte@7.3.0_svelte@5.57.0__9bc60734f10d29b7556189549fab5703/node_modules/layerchart/dist/components/geo/GeoPath/GeoPath.canvas.svelte\nfunction GeoPath_canvas($$renderer, $$props) {\n\tlet { $$slots, $$events, ...props } = $$props;\n\tGeoPath_base($$renderer, spread_props([{ Path: Path_canvas }, props]));\n}\n//#endregion\n//#region node_modules/.pnpm/layerchart@2.5.0_@sveltejs+kit@2.70.3_@sveltejs+vite-plugin-svelte@7.3.0_svelte@5.57.0__9bc60734f10d29b7556189549fab5703/node_modules/layerchart/dist/components/geo/GeoPath/GeoPath.svelte\nfunction GeoPath($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tconst layerCtx = getLayerContext();\n\t\tlet { $$slots, $$events, ...props } = $$props;\n\t\tif (layerCtx === \"svg\") {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\tGeoPath_svg($$renderer, spread_props([props]));\n\t\t} else if (layerCtx === \"canvas\") {\n\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\tGeoPath_canvas($$renderer, spread_props([props]));\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]-->`);\n\t});\n}\n//#endregion\n//#region node_modules/.pnpm/layerchart@2.5.0_@sveltejs+kit@2.70.3_@sveltejs+vite-plugin-svelte@7.3.0_svelte@5.57.0__9bc60734f10d29b7556189549fab5703/node_modules/layerchart/dist/components/Voronoi/Voronoi.base.svelte\nfunction Voronoi_base($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { Group, Path, CircleClipPath, data, x: xProp, y: yProp, r, classes = {}, onclick, onpointerenter, onpointerdown, onpointermove, class: className, children, $$slots, $$events, ...restProps } = $$props;\n\t\tconst ctx = getChartContext();\n\t\tconst facetPanel = getFacetPanel();\n\t\tconst geo = getGeoContext();\n\t\tconst xAccessorOverride = derived(() => xProp != null ? accessor(xProp) : void 0);\n\t\tconst yAccessorOverride = derived(() => yProp != null ? accessor(yProp) : void 0);\n\t\tconst points = derived(() => (data ?? facetPanel?.().data ?? ctx.flatData).map((d) => {\n\t\t\tconst xValue = xAccessorOverride() ? geo.projection ? xAccessorOverride()(d) : ctx.xScale(xAccessorOverride()(d)) : geo.projection ? ctx.x(d) : ctx.xGet(d);\n\t\t\tconst yValue = yAccessorOverride() ? geo.projection ? yAccessorOverride()(d) : ctx.yScale(yAccessorOverride()(d)) : geo.projection ? ctx.y(d) : ctx.yGet(d);\n\t\t\tconst x = Array.isArray(xValue) ? max$1(xValue) : xValue;\n\t\t\tconst y = Array.isArray(yValue) ? max$1(yValue) : yValue;\n\t\t\tlet point;\n\t\t\tif (ctx.radial) {\n\t\t\t\tconst radialPoint = pointRadial_default(x, y);\n\t\t\t\tpoint = [radialPoint[0] + ctx.width / 2, radialPoint[1] + ctx.height / 2];\n\t\t\t} else point = [x, y];\n\t\t\tpoint.data = d;\n\t\t\treturn point;\n\t\t}));\n\t\tconst boundWidth = derived(() => Math.max(ctx.width, 0));\n\t\tconst boundHeight = derived(() => Math.max(ctx.height, 0));\n\t\tconst disableClip = derived(() => r === 0 || r == null || r === Infinity);\n\t\tconst voronoi = derived(() => geo.projection ? null : Delaunay.from(points()).voronoi([\n\t\t\t0,\n\t\t\t0,\n\t\t\tboundWidth(),\n\t\t\tboundHeight()\n\t\t]));\n\t\tconst geoPolygons = derived(() => geo.projection ? geoVoronoi().polygons(points()) : null);\n\t\tconst cells = derived(() => {\n\t\t\tif (!children) return [];\n\t\t\tif (geo.projection && geoPolygons()) return geoPolygons().features.map((feature, index) => {\n\t\t\t\tconst projectedPoint = geo.projection?.(feature.properties.sitecoordinates) ?? null;\n\t\t\t\tconst ring = (feature.geometry?.coordinates?.[0] ?? []).map((coord) => geo.projection?.(coord)).filter((p) => p != null);\n\t\t\t\tconst polygon = ring.length ? ring : null;\n\t\t\t\tconst projectedCentroid = geo.projection?.(centroid_default(feature)) ?? null;\n\t\t\t\treturn {\n\t\t\t\t\tdata: feature.properties.site?.data,\n\t\t\t\t\tindex,\n\t\t\t\t\tpoint: projectedPoint ?? [NaN, NaN],\n\t\t\t\t\tpolygon,\n\t\t\t\t\tcentroid: projectedCentroid && Number.isFinite(projectedCentroid[0]) ? projectedCentroid : null,\n\t\t\t\t\tarea: area_default(feature)\n\t\t\t\t};\n\t\t\t});\n\t\t\tif (voronoi()) return points().map((point, index) => {\n\t\t\t\tconst polygon = voronoi().cellPolygon(index);\n\t\t\t\treturn {\n\t\t\t\t\tdata: point.data,\n\t\t\t\t\tindex,\n\t\t\t\t\tpoint: [point[0], point[1]],\n\t\t\t\t\tpolygon,\n\t\t\t\t\tcentroid: polygon ? centroid_default$1(polygon) : null,\n\t\t\t\t\tarea: polygon ? Math.abs(area_default$1(polygon)) : 0\n\t\t\t\t};\n\t\t\t});\n\t\t\treturn [];\n\t\t});\n\t\tif (Group) {\n\t\t\t$$renderer.push(\"<!--[-->\");\n\t\t\tGroup($$renderer, spread_props([restProps, {\n\t\t\t\tclass: cls(\"lc-voronoi-g\", classes.root, className),\n\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\tif (geo.projection) {\n\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\tif (geoPolygons()) {\n\t\t\t\t\t\t\t$$renderer.push(`<!--[0--><!--[-->`);\n\t\t\t\t\t\t\tconst each_array = ensure_array_like(geoPolygons().features);\n\t\t\t\t\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\t\t\t\t\tlet feature = each_array[$$index];\n\t\t\t\t\t\t\t\tconst point = r ? geo.projection?.(feature.properties.sitecoordinates) : null;\n\t\t\t\t\t\t\t\tif (CircleClipPath) {\n\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[-->\");\n\t\t\t\t\t\t\t\t\tCircleClipPath($$renderer, {\n\t\t\t\t\t\t\t\t\t\tcx: point?.[0],\n\t\t\t\t\t\t\t\t\t\tcy: point?.[1],\n\t\t\t\t\t\t\t\t\t\tr: r ?? 0,\n\t\t\t\t\t\t\t\t\t\tdisabled: point == null || disableClip(),\n\t\t\t\t\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t\t\t\t\tGeoPath($$renderer, {\n\t\t\t\t\t\t\t\t\t\t\t\tgeojson: feature,\n\t\t\t\t\t\t\t\t\t\t\t\tclass: [\"lc-voronoi-geo-path\", classes.path],\n\t\t\t\t\t\t\t\t\t\t\t\tonclick: (e) => onclick?.(e, {\n\t\t\t\t\t\t\t\t\t\t\t\t\tdata: feature.properties.site.data,\n\t\t\t\t\t\t\t\t\t\t\t\t\tfeature\n\t\t\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\t\t\tonpointerenter: (e) => onpointerenter?.(e, {\n\t\t\t\t\t\t\t\t\t\t\t\t\tdata: feature.properties.site.data,\n\t\t\t\t\t\t\t\t\t\t\t\t\tfeature\n\t\t\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\t\t\tonpointermove: (e) => onpointermove?.(e, {\n\t\t\t\t\t\t\t\t\t\t\t\t\tdata: feature.properties.site.data,\n\t\t\t\t\t\t\t\t\t\t\t\t\tfeature\n\t\t\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\t\t\tonpointerdown: (e) => onpointerdown?.(e, {\n\t\t\t\t\t\t\t\t\t\t\t\t\tdata: feature.properties.site.data,\n\t\t\t\t\t\t\t\t\t\t\t\t\tfeature\n\t\t\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\t\t\tontouchmove: (e) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--]-->\");\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[!-->\");\n\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--]-->\");\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\t\t} else if (voronoi()) {\n\t\t\t\t\t\t$$renderer.push(`<!--[1--><!--[-->`);\n\t\t\t\t\t\tconst each_array_1 = ensure_array_like(points());\n\t\t\t\t\t\tfor (let i = 0, $$length = each_array_1.length; i < $$length; i++) {\n\t\t\t\t\t\t\tlet point = each_array_1[i];\n\t\t\t\t\t\t\tconst pathData = voronoi().renderCell(i);\n\t\t\t\t\t\t\tif (pathData) {\n\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t\tif (CircleClipPath) {\n\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[-->\");\n\t\t\t\t\t\t\t\t\tCircleClipPath($$renderer, {\n\t\t\t\t\t\t\t\t\t\tcx: point[0],\n\t\t\t\t\t\t\t\t\t\tcy: point[1],\n\t\t\t\t\t\t\t\t\t\tr: r ?? 0,\n\t\t\t\t\t\t\t\t\t\tdisabled: disableClip(),\n\t\t\t\t\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t\t\t\t\tif (Path) {\n\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[-->\");\n\t\t\t\t\t\t\t\t\t\t\t\tPath($$renderer, {\n\t\t\t\t\t\t\t\t\t\t\t\t\tpathData,\n\t\t\t\t\t\t\t\t\t\t\t\t\tclass: [\"lc-voronoi-path\", classes.path],\n\t\t\t\t\t\t\t\t\t\t\t\t\tonclick: (e) => onclick?.(e, {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata: point.data,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tpoint\n\t\t\t\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\t\t\t\tonpointerenter: (e) => onpointerenter?.(e, {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata: point.data,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tpoint\n\t\t\t\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\t\t\t\tonpointermove: (e) => onpointermove?.(e, {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata: point.data,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tpoint\n\t\t\t\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\t\t\t\tonpointerdown: (e) => onpointerdown?.(e, {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata: point.data,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tpoint\n\t\t\t\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\t\t\t\tontouchmove: (e) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--]-->\");\n\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[!-->\");\n\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--]-->\");\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--]-->\");\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[!-->\");\n\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--]-->\");\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\t\tchildren?.($$renderer, { cells: cells() });\n\t\t\t\t\t$$renderer.push(`<!---->`);\n\t\t\t\t},\n\t\t\t\t$$slots: { default: true }\n\t\t\t}]));\n\t\t\t$$renderer.push(\"<!--]-->\");\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[!-->\");\n\t\t\t$$renderer.push(\"<!--]-->\");\n\t\t}\n\t});\n}\n//#endregion\n//#region node_modules/.pnpm/layerchart@2.5.0_@sveltejs+kit@2.70.3_@sveltejs+vite-plugin-svelte@7.3.0_svelte@5.57.0__9bc60734f10d29b7556189549fab5703/node_modules/layerchart/dist/components/CircleClipPath/CircleClipPath.base.svelte\nfunction CircleClipPath_base($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tconst uid = props_id($$renderer);\n\t\tlet { ClipPath, id = createId(\"clipPath-\", uid), cx = 0, cy = 0, r, disabled = false, invert = false, children } = $$props;\n\t\tconst path = derived(() => `M${cx - r},${cy} a${r},${r} 0 1,0 ${2 * r},0 a${r},${r} 0 1,0 ${-2 * r},0 Z`);\n\t\tif (ClipPath) {\n\t\t\t$$renderer.push(\"<!--[-->\");\n\t\t\tClipPath($$renderer, {\n\t\t\t\tid,\n\t\t\t\tdisabled,\n\t\t\t\tinvert,\n\t\t\t\tchildren,\n\t\t\t\tpath: path()\n\t\t\t});\n\t\t\t$$renderer.push(\"<!--]-->\");\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[!-->\");\n\t\t\t$$renderer.push(\"<!--]-->\");\n\t\t}\n\t});\n}\n//#endregion\n//#region node_modules/.pnpm/layerchart@2.5.0_@sveltejs+kit@2.70.3_@sveltejs+vite-plugin-svelte@7.3.0_svelte@5.57.0__9bc60734f10d29b7556189549fab5703/node_modules/layerchart/dist/components/CircleClipPath/CircleClipPath.svg.svelte\nfunction CircleClipPath_svg($$renderer, $$props) {\n\tlet { $$slots, $$events, ...props } = $$props;\n\tCircleClipPath_base($$renderer, spread_props([{ ClipPath: ClipPath_svg }, props]));\n}\n//#endregion\n//#region node_modules/.pnpm/layerchart@2.5.0_@sveltejs+kit@2.70.3_@sveltejs+vite-plugin-svelte@7.3.0_svelte@5.57.0__9bc60734f10d29b7556189549fab5703/node_modules/layerchart/dist/components/Voronoi/Voronoi.svg.svelte\nfunction Voronoi_svg($$renderer, $$props) {\n\tlet { $$slots, $$events, ...props } = $$props;\n\tVoronoi_base($$renderer, spread_props([{\n\t\tGroup: Group_svg,\n\t\tPath: Path_svg,\n\t\tCircleClipPath: CircleClipPath_svg\n\t}, props]));\n}\n//#endregion\n//#region node_modules/.pnpm/layerchart@2.5.0_@sveltejs+kit@2.70.3_@sveltejs+vite-plugin-svelte@7.3.0_svelte@5.57.0__9bc60734f10d29b7556189549fab5703/node_modules/layerchart/dist/components/CircleClipPath/CircleClipPath.canvas.svelte\nfunction CircleClipPath_canvas($$renderer, $$props) {\n\tlet { $$slots, $$events, ...props } = $$props;\n\tCircleClipPath_base($$renderer, spread_props([{ ClipPath: ClipPath_canvas }, props]));\n}\n//#endregion\n//#region node_modules/.pnpm/layerchart@2.5.0_@sveltejs+kit@2.70.3_@sveltejs+vite-plugin-svelte@7.3.0_svelte@5.57.0__9bc60734f10d29b7556189549fab5703/node_modules/layerchart/dist/components/Voronoi/Voronoi.canvas.svelte\nfunction Voronoi_canvas($$renderer, $$props) {\n\tlet { $$slots, $$events, ...props } = $$props;\n\tVoronoi_base($$renderer, spread_props([{\n\t\tGroup: Group_canvas,\n\t\tPath: Path_canvas,\n\t\tCircleClipPath: CircleClipPath_canvas\n\t}, props]));\n}\n//#endregion\n//#region node_modules/.pnpm/layerchart@2.5.0_@sveltejs+kit@2.70.3_@sveltejs+vite-plugin-svelte@7.3.0_svelte@5.57.0__9bc60734f10d29b7556189549fab5703/node_modules/layerchart/dist/components/Voronoi/Voronoi.svelte\nfunction Voronoi($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tconst layerCtx = getLayerContext();\n\t\tlet { $$slots, $$events, ...props } = $$props;\n\t\tif (layerCtx === \"svg\") {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\tVoronoi_svg($$renderer, spread_props([props]));\n\t\t} else if (layerCtx === \"canvas\") {\n\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\tVoronoi_canvas($$renderer, spread_props([props]));\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]-->`);\n\t});\n}\n//#endregion\nexport { Voronoi as default };\n"],"names":["tau$1","quarterPi$1"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"archive.js-D2jtMmDo.js","sources":["../../../../.svelte-kit/output/server/chunks/archive.js"],"sourcesContent":["import { a as createStsClient, c as resolveAwsConfig, s as parseRegionParam } from \"./env2.js\";\nimport { t as getCallerIdentityWith } from \"./identity.js\";\nimport { a as detectLevelWithSource, d as isLogLevel, m as eventDurationMs, n as LEVEL_RANK, o as detectRequestId } from \"./log-buffer.js\";\nimport { mkdirSync, readFileSync, renameSync, statSync, writeFileSync } from \"node:fs\";\nimport { homedir } from \"node:os\";\nimport { dirname, join, resolve } from \"node:path\";\nimport { createHash, randomUUID } from \"node:crypto\";\nimport { setTimeout } from \"node:timers/promises\";\n//#region src/lib/server/archive-location.ts\n/** Account/region archive routing. Cached identities are for offline reads only. */\n/** Resolve STS separately so a Logs-only endpoint never receives identity requests. */\nasync function identify(env, region) {\n\tconst client = createStsClient(resolveAwsConfig(env, region, \"sts\"));\n\ttry {\n\t\tconst effectiveRegion = region ?? await client.config.region();\n\t\treturn {\n\t\t\taccount: (await getCallerIdentityWith(client, { signal: AbortSignal.timeout(5e3) })).account,\n\t\t\tregion: effectiveRegion\n\t\t};\n\t} finally {\n\t\tclient.destroy();\n\t}\n}\nfunction hash(value) {\n\treturn createHash(\"sha256\").update(value).digest(\"hex\");\n}\nfunction valid(identity) {\n\treturn typeof identity?.account === \"string\" && /^\\d{12}$/.test(identity.account) && typeof identity.region === \"string\" && !!identity.region && parseRegionParam(identity.region).ok;\n}\n/** Resolves an archive path without guessing an account when AWS is unavailable. */\nvar ArchiveLocator = class {\n\tlookup;\n\t#pending = /* @__PURE__ */ new Map();\n\t#known = /* @__PURE__ */ new Map();\n\tconstructor(lookup = identify) {\n\t\tthis.lookup = lookup;\n\t}\n\tasync locate(basePath, env, selection) {\n\t\tconst config = resolveAwsConfig(env, selection.region);\n\t\tconst root = env.WATCH_TAIL_ARCHIVE_DIR?.trim() || dirname(basePath);\n\t\tconst stsEndpoint = resolveAwsConfig(env, selection.region, \"sts\").endpoint;\n\t\tconst key = hash(JSON.stringify([\n\t\t\tconfig.endpoint,\n\t\t\tconfig.region,\n\t\t\tenv.AWS_PROFILE || \"default\",\n\t\t\tenv.AWS_CONFIG_FILE,\n\t\t\tenv.AWS_SHARED_CREDENTIALS_FILE,\n\t\t\tenv.AWS_ROLE_ARN,\n\t\t\tenv.AWS_WEB_IDENTITY_TOKEN_FILE,\n\t\t\tenv.AWS_ACCESS_KEY_ID,\n\t\t\tenv.AWS_CONTAINER_CREDENTIALS_RELATIVE_URI,\n\t\t\tenv.AWS_CONTAINER_CREDENTIALS_FULL_URI,\n\t\t\t...stsEndpoint && stsEndpoint !== config.endpoint ? [stsEndpoint] : []\n\t\t]));\n\t\tconst cachePath = join(root, \"identities\", `${key}.json`);\n\t\tlet pending = this.#pending.get(key);\n\t\tif (!pending) {\n\t\t\tpending = this.lookup(env, config.region);\n\t\t\tthis.#pending.set(key, pending);\n\t\t}\n\t\tlet identity;\n\t\ttry {\n\t\t\tidentity = await pending;\n\t\t} catch (error) {\n\t\t\tlet cached = selection.readOnly ? this.#known.get(cachePath) : void 0;\n\t\t\tif (selection.readOnly && !cached) try {\n\t\t\t\tcached = JSON.parse(readFileSync(cachePath, \"utf8\"));\n\t\t\t} catch {}\n\t\t\tif (!cached || !valid(cached) || config.region && cached.region !== config.region) throw error;\n\t\t\tidentity = cached;\n\t\t} finally {\n\t\t\tthis.#pending.delete(key);\n\t\t}\n\t\tif (!valid(identity) || config.region && config.region !== identity.region) throw new Error(\"AWS did not return a valid archive account and region\");\n\t\tthis.#known.set(cachePath, identity);\n\t\ttry {\n\t\t\tmkdirSync(dirname(cachePath), { recursive: true });\n\t\t\tconst temporary = `${cachePath}.${randomUUID()}.tmp`;\n\t\t\twriteFileSync(temporary, JSON.stringify(identity), { mode: 384 });\n\t\t\trenameSync(temporary, cachePath);\n\t\t} catch {}\n\t\tconst namespace = config.endpoint ? join(\"endpoints\", hash(config.endpoint)) : \"\";\n\t\treturn join(root, namespace, identity.account, identity.region, \"archive.duckdb\");\n\t}\n};\n//#endregion\n//#region src/lib/server/archive-sql.ts\n/**\n* SQL and row mapping for the local DuckDB archive.\n*\n* DuckDB is a native dependency and is loaded lazily by `archive.ts`; everything\n* in this file is plain text and pure functions so the archive can be unit\n* tested without the driver. Column order matters: {@link ARCHIVE_INSERT_COLUMNS}\n* is the contract with {@link toArchiveParams}, and the `SELECT` in\n* {@link buildPageQuery} uses the same names as {@link rowsToPage}.\n*\n* `level` and `request_id` are both derived from the message on the way in, and\n* both may be NULL in an archive written by an older build. NULL does not mean\n* the same thing for the two columns: for `level` it is a verdict (\"this line\n* carries no level\"), while for `request_id` it means \"not looked at yet\", since\n* the client can still detect an id in the message it renders. {@link rowsToPage}\n* and the request-id backfill below are written from that difference.\n*/\n/**\n* Statements that bring a database file up to the current schema.\n*\n* Every statement is idempotent so an existing archive can be opened by a newer\n* build without a migration step. `seq` orders events by arrival, which keeps\n* paging stable when many events share a millisecond timestamp.\n*/\nvar ARCHIVE_SCHEMA = [\n\t`CREATE SEQUENCE IF NOT EXISTS log_events_seq`,\n\t`CREATE TABLE IF NOT EXISTS log_events (\n\t\tregion VARCHAR NOT NULL,\n\t\tlog_group VARCHAR NOT NULL,\n\t\tlog_stream VARCHAR,\n\t\tevent_key VARCHAR NOT NULL,\n\t\tevent_id VARCHAR,\n\t\ttimestamp_ms BIGINT NOT NULL,\n\t\tingestion_time_ms BIGINT,\n\t\tmessage VARCHAR NOT NULL,\n\t\tlevel VARCHAR,\n\t\tlevel_source VARCHAR,\n\t\trequest_id VARCHAR,\n\t\tseq BIGINT NOT NULL DEFAULT nextval('log_events_seq'),\n\t\tarchived_at TIMESTAMP NOT NULL DEFAULT now()\n\t)`,\n\t`ALTER TABLE log_events ADD COLUMN IF NOT EXISTS level VARCHAR`,\n\t`ALTER TABLE log_events ADD COLUMN IF NOT EXISTS level_source VARCHAR`,\n\t`ALTER TABLE log_events ADD COLUMN IF NOT EXISTS request_id VARCHAR`,\n\t`CREATE TABLE IF NOT EXISTS archive_meta (key VARCHAR PRIMARY KEY, value VARCHAR)`,\n\t`CREATE UNIQUE INDEX IF NOT EXISTS log_events_unique ON log_events (region, log_group, event_key)`,\n\t`CREATE INDEX IF NOT EXISTS log_events_time ON log_events (region, log_group, timestamp_ms)`\n];\n/** Columns written by {@link buildInsertSql}, in binding order. */\nvar ARCHIVE_INSERT_COLUMNS = [\n\t\"region\",\n\t\"log_group\",\n\t\"log_stream\",\n\t\"event_key\",\n\t\"event_id\",\n\t\"timestamp_ms\",\n\t\"ingestion_time_ms\",\n\t\"message\",\n\t\"level\",\n\t\"level_source\",\n\t\"request_id\"\n];\n/** Escape character used with `LIKE`/`ILIKE` so user input cannot inject wildcards. */\nvar LIKE_ESCAPE = \"\\\\\";\n/**\n* Stable identity of an event inside one log group.\n*\n* CloudWatch event ids are unique per log group and are reused as the key;\n* events without an id (floci and LocalStack omit them) get a deterministic\n* hash of timestamp, stream and message, so re-scanning the same window is\n* idempotent instead of duplicating rows.\n*/\nfunction archiveEventKey(event) {\n\tif (event.id !== null && event.id.length > 0) return event.id;\n\treturn `h:${createHash(\"sha256\").update(`${event.timestamp}\\u0000${event.streamName ?? \"\"}\\u0000${event.message}`).digest(\"hex\").slice(0, 32)}`;\n}\n/** Renders `count` placeholder rows, one group of columns per row. */\nfunction placeholderRows(count) {\n\tconst row = `(${ARCHIVE_INSERT_COLUMNS.map(() => \"?\").join(\", \")})`;\n\treturn Array.from({ length: count }, () => row).join(\", \");\n}\n/**\n* Builds a multi-row `INSERT OR IGNORE`, so events already archived are skipped\n* by the unique index instead of raising.\n*/\nfunction buildInsertSql(rowCount) {\n\tif (!Number.isInteger(rowCount) || rowCount < 1) throw new RangeError(`rowCount must be a positive integer, received ${String(rowCount)}`);\n\treturn `INSERT OR IGNORE INTO log_events (${ARCHIVE_INSERT_COLUMNS.join(\", \")}) VALUES ${placeholderRows(rowCount)}`;\n}\n/**\n* Flattens events into the parameter list {@link buildInsertSql} expects.\n*\n* The request id is detected here, exactly like the level, so the archive holds\n* what a reader of the line would see rather than whatever a writer claimed.\n*/\nfunction toArchiveParams(region, logGroup, events) {\n\tconst params = [];\n\tfor (const event of events) {\n\t\tconst detected = detectLevelWithSource(event.message);\n\t\tparams.push(region, logGroup, event.streamName ?? null, archiveEventKey(event), event.id ?? null, BigInt(Math.round(event.timestamp)), event.ingestionTime === void 0 ? null : BigInt(Math.round(event.ingestionTime)), event.message, detected.level, detected.source, detectRequestId(event.message));\n\t}\n\treturn params;\n}\n/** Column list shared by {@link buildPageQuery} and {@link rowsToPage}. */\nvar PAGE_COLUMNS = `region, log_group, log_stream, event_key, event_id, timestamp_ms, ingestion_time_ms, message, level, level_source, request_id, seq`;\n/** Escapes `LIKE` metacharacters so a search term is matched literally. */\nfunction escapeLike(value) {\n\treturn value.replace(/[\\\\%_]/g, (match) => `${LIKE_ESCAPE}${match}`);\n}\n/**\n* Builds one keyset page of archived events.\n*\n* Ordering is `(timestamp_ms, seq)`, and the cursor compares the same tuple, so\n* pages never repeat or skip a row even when thousands of events share a\n* timestamp.\n*/\nfunction buildPageQuery(request) {\n\tconst limit = Math.max(1, Math.round(request.limit));\n\tconst groups = request.logGroups.length > 0 ? request.logGroups : [\"\"];\n\tconst where = [\n\t\t\"region = ?\",\n\t\t`log_group IN (${groups.map(() => \"?\").join(\", \")})`,\n\t\t\"timestamp_ms >= ?\",\n\t\t\"timestamp_ms <= ?\"\n\t];\n\tconst params = [\n\t\trequest.region,\n\t\t...groups,\n\t\tBigInt(Math.round(request.startTime)),\n\t\tBigInt(Math.round(request.endTime))\n\t];\n\tconst search = request.search?.trim() ?? \"\";\n\tif (search.length > 0) {\n\t\twhere.push(`message ILIKE ? ESCAPE '${LIKE_ESCAPE}'`);\n\t\tparams.push(`%${escapeLike(search)}%`);\n\t}\n\tconst prefix = request.streamPrefix?.trim() ?? \"\";\n\tif (prefix.length > 0) {\n\t\twhere.push(`log_stream LIKE ? ESCAPE '${LIKE_ESCAPE}'`);\n\t\tparams.push(`${escapeLike(prefix)}%`);\n\t}\n\tconst levels = request.levels ?? [];\n\tif (levels.length > 0) {\n\t\twhere.push(`level IN (${levels.map(() => \"?\").join(\", \")})`);\n\t\tparams.push(...levels);\n\t}\n\tconst after = request.after ?? null;\n\tif (after !== null) {\n\t\twhere.push(\"(timestamp_ms > ? OR (timestamp_ms = ? AND seq > ?))\");\n\t\tparams.push(BigInt(Math.round(after.timestamp)), BigInt(Math.round(after.timestamp)), BigInt(Math.round(after.seq)));\n\t}\n\tparams.push(BigInt(limit));\n\treturn {\n\t\tsql: `SELECT ${PAGE_COLUMNS} FROM log_events WHERE ${where.join(\" AND \")} ORDER BY timestamp_ms, seq LIMIT ?`,\n\t\tparams\n\t};\n}\n/** Converts a DuckDB value (which may be a bigint) into a JS number. */\nfunction toNumber(value) {\n\tif (typeof value === \"number\") return Number.isFinite(value) ? value : null;\n\tif (typeof value === \"bigint\") return Number(value);\n\tif (typeof value === \"string\" && value.trim().length > 0) {\n\t\tconst parsed = Number(value);\n\t\treturn Number.isFinite(parsed) ? parsed : null;\n\t}\n\treturn null;\n}\n/** Converts a nullable DuckDB string column into `string` or `null`. */\nfunction toNullableString(value) {\n\tif (typeof value === \"string\") return value.length > 0 ? value : null;\n\treturn null;\n}\n/** Reads one column from a row object, tolerating case differences. */\nfunction pick(row, column) {\n\tif (column in row) return row[column];\n\tconst upper = column.toUpperCase();\n\tif (upper in row) return row[upper];\n}\n/**\n* Maps query rows onto wire events plus the cursor of the last row.\n*\n* Rows without a usable timestamp are dropped rather than rendered as 1970.\n*/\nfunction rowsToPage(rows) {\n\tconst events = [];\n\tlet last = null;\n\tfor (const row of rows) {\n\t\tconst timestamp = toNumber(pick(row, \"timestamp_ms\"));\n\t\tconst seq = toNumber(pick(row, \"seq\"));\n\t\tif (timestamp === null || seq === null) continue;\n\t\tconst rawLevel = pick(row, \"level\");\n\t\tconst group = toNullableString(pick(row, \"log_group\"));\n\t\tconst event = {\n\t\t\tid: toNullableString(pick(row, \"event_key\")),\n\t\t\ttimestamp,\n\t\t\tmessage: typeof pick(row, \"message\") === \"string\" ? pick(row, \"message\") : \"\",\n\t\t\tlevel: isLogLevel(rawLevel) ? rawLevel : null\n\t\t};\n\t\tif (group !== null) event.group = group;\n\t\tconst requestId = toNullableString(pick(row, \"request_id\"));\n\t\tif (requestId !== null) event.requestId = requestId;\n\t\tconst streamName = toNullableString(pick(row, \"log_stream\"));\n\t\tif (streamName !== null) event.streamName = streamName;\n\t\tconst ingestionTime = toNumber(pick(row, \"ingestion_time_ms\"));\n\t\tif (ingestionTime !== null) event.ingestionTime = ingestionTime;\n\t\tevents.push(event);\n\t\tlast = {\n\t\t\ttimestamp,\n\t\t\tseq\n\t\t};\n\t}\n\treturn {\n\t\tevents,\n\t\tlast\n\t};\n}\n/** Aggregate query behind {@link ArchiveTotals}. */\nvar ARCHIVE_TOTALS_SQL = `SELECT count(*) AS rows, count(DISTINCT log_group) AS groups, count(DISTINCT region) AS regions, min(timestamp_ms) AS oldest, max(timestamp_ms) AS newest FROM log_events`;\n/** Log groups held by the archive, optionally limited to one region. */\nfunction buildGroupsQuery(region) {\n\tconst where = region === null || region.length === 0 ? \"\" : \"WHERE region = ?\";\n\treturn {\n\t\tsql: `SELECT region, log_group, count(*) AS events, min(timestamp_ms) AS oldest, max(timestamp_ms) AS newest FROM log_events ${where} GROUP BY region, log_group ORDER BY region, log_group`,\n\t\tparams: where === \"\" ? [] : [region]\n\t};\n}\n/** Maps the single row of {@link ARCHIVE_TOTALS_SQL}. */\nfunction rowToTotals(row) {\n\tif (row === void 0) return {\n\t\trows: 0,\n\t\tgroups: 0,\n\t\tregions: 0,\n\t\toldest: null,\n\t\tnewest: null\n\t};\n\treturn {\n\t\trows: toNumber(pick(row, \"rows\")) ?? 0,\n\t\tgroups: toNumber(pick(row, \"groups\")) ?? 0,\n\t\tregions: toNumber(pick(row, \"regions\")) ?? 0,\n\t\toldest: toNumber(pick(row, \"oldest\")),\n\t\tnewest: toNumber(pick(row, \"newest\"))\n\t};\n}\n/** Maps the rows of {@link buildGroupsQuery}. */\nfunction rowsToGroups(rows) {\n\tconst groups = [];\n\tfor (const row of rows) {\n\t\tconst region = pick(row, \"region\");\n\t\tconst logGroup = pick(row, \"log_group\");\n\t\tif (typeof region !== \"string\" || typeof logGroup !== \"string\") continue;\n\t\tgroups.push({\n\t\t\tregion,\n\t\t\tlogGroup,\n\t\t\tevents: toNumber(pick(row, \"events\")) ?? 0,\n\t\t\toldest: toNumber(pick(row, \"oldest\")),\n\t\t\tnewest: toNumber(pick(row, \"newest\"))\n\t\t});\n\t}\n\treturn groups;\n}\n/**\n* Row budget of one request-id backfill pass.\n*\n* The pass runs on every open, so it has to stay cheap. 20000 messages is a\n* fraction of a second of regex work, and an archive with more than that scans\n* the rest on the next open, because the watermark moves.\n*/\nvar REQUEST_ID_BACKFILL_LIMIT = 2e4;\n/** `archive_meta` key holding the request-id backfill watermark. */\nvar REQUEST_ID_BACKFILL_KEY = \"request_id_backfill\";\n/** Highest `seq` in the archive: the ceiling of a backfill pass. */\nvar ARCHIVE_MAX_SEQ_SQL = `SELECT max(seq) AS maxSeq FROM log_events`;\n/** Reads the single row of {@link ARCHIVE_MAX_SEQ_SQL}; `null` for an empty archive. */\nfunction rowToMaxSeq(row) {\n\treturn row === void 0 ? null : toNumber(pick(row, \"maxSeq\"));\n}\n/** Statement that reads the backfill watermark; no row means it never ran. */\nfunction buildRequestIdBackfillStateQuery() {\n\treturn `SELECT value FROM archive_meta WHERE key = '${REQUEST_ID_BACKFILL_KEY}'`;\n}\n/** Statement that stores the backfill watermark, which is the highest scanned `seq`. */\nfunction buildRequestIdBackfillStateWrite() {\n\treturn `INSERT OR REPLACE INTO archive_meta (key, value) VALUES ('${REQUEST_ID_BACKFILL_KEY}', ?)`;\n}\n/** Reads the watermark row; an absent row or junk means \"scan from the start\". */\nfunction rowToBackfillWatermark(row) {\n\tconst value = row === void 0 ? null : toNumber(pick(row, \"value\"));\n\treturn value === null || value < 0 ? null : value;\n}\n/**\n* Builds the scan that finds rows archived before `request_id` existed.\n*\n* `seq` is selected although the update does not need it: the caller stores\n* where the pass stopped. `afterSeq` skips the range a previous pass already\n* looked at, which is what lets a capped pass resume - a message with no request\n* id stays NULL for ever, so without the lower bound every pass would start on\n* the same id-less rows and never reach the rows above them.\n*/\nfunction buildRequestIdBackfillQuery(request) {\n\tconst limit = Math.max(1, Math.round(request.limit));\n\tconst scanned = request.afterSeq ?? 0;\n\tconst after = scanned > 0 ? \" AND seq > ?\" : \"\";\n\tconst params = [BigInt(Math.round(request.maxSeq))];\n\tif (scanned > 0) params.push(BigInt(Math.round(scanned)));\n\tparams.push(BigInt(limit));\n\treturn {\n\t\tsql: `SELECT event_key, log_group, region, message, seq FROM log_events WHERE seq <= ?${after} AND request_id IS NULL ORDER BY seq LIMIT ?`,\n\t\tparams\n\t};\n}\n/** Maps the rows of {@link buildRequestIdBackfillQuery}, dropping unusable ones. */\nfunction rowsToBackfillCandidates(rows) {\n\tconst candidates = [];\n\tfor (const row of rows) {\n\t\tconst seq = toNumber(pick(row, \"seq\"));\n\t\tconst region = pick(row, \"region\");\n\t\tconst logGroup = pick(row, \"log_group\");\n\t\tconst eventKey = pick(row, \"event_key\");\n\t\tconst message = pick(row, \"message\");\n\t\tif (seq === null || typeof region !== \"string\" || typeof logGroup !== \"string\" || typeof eventKey !== \"string\" || typeof message !== \"string\") continue;\n\t\tcandidates.push({\n\t\t\tseq,\n\t\t\tregion,\n\t\t\tlogGroup,\n\t\t\teventKey,\n\t\t\tmessage\n\t\t});\n\t}\n\treturn candidates;\n}\n/** Highest `seq` of a scanned set, or `null` when nothing was scanned. */\nfunction maxSeqOf(candidates) {\n\tlet highest = null;\n\tfor (const candidate of candidates) if (highest === null || candidate.seq > highest) highest = candidate.seq;\n\treturn highest;\n}\n/**\n* Detects the request id of every candidate.\n*\n* A message that yields no id is dropped rather than written as an empty string:\n* it is a finished row, not a failure, and the watermark moves past it so it is\n* never looked at again.\n*/\nfunction planRequestIdBackfill(candidates) {\n\tconst updates = [];\n\tfor (const candidate of candidates) {\n\t\tconst requestId = detectRequestId(candidate.message);\n\t\tif (requestId === null) continue;\n\t\tupdates.push({\n\t\t\tregion: candidate.region,\n\t\t\tlogGroup: candidate.logGroup,\n\t\t\teventKey: candidate.eventKey,\n\t\t\trequestId\n\t\t});\n\t}\n\treturn updates;\n}\n/**\n* Builds one `UPDATE ... FROM (VALUES ...)` that writes many ids at once.\n*\n* One statement per chunk instead of one per row keeps a 20000-row pass down to\n* a handful of statements, and the predicate is an exact row match on the unique\n* index (`region`, `log_group`, `event_key`).\n*/\nfunction buildRequestIdBackfillUpdate(rowCount) {\n\tif (!Number.isInteger(rowCount) || rowCount < 1) throw new RangeError(`rowCount must be a positive integer, received ${String(rowCount)}`);\n\treturn `UPDATE log_events SET request_id = v.request_id FROM (VALUES ${Array.from({ length: rowCount }, () => \"(?, ?, ?, ?)\").join(\", \")}) AS v(region, log_group, event_key, request_id) WHERE log_events.region = v.region AND log_events.log_group = v.log_group AND log_events.event_key = v.event_key`;\n}\n/** Flattens updates into the parameter list {@link buildRequestIdBackfillUpdate} expects. */\nfunction toRequestIdBackfillParams(updates) {\n\tconst params = [];\n\tfor (const update of updates) params.push(update.region, update.logGroup, update.eventKey, update.requestId);\n\treturn params;\n}\n/** Levels and their rank, highest first; `unknown` is left to the `ELSE` branch. */\nfunction rankArms() {\n\treturn Object.entries(LEVEL_RANK).filter(([level]) => level !== \"unknown\");\n}\n/**\n* SQL `CASE` that turns a level into its severity rank.\n*\n* Generated from {@link LEVEL_RANK} so the ranks have one source of truth: the\n* statement and the UI cannot disagree about which level is worse.\n*/\nfunction levelRankCase(expression) {\n\treturn `CASE ${expression} ${rankArms().map(([level, rank]) => `WHEN '${level}' THEN ${rank}`).join(\" \")} ELSE ${LEVEL_RANK.unknown} END`;\n}\n/** SQL `CASE` that turns a severity rank back into a level name. */\nfunction levelNameCase(expression) {\n\treturn `CASE ${expression} ${rankArms().map(([level, rank]) => `WHEN ${rank} THEN '${level}'`).join(\" \")} ELSE 'unknown' END`;\n}\n/** The `WHERE` clause both series forms share: one region, one window, one or more groups. */\nfunction seriesScope(request, groups) {\n\treturn {\n\t\twhere: [\n\t\t\t\"region = ?\",\n\t\t\t`log_group IN (${groups.map(() => \"?\").join(\", \")})`,\n\t\t\t\"timestamp_ms >= ?\",\n\t\t\t\"timestamp_ms <= ?\"\n\t\t],\n\t\tparams: [\n\t\t\trequest.region,\n\t\t\t...groups,\n\t\t\tBigInt(Math.round(request.startTime)),\n\t\t\tBigInt(Math.round(request.endTime))\n\t\t]\n\t};\n}\n/**\n* Builds the bucketed counts behind the chart.\n*\n* One statement returns every series. The bucket is plain integer arithmetic on\n* `timestamp_ms`, so it cannot drift with a time zone; NULL levels are reported\n* as `unknown` rather than dropped; and a level filter matches only rows that\n* carry one of the requested levels.\n*\n* `by: 'request'` selects the request form below; `by: 'event'` (the default)\n* keeps the event form unchanged.\n*/\nfunction buildSeriesQuery(request) {\n\tconst bucketMs = Math.max(1, Math.round(request.bucketMs));\n\tconst scope = seriesScope(request, request.logGroups.length > 0 ? request.logGroups : [\"\"]);\n\tif (request.metric === \"duration\") return buildDurationSeriesQuery(request, scope.where, scope.params);\n\tif (request.by === \"request\") return buildRequestSeriesQuery(request, bucketMs, scope.where, scope.params);\n\tconst params = [\n\t\tBigInt(bucketMs),\n\t\tBigInt(bucketMs),\n\t\t...scope.params\n\t];\n\tconst where = scope.where.slice();\n\tconst levels = request.levels ?? [];\n\tif (levels.length > 0) {\n\t\twhere.push(`level IN (${levels.map(() => \"?\").join(\", \")})`);\n\t\tparams.push(...levels);\n\t}\n\treturn {\n\t\tsql: `SELECT CAST(floor(timestamp_ms / ?) * ? AS BIGINT) AS bucket, log_group, coalesce(level, 'unknown') AS level, count(*) AS events FROM log_events WHERE ${where.join(\" AND \")} GROUP BY bucket, log_group, level ORDER BY bucket, log_group, level`,\n\t\tparams\n\t};\n}\n/**\n* Builds the request form: one mark per request instead of one per line.\n*\n* `coalesce(request_id, event_key)` makes a line with no request id a request of\n* its own, so no line is dropped. A request is placed at its FIRST line\n* (`min(timestamp_ms)`) and counted once, and it takes the WORST level of its\n* lines (`max` of the ranks). A level filter selects on that same worst level in\n* the `HAVING`: asking for errors keeps every request that logged one, whatever\n* else it logged, and drops the requests that stayed below it.\n*\n* BIND ORDER: DuckDB binds `?` positionally in statement text order, and the CTE\n* comes first, so the parameters are the scope ones, then one rank per requested\n* level (the RANKS, not the level names), and the bucket width LAST - the\n* opposite of the event form above.\n*/\nfunction buildRequestSeriesQuery(request, bucketMs, where, scopeParams) {\n\tconst levels = request.levels ?? [];\n\tconst having = levels.length > 0 ? ` HAVING level_rank IN (${levels.map(() => \"?\").join(\", \")})` : \"\";\n\tconst params = [\n\t\t...scopeParams,\n\t\t...levels.map((level) => LEVEL_RANK[level]),\n\t\tBigInt(bucketMs),\n\t\tBigInt(bucketMs)\n\t];\n\treturn {\n\t\tsql: [\n\t\t\t\"WITH requests AS (\",\n\t\t\t`SELECT coalesce(request_id, event_key) AS request_key, log_group, min(timestamp_ms) AS start_ms, max(${levelRankCase(`coalesce(level, 'unknown')`)}) AS level_rank`,\n\t\t\t`FROM log_events WHERE ${where.join(\" AND \")}`,\n\t\t\t`GROUP BY request_key, log_group${having})`,\n\t\t\t`SELECT CAST(floor(start_ms / ?) * ? AS BIGINT) AS bucket, log_group, ${levelNameCase(\"level_rank\")} AS level, count(*) AS events`,\n\t\t\t\"FROM requests GROUP BY bucket, log_group, level ORDER BY bucket, log_group, level\"\n\t\t].join(\" \"),\n\t\tparams\n\t};\n}\n/** Duration points are not bucketed: one point at each request's first observed timestamp. */\nfunction buildDurationSeriesQuery(request, where, scopeParams) {\n\tconst levels = request.levels ?? [];\n\tconst having = levels.length ? ` HAVING level_rank IN (${levels.map(() => \"?\").join(\", \")})` : \"\";\n\treturn {\n\t\tsql: `WITH requests AS (\n\t\t\tSELECT request_id, log_group, min(timestamp_ms) AS start_ms,\n\t\t\tmax(timestamp_ms) - min(timestamp_ms) AS duration_ms,\n\t\t\tfirst(message ORDER BY timestamp_ms DESC, seq DESC) AS last_message,\n\t\t\tmax(${levelRankCase(\"coalesce(level, 'unknown')\")}) AS level_rank\n\t\t\tFROM log_events WHERE ${where.join(\" AND \")} AND request_id IS NOT NULL AND request_id <> ''\n\t\t\tGROUP BY request_id, log_group${having})\n\t\t\tSELECT start_ms AS bucket, log_group, ${levelNameCase(\"level_rank\")} AS level,\n\t\t\t1 AS events, request_id, duration_ms, last_message FROM requests ORDER BY bucket, log_group, request_id`,\n\t\tparams: [...scopeParams, ...levels.map((level) => LEVEL_RANK[level])]\n\t};\n}\n/** Maps the rows of {@link buildSeriesQuery} onto chart points. */\nfunction rowsToSeries(rows) {\n\tconst points = [];\n\tfor (const row of rows) {\n\t\tconst t = toNumber(pick(row, \"bucket\"));\n\t\tconst group = pick(row, \"log_group\");\n\t\tconst level = pick(row, \"level\");\n\t\tif (t === null || typeof group !== \"string\") continue;\n\t\tpoints.push({\n\t\t\tt,\n\t\t\tgroup,\n\t\t\tlevel: typeof level === \"string\" && level.length > 0 ? level : \"unknown\",\n\t\t\tevents: toNumber(pick(row, \"events\")) ?? 0,\n\t\t\t...typeof row.request_id === \"string\" ? {\n\t\t\t\trequestId: row.request_id,\n\t\t\t\tdurationMs: (toNumber(row.duration_ms) ?? 0) + eventDurationMs(typeof row.last_message === \"string\" ? row.last_message : \"\")\n\t\t\t} : {}\n\t\t});\n\t}\n\treturn points;\n}\n//#endregion\n//#region src/lib/server/archive.ts\n/**\n* Local DuckDB archive of the events the app has streamed.\n*\n* The driver (`@duckdb/node-api` plus its per-platform native binding) is an\n* optional dependency: it is imported lazily, on the first request that needs\n* it, and every failure is turned into an unavailable archive instead of an\n* error. The rest of the app therefore works unchanged on platforms where the\n* binding is missing.\n*\n* One process owns the file: DuckDB allows a single writer, and the SvelteKit\n* server is that writer. Statements are serialised through an internal queue so\n* a stream writing while another request reads cannot interleave on the\n* connection.\n*/\n/** Package name of the optional DuckDB driver. */\nvar DUCKDB_MODULE = \"@duckdb/node-api\";\n/** Directory name used under the platform data directory. */\nvar ARCHIVE_DIR_NAME = \"watch-tail\";\n/** File name of the archive inside {@link ARCHIVE_DIR_NAME}. */\nvar ARCHIVE_FILE_NAME = \"archive.duckdb\";\n/**\n* Imports the optional DuckDB driver.\n*\n* The specifier is held in a variable on purpose: bundlers must leave the\n* import alone so Node resolves it at run time, where a missing binding can be\n* reported as an unavailable archive rather than a build error.\n*/\nasync function loadDuckDbDriver() {\n\tconst loaded = await import(DUCKDB_MODULE);\n\tif (typeof loaded.DuckDBInstance?.create !== \"function\") throw new Error(`${DUCKDB_MODULE} did not expose DuckDBInstance.create`);\n\treturn loaded;\n}\nvar DISABLED_VALUES = /* @__PURE__ */ new Set([\n\t\"0\",\n\t\"false\",\n\t\"no\",\n\t\"off\"\n]);\n/** True when an environment value means \"off\". */\nfunction isDisabled(value) {\n\treturn value !== void 0 && DISABLED_VALUES.has(value.trim().toLowerCase());\n}\n/**\n* True when this process is a test runner.\n*\n* Vitest sets `VITEST`, and `NODE_ENV=test` covers other harnesses. Tests must\n* not append to the archive of the machine they run on, so the archive is off\n* unless a test asks for it through `WATCH_TAIL_ARCHIVE_DB` or\n* `WATCH_TAIL_ARCHIVE=on`.\n*/\nfunction isTestProcess(env) {\n\treturn env.VITEST !== void 0 || env.NODE_ENV === \"test\";\n}\n/**\n* Resolves the archive file path.\n*\n* `WATCH_TAIL_ARCHIVE_DB` wins; otherwise the file lives in the platform's\n* data directory (`XDG_DATA_HOME`, `%LOCALAPPDATA%` or\n* `~/Library/Application Support`), never in the current directory, so history\n* survives running the CLI from a different folder.\n*/\nfunction resolveArchiveConfig(env, platform = process.platform, home = homedir()) {\n\tconst path = env.WATCH_TAIL_ARCHIVE_DB?.trim() ?? \"\";\n\tconst dataDir = env.XDG_DATA_HOME?.trim() ?? (platform === \"darwin\" ? join(home, \"Library\", \"Application Support\") : platform === \"win32\" ? env.LOCALAPPDATA?.trim() ?? join(home, \"AppData\", \"Local\") : join(home, \".local\", \"share\"));\n\tconst requested = env.WATCH_TAIL_ARCHIVE?.trim() ?? \"\";\n\treturn {\n\t\tenabled: isDisabled(requested) ? false : path.length > 0 || requested.length > 0 ? true : !isTestProcess(env),\n\t\tpath: path.length > 0 ? path : join(dataDir, ARCHIVE_DIR_NAME, ARCHIVE_FILE_NAME)\n\t};\n}\n/**\n* A short, non-throwing description of an unknown failure.\n*\n* A conflicting lock is the one failure a user can act on, and DuckDB's own\n* message buries the reason in a pid and a documentation link, so it is\n* reported as what it means for this app.\n*/\nfunction describeOpenError(error, path) {\n\tconst message = error instanceof Error ? error.message : String(error);\n\tif (/Could not set lock|Conflicting lock/i.test(message)) return `the archive file ${path} is locked by another process (another watch-tail is using it); use --db to keep a separate file`;\n\treturn message;\n}\n/** True when the failure is the exclusive file lock. */\nfunction isLockError(error) {\n\tconst message = error instanceof Error ? error.message : String(error);\n\treturn /Could not set lock|Conflicting lock/i.test(message);\n}\n/**\n* One DuckDB file holding every event the app has streamed.\n*\n* `open` never throws: a missing driver, a locked file or a corrupt database all\n* produce an instance with `available === false` and the reason on `error`. The\n* read and write methods then behave as no-ops, so callers never have to guard\n* their happy path.\n*/\nvar LogArchive = class LogArchive {\n\t/** Database file this archive uses. */\n\tpath;\n\t#connection = null;\n\t#available = false;\n\t#error = null;\n\t#queue = Promise.resolve();\n\tconstructor(path) {\n\t\tthis.path = path;\n\t}\n\t/**\n\t* Opens (and creates) the archive.\n\t*\n\t* Statements are executed in order: the sequence first, then the table, then\n\t* the indexes, so an existing file from an older build is upgraded in place.\n\t* The request-id backfill runs last, inside the same serialised path, and\n\t* cannot fail the open.\n\t*/\n\tstatic async open(options) {\n\t\tconst archive = new LogArchive(options.path);\n\t\tconst load = options.load ?? loadDuckDbDriver;\n\t\tconst ensureDir = options.ensureDir ?? ((dir) => mkdirSync(dir, { recursive: true }));\n\t\ttry {\n\t\t\tensureDir(dirname(options.path));\n\t\t\tconst driver = await load();\n\t\t\tfor (let attempt = 1;; attempt += 1) try {\n\t\t\t\tconst connection = await (await driver.DuckDBInstance.create(options.path)).connect();\n\t\t\t\tfor (const statement of ARCHIVE_SCHEMA) await connection.run(statement);\n\t\t\t\tarchive.#connection = connection;\n\t\t\t\tarchive.#available = true;\n\t\t\t\tawait archive.#backfillRequestIds();\n\t\t\t\tbreak;\n\t\t\t} catch (error) {\n\t\t\t\tif (attempt >= 3 || !isLockError(error)) throw error;\n\t\t\t\tawait setTimeout(150);\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tarchive.#available = false;\n\t\t\tarchive.#error = describeOpenError(error, options.path);\n\t\t}\n\t\treturn archive;\n\t}\n\t/**\n\t* An archive that is off by configuration or could not be opened.\n\t*\n\t* Every method degrades to a no-op, so callers can use one code path for\n\t* \"no DuckDB on this machine\" and \"the user asked for no archive\".\n\t*/\n\tstatic unavailable(path, error = null) {\n\t\tconst archive = new LogArchive(path);\n\t\tarchive.#available = false;\n\t\tarchive.#error = error;\n\t\treturn archive;\n\t}\n\t/** True when the archive can be read and written. */\n\tget available() {\n\t\treturn this.#available;\n\t}\n\t/** Why the archive is unavailable, or the last failure, or `null`. */\n\tget error() {\n\t\treturn this.#error;\n\t}\n\t/** Runs one task after every task queued before it. */\n\t#enqueue(task) {\n\t\tconst next = this.#queue.then(task, task);\n\t\tthis.#queue = next.then(() => void 0, () => void 0);\n\t\treturn next;\n\t}\n\t/** Runs a statement, returning the failure instead of throwing. */\n\tasync #guard(fallback, task) {\n\t\tif (this.#connection === null) return fallback;\n\t\treturn this.#enqueue(async () => {\n\t\t\ttry {\n\t\t\t\treturn await task();\n\t\t\t} catch (error) {\n\t\t\t\tthis.#error = error instanceof Error ? error.message : String(error);\n\t\t\t\treturn fallback;\n\t\t\t}\n\t\t});\n\t}\n\t/**\n\t* Migrates the request id of rows written before the column existed.\n\t*\n\t* It runs inside {@link LogArchive.#guard}, so it shares the serialised\n\t* statement queue with every other write and reports a failure on `error`\n\t* instead of letting it escape `open`. The watermark is the highest `seq` the\n\t* migration has looked at, so a capped or interrupted pass carries on from\n\t* there on the next open and no row is scanned twice; a row whose message\n\t* holds no id stays NULL, which is the archive's answer for that row.\n\t*/\n\tasync #backfillRequestIds() {\n\t\tawait this.#guard(void 0, async () => {\n\t\t\tconst connection = this.#connection;\n\t\t\tif (connection === null) return;\n\t\t\tconst ceiling = rowToMaxSeq((await connection.runAndReadAll(ARCHIVE_MAX_SEQ_SQL)).getRowObjects()[0]);\n\t\t\tif (ceiling === null) return;\n\t\t\tconst watermark = rowToBackfillWatermark((await connection.runAndReadAll(buildRequestIdBackfillStateQuery())).getRowObjects()[0]);\n\t\t\tif (watermark !== null && watermark >= ceiling) return;\n\t\t\tconst { sql, params } = buildRequestIdBackfillQuery({\n\t\t\t\tmaxSeq: ceiling,\n\t\t\t\tafterSeq: watermark,\n\t\t\t\tlimit: REQUEST_ID_BACKFILL_LIMIT\n\t\t\t});\n\t\t\tconst candidates = rowsToBackfillCandidates((await connection.runAndReadAll(sql, params)).getRowObjects());\n\t\t\tconst updates = planRequestIdBackfill(candidates);\n\t\t\tfor (let start = 0; start < updates.length; start += 500) {\n\t\t\t\tconst chunk = updates.slice(start, start + 500);\n\t\t\t\tawait connection.run(buildRequestIdBackfillUpdate(chunk.length), toRequestIdBackfillParams(chunk));\n\t\t\t}\n\t\t\tconst scanned = candidates.length < 2e4 ? ceiling : maxSeqOf(candidates);\n\t\t\tawait connection.run(buildRequestIdBackfillStateWrite(), [String(scanned ?? ceiling)]);\n\t\t});\n\t}\n\t/**\n\t* Writes one batch of streamed events.\n\t*\n\t* Batches are split into chunks of {@link ARCHIVE_INSERT_CHUNK} rows, and\n\t* `INSERT OR IGNORE` plus the unique index make a repeated scan idempotent.\n\t* Failures never propagate: a full disk must not interrupt a log stream.\n\t*/\n\tasync record(region, logGroup, events) {\n\t\tif (events.length === 0) return 0;\n\t\treturn this.#guard(0, async () => {\n\t\t\tconst connection = this.#connection;\n\t\t\tif (connection === null) return 0;\n\t\t\tlet written = 0;\n\t\t\tfor (let start = 0; start < events.length; start += 500) {\n\t\t\t\tconst chunk = events.slice(start, start + 500);\n\t\t\t\tawait connection.run(buildInsertSql(chunk.length), toArchiveParams(region, logGroup, chunk));\n\t\t\t\twritten += chunk.length;\n\t\t\t}\n\t\t\treturn written;\n\t\t});\n\t}\n\t/** Reads one page of archived events. */\n\tasync page(request) {\n\t\tconst empty = {\n\t\t\tevents: [],\n\t\t\tlast: null\n\t\t};\n\t\treturn this.#guard(empty, async () => {\n\t\t\tconst connection = this.#connection;\n\t\t\tif (connection === null) return empty;\n\t\t\tconst { sql, params } = buildPageQuery(request);\n\t\t\treturn rowsToPage((await connection.runAndReadAll(sql, params)).getRowObjects());\n\t\t});\n\t}\n\t/**\n\t* Bucketed counts for the chart, per group and level.\n\t*\n\t* The request is forwarded as it arrives: it carries the grouping that says\n\t* whether a mark counts an event or a request.\n\t*/\n\tasync seriesQuery(request) {\n\t\treturn this.#guard([], async () => {\n\t\t\tconst connection = this.#connection;\n\t\t\tif (connection === null) return [];\n\t\t\tconst { sql, params } = buildSeriesQuery(request);\n\t\t\treturn rowsToSeries((await connection.runAndReadAll(sql, params)).getRowObjects());\n\t\t});\n\t}\n\t/** Aggregate row count and time bounds. */\n\tasync totals() {\n\t\treturn this.#guard(rowToTotals(void 0), async () => {\n\t\t\tconst connection = this.#connection;\n\t\t\tif (connection === null) return rowToTotals(void 0);\n\t\t\treturn rowToTotals((await connection.runAndReadAll(ARCHIVE_TOTALS_SQL)).getRowObjects()[0]);\n\t\t});\n\t}\n\t/** Log groups held by the archive, optionally limited to one region. */\n\tasync groups(region = null) {\n\t\treturn this.#guard([], async () => {\n\t\t\tconst connection = this.#connection;\n\t\t\tif (connection === null) return [];\n\t\t\tconst { sql, params } = buildGroupsQuery(region);\n\t\t\treturn rowsToGroups((await connection.runAndReadAll(sql, params)).getRowObjects());\n\t\t});\n\t}\n\t/** Status for `GET /api/archive`, including the file size on disk. */\n\tasync status() {\n\t\tconst totals = await this.totals();\n\t\tlet bytes = null;\n\t\tif (this.#available) try {\n\t\t\tbytes = statSync(this.path).size;\n\t\t} catch {\n\t\t\tbytes = null;\n\t\t}\n\t\treturn {\n\t\t\tpath: this.path,\n\t\t\tavailable: this.#available,\n\t\t\terror: this.#error,\n\t\t\tbytes,\n\t\t\ttotals\n\t\t};\n\t}\n\t/** Closes the connection. Safe to call twice. */\n\tasync close() {\n\t\tconst connection = this.#connection;\n\t\tthis.#connection = null;\n\t\tthis.#available = false;\n\t\tif (connection?.closeSync === void 0) return;\n\t\tawait this.#enqueue(async () => {\n\t\t\tconnection.closeSync?.();\n\t\t});\n\t}\n};\n/** A single opening promise per absolute file path prevents duplicate DuckDB writers. */\nvar sharedArchives = /* @__PURE__ */ new Map();\nvar archiveLocator = new ArchiveLocator();\n/** Opens the selected account/region archive; explicit --db paths remain file overrides. */\nasync function getArchive(env, selection = {}, load) {\n\tconst config = resolveArchiveConfig(env);\n\tif (!config.enabled) return LogArchive.unavailable(config.path);\n\tlet path = config.path;\n\tif (!env.WATCH_TAIL_ARCHIVE_DB?.trim()) try {\n\t\tpath = await archiveLocator.locate(config.path, env, selection);\n\t} catch (error) {\n\t\treturn LogArchive.unavailable(config.path, `Cannot select account archive: ${error instanceof Error ? error.message : String(error)}`);\n\t}\n\tpath = resolve(path);\n\tlet archive = sharedArchives.get(path);\n\tif (!archive) {\n\t\tarchive = LogArchive.open({\n\t\t\tpath,\n\t\t\t...load === void 0 ? {} : { load }\n\t\t});\n\t\tsharedArchives.set(path, archive);\n\t}\n\treturn archive;\n}\n//#endregion\nexport { getArchive as t };\n"],"names":[],"mappings":"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"}